專利名稱:存貯控制器及存貯控制方法
技術(shù)領域:
本發(fā)明涉及對在諸如RAID(廉價盤冗余陣列)的多個存儲裝置中分布并存貯數(shù)據(jù)和奇偶校驗進行控制的存貯控制器,以及其存貯控制方法。
背景技術(shù):
RAID是一種將多個硬盤組合起來并作為一個冗余硬盤進行控制的技術(shù),并且根據(jù)用于向盤分配數(shù)據(jù)以及數(shù)據(jù)冗余化的方法,被分為從RAID 0到RAID 6的七個級別。在這些級別之中的RAID 3到RAID 6中,通過獨立于數(shù)據(jù)存儲已根據(jù)該數(shù)據(jù)創(chuàng)建的奇偶校驗來實現(xiàn)冗余化(例如,參照日本專利特開第2000-259359號公報)。
首先說明RAID 5的映射。在RAID 5中,每當條帶(stripe)改變時改變固定在RAID 4中用于處理奇偶校驗的盤,以便分布奇偶校驗,由此實現(xiàn)性能增強。例如,對于(4+1)RAID配置的情況,RAID 5映射的一個條帶的分配如圖1A所示。
在這里,(N+1)RAID配置表示這樣一種配置,即,其中,在(N+1)個盤中,N個盤處理數(shù)據(jù)帶,而一個盤處理奇偶校驗帶。在圖1A的示例中,一個條帶包括分別分配給盤0到盤3共4個盤的數(shù)據(jù)D00到D03和分配給盤4的奇偶校驗P00。從D00開始按標碼的連續(xù)順序排列和分配數(shù)據(jù)D00到D03。
用于讀取這樣存儲的數(shù)據(jù)的常規(guī)讀取處理不需要奇偶校驗P00。因此,對于針對D00到D03的讀取請求,不使用分配了奇偶校驗的盤4。
如果在盤0到盤4中存儲有多個條帶,也可能要考慮到這樣的讀取請求,其中按照標碼的連續(xù)順序讀取跨布不同條帶的數(shù)據(jù)。當考慮到采用諸如這樣的連續(xù)讀取處理的性能時,有效的是,將作為下一條帶的頭部的數(shù)據(jù)D04分配給盤4,對于盤4已經(jīng)在前一條帶中分配了奇偶校驗P00,并且尚未對盤4進行過任何存取。例如,如果每個條帶中的頭部數(shù)據(jù)的位置隨著各條帶偏移,那么數(shù)據(jù)和奇偶校驗的分配如圖1B所示。
對應于(N+1)RAID配置,通常以(N+1)個條帶為周期進行數(shù)據(jù)和奇偶檢驗的映射。由于這里N=4,所以周期是5個條帶。
接下來描述RAID 6的映射。RAID 6是應對多個盤的故障的RAID級別。RAID 6由(N+M)RAID配置來表示,并且與RAID 5中一樣,保持每個條帶的奇偶校驗。由于分配了奇偶校驗的M個盤對應于多個盤的故障,所以它為2個或者更多個。作為奇偶校驗,通常使用與RAID 5等同的奇偶校驗P以及不同于奇偶校驗P的奇偶校驗Q、R、S等。
在下面的說明中,為了應對兩個盤的故障,使用了奇偶校驗P和奇偶校驗Q,令M=2。
如果將圖1B所示的RAID 5的映射應用于RAID 6中的(4+2)RAID配置,則數(shù)據(jù)和奇偶校驗的分配如圖1C所示。通常,這是以(N+M)個條帶為周期的分配,并且所有的盤都要既處理奇偶校驗P又處理奇偶校驗Q。
上述常規(guī)RAID 6的映射存在以下問題。
在圖1C所示的RAID 6的映射中,同一盤只處理兩個連續(xù)條帶中的奇偶校驗P和奇偶校驗Q,而不處理數(shù)據(jù)。從連續(xù)讀取性能的角度而言這不是所希望的。
發(fā)明內(nèi)容
本發(fā)明的目的是執(zhí)行映射以改進諸如RAID的存貯裝置的連續(xù)讀取性能,所述存貯裝置通過使用兩類或者更多類奇偶校驗來獲得數(shù)據(jù)冗余化。
根據(jù)本發(fā)明的存貯裝置包括確定裝置和控制裝置,并通過對向N+M個存儲裝置分布并存貯包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶進行控制,來實現(xiàn)數(shù)據(jù)冗余化。
確定裝置為每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定存貯目標存儲裝置,以避免當N+M個存儲裝置存儲多個條帶時,在兩個連續(xù)條帶之間向同一存儲裝置連續(xù)存儲奇偶校驗帶。控制裝置對向每個確定的存貯目標存儲裝置存貯N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶進行控制。
圖1A是示出RAID 5中的條帶的圖;圖1B是示出RAID 5中的映射的圖;圖1C是示出RAID 6中的映射的圖;圖2A是根據(jù)本發(fā)明的存貯控制器的原理圖;圖2B是示出第一存貯系統(tǒng)的構(gòu)成圖的圖;圖3是示出M=2時的第一映射的圖;圖4是示出M=2時的第二映射的圖;圖5是示出M=2時的第三映射的圖;圖6是示出M=2時的第四映射的圖;圖7是示出M=2時的第五映射的圖;圖8是示出M=3時的第一映射的圖;圖9是示出M=3時的第二映射的圖;圖10是示出M=3時的第三映射的圖;圖11是示出M=3時的第四映射的圖;圖12是示出用于提供程序和數(shù)據(jù)的方法的圖;圖13是示出第二存貯系統(tǒng)的構(gòu)成圖;以及圖14是示出第三存貯系統(tǒng)的構(gòu)成圖。
具體實施例方式
下面參照附圖,詳細說明用于實現(xiàn)本發(fā)明的優(yōu)選實施例。
圖2A是根據(jù)本發(fā)明的存貯控制器的原理圖。圖2A中的存貯控制器101包括確定裝置111和控制器112,并通過對向N+M個存儲裝置102-1、102-2、……、102-(N+M)分布并存儲條帶(包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶)進行控制來實現(xiàn)數(shù)據(jù)冗余化。
確定裝置111為N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶確定存貯目標存儲裝置,以避免當存儲裝置102-1、102-2、……、102-(N+M)存儲多個條帶時在兩個連續(xù)條帶之間將奇偶校驗帶連續(xù)存儲至同一存儲裝置??刂破?12對向每個確定的存貯目標存儲裝置存儲N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶進行控制。
在(N+M)RAID配置中,每個存儲裝置相當于一個或更多個磁盤裝置。如果存儲了多個條帶,則將一個條帶內(nèi)的數(shù)據(jù)和奇偶校驗分散存儲至存儲裝置102-1、102-2、……、102-(N+M),使得同一存儲裝置不在兩個連續(xù)的條帶之間連續(xù)處理相同類型或不同類型的奇偶校驗。這樣,就均衡化了當順序讀取跨布不同條帶的數(shù)據(jù)時對(N+M)個存儲裝置的存取頻率。
存貯控制器101例如對應于稍后將描述的圖2B中的控制器211、圖13中的主機總線適配器1311或圖14中的主機裝置1401。
根據(jù)本發(fā)明,在其中將包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶分布并存儲在N+M個存儲裝置中的存貯裝置中,增強了順序讀取的性能。
圖2B示出了本實施例中的存貯系統(tǒng)的構(gòu)成示例。圖2B中的存貯系統(tǒng)包括主機裝置201和RAID裝置202。RAID裝置202對應于包括控制器211和盤0到盤5共六個盤在內(nèi)的存貯裝置。
每個盤包括一個或更多個磁盤裝置,主機裝置201將所有的盤視為一個存儲裝置并執(zhí)行數(shù)據(jù)的讀取/寫入。連接到控制器211的盤的數(shù)量不必限于6個。
控制器211包括處理器221、存儲器222以及緩存存儲器223,并控制對盤0到盤5的存取。處理器221通過執(zhí)行存儲器222中存儲的程序來控制存取。
下面參照圖3到圖11描述采用(N+M)RAID配置的本實施例中的映射示例。
(1)第一映射如果在圖1C所示的(4+2)RAID配置中考慮連續(xù)讀取的性能,對于每個條帶將分配偏移兩個盤,以使得奇偶校驗不連續(xù),則映射如圖3所示。在這個映射中,分別集總分配數(shù)據(jù)和奇偶校驗,并且處理相同類型奇偶校驗的盤對于每個條帶偏移M個盤。這樣,由于同一盤絕不在兩個連續(xù)條帶中都處理奇偶校驗,所以增強了連續(xù)讀取的性能。
通常,在(N+M)RAID配置中,如果盤的數(shù)量(N+M)是奇偶校驗數(shù)量(M)的倍數(shù),則由于分配偏移M個盤,所以分配被確定為以(N+M)/M個條帶為周期。這里,由于N=4且M=2,所以是以3個條帶為周期。然而,在圖3的映射中,奇偶校驗P未分配給盤1、盤3或盤5,而奇偶校驗Q未分配給盤0、盤2或盤4。
另一方面,在一個盤出現(xiàn)故障時的讀取處理或重建處理中,考慮到性能等,執(zhí)行只使用奇偶校驗P而不使用奇偶校驗Q的與RAID 5等同的處理。這樣,由于根本未分配有奇偶校驗P的盤的負載與除前面以外的盤的負載不同,所以存在改進映射的余地。作為用于改進奇偶校驗映射的方案,可以考慮下面的(2)和(3)。
(2)第二映射如圖4所示,創(chuàng)建并分配了其中按奇偶校驗P和Q的順序排列它們的條帶以及其中按奇偶校驗Q和P的順序排列它們的條帶,使得所有的盤都要處理奇偶校驗P和Q。從而,處理P和Q的盤每(N+M)/M個條帶循環(huán)一次。因此,分配以(N+M)個條帶為周期進行。
(3)第三映射如圖5所示,P和Q不是連續(xù)分配的,而是相隔一個或更多個盤。這里,P和Q被分配得相隔N/M(=2)個盤,數(shù)據(jù)和奇偶校驗的分配對于每個條帶偏移一個盤。因此,所有的盤都處理P和Q。
另外,由于在一個條帶內(nèi)將P和Q分配得相隔N/M個盤,所以盤處理P或Q的機會在(N+M)/M個條帶的周期中被均等化了。然而,數(shù)據(jù)和奇偶校驗的分配都與RAID 5中的不同。
上面兩種改進方案,是用于減少RAID 6中作為不相同的奇偶校驗帶且具有不同作用的奇偶校驗P和Q所引起的負載差異的方案。兩種方案中改進方案(2)被認為更有效。
另外,數(shù)據(jù)帶的作用可能不同于奇偶校驗P和奇偶校驗Q的作用。例如,在稱為行-對角線奇偶校驗(RDP)系統(tǒng)的RAID 6中,利用RAID 5的數(shù)據(jù)和奇偶校驗P創(chuàng)建對角線奇偶校驗Q。然而,一個條帶中的各帶的作用都不相同。具體來說,對于數(shù)據(jù)或P中的一個帶,使用整個帶來創(chuàng)建對角線奇偶檢驗Q。另一方面,在剩余的數(shù)據(jù)和奇偶校驗P帶中,僅使用其一部分來創(chuàng)建Q。
因此,當在一個盤出現(xiàn)故障時的重構(gòu)處理中恢復奇偶校驗Q時,處理數(shù)據(jù)的盤與處理奇偶校驗P的盤之間就產(chǎn)生了負載差異。因此,存在改進映射的余地。作為用于改進數(shù)據(jù)映射的方案,可以考慮下面的(4)和(5)。
(4)第四映射例如,如果使用整個P帶來創(chuàng)建Q,則隨著P的更新會產(chǎn)生更多的Q的更新。換句話說,由于為更新少量數(shù)據(jù)而增加了Q的更新,所以這不是很有效。因此,將用來創(chuàng)建Q的整個帶確定為被指配為其中一個數(shù)據(jù)帶,而不是P帶。
暫時假定條帶中的頭部數(shù)據(jù)帶是使用所有數(shù)據(jù)來創(chuàng)建Q的帶。這樣,由于存在處理頭部數(shù)據(jù)的盤和不處理頭部數(shù)據(jù)的盤,所以在圖3和圖4的映射中,負載不是均等分布的。例如,在圖3的映射中,將頭部數(shù)據(jù)分配給盤0、盤2和盤4,而未將頭部數(shù)據(jù)分配給盤1、盤3或盤5。
為了減少諸如此類的不均衡,針對圖6中所示的數(shù)據(jù)帶執(zhí)行在圖4的映射中執(zhí)行的對P和Q的循環(huán)重排,數(shù)據(jù)和奇偶校驗相對所配置的M個盤的映射順序是每(N+M)/M個條帶循環(huán)一次。
例如,前三個條帶601到603的分配與圖4中相同,并且將每個條帶的頭部數(shù)據(jù)D00、D04和D08分布給盤0、盤4和盤2。
在后面的三個條帶604到606中,盡管P和Q的分配與圖4中相同,但與圖4中相比數(shù)據(jù)的分配在兩個相鄰盤間是顛倒的。具體來說,在條帶604中D0c和D0d的分配與圖4中的相反,并且D0e和D0f的分配也與圖4中的相反。對于條帶605和606的分配也是同樣的。作為如此的數(shù)據(jù)重排的結(jié)果,將每個條帶中的頭部數(shù)據(jù)D0c、D10和D14分布給盤1、盤5和盤3。
因此,在圖6的映射中,可以將P、Q和頭部數(shù)據(jù)分布并分配給所有的盤。
(5)第五映射該映射是上面(4)中的改進方案的變型。如圖7所示,盡管奇偶校驗的分配和圖3中相同,但數(shù)據(jù)的分配不同。在該映射中,頭部數(shù)據(jù)在條帶中的位置是通過在緊接的前一條帶中用于處理奇偶校驗的M個盤中對于每個條帶錯開所述位置來選定的。然而,由于第2到第M數(shù)據(jù)可能被分配給同樣在緊接的前一條帶中用于處理數(shù)據(jù)的盤,所以該方案在順序讀取性能方面不如(4)中的改進方案。
盡管圖3到圖7示出了M=2時的映射示例,這些映射也可應用于M=3的情況下的RAID配置。圖8、9、10和11示出了將(1)、(2)、(3)以及(4)中的映射分別應用于(3+3)RAID配置的示例。
控制器211根據(jù)RAID配置如上所述地執(zhí)行映射處理,以便對盤執(zhí)行數(shù)據(jù)或奇偶校驗的讀取/寫入訪問。因此,下面將具體描述在(N+M)RAID配置中由控制器211執(zhí)行的映射處理。
在下面的解釋中,與C語言中一樣,運算符“/”表示整除的商,運算符“%”表示整除的余數(shù)。首先,對映射處理所用的變量的定義進行解釋。
●RAID配置中的盤的數(shù)量(N+M)(N+M)是構(gòu)成RAID組的盤的數(shù)量。RAID組包括總共(N+M)個盤,其中N個盤用于數(shù)據(jù)容量,而M個盤用于奇偶校驗容量。這里,將盤的總數(shù)(N+M)設為奇偶校驗用盤數(shù)量M的倍數(shù)。
●條帶大小SS表示一個條帶的數(shù)據(jù)容量(塊等的數(shù)量),并與條帶深度(stripedepth)相同。
●分配給數(shù)據(jù)的地址aa是順序分配給除奇偶檢驗外的數(shù)據(jù)的地址,是一個為0或更大的整數(shù)。通過指定地址a執(zhí)行對來自主機裝置201的數(shù)據(jù)的I/O請求。
●條帶號ii是表示與其對應的數(shù)據(jù)和奇偶校驗所屬條帶的編號,是一個為0或更大的整數(shù)。i是根據(jù)數(shù)據(jù)地址a和RAID配置來確定的,并由下面的公式給出i=a/(N*S)●帶號jj是表示屬于條帶的帶的順序的數(shù)字。將滿足0≤j<(N-1)的j指配給數(shù)據(jù)帶。由下面的公式給出數(shù)據(jù)帶的j,并根據(jù)數(shù)據(jù)地址a順序地存儲數(shù)據(jù)。
j=(a%(S*N))/S將滿足N≤j≤(N+M-1)的j指配給奇偶校驗帶。例如,將j=N指配給奇偶校驗P,將j=N+1指配給奇偶校驗Q。
●盤號dd是指定在構(gòu)成RAID系統(tǒng)的盤中將成為訪問目標的盤的編號,滿足0≤d≤(N+M-1)。根據(jù)要實現(xiàn)的映射方法,以i和j為參數(shù)來確定d。
下面描述使用前述變量定義的映射處理。在該映射處理中,依照映射方法,根據(jù)數(shù)據(jù)地址a來確定條帶號i和帶號j,從而確定訪問目標的盤號d。
1、傳統(tǒng)映射在圖1C所示的傳統(tǒng)映射方法中,盤號d每次偏移一個盤。d由下面的公式計算d=(j+i*(N+M-1))%(N+M)2、第一映射在圖3和圖8所示的映射方法中,盤號d偏移奇偶校驗的數(shù)量。d由下面的公式計算d=(j+(i*N))%(N+M)3、第二映射在圖4和圖9所示的映射方法中,M個奇偶校驗的陣列按前述第一映射循環(huán)。針對數(shù)據(jù)的d與第一映射中的相同,并由下面的公式計算d=(j+(i*N))%(N+M)然而,對于奇偶校驗,將每個條帶中分配有奇偶校驗的盤中的頭盤的編號確定為ptop,并由下面的公式計算ptopptop=(N+(i*N))%(N+M)對于奇偶校驗,由下面的利用ptop的公式來計算dd=ptop+(j-N+(M-1)*(i/(N+M)/M)%M4、第三映射在圖5和圖10所示的映射方法中,奇偶校驗不是連續(xù)分布的,盤號d每次偏移一個盤。對于數(shù)據(jù),d由下面的公式計算d=(i*(N+M-1)+j/(N/M)*((N+M)/M+j%(N/M))%(N+M)另一方面,對于奇偶校驗,d由下面的公式計算d=(i*(N+M-1)+(j-N)*((N+M)/M)+(N/M))%(N+M)5、第四映射在圖6和圖11所示的映射方法中,還將前述第二映射中的M個奇偶校驗的循環(huán)應用于數(shù)據(jù),并將M個數(shù)據(jù)的陣列作為一組按組進行循環(huán)。在此情況下,由下面的公式計算奇偶校驗和數(shù)據(jù)的組的總數(shù)gnumgnum=(N+M)/M由下面的公式給出數(shù)據(jù)或奇偶校驗所屬組的編號gi和在組中的序號gjgi=j/Mgj=j%M如果將組中數(shù)據(jù)或奇偶校驗所屬的頭盤的編號確定為gtop,那么gtop由下面的公式計算gtop=(gi*M+i*N)%(N+M)d由下面的利用該gtop的公式來計算d=gtop+((gj+(M-1)*(i/gnum))%M控制器211以對應于由上面公式獲得的d的盤為訪問目標來執(zhí)行數(shù)據(jù)或奇偶校驗的讀取/寫入。
圖12示出了用于提供控制器211的處理器221為處理使用的程序和數(shù)據(jù)的方法。存儲在外部裝置1201(如信息處理器)或移動記錄介質(zhì)1202中的程序和數(shù)據(jù)被加載到RAID裝置202的存儲器222。
外部裝置1201產(chǎn)生攜帶有所述程序和數(shù)據(jù)的載波信號并通過通信網(wǎng)絡上的任意傳輸介質(zhì)將該信號傳送給RAID裝置202。移動記錄介質(zhì)1202是任意的計算機可讀記錄介質(zhì),如存儲卡、軟盤、光盤或磁-光盤。處理器221利用所述數(shù)據(jù)執(zhí)行所述程序,并執(zhí)行必要的處理。
圖13和圖14示出了存貯系統(tǒng)的其它配置示例。圖13示出了安裝在主機裝置上的主機總線適配器控制盤訪問的示例。圖14示出了安裝在主機裝置中的軟件控制盤訪問的示例。在任一配置中,都如RAID裝置202中那樣提供了必需的程序和數(shù)據(jù)。
圖13中的存貯系統(tǒng)包括主機裝置1301和盤0到盤5。主機裝置1301包括主機總線適配器1311。主機總線適配器1311包括處理器1321、存儲器1322和緩存存儲器1323,并控制對盤0到盤5的存取。此時,處理器1321運行存儲器1322中存儲的程序,以執(zhí)行前述映射處理。
圖14中的存貯系統(tǒng)包括主機裝置1401和盤0到盤5。主機裝置1401包括處理器1411和存儲器1412,并控制對盤0到盤5的存取。此時,處理器1411運行存儲器1412中存儲的程序,以執(zhí)行前述映射處理。
另外,盡管在前述實施例中使用磁-光盤裝置作為盤裝置,但本發(fā)明也可應用于使用諸如光盤裝置、磁-光盤裝置以及其它存儲裝置(如磁帶裝置)的存貯系統(tǒng)。
權(quán)利要求
1.一種存貯控制器,通過對向N+M個存儲裝置分布并存貯包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶進行控制,來實現(xiàn)數(shù)據(jù)冗余化,該存貯控制器包括確定裝置,用于為每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定存貯目標存儲裝置,使得在所述N+M個存儲裝置存儲多個條帶時,在兩個連續(xù)條帶之間不向同一存儲裝置連續(xù)地存儲奇偶校驗帶;和控制器,用于對向每個確定的存貯目標存儲裝置存儲所述N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶進行控制。
2.如權(quán)利要求1所述的存貯控制器,其中,所述確定裝置確定所述存貯目標存儲裝置,使得在所述多個條帶中包括的奇偶校驗帶被均等地分布在所述N+M個存儲裝置中。
3.如權(quán)利要求2所述的存貯控制器,其中,所述確定裝置確定所述存貯目標存儲裝置,使得向其存儲同一類型奇偶校驗帶的存儲裝置的編號對于每個條帶偏移M。
4.如權(quán)利要求2或3所述的存貯控制器,其中,所述確定裝置根據(jù)指定的數(shù)據(jù)地址來確定表示數(shù)據(jù)或奇偶校驗所屬條帶的條帶號i和表示條帶中數(shù)據(jù)或奇偶校驗所屬帶的帶號j,并通過使用以下公式的計算來獲得向其存儲數(shù)據(jù)或奇偶校驗的存儲裝置的存儲裝置號d,在該公式中%為表示整除中的余數(shù)的運算符d=(j+(i*N))%(N+M)。
5.如權(quán)利要求2所述的存貯控制器,其中,所述確定裝置確定所述存貯目標存儲裝置,使得所述多個條帶中包括的同一類型奇偶校驗帶被均等地分布在所述N+M個存儲裝置中。
6.如權(quán)利要求5所述的存貯控制器,其中,所述確定裝置確定所述存貯目標存儲裝置,使得存儲同一類型奇偶校驗帶的存儲裝置的編號對于每個條帶偏移M,并且存儲M個奇偶校驗帶的存儲裝置的編號每(N+M)/M個條帶循環(huán)一次。
7.如權(quán)利要求5或6所述的存貯控制器,其中,所述確定裝置根據(jù)指定的數(shù)據(jù)地址來確定表示數(shù)據(jù)或奇偶校驗所屬條帶的條帶號i和表示條帶中數(shù)據(jù)或奇偶校驗所屬帶的帶號j,并且當由i和j確定存儲裝置號d時,對于數(shù)據(jù)的存貯目標,利用下面公式的計算來確定d,在該公式中%運算符表示整除中的余數(shù)d=(j+(i*N))%(N+M),對于奇偶校驗的存貯目標,通過下面公式的計算來確定d,在該公式中/運算符表示整除中的商ptop=(N+(i*N))%(N+M),d=ptop+(j-N+(M-1)*(i/(N+M)/M))%M。
8.如權(quán)利要求5所述的存貯控制器,其中,所述確定裝置確定所述存貯目標存儲裝置,使得存儲同一類型奇偶校驗帶的存儲裝置的編號對于每個條帶偏移1,并且使得在各個條帶中存儲M個奇偶校驗帶的存儲裝置的編號不連續(xù)。
9.如權(quán)利要求5或8所述的存貯控制器,其中,所述確定裝置根據(jù)指定的數(shù)據(jù)地址,確定表示數(shù)據(jù)或奇偶校驗所屬條帶的條帶號i和表示條帶中數(shù)據(jù)或奇偶校驗所屬帶的帶號j,并且當由i和j確定存儲裝置號d時,對于數(shù)據(jù)的存貯目標,通過使用下面公式的計算得到d,在該公式中,/運算符表示整除中的商,%運算符表示整除中的余數(shù)d=(i*(N+M-1)+j/(N/M)*((N+M)/M+j%(N/M))%(N+M),而對于奇偶校驗的存貯目標,通過使用下面公式的計算來確定dd=(i*(N+M-1)+(j-N)*((N+M)/M)+(N/M))%(N+M)。
10.如權(quán)利要求1或5所述的存貯控制器,其中,所述確定裝置確定所述存貯目標存儲裝置,使得在所述多個條帶中包括的數(shù)據(jù)帶被均等地分布在所述N+M個存儲裝置中。
11.如權(quán)利要求10所述的存貯控制器,其中,所述確定裝置確定所述存貯目標存儲裝置,使得存儲同一類型奇偶校驗帶的存儲裝置的編號對于每個條帶偏移M,并且存儲M個奇偶校驗帶的存儲裝置的編號每(N+M)/M個條帶循環(huán)一次。
12.如權(quán)利要求10或11所述的存貯控制器,其中,所述確定裝置根據(jù)指定的數(shù)據(jù)地址,確定表示數(shù)據(jù)或奇偶校驗所屬條帶的條帶號i和表示條帶中數(shù)據(jù)或奇偶校驗所屬帶的帶號j,并通過下面公式的計算得到向其存儲數(shù)據(jù)或奇偶校驗的存儲裝置的存儲裝置號d,在該公式中/運算符表示整除中的商,%運算符表示整除中的余數(shù)gtop=(gi*M+i*N)%(N+M),d=gtop+((gj+(M-1)*(i/gnum))%M。
13.一種存貯裝置,包括N+M個存儲裝置,用于分布并存儲包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶,以便實現(xiàn)數(shù)據(jù)冗余化;確定裝置,用于為每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定存貯目標存儲裝置,使得在所述N+M個存儲裝置存儲多個條帶時,在兩個連續(xù)條帶之間不向同一存儲裝置連續(xù)地存儲奇偶校驗帶;以及控制器,用于對向每個確定的存貯目標存儲裝置存貯所述N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶進行控制。
14.一種記錄介質(zhì),向其記錄了一種用于處理器的程序,該程序用于通過對向N+M個存儲裝置分布并存貯包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶進行控制來實現(xiàn)數(shù)據(jù)冗余化,其中,該程序使得處理器能夠執(zhí)行以下處理為每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定存貯目標存儲裝置,使得在所述N+M個存儲裝置存儲多個條帶時,在兩個連續(xù)條帶之間不在同一存儲裝置中連續(xù)地存儲奇偶校驗帶;和向每個確定的存貯目標存儲裝置存儲所述N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶。
15.一種存貯控制方法,用于通過向N+M個存儲裝置分布并存貯包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶來實現(xiàn)數(shù)據(jù)冗余化,其中,該存貯控制方法執(zhí)行以下操作為每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定存貯目標存儲裝置,使得在所述N+M個存儲裝置存儲多個條帶時,在兩個連續(xù)條帶之間不向同一存儲裝置連續(xù)地存儲奇偶校驗帶;和向每個確定的存貯目標存儲裝置存儲所述N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶。
16.一種載波信號,攜帶有一種用于處理器的程序,該程序用于通過對在N+M個存儲裝置中分布并存貯包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶進行控制來實現(xiàn)數(shù)據(jù)冗余化,其中,所述程序使得處理器能夠執(zhí)行以下處理為每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定存貯目標存儲裝置,使得在所述N+M個存儲裝置存儲多個條帶時,在兩個連續(xù)條帶之間不向同一存儲裝置連續(xù)地存儲奇偶校驗帶;和向每個確定的存貯目標存儲裝置存儲所述N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶。
17.一種存貯控制器,用于通過對在N+M個存儲裝置中分布并存貯包括N個數(shù)據(jù)帶和M個不同類型的奇偶校驗帶在內(nèi)的條帶進行控制來實現(xiàn)數(shù)據(jù)冗余化,該存貯控制器包括確定單元,用于為每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定存貯目標存儲裝置,使得在所述N+M個存儲裝置存儲多個條帶時,在兩個連續(xù)條帶之間不向同一存儲裝置連續(xù)地存儲奇偶校驗帶;和控制單元,用于對向每個確定的存貯目標存儲裝置存貯所述N個數(shù)據(jù)帶和兩個或更多個奇偶校驗帶進行控制。
全文摘要
存貯控制器及存貯控制方法。存貯目標存儲裝置,其中將每個條帶中包括的N個數(shù)據(jù)帶和M個奇偶校驗帶確定為,在向N+M個存儲裝置分布并存儲分別包括N個數(shù)據(jù)帶和M個不同類型奇偶校驗帶的多個條帶時,在兩個連續(xù)條帶之間不向同一存儲裝置連續(xù)地存儲奇偶校驗帶。
文檔編號G06F12/00GK1790281SQ200510066269
公開日2006年6月21日 申請日期2005年4月25日 優(yōu)先權(quán)日2004年12月14日
發(fā)明者望月信哉, 伊藤實希夫, 大黑谷秀治郎, 池內(nèi)和彥, 高橋秀夫, 紺田與志仁, 佐藤靖丈, 越智弘昭, 牧野司, 久保田典秀 申請人:富士通株式會社