希捷硬盤固件結(jié)構(gòu)及模塊,Parallel flash固件結(jié)構(gòu)
希捷硬盤的固件數(shù)據(jù)分布在以下幾個(gè)部位:
●電路板處理器芯片中的base ROM;
●外部ROM,有些電路板沒(méi)有外部ROM,那么它的角色將由在處理器芯片內(nèi)部的掩膜ROM來(lái)完成;
●盤面的負(fù)磁道(即固件區(qū))上。
希捷硬盤固件的一個(gè)顯著特點(diǎn),就是在固件區(qū)中,沒(méi)有一個(gè)明確的模塊表來(lái)調(diào)控硬盤的運(yùn)行。所以我們不能使用“Module”即“模塊”的概念來(lái)理解和分析希捷硬盤固件,而使的是磁道、磁道組、扇區(qū)、扇區(qū)組。對(duì)于這些具有特定固件功能的區(qū)域,我們通常又稱之為“Object”即“對(duì)象”,而要在硬盤固件區(qū)中,定位這些特定對(duì)象(Object)的柱面號(hào).就要使用固件區(qū)初始的柱面號(hào)加上該對(duì)象( Object)的磁道索引將其計(jì)算出來(lái)。在固件區(qū)中,柱面號(hào)和磁道索引這兩個(gè)參數(shù),對(duì)于特定對(duì)象的尋址而言是缺一不可的。這是因?yàn)?200.7以及更新的型號(hào)硬盤,其固件區(qū)初始柱面號(hào)不是一個(gè)恒定不變的值,而是可以在硬盤啟動(dòng)過(guò)程中改變的。所以當(dāng)和備件盤固件區(qū)數(shù)據(jù)進(jìn)行交換時(shí),僅使用柱面號(hào)的概念是行不通的。
Barracuda硬盤可為兩組:一是裝配了并行Parallel Flash的硬盤,包括U5,BarracudaⅡ/III/rv;二是裝配了串行Serial Flash的硬盤,包括Barracuda V,U series 7,7200.7,7200.8,7200.9,7200.10,MomentUS.
裝配Parallel flash的硬盤固件結(jié)構(gòu)
裝配Parallel flash的硬盤的固件由以下幾部分組成:Embedded code、存儲(chǔ)于Parallel Flash ROM中的微代碼、盤片上的固件區(qū)對(duì)象Object)組。
●Embedded code,硬盤電路板上微處理器ROM中的基礎(chǔ)代碼。
●存儲(chǔ)于Parallel Flash ROM中的微代碼,這些微代碼用于在硬盤啟動(dòng)時(shí),實(shí)施基本操作,并提供終端模式下的基本命令。微代碼內(nèi)容的不同,其固件版本有所不同,當(dāng)用~個(gè)備件盤的電路板和故障盤的電路板進(jìn)行置換時(shí),兩者的固件版本和電路板的總體布局要一致,具體的版本號(hào)可查看硬盤標(biāo)釜本標(biāo)識(shí)。
●盤片上的固件區(qū)對(duì)象( Object)組,例如:-ATA overlay(包含ATA命令的處理代碼)。
-S.M.A.R.T.扇區(qū)包含s.M.A.R.T.的Thresholds(閥值)、Val日志。
ues(值)和其他S.M.A.R—HDD ID模板扇區(qū),Stuffo它包括組成硬盤ID的基本信息。它的結(jié)構(gòu)與硬盤ID的筒規(guī)范相匹配,實(shí)際上,硬盤ID提供的數(shù)據(jù)塊是基于stuff中的內(nèi)容構(gòu)建的。盡管它不完相同(~些字段的值會(huì)隨硬盤的狀態(tài)而改變)。
_包含硬盤PN號(hào)和關(guān)于硬盤ID配置信息的扇區(qū)。
-包含安全子系統(tǒng)數(shù)據(jù)的扇區(qū)。
-缺陷列表磁道(P-List,A-List)
_包含硬盤用戶數(shù)據(jù)區(qū)區(qū)域分配的扇區(qū)組。
_包含硬盤運(yùn)行日志的磁道。
_包含CERT代碼的磁道——作為擴(kuò)展的終端命令集與Self Test代碼塊,該代碼塊對(duì)亍ATA模式下的硬盤操作不是必須的。
_包含CERT表的扇區(qū)組——Self Test參數(shù)表,該代碼塊對(duì)于是必須的。ATA模式下的硬盤操作不
Object)內(nèi)容可以看到,和邁拓硬盤相比,希捷硬盤固件區(qū)中,具有特定固件功能的對(duì)(Object),都是以扇區(qū)、扇區(qū)組、磁道等概念出現(xiàn)的,而不是以模塊的概念出現(xiàn)的.
裝配串行Serial Flash的希捷硬盤固件結(jié)構(gòu)
裝配串行Serial Flash的Barracuda硬盤,其固件層級(jí)結(jié)構(gòu)如圖4-1所示。
硬盤啟動(dòng)調(diào)用的Embedded code,其中一部分功能包括從外置或內(nèi)置串行Serial Flash存儲(chǔ)器中復(fù)制Boot Flash code。此代碼~部分用于管理F級(jí)終端。一旦Boot Flash code從串行的Flash中復(fù)制到RAM中并啟動(dòng),它就從某些確定的硬編碼(Hard-code,硬性指定不可更改的編碼)柱面讀取所謂的應(yīng)用代碼(App code)。應(yīng)用代碼中的微程序部分,包含用于啟動(dòng)Main FW所必須的執(zhí)行代碼,例如,啟動(dòng)ATA子系統(tǒng)等。
另外,固件區(qū)包含以下對(duì)象(Object):ATA overlay;
包含ATA命令的處理代碼和s .M.A.R.T.運(yùn)算)。
_S.M.A.R.T.包含S.M.A.R.T.的Thresholds(閥值)、Values(值)志的扇區(qū)。圖4-1固件層級(jí)結(jié)構(gòu)
和其他S.M.A.R.T.日志硬盤一硬盤ID扇區(qū),Stuff。它包括構(gòu)成硬盤ID的基本信息。它的結(jié)構(gòu)與硬盤ID的AIA規(guī)范相匹配。實(shí)際上,硬盤ID提供的數(shù)據(jù)塊是基于由stuff的內(nèi)容構(gòu)建的。盡管它不完全一樣( 一些字段的值會(huì)隨硬盤的狀態(tài)而改變)。
包含硬盤PN號(hào)和有關(guān)硬盤ID配置信息的扇區(qū);
.包含安全子系統(tǒng)數(shù)據(jù)的扇區(qū);
缺陷列表( P-List,A-List)磁道;
包含硬盤用戶數(shù)據(jù)區(qū)區(qū)域分配列表的扇區(qū)組;
_包含硬盤運(yùn)行日志的磁道;
包含CERT代碼的磁道——作為擴(kuò)展終端命令集和自測(cè)試(Self Test)的代碼塊,該狀碼塊對(duì)于ATA模式下運(yùn)行的硬盤操作不是必須的;
_包含CERT表的扇區(qū)組——自測(cè)試(Self Test)參數(shù)表(在ATA模式下運(yùn)行的硬盤,該功能不是必須的)端上的響應(yīng)用代碼使用所謂的Eng Rev來(lái)識(shí)別。Eng Rev是(Ctrl)+(A)命令在終止:輸入命令后,硬盤會(huì)輸出一串包含“Eng Rev=.F54”格式的信息。
一個(gè)完整的硬盤固件描述是由固件版本和Eng Rev版本累加的。也就是說(shuō),如果硬盤的掛件是3.06,并且Eng Rev=.F54,那么硬盤的固件版本將是3.06.F54。(冊(cè)4除:在這個(gè)案例中 ROM版本也將被指定。例如,檢查以上的硬盤,其版本為s.15。)
當(dāng)一個(gè)硬盤啟動(dòng)的時(shí)候,可以使用終端輸出的ID數(shù)據(jù)鑒別電路板的兼容性。
舉一個(gè)例子來(lái)說(shuō)明這樣一個(gè)問(wèn)題:
Interface task rest
1024kx16 buffer detected
ALPINE-1_Disk S.15 01-16-03 11:51或nterface task rest
1024k×16 buffer detected
AVALANCHE-1_Disk S.30 08-30-02 15:13 rcwood
在這里,用于標(biāo)明兼容性方面的關(guān)鍵字符串,是跟隨在x Disk后面的S.xx以及ROM產(chǎn)生日期后面的單詞。在上面的例子中,它就是S.15和S.30, rcwood(后面的這個(gè)單詞有可能會(huì)缺席)。這兩個(gè)參數(shù)是對(duì)電路板code及其電子元件變更的一個(gè)測(cè)定結(jié)果。所以為確保兩塊電路板的兼容,這兩個(gè)參數(shù)(本例中的粗體PCB必須相同F(xiàn)lash ROM兩塊板子是不兼容的。雖然如此,在某些案例中,可以通過(guò)重寫PcB板上的Flash ROM內(nèi)容,來(lái)消除電路板之間的不兼容。
如果安裝了一個(gè)不兼容的PCB板,硬盤將返回一個(gè)錯(cuò)誤信息,例如:Interface task rest
1024k×16 buffer detected
AVALANCHE-1_Disk S.30 08-30-02 15:13 rcwoodBuzz-Head Mask 0000 - Switch to full int
Spin ReadyApplication code incompatible with serial flash codeF>
不同硬盤,其電路板兼容的本質(zhì)就是:電路板硬件工作所必需的電路板微代碼應(yīng)是一致的。這些電路板微代碼包括:
●部件初始化信息及其管理信息,以及主軸電機(jī)的控制信息:
●前置放大器初始化所必需的數(shù)據(jù)。
這些信息存放在主控芯片和(外在的或內(nèi)置的)Serial Flash的代碼中。此外,電路板微代碼同樣擁有App code(應(yīng)用代碼,其主要功能引導(dǎo)、啟動(dòng)盤面的固件),從而使得硬盤能夠在盤片的固件區(qū)上找到部分固件記錄。因?yàn)楦鞣N不同版本的固件是由App code和啟動(dòng)參數(shù)(引導(dǎo)適應(yīng)性數(shù)據(jù),保存的固件區(qū)磁道缺陷列表)來(lái)啟動(dòng)的,所以,只要這些基本信息一致,即使固件的版本的標(biāo)簽不同,但板子仍是兼容的,硬盤將正確初始化。