專利名稱:串行高階硬盤架構(gòu)控制器自動初始化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種串行高階硬盤架構(gòu)(Serial Advanced TechnologyArchitecture,SATA)控制器初始化方法,特別是一種自動執(zhí)行的SATA控制器初始化方法。
背景技術(shù):
目前英特爾公司設(shè)計的南橋芯片中,內(nèi)置SATA控制器的有ICH5(ICH,是I/O Contoller Hub的縮寫,即南橋)系列(包括ICH5,ICH5R),可支持2個SATA(Serial Advanced Technology Architecture的縮寫,即串行高階硬盤架構(gòu))端口;ICH6系列(包括ICH6,ICH6R ICH6M),可支持四個SATA端口,以及未來將推出的ICH7,ICH8等。其中,每種南橋芯片具有一個制造廠商號和一個裝置號的信息。這些信息在開機(jī)后記錄在BIOS(基本輸入/輸出系統(tǒng))的某個地址中。現(xiàn)有南橋芯片上SATA控制器初始化方法是按照英特爾公司所提供說明書上的設(shè)置步驟手動操作,即在DOS模式下執(zhí)行“RU.exe”,修改BIOS中的內(nèi)容。例如手動操作開啟ICH6系列SATA控制器功能的步驟為首先在DOS(磁盤操作系統(tǒng))環(huán)境下執(zhí)行“RU.exe”,按“Alt+T”,選擇“ListPCI Device”;選擇“Intel Bridge,Dev#=1F,F(xiàn)un#=00”,然后按回車鍵,再按“Alt+7”,讀位置F0h至F3h的值作為基址,基址+偏移量3418h得出一地址對應(yīng)ICH6系列SATA控制器的內(nèi)存位置,鍵入此地址后按回車,將此內(nèi)存位置下的所有數(shù)據(jù)(以二進(jìn)制表示)的第二位置零;按“Alt+T”,選擇“ListPCI Device”,選擇“Intel XXXX8086 2652”,按順序在相應(yīng)的位置填入如下的值(輸入一個值后按回車)(A0h)=18,(A4h)=64,(A0h)=40,(A6h)=22,(92h)=00,(A0h)=1C,(A6h)=04,(92h)=****決定了所允許的端口,如Port 0---01,Port 1---02,Port 2---04,Port 3---08把示波器接在SATA端口的數(shù)據(jù)線上,示波器就會顯示信號的波形圖。
但是,這樣一連串的SATA控制器初始化的手動操作,過程太過復(fù)雜費時,而且容易發(fā)生人為操作上的錯誤,給測量人員帶來了不便。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種SATA控制器自動初始化方法,以對待測SATA端口作允許/禁止設(shè)定。
為實現(xiàn)本發(fā)明的目的,本發(fā)明所采用的初始化方法包括以下步驟輸入一個待測SATA端口值于一運行界面上;通過南橋芯片和SATA控制器的制造廠商號/裝置號的查表以自動識別所述南橋芯片和SATA控制器;根據(jù)識別結(jié)果自動更改SATA控制器所在位置的數(shù)據(jù)以允許所述SATA控制器;自動設(shè)定BIOS中偏移地址的數(shù)據(jù)以完成所述SATA控制器初始化。所述自動設(shè)定BIOS中偏移地址的步驟包括初始化所述SATA控制器;禁止所有的SATA端口;進(jìn)入SATA測試模式;允許待測的SATA端口。
本發(fā)明的有益效果是,該自動初始化方法克服了現(xiàn)有技術(shù)復(fù)雜費時的不足,能夠自動完成待測端口初始化,給產(chǎn)品驗證階段和量產(chǎn)時測量SATA信號帶來方便。
圖1是本發(fā)明ICH6系列SATA控制器自動初始化流程圖。
具體實施方式下面以初始化ICH6 SATA控制器為例,結(jié)合ICH6系列SATA端口允許程序流程圖,說明本發(fā)明的具體實施過程。
請參閱圖1,本發(fā)明所采用的初始化方法包括以下步驟(1)步驟100,首先判斷ICH6系列的南橋芯片是否存在于主板上,若存在,則進(jìn)入步驟102,若不存在,則結(jié)束。本發(fā)明將ICH6系列所有的南橋芯片建表,首先查找BIOS地址中是否有一個制造廠商號/裝置號,與表中ICH6系列的制造廠商號/裝置號相同。若存在,表示主板支持該ICH6系列;若不存在,則在界面上顯示找不到ICH6系列設(shè)備。
(2)步驟102,判斷SATA控制器是否存在于南橋芯片上,若存在,則進(jìn)入步驟104,若不存在,則結(jié)束。本發(fā)明將所有的ICH6系列SATA控制器建表,通過查找BIOS地址中是否有一個制造廠商號/裝置號,與表中SATA控制器的制造廠商號/裝置號相同,若存在,表示南橋支持的是該款SATA控制器;若不存在,則在界面上顯示找不到SATA控制器設(shè)備。
步驟100,步驟102查表形式如下南橋芯片制造廠商號/裝置號桌上型電腦ICH6系列 8086/2640筆記本電腦ICH6系列 8086/2641SATA控制器 制造廠商號/裝置號ICH6 SATA控制器 8086/2651ICH6R SATA控制器8086/2652ICH6M SATA控制器8086/2653(3)步驟104,設(shè)定允許SATA控制器。本發(fā)明自動讀該款南橋芯片在BIOS所分配的第一偏移地址F0h,F(xiàn)1h,F(xiàn)2h,F(xiàn)3h的數(shù)值作為第一基址,將第一基址的后三位用000h代替得出第二基址,讓第二基址+第二偏移地址3418h得出一地址對應(yīng)該款SATA控制器的內(nèi)存位置,將此內(nèi)存位置下的所有數(shù)據(jù)(二進(jìn)制表示)的第二位置零,以允許SATA控制器。
(4)步驟106,初始化該款SATA控制器,即對該款SATA控制器在BIOS中的偏移地址A0h,A4h,A0h,A6h設(shè)定值,即令(A0h)=18,(A4h)=64,(A0h)=40,(A6h)=22。
(5)步驟108,禁止所有的SATA端口,即對偏移地址92h設(shè)定值,令(92h)=00。
(6)步驟110,進(jìn)入SATA測試模式,即對A0h,A6h重新設(shè)定值,令(A0h)=1C,(A6h)=04。
(7)步驟112,允許待測的SATA端口,即對偏移地址92h重新設(shè)定值(這個值和用戶輸入的待測SATA端口值是對應(yīng)的),然后結(jié)束。
步驟108和步驟112中,92h設(shè)定值實現(xiàn)對SATA端口允許/禁止控制,如下所示設(shè)定值端口允許/禁止?fàn)顟B(tài)00全部端口禁止01端口0允許02端口1允許04端口2允許
08 端口3允許使用本方法初始化ICH6SATA控制器過程是,首先在DOS環(huán)境下執(zhí)行本程序,從鍵盤上輸入與各個端口對應(yīng)的數(shù)值1,2,3,4中的一個,程序就會自動找到ICH6系列南橋芯片,再找到ICH6SATA控制器,程序自動讀入ICH6在BIOS所分配的第一偏移地址F0h至F3h的數(shù)值作為第一基址,下面是在BIOS中讀取的內(nèi)容偏移地址 數(shù)值F0 01F1 C0F2 D1F3 FE第一基址FED1C001h后三位用000h代替,得出第二基址FED1C000h。
FED1C000h(第二基址)+3418h(第二偏移地址)=FED1F418hFED1F418h即ICH6SATA控制器對應(yīng)的內(nèi)存位置。將該內(nèi)存位置下所有數(shù)據(jù)的第二位置零,需轉(zhuǎn)換的數(shù)據(jù)有(00h)=65h=0110 0101b轉(zhuǎn)換成0110 0001b=61h(02h)=0Fh=0000 1111b轉(zhuǎn)換成0000 1011b=0Bh至此,完成允許SATA控制器。然后,程序再自動執(zhí)行步驟106至步驟112,完成ICH6 SATA控制器初始化過程。
如果要初始化ICH6R SATA控制器或者ICH6M SATA控制器,從流程圖來看,比較初始化ICH6 SATA控制器,程序執(zhí)行內(nèi)容的差異體現(xiàn)在步驟102至步驟104中。在步驟102中,將會找到一個對應(yīng)ICH6R SATA控制器或者ICH6MSATA控制器的制造廠商號/裝置號,步驟104中,程序會讀入ICH6R或者ICH6M在BIOS所分配的第一偏移地址F0h,F(xiàn)1h,F(xiàn)2h,F(xiàn)3h的數(shù)值。而在步驟106至步驟112中,程序在BIOS所要更改的偏移地址及其中的數(shù)值是相同的。
本SATA控制器初始化方法同樣適合于ICH5系列南橋芯片。比較初始化ICH6系列SATA控制器,程序執(zhí)行內(nèi)容的差異在于,步驟100,步驟102中查找的制造廠商號/裝置號不同,以及在步驟104中,只需自動讀該款南橋芯片在BIOS所分配的偏移地址F2h的數(shù)值,并將該數(shù)值(二進(jìn)制表示)的第二位置零,即可設(shè)定允許SATA控制器。在步驟106至步驟112中,程序在BIOS所要更改的偏移地址及其中的數(shù)值是相同的。
權(quán)利要求
1.一種串行高階硬盤架構(gòu)控制器自動初始化方法,包括以下步驟輸入一個待測SATA端口值于一運行界面上;通過南橋芯片和SATA控制器的制造廠商號/裝置號的查表以自動識別所述南橋芯片和SATA控制器;根據(jù)識別結(jié)果自動更改SATA控制器所在位置的數(shù)據(jù)以允許所述SATA控制器;自動設(shè)定BIOS中偏移地址的數(shù)據(jù)以完成所述SATA控制器初始化。
2.如權(quán)利要求1所述的串行高階硬盤架構(gòu)控制器自動初始化方法,所述自動設(shè)定BIOS中偏移地址的步驟包括初始化所述SATA控制器;禁止所有的SATA端口;進(jìn)入SATA測試模式;允許所述待測的SATA端口。
3.如權(quán)利要求1所述的串行高階硬盤架構(gòu)控制器自動初始化方法,所述界面運行于DOS環(huán)境中。
全文摘要
本發(fā)明為一種SATA控制器自動初始化方法,通過該方法可對待測SATA端口作允許/禁止設(shè)定。該方法包括以下步驟輸入一個待測SATA端口值于一運行界面上;通過南橋芯片和SATA控制器的制造廠商號/裝置號的查表以自動識別所述南橋芯片和SATA控制器;根據(jù)識別結(jié)果自動更改SATA控制器所在位置的數(shù)據(jù)以允許所述SATA控制器;自動設(shè)定BIOS中偏移地址的數(shù)據(jù)以完成所述SATA控制器初始化。
文檔編號G06F15/177GK1694066SQ20041002719
公開日2005年11月9日 申請日期2004年5月8日 優(yōu)先權(quán)日2004年5月8日
發(fā)明者王柏昌, 林鴻年, 陳維沅, 王太誠 申請人:鴻富錦精密工業(yè)(深圳)有限公司, 鴻海精密工業(yè)股份有限公司