專利名稱:計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法及數(shù)據(jù)儲存方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)于一種磁盤陣列,且特別是有關(guān)于應(yīng)用于服務(wù)器的磁盤陣列。
背景技術(shù):
在計(jì)算器術(shù)語中,RAID (Redundant Array of Ind印endent Disks,獨(dú)立磁盤冗余 陣列;在臺灣稱為磁盤陣列)的概念是把多個(gè)相對便宜的硬盤組合起來,成為一個(gè)磁盤陣 列組,使性能能與價(jià)格昂貴、容量巨大的硬盤相當(dāng)。較之單顆硬盤,不同版本的磁盤陣列有 以下好處加強(qiáng)數(shù)據(jù)整合,增強(qiáng)容錯(cuò)功能,增加處理量或容量。另外,對于計(jì)算機(jī)系統(tǒng)而言, 磁盤陣列就像一個(gè)單獨(dú)的硬盤或邏輯儲存單元。 簡單來說,磁盤陣列會把多個(gè)硬盤組合成為一個(gè)邏輯扇區(qū),因此操作系統(tǒng)只會把 它當(dāng)作一個(gè)硬盤。磁盤陣列常被用在服務(wù)器計(jì)算機(jī)上,并且常使用完全相同的硬盤作為組 合。由于磁盤陣列能增加存儲容量并與主機(jī)整合板,因此適用視頻信號與音頻信號系統(tǒng)。
在具有軟件磁盤陣列的計(jì)算機(jī)系統(tǒng)當(dāng)中,需要對存入硬盤的數(shù)據(jù)計(jì)算同位檢查 碼,因此需要一種計(jì)算機(jī)系統(tǒng)能夠,有效地計(jì)算同位檢查碼。
發(fā)明內(nèi)容
因此本發(fā)明的一目的在于提供一種計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法,使中央處理 器不需要計(jì)算寫入數(shù)據(jù)的同位檢查碼,減輕中央處理器的運(yùn)算負(fù)擔(dān)。 本發(fā)明的另一目的在于提供一種計(jì)算系統(tǒng)的數(shù)據(jù)儲存方法,將寫入數(shù)據(jù)以及同位
檢查碼分開儲存,當(dāng)儲存寫入數(shù)據(jù)的硬盤毀損時(shí),可依據(jù)同位檢查碼來重建數(shù)據(jù)。 為了實(shí)現(xiàn)上述目的,依照本發(fā)明的一實(shí)施例,本發(fā)明提供一種計(jì)算系統(tǒng)的同位檢
查碼計(jì)算方法,是將一內(nèi)存所儲存的一寫入數(shù)據(jù)復(fù)制至一顯示卡的一緩沖區(qū),并對緩沖區(qū)
所儲存的寫入數(shù)據(jù)計(jì)算一同位檢查碼。然后將同位檢查碼復(fù)制至內(nèi)存,并將同位檢查碼寫
入一磁盤陣列。 為了實(shí)現(xiàn)上述目的,依照本發(fā)明的另一實(shí)施例,本發(fā)明另提供一種計(jì)算系統(tǒng)的數(shù) 據(jù)儲存方法,是將一內(nèi)存所儲存的一寫入數(shù)據(jù)復(fù)制至一顯示卡的一緩沖區(qū),對緩沖區(qū)所儲 存的寫入數(shù)據(jù)計(jì)算一同位檢查碼,并將同位檢查碼復(fù)制至內(nèi)存。然后將同位檢查碼寫入一 第一硬盤,并將寫入數(shù)據(jù)寫入一第二硬盤。 依照上述實(shí)施例,中央處理器不需計(jì)算寫入數(shù)據(jù)的同位檢查碼,因而減輕了中央 處理器的運(yùn)算負(fù)擔(dān);另一方面將寫入數(shù)據(jù)以及同位檢查碼分開儲存,當(dāng)儲存寫入數(shù)據(jù)的硬 盤毀損時(shí),可依據(jù)另 一硬盤所儲存的同位檢查碼來重建數(shù)據(jù)。
為讓本發(fā)明的上述和其它目的、特征、優(yōu)點(diǎn)與實(shí)施例能更明顯易懂,所附附圖的說 明如下 圖1繪示本發(fā)明一實(shí)施例的計(jì)算系統(tǒng)方塊圖2繪示本發(fā)明一實(shí)施例的同位檢查碼計(jì)算方法流程圖3繪示本發(fā)明另一實(shí)施例的同位檢查碼計(jì)算方法流程圖。
主要組件符號說明101內(nèi)存103 :中央處理器105顯示卡107 :圖形處理器109緩沖區(qū)111 :系統(tǒng)總線113非揮發(fā)性內(nèi)存接口115 :磁盤陣列117第一硬盤119 :第二硬盤121第三硬盤201 207 :步驟301 309 :步驟
具體實(shí)施例方式
在以下實(shí)施例中,計(jì)算系統(tǒng)的中央處理器不需計(jì)算寫入數(shù)據(jù)的同位檢查碼,因而 減輕了中央處理器的運(yùn)算負(fù)擔(dān);另一方面由于寫入數(shù)據(jù)以及同位檢查碼分開儲存,當(dāng)儲存 寫入數(shù)據(jù)的硬盤毀損時(shí),可依據(jù)另一硬盤所儲存的同位檢查碼來重建數(shù)據(jù)。
請參照圖l,其繪示本發(fā)明一實(shí)施例的計(jì)算系統(tǒng)方塊圖。計(jì)算系統(tǒng)包括內(nèi)存101、 顯示卡105、中央處理器103以及磁盤陣列115。顯示卡105包括緩沖區(qū)109以及圖形處理 器(Graphic Processing Unit, GPU) 107。內(nèi)存101儲存欲寫入至磁盤陣列115的寫入數(shù) 據(jù)。中央處理器103將寫入數(shù)據(jù)自內(nèi)存101儲存至顯示卡105的緩沖區(qū)109,其中內(nèi)存101、 顯示卡105、中央處理器103之間是透過系統(tǒng)總線111傳遞數(shù)據(jù)。 顯示卡105的緩沖區(qū)109可為一離屏緩沖區(qū)(Extended Frame Buffer),儲存于 離屏緩沖區(qū)的數(shù)據(jù)不會被顯示于顯示器上。當(dāng)緩沖區(qū)109儲存上述寫入數(shù)據(jù),圖形處理器 107會對緩沖區(qū)109所儲存的寫入數(shù)據(jù)計(jì)算同位檢查碼(paritybit)。
同位檢查碼又稱同位,為計(jì)算機(jī)系統(tǒng)內(nèi)部或計(jì)算機(jī)系統(tǒng)之間傳輸一群數(shù)據(jù)位時(shí), 用來檢查數(shù)據(jù)位是否出現(xiàn)錯(cuò)誤的額外位。同位檢查碼分為奇同位(OddParity Check)以及 偶同位(Even Parity Check)兩種。奇同位是指數(shù)據(jù)位中"1 "的個(gè)數(shù)加起來是應(yīng)是奇數(shù)個(gè), 偶同位是指數(shù)據(jù)位中"1"的個(gè)數(shù)加起來應(yīng)是偶數(shù)個(gè)。通過這種檢查方式,接收者可確認(rèn)數(shù) 據(jù)是否正確。 在此一實(shí)施例中,可對緩沖區(qū)109所儲存的寫入數(shù)據(jù)進(jìn)行互斥或(XOR)運(yùn)算來求 得同位檢查碼。由于顯示卡所提供的開放性圖形庫OpenGL(OpenGr即hics Library)為一跨 程序語言、跨平臺的編程界面,并由數(shù)個(gè)函數(shù)組成,因此可用來計(jì)算同位檢查碼。例如,可利 用OpenGL對離屏緩沖區(qū)定義執(zhí)行互斥或運(yùn)算的渲染函數(shù),然后由圖形處理器107執(zhí)行此渲 染函數(shù)來產(chǎn)生同位檢查碼,其中渲染函數(shù)可為同位檢查碼=寫入數(shù)據(jù)1'寫入數(shù)據(jù)2...' 寫入數(shù)據(jù)N。 磁盤陣列115,例如RAID5數(shù)組,包括第一硬盤117、第二硬盤119以及第三硬盤 121。當(dāng)同位檢查碼計(jì)算完成,同位檢查碼以及寫入數(shù)據(jù)會,透過系統(tǒng)總線111以及非揮發(fā) 性內(nèi)存接口 113,分別寫入磁盤陣列115的不同硬盤,由磁盤陣列115的硬盤儲存寫入數(shù)據(jù) 以及同位檢查碼。例如由第一硬盤117儲存同位檢查碼,而由第二硬盤119儲存寫入數(shù)據(jù)。 如果磁盤陣列115中儲存寫入數(shù)據(jù)的硬盤故障,那么利用同位檢查碼,就可以將寫入數(shù)據(jù)復(fù)原。 請參照圖2,其繪示本發(fā)明一實(shí)施例的同位檢查碼計(jì)算方法流程圖。同位檢查碼 計(jì)算方法首先將內(nèi)存所儲存的寫入數(shù)據(jù)復(fù)制至顯示卡的緩沖區(qū)(步驟201),例如離屏緩 沖區(qū),并對緩沖區(qū)所儲存的寫入數(shù)據(jù)計(jì)算同位檢查碼(步驟203),其中是利用顯示卡的圖 形處理器以及開放性圖形庫,計(jì)算同位檢查碼。接著將計(jì)算所得的同位檢查碼復(fù)制至內(nèi)存 (步驟205),再將同位檢查碼由內(nèi)存寫入磁盤陣列(步驟207)。 請參照圖3,其繪示本發(fā)明另一實(shí)施例的同位檢查碼計(jì)算方法流程圖。計(jì)算系統(tǒng)的 數(shù)據(jù)儲存方法首先將內(nèi)存所儲存的寫入數(shù)據(jù)復(fù)制至顯示卡的緩沖區(qū)(步驟301),例如離屏 緩沖區(qū),并對緩沖區(qū)所儲存的寫入數(shù)據(jù)計(jì)算同位檢查碼(步驟303),其中可由顯示卡的圖 形處理器計(jì)算同位檢查碼。然后先將計(jì)算所得的同位檢查碼復(fù)制至內(nèi)存(步驟305),再將 同位檢查碼由內(nèi)存寫入第一硬盤(步驟307),同時(shí)將寫入數(shù)據(jù)寫入第二硬盤(步驟309)。
在上述實(shí)施例的計(jì)算系統(tǒng)中,改由圖形處理器替代中央處理器來計(jì)算寫入數(shù)據(jù)的 同位檢查碼,因而減輕了中央處理器的運(yùn)算負(fù)擔(dān);另一方面將寫入數(shù)據(jù)以及同位檢查碼分 開儲存于磁盤陣列的不同硬盤,當(dāng)儲存寫入數(shù)據(jù)的硬盤毀損時(shí),仍可依據(jù)另一硬盤所存的 同位檢查碼來重建數(shù)據(jù)。 雖然本發(fā)明已以一較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何在本發(fā) 明所屬技術(shù)領(lǐng)域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的更動(dòng) 與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)以權(quán)利要求書所界定的范圍為準(zhǔn)。
權(quán)利要求
一種計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法,其特征在于,包含將一內(nèi)存所儲存的一寫入數(shù)據(jù)復(fù)制至一顯示卡的一緩沖區(qū);對該緩沖區(qū)所儲存的該寫入數(shù)據(jù)計(jì)算一同位檢查碼;將該同位檢查碼復(fù)制至該內(nèi)存;以及將該同位檢查碼寫入一磁盤陣列。
2. 根據(jù)權(quán)利要求1所述的計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法,其特征在于,該緩沖區(qū)為一離屏緩沖區(qū)。
3. 根據(jù)權(quán)利要求1所述的計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法,其特征在于,其中是對該緩沖區(qū)所儲存的該寫入數(shù)據(jù)進(jìn)行互斥或運(yùn)算,以求得該同位檢查碼。
4. 根據(jù)權(quán)利要求1所述的計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法,其特征在于,其中是由該顯示卡的一 圖形處理器計(jì)算該同位檢查碼。
5. 根據(jù)權(quán)利要求1所述的計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法,其特征在于,其中是使用一開放性圖形庫計(jì)算該同位檢查碼。
6. —種計(jì)算系統(tǒng)的數(shù)據(jù)儲存方法,其特征在于,包含將一內(nèi)存所儲存的一寫入數(shù)據(jù)復(fù)制至一顯示卡的一緩沖區(qū);對該緩沖區(qū)所儲存的該寫入數(shù)據(jù)計(jì)算一同位檢查碼;將該同位檢查碼復(fù)制至該內(nèi)存;將該同位檢查碼寫入一第一硬盤;以及將該寫入數(shù)據(jù)寫入一第二硬盤。
7. 根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng)的數(shù)據(jù)儲存方法,其特征在于,該緩沖區(qū)為一離屏緩沖區(qū)。
8. 根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng)的數(shù)據(jù)儲存方法,其特征在于,其中是對該緩沖區(qū)所儲存的該寫入數(shù)據(jù)進(jìn)行互斥或運(yùn)算,以求得該同位檢查碼。
9. 根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng)的數(shù)據(jù)儲存方法,其特征在于,其中是由該顯示卡的一圖形處理器計(jì)算該同位檢查碼。
10. 根據(jù)權(quán)利要求6所述的計(jì)算系統(tǒng)的數(shù)據(jù)儲存方法,其特征在于,其中是使用一開放性圖形庫計(jì)算該同位檢查碼。
全文摘要
本發(fā)明涉及一種計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法以及數(shù)據(jù)儲存方法。計(jì)算系統(tǒng)的同位檢查碼計(jì)算方法將內(nèi)存所儲存的寫入數(shù)據(jù)復(fù)制至顯示卡的緩沖區(qū),并對緩沖區(qū)所儲存的寫入數(shù)據(jù)計(jì)算同位檢查碼。然后將同位檢查碼復(fù)制至內(nèi)存,并將同位檢查碼寫入磁盤陣列。
文檔編號G06F11/10GK101788933SQ20091000606
公開日2010年7月28日 申請日期2009年1月22日 優(yōu)先權(quán)日2009年1月22日
發(fā)明者孫佑良 申請人:英業(yè)達(dá)股份有限公司