Sata

為什麼 ATA 安全擦除與 PATA 驅動器同時發生而不是並行發生?

  • January 16, 2019

當通過 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 是點對點的,沒有多個驅動器的共享匯流排。所以這個問題不存在。

引用自:https://unix.stackexchange.com/questions/493859