/ 中存储网

硬盘的P表和G表介绍

2017-09-26 22:03:19 来源:中存储

在存储百科的(硬盘固件是什么?)中我们介绍了什么是硬盘的固件,这期我们接着对硬盘中的P表以及G表等进行介绍。

我们知道硬盘的数据存储密度很大,在生产过程中不可避免地会产生缺陷扇区,同时在使用过程中,那些不稳定的扇区也会逐渐老化而产生数据读写错误,成为缺陷扇区,这些缺陷和不稳定扇区会严重威胁硬盘数据的安全,为此,硬盘设计了两个缺陷列表P-list和G-list来处理这些有缺陷的扇区。P表和G表用于记录硬盘的缺陷扇区的情况,使硬盘在工作时不会在缺陷扇区中读写数据,防止数据损坏。

1)P表

P表又称为永久缺陷列表,用于记录硬盘生产过程中产生的缺陷。厂家使用专门的测试设备发现的缺陷是磁介质寿命完成之后产生的永久缺陷,只能使用特别的设备来增加它,一般没有必要去动它。

加入P表不会影响硬盘的读写性能,这要从硬盘的扇区结构进行分析。因为硬盘的全部扇区可以划分为固件区、工作区和保留扇区,其中固件区和保留扇区普通用户无法直接进行操作。其实硬盘的实际扇区数比我们看到的硬盘标签上标定的要大,其中一部份用于存储硬盘的固件;一部分是用户存储数据的区域,即工作区,也就是硬盘标定容量的扇区;剩下的就是保留区,实际上硬盘上并不会物理划出一个保留区域,只是在工厂生产时标定了全部的有效扇区,而硬盘的容量是小于其实际扇区总数的,在固件里定义了硬盘的容量,超过硬盘容量的那些扇区我们就称为保留扇区,如图1所示。

硬盘固件的P表与G表

缺陷扇区被加入P表后,硬盘不会再读写该扇区,而是将原读写该扇区的操作顺延到读写坏扇区的下一个扇区,该扇区以后的所有扇区的LBA值都发生了改变,原来保留扇区的一个扇区成为了硬盘的LBAmax,如图2所示。所以坏道被加入P表后,硬盘需要进行一次厂家低格。

硬盘固件的P表与G表

以迈拓硬盘为例,其中一共有四个模块与P表相关,分别是24、55、120以及51号模块。其中24、55、120是一组模块,它们是硬盘的缺陷记录,记录操作系统可以识别的逻辑扇区缺陷,是一种译码表。而51号模块记录的则是研究人员可以识别的扇区缺陷物理地址,是厂家在硬盘出厂时设置的一个P表记录,采用的是表格形式,计算机无法识别,专门供研究人员分析使用。只要51号模块没有损坏,对硬盘做数据恢复,就有很高的成功率。

2)G表

G表又称为增长缺陷列表,用于记录硬盘使用过程中由于磁介质性能变弱而引起的缺陷。这些缺陷可以在格式化的过程中发现,也可以由固件自动格式过程或者REASSIGN BLOCK命令做重新分配的过程中发现。

另外G表中还包括C表和D表,其中C表又称检查缺陷列表,用于记录在执行Format Unit格式化命令时,初始化进程之后在数据块校验的过程中所检测出的缺陷数据块的位置信息,一般也存储为G表方式。而D表又称数据缺陷列表,用于记录在执行Format Unit格式化命令前所产生的缺陷位置信息,它可以人为定义,先定义了这个列表,最后由系统传送给硬盘的缺陷列表,在格式化的过程中,这些缺陷信息会被加入G表。

缺陷扇区被加入G表后,当硬盘需要读该扇区时,会被重定位到保留扇区中的一个扇区,硬盘工作区的其它扇区不会受影响,如图3所示。

硬盘固件的P表与G表

由于保留扇区在硬盘的内道,读写速度慢,同时由于该扇区会导致硬盘的数据存储从物理上来说不连续了,当磁头读取该扇区的数据时需要移动较远的距离,代替坏扇区后,该LBA的读写速度会慢一些,所以我们说缺陷扇区加入G表后会影响硬盘的读写速度。