序言
这篇文章是对机械硬盘坏道相关知识的一些介绍,包括为什么会产生坏道,什么是P表和G表,以及它们的工作机制。文章介绍的比较清晰,感觉有所帮助,故将其转载过来。
原文链接:http://www.360doc.com/content/17/0129/18/30599128_625300307.shtml
原文
坏道是指硬盘碟片中存在缺陷的区域,在这个区域上,硬盘无法读取和写入数据,而已经存储在这个位置的数据可能由于坏道的存在而损坏。坏道是数据恢复中常见的故障之一,通常可分为逻辑坏道和物理坏道,逻辑坏道可以通过低级格式化来消除,而物理性坏道是无法通过软件来解决的。
一、坏道的产生
目前的机械硬盘都采用高密度存储技术生产,在生产过程中不可避免地会在某些区域上产生缺陷扇区,同时在使用过程中,一些不稳定的扇区也会逐渐老化成为缺陷扇区,这些先天缺陷和和后天残疾就是我们所说的坏道,它们会严重威胁硬盘数据的安全,为此,硬盘设计了两个缺陷列表 P-list(P 表)和 G-list(G 表)来处理这些有缺陷的扇区。P表和G表用于记录硬盘的缺陷扇区的情况,使硬盘在工作时不会在缺陷扇区中读写数据,防止数据损坏。
二、P-List(P 表)
P 表又称为永久缺陷列表,用于记录硬盘生产过程中产生的缺陷。厂家使用专门的测试设备发现的缺陷是磁介质寿命完成之后产生的永久缺陷,只能使用特别的设备来增加它,一般没有必要去动它。
加入 P 表不会影响硬盘的读写性能,这要从硬盘的扇区结构进行分析。因为硬盘的全部扇区可以划分为固件区、工作区和保留扇区,其中固件区和保留扇区普通用户无法直接进行操作。其实硬盘的实际扇区数比我们看到的硬盘标签上标定的要大,其中一部份用于存储硬盘的固件;一部分是用户存储数据的区域,即工作区,也就是硬盘标定容量的扇区;剩下的就是保留区,实际上硬盘上并不会物理划出一个保留区域,只是在工厂生产时标定了全部的有效扇区,而硬盘的容量是小于其实际扇区总数的,在固件里定义了硬盘的容量,超过硬盘容量的那些扇区我们就称为保留扇区。
缺陷扇区被加入 P 表后,硬盘不会再读写该扇区,而是将原读写该扇区的操作顺延到读写坏扇区的下一个扇区,该扇区以后的所有扇区的 LBA 值都发生了改变,原来保留扇区的一个扇区成为了硬盘可访问的扇区。所以坏道被加入 P 表后,硬盘需要进行一次返厂低格。
三、G-List(G 表)
G 表又称为增长缺陷列表,是用于记录硬盘使用过程中由于磁介质性能变弱而引起的缺陷。这些缺陷可以在格式化的过程中发现,也可以由固件自动格式过程或者 REASSIGNBLOCK 命令做重新分配的过程中发现。也就是说,硬盘在使用时,其实坏道是不定时都在产生的,只是由于 G 表的及时屏蔽,使用户感觉不到它的存在,只有当坏道产生的数量超过 G 表所能屏蔽的范围,坏道就能被用户感知到了。而产生数据恢复需求的硬盘,大多由于 G 表已满,无法继续屏蔽造成的。
另外 G 表中还包括 C 表和 D 表,其中 C 表又称检查缺陷列表,用于记录在执行 FormatUnit 格式化命令时,初始化进程之后在数据块校验的过程中所检测出的缺陷数据块的位置信息,一般也存储为 G 表方式。而 D 表又称数据缺陷列表,用于记录在执行 FormatUnit 格式化命令前所产生的缺陷位置信息,它可以人为定义,先定义了这个列表,最后由系统传送给硬盘的缺陷列表,在格式化的过程中,这些缺陷信息会被加入 G 表。缺陷扇区被加入 G 表后,当硬盘需要读该扇区时,会被重定位到保留扇区中的一个扇区,硬盘工作区的其它扇区不会受影响。
由于保留扇区在硬盘的内道,读写速度慢,同时由于该扇区会导致硬盘的数据存储从物理上来说不连续了,当磁头读取该扇区的数据时需要移动较远的距离,代替坏扇区后,该 LBA 的读写速度会慢一些,所以我们说缺陷扇区加入 G 表后会影响硬盘的读写速度。
物理性坏道非逻辑问题,无法通过数据恢复软件进行恢复和屏蔽,产生坏道的硬盘应及时联系专业数据恢复公司进行数据救援,切勿强制拷贝坏道硬盘中的数据,否则磁头在坏道区域反复读取,可能造成坏道区域扩大,甚至造成磁头损坏而升级为“开盘数据恢复”。