硬盘缺陷探秘
2、 调用自动修复机制替换坏扇区。为了减少硬盘返修的概率,硬盘厂商在硬盘内部设计了一个自动修复机制(Automatic Reallcation或 Automatic Reassign)。现在生产的硬盘都有这样的功能:在对硬盘的读写过程中,如果发现一个坏扇区,则由内部管理程序自动分配一个备用扇区来替换该扇区,并将该扇区物理位置及其替换情况记录在G-list(增长缺陷表,Grown defects list) 中。这样一来,少量的坏扇区有可能在使用过程中被自动替换掉了,对用户的使用没有太大的影响。 也有一些硬盘自动修复机制的激发条件要严格一些,需要运行某些软件来检测判断坏扇区,并发相应指令激发自动修复功能。比如常用的Lformat(低格), DM中的Zero fill,Norton中的Wipeinfo和校正工具,西数工具包中的wddiag, IBM的DFT中的Erase,还有一些半专业工具如:HDDspeed、 MHDD、 HDDL、 HDDutility等(大家可以上网搜索自由下载)。 这些工具之所以能在运行过后消除了一些坏扇区,很重要的原因就是这些工具可以在检测到坏扇区时激发自动修复机制。 如果读者能查看G-list就知道,这些“修复工具”运行前后,G-list记录有可能增加一定数量。如:用HDDspeed可以查看所有Quantum Fireball系列的P-list和G-list; MHDD可以查看IBM和Fujitsu的P-list和G-list。
当然,G-list的记录不会无限制,所有的硬盘都会限定在一定数量范围内。如火球系列限度是500,美钻二代的限度是636,西数BB的限度是508,等等。超过限度,自动修复机制就不能再起作用。这就是为何少量的坏扇区可以通过上述工具修复,而坏扇区多了不能通过这些工具修复。
3、用专业软件将缺陷扇区记录在P-list中,并进行内部低级格式化。用户在使用硬盘时,是不能按物理地址模式来访问硬盘的。而是按逻辑地址模式来访问。 硬盘在通电自检时,系统会从系统保留区读取一些特定参数(与内部低级格式化时调用的参数有密切关系)存在缓冲区里,用作物理地址与逻辑地址之间转换的依据。 有些专业软件可以将检测到的坏扇区的逻辑地址转换为对应的物理地址,直接记录在P-list中,然后调用内部低级格式化程序进行低级格式化。这样可以不受G-list的限制,能修复大量的坏扇区,达到厂家修复的效果。
图:硬盘盘片表面平整光滑如镜,但其中的缺陷又有多少呢?
关于“坏道”的一点补充
“坏道(Bad track)”这个概念源于十多年前小容量硬盘(如ST506接口、100MB以下)。当时的硬盘内部没有什么系统保留区,也就没有P-list或G-list。出厂前,厂家就扫描硬盘中存在坏扇区的磁道,并将其位置记录在一张小表格中,贴在硬盘外壳上,注明“Bad track list”,即常说的“坏道表”。而“坏道表”上就列出某磁头某柱面的磁道是坏磁道,这就是我们常听人说的“坏道”。当时所有的硬盘在第一次使用前都要求做低级格式化(Low level format,简称“低格”),在使用过程中也可以根据需要做低级格式化。在对这个硬盘进行低级格式化前(如用ADM、低版本DM、早期主板中自带的低格工具等),要将坏道表中记录都填入,或用工具自动扫描所有坏道,然后才进行低级格式化过程。低格过程中,低格程序对所有磁道按一定的规律进行编号,同时将前面记录或扫描到的坏道排除在外,即“跳过(Skipped)”那些位置,对用户来说可以算是“修好”了“坏道”。而如果哪个用户轻易对硬盘进行低格,却没有登记坏道,那么低格令以前曾“跳过”的坏道一个个又重新显现出来,这就是为什么当时人们常说低格会令硬盘增加坏道的原因。
那么,现在笔者为什么不用“坏道”概念而用“缺陷”概念呢? 以前的老硬盘,通过低格来修复,只要某磁道中出现一个坏扇区,该磁道就算“”坏磁道(Bad Track)”,修复时就整个磁道所有扇区一起被“跳过(skipped)”。所以,坏磁道和坏扇区没有区别开来,一起被称为“坏道”也还算贴切。而现在的硬盘,每个磁道划分为数百上千个扇区,不能因为有一个坏扇区就丢掉整个磁道。而且有些硬盘出厂前P-list就记录数千个坏扇区,如果丢掉数千个磁道(意味道要丢掉数GB的空间)就太浪费了。而现在的硬盘不同的缺陷有不同的表现不同的原因,修复方法也各不相同。如果继续用“坏磁道”或“坏道”来概括多种缺陷,很明显词不达意。 |