硬盘诊断工具如何知道某个扇区是否损坏?


13

当我遇到一个可能发生故障的硬盘驱动器时,我使用ViVARD对其进行了扫描,它可以可靠地让我知道驱动器是否需要更换。

这些工具如何工作?他们如何区分一个好行业和一个坏行业?


4
诸如此类的软件可读取驱动器上的每个扇区。如果它是不可读的,则可以尝试一些技巧使其读取。如果一个扇区中的足够数据是不可读和不可恢复的,则将其标记为错误。
摩押

2
固件不会告诉他们。从那时起,HDD的工作方式在25年乃至最近5年中发生了巨大变化。
2015年

Answers:


9

现代硬盘驱动器使用称为SMART的固件实现一个系统。该系统收集有关驱动器性能的统计信息,并通过将数据移出不良扇区来自动避免数据丢失。

诊断工具查询硬盘驱动器的SMART软件以生成运行状况检查报告。

坏扇区在访问硬盘时被检测到,并由SMART系统避免并重新定位。


1
的确如此,但是即使没有它们,这也是完全可能的并且很平常的。
eis 2015年

7

我不了解ViVARD,所以这是一个一般性的答案。

聪明

SMART是大多数现代驱动器的一部分。当硬盘驱动器看到坏扇区,查找或加速时间超过正常时间时,它将注册。这些都是硬盘驱动器故障的指示灯。

硬盘抢救失败扇区的方式是由于纠错码(通常是Reed-Solomon),如果有一些错误,该纠错码可以挽救。如果很多位错误,硬盘将尝试通过一次又一次地读取扇区来进行补救。最终使其正确时,将其保存到备用扇区之一。

阅读领域

硬盘驱动器将具有读取错误的扇区重新分配给为此保留的一组备用扇区。操作系统通常不会看到此错误,但会将整个驱动器视为没有错误。仅当没有更多扇区要重新分配(或无法挽救该扇区)时,操作系统才会看到损坏的扇区。

但是可以绕过纠错(我相信每种型号的纠错都是不同的-也许ViVARD这样做吗?)。这样,您可以读取驱动器上的实际数据。通过阅读此内容,即使操作系统看不到错误,您也可以查看哪些扇区有错误。



-1

如果要编写这样的诊断程序,则我的程序将按照以下步骤逐个驱动器进行检查:

  1. 将当前在扇区中的数据移动到新的(当前为空)位置以进行保存(并更新使用该扇区的任何文件表)。
  2. 将已知的新数据写入该部门。
  3. 从该扇区读取书面数据。
  4. 比较是与阅读的内容逐点写入的。
  5. (假设通过了步骤4)将原始数据移回原始位置(以避免碎片化文件)。

当然,那只是天真的版本。我怀疑今天使用了一些算法来使此通用过程更有效。此外,工具用于“已知新数据”的模式不同,重复级别也不同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.