- 深度剖析:硬盤固件級數據恢復
- 劉永剛 袁建國 劉思波等編著
- 1632字
- 2018-12-31 14:38:58
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”校準或進行維修等操作時才需要。在一般用戶的工作狀態下,它們的損壞不會對硬盤的工作產生影響。