專(zhuān)利名稱(chēng):磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)寫(xiě)入方法,特別是涉及一種磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法。
背景技術(shù):
自個(gè)人計(jì)算機(jī)問(wèn)世以來(lái),硬盤(pán)是最常使用的儲(chǔ)存裝置之一。但在整個(gè)計(jì)算機(jī)系統(tǒng)架構(gòu)中,與中央處理器(CPU)及隨機(jī)存取存儲(chǔ)器(RAM)比較起來(lái),硬盤(pán)的存取速度是計(jì)算機(jī)中最慢的關(guān)鍵點(diǎn)之一。且由于伺服器的大量運(yùn)用,專(zhuān)業(yè)影音對(duì)大容量、高速存儲(chǔ)設(shè)備的需求,為了加速計(jì)算機(jī)整體的數(shù)據(jù)流量,以提高處理性能,磁盤(pán)陣列(RedundantArrays of Inexpensive Disks,RAID)系統(tǒng)遂成為近來(lái)使用者對(duì)存儲(chǔ)設(shè)備的最佳選擇。
磁盤(pán)陣列除了通過(guò)將數(shù)據(jù)切割之后儲(chǔ)存于不同的硬盤(pán)上以提高系統(tǒng)的處理性能之外,亦可通過(guò)奇偶校驗(yàn)(Parity)的概念及方法,能在磁盤(pán)陣列中任何一個(gè)硬盤(pán)故障時(shí),將故障硬盤(pán)內(nèi)的應(yīng)有數(shù)據(jù)經(jīng)計(jì)算后予以還原,以提高儲(chǔ)存于磁盤(pán)陣列中的數(shù)據(jù)的安全性。
磁盤(pán)陣列是由2個(gè)以上的硬盤(pán)于系統(tǒng)中模擬一個(gè)邏輯硬盤(pán),并使用磁盤(pán)陣列控制器依據(jù)不同的陣列形式以模擬各種規(guī)格的磁盤(pán)陣列。目前較常用的磁盤(pán)陣列規(guī)格有RAID 0、RAID 1、RAID 3、RAID 4及RAID 5規(guī)格的磁盤(pán)陣列。
在將數(shù)據(jù)寫(xiě)入磁盤(pán)陣列時(shí),公知的作法以RAID 5規(guī)格為例,系將一數(shù)據(jù)切割為多個(gè)切割數(shù)據(jù)(依據(jù)硬盤(pán)數(shù)量而定),再分別將切割數(shù)據(jù)寫(xiě)入不同的硬盤(pán)中,接著,依據(jù)該等切割數(shù)據(jù)并做異或(XOR)邏輯運(yùn)算以得到奇偶校驗(yàn)數(shù)據(jù),最后再將奇偶校驗(yàn)數(shù)據(jù)寫(xiě)入硬盤(pán)中。
因此,在一個(gè)寫(xiě)入周期中,需要執(zhí)行1、將切割數(shù)據(jù)寫(xiě)入硬盤(pán);2、讀出切割數(shù)據(jù)以作邏輯運(yùn)算;3、將奇偶校驗(yàn)數(shù)據(jù)寫(xiě)入硬盤(pán),共三個(gè)命令。即,系統(tǒng)需要三個(gè)時(shí)鐘,以執(zhí)行磁盤(pán)陣列的寫(xiě)入命令。
雖然僅是三個(gè)時(shí)鐘,但磁盤(pán)陣列一般用于需要處理大量數(shù)據(jù)的系統(tǒng)或伺服器中,當(dāng)要寫(xiě)入龐大數(shù)據(jù)時(shí),所浪費(fèi)的時(shí)間實(shí)是不容小覷。因此,如何節(jié)省磁盤(pán)陣列數(shù)據(jù)寫(xiě)入時(shí)間的方法,以更進(jìn)一步提高磁盤(pán)陣列的性能,實(shí)為當(dāng)前重要課題之一。
發(fā)明內(nèi)容
有鑒于上述課題,本發(fā)明的目的為提供一種可節(jié)省系統(tǒng)運(yùn)作時(shí)間的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法。
因此,為了實(shí)現(xiàn)上述目的,依據(jù)本發(fā)明的一種磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其被執(zhí)行于一寫(xiě)入周期,并由至少一第一磁盤(pán)、一第二磁盤(pán)、一第三磁盤(pán)及一存儲(chǔ)器模塊配合應(yīng)用。寫(xiě)入周期包含一第一時(shí)鐘及一第二時(shí)鐘。第一磁盤(pán)、第二磁盤(pán)及第三磁盤(pán)被用來(lái)儲(chǔ)存一第一數(shù)據(jù)、一第一檢核數(shù)據(jù)、一第二數(shù)據(jù)及一第二檢核數(shù)據(jù)。第一數(shù)據(jù)包含一第一切割數(shù)據(jù)及一第二切割數(shù)據(jù)。其中,第二數(shù)據(jù)包含一第三切割數(shù)據(jù)及一第四切割數(shù)據(jù)。另外,于第一磁盤(pán)中存儲(chǔ)有第三切割數(shù)據(jù),而于存儲(chǔ)器模塊中存儲(chǔ)有第一檢核數(shù)據(jù)。
磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法包括以下步驟首先在第一時(shí)鐘將第二數(shù)據(jù)的第四切割數(shù)據(jù)寫(xiě)入第二磁盤(pán);在第一時(shí)鐘讀取儲(chǔ)存于第一磁盤(pán)中的第二數(shù)據(jù)的第三切割數(shù)據(jù);在第一時(shí)鐘將第一檢核數(shù)據(jù)寫(xiě)入第三磁盤(pán);在第二時(shí)鐘依據(jù)第二數(shù)據(jù)的第三切割數(shù)據(jù)及第四切割數(shù)據(jù)以運(yùn)算出第二檢核數(shù)據(jù);在第二時(shí)鐘將第二檢核數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器模塊中。
承上所述,依據(jù)本發(fā)明的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法利用兩個(gè)時(shí)鐘,將數(shù)據(jù)及檢核數(shù)據(jù)寫(xiě)入磁盤(pán)中,即,利用兩個(gè)時(shí)鐘,以處理一個(gè)磁盤(pán)陣列寫(xiě)入命令;與公知作法相較,可節(jié)省一個(gè)時(shí)鐘。因此當(dāng)系統(tǒng)或伺服器于處理龐大的數(shù)據(jù)時(shí),可節(jié)省處理時(shí)間,以提升系統(tǒng)或伺服器的運(yùn)作效率。
圖1為一示意圖,顯示依據(jù)本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法配合應(yīng)用的硬件;圖2為一示意圖,顯示依據(jù)本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法的一個(gè)寫(xiě)入周期;圖3為一流程圖,顯示依據(jù)本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法;以及圖4A及圖4B為示意圖,顯示依據(jù)本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法應(yīng)用于不同規(guī)格的磁盤(pán)陣列。
元件符號(hào)說(shuō)明21 磁盤(pán)陣列 211 第一磁盤(pán)212 第二磁盤(pán) 213 第三磁盤(pán)22 存儲(chǔ)器模塊 23 控制器24 微處理器 D1 第一數(shù)據(jù)D11 第一切割數(shù)據(jù) D12 第二切割數(shù)據(jù)D2 第二數(shù)據(jù) D21 第三切割數(shù)據(jù)D22 第四切割數(shù)據(jù) PA第一檢核數(shù)據(jù)PB第二檢核數(shù)據(jù) Wcycle寫(xiě)入周期CLK1 第一時(shí)鐘 CLK2 第二時(shí)鐘P1~P5 磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法流程具體實(shí)施方式
以下將參照相關(guān)附圖,說(shuō)明依本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法。
請(qǐng)參照?qǐng)D1所示,本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法由一磁盤(pán)陣列21及一存儲(chǔ)器模塊22配合應(yīng)用。磁盤(pán)陣列21用以?xún)?chǔ)存一第一數(shù)據(jù)D1、一第一檢核數(shù)據(jù)PA、一第二數(shù)據(jù)D2及一第二檢核數(shù)據(jù)PB。第一數(shù)據(jù)D1包含一第一切割數(shù)據(jù)D11及一第二切割數(shù)據(jù)D12,而第二數(shù)據(jù)D2包含一第三切割數(shù)據(jù)D21及一第四切割數(shù)據(jù)D22。本實(shí)施例中,磁盤(pán)陣列21由一第一磁盤(pán)211、一第二磁盤(pán)212與一第三磁盤(pán)213所組成。當(dāng)然,若組成磁盤(pán)陣列21的磁盤(pán)越多,則由數(shù)據(jù)所切割的切割數(shù)據(jù)亦會(huì)對(duì)應(yīng)于磁盤(pán)數(shù)量而相對(duì)地增加。
另外,請(qǐng)參照?qǐng)D2所示,本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法在一寫(xiě)入周期Wcycle中要將一筆數(shù)據(jù)及一筆檢核數(shù)據(jù)寫(xiě)入磁盤(pán)陣列21中。本實(shí)施例中,寫(xiě)入周期Wcycle具有一第一時(shí)鐘CLK1及一第二時(shí)鐘CLK2。
本實(shí)施例中,第一切割數(shù)據(jù)D11與第二切割數(shù)據(jù)D12在寫(xiě)入周期Wcycle的上一個(gè)寫(xiě)入周期即已分別寫(xiě)入于第一磁盤(pán)211與第二磁盤(pán)212。另外,本實(shí)施例中,更可包括一控制器23(例如為磁盤(pán)陣列控制器)與一微處理器24(例如為中央處理器)??刂破?3分別與第一磁盤(pán)211、第二磁盤(pán)212、第三磁盤(pán)213以及存儲(chǔ)器模塊22電連接,而微處理器24與控制器23電連接。第一檢核數(shù)據(jù)PA由微處理器24依據(jù)第一切割數(shù)據(jù)D11與第二切割數(shù)據(jù)D12執(zhí)行一邏輯運(yùn)算而得。本實(shí)施例中,微處理器24執(zhí)行一異或運(yùn)算而得到第一檢核數(shù)據(jù)PA。
請(qǐng)參照?qǐng)D3并搭配圖1所示,本發(fā)明較佳實(shí)施例的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,例如于第一磁盤(pán)211中儲(chǔ)存有第三切割數(shù)據(jù)D21,而于存儲(chǔ)器模塊22中儲(chǔ)存有第一檢核數(shù)據(jù)PA,而磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法包括以下流程首先于流程P1,于寫(xiě)入周期Wcycle的第一時(shí)鐘CLK1將第四切割數(shù)據(jù)D22寫(xiě)入第二磁盤(pán)212中。
接著于流程P2,于第一時(shí)鐘CLK1讀取存儲(chǔ)于第一磁盤(pán)211中的第三切割數(shù)據(jù)D21。本實(shí)施例中,是通過(guò)控制器23將第三切割數(shù)據(jù)D21讀出至微處理器24。
接著于流程P3,于第一時(shí)鐘CLK1將第一檢核數(shù)據(jù)PA寫(xiě)入第三磁盤(pán)213。
于此,本實(shí)施例中,是將寫(xiě)入第四切割數(shù)據(jù)D22、讀出第三切割數(shù)據(jù)D21及寫(xiě)入第一檢核數(shù)據(jù)PA,在第一時(shí)鐘CLK1中以一讀寫(xiě)命令完成。
接著于流程P4,是依據(jù)第三切割數(shù)據(jù)D21與第四切割數(shù)據(jù)D22以運(yùn)算出第二檢核數(shù)據(jù)PB。本實(shí)施例中,是由微處理器24依據(jù)第三切割數(shù)據(jù)D21與第四切割數(shù)據(jù)D22、并執(zhí)行異或邏輯運(yùn)算,而得到第二檢核數(shù)據(jù)PB。
最后于流程P5,是將第二檢核數(shù)據(jù)PB儲(chǔ)存于存儲(chǔ)器模塊22中。于此,系統(tǒng)即完成數(shù)據(jù)的寫(xiě)入。而第二檢核數(shù)據(jù)PB則于寫(xiě)入周期Wcycle的下一個(gè)寫(xiě)入周期再與下一筆數(shù)據(jù)一并寫(xiě)入磁盤(pán)陣列21中。
另外,本實(shí)施例中,如圖4A所示,當(dāng)?shù)谌疟P(pán)213為一檢核數(shù)據(jù)磁盤(pán)時(shí),第二檢核數(shù)據(jù)PB被寫(xiě)入于第三磁盤(pán)213中,即第一檢核數(shù)據(jù)PA與第二檢核數(shù)據(jù)PB皆位于相同的磁盤(pán)中,則此系統(tǒng)可應(yīng)用于一RAID3規(guī)格或依RAID 4規(guī)格磁盤(pán)陣列。再如圖4B所示,當(dāng)?shù)诙z核數(shù)據(jù)PB被寫(xiě)入于第一磁盤(pán)211或第二磁盤(pán)212中時(shí),即第一檢核數(shù)據(jù)PA與第二檢核數(shù)據(jù)PB位于不同的磁盤(pán)中,則此系統(tǒng)可應(yīng)用于一RAID 5規(guī)格磁盤(pán)陣列。
本實(shí)施例中,是在寫(xiě)入周期Wcycle將由第一數(shù)據(jù)D1(即上一個(gè)寫(xiě)入周期的數(shù)據(jù))運(yùn)算而得的第一檢核數(shù)據(jù)PA寫(xiě)入磁盤(pán)陣列21,并將由第二數(shù)據(jù)D2運(yùn)算而得的第二檢核數(shù)據(jù)PB儲(chǔ)存于存儲(chǔ)器模塊22,待下一個(gè)寫(xiě)入周期時(shí),再將第二檢核數(shù)據(jù)PB寫(xiě)入磁盤(pán)陣列21。如此一來(lái),當(dāng)系統(tǒng)關(guān)機(jī)之前,仍會(huì)有一檢核數(shù)據(jù)儲(chǔ)存于存儲(chǔ)器模塊22中,因此,必須于關(guān)機(jī)之前將此檢核數(shù)據(jù)寫(xiě)入磁盤(pán)陣列21中,以確保數(shù)據(jù)完整。
綜上所述,本發(fā)明的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法改變了公知的寫(xiě)入方法,在一個(gè)寫(xiě)入周期中僅需使用兩個(gè)時(shí)鐘即可將數(shù)據(jù)與上一筆數(shù)據(jù)的檢核數(shù)據(jù)寫(xiě)入磁盤(pán)陣列中,如此一來(lái),在每個(gè)寫(xiě)入周期皆可節(jié)省一個(gè)時(shí)鐘,雖然在系統(tǒng)關(guān)機(jī)前需再花費(fèi)一個(gè)時(shí)鐘以將最后一個(gè)檢核數(shù)據(jù)寫(xiě)入磁盤(pán)陣列中,然而在數(shù)據(jù)流量較大的系統(tǒng)或伺服器中,各個(gè)寫(xiě)入周期累積下來(lái)所節(jié)省的時(shí)間是相當(dāng)可觀的,因此可節(jié)省系統(tǒng)或伺服器處理數(shù)據(jù)的時(shí)間,提高了運(yùn)作效率。
以上所述僅為舉例性,而非為限制性者。任何未脫離本發(fā)明的精神與范疇,而對(duì)其進(jìn)行的等效修改或變更,均應(yīng)包含于所附權(quán)利要求的范圍中。
權(quán)利要求
1.一種磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,系執(zhí)行于一寫(xiě)入周期,并由至少一第一磁盤(pán)、一第二磁盤(pán)、一第三磁盤(pán)及一存儲(chǔ)器模塊配合應(yīng)用,其中該寫(xiě)入周期包含一第一時(shí)鐘及一第二時(shí)鐘,該第一磁盤(pán)、該第二磁盤(pán)及該第三磁盤(pán)系用以?xún)?chǔ)存一第一數(shù)據(jù)、一第一檢核數(shù)據(jù)、一第二數(shù)據(jù)及一第二檢核數(shù)據(jù),該第一數(shù)據(jù)系包含一第一切割數(shù)據(jù)及一第二切割數(shù)據(jù),而該第二數(shù)據(jù)系包含一第三切割數(shù)據(jù)及一第四切割數(shù)據(jù),于該第一磁盤(pán)中儲(chǔ)存有該第三切割數(shù)據(jù),而于該存儲(chǔ)器模塊中儲(chǔ)存有該第一檢核數(shù)據(jù),該磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法包含于該第一時(shí)鐘將該第二數(shù)據(jù)的該第四切割數(shù)據(jù)寫(xiě)入該第二磁盤(pán);于該第一時(shí)鐘讀取儲(chǔ)存于該第一磁盤(pán)中的該第二數(shù)據(jù)的該第三切割數(shù)據(jù);于該第一時(shí)鐘將該第一檢核數(shù)據(jù)寫(xiě)入該第三磁盤(pán);于該第二時(shí)鐘依據(jù)該第二數(shù)據(jù)的該第三切割數(shù)據(jù)及該第四切割數(shù)據(jù)以運(yùn)算出該第二檢核數(shù)據(jù);以及于該第二時(shí)鐘將該第二檢核數(shù)據(jù)儲(chǔ)存于該存儲(chǔ)器模塊中。
2.根據(jù)權(quán)利要求1所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其中該第三磁盤(pán)為一檢核數(shù)據(jù)磁盤(pán)。
3.根據(jù)權(quán)利要求2所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其中該第二檢核數(shù)據(jù)被寫(xiě)入該第三磁盤(pán)中。
4.根據(jù)權(quán)利要求2所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其被應(yīng)用于一RAID3規(guī)格的磁盤(pán)陣列、或應(yīng)用于一RAID4規(guī)格的磁盤(pán)陣列。
5.根據(jù)權(quán)利要求1所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其中該第二檢核數(shù)據(jù)被寫(xiě)入該第一磁盤(pán)或該第二磁盤(pán)中。
6.根據(jù)權(quán)利要求5所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其被應(yīng)用于一RAID5規(guī)格的磁盤(pán)陣列。
7.根據(jù)權(quán)利要求1所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,還包括利用一微處理器以依據(jù)該第二數(shù)據(jù)的該第三切割數(shù)據(jù)及該第四切割數(shù)據(jù)執(zhí)行一邏輯運(yùn)算而得到該第二檢核數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其中該邏輯運(yùn)算為異或運(yùn)算。
9.根據(jù)權(quán)利要求1所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其中該第一檢核數(shù)據(jù)是依據(jù)該第一數(shù)據(jù)的該第一切割數(shù)據(jù)及該第二切割數(shù)據(jù)運(yùn)算而得的。
10.根據(jù)權(quán)利要求1所述的磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其中該第一檢核數(shù)據(jù)或該第二檢核數(shù)據(jù)分別為一奇偶校驗(yàn)數(shù)據(jù)。
全文摘要
一種磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法,其被執(zhí)行于包含有一第一時(shí)鐘與一第二時(shí)鐘的一寫(xiě)入周期,并由一第一磁盤(pán)、一第二磁盤(pán)、一第三磁盤(pán)及一存儲(chǔ)器模塊配合應(yīng)用。這些磁盤(pán)被用來(lái)儲(chǔ)存一第一檢核數(shù)據(jù)、一第二數(shù)據(jù)及一第二檢核數(shù)據(jù)。第二數(shù)據(jù)包含一第三切割數(shù)據(jù)及一第四切割數(shù)據(jù),第一檢核數(shù)據(jù)儲(chǔ)存于存儲(chǔ)器模塊中。磁盤(pán)陣列數(shù)據(jù)寫(xiě)入方法包括以下步驟。首先于第一時(shí)鐘將第二數(shù)據(jù)的第四切割數(shù)據(jù)寫(xiě)入第二磁盤(pán)。接著于第一時(shí)鐘讀取儲(chǔ)存于第一磁盤(pán)中的第二數(shù)據(jù)的第三切割數(shù)據(jù)。接著于第一時(shí)鐘將第一檢核數(shù)據(jù)寫(xiě)入第三磁盤(pán)。接著于第二時(shí)鐘依據(jù)第二數(shù)據(jù)的第三切割數(shù)據(jù)及第四切割數(shù)據(jù)以運(yùn)算出第二檢核數(shù)據(jù)。最后于第二時(shí)鐘將第二檢核數(shù)據(jù)儲(chǔ)存于存儲(chǔ)器模塊中。
文檔編號(hào)G06F3/06GK1744025SQ200510105890
公開(kāi)日2006年3月8日 申請(qǐng)日期2005年9月29日 優(yōu)先權(quán)日2005年9月29日
發(fā)明者李勇 申請(qǐng)人:威盛電子股份有限公司