用于 SCSI、SATA、SAS、iSCSI 硬盘驱动器、磁带驱动器和库外围设备的专业工程、筛选和测试软件,通过现成的 HBA 提供
它实际上可能会覆盖驱动器上的所有块,但又可能不会。 OTOH 对整个的顺序写入测试将保证所有块都已被覆盖。
FORMAT UNIT 命令请求设备服务器将介质格式化为应用程序客户端可访问的逻辑块,如在 MODE SELECT 命令中的最后一个模式参数块描述符中接收的逻辑块数和逻辑块长度值中指定的那样。 此外,设备服务器可以认证介质并创建用于管理介质和缺陷的控制结构。 此命令改变介质的程度是特定于供应商的。 (强调我的)。
T13 ATA/ATAPI 命令集 (ACS-2) 文档说明了有关格式命令的内容。 没错——SATA/ATA 命令规范中没有格式化命令! 最接近的发现是在 SCSI->ATA Translation (SAT-3) 文档中,描述了如何将 SCSI FORMAT UNIT 命令可能映射到 ATA/SATA 驱动器 –
FORMAT UNIT 命令验证 SCSI 应用程序客户端可访问的所有逻辑块地址是否已格式化并准备好进行数据传输。
这很模糊。 事实上,SAT-3 规范进一步说明了有关格式单元操作码的内容:
设置为 04 小时。 如果没有提供缺陷列表标头或提供了 DCRT 位设置为 1 的缺陷列表标头,则 SATL 应返回 GOOD 状态没有 strong>向 ATA 设备发出任何命令。
所以实际上,向 SATA 驱动器发出 FORMAT UNIT 命令并不能保证做很多事情。 它可能会,也可能不会。 对于 SAS/SCSI/FC 驱动器? 请记住,规范声明 此命令更改介质的程度是特定于供应商的。
它可能会覆盖驱动器,但也可能不会,由驱动器供应商自行决定。
如果您需要 100% 确定驱动器上的每个块都已被覆盖,那么您必须自己动手,并自己明确覆盖所有块。 这可以在 STB Suite DMM 中通过定义顺序写入测试轻松完成,该测试会将您选择的数据模式写入驱动器上的所有块。 使用 DMM 测试设置选项卡定义您的测试步骤,如下所示:
(Blocks -1 告诉 DMM 写入驱动器上的所有块)
如果您需要 100% 保证驱动器上的每个块都确实被覆盖,只需定义第二个测试步骤以在所有块上运行顺序读取测试,执行数据比较操作 - 如下所示:
如果有一个块未被正确覆盖,DMM 测试会将驱动器标记为失败,并且 DMM 日志文件将如下所示:
09/10/2012 12:16:42 TEST 1 of 1: Read Test; Sequential; for 1 Minutes Fixed-Length Transfers of 128 (0x0080) Blocks Start Block: 0 Data Pattern: Random; Data Compare ON Queue Depth = 1 FUA = OFF Stop-on-Error Type: Stop Current Test
09/10/2012 12:16:42 CDB = 28 00 00 00 00 00 00 00 80 00 Miscompare: LBA 0xA at 0x00000014 Exp: 41 54 47 32 65 20 20 22 94 A8 7A 55 61 74 67 52 Act: 30 30 36 32 30 4E 53 20 20 20 20 20 43 43 30 31 >>> Current Test Aborted <<<
09/10/2012 12:16:42 *** FAIL ***
如果没有数据比较错误,即驱动器被成功完全覆盖,DMM 日志文件将显示通过数据比较的顺序读取测试。
真的没有任何好的理由去使用 Format 命令。 当然,如果您的客户要求您格式化驱动器,请继续执行。 但不要指望那个命令