winss 发表于 2006-7-20 01:50:33

硬盘缺陷列表

以下的文章是在我的硬盘找出来的
那里来的我也忘了!
本人觉得,是篇很好的文章~~~
好的话大家 顶~~


第一个问题:固件中与缺陷相关的固件是哪些?它们分别是:
      78#:缺陷计数器
      18#:P表翻译 LBA to CHS
      1B#:G表
      33#:P表数据、G表翻译(注:它绝对不是什么速度模块,真正的速度模块是另一个)
第二个问题:这些模块有什么作用?
      78#:以垒加的形式记录了硬盘总的缺陷数量和每一个缺陷的物理“相对位置”。什么是相对位置?打
      个比方,有3个坏道,物理位置分别为1、7、55,在78#里就记为1、2、3。
      18#:P表格式和LBA to CHS翻译模块
      1B#:G表格式和以LBA方式记录的缺陷位置。
      33#:78#和18#、1B#之间传递数据的一个中间数据区。有校验这几个模块之间数据的作用。
第三个问题:你告诉我们这些有什么用?这个不好说明白,我就举一个维修事例吧:
   待修硬盘:美钻三代30G
   故障现象:自检音不全,BIOS无法识别
   修复过程:首先通过换板排除了电板问题。
       跳安全模式,挂LDR进入(我手上没有30G的LDR,用40G的代替的。呵呵)DSP后参数和型号全部正常。

      于是读取固件列表,发现G、P表只有读取标志,校验、ID标志丢失。接着做了固件写入测试,返回结果为可爱的“0”,

      说明此时可以正常写入固件。然后复位P、G表,成功了。检查固件列表发现P、G表的校验、ID标志都出来了。在缺陷表

      菜单中打开P、G表,里边有坏道数据。一切正常,退出了DSP。
      
      调用MHDD,按F4扫描(REMAP、ERASE WAIT均关闭),开始时一切很流畅,一个色块都没有。但是,在45%、75%处

      出现了大面积坏道,估计有十几万个吧,而且一坏就是一片,很象划伤。用PC3000AT、ERASE写零无效,排除了逻辑坏道的可能。
      
      再进入DSP,清除P、G表内容。执行扇区再生命令,成功完成。退出DSP。又调用MHDD,按F4扫描(REMAP、ERASE WAIT均关闭),
      
      此时整个过程非常完美,仅出现了少量“X”错误,完成后进入DSP做逻辑扫描,共发现坏道159处,全部写入P表。
      
      调用POWERMAX,执行全面低格。成功完成。
         
      至此,该硬盘修复完成。

分析:为什么会出现这种情况?原因:由于P、G表的ID、校验标志丢失,虽然通过复位模块指令恢复了,但P、G表的内容

已经发生扭曲,和33#、78#的数据校验失败,导致LBA表错乱,所以出现了大面积坏道。但由于33#、78#模块是完好的,执行扇区

再生指令,就是根据33、78的内容重建LBA表。

最后补充一点:一个模块只要它的校验值(标志)在,通过复位指令都能完全恢复。但如果校验丢失,复位出来的模块的格式是正确的,

但内容就天知道是什么了。如果你懂RAID的原理,相信对这点很容易理解。









关于低级格式化,涉及到缺陷列表的问题,实际缺陷列表分为四类,1PLIST,2GLIST,3CLIST,4DLIST。
明确了这几个列表的区别,才能更好的编制FIRMWARE来管理自己的硬盘,维护自己的数据。


1,PLIST,基本缺陷列表是厂家使用专门的测试设备发现的缺陷,这些缺陷是磁介质寿命完成之后产生的永久缺陷,

对于非厂家来说是不能够取消的,只能使用特别的设备来增加它,因为有GLIST,一般没有必要去动它,所以有些厂

家的新销售磁盘里的GLIST的列表并不是空的。

2,GLIST,成长缺陷列表,对硬盘操作过程中发现的缺陷,这些缺陷可以在格式化的过程中发现,也可以由自动的

(就是上面所说的让FIRMWARE自动格式过程)或者使用REASSIGN BLOCK(操作码为0X07,上面的程序里有例子)命

令做重新分配的过程中发现。

3,CLIST,检查列表,包含了在操作系统格式化过程中发现的列表,一般也存储为GLIST方式,

4,DLIST,可以人为定义的列表,先定义了这个列表,最后由系统传送给硬盘的缺陷列表,在格式化的过程中,它将

变成GLIST的一部分。也可以把好的块定义进去。

实际234最后都存储在GLIST列表里,这个GLIST总的列表和存储PLIST的列表也是存放在一起的,都在磁盘的介质上。

对于一些软件表面看来是两个大类,但是实际上由于产生的原因不同,软件所发出的指令也是不一样的。这点对一般

人来说怎么分类不重要。

硬盘的代替扇区和柱面,模式页参数和缺陷列表都是存储在盘体的磁介质上的,这些参数和VID,PID,LBA(not LBN)

等基本参数是分开的。从这一点大家可以想象,修改了FIRMWARE后还要修改盘片上的一些信息。一般情况下,修改了

FIRMWARE后,低级格式化可以恢复一部分FIRMWARE预制的参数到盘片上,但是有些预制参数往往是编写FIRMWARE时任

意设置的,如果造成了数据偏移,就会使GLIST出现错误,SCSI的GLIST列表记录一般最大为2000H(8191)个.发现接

近或超过这个数目的GLIST记录,那这个硬盘可能就报废了。

另外说明一点,GLIST是可以读取(0X37)清除(格式化)的,但是清除以后故障还会存在。

zengxd 发表于 2008-12-21 21:44:45

不错,我顶!!! (49: (49: (49:

hdd_player 发表于 2008-12-23 14:59:21

收藏了,学习中!!
页: [1]
查看完整版本: 硬盘缺陷列表