迅维网
标题: P-list和G-list工作原理 [打印本页]
作者: 绿萍花园 时间: 2013-4-15 10:15
标题: P-list和G-list工作原理
硬盘的数据密度很大,在生产过程中不可避免地会产生缺陷,同时在使用过程中,那些不稳定的扇区也会逐渐老化而产生数据读写错误,这些缺陷和不稳定扇区会严 重威胁硬盘数据的安全,为此,硬盘设计了两个坏道表来处理这些有缺陷的扇区,他们就是P-list和G-list.,它们用于记录硬盘的缺陷扇区的情况, 使硬盘工作时不会在缺陷扇区里读写数据,防止数据损坏。
坏道的产生可以分为两种情况:一是生产过程中产生的缺陷扇区,二是使用过程的产生的缺陷扇区,硬盘设计两个坏道表就是用于分别识别和处理硬盘的两种不同的坏道的。
P-list
P-list我们一般称为工厂坏道表,严格来说应该称为永久坏道表或原始坏道表,它是用于记录工厂生产过程中产生的坏道的,坏道加入P-list不会影响硬盘的读写性能。
G-list
G-list称为增长坏道表,用于记录硬盘使用过程中由于磁介质性能变弱而引起的坏道,并将坏扇区重定向到好扇区,坏道加入G-list对该扇区的读写速度是有影响的。
下面我们就谈谈硬盘对P-list和G-list的两种不同的处理方式。
下图是硬盘的扇区分配情况,硬盘的全部扇区可以划分为三个方面,固件区、工作区和保留扇区;其中固件区和保留扇区普通用户是没办法操作的,硬盘的实际扇区 数比我们看到的硬盘标签上标定的要大,其中一部份用于存储硬盘的固件,一部分是用户存储数据的区域(工作区),也就是硬盘标定容量的扇区,剩下的就是保留 区,实际上硬盘上并不会物理划出一个保留区域,只是在工厂生产时标定了全部的有效扇区,而硬盘的容量是小于其实际扇区总数的,在固件里定义了硬盘的容量, 超过硬盘容量的那些扇区我们就姑且把它称为保留扇区。
上图中蓝色为固件区,白色为工作区,绿色为保留扇区,红色为坏扇区,图示表示的是坏扇区还没有加入P-list和G-list的情况。大家可以看到,工作 区的LBA是从固件区后的LBA0一直连续标定到硬盘的最大工作扇区LBAmax,LBAmax以后的扇区就是保留扇区。
下图是坏扇区被加入P-list的情况:
从图中可以看出,坏道被加入P-list后,硬盘不会再读写该扇区,而是在将原读写该扇区的操作顺延到度写坏扇区的下一个扇区,该扇区以后的所有扇区的 LBA值都发生了改变,原来保留扇区的一个扇区成为了硬盘的LBAmax,所以坏道被加入P-list后,硬盘需要进行一次厂家低格。
下图是坏道加入G-list的情况:
从图中可以看出,坏道加入G-list后,当硬盘需要读坏道所在的扇区时,会被重定位到保留扇区中的一个扇区,硬盘工作区的其它扇区不会受影响,由于保留 扇区在硬盘的内道,读写速度慢,同时由于该扇区会导致硬盘的数据存储从物理上来说不连续了,当磁头读取该扇区的数据时需要移动较远的距离,代替坏扇区后, 该LBA的读写速度会慢一些,所以我们说坏道加入G-list后会影响硬盘的读写速度。
低格过程到底对硬盘进行的操作
实践表明低格过程有可能进行下列几项工作,不同的硬盘的低格过程相差很大,不同的软件的低格过程也相差很大。
A. 对扇区清零和重写校验值
低格过程中将每个扇区的所有字节全部置零,并将每个扇区的校验值也写回初始值,这样可以将部分缺陷纠正过来。譬如,由于扇区数据与该扇区的校验值不对应,通常就被报告为校验错误(ECC Error)。如果并非由于磁介质损伤,清零后就很有可能将扇区数据与该扇区的校验值重新对应起来,而达到“修复”该扇区的功效。这是每种低格工具和每种硬盘的低格过程最基本的操作内容,同时这也是为什么通过低格能“修复大量坏道”的基本原因。另外,DM 中的Zero Fill(清零)操作与IBM DFT工具中的Erase操作,也有同样的功效。
B. 对扇区的标识信息重写
在多年以前使用的老式硬盘(如采用ST506接口的硬盘),需要在低格过程中重写每个扇区的标识(ID)信息和某些保留磁道的其他一些信息,当时低格工具都必须有这样的功能。但现在的硬盘结构已经大不一样,如果再使用多年前的工具来做低格会导致许多令人痛苦的意外。难怪经常有人在痛苦地高呼:“危险!切勿低格硬盘!我的硬盘已经毁于低格!”
C. 对扇区进行读写检查,并尝试替换缺陷扇区
有些低格工具会对每个扇区进行读写检查,如果发现在读过程或写过程出错,就认为该扇区为缺陷扇区。然后,调用通用的自动替换扇区(Automatic reallocation sector)指令,尝试对该扇区进行替换,也可以达到“修复”的功效。
D. 对所有物理扇区进行重新编号
编号的依据是P-list中的记录及区段分配参数(该参数决定各个磁道划分的扇区数),经过编号后,每个扇区都分配到一个特定的标识信息(ID)。编号时,会自动跳过P-list中所记录的缺陷扇区,使用户无法访问到那些缺陷扇区(用户不必在乎永远用不到的地方的好坏)。如果这个过程半途而废,有可能导致部分甚至所有扇区被报告为标识不对(Sector ID not found, IDNF)。要特别注意的是,这个编号过程是根据真正的物理参数来进行的,如果某些低格工具按逻辑参数(以 16heads 63sector为最典型)来进行低格,是不可能进行这样的操作。
E. 写磁道伺服信息,对所有磁道进行重新编号
有些硬盘允许将每个磁道的伺服信息重写,并给磁道重新赋予一个编号。编号依据P-list或TS记录来跳过缺陷磁道(defect track),使用户无法访问(即永远不必使用)这些缺陷磁道。这个操作也是根据真正的物理参数来进行。
F. 写状态参数,并修改特定参数
有些硬盘会有一个状态参数,记录着低格过程是否正常结束,如果不是正常结束低格,会导致整个硬盘拒绝读写操作,这个参数以富士通IDE硬盘和希捷SCSI硬盘为典型。有些硬盘还可能根据低格过程的记录改写某些参数。
一些低格工具做了些什么操作:
1. DM中的Low level format
进行了A和B操作。速度较快,极少损坏硬盘,但修复效果不明显。
2. Lformat
进行了A、B、C操作。由于同时进行了读写检查,操作速度较慢,可以替换部分缺陷扇区。但其使用的是逻辑参数,所以不可能进行D、E和F的操作。遇到IDNF错误或伺服错误时很难通过,半途会中断。
3. SCSI卡中的低格工具
由于大部SCSI硬盘指令集通用,该工具可以对部分SCSI硬盘进行A、B、C、D、F操作,对一部分SCSI硬盘(如希捷)修复作用明显。遇到缺陷磁道无法通过。同时也由于自动替换功能,检查到的缺陷数量超过G-list限度时将半途结束,硬盘进入拒绝读写状态。
4. 专业的低格工具
一般进行A、B、D、E、F操作。通常配合伺服测试功能(找出缺陷磁道记入TS),介质测试功能(找出缺陷扇区记入P-list),使用的是厂家设定的低格程序(通常存放在BIOS或某一个特定参数模块中),自动调用相关参数进行低格。一般不对缺陷扇区进行替换操作。低格完成后会将许多性能参数设定为刚出厂的状态。
这篇低格的介绍源自于一位硬盘修复高手,大师级的。。。
合适的低格工具能在很大程度上修复硬盘缺陷。正确的低格过程绝不会在物理上损伤硬盘。用不正确的低格工具则可能严重破坏硬盘的信息,而导致硬盘不能正常使用。
在修改硬盘的某些参数后必须进行低格,如添加P-list记录或TS记录,调整区段参数,调整磁头排列等。另外, 每个用户都可以用适当低格工具修复硬盘缺陷,注意:必须是适当的低格工具。低格软件就不提供了,网络上比较容易下到。
“P-list”可以永久屏蔽硬盘上的坏道
既然在硬盘的生产过程中,坏道是无法避免的,为此硬盘厂家采用了一个较为睿智的办法来屏蔽坏道,那就是采用“P-list”——也就是“永久缺陷表”的方式来记录坏道的位置,并将其进行屏蔽。
硬盘厂家在硬盘出厂前会将硬盘进行低级格式化,并在低级格式化的过程中把所有的坏道的位置记录到“永久缺陷表”中。当硬盘正常工作时,可以跳过这些无法正常工作的部分,让用户永远都不会察觉它们的存在。这样一来,用户在分区、格式化检查刚购买的新硬盘时,不会发现有坏道的存在。“永久缺陷表”只是在硬盘生成的过程中所形成的,因此只有硬盘厂家才有权限进行修改,普通玩家是很难对其进行修改和查看的。
“G-list”可以屏蔽使用过程中产生的坏道
而HD Tune“重新映射的扇区”说的则是另一种“缺陷表”——G-list。G-list和P-list所不同的是,后者是出厂时就发现的,而前者是在使用过程中才出现的。
随着硬盘容量的不断提升,硬盘厂家也提供了一部分备用的硬盘空间作为备份,一旦用户在使用过程中有新的不良区域出现,那么就用备用扇区进行自动替换,并将有问题的扇区及其替换情况记录在G-list中,这样就可以避免下次读写时再次使用到这部分的磁盘空间。当然,硬盘的备用扇区也都是有一定容量的,当备用扇区全部用完时,硬盘坏道就会产生了。
作者: supelsp 时间: 2013-4-15 15:01
很认真的学习了,谢谢楼主
作者: 程维猛 时间: 2015-1-23 11:52
不错哈哈哈哈
作者: 程维猛 时间: 2015-1-23 11:53
很认真的学习了,谢谢楼主
作者: dmc123 时间: 2015-1-24 22:14
你指是西数还是?
| 欢迎光临 迅维网 (https://www.chinafix.com/) |
Powered by Discuz! X3.4 |