给一张表加一个自动编号字段_【第八期】硬盘的坏道会自动蔓延?

fca09895548a6c1541237f24e7113375.png

前面文章提到了硬盘有二种缺陷表,一个是Primary Defect List(简称P-LIST),另外一个是Grown Defect List(简称G-LIST)。这2张缺陷列表的作用是隐藏碟片表面所产生的缺陷扇区,以确保硬盘能正常工作。然而这2种缺陷的运行机制却大为不同。


按照现在的制造工艺,无法实现碟片0缺陷生产。不同材料的成分、磁层杂质、溅射工艺等都会导致碟片出现瑕疵,以至于扇区读写出错。早期的硬盘将缺陷磁道表写在盘体外面的标签上,并且每个硬盘都有一些保留空间,例如早期 ST225(20 Mb)实际容量为21,5 Mb,也就是说,有1,5 Mb的额外空间分配给缺陷扇区和磁道。现代硬盘也有额外的空间,不过对于用户来说是无法访问的,只有对硬盘发送特殊指令才可以访问。这些额外空间的一部分分配给硬盘适配信息、配置表、 S.M.A.R.T、工厂信息、缺陷表等等。其他部分被保留用于以后代替缺陷扇区。


Primary Defect List

任何一块硬盘在生产的时候,碟片磁介质分布不均匀,或者有损坏的区域,对于这部分有瑕疵的区域,在运行SELF-TEST的时候就会将它们的地址标注出来,然后放入P-LST。这就是所说的“基本缺陷表”,这些记录地址在硬盘运行时候自动被丢弃,所以P-list不影响硬盘的存取速度。

运行机制如下图:

07d76a826483f9ef8bde4c7f9f8f350e.png

在SEFL-TEST的时候,会对所有扇区进行编号,只有被正式编号的扇区才会被使用。因此,如果SEFL-TEST程序探测到某扇区存在缺陷,便不对其进行编号。当使用此方法时,缺陷扇区被忽略,它的编号被分配给其后的扇区(等等),而最后一个扇区被顺序移位到保留区。

Grown Defect List

G-list的职责是隐藏硬盘使用过程中出现的缺陷,也叫做“成长”缺陷表。在用户使用硬盘的过程中,会因为各种各样的原因导致碟片表面产生新的缺陷扇区,当硬盘探测到某些扇区存在缺陷,将自动把该扇区重新定位到硬盘保留区。由于G列表是“指派”,而非丢弃。

见下图:

f5e56760fe4e26cbf6e49356e0ee17f3.png

当对缺陷扇区进行访问操作时,硬盘读出扇区标记和指派地址,然后将磁头重定位到保留区,从保留区的好扇区中读/写数据。缺陷扇区对用户说是不可见的,不过在每次重定位到保留区之前仍然要先寻址到缺陷扇区。这一过程会伴随咔哒声和轻微的减速。“指派”过程只允许对数据字段有缺陷的扇区重定向,若ID字段损坏或伺服字段损坏时就不能使用“指派”的方法调整扇区。

这种方式虽然有弊端,但是好处也是显而易见的。这种操作模式可以在不改变用户数据的连续性的情况下达到隐藏缺陷的目的,可以保障用户数据的完整性。如果采用P-LIST的方式隐藏缺陷扇区,扇区将错位从而导致数据结构全部错乱。


为什么说坏道会自动蔓延?

坏道蔓延这种情况在某些情况下是存在的。因为很多时候在用户毫无察觉的情况下,硬盘自动重定位了缺陷扇区,然而每次访问的时候就会先读缺陷扇区再跳到保留区读备用扇区,这样一来一去的对缺陷扇区反复读写,次数越多该扇区磨损就会越严重(缺陷分二种类型,1介质失磁,2碟片与磁头碰撞。如果是因为碰撞原因导致的缺陷,那么碟片表面就会有不同程度的破损,破损周边会有凸起,磁头访问时就要产生碰撞,碰撞越多破损就会越严重。工厂在执行SELF-TEST测试程序的时候,发现有破损凸起的地方便会调高磁头飞行高度避开碰撞,然后记录下缺陷位置)从而蔓延到周边扇区。工厂处理P-LIST的时候为了稳妥起见往往会把周边相邻的几个扇区一起列入P-LIST。如果某条磁道上的缺陷扇区数量超标,则直接将该磁道列入P-LIST彻底封闭,永不使用。从根本上杜绝了继续磨损缺陷扇区的动作,有效阻止了缺陷的蔓延。

如图所示:

59bd746f7ef1aa2dd60464a590e69d1b.png

图中带颜色的便是因为缺陷太多被封闭的磁道。绿色代表0头管辖面的缺陷磁道,亮蓝代表1头管辖面的缺陷磁道.....

再如:

8979c3eb9f3f1512a95cb7fba43e9973.png

图片中带颜色的区域,表示单独的缺陷扇区,这些缺陷扇区呈径向分布。很容易推断出这些缺陷扇区是由于磁头做归位动作的时候,与碟片产生接触而产生的。

专业硬盘公众号正式上线,更多干货等你拿

caa618ffa1e9512f318745cc955c0786.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值