PLIST基本缺陷列表与GLIST 成长缺陷列表

2017-07-24 14:45:08 ming 185

        在上一节,我们分析了物理坏道与逻辑坏道的原理同成因,同时也提到了一个很重要的一个点,——PLIST基本缺陷列表与GLIST 成长缺陷列表

为什么对于硬盘来讲,这两个表这么重要呢?因为坏道的多少,是会影响读盘的速度的。而且坏道还会对周边的磁道蔓延,所以要把这一部分的坏道进行屏蔽处理,就要用到G转P的操作。

PLIST基本缺陷列表 Primary Defect List

       在每只硬盘在生产的时候,其实不可避免会产生有部分碟片磁介质不均匀,或者有损坏的地区,对于这部分在生产过程中产生的不稳定的扇区,工厂就会使用一个PLIST 来记录下来。

硬盘厂家做低格时候做的一个列表。我们也叫做“永久缺陷表”,这些记录地址在硬盘运行时候自动被跳过,所以P列表不影响硬盘的存取速度。

GLIST 成长缺陷列表Grown Defect List

        G列表是在硬盘使用中出现的列表,我们也叫做“增长”缺陷表,这些记录地址随着用户使用硬盘,硬盘检测到某些区域可能存在缺陷(坏扇区),自动重新映射到出厂时预留的空间

用来保护用户数据的访问安全。由于G列表带来的是重映射,而非跳过,也就意味着硬盘首先寻找到坏的区域然后再映射到安全区域,这样就会造成硬盘存取速度的减慢.

看到这儿估计大家对GLIST 与 PLIST 只会有种快同慢的对比感觉。那么是什么原因造成的呢?为什么PLIST 不影响硬盘存取速度,而GlIST却会影响到呢?

那么我们先由一个硬盘的扇区分配说起。

在硬盘里面,除了我们平时见到的用户储存数据工作区,其实还含着另外两个区——固件区与保留区。

        但在实际中,固件区与保留区,用户是没有办法操作的,硬盘的实际扇区数比我们在标签上见到的容量是要大的,(其实工厂在生产时,并不会只单独开生产线1T或者 2T等不同容量的硬盘,他们会批量生产好同一款的硬盘,通过设定好固件信息,去为硬盘定义好容量。)在固件里,工厂会定义好硬盘的容量,超过了容量的那些扇区,我们会称他们为保留区。

如图(1)所示,蓝色为固件区,白色为工作区,绿色为保留区,红色为坏区。当红色的坏扇区6还没有加入Plist 或者Glist的时候,工作区的数字LAB 是由 0到29 ,第29之后就是保留区。

k1.jpg

图(一)


坏道 加入PLIST的情况

       当坏道加入PLIST 之后,记录地址在硬盘运行时候自动被跳过,硬盘不会再读写该扇区,所以该扇区的所有地址LAB值都发生了变化,第29区,会顺延到保留扇区的一个扇区。 由于所有的LAB都产生了变化,所以坏道被加入PLIST之后,是需要进行一次工厂的低格化。参考图(2)


k2.jpg

图(2)


k3.jpg

        所以PBA 物理地址转成LBA,也就是PLIST的编译器的工作。咱们再看看第二种情况:


坏道 加入GLIST的情况

       当坏区加入到GLIST这后,硬盘需要读到坏区所在的扇区,会被重新定位到保留区的一个扇区,硬盘区的其他扇区不会受到影响,LAB不会有变化。由于保留区是离工作区相对远的区域,在内道,所以当磁头读取该扇区的数据时,需要移动较远的距离,所以该LAB的读取速度就会变慢,所以说加入GLIST之后,是会影响硬盘的读写速度。


k4.jpg


下一节,我们来探讨一下Glist表转Plist的实战示范。