專利名稱:具磁盤陣列控制功能的計算機系統(tǒng)及磁盤陣列控制方法
技術領域:
本發(fā)明涉及一種具磁盤陣列控制功能的計算機系統(tǒng)及磁盤陣列控制方法,特別涉及應用于多個硬式磁盤機間的具磁盤陣列控制功能的計算機系統(tǒng)及磁盤陣列控制方法。
背景技術:
隨著個人計算機使用者對于數(shù)據(jù)安全備份保護的要求日益增加,磁盤陣列(Redundant Array of Independent Disks,簡稱RAID)的應用便越來越普及。請參見圖1(a),其是利用三個硬盤機101、102、103來組成具有平行同位檢查(Parallel with Parity)功能的一磁盤陣列的方塊示意圖,其中硬盤機101與硬盤機102可用以儲存內(nèi)容不同的數(shù)據(jù),而硬盤機103則用以儲存硬盤機101與硬盤機102中的數(shù)據(jù)進行互斥或運算而得到的同位值數(shù)據(jù)。舉例來說,硬盤機101中一第一區(qū)塊所儲存的數(shù)據(jù)為D1,而硬盤機102中與硬盤機101中第一區(qū)塊相同地址的一第二區(qū)塊所儲存的數(shù)據(jù)為D2,所以在硬盤機103中相同地址的一第三區(qū)塊所儲存的數(shù)據(jù)便為同位值數(shù)據(jù)P,而P=D1D2,代表互斥或運算。如此一來,當硬盤機101或硬盤機102中某一部硬盤機發(fā)生故障時,便可利用硬盤機103中的同位值數(shù)據(jù)P來進行數(shù)據(jù)重建。例如硬盤機102損壞,此時只需將D1與P分別從硬盤機101與硬盤機103讀出,然后進行D1P的運算便可得回D2,以此類推,使用者只要將損壞的硬盤機102換新,便可利用硬盤機101與硬盤機103內(nèi)的數(shù)據(jù)重新得回原有的數(shù)據(jù)。而為能達成此容錯功能,系統(tǒng)在寫入數(shù)據(jù)時則會花費較多時間與程序,例如使用者要把D1改寫成D1’時,必須先將硬盤機102中的D2讀出,進行D1’D2的運算而得到P’,然后再將D1’與P’寫入硬盤機101與硬盤機103之中。
由于獨立式的磁盤陣列系統(tǒng)的尺寸與價格并無法被一般使用者所接受,但為能使一般使用者也可得到磁盤陣列系統(tǒng)的好處,成本較低并可整合至機殼內(nèi)的磁盤陣列卡便應運而生。請參見圖2,其是一磁盤陣列卡應用于計算機系統(tǒng)中的功能方塊示意圖,其中,磁盤陣列卡20是信號連接至計算機系統(tǒng)2的核心邏輯芯片組21上并通過一驅(qū)動程序(圖中未示出)來與計算機系統(tǒng)2的操作系統(tǒng)(圖中未示出)進行溝通,以進行操作系統(tǒng)指派的數(shù)據(jù)讀寫動作,磁盤陣列卡20本身則具有存儲器201以及運算單元202來達成數(shù)據(jù)緩沖與容錯運算的功能,而總線控制器203則提供給三個不同的硬盤機27、28、29進行連接,用以將運算單元202處理過的數(shù)據(jù)寫入硬盤機27、28、29中或是從硬盤機27、28、29中將數(shù)據(jù)讀出,讓使用者可用較低廉的價格來得到磁盤陣列的好處。
但是,由圖2所示可知,磁盤陣列卡20本身需要有自己的存儲器201來達成數(shù)據(jù)緩沖的功用,所以存儲器201的尺寸直接影響數(shù)據(jù)存取的效率,但大尺寸存儲器201的成本也直接使磁盤陣列卡的價格增加,因此為使價格可再下降,一種所謂軟件磁盤陣列(software RAID)便被發(fā)展出來。其主要是將上述磁盤陣列卡20上的存儲器201與運算單元202取消,只留下總線控制器203來給硬盤機連接,而改用軟件來控制計算機系統(tǒng)原本就具有的系統(tǒng)存儲器22與中央處理單元(圖中未示出)來分別達成數(shù)據(jù)緩沖與容錯運算的功能。如此一來,便可成功省下陣列卡上存儲器201與運算單元202的成本,但是此種軟件磁盤陣列的方法雖然可以節(jié)省成本,也相對會占用計算機系統(tǒng)本身的資源,使得系統(tǒng)存儲器與中央處理單元必須兼顧上述任務而導致系統(tǒng)效能大幅下降,造成使用者的不便。
但不管是硬件或軟件的方式來完成磁盤陣列的功能,系統(tǒng)都必須進行上述的互斥或運算。請參見圖3,其表示出在圖2所示的現(xiàn)有磁盤陣列卡中,使用者要把D1更新成D1’時進行互斥或運算時所進行的數(shù)據(jù)處理時序示意圖,首先,操作系統(tǒng)必須將要更新的D1’準備好并寫入計算機系統(tǒng)2的系統(tǒng)存儲器22中,以及將D2從硬盤機28中讀出并寫入存儲器,而在圖中,以一連串六角形來代表已寫入完成的D1’數(shù)據(jù)以及D2數(shù)據(jù),最后再進行D1’D2的運算而得到P’,但從圖中可清楚得知,現(xiàn)有手段必須等到區(qū)塊中的全部數(shù)據(jù)D2都從硬盤機28中讀出并寫入存儲器201后(如圖中的時間點T1),才能利用運算單元202來進行互斥或運算,因此得到完整P’的時間將延至如圖中的時間點T2。但如此將耗費過多的處理時間,而導致系統(tǒng)效率不彰。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種具磁盤陣列控制功能的計算機系統(tǒng),應用于多個硬式磁盤機之間,計算機系統(tǒng)包含有一硬盤控制器,其信號連接于硬式磁盤機,可用以對硬式磁盤機進行數(shù)據(jù)存取;一數(shù)據(jù)長度判斷單元,信號連接于該硬盤控制器,其對硬盤控制器送入的一數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度時發(fā)出一觸發(fā)信號,而單位長度小于數(shù)據(jù)流的總長度;以及一容錯數(shù)據(jù)運算單元,信號連接于數(shù)據(jù)長度判斷單元,其是響應觸發(fā)信號的觸發(fā),進而對單位長度的數(shù)據(jù)進行一容錯數(shù)據(jù)運算。
本發(fā)明另外提供一種磁盤陣列控制方法,應用于一計算機系統(tǒng)與多個硬式磁盤機之間,方法包含下列步驟對硬式磁盤機進行數(shù)據(jù)存取;對硬式磁盤機送至計算機系統(tǒng)的一數(shù)據(jù)流進行長度累積計算,并在接收到的數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度時發(fā)出一觸發(fā)信號,而單位長度小于數(shù)據(jù)流的總長度;以及響應觸發(fā)信號的觸發(fā),進而對單位長度的數(shù)據(jù)進行一容錯數(shù)據(jù)運算。
圖1是顯示現(xiàn)有的一磁盤陣列的方塊示意圖。
圖2是顯示現(xiàn)有磁盤陣列卡應用于計算機系統(tǒng)中的方塊示意圖。
圖3是現(xiàn)有磁盤陣列卡中進行互斥或運算時所進行的數(shù)據(jù)處理時序示意圖。
圖4是本發(fā)明的一具磁盤陣列控制功能的核心邏輯單元的較佳實施例方塊示意圖。
圖5是本發(fā)明進行互斥或運算時所進行的數(shù)據(jù)處理時序示意圖。
圖6是本發(fā)明在一南橋模塊與一北橋模塊的配置下的一較佳實施例功能方塊示意圖。
圖7是本發(fā)明在具有一外接磁盤陣列卡的計算機系統(tǒng)中的較佳實施例功能方塊示意圖。
圖8是本發(fā)明另一較佳實施例功能方塊示意圖。
圖9是本發(fā)明一較佳實施例方法的流程示意圖。
附圖符號說明硬盤機101、102、103磁盤陣列卡20 計算機系統(tǒng)2
核心邏輯芯片組21存儲器201運算單元202 總線控制器203硬盤機27、28、29系統(tǒng)存儲器22計算機系統(tǒng)3 中央處理單元30系統(tǒng)存儲器31硬式磁盤機390、391以及392核心邏輯單元32 硬盤控制器321數(shù)據(jù)長度判斷單元322 容錯數(shù)據(jù)運算單元323北橋模塊60 南橋模塊61外接磁盤陣列卡70存儲器71外接磁盤陣列卡80操作系統(tǒng)38具體實施方式
請參見圖4,其是本發(fā)明為改善現(xiàn)有手段的缺點所發(fā)展出來關于一具磁盤陣列控制功能的核心邏輯單元的較佳實施例功能方塊示意圖,其主要是應用于其上運行有一操作系統(tǒng)38的一計算機系統(tǒng)3,該計算機系統(tǒng)3包含有一中央處理單元30、一系統(tǒng)存儲器31以及至少3個硬式磁盤機390、391以及392,而本發(fā)明所提出的核心邏輯單元32更包含有一硬盤控制器321、一數(shù)據(jù)長度判斷單元322以及一容錯數(shù)據(jù)運算單元323,其中數(shù)據(jù)長度判斷單元322對該硬盤控制器321由硬式磁盤機中所讀出并傳送至該核心邏輯單元32的一數(shù)據(jù)流進行長度檢查,并在接收到的該數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度(例如4k位組)時發(fā)出一觸發(fā)信號至該容錯數(shù)據(jù)運算單元323,使該容錯數(shù)據(jù)運算單元323對該單位長度的數(shù)據(jù)進行RAID3或RAID5常見的容錯數(shù)據(jù)運算(例如一互斥或運算),至于容錯數(shù)據(jù)運算所需的存儲器空間則由系統(tǒng)存儲器31來支援。
再請參見圖5,其是運用本發(fā)明技術手段后,磁盤陣列要把硬式磁盤機390中存放的舊數(shù)據(jù)D1改寫成新數(shù)據(jù)D1’時進行互斥或運算時所進行的數(shù)據(jù)處理時序示意圖,首先,操作系統(tǒng)必須將要更新的D1’準備好并寫入計算機系統(tǒng)2的系統(tǒng)存儲器22中,以及將硬式磁盤機391中與硬式磁盤機390存放D1相同地址的地址中的D2讀出并寫入存儲器。在圖中,以一連串六角形來代表已寫入完成的D1’數(shù)據(jù)以及D2數(shù)據(jù)中的單位長度部份數(shù)據(jù)(例如圖中所示的D1’1及D21)。而由于本發(fā)明技術是在D2數(shù)據(jù)流中的部份數(shù)據(jù)累積長度到達單位長度時就進行一次運算而得到一單位長度的P’部份數(shù)據(jù)(例如圖中所示的P’1),因此由圖可輕易看出,當D2完全寫入時,P’也幾乎運算完成,故可節(jié)省原先技術手段中因等待所花費的時間,進而達成發(fā)展本發(fā)明的主要目的。
如上所述,本發(fā)明主要是利用增設的數(shù)據(jù)長度判斷單元322來對由硬式磁盤機中所讀出并傳送至該核心邏輯單元32的數(shù)據(jù)流進行長度檢查,進而在數(shù)據(jù)每次累積到達單位長度(例如4k位組,如圖中所示的六角形)后,就觸發(fā)容錯數(shù)據(jù)運算單元323進行該部份的運算,進而大大地縮短數(shù)據(jù)處理所需的時間。但由于磁盤陣列可由軟件與硬件變化搭配來完成,因此發(fā)明人在下提出各種可完成上述功能磁盤陣列實施例來進行說明。
由于核心邏輯單元32在一般計算機系統(tǒng)的設計中,大多分開成一南橋模塊與一北橋模塊,因此圖6表示出本發(fā)明在一南橋模塊與一北橋模塊的配置下的一較佳實施例功能方塊示意圖。其中,硬盤控制器321是完成于南橋模塊61中,而數(shù)據(jù)長度判斷單元322與容錯數(shù)據(jù)運算單元323則完成于北橋模塊60中,而容錯數(shù)據(jù)運算所需的存儲器空間則同樣由系統(tǒng)存儲器31來支援。而完成于北橋模塊60中的數(shù)據(jù)長度判斷單元322對該硬盤控制器321由硬式磁盤機中所讀出并傳送至該核心邏輯單元32的數(shù)據(jù)流進行長度檢查,并在接收到的該數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度(例如4k位組)時發(fā)出觸發(fā)信號至該容錯數(shù)據(jù)運算單元323,使該容錯數(shù)據(jù)運算單元323對該單位長度的數(shù)據(jù)進行容錯數(shù)據(jù)運算(例如一互斥或運算)。
至于圖7則表示出本發(fā)明在具有一外接磁盤陣列卡70的計算機系統(tǒng)中的較佳實施例功能方塊示意圖。其中,硬盤控制器321、數(shù)據(jù)長度判斷單元322與容錯數(shù)據(jù)運算單元323則完成于磁盤陣列卡70之上,而容錯數(shù)據(jù)運算所需的存儲器空間也是由磁盤陣列卡70上的一存儲器71來完成。而完成于外接磁盤陣列卡70中的數(shù)據(jù)長度判斷單元322是對該硬盤控制器321由硬式磁盤機中所讀出并傳送至該核心邏輯單元32的數(shù)據(jù)流進行長度檢查,并在接收到的該數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度(例如4k位組)時發(fā)出觸發(fā)信號至該容錯數(shù)據(jù)運算單元323,使該容錯數(shù)據(jù)運算單元323對該單位長度的數(shù)據(jù)進行容錯數(shù)據(jù)運算(例如一互斥或運算)。
當然,也可將上述數(shù)據(jù)長度判斷單元322與容錯數(shù)據(jù)運算單元323以軟件的方式來完成,進而形成如圖8所表示出的另一較佳實施例功能方塊示意圖。其中外接磁盤陣列卡80上僅需設有硬盤控制器321,至于數(shù)據(jù)長度判斷單元322與容錯數(shù)據(jù)運算單元323皆可用軟件來完成,而容錯數(shù)據(jù)運算所需的存儲器空間則由系統(tǒng)存儲器31來支援。而以軟件的方式來完成的數(shù)據(jù)長度判斷單元(圖中未示出)對該硬盤控制器321由硬式磁盤機中所讀出并傳送至該核心邏輯單元32的數(shù)據(jù)流進行長度檢查,并在接收到的該數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度(例如4k位組)時發(fā)出觸發(fā)信號至以軟件方式完成的該容錯數(shù)據(jù)運算單元(圖中未示出),使容錯數(shù)據(jù)運算單元對該單位長度的數(shù)據(jù)進行容錯數(shù)據(jù)運算(例如一互斥或運算)。
而軟件所執(zhí)行的步驟則如圖9所示的方法流程圖的所示,首先。步驟S902表示出當系統(tǒng)對該等硬式磁盤機進行數(shù)據(jù)存取時,便利用步驟S903來對該等硬式磁盤機送至該計算機系統(tǒng)的一數(shù)據(jù)流進行長度檢查,而步驟S904便于接收的同時便判斷接收到的該數(shù)據(jù)流的部份數(shù)據(jù)累積長度是否到達一單位長度,當累積長度到達單位長度時,便進入步驟S905而將累積長度歸零并發(fā)出一觸發(fā)信號,進而利用步驟S906來觸發(fā)系統(tǒng)對該單位長度的數(shù)據(jù)進行容錯數(shù)據(jù)運算,同時并利用步驟S907來接收該數(shù)據(jù)流進行長度檢查直到結(jié)束。如此同樣可達到快速處理數(shù)據(jù)的本發(fā)明主要目的。
如此一來,本發(fā)明確實可有效改善現(xiàn)有手段缺失,進而達成發(fā)展本發(fā)明的主要目的。而凡其它未脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應包含在本發(fā)明的申請專利范圍內(nèi)。
權利要求
1.一種具磁盤陣列控制功能的計算機系統(tǒng),應用于多個硬式磁盤機之間,該計算機系統(tǒng)包含有一硬盤控制器,其信號連接于該等硬式磁盤機,可用以對該等硬式磁盤機進行數(shù)據(jù)存??;一數(shù)據(jù)長度判斷單元,信號連接于該硬盤控制器,其是對該硬盤控制器送入的一數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度時發(fā)出一觸發(fā)信號,而該單位長度小于該數(shù)據(jù)流的總長度;以及一容錯數(shù)據(jù)運算單元,信號連接于該數(shù)據(jù)長度判斷單元,其是響應該觸發(fā)信號的觸發(fā),進而對該單位長度的數(shù)據(jù)進行一容錯數(shù)據(jù)運算。
2.如權利要求1所述的具磁盤陣列控制功能的計算機系統(tǒng),其中,該硬盤控制器是一進階主機控制器接口,而該進階主機控制器接口包含有一總線控制器,其電連接于該等硬式磁盤機,用以控制該等硬式磁盤機進行數(shù)據(jù)存取。
3.如權利要求1所述的具磁盤陣列控制功能的計算機系統(tǒng),其中,該硬盤控制器是設置在一核心邏輯單元中的一南橋模塊。
4.如權利要求1所述的具磁盤陣列控制功能的計算機系統(tǒng),其中,該數(shù)據(jù)長度判斷單元與該容錯數(shù)據(jù)運算單元是設置在一核心邏輯單元中的一北橋模塊。
5.如權利要求1所述的具磁盤陣列控制功能的計算機系統(tǒng),其中,該容錯數(shù)據(jù)運算單元是一互斥或運算單元。
6.如權利要求1所述的具磁盤陣列控制功能的計算機系統(tǒng),其中,該硬盤控制器是設置在一外接磁盤陣列卡中。
7.如權利要求1所述的具磁盤陣列控制功能的計算機系統(tǒng),其中,該數(shù)據(jù)長度判斷單元與該容錯數(shù)據(jù)運算單元是設置在一外接磁盤陣列卡中。
8.如權利要求1所述的具磁盤陣列控制功能的計算機系統(tǒng),其中,該數(shù)據(jù)長度判斷單元與該容錯數(shù)據(jù)運算單元是設置在一核心邏輯單元中。
9.一種磁盤陣列控制方法,應用于一計算機系統(tǒng)與多個硬式磁盤機之間,該方法包含下列步驟對該等硬式磁盤機進行數(shù)據(jù)存取;對該等硬式磁盤機送至該計算機系統(tǒng)的一數(shù)據(jù)流進行長度累積計算,并在接收到的該數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度時發(fā)出一觸發(fā)信號,而該單位長度小于該數(shù)據(jù)流的總長度;以及響應該觸發(fā)信號的觸發(fā),進而對該單位長度的數(shù)據(jù)進行一容錯數(shù)據(jù)運算。
10.如權利要求9所述的磁盤陣列控制方法,其中,該容錯數(shù)據(jù)運算是一互斥或運算。
11.如權利要求9所述的磁盤陣列控制方法,其中,發(fā)出該觸發(fā)信號時,可將該累積長度歸零以重新進行累積。
全文摘要
本發(fā)明是一種具磁盤陣列控制功能的計算機系統(tǒng)及磁盤陣列控制方法,應用于多個硬式磁盤機之間,計算機系統(tǒng)包含有一硬盤控制器;一數(shù)據(jù)長度判斷單元;以及一容錯數(shù)據(jù)運算單元,而本發(fā)明方法包含下列步驟硬盤控制器對硬式磁盤機進行數(shù)據(jù)存取;數(shù)據(jù)長度判斷單元對硬式磁盤機送至計算機系統(tǒng)的一數(shù)據(jù)流進行長度累積計算,數(shù)據(jù)長度判斷單元并在接收到的數(shù)據(jù)流的部份數(shù)據(jù)累積長度到達一單位長度時發(fā)出一觸發(fā)信號;以及容錯數(shù)據(jù)運算單元響應觸發(fā)信號的觸發(fā),進而對單位長度的數(shù)據(jù)進行一容錯數(shù)據(jù)運算。
文檔編號G06F3/06GK1920765SQ20061012674
公開日2007年2月28日 申請日期2006年9月6日 優(yōu)先權日2006年9月6日
發(fā)明者何寬瑞 申請人:威盛電子股份有限公司