簡體   English   中英

訪問 LTO 磁帶存儲器的源代碼 (C/C#)

[英]Source code to access LTO cartridge memory (C/C#)

我可以在 C# 中毫無問題地讀取 LTO 磁帶。

每個磁帶中還有一個磁帶存儲器 (LTO-CM)。 http://en.wikipedia.org/wiki/Linear_Tape-Open

如何在 C# 或 C 中讀取/寫入該芯片中的一些字節?

看起來在 C# .NET 和其他編程語言/框架中都沒有讀取 LTO 盒式內存的通用/通用方法。

為此,只能使用 .NET 編寫的特定驅動器模型特定工具。 您可能會在制造商的網站上找到它。

根據ADSM.ORG 的這篇文章:

為了讀取 CM [ Cartridge Memory ] 內容,我們需要通過特定驅動器的接口訪問它,而不是 CM 本身的 API。

訪問該信息的方法可能使用每個驅動器制造商的專有擴展。 我的是惠普驅動器,惠普有一個磁帶工具包。

然而-按照這個答案由理查德·西姆斯從ADSM.ORG網站-你仍然可以用SCSI訪問盒存儲器命令:

供應商不認為客戶應該需要訪問中型輔助存儲器( MAM ) - 用於跟蹤使用情況和其他信息的盒內非易失性存儲器芯片的行業通用名稱。

手冊“IBM TotalStorage LTO Ultrium Tape Drive - SCSI Reference”( GA32-4050 ) 完整地描述了他們的 MAM 以及如何通過 SCSI 命令讀取和寫入它。

設備驅動程序編程手冊(在本例中為“IBM Ultrium 設備驅動程序 - 編程參考 ( GC35-0483 )”)提供了許多ioctl函數,使程序員可以更輕松地調用對 SCSI 命令的解析;但在這種情況下,我看不到准備好獲取 MAM 數據的操作。

這些 ioctl 操作是handy- dandy ntutiltapeutil命令調用以獲取信息的操作,我在他們的文檔中沒有看到任何內容說他們可以返回它(盡管它可能從其他操作中隱式返回)。

C 中有這個項目: https : //github.com/scangeo/lto-cm

它用於讀取和寫入應該由應用程序或用戶使用的“文本屬性”。 大多數其他字段是為驅動器和磁帶供應商和制造商保留的。

它通過 SCSI 命令使用集成在磁帶驅動器中的讀取器。

目前,它已經在 HP 和 IBM LTO-4 驅動器上進行了測試,可能需要對其他硬件進行一些調整。 出於某種原因,它也僅適用於某些 SCSI 卡。

我們用它來寫一個標識磁帶的磁帶標簽,並提供磁帶的完整 MD5 校驗和,用於將來的完整性檢查,我們在寫入整個磁帶后計算。

是另一個用於讀取 LTO 盒式存儲器的 Linux 軟件。 該軟件支持超過 lto-cm 的更多屬性。

此外,您可以使用 Proxmark3 或 ACR122u 等通用 RFID 讀卡器代替 LTO 驅動器。

https://github.com/RfidResearchGroup/proxmark3

https://github.com/philpem/nfc-ltocm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM