欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

并入實(shí)時(shí)異或的有限域乘法器的獨(dú)立磁盤冗余陣列環(huán)境的制作方法

文檔序號(hào):6651065閱讀:198來(lái)源:國(guó)知局
專利名稱:并入實(shí)時(shí)異或的有限域乘法器的獨(dú)立磁盤冗余陣列環(huán)境的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)保護(hù)方法,尤其涉及實(shí)現(xiàn)RAID-6數(shù)據(jù)保護(hù)和恢復(fù)策略的系統(tǒng)。
背景技術(shù)
RAID代表獨(dú)立磁盤冗余陣列(Redundant Array of Independent Disks),是這樣一類冗余磁盤陣列存儲(chǔ)模式,其中冗余磁盤陣列存儲(chǔ)模式定義了眾多配置和使用多個(gè)計(jì)算機(jī)磁盤驅(qū)動(dòng)器,以獲得各種級(jí)別的可用性、性能、容量和成本的方式,同時(shí)作為單個(gè)大容量驅(qū)動(dòng)器呈現(xiàn)給軟件應(yīng)用程序。典型的RAID存儲(chǔ)子系統(tǒng)(subsystem)可以用硬件或者軟件來(lái)實(shí)現(xiàn)。在前者的情況下,RAID算法被封裝到耦接到計(jì)算機(jī)輸入/輸出(“I/O”)總線的單獨(dú)控制器硬件中,并且雖然增加很少或者沒(méi)有增加中央處理單元(“CPU”)開(kāi)銷,但是所需的額外硬件仍然增加了整個(gè)系統(tǒng)的成本。另一方面,軟件實(shí)現(xiàn)將RAID算法并到與操作系統(tǒng)一起由主處理器執(zhí)行的系統(tǒng)軟件中,從而避免了單獨(dú)的硬件控制器的需要和成本,然而增加了CPU開(kāi)銷。
從RAID-0到RAID-6已經(jīng)定義了各種RAID級(jí)別,每個(gè)都在前述因素中進(jìn)行權(quán)衡。RAID-0只不過(guò)是常規(guī)的分帶(striping),其中將用戶數(shù)據(jù)分成塊(chunk),這些塊被存儲(chǔ)在帶區(qū)組上,該用戶數(shù)據(jù)散布在多個(gè)磁盤上而不存在數(shù)據(jù)冗余。RAID-1等價(jià)于常規(guī)的“影像(shadowing)”或“鏡像(mirror)”技術(shù),并且是最簡(jiǎn)單的獲得數(shù)據(jù)冗余的辦法,其通過(guò)對(duì)于每個(gè)磁盤都具有容納相同數(shù)據(jù)的另一磁盤并且同時(shí)向兩個(gè)磁盤寫數(shù)據(jù)來(lái)獲得數(shù)據(jù)冗余。RAID-0和RAID-1的組合通常被稱作RAID-0+1,是通過(guò)分帶影像組實(shí)現(xiàn)的,從而得到該兩種RAID級(jí)別的相對(duì)的性能優(yōu)點(diǎn)。RAID-2采用了被寫在RAID組的成員上的漢明碼(Hamming Code),其現(xiàn)在被認(rèn)為并不很重要。
在RAID-3中,數(shù)據(jù)被分帶在一組磁盤上,其中添加了用于保存奇偶校驗(yàn)數(shù)據(jù)的單獨(dú)的專用盤。隨著將用戶數(shù)據(jù)寫到其它盤而動(dòng)態(tài)地計(jì)算奇偶校驗(yàn)數(shù)據(jù),以便如果盤失效允許重構(gòu)初始的用戶數(shù)據(jù)而無(wú)需一個(gè)比特一個(gè)比特地復(fù)制數(shù)據(jù)。錯(cuò)誤檢驗(yàn)和糾正碼(“ECC”)諸如異或(“XOR”)或者更復(fù)雜的里得-所羅門(Reed-Solomon)技術(shù)之類可以用來(lái)對(duì)二進(jìn)制數(shù)據(jù)執(zhí)行必要的數(shù)學(xué)計(jì)算以得到RAID-3和更高級(jí)別實(shí)現(xiàn)中的奇偶校驗(yàn)信息。雖然奇偶校驗(yàn)在盤失效的情況下允許重構(gòu)用戶數(shù)據(jù),但是這種重構(gòu)的速度是系統(tǒng)負(fù)載和所使用的特定算法的函數(shù)。
與RAID-3類似,稱作RAID-4的RAID方案由N個(gè)數(shù)據(jù)盤和一個(gè)奇偶校驗(yàn)盤組成,其中奇偶校驗(yàn)盤扇區(qū)包含每個(gè)數(shù)據(jù)盤上相應(yīng)扇區(qū)的逐位XOR。這使得在任一個(gè)盤失效的情況下RAID組中的數(shù)據(jù)內(nèi)容可以保存。RAID-5是RAID-4的變型,其將奇偶校驗(yàn)分帶在陣列中的所有磁盤上,以便使盤上的負(fù)載在統(tǒng)計(jì)上均衡。
RAID-6的名稱用來(lái)通俗地描述下述冗余和復(fù)雜的ECC技術(shù)的RAID方案,其通過(guò)使用兩個(gè)奇偶校驗(yàn)驅(qū)動(dòng)器(通常稱為“P”和“Q”驅(qū)動(dòng)器)可以容忍兩個(gè)磁盤失效而不丟失數(shù)據(jù)。盡管術(shù)語(yǔ)“奇偶校驗(yàn)”用于描述RAID-6技術(shù)中使用的碼,但是這些碼更恰當(dāng)?shù)卣f(shuō)是一種ECC碼而不僅僅是奇偶校驗(yàn)碼。數(shù)據(jù)和ECC信息被分帶在RAID組的所有成員上并且寫性能通常低于RAID-5,這是因?yàn)樵趯懖僮髌陂g三個(gè)單獨(dú)的驅(qū)動(dòng)器必須每個(gè)都被訪問(wèn)兩次。不過(guò),取決于所使用的“奇偶校驗(yàn)”驅(qū)動(dòng)器的數(shù)目,RAID-6的原理可用于恢復(fù)多個(gè)驅(qū)動(dòng)器失效。
某些RAID-6實(shí)現(xiàn)是基于里得-所羅門算法的,該算法依賴于伽羅華域(Galois Field)算術(shù)。對(duì)伽羅華域算術(shù)及RAID-6背后的數(shù)學(xué)的全面解釋可以在各種資源中找到,因而,下面僅提供簡(jiǎn)單概述作為背景。RAID-6實(shí)現(xiàn)中所使用的伽羅華域算術(shù)發(fā)生在GF(2N)中。這是具有GF(2)中的系數(shù)的多項(xiàng)式對(duì)某N階生成多項(xiàng)式取模得到的域。該域中的所有多項(xiàng)式為N-1或者更小階,并且它們的系數(shù)都是0或者1,這意味著它們可以用全部在{0,1}中的N個(gè)系數(shù)的向量表示;即,這些多項(xiàng)式“看”起來(lái)就象N位的二進(jìn)制數(shù)。該域中的多項(xiàng)式加法只是N比特XOR運(yùn)算,其具有該域的每個(gè)元素是其自身的加性逆元(additive inverse)的屬性,所以加法和減法是相同的運(yùn)算。但是,該域中的多項(xiàng)式乘法可以利用基于對(duì)數(shù)的查表技術(shù)或者利用簡(jiǎn)單的組合邏輯來(lái)進(jìn)行。
每個(gè)RAID-6校驗(yàn)碼(即,P和Q)表示RAID-6陣列的數(shù)據(jù)盤上的數(shù)據(jù)與校驗(yàn)盤之一或者兩者上的數(shù)據(jù)之間的不變關(guān)系或者方程式。如果存在C個(gè)校驗(yàn)碼并且一組F盤失效,F(xiàn)≤C,則可以通過(guò)選擇這些方程式中的F個(gè)方程式并且在GF(2N)中同時(shí)對(duì)這些方程式求解F個(gè)丟失的變量而重構(gòu)失效磁盤。在目前所實(shí)現(xiàn)或者構(gòu)思的RAID-6系統(tǒng)中,僅有2個(gè)校驗(yàn)盤,即校驗(yàn)盤P和校驗(yàn)盤Q。值得注意的是,校驗(yàn)盤P和Q對(duì)于陣列上數(shù)據(jù)和奇偶校驗(yàn)的每個(gè)帶區(qū)都發(fā)生變化,從而校驗(yàn)數(shù)據(jù)并不寫入專用盤而是相反分帶在所有的盤上。
即使在不同系統(tǒng)中通過(guò)不同方式以不同成功程度地實(shí)現(xiàn)了RAID-6,仍然存在改進(jìn)提供數(shù)據(jù)存儲(chǔ)的RAID-6保護(hù)的效率和成本的持續(xù)需求。實(shí)現(xiàn)RAID-6的數(shù)學(xué)涉及重復(fù)性的復(fù)雜計(jì)算。據(jù)此,在現(xiàn)今和未來(lái),努力改進(jìn)實(shí)現(xiàn)RAID-6所需的電路的簡(jiǎn)易性、電路的成本、電路的效率仍是優(yōu)先考慮的問(wèn)題。
現(xiàn)有RAID-6設(shè)計(jì)的一個(gè)限制涉及與執(zhí)行再同步(其中使數(shù)據(jù)帶區(qū)的奇偶校驗(yàn)數(shù)據(jù)與當(dāng)前的數(shù)據(jù)再同步)、重建(其中,基于奇偶校驗(yàn)數(shù)據(jù)重新產(chǎn)生失效盤的數(shù)據(jù))或者諸如暴露模式讀之類的其它暴露模式操作相關(guān)聯(lián)的性能開(kāi)銷。對(duì)于其它RAID設(shè)計(jì),例如,RAID-5設(shè)計(jì),再同步奇偶校驗(yàn)或重建數(shù)據(jù)僅需要將奇偶校驗(yàn)帶區(qū)中的所有數(shù)據(jù)一起讀入并且進(jìn)行XOR。假定XOR運(yùn)算是符合結(jié)合性的(associative),并因而不依賴于次序,則一些常規(guī)的RAID-5設(shè)計(jì)已經(jīng)能夠并入“實(shí)時(shí)(on the fly)”XOR運(yùn)算以提高性能以及減少所需的緩沖量。
具體地,并入“實(shí)時(shí)”XOR運(yùn)算的RAID設(shè)計(jì)向RAID陣列中的相關(guān)驅(qū)動(dòng)器發(fā)出讀請(qǐng)求,然后當(dāng)被請(qǐng)求的數(shù)據(jù)由每個(gè)驅(qū)動(dòng)器返回時(shí),將該數(shù)據(jù)直接讀入基于硬件的XOR引擎并且與工作緩沖器的內(nèi)容進(jìn)行XOR運(yùn)算。一旦所有驅(qū)動(dòng)器都返回了所請(qǐng)求的數(shù)據(jù),則工作緩沖器就包含了XOR運(yùn)算的結(jié)果。公知地,給定XOR運(yùn)算的結(jié)合性,每個(gè)驅(qū)動(dòng)器返回其數(shù)據(jù)的精確順序的事實(shí)是無(wú)關(guān)的。結(jié)果是,驅(qū)動(dòng)器能夠并行處理該讀請(qǐng)求,并且對(duì)于該操作僅需要單個(gè)工作緩沖器。
與之形成對(duì)比,對(duì)于RAID-6設(shè)計(jì),關(guān)于再同步和重建所使用的方程式(本文稱之為“奇偶校驗(yàn)帶區(qū)方程式”)并不是簡(jiǎn)單的XOR運(yùn)算。相反,每個(gè)奇偶校驗(yàn)帶區(qū)方程式通常包括多個(gè)對(duì)從每個(gè)驅(qū)動(dòng)讀取的相應(yīng)數(shù)據(jù)進(jìn)行縮放(scale)的比例系數(shù)(scaling coefficient),這要求在與來(lái)自其它驅(qū)動(dòng)器的數(shù)據(jù)進(jìn)行XOR運(yùn)算成為乘法結(jié)果緩沖器的最終總和之前、將從RAID-6設(shè)計(jì)中的驅(qū)動(dòng)器讀取的許多或者所有數(shù)據(jù)值以常數(shù)進(jìn)行縮放或者相乘。
由于該縮放要求,通常只有對(duì)每個(gè)驅(qū)動(dòng)器使用了單獨(dú)的緩沖器,才可以交迭(overlap)對(duì)多個(gè)驅(qū)動(dòng)器的讀請(qǐng)求。或者,如果希望最小化所使用的緩沖器的數(shù)目,則必須串行化讀請(qǐng)求以便確保用適當(dāng)?shù)某?shù)對(duì)每個(gè)進(jìn)入的數(shù)據(jù)值進(jìn)行縮放。
結(jié)果是,依賴于利用比例系數(shù)的奇偶校驗(yàn)帶區(qū)方程式的常規(guī)RAID-6設(shè)計(jì)以及其它磁盤陣列環(huán)境常常受到下述困擾,即,由于缺乏可用的緩沖器和/或減少的并行性(parallelism),因此與再同步、重建以及其它暴露模式的操作相關(guān)的性能降低。

發(fā)明內(nèi)容
本發(fā)明通過(guò)利用基于硬件的有限域乘法器對(duì)來(lái)自磁盤驅(qū)動(dòng)的進(jìn)入數(shù)據(jù)進(jìn)行縮放以及將該經(jīng)縮放的數(shù)據(jù)與工作緩沖器的內(nèi)容進(jìn)行XOR運(yùn)算而解決了與現(xiàn)有技術(shù)相關(guān)聯(lián)的上述以及其它問(wèn)題。結(jié)果是,依賴于并入一個(gè)或多個(gè)比例系數(shù)的奇偶校驗(yàn)帶區(qū)方程式的RAID和其它磁盤陣列設(shè)計(jì)能夠交迭對(duì)多個(gè)驅(qū)動(dòng)器的讀操作并且由此增加并行性、減少所需緩沖器的數(shù)目、提高性能。
本發(fā)明的一個(gè)方面涉及一種在包括多個(gè)磁盤驅(qū)動(dòng)器型的磁盤陣列環(huán)境中用于執(zhí)行暴露模式操作的方法。該方法包括從磁盤驅(qū)動(dòng)器的每個(gè)讀取來(lái)自奇偶校驗(yàn)帶區(qū)的相應(yīng)數(shù)據(jù)值,其中來(lái)自奇偶校驗(yàn)帶區(qū)的數(shù)據(jù)值根據(jù)奇偶校驗(yàn)帶區(qū)方程式彼此相關(guān),在該奇偶校驗(yàn)帶區(qū)方程式中,相應(yīng)數(shù)據(jù)值的至少一部分被按比例系數(shù)進(jìn)行縮放。該方法還包括使用至少一個(gè)基于硬件的有限域乘法器對(duì)相應(yīng)數(shù)據(jù)值的至少一部分進(jìn)行縮放以生成多個(gè)乘積,以及對(duì)該多個(gè)乘積執(zhí)行XOR運(yùn)算。
本發(fā)明的另一方面涉及一種磁盤陣列控制器,該磁盤陣列控制器包括在磁盤控制器的XOR引擎與多個(gè)磁盤驅(qū)動(dòng)器的每個(gè)之間的相應(yīng)數(shù)據(jù)路徑,以及與每個(gè)數(shù)據(jù)路徑通信的相應(yīng)有限域乘法器電路,其中每個(gè)有限域乘法器電路包括用于從相應(yīng)的數(shù)據(jù)路徑接收數(shù)據(jù)值的第一相應(yīng)輸入、用于接收相應(yīng)常數(shù)的第二相應(yīng)輸入、用于向XOR引擎?zhèn)魉拖鄳?yīng)數(shù)據(jù)值與相應(yīng)常數(shù)的乘積的相應(yīng)輸出。
本發(fā)明的另一方面涉及一種電路配置,該電路配置包括被配置成從多個(gè)磁盤驅(qū)動(dòng)器接收數(shù)據(jù)值的多個(gè)數(shù)據(jù)路徑;多個(gè)基于硬件的有限域乘法器電路,其中每個(gè)有限域乘法器電路與該多個(gè)數(shù)據(jù)路徑之一通信,并被配置成在第一輸入從相應(yīng)的數(shù)據(jù)路徑接收數(shù)據(jù)值,以及在第二輸入接收相應(yīng)常數(shù),以及其中每個(gè)有限域乘法器電路被配置成輸出相應(yīng)數(shù)據(jù)值與相應(yīng)常數(shù)的乘積。該電路配置還包括XOR引擎,其耦接到每個(gè)數(shù)據(jù)路徑并且被配置成接收由每個(gè)有限域乘法器電路輸出的乘積。
本發(fā)明的另一方面涉及一種依賴于兩組有限域乘法器電路的磁盤陣列控制器和方法。第一組中的每個(gè)有限域乘法器電路連接到多個(gè)磁盤驅(qū)動(dòng)器中的相應(yīng)一個(gè)并且被配置成從該相應(yīng)磁盤驅(qū)動(dòng)器接收數(shù)據(jù)值、將該數(shù)據(jù)值乘以第一相應(yīng)常數(shù)、將第一相應(yīng)乘積提供給第一XOR引擎。第二組中的每個(gè)有限域乘法器電路同樣也連接到多個(gè)磁盤驅(qū)動(dòng)器中的相應(yīng)一個(gè)并且被配置成從該相應(yīng)磁盤驅(qū)動(dòng)器接收數(shù)據(jù)值、將該數(shù)據(jù)值乘以第二相應(yīng)常數(shù)、將第二相應(yīng)乘積提供給第二XOR引擎。


