Rob*_*nes 16 hard-drive bad-blocks
“坏块”的完整读/写表面扫描与内置的SMART Extended 自检有何不同?
看起来它们都是全表面扫描,那么为什么badblocks -vws
测试 1TB 驱动器需要3 天,而 SMART 只需 2 1/2 小时(至少这是 smartmon 给我的估计时间)?
use*_*ser 14
SMART 表面测试几乎可以肯定是单次且肯定是非破坏性的读取通过。正如已经指出的那样,它也是驱动器内部的;除了次要控制数据外,测试期间没有数据传入或传出主机。
另一方面,badblocks -w
在驱动器上进行四次传递,每次都进行一次写入和一次读取。仅这一点就导致了 8 倍的测试时间差异,加上旋转延迟。由于它是在主机上运行的软件,所有这些数据都需要通过磁盘接口传输到 RAM 并由软件处理(在我们的例子中是坏块)。
如果我们采用 1 倍的最坏情况旋转延迟(磁盘需要在写入数据后旋转一整圈才能将其读回,如果您喜欢坏块首先填充整个磁盘,然后将其全部读回,而不是一次对一个物理轨道进行 I/O 操作,而这对于 LBA 几乎是不可能的),我们最终会得到最坏的情况 (1+1) × 8× = 16× 所需的时间完成操作。16 × 2.5h = 40h,这当然与您的数字一致,并且仍然假设我们只处理驱动器上的数据存储,并且它发生的速度与驱动器可以维持顺序 I/O 的速度一样快。
SMART 短测试和长测试仅执行(本地化)扇区读取;它对数据也是非破坏性的。读取的数据仅传输到板载控制器,而不传输到主机 PC。SATA接口在测试过程中基本处于空闲状态,PC上的HDD活动灯应该不会亮。
badblocks -vws
正在请求写入扇区,然后读取和验证操作。每次写入和读取都会增加每次操作的磁盘旋转加上通过 SATA 接口进行数据传输的时间以及主机 PC 处理。HDD 活动指示灯应在大部分时间亮起。
归档时间: |
|
查看次数: |
14298 次 |
最近记录: |