【数据恢复】P表(P-list)和G表(G-list)

2017-06-07 0 条评论 1.92k 次阅读 1 人点赞

p-list&g-list

P-list (永久缺陷表)

现在的硬盘密度越来越高,单张盘片上存储的数据量超过4000Gbytes. 硬盘厂家在生产盘片过程极其精密,但也极难做到100%的完美,硬盘盘面上或多或少存在一些缺陷。厂家在硬盘出厂前把所有的硬盘都进行低级格式化,在低级格式化过程中将自动找出所有defect track和defect sector,记录在P-list中。并且在对所有磁道和扇区的编号过程中,将skip(跳过)这些缺陷部分,让用户永远不能用到它们。这样,用户在分区、格式化、检查刚购买的新硬盘时,很难发现有问题。一般的硬盘都在P-list中记录有一定数量的defect, 少则数百,多则数以万计。

如图是坏道屏蔽在P表的示意图,硬盘在访问数据的时候,在访问了23以后访问24,然后25,然后本应该是26,但是26是坏道,被屏蔽了到P表,这时候就直接跳过26访问27,27替代了26,28替代27,依此类推,保留区就自动推进一位,补充了硬盘的容量。因此,一般修坏道是不会减少容量的,但是在加P表的时候,每个位置的地址都发生了变化,所以加P表会造成数据的错位,为破坏数据。加P表是跳过方式,直接跳过坏道的位置,保留区补充在硬盘的最后。

坏道屏蔽在P表的示意图

G-List(增长缺陷表)

用户在使用硬盘过程中,有可能会发现一些新的坏道(defect sector)。 按“三包”规定,只要出现一个坏道(defect sector),商家就应该为用户换或修。现在大容量的硬盘出现一个坏道(defect sector)概率实在很大,这样的话硬盘商家就要为售后服务忙碌不已了。于是,硬盘厂商设计了一个自动修复机制,叫做自动修复(Automatic Reallcation)。有大多数型号的硬盘都有这样的功能:在对硬盘的读写过程中,如果发现一个坏道(defect sector),则自动分配一个备用扇区替换该扇区,并将该扇区及其替换情况记录在G-list中。这样一来,少量的坏道(defect sector)对用户的使用没有太大的影响。

如图是坏道(defect sector)屏蔽在G表的示意图,硬盘在访问数据的时候,在访问了23以后访问24,然后25,然后本应该是26,但是26是坏道(defect sector),被屏蔽了,这时候就访问保留区,保留区中某个位置就成了26,就替换了原来的26的位置,因此加G表又叫映射到G表。加G表是映射方式,在G表中记录两个地址,一个是保留区地址,一个是坏道的LBA地址,用保留区的地址替换了坏道的LBA地址。

坏道(defect sector)屏蔽在G表

也有一些硬盘自动修复机制的激发条件要严格一些,需要用某些软件来判断坏道(defect sector),并通过某个端口(据说是50h)调用自动修复机制。比如常用的西数工具SRP-WD,希捷工具SRP-ST等。这些工具可以运行厂商设计的自动回复机制,将坏的扇区添加到G-List 当中。当然,G-list的记录不会无限制,所有的硬盘都会限定在一定数量范围内。


PS:如果你觉得本站内容对你有帮助,不如把本站收藏到你的收藏夹,以便下次查看~也欢迎在下方分享点赞以及发言讨论~

Kiwi

Valar Morghulis

文章评论(0)