圖1是根據(jù)本發(fā)明的原理的可以實(shí)現(xiàn)RAID存儲(chǔ)控制器的示例性計(jì)算機(jī)系統(tǒng)的框圖。
圖2是圖示圖1的RAID控制器的主要組件的框圖。
圖3圖示了支持實(shí)時(shí)XOR運(yùn)算的RAID-5奇偶校驗(yàn)生成電路。
圖4圖示了包括多個(gè)用于每個(gè)數(shù)據(jù)磁盤驅(qū)動(dòng)器的緩沖器的RAID-6奇偶校驗(yàn)生成電路。
圖5圖示了根據(jù)本發(fā)明原理的示例性RAID-6奇偶校驗(yàn)生成電路,其對(duì)于每個(gè)數(shù)據(jù)磁盤驅(qū)動(dòng)器具有內(nèi)嵌(in-line)的相應(yīng)的硬件乘法器,從而可以實(shí)時(shí)執(zhí)行XOR運(yùn)算。
圖6圖示了根據(jù)本發(fā)明原理的示例性RAID-6環(huán)境,其中對(duì)于數(shù)據(jù)磁盤驅(qū)動(dòng)器內(nèi)嵌了單獨(dú)的乘法器,從而兩個(gè)奇偶校驗(yàn)計(jì)算可以并發(fā)地發(fā)生。
圖7圖示了用在圖2的RAID-6控制器中的示例性的硬件實(shí)現(xiàn)的有限域乘法器。
具體實(shí)施例方式
下文中討論的實(shí)施例利用一個(gè)或多個(gè)基于硬件的有限域乘法器以對(duì)來(lái)自磁盤陣列的磁盤驅(qū)動(dòng)器的進(jìn)入數(shù)據(jù)進(jìn)行縮放并且將經(jīng)縮放的數(shù)據(jù)與工作緩沖器的內(nèi)容進(jìn)行XOR運(yùn)算。下文中給出了與本發(fā)明一致的實(shí)現(xiàn)有限域乘法的磁盤陣列環(huán)境的多個(gè)實(shí)施例。但是,在討論這樣的實(shí)施例之前,首先提供RAID-6的背景簡(jiǎn)述,隨后是對(duì)可以實(shí)現(xiàn)與本發(fā)明一致的有限域乘法的示例性硬件環(huán)境的描述。
一般RAID-6背景這里用來(lái)描述RAID-6存儲(chǔ)系統(tǒng)的專用術(shù)語(yǔ)符合本領(lǐng)域最易于接受的標(biāo)準(zhǔn)。特別地,存在N個(gè)驅(qū)動(dòng)器,其中任何兩個(gè)將被認(rèn)為是奇偶校驗(yàn)驅(qū)動(dòng)器,P和Q。利用伽羅華域算術(shù),可以寫出兩個(gè)獨(dú)立方程式α0d0+α0d1+α0d2+…+α0dN-1=0 (1)α0d0+α1d1+α2d2+…+αN-1dN-1=0 (2)其中,這里所采用的“+”運(yùn)算符表示異或(Exclusive-OR,XOR)操作。
在這些方程式中,αX是有限域的元素,dX是來(lái)自第X個(gè)磁盤的數(shù)據(jù)。雖然P和Q盤對(duì)于數(shù)據(jù)的任意特定帶區(qū)可以是N個(gè)磁盤的任一個(gè),但是它們通常用dP和dQ表示。當(dāng)更新磁盤之一的數(shù)據(jù)(即,dX)時(shí),上面的兩個(gè)方程式分解為Δ=(舊dX)+(新dX) (3)(新dP)=(舊dP)+((αQ+αX)/(αP+αQ))Δ(4)(新dQ)=(舊dQ)+((αP+αX)/(αP+αQ))Δ(5)在最后兩個(gè)方程式的每個(gè)中,加號(hào)右邊的項(xiàng)是常數(shù)乘以數(shù)據(jù)中的變化(即,Δ)。方程式(4)和(5)的這些項(xiàng)通常分別表示為K1Δ和K2Δ。
在一個(gè)磁盤丟失或不可用的情況下,可以采用簡(jiǎn)單的XOR運(yùn)算來(lái)恢復(fù)該磁盤的數(shù)據(jù)。例如,如果d1失效則可如下恢復(fù)d1d1=d0+d1+d2+… (6)在兩個(gè)磁盤失效或者被“暴露”的情況下,上面的方程式可以用來(lái)恢復(fù)磁盤的數(shù)據(jù)。例如,給定磁盤0到X并且假設(shè)磁盤A和B失效了,則該兩個(gè)磁盤的任一磁盤的數(shù)據(jù)可以從剩余的磁盤中恢復(fù)。例如,如果要恢復(fù)磁盤A,則上面的方程式變?yōu)閐A=((αB+α0)/(αB+αA))d0+((αB+α1)/(αB+αA))d1+…+((αB+α0)/(αB+αA))dX(7)示例性硬件環(huán)境在腦海中有了RAID-6的一般背景知識(shí)之后,可以將注意力轉(zhuǎn)向附圖,其中在幾個(gè)附圖中相同的附圖標(biāo)記表示系統(tǒng)的部件。圖1圖示了可以實(shí)現(xiàn)RAID-6或其它磁盤陣列的示例性計(jì)算機(jī)系統(tǒng)。為了本發(fā)明的目的,裝置10可以實(shí)際上代表任何類型的計(jì)算機(jī)、計(jì)算機(jī)系統(tǒng)或者其它可編程的電子設(shè)備,包括客戶端計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、便攜式計(jì)算機(jī)、手持式計(jì)算機(jī)、嵌入式控制器等。此外,裝置10可以采用例如集群式或分布式計(jì)算系統(tǒng)中的一個(gè)或多個(gè)聯(lián)網(wǎng)的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。下文中將稱裝置10為“計(jì)算機(jī)”,不過(guò)應(yīng)該理解術(shù)語(yǔ)“裝置”也可以包括與本發(fā)明一致的其它適當(dāng)?shù)目删幊屉娮釉O(shè)備。
計(jì)算機(jī)10通常包括至少一個(gè)耦接到存儲(chǔ)器14的處理器12。處理器12可以表示一個(gè)或多個(gè)處理器(例如,微處理器),存儲(chǔ)器14可以表示隨機(jī)存取存儲(chǔ)器(RAM)設(shè)備,包括計(jì)算機(jī)10的主存以及任何輔助級(jí)別的存儲(chǔ)器,例如高速緩存存儲(chǔ)器、非易失或者備用存儲(chǔ)器(例如,可編程或者閃存存儲(chǔ)器)、只讀存儲(chǔ)器等。此外,存儲(chǔ)器14可以視為包括物理上位于計(jì)算機(jī)10中別處的存儲(chǔ)器存儲(chǔ),例如,處理器12中的任何高速緩存存儲(chǔ)器以及用作虛擬存儲(chǔ)器的任何存儲(chǔ)容量,例如存儲(chǔ)在磁盤陣列34上或者經(jīng)由網(wǎng)絡(luò)18存儲(chǔ)在耦接到計(jì)算機(jī)10的另一臺(tái)計(jì)算機(jī)(例如,客戶端計(jì)算機(jī)20)上。
計(jì)算機(jī)10通常還接收多個(gè)輸入和輸出以與外部交換信息。對(duì)于與用戶或者操作員的接口,計(jì)算機(jī)10通常包括一個(gè)或多個(gè)用戶輸入設(shè)備22(例如,其中有鍵盤、鼠標(biāo)、跟蹤球、操縱桿、觸摸板和/或麥克風(fēng))以及顯示器24(例如,其中有CRT顯示器、LCD顯示面板和/或揚(yáng)聲器)。此外,用戶輸入可以經(jīng)由在網(wǎng)絡(luò)上與計(jì)算機(jī)10連接的另一臺(tái)計(jì)算機(jī)(例如,計(jì)算機(jī)20)或者經(jīng)由專用工作站接口等接收。
對(duì)于額外的存儲(chǔ)設(shè)備,計(jì)算機(jī)10還可以包括經(jīng)由存儲(chǔ)控制器或者適配器16存取的一個(gè)或多個(gè)大容量存儲(chǔ)設(shè)備,例如,其中有可移動(dòng)磁盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器、直接存取存儲(chǔ)設(shè)備(DASD)、光盤驅(qū)動(dòng)器(例如,CD驅(qū)動(dòng)器,DVD驅(qū)動(dòng)器,等等)和/或磁帶驅(qū)動(dòng)器。此外,計(jì)算機(jī)10可以包括與一個(gè)或多個(gè)網(wǎng)絡(luò)18(例如,LAN、WAN、無(wú)線網(wǎng)和/或因特網(wǎng))的接口以允許與耦接到網(wǎng)絡(luò)的其它計(jì)算機(jī)交換信息。應(yīng)該理解,如本領(lǐng)域公知的,計(jì)算機(jī)10通常包括處理器12與組件14、16、18、22、24的每個(gè)之間的適當(dāng)?shù)哪M和/或數(shù)字接口。
根據(jù)本發(fā)明的原理,大容量存儲(chǔ)器控制器16有利于實(shí)現(xiàn)磁盤陣列34中的RAID-6存儲(chǔ)保護(hù)。
計(jì)算機(jī)10在操作系統(tǒng)30的控制下運(yùn)行,并且執(zhí)行或者反之依賴于各種計(jì)算機(jī)軟件應(yīng)用程序、組件、程序、對(duì)象、模塊、數(shù)據(jù)結(jié)構(gòu)等等(例如,軟件應(yīng)用程序32)。此外,各種應(yīng)用程序、組件、程序、對(duì)象、模塊等等也可以在例如分布式或者客戶機(jī)/服務(wù)器計(jì)算環(huán)境下在經(jīng)由網(wǎng)絡(luò)18耦接到計(jì)算機(jī)10的另一臺(tái)計(jì)算機(jī)中的一個(gè)或多個(gè)處理器上執(zhí)行,由此為實(shí)現(xiàn)計(jì)算機(jī)程序的功能所需的處理可以被分配到網(wǎng)絡(luò)上的多臺(tái)計(jì)算機(jī)上。
通常,為實(shí)現(xiàn)本發(fā)明實(shí)施例所執(zhí)行的例程(不管被實(shí)現(xiàn)為操作系統(tǒng)的一部分或者特定應(yīng)用程序,組件,程序,對(duì)象,模塊或者指令序列,或者甚至為其子集)本文中都稱之為“計(jì)算機(jī)程序代碼”或者簡(jiǎn)稱“程序代碼”。程序代碼通常包括一個(gè)或多個(gè)指令,其在各個(gè)時(shí)間駐留于計(jì)算機(jī)中的各種存儲(chǔ)器或者存儲(chǔ)設(shè)備中,并且當(dāng)被計(jì)算機(jī)中的一個(gè)或多個(gè)處理器讀取并執(zhí)行時(shí)使得該計(jì)算機(jī)執(zhí)行下述步驟,這些步驟是執(zhí)行具體化本發(fā)明各個(gè)方面的步驟或者元件所必需的。此外,雖然本發(fā)明是在并且將繼續(xù)在完全運(yùn)行計(jì)算機(jī)和計(jì)算機(jī)系統(tǒng)功能的語(yǔ)境下描述的,但是本領(lǐng)域的技術(shù)人員將理解,本發(fā)明的各種實(shí)施例能夠作為各種形式的程序產(chǎn)品而分發(fā),并且不管用于實(shí)際攜帶該分發(fā)的計(jì)算機(jī)可讀信號(hào)承載介質(zhì)的具體類型如何本發(fā)明都同等適用。計(jì)算機(jī)可讀信號(hào)承載介質(zhì)的示例包括但不限于可記錄型介質(zhì)和諸如數(shù)字和模擬通信鏈路的傳輸型介質(zhì),可記錄型介質(zhì)例如其中有易失和非易失存儲(chǔ)設(shè)備、軟盤和其它可移動(dòng)盤、硬盤驅(qū)動(dòng)器、磁帶、光盤(例如,CD-ROM,DVD,等等)。
此外,下文中描述的各種程序代碼可以基于其中在本發(fā)明的特定實(shí)施例中實(shí)現(xiàn)的應(yīng)用程序來(lái)標(biāo)識(shí)。但是,應(yīng)該理解,跟隨的任何特定程序?qū)S眯g(shù)語(yǔ)僅出于便利而使用,因而本發(fā)明不應(yīng)限于僅用于由這樣的專用術(shù)語(yǔ)標(biāo)識(shí)和/或暗示的任何特定應(yīng)用程序中。此外,給定通常無(wú)數(shù)的藉之可以將計(jì)算機(jī)程序組織成例程、過(guò)程、方法、模塊、對(duì)象等等的方式,以及給定藉之將程序功能分配于駐留于特定計(jì)算機(jī)的各種軟件層(例如,操作系統(tǒng),庫(kù),API,應(yīng)用程序,java應(yīng)用小程序(applet),等等)中的各種方式,應(yīng)該理解,本發(fā)明并不限于這里所描述的程序功能的特定組織和分配。
圖2圖示了磁盤陣列系統(tǒng)(例如RAID-6兼容系統(tǒng))的控制子系統(tǒng)的框圖。特別地,更詳細(xì)地示出了圖1的大容量存儲(chǔ)控制器16包括RAID控制器202,該RAID控制器202通過(guò)系統(tǒng)總線208與處理器12耦接并且通過(guò)存儲(chǔ)總線210耦接到各個(gè)磁盤驅(qū)動(dòng)器212-218。如一名普通技術(shù)人員所熟知的,這些總線可以是本質(zhì)上專有的或者遵循諸如SCSI-1、SCSI-2等工業(yè)標(biāo)準(zhǔn)的。RAID控制器包括執(zhí)行下述程序代碼的微處理器204,該程序代碼實(shí)現(xiàn)用于數(shù)據(jù)保護(hù)的RAID-6算法并且通常駐留于位于RAID控制器的存儲(chǔ)器中。特別地,要存儲(chǔ)到磁盤212-218上的數(shù)據(jù)被用來(lái)產(chǎn)生奇偶校驗(yàn)數(shù)據(jù),然后被拆開(kāi)(break apart)并且分帶于磁盤212-218上。磁盤驅(qū)動(dòng)器212-218可以是直接通過(guò)總線210耦接到控制器202的單獨(dú)磁盤驅(qū)動(dòng)器或者可以包括其自身的磁盤驅(qū)動(dòng)適配器,其允許一串單獨(dú)磁盤驅(qū)動(dòng)器連接到存儲(chǔ)總線210。換言之,磁盤驅(qū)動(dòng)器212可以在物理上實(shí)現(xiàn)為耦接到單個(gè)控制器的4或8個(gè)單獨(dú)磁盤驅(qū)動(dòng)器,該單個(gè)控制器連接到總線210。當(dāng)數(shù)據(jù)在任一方向上在磁盤驅(qū)動(dòng)器212-218和RAID控制器202之間交換時(shí),提供緩沖器20以幫助數(shù)據(jù)傳輸。緩沖器206的使用有時(shí)可能在數(shù)據(jù)傳輸上產(chǎn)生瓶頸,并且眾多緩沖器的引入可能增加RAID控制202的成本、復(fù)雜性和尺寸。這樣,本發(fā)明的某些實(shí)施例涉及以經(jīng)濟(jì)有效的方式提供及利用這些緩沖器206。
應(yīng)該理解,圖1和圖2中所示的實(shí)施例本質(zhì)上僅是示例性的。例如,應(yīng)該理解,本發(fā)明可適用于其中奇偶校驗(yàn)帶區(qū)方程式要求來(lái)自一個(gè)或多個(gè)磁盤的數(shù)據(jù)按常數(shù)比例縮放的其它磁盤陣列環(huán)境。還應(yīng)該理解,與本發(fā)明一致的磁盤陣列環(huán)境可以利用駐留于計(jì)算機(jī)的主存儲(chǔ)器中的完全軟件實(shí)現(xiàn)的控制算法,或者計(jì)算機(jī)或控制器中通過(guò)程序代碼操縱的某些功能可以以硬件邏輯電路實(shí)現(xiàn),反之亦然。因而,本發(fā)明不應(yīng)限于這里所討論的具體實(shí)施例。
用于實(shí)時(shí)XOR的基于硬件的有限域乘法器如上所述,在RAID-5系統(tǒng)中,重建數(shù)據(jù)或再同步奇偶校驗(yàn)數(shù)據(jù)要求讀取來(lái)自所有其它驅(qū)動(dòng)器的數(shù)據(jù)并且然后一起對(duì)之進(jìn)行XOR運(yùn)算。圖3中描繪了實(shí)時(shí)XOR引擎的框圖,并且該實(shí)時(shí)XOR引擎易于在RAID控制器上實(shí)現(xiàn)。當(dāng)執(zhí)行再同步時(shí),將數(shù)據(jù)磁盤306-312讀入XOR引擎302并且對(duì)之一起進(jìn)行XOR運(yùn)算以生成被寫入緩沖器304并且然后被寫入奇偶校驗(yàn)驅(qū)動(dòng)器P314中的奇偶校驗(yàn)數(shù)據(jù)。除了將奇偶校驗(yàn)盤和其它的數(shù)據(jù)盤都讀入并且一起進(jìn)行XOR運(yùn)算以生成要寫入重建磁盤中的數(shù)據(jù)之外,數(shù)據(jù)驅(qū)動(dòng)器的重建操作將是類似的。當(dāng)執(zhí)行暴露模式的讀操作時(shí),通過(guò)讀取奇偶校驗(yàn)數(shù)據(jù)和其它磁盤的數(shù)據(jù)并且執(zhí)行XOR運(yùn)算來(lái)生成丟失磁盤的數(shù)據(jù)。因?yàn)閄OR運(yùn)算可以以任何次序來(lái)實(shí)現(xiàn),所以從不同的磁盤306-312讀取數(shù)據(jù)可以被執(zhí)行為交迭的或并發(fā)的I/O操作,并且可以利用單個(gè)XOR引擎302和緩沖器304。如果XOR引擎302既擔(dān)當(dāng)輸入緩沖器也擔(dān)當(dāng)目的緩沖器,則因?yàn)閄OR引擎302僅將進(jìn)入的數(shù)據(jù)值與其內(nèi)部緩沖器的當(dāng)前內(nèi)容進(jìn)行XOR運(yùn)算,所以甚至可以省略單獨(dú)的緩沖器304。
如上所述,在RAID-6中,需要對(duì)從每個(gè)磁盤驅(qū)動(dòng)器讀取的數(shù)據(jù)進(jìn)行乘法或者縮放操作。因此,通常使用類似于圖4的緩沖器和XOR運(yùn)算配置。來(lái)自不同驅(qū)動(dòng)器432-436的數(shù)據(jù)被讀入單獨(dú)的緩沖器426-430中、在通常由RAID控制器的軟件微碼執(zhí)行的乘法步驟420-424中被乘以適當(dāng)?shù)谋壤禂?shù)、被寫入額外的緩沖器406-410中。然后在XOR引擎402中對(duì)緩沖器406-410的內(nèi)容一起進(jìn)行XOR運(yùn)算。然后將奇偶校驗(yàn)數(shù)據(jù)P通過(guò)緩沖器404寫到奇偶校驗(yàn)盤414中。除了將奇偶校驗(yàn)盤P或Q和其它的數(shù)據(jù)盤都讀入、進(jìn)行乘法運(yùn)算并且一起進(jìn)行XOR運(yùn)算以生成要寫入重建磁盤中的數(shù)據(jù)之外,數(shù)據(jù)驅(qū)動(dòng)器的重建操作將是類似的。
對(duì)于N個(gè)磁盤的陣列,通常必須從N-2個(gè)不同的磁盤讀入數(shù)據(jù)以執(zhí)行再同步、重建或暴露模式的讀操作。為了使這些讀I/O操作交迭,需要N-2個(gè)緩沖器。如果可用的緩沖器少于N-2個(gè),則一些讀I/O操作中將不得不等待直到其它讀操作結(jié)束。對(duì)于任何重建、再同步或暴露模式的讀,僅需要N-2個(gè)磁盤,因此在圖4的配置中可以不利用諸如Q磁盤的一個(gè)磁盤。
本發(fā)明的實(shí)施例包括有限域乘法器,該有限域乘法器被作為插入到當(dāng)由RAID控制從磁盤檢索數(shù)據(jù)時(shí)的數(shù)據(jù)路徑中的硬件來(lái)實(shí)現(xiàn)。特別地,圖5圖示了控制器中這樣的配置的示意圖。當(dāng)將數(shù)據(jù)從每個(gè)驅(qū)動(dòng)器526-530讀入控制器中時(shí),乘法器520-524將每個(gè)字節(jié)乘以預(yù)先由RAID控制器的軟件微碼確定的常數(shù)??梢詫⒃摮朔ㄆ鬟壿嬛貜?fù)n次以便處理那么多個(gè)不同的驅(qū)動(dòng)器,或者對(duì)于所有的驅(qū)動(dòng)器可以使用單個(gè)乘法器。然后,與參考圖3描述的類似,可以將每個(gè)乘法器的結(jié)果輸入到實(shí)時(shí)XOR引擎502中。這樣,以諸如圖3中所示的RAID-5實(shí)現(xiàn)中大體相同的方式,不同乘法器520-524的結(jié)果在引擎502中被一起執(zhí)行XOR操作并且通過(guò)緩沖器504寫入奇偶校驗(yàn)驅(qū)動(dòng)器P514中。
結(jié)果,當(dāng)將數(shù)據(jù)從驅(qū)動(dòng)器讀出時(shí),將其乘以常數(shù)而不使用中間緩沖器。然后將該乘積輸入到XOR引擎中而不管它們被讀入的次序如何。據(jù)此,可以以交迭或者并發(fā)的方式執(zhí)行不同磁盤的I/O讀取操作。用于每個(gè)磁盤數(shù)據(jù)的常數(shù)乘法器的特定值是根據(jù)相關(guān)的奇偶校驗(yàn)帶區(qū)方程式(例如上面的方程式(7))來(lái)確定的。這些常數(shù)是由RAID控制器的軟件微碼基于正執(zhí)行的暴露模式的操作的類型預(yù)先確定的。
圖7中描繪了有限域乘法器的一個(gè)示例性基于硬件的實(shí)現(xiàn),其使用互相電耦接的基本邏輯門來(lái)執(zhí)行乘法步驟。該特定乘法器在具有本原多項(xiàng)式x4+x+1的伽羅華域中在4位的字大小上操作。將來(lái)自磁盤的數(shù)據(jù)作為輸入A0-A3702讀入以及將相應(yīng)的常數(shù)作為輸入B0-B3704讀入乘法器。作為結(jié)果得到的乘積輸出為C0-C3708。本領(lǐng)域普通技術(shù)人員應(yīng)認(rèn)識(shí)到,圖7的乘法器本質(zhì)上是示例性的,可以使用不同的本原多項(xiàng)式和字大小而不背離本發(fā)明的范圍。同樣可以利用其它的硬件實(shí)現(xiàn)。例如,在下面的表I中提供了8位乘法器的VHDL實(shí)現(xiàn),其中本原多項(xiàng)式是x8+x4+x3+x2+1。這樣的乘法器可以以各種硬件實(shí)施方式實(shí)現(xiàn)。
表I 8位乘法器

