深度剖析:硬盘固件级数据恢复
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3.2 硬盘固件结构

硬盘固件区由几个不同的工作区构成,而工作区数量,以及组成工作区的模块,不是一个固定数值,硬盘的品牌、型号不同,其数值也有所不同。多数硬盘只有A、B两个工作区,而有些硬盘有A、B、C三个工作区。例如,迈拓硬盘在6E系列之前只有A区(主固件区)和B区(次固件区),两个工作区只要其中一个是完好的,硬盘都可以正常工作。在6Y系列之后,厂家加入了自修复工作区C区,其作用就是对固件区进行修复。而日立硬盘包括A区(主固件区)、B区(次固件区)和C区(备份固件区),当A区出故障时,可以通过B区读写硬盘;当A、B区都出现故障时,可通过专门的工具调用C区模块对A、B区进行回写,从而修复A、B区。

工作区中的固件信息是用模块的形式来表示的。一个模块可能只记录一个信息,也有可能一个模块记录多个信息,所以其大小并不一致,在固件区中每个模块都有其固定的位置,它们并不是连续存放的。

硬盘固件的信息模块包括以下几类:管理模块、配置和设置表、缺陷列表以及工作记录表等。

● 固件管理模块

硬盘固件的管理模块由初始诊断模块、伺服电机旋转控制模块、磁头定位模块、硬盘控制器和缓冲存储器的信息交换模块等构成。从管理模块所包含的内容来看,不同的管理模块出现损坏,虽然其故障的表现形式各不相同,但大致可分为两种:一是硬盘不能准备就绪;二是硬盘的相关参数不能被正确识别,如硬盘的型号、容量等。

● 配置和设置表

硬盘的配置和设置表包含关于磁盘空间的逻辑和物理信息。如果配置和设置表发生故障,硬盘的相关参数同样不能被正确识别,因为这些表格包含了硬盘的型号名称、最大LBA值等信息,涉及物理磁头的定位,Zone分配表确定等内容。

● 缺陷列表

随着硬盘盘片数据存储密度的不断提高,虽然盘片的生产过程极其精密,但也不可避免地会产生缺陷扇区,这些缺陷扇区会威胁到硬盘数据的安全,为此,厂家会在硬盘出厂前,对其进行全面校准,将校准过程中找出的缺陷磁道和扇区记录在P-list中,并且在对所有的磁道和扇区的编号过程中,跳过这些缺陷扇区,也就是不给这些缺陷扇区进行地址编号,从而使用户不能发现和用到它们。

(1)P-list

P-list又称为永久缺陷列表,用于记录硬盘生产过程中产生的缺陷。是厂家使用专门的测试工具发现的缺陷,通常情况下,用户不要对它进行任何操作。

加入P表不会影响硬盘的容量和读写性能,因为硬盘的全部扇区可以划分为固件区、工作区和保留扇区,而保留扇区用户是无法直接操作的,它也不包含在硬盘标称的容量中,所以缺陷扇区被加入P表后,由此而损失的扇区数,将会从保留扇区取出数量相等的扇区来补充。

(2)G-list

G表又称为增长缺陷列表,用于记录硬盘在使用过程中产生的缺陷扇区。随着大容量硬盘的不断出现,使用中产生缺陷扇区的概率不断增大,厂商为了避免因此而与用户产生经济纠纷和频繁保修带来的麻烦。于是,厂商在硬盘中设计了一个自动修复机制,叫做Automatic Reallocation,其功能是:在硬盘的读写过程中,如果发现一个缺陷扇区,则自动使用保留扇区中一个备用扇区来替换该扇区,并将缺陷扇区及其替换情况记录在G-list中。

G-list包括两种内容:①在介质校验过程中由格式化命令产生的缺陷;②在格式化命令之前,由硬盘内部功能和自动重新分配功能产生的缺陷。

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

(3)U表

U表即固件区缺陷列表,用于记录硬盘固件区产生的缺陷,存在于迈拓硬盘和西部数据硬盘中。

(4)道表

道表就是压缩后的P表。因为固件的存储空间有限,当向其中加入的缺陷信息达到一定程度时,将无法继续写入,这时就可将P表进行压缩,增加P表容量,继续写入缺陷信息。

(5)工作记录表

硬盘工作记录表包括硬盘生产和运行过程中的一些辅助信息,如检测结果、检测程序动作记录等。它只有在对硬盘执行“Self Scan”自检和“Calibrator”校准或进行维修等操作时才需要。在一般用户的工作状态下,它们的损坏不会对硬盘的工作产生影响。