硬盤數據模板圖文詳解
表2.2列舉的是數據模塊。它們按照模塊的UBA升序進行分組,可以根據模塊之間的這種置關系進行模塊追蹤。在方括號中的模塊名,是由程序開發者指定的。
如上圖表2.2邁拓硬盤固件區中的數據模塊
在表2.2以及下文的表2.3、表2-4中,其重要性一欄中代碼的含義如下。
A-硬盤的基本模塊:As-適配設置,Ad-譯碼表。該模塊如果用另外一個硬盤中同樣的模塊來替換,將會導致硬盤中讀寫調整參數的丟失以及數據的丟失,比如適配數據模塊。
B-必須的模塊,但它可以用另外一個硬盤的模塊來替換,有時要求版本和型號必須匹配。
C-必須的模塊,但部分模塊的損壞不影響硬盤的啟動,硬盤能夠在某些條件下修正模塊的內容(在缺陷重定位期間,自動重新計算)。
D-不影響硬盤的運轉和操作性能,D類通常包含的是信息模塊,Dd-用于產生硬盤譯碼的原始缺陷列表。Dr-I廠技術自測試(Self Test)模塊。
表2-2中各模塊的含義如下:
SA譯碼程序U LIST (PN=37h),固件區中有無此模塊,是鑒別固件區是否活動的一個標志。該模塊可以在固件區中保存多達8個副本,在模塊表中僅指出了其中的2個副本。U_ LIST模塊是一個專門用于記錄固件區缺陷的列表,它和P-List模塊及G-List模塊不同,P-List模塊及G-List模塊是用戶區缺陷列表。在缺陷信息的存放上,它也有自己的特點,即每個磁頭都對應在U LIST中有一個獨
立的記錄,記錄包含兩項內容:一是磁頭號標記;二是該磁頭所對應的固件區中的缺陷表。
也就是說,它將每個磁頭所對應固件區中的缺陷進行分開獨立存放。
此外,U_ LIST模塊也指出了P-List (PN=18h)模塊實際使用的扇區數,這就是說,如果P-List模塊是從別的硬盤借來的,那么所借來的P-List模塊所使用的扇區數,必然與原P-List模塊實際使用的扇區數不同,也與原U LIST模塊所記錄的扇區數發生矛盾,那樣將導致校驗和( checksum)出現錯誤,這個扇區數值不能用于U LIST模塊。
如果固件區缺陷表中包含隱藏的缺陷,U LIST中的數據將具有唯一性,這就是說,如果把一個從別的硬盤中借來的U_LIST副本覆蓋現在的U LIST,將造成固件區的移位,將使硬盤的修復變得非常復雜。如果沒有隱藏缺陷,你可以對U LIST中的P-List模塊已使用的扇區數值進行修正,以允許使用其他硬盤中的模塊副本,這時你必須借助于HEX編輯器中的相應的擴展命令對模塊的校驗和( checksum)進行重新計算。
在硬盤運行過程中,有時會向模塊中寫數據,萬一出現寫故障,將會造成有關固件區缺陷信息和已使用的P-List模塊長度信息的丟失。在譯碼器重建期間,U—LIST模塊中的P -List模塊長度將被自動校正。
配置模塊DISK (PN=1Fh),此模塊包含硬盤的配置信息,比如:型號、序列號、最大 LBA、物理磁頭映像(map)以及磁頭數量。
RZTBL (PN=78h)模塊,此模塊是硬盤譯碼器的一部分,包含了用于產生譯碼器的磁頭號信息。另外它包也含了硬盤的區域分配表。每個區域都相應在P-List中有自己的缺陷序列。(P-List模塊)AT PDL (PN=18h)模塊,此模塊包含用戶區域扇區缺陷列表,是工廠檢測出的缺陷表,其缺陷信息是按照RZTBL中對區域描述的格式記錄的.(G-List模塊)AT POL (PN=1Bh)模塊以及它的副本(PN=A7h)模塊,隨著硬盤運轉而增長的缺陷列表G-List。
FMTI (PN=93h)模塊,此模塊用于全容量(Full-Sized)硬盤。它包含區域分配表以及每個區域的適配調整參數;因此,此模塊對于獲得數據的使用權是至關重要的。
“RCT”(PN=21h)模塊,這一模塊是在對一些預先裝置部分進行工廠自測試Self-Test)時生成的,其結構和用途目前還不完全清楚,但從另外的硬盤中借用同名模塊的副本,對該模塊進行覆寫,不會造成硬盤功能嚴重損失,但壞塊數量會增加。多數情況下硬盤仍然能夠讀寫數據。因此,該模塊丟失后,將不可能獲得一個正確的模塊。
“SRV”(PN=1Eh)模塊,這一模塊是在運行工廠的自測試(Self-Test)時生成的,其數據是由伺服系統校準子程序提供的。此模塊的結構和用途目前還不完全清楚,假如用其他的副本對該模塊進行置換,讀取盤面時將會被告知遇到缺陷扇區,并且根本不可能對硬盤進行寫操作。
AT—XAL (PN=35h)模塊,該模塊是一個為了把缺陷添加到G-List,而使用的一個過渡表格。它能夠在一些老的DSP-based硬盤中找到(例:RIGEL)。