上述內(nèi)嵌的硬件乘法器電路也可以被配置成這樣的方式,即允許兩個(gè)奇偶校驗(yàn)編碼P和Q的并發(fā)再同步,或者允許兩個(gè)暴露的磁盤被重建。圖6圖示了這樣的配置。在該示例性配置中,數(shù)據(jù)被分別從磁盤618的每個(gè)中讀出,經(jīng)過(guò)兩個(gè)不同的硬件乘法器庫(kù)(bank of hardware multiplier)606、608。來(lái)自這些相應(yīng)乘法器的相應(yīng)乘積然后在相應(yīng)的XOR引擎602、604中一起進(jìn)行XOR操作以生成要通過(guò)相應(yīng)的緩沖器614、610寫回到陣列中的其它兩個(gè)磁盤-磁盤P616和磁盤Q612中的數(shù)據(jù)。據(jù)此,可以利用僅兩個(gè)緩沖器以及一組交迭的讀來(lái)再同步兩組奇偶校驗(yàn),或者在重建的情況下,可以以與重建一個(gè)驅(qū)動(dòng)器相同的時(shí)間來(lái)重構(gòu)兩個(gè)暴露的驅(qū)動(dòng)器。
這樣,本發(fā)明的實(shí)施例提供了一種方法和系統(tǒng),其在磁盤驅(qū)動(dòng)器的數(shù)據(jù)路徑中利用基于硬件的有限域乘法器,以便以數(shù)目減少了的緩沖器來(lái)執(zhí)行實(shí)時(shí)XOR計(jì)算。在不背離本發(fā)明的精神和范圍的條件下可以對(duì)所示的實(shí)施例進(jìn)行各種修改。因而本發(fā)明在于所附的權(quán)利要求書(shū)。
權(quán)利要求
1.一種在包括多個(gè)磁盤驅(qū)動(dòng)器類型的磁盤陣列環(huán)境中執(zhí)行暴露模式操作的方法,該方法包括下述步驟從每個(gè)磁盤驅(qū)動(dòng)器讀取來(lái)自奇偶校驗(yàn)帶區(qū)的相應(yīng)數(shù)據(jù)值,其中來(lái)自奇偶校驗(yàn)帶區(qū)的數(shù)據(jù)值根據(jù)奇偶校驗(yàn)帶區(qū)方程式彼此相關(guān),在該奇偶校驗(yàn)帶區(qū)方程式中,相應(yīng)數(shù)據(jù)值的至少一部分被按比例系數(shù)進(jìn)行縮放;使用至少一個(gè)基于硬件的有限域乘法器對(duì)相應(yīng)數(shù)據(jù)值的至少一部分進(jìn)行縮放以生成多個(gè)乘積;以及對(duì)該多個(gè)乘積執(zhí)行XOR運(yùn)算。
2.如權(quán)利要求1所述的方法,其中,所述有限域乘法器本質(zhì)上由多個(gè)電耦接的邏輯門組成。
3.如權(quán)利要求1所述的方法,其中,所述從每個(gè)磁盤驅(qū)動(dòng)器讀取來(lái)自奇偶校驗(yàn)帶區(qū)的相應(yīng)數(shù)據(jù)值的步驟包括發(fā)出多個(gè)交迭的讀請(qǐng)求從而由所述多個(gè)磁盤驅(qū)動(dòng)器并發(fā)地處理該讀請(qǐng)求。
4.如權(quán)利要求1所述的方法,其中,所述暴露模式的操作包括重建操作、再同步操作和暴露模式的讀操作之一。
5.如權(quán)利要求1所述的方法,其中,所述執(zhí)行XOR運(yùn)算的步驟包括執(zhí)行實(shí)時(shí)XOR運(yùn)算。
6.如權(quán)利要求1所述的方法,還包括,與使用所述基于硬件的有限域乘法器對(duì)該相應(yīng)數(shù)據(jù)值的一部分進(jìn)行縮放以生成多個(gè)乘積并發(fā)地使用至少一個(gè)額外的、基于硬件的有限域乘法器,對(duì)相應(yīng)數(shù)據(jù)值的至少一部分進(jìn)行縮放以生成第二多個(gè)乘積,并且對(duì)該第二多個(gè)乘積執(zhí)行XOR運(yùn)算。
7.一種在磁盤陣列環(huán)境中用于從第一和第二奇偶校驗(yàn)方程式計(jì)算相應(yīng)的第一和第二結(jié)果的方法,該方法包括下述步驟從多個(gè)磁盤驅(qū)動(dòng)器的每個(gè)讀取相應(yīng)數(shù)據(jù)值;經(jīng)由第一相關(guān)聯(lián)的硬件實(shí)現(xiàn)的有限域乘法器對(duì)該相應(yīng)數(shù)據(jù)值的每個(gè)執(zhí)行乘法以生成第一多個(gè)乘積;與經(jīng)由第一相關(guān)聯(lián)的硬件實(shí)現(xiàn)的有限域乘法器執(zhí)行乘法并發(fā)地經(jīng)由第二相關(guān)聯(lián)的硬件實(shí)現(xiàn)的有限域乘法器,對(duì)該相應(yīng)數(shù)據(jù)值的每個(gè)執(zhí)行乘法以生成第二多個(gè)乘積;對(duì)該第一多個(gè)乘積執(zhí)行第一XOR運(yùn)算以生成該第一結(jié)果;以及對(duì)該第二多個(gè)乘積執(zhí)行第二XOR運(yùn)算以生成該第二結(jié)果。
8.如權(quán)利要求7所述的方法,還包括下述步驟基于該第一和第二結(jié)果并發(fā)地再同步第一和第二奇偶校驗(yàn)值。
9.一種磁盤陣列控制器,包括在磁盤控制器的XOR引擎與多個(gè)磁盤驅(qū)動(dòng)器的每個(gè)之間的相應(yīng)數(shù)據(jù)路徑;以及與每個(gè)數(shù)據(jù)路徑通信的相應(yīng)有限域乘法器電路,每個(gè)有限域乘法器電路包括用于從相應(yīng)的數(shù)據(jù)路徑接收數(shù)據(jù)值的第一相應(yīng)輸入、用于接收相應(yīng)常數(shù)的第二相應(yīng)輸入和用于向XOR引擎?zhèn)魉驮撓鄳?yīng)數(shù)據(jù)值與該相應(yīng)常數(shù)的乘積的相應(yīng)輸出。
10.如權(quán)利要求9所述的控制器,其中,所述XOR引擎被配置成對(duì)來(lái)自相應(yīng)乘法器電路的乘積執(zhí)行XOR運(yùn)算以生成奇偶校驗(yàn)帶區(qū)方程式的結(jié)果。
11.如權(quán)利要求10所述的控制器,其中,所述XOR引擎被配置成經(jīng)由相應(yīng)的數(shù)據(jù)路徑傳送所述結(jié)果到磁盤驅(qū)動(dòng)器之一。
12.如權(quán)利要求9所述的控制器,其中,所述有限域乘法器電路的每個(gè)是以硬件實(shí)現(xiàn)的。
13.如權(quán)利要求9所述的控制器,其中,所述控制器是RAID-6控制器。
14.一種電路配置,包括多個(gè)數(shù)據(jù)路徑,每個(gè)數(shù)據(jù)路徑被配置成從多個(gè)磁盤驅(qū)動(dòng)器之一接收數(shù)據(jù)值;多個(gè)基于硬件的有限域乘法器電路,每個(gè)有限域乘法器電路與該多個(gè)數(shù)據(jù)路徑之一通信,并被配置成在第一輸入從相應(yīng)的數(shù)據(jù)路徑接收數(shù)據(jù)值,以及在第二輸入接收相應(yīng)常數(shù),并且每個(gè)有限域乘法器電路被配置成輸出該相應(yīng)數(shù)據(jù)值與該相應(yīng)常數(shù)的乘積;以及XOR引擎,其耦接到每個(gè)數(shù)據(jù)路徑并且被配置成接收由每個(gè)有限域乘法器電路輸出的乘積。
15.如權(quán)利要求14所述的電路配置,其中,所述XOR引擎被配置成,在接收到來(lái)自有限域乘法器電路之一的乘積后,對(duì)所接收到的乘積與存儲(chǔ)在緩沖器中的工作值執(zhí)行XOR運(yùn)算并且將其結(jié)果存儲(chǔ)在該緩沖器中。
16.如權(quán)利要求15所述的電路配置,其中,所述XOR引擎被配置成在接收來(lái)自所有有限域乘法器電路的乘積之后輸出奇偶校驗(yàn)帶區(qū)方程式的結(jié)果。
17.一種包括如權(quán)利要求14所述的電路配置的集成電路元件。
18.一種包括如權(quán)利要求14所述的電路配置的RAID控制器。
19.一種程序產(chǎn)品,包括定義如權(quán)利要求14所述的電路配置的硬件定義程序;以及承載該硬件定義程序的計(jì)算機(jī)可讀信號(hào)承載介質(zhì),其中該信號(hào)承載介質(zhì)包括傳輸型介質(zhì)和可記錄型介質(zhì)中的至少一個(gè)。
20.一種控制多個(gè)磁盤驅(qū)動(dòng)器的磁盤陣列控制器,包括第一組有限域乘法器電路,第一組中的每個(gè)有限域乘法器電路連接到相應(yīng)一個(gè)磁盤驅(qū)動(dòng)器,并且被配置成從相應(yīng)磁盤驅(qū)動(dòng)器接收數(shù)據(jù)值、將該數(shù)據(jù)值乘以第一相應(yīng)常數(shù)、以及將第一相應(yīng)乘積提供給第一XOR引擎;和第二組有限域乘法器電路,第二組中的每個(gè)有限域乘法器電路連接到相應(yīng)一個(gè)磁盤驅(qū)動(dòng)器,并且被配置來(lái)從相應(yīng)磁盤驅(qū)動(dòng)器接收數(shù)據(jù)值、將該數(shù)據(jù)值乘以第二相應(yīng)常數(shù)、以及將第二相應(yīng)乘積提供給第二XOR引擎。
21.如權(quán)利要求20所述的控制器,其中第一XOR引擎被配置成基于第一相應(yīng)乘積生成第一奇偶校驗(yàn)帶區(qū)方程式結(jié)果;以及第二XOR引擎被配置成基于第二相應(yīng)乘積生成第二奇偶校驗(yàn)帶區(qū)方程式結(jié)果。
22.如權(quán)利要求20所述的控制器,其中,第一和第二組有限域乘法器電路被配置成并發(fā)地操作。
23.如權(quán)利要求20所述的控制器,其中,每個(gè)有限域乘法器電路本質(zhì)上包括邏輯門。
全文摘要
本發(fā)明提供了一種在包括多個(gè)磁盤驅(qū)動(dòng)器型的磁盤陣列環(huán)境中用于執(zhí)行暴露模式操作的方法、磁盤陣列控制器及電路配置。當(dāng)在RAID或其它磁盤陣列環(huán)境中執(zhí)行再同步、重建以及其它暴露模式的讀操作時(shí),使用基于硬件的有限域乘法器對(duì)來(lái)自磁盤驅(qū)動(dòng)器的進(jìn)入數(shù)據(jù)執(zhí)行縮放以及對(duì)該經(jīng)縮放的數(shù)據(jù)與工作緩沖器的內(nèi)容進(jìn)行XOR運(yùn)算。結(jié)果是,依賴于并入一個(gè)或多個(gè)比例系數(shù)的奇偶校驗(yàn)帶區(qū)方程式的RAID設(shè)計(jì)能夠交迭對(duì)多個(gè)驅(qū)動(dòng)器的讀操作,從而增加并行性、減少所需緩沖器的數(shù)目并且提高性能。
文檔編號(hào)G06F3/06GK1776598SQ20051012672
公開(kāi)日2006年5月24日 申請(qǐng)日期2005年11月21日 優(yōu)先權(quán)日2004年11月19日
發(fā)明者卡爾·E·福漢, 羅伯特·E·蓋爾布雷斯, 阿德里安·C·格哈德 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
杨浦区| 东海县| 中阳县| 汝阳县| 游戏| 武安市| 乌拉特中旗| 横山县| 万宁市| 清流县| 乌兰县| 泽库县| 兴隆县| 云霄县| 宝鸡市| 武川县| 杂多县| 于都县| 济阳县| 濮阳市| 丰顺县| 长岭县| 喀什市| 台江县| 蒙阴县| 吕梁市| 博罗县| 综艺| 新郑市| 曲阳县| 扎赉特旗| 阿拉尔市| 安多县| 紫云| 湖北省| 石嘴山市| 三台县| 铁岭县| 曲松县| 介休市| 乐至县|