当通过 hdparm对多个 SATA(非 SSD)驱动器发出ATA 安全擦除命令时,它会并行发生。
但是,当对 PATA 驱动器发出相同的命令时,它会连续发生。例如,第二个 PATA 驱动器在第一个过程完成之前不会开始其过程。
ATA 安全擦除命令是否受单个 PATA 通道的限制?
如果是,为什么会是因为它是驱动控制器的内部例程?
可以通过独立的 IDE 通道来克服吗?
请注意,在发出 dd 命令擦除驱动器时,它是并行发生的。
PATA 驱动器历来被用于老化和现在正在退役的旧设备。要求是安全擦除驱动器,因为它们包含敏感数据,例如个人身份信息。
您可能会看到 PATA 的限制:两个驱动器共享同一总线(通道),并且一次只能有一个主动使用它。忙于处理命令而主机等待结果算作使用它。我已经看到一些驱动器
hdparm --security-erase
在命令“离线”之后立即返回并处理命令,而其他驱动器hdparm
在命令完成之前不会返回。我怀疑以前的驱动器会允许主从都同时进行。请注意,在使用 PATA 多年后,这确实有所改善。大部分改进都集中在重要的地方:读取和写入命令。dd 可以同时执行这两个驱动器,即使它们很古老,因为它不是一个写入命令,而是很多很多写入命令。(在真正古老的驱动器上,它实际上是轮流进行的——将一些扇区写入一个驱动器,将一些扇区写入另一个;较新的模式允许驱动器接收写入命令,对其进行缓冲,并“离线”处理它,从而释放总线,这样两个驱动器可以同时写入)。
(顺便说一句:这也是为什么当您在 RAID 阵列中有 PATA 驱动器时,两个镜像都需要位于不同的总线上。主或从故障通常会占用总线。)
如果您有多个 PATA 通道(或总线,或任何您称之为的通道),则每个通道都应该能够同时处理执行安全擦除的驱动器。我已经成功使用 USB PATA 接口来调用安全擦除(以及 dd,我个人都这样做);当然,添加更多 USB 设备是微不足道且相当便宜的。至少对于不占用 USB 带宽的安全擦除而言。
当然,SATA 是点对点的,没有多个驱动器的共享总线。所以这个问题不存在。