專利名稱:選擇用于數(shù)據(jù)存儲庫的重復刪除協(xié)議的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及選擇用于數(shù)據(jù)存儲庫的重復刪除(deduplication)協(xié)議的裝置和方法。
背景技術(shù):
計算系統(tǒng)生成信息。使用多個數(shù)據(jù)存儲介質(zhì)來存儲這種信息在本領(lǐng)域內(nèi)是已知的。在獨立磁盤冗余陣列(“RAID”)配置中,信息被存儲在數(shù)據(jù)存儲介質(zhì)的陣列中,以提供容錯和改進的數(shù)據(jù)訪問性能。RAID通過使用專用硬件或者軟件將物理存儲介質(zhì)組合到單個邏輯單元中。在RAID3、4、5和6陣列配置中,稱為“數(shù)據(jù)條帶化(datastriping) ”的過程與奇偶校驗數(shù)據(jù)(也即,編碼的冗余信息)結(jié)合使用。在RAID6中,使用行條帶和對角線條帶二者,并且一組奇偶校驗與每個行條帶相關(guān)聯(lián),而另一組奇偶校驗與每個對角線條帶相關(guān)聯(lián),以用于雙冗余。在RAID6中,行奇偶校驗可以集中在單個行奇偶校驗存儲介質(zhì)中,而對角線奇偶校驗可以集中在不同的單個對角線奇偶校驗存儲介質(zhì)中,或者行和對角線奇偶校驗可以跨陣列中的所有數(shù)據(jù)存儲介質(zhì)而分布。每個RAID條帶包括預定數(shù)目的順序邏輯塊陣列。通過對數(shù)據(jù)進行條帶化以及跨陣列中的所有驅(qū)動器來分布奇偶校驗,優(yōu)化的性能通過最小化對單個驅(qū)動器的恒定訪問得以實現(xiàn)。如果RAID6配置中的驅(qū)動器發(fā)生故障失效,則可以使用其余驅(qū)動器上的奇偶校驗數(shù)據(jù)來重建寫入故障驅(qū)動器的數(shù)據(jù)。如果陣列配置有在線備用驅(qū)動器,則當檢測到故障驅(qū)動器時,RAID重建自動開始。如果陣列未配置有備用驅(qū)動器,則RAID重建在故障驅(qū)動器被替換后開始。為了重建丟失的數(shù)據(jù),從陣列中的其余驅(qū)動器讀取每個丟失的條帶。使用由RAID控制器異或(“X0R”)引擎執(zhí)行的XOR操作來恢復丟失的條帶。在XOR引擎恢復丟失的條帶之后,向替換驅(qū)動器或者在線備用驅(qū)動器寫入該恢復的條帶。對于RAID3、4和5而言,重建過程涉及從陣列中可操作驅(qū)動器的N-I次讀取,以及向替換驅(qū)動器或在線備用驅(qū)動器的單次寫入。當條帶完全恢復時,重建過程繼續(xù)恢復下一丟失的條帶。對于RAID級別6下的雙故障,使用行條帶和對角線條帶二者來構(gòu)造驅(qū)動器數(shù)據(jù),該數(shù)據(jù)正被重建到兩個備用驅(qū)動器中。在重建過程期間,陣列保持對于用戶是可訪問的。RAID控制器必須分配系統(tǒng)資源以處理主機I/O請求以及處理RAID重建二者。
發(fā)明內(nèi)容
本發(fā)明包括一種選擇用于數(shù)據(jù)存儲庫的重復刪除協(xié)議的方法,該數(shù)據(jù)存儲庫包括配置為RAID陣列的多個數(shù)據(jù)存儲設(shè)備。該方法建立常規(guī)重復刪除協(xié)議、RAID故障重復刪除協(xié)議、以及多存儲設(shè)備故障重復刪除協(xié)議。該方法接收包括多個交織數(shù)據(jù)塊的主機數(shù)據(jù)。如果系統(tǒng)在沒有任何存儲設(shè)備故障的情況下運行,則該方法使用常規(guī)重復刪除協(xié)議來處理主機數(shù)據(jù)。如果系統(tǒng)在具有一個存儲設(shè)備故障的情況下運行,則該方法使用RAID故障重復刪除協(xié)議來處理主機數(shù)據(jù)。如果系統(tǒng)在具有多個存儲設(shè)備故障的情況下運行,則該方法使用多存儲設(shè)備故障重復刪除協(xié)議來處理主機數(shù)據(jù)。
在某些實施方式中,該方法動態(tài)地設(shè)置重復刪除協(xié)議。在這些實施方式中,重復刪除協(xié)議是故障數(shù)據(jù)存儲設(shè)備的數(shù)目、實際RAID重建速率、最小RAID重建閾值以及最大RAID 重建閾值的函數(shù)。
現(xiàn)在,將僅僅通過示例的方式參考附圖來描述本發(fā)明的實施方式,其中
圖I是示出按照本發(fā)明一個實施方式的數(shù)據(jù)存儲系統(tǒng)的一個實施方式的框圖。
圖2A是示出使用光纖信道仲裁回路與多個數(shù)據(jù)存儲介質(zhì)通信的一個RAID控制器的框圖。
圖2B是示出使用雙光纖信道仲裁回路與多個數(shù)據(jù)存儲介質(zhì)通信的兩個RAID控制器的框圖。
圖3是概括出按照本發(fā)明第一實施方式的方法中的某些步驟的流程圖。
圖4是概括出按照本發(fā)明第二實施方式的方法中的某些步驟的流程圖。
圖5是概括出第二實施方式的某些附加步驟的流程圖。
具體實施方式
在下文描述中,將參考附圖通過優(yōu)選實施方式來描述本發(fā)明,附圖中的相似數(shù)字表示相同或相似的元素。在整個說明書中,提及“一個實施方式”、“實施方式”或類似的語言表示結(jié)合該實施方式描述的特定特征、結(jié)構(gòu)或者特性包括在本發(fā)明的至少一個實施方式中。由此,在本發(fā)明中出現(xiàn)的短語“在一個實施方式中”、“在實施方式中”以及類似語言可以但并非一定都表不相同的實施方式。
所描述的本發(fā)明的特征、結(jié)構(gòu)或者特性可以通過任何適當?shù)姆绞浇Y(jié)合在一個或多個實施方式中。在下文描述中,記載了多個特定的細節(jié),以便提供對本發(fā)明實施方式的透徹理解。然而,相關(guān)領(lǐng)域的技術(shù)人員將會認識到,可以在無需一個或多個特定細節(jié)的情況下實踐本發(fā)明,或者可以利用其他方法、組件、材料等來實踐本發(fā)明。在其他情況下,沒有示出或詳細描述公知的結(jié)構(gòu)、材料或者操作,
以便混淆本發(fā)明的方面。
在圖I示出的實施方式中,數(shù)據(jù)處理系統(tǒng)100包括RAID控制器120以及數(shù)據(jù)存儲介質(zhì)130、140、150和160。在圖I示出的實施方式中,RAID控制器120分別經(jīng)由I/O協(xié)議 132、142、152 和 162 來與數(shù)據(jù)存儲介質(zhì) 130、140、150 和 160 通信。I/O 協(xié)議 132、142、152 和162可以包括任何類型的I/O協(xié)議,包括但不限于光纖信道回路、SCSI (小型計算機系統(tǒng)接口)、iSCSI (因特網(wǎng)SCSI)、SAS (串行附接SCSI)、光纖信道、光纖信道上的SCSI、以太網(wǎng)、以太網(wǎng)上的光纖信道、無限頻帶以及SATA (串行ATA)。
“數(shù)據(jù)存儲介質(zhì)”表示信息存儲介質(zhì),其結(jié)合有向該信息存儲介質(zhì)寫入信息以及從其讀取信息所需的硬件、固件和/或軟件。在某些實施方式中,信息存儲介質(zhì)包括磁性信息5存儲介質(zhì),諸如但不限于磁盤、磁帶等。在某些實施方式中,信息存儲介質(zhì)包括光學信息存儲介質(zhì),諸如但不限于CD、DVD (數(shù)字通用盤)、HD-DVD (高清DVD)、BD (藍光盤)等。在某些實施方式中,信息存儲介質(zhì)包括電子信息存儲介質(zhì),諸如PROM、EPROM、EEPROM、閃速PROM、壓縮閃存、智能介質(zhì)等。在某些實施方式中,信息存儲介質(zhì)包括全息信息存儲介質(zhì)。在圖I示出的實施方式中,RAID控制器120與主機計算機102、104和106通信。一般而言,主機計算機102、104和106每個都包括計算系統(tǒng),諸如大型機、個人計算機、工作站及其組合,其包括操作系統(tǒng),諸如WindowS、AIX、Unix、MVS、LINUX等(Windows是微軟公司的注冊商標;AIX是IBM公司的注冊商標,MVS是IBM公司的商標;UNIX是美國和其他國家中的注冊商標,通過OpenGroup獨占許可;并且LINUX是Linux Torvald的注冊商標)。在某些實施方式中,一個或多個主機計算機102、104和/或106還包括存儲管理程序。在某些實施方式中,該存儲管理程序可以包括本領(lǐng)域中已知的存儲管理類程序的功能,其管理去往和來自數(shù)據(jù)存儲和檢索系統(tǒng)(例如但不限于在IBM MVS操作系統(tǒng)中實現(xiàn)的IBM DFSMS)的數(shù)據(jù)傳送。在圖I示出的實施方式中,本發(fā)明的RAID控制器120包括處理器128、XOR引擎129、計算機可讀介質(zhì)121、寫入到計算機可讀介質(zhì)121的微碼122,以及寫入到計算機可讀介質(zhì)121的指令124。處理器128使用微碼122來操作RAID控制器120。在圖I示出的實施方式中,RAID控制器120還包括重建位圖126,其中重建位圖包括N個指示符,并且其中每個指示符與不同的數(shù)據(jù)條帶相關(guān)聯(lián)。如果第i個指示符被設(shè)為第一值,則相關(guān)聯(lián)的數(shù)據(jù)條帶尚未重建,并且其中如果第i個指示符被設(shè)為第二值,則相關(guān)聯(lián)的數(shù)據(jù)條帶已經(jīng)重建,其中i小于或等于1,并且大于或等于N。除了處理與接收自一個或多個主機計算機的數(shù)據(jù)相關(guān)的輸出/輸出(“I/O”)操作(例如但不限于,數(shù)據(jù)重復刪除)之外,處理器128還執(zhí)行某些后臺操作,例如但不限于檢查和驗證奇偶校驗,RAID重建,以及其他“內(nèi)務(wù)(housekeeping)”雜務(wù)。在某些實施方式中,處理器必須分配系統(tǒng)資源,例如但不限于,在數(shù)據(jù)重復刪除與RAID重建之間分配處理器資源。在圖I示出的實施方式中,主機計算機102、104和106分別使用I/O協(xié)議103、105和107連接至架構(gòu)110。I/O協(xié)議103、105和107可以是任意類型的I/O協(xié)議;例如,光纖信道(“FC”)回路,與架構(gòu)110的直接附接,或者由主機計算機102、104和106用來傳送去往以及來自架構(gòu)110的信息的一個或多個信號線。在某些實施方式中,架構(gòu)110例如包括一個或多個FC交換機115。在某些實施方式中,這一個或多個交換機115包括一個或多個傳統(tǒng)路由器交換機。在圖I示出的實施方式中,一個或多個交換機115經(jīng)由I/O協(xié)議117將主機計算機102、104和106與RAID控制器120互聯(lián)。I/O協(xié)議117可以包括任意類型的I/O接口,例如,光纖信道、無限頻帶、千兆以太網(wǎng)、以太網(wǎng)、TCP/IP、iSCSI、SCSI I/O接口或者由FC交換機115用來傳送去往和來自RAID控制器以及隨后的數(shù)據(jù)存儲介質(zhì)30、140、150和160的信息的一個或多個信號線。在其他實施方式中,一個或多個主機計算機(例如但不限于,主機計算機102、104和106)分別使用I/O協(xié)議103、105和107與RAID控制器120直接通信。在圖2A示出的實施方式中,本發(fā)明的RAID控制器120使用交換機的光纖信道仲裁(“FC-AL”)回路與數(shù)據(jù)存儲介質(zhì)130、140、150和160通信,其中控制器120以及介質(zhì)130、140、150和160不是在信息存儲和檢索系統(tǒng)200中。本領(lǐng)域的技術(shù)人員將會理解,信息存儲和檢索系統(tǒng)200還包括附加元件,例如但不限于一個或多個主機適配器、一個或多個設(shè)備適配器、數(shù)據(jù)高速緩存、非易失性存儲等。圖2A示出的實施方式不應(yīng)被認為將本發(fā)明限制于使用光纖信道網(wǎng)絡(luò)或者設(shè)備。在其他實施方式中,使用其他網(wǎng)絡(luò)拓撲和設(shè)備,包括但不限于SAS設(shè)備和/或SATA設(shè)備。
在圖2B示出的實施方式中,本發(fā)明的信息存儲和檢索系統(tǒng)202包括交換機的雙 FC-AL回路,其中RAID控制器120A和RAID控制器120B與兩個FC-AL回路互聯(lián)。每個FC-AL 回路包含一個或多個本地控制器,諸如本地控制器210、220、230、240、250和260。本領(lǐng)域的技術(shù)人員將會理解,信息存儲和檢索系統(tǒng)200還包括附加元件,例如但不限于一個或多個主機適配器、一個或多個設(shè)備適配器、數(shù)據(jù)高速緩存、非易失性存儲等。在圖2B示出的實施方式中,每個RAID控制器與第一多個數(shù)據(jù)存儲介質(zhì)270、第二多個數(shù)據(jù)存儲介質(zhì)280和第三多個數(shù)據(jù)存儲介質(zhì)290通信。
圖2B示出的實施方式不應(yīng)認為將本發(fā)明限于使用光纖信道網(wǎng)絡(luò)或設(shè)備。在圖2B 示出的實施方式中,兩個FC-AL回路的記載包括本發(fā)明裝置的一個實施方式。在其他實施方式中,使用其他網(wǎng)絡(luò)拓撲和設(shè)備,包括但不限于SAS設(shè)備和/或SATA設(shè)備。
本領(lǐng)域的技術(shù)人員將會理解,數(shù)據(jù)重復刪除包括消除冗余數(shù)據(jù)的過程。在重復刪除過程中,刪除重復數(shù)據(jù),保留待存儲數(shù)據(jù)的僅一個拷貝。在某些實施方式中,仍然保持所有數(shù)據(jù)的索引,如果該數(shù)據(jù)曾經(jīng)需要的話。因為只存儲了唯一的數(shù)據(jù),所以重復刪除能夠提高RAID陣列的存儲容量。
一般地,數(shù)據(jù)的重復刪除可以在文件級別或者數(shù)據(jù)塊級別操作。文件級別重復刪除消除了重復文件,但這并不是非常有效的重復刪除手段。塊重復刪除在文件內(nèi)進行,并且保存每個塊或比特的唯一迭代。使用諸如MD5或者SHA-I的散列算法對每個數(shù)據(jù)區(qū)塊進行處理。該過程生成針對每個片的唯一編號,該編號繼而被存儲在索引中。
如果文件被更新,則僅保存改變的數(shù)據(jù)。也即,如果只改變了文檔或者表示的幾個字節(jié),則只保存改變的塊或字節(jié),改變不會構(gòu)造全新的文件。因此,塊重復刪除比文件重復刪除節(jié)省更多的存儲空間。然而,塊重復刪除需要較多的處理器資源。
在RAID重建期間,本發(fā)明的RAID控制器在RAID重建與數(shù)據(jù)重復刪除之間分配處理資源。圖3概括出了本發(fā)明的用于在同時執(zhí)行RAID重建時選擇數(shù)據(jù)重復刪除協(xié)議的方法?,F(xiàn)在參考圖3,在步驟310中,該方法提供包括RAID控制器和RAID陣列的數(shù)據(jù)存儲系統(tǒng)。
在步驟315中,該方法建立常規(guī)重復刪除協(xié)議。在某些實施方式中,步驟315的常規(guī)重復刪除協(xié)議對接收自一個或多個主機計算機的信息中安置的約90%到100%的重復數(shù)據(jù)塊進行重復刪除。在某些實施方式中,步驟315的常規(guī)重復刪除協(xié)議對接收自一個或多個主機計算機的信息中安置的100%的重復數(shù)據(jù)塊進行重復刪除。
在某些實施方式中,步驟310的數(shù)據(jù)存儲系統(tǒng)的制造商執(zhí)行步驟315。在某些實施方式中,步驟310的數(shù)據(jù)存儲系統(tǒng)的所有者和/或操作者執(zhí)行步驟315。在某些實施方式中,與步驟310的數(shù)據(jù)存儲系統(tǒng)互聯(lián)的主機計算機執(zhí)行步驟315。
在步驟320,該方法建立RAID故障重復刪除協(xié)議?!癛AID故障”表示RAID陣列中配置的一個數(shù)據(jù)存儲設(shè)備的故障。在某些實施方式中,步驟320的RAID故障重復刪除協(xié)議7對接收自一個或多個主機計算機的信息中安置的約40%到60%的重復數(shù)據(jù)塊進行重復刪除。在某些實施方式中,步驟320的RAID故障重復刪除協(xié)議對接收自一個或多個主機計算機的信息中安置的約50%的重復數(shù)據(jù)塊進行重復刪除。在某些實施方式中,步驟310的數(shù)據(jù)存儲系統(tǒng)的制造商執(zhí)行步驟320。在某些實施方式中,步驟310的數(shù)據(jù)存儲系統(tǒng)的所有者和/或操作者執(zhí)行步驟320。在某些實施方式中,與步驟310的數(shù)據(jù)存儲系統(tǒng)互聯(lián)的主機計算機執(zhí)行步驟320。在步驟325,該方法建立多存儲設(shè)備故障重復刪除協(xié)議。在某些實施方式中,步驟320的RAID多存儲設(shè)備故障重復刪除協(xié)議對接收自一個或多個主機計算機的信息中安置的約15%到35%的重復數(shù)據(jù)塊進行重復刪除。在某些實施方式中,步驟325的多個存儲設(shè)備故障重復刪除協(xié)議對接收自一個或多個主機計算機的信息中安置的約25%的重復數(shù)據(jù)塊進行重復刪除。在某些實施方式中,步驟310的數(shù)據(jù)存儲系統(tǒng)的制造商執(zhí)行步驟325。在某些實施方式中,步驟310的數(shù)據(jù)存儲系統(tǒng)的所有者和/或操作者執(zhí)行步驟325。在某些實施方式中,與步驟310的數(shù)據(jù)存儲系統(tǒng)互聯(lián)的主機計算機執(zhí)行步驟325。在步驟330中,該方法提供包括多個交織數(shù)據(jù)塊的主機數(shù)據(jù)。在某些實施方式中,步驟330的數(shù)據(jù)由RAID控制器接收。在某些實施方式中,步驟330由主機計算機執(zhí)行。在步驟335中,該方法確定步驟310的數(shù)據(jù)存儲系統(tǒng)是否在具有RAID故障的情況下運行,也即,是否已經(jīng)檢測到數(shù)據(jù)存儲設(shè)備故障。在某些實施方式中,步驟335由RAID控制器執(zhí)行。在某些實施方式中,步驟335由主機計算機執(zhí)行。如果該方法在步驟335中確定步驟310的數(shù)據(jù)存儲系統(tǒng)不是在具有RAID故障的情況下運行,則該方法從步驟335轉(zhuǎn)到步驟345,其中該方法使用步驟315的常規(guī)重復刪除協(xié)議來處理步驟330的主機數(shù)據(jù)。在某些實施方式中,步驟345由RAID控制器執(zhí)行。在某些實施方式中,步驟345由主機計算機執(zhí)行。在步驟355中,該方法確定是否接收到附加主機數(shù)據(jù)。在某些實施方式中,步驟355由RAID控制器執(zhí)行。在某些實施方式中,步驟355由主機計算機執(zhí)行。如果該方法在步驟355中確定沒有接收到附加主機數(shù)據(jù),則該方法從步驟355轉(zhuǎn)到步驟370,并且結(jié)束。備選地,如果該方法在步驟355中確定已經(jīng)接收到附加主機數(shù)據(jù),則該方法從步驟355轉(zhuǎn)到步驟335,并且如在此描述地繼續(xù)。如果該方法在步驟335中確定步驟310的數(shù)據(jù)存儲系統(tǒng)在具有RAID故障的情況下運行,則該方法從步驟335轉(zhuǎn)到步驟340,其中該方法確定步驟310的數(shù)據(jù)存儲系統(tǒng)是否在具有多個數(shù)據(jù)存儲設(shè)備故障的情況下運行。在某些實施方式中,步驟340由RAID控制器執(zhí)行。在某些實施方式中,步驟340由主機計算機執(zhí)行。如果該方法在步驟340中確定步驟310的數(shù)據(jù)存儲系統(tǒng)未在具有多個數(shù)據(jù)存儲設(shè)備故障的情況下運行,則該方法從步驟340轉(zhuǎn)到步驟350,其中該方法使用步驟320的RAID故障重復刪除協(xié)議來處理步驟330的主機數(shù)據(jù)。在某些實施方式中,步驟350由RAID控制器執(zhí)行。在某些實施方式中,步驟350由主機計算機執(zhí)行。該方法從步驟350轉(zhuǎn)到步驟355,并且如在此描述的那樣繼續(xù)進行。如果該方法在步驟340中確定步驟310的數(shù)據(jù)存儲系統(tǒng)在具有多個數(shù)據(jù)存儲設(shè)備故障的情況下運行,則該方法從步驟340轉(zhuǎn)到步驟360,其中該方法使用步驟325的多設(shè)備故障重復刪除協(xié)議來處理步驟330的主機數(shù)據(jù)。在某些實施方式中,步驟360由RAID控制器執(zhí)行。在某些實施方式中,步驟360由主機計算機執(zhí)行。該方法從步驟360轉(zhuǎn)到步驟 355,并且如在此描述的那樣繼續(xù)進行。
在某些實施方式中,圖4概括出了本發(fā)明人的用于動態(tài)設(shè)置重復刪除協(xié)議的方法步驟?,F(xiàn)在轉(zhuǎn)到圖4,在步驟410中,該方法提供包括RAID控制器和RAID陣列的數(shù)據(jù)存儲系統(tǒng)。
在步驟420中,該方法提供包括多個交織數(shù)據(jù)塊的主機數(shù)據(jù)。在某些實施方式中, 步驟420的數(shù)據(jù)有RAID控制器接收。在某些實施方式中,步驟420由主機計算機執(zhí)行。
在步驟430中,該方法確定RAID陣列中配置的故障數(shù)據(jù)存儲設(shè)備的數(shù)目M。在某些實施方式中,步驟430由RAID控制器執(zhí)行。在某些實施方式中,步驟430由主機計算機執(zhí)行。
在步驟440中,該方法建立偏移因子O的值。在某些實施方式中,O大于或等于O 并且小于或等于2。在某些實施方式中,O大于或等于O并且小于或等于3。在某些實施方式中,O大于或等于O并且小于或等于4。在某些實施方式中,步驟440由RAID控制器執(zhí)行。在某些實施方式中,步驟440由主機計算機執(zhí)行。
在步驟450中,該方法使用公式⑴來計算N的值。
N = M+1+M0(i)
在某些實施方式中,步驟450由RAID控制器執(zhí)行。在某些實施方式中,步驟450 由主機計算機執(zhí)行。
在步驟460中,該方法對步驟420中的主機數(shù)據(jù)中標識的每第N個重復數(shù)據(jù)塊進行重復刪除。在某些實施方式中,步驟460由RAID控制器執(zhí)行。在某些實施方式中,步驟 460由主機計算機執(zhí)行。
為了向本領(lǐng)域技術(shù)人員說明如何實現(xiàn)和使用圖4的方法,給出下面的示例。然而, 這些示例并非意在限制本發(fā)明的范圍。
示例 I
如果步驟410的數(shù)據(jù)存儲系統(tǒng)在沒有任何數(shù)據(jù)存儲設(shè)備故障的情況下運行,則使用公式(i)計算出N為I。在此示例中,該方法對步驟420的主機數(shù)據(jù)中標識的每個重復數(shù)據(jù)塊進行重復刪除。
示例II
如果步驟410的數(shù)據(jù)存儲系統(tǒng)在具有I個數(shù)據(jù)存儲設(shè)備故障的情況下運行,并且O 設(shè)為0,則使用公式(i)計算出N為2。在此示例中,該方法對步驟420的主機數(shù)據(jù)中標識的50%的重復數(shù)據(jù)塊進行重復刪除。
示例III
如果步驟410的數(shù)據(jù)存儲系統(tǒng)在具有I個數(shù)據(jù)存儲設(shè)備故障的情況下運行,并且O 被設(shè)為1,則使用公式(i)計算出N為3。在此示例中,該方法對步驟420的主機數(shù)據(jù)中標識的33. 3%的重復數(shù)據(jù)塊進行重復刪除。
在某些實施方式中,圖4中記載的步驟440包括圖5中記載的步驟?,F(xiàn)在參考圖 5,在步驟510中,該方法建立最小RAID重建閾值。例如但非限制,在某些實施方式中,該方法在步驟510中設(shè)置約為每小時100GB的最小RAID重建速率。在某些實施方式中,步驟410的數(shù)據(jù)存儲系統(tǒng)的制造商執(zhí)行步驟510。在某些實施方式中,步驟410的數(shù)據(jù)存儲系統(tǒng)的所有者和/或操作者執(zhí)行步驟510。在某些實施方式中,與步驟410的數(shù)據(jù)存儲系統(tǒng)互聯(lián)的主機計算機執(zhí)行步驟510。
在步驟520中,該方法建立最大RAID重建閾值。例如但非限制,在某些實施方式中,該方法在步驟520中設(shè)置約為每小時200GB的最大RAID重建速率。在某些實施方式中,步驟410的數(shù)據(jù)存儲系統(tǒng)的制造商執(zhí)行步驟520。在某些實施方式中,步驟410的數(shù)據(jù)存儲系統(tǒng)的所有者和/或操作者執(zhí)行步驟520。在某些實施方式中,與步驟410的數(shù)據(jù)存儲系統(tǒng)互聯(lián)的主機計算機執(zhí)行步驟520。
在步驟530中,該方法確定實際RAID重建速率。在某些實施方式中,步驟530由 RAID控制器執(zhí)行。在某些實施方式中,步驟530由主機計算機執(zhí)行。
在步驟540中,該方法確定步驟530的實際RAID速率是否小于步驟510的最小 RAID重建速率閾值。在某些實施方式中,步驟540由RAID控制器執(zhí)行。在某些實施方式中,步驟540由主機計算機執(zhí)行。
如果該方法在步驟540中確定步驟530的實際RAID重建速率小于步驟510的最小RAID重建速率閾值,則該方法從步驟540轉(zhuǎn)到步驟550,其中該方法將偏移因子O設(shè)為 2。在某些實施方式中,步驟550由RAID控制器執(zhí)行。在某些實施方式中,步驟550由主機計算機執(zhí)行。該方法從步驟550轉(zhuǎn)到步驟450,并如在此描述的那樣繼續(xù)進行。
如果該方法在步驟540中確定步驟530的實際RAID重建速率未小于步驟510的最小RAID重建速率閾值,則該方法從步驟540轉(zhuǎn)到步驟560,其中該方法確定步驟530的實際RAID重建速率是否小于步驟520的最大RAID重建速率閾值。在某些實施方式中,步驟 560由RAID控制器執(zhí)行。在某些實施方式中,步驟560由主機計算機執(zhí)行。
如果該方法在步驟560中確定步驟530的實際RAID重建速率小于步驟520的最大RAID重建速率閾值,則該方法從步驟560轉(zhuǎn)到步驟570,其中該方法將偏移因子O設(shè)為I。在某些實施方式中,步驟570由RAID控制器執(zhí)行。在某些實施方式中,步驟570由主機計算機執(zhí)行。該方法從步驟570轉(zhuǎn)到步驟450,并如在此描述的那樣繼續(xù)進行。
備選地,如果該方法在步驟560中確定步驟530的實際RAID重建速率未小于步驟 520的最大RAID重建速率閾值,則該方法從步驟560轉(zhuǎn)到步驟580,其中該方法將偏移因子 O設(shè)為O。該方法從步驟580轉(zhuǎn)到步驟450,并如在此描述地繼續(xù)。
在某些實施方式中,圖3、圖4和圖5中記載的各步驟可以合并、消除或者重新排序。
在某些實施方式中,本發(fā)明包括諸如指令124(圖I)的指令,其駐留在例如計算機可讀介質(zhì)121(圖I)的計算機可讀介質(zhì)中,其中這些指令由諸如處理器128(圖I)的處理器執(zhí)行,以執(zhí)行圖3中記載的一個或多個步驟315、320、325、330、335、340、345、350、355、360 和/或370,圖4中記載的一個或多個步驟420、430、440、450和/或460,和/或圖5中記載的一個或多個步驟 510、520、530、540、550、560、570 和 / 或 580。
在其他實施方式中,本發(fā)明包括駐留在任何其他計算機程序產(chǎn)品中的指令,其中這些指令由數(shù)據(jù)存儲系統(tǒng)100 (圖I)或200 (圖2A)或202(圖2B)外部或內(nèi)部的計算機執(zhí)行,以執(zhí)行圖3中記載的一個或多個步驟315、320、325、330、335、340、345、350、355、360和/ 或370,圖4中記載的一個或多個步驟420、430、440、450和/或460,和/或圖5中記載的一個或多個步驟510、520、530、540、550、560、570和/或580。在任一情況下,指令可以編碼在計算機可讀介質(zhì)中,包括但不限于磁性信息存儲介質(zhì)、光學信息存儲介質(zhì)、電子信息存儲介質(zhì)等?!半娮哟鎯橘|(zhì)”表示例如但不限于一個或多個設(shè)備,諸如但不限于PROM、EPROM、EEPROM、閃速PROM、壓縮閃存、智能介質(zhì)等。盡管已經(jīng)詳細說明了本發(fā)明的優(yōu)選實施方式,對于本領(lǐng)域技術(shù)人員應(yīng)當易見的是,在不脫離所附權(quán)利要求書中記載的本發(fā)明范圍的情況下,可以對這些實施方式進行修改和調(diào)整。
權(quán)利要求
1.一種用于建立在數(shù)據(jù)存儲庫中使用的數(shù)據(jù)重復刪除協(xié)議的方法,所述數(shù)據(jù)存儲庫包括配置為RAID陣列的多個數(shù)據(jù)存儲設(shè)備,所述方法包括步驟 接收交織信息的多個塊; 確定故障數(shù)據(jù)存儲設(shè)備的數(shù)目M ; 建立偏移因子O的值; 計算N的值,其中N = M+1+MO ; 對每第N個數(shù)據(jù)塊進行重復刪除。
2.如權(quán)利要求I所述的方法,還包括步驟當M等于O時,設(shè)置O等于O。
3.如權(quán)利要求I所述的方法,還包括步驟當M等于I時,設(shè)置O等于I。
4.如權(quán)利要求I所述的方法,還包括步驟當M等于2時,設(shè)置O等于2。
5.如權(quán)利要求I所述的方法,還包括步驟 建立最小RAID重建速率閾值; 建立最大RAID重建閾值; 確定實際RAID重建速率; 確定所述實際RAID重建速率是否小于所述最小RAID重建速率閾值; 當所述實際RAID重建速率小于所述最小RAID重建速率閾值時,設(shè)置O等于2。
6.如權(quán)利要求5所述的方法,還包括步驟 當所述實際RAID重建速率未小于所述最小RAID重建速率閾值時,確定所述實際RAID重建速率是否小于所述最大RAID重建速率; 當所述實際RAID重建速率未小于所述最小RAID重建速率閾值時并且小于所述最大RAID重建速率時,設(shè)置O等于I。
7.如權(quán)利要求6所述的方法,還包括步驟如果所述實際RAID重建速率未小于所述最大RAID重建速率,則設(shè)置O等于O。
8.一種用于建立在數(shù)據(jù)存儲庫中使用的數(shù)據(jù)重復刪除協(xié)議的系統(tǒng),所述數(shù)據(jù)存儲庫包括配置為RAID陣列的多個數(shù)據(jù)存儲設(shè)備,所述系統(tǒng)包括 用于接收交織信息的多個塊的裝置; 用于確定故障數(shù)據(jù)存儲設(shè)備的數(shù)目M的裝置; 用于建立偏移因子O的值的裝置; 用于計算N的值的裝置,其中N = M+1+MO ; 用于對每第N個數(shù)據(jù)塊進行重復刪除的裝置。
9.如權(quán)利要求8所述的系統(tǒng),還包括用于當M等于O時,設(shè)置O等于O的裝置。
10.如權(quán)利要求8所述的系統(tǒng),還包括用于當M等于I時,設(shè)置O等于I的裝置。
11.如權(quán)利要求8所述的系統(tǒng),還包括用于當M等于2時,設(shè)置O等于2的裝置。
12.如權(quán)利要求8所述的系統(tǒng),還包括 用于建立最小RAID重建速率閾值的裝置; 用于建立最大RAID重建閾值的裝置; 用于確定實際RAID重建速率的裝置; 用于確定所述實際RAID重建速率是否小于所述最小RAID重建速率閾值的裝置; 用于當所述實際RAID重建速率小于所述最小RAID重建速率閾值時,設(shè)置O等于2的>J-U ρ α裝直。
13.如權(quán)利要求12所述的系統(tǒng),還包括 用于當所述實際RAID重建速率未小于所述最小RAID重建速率閾值時,確定所述實際RAID重建速率是否小于所述最大RAID重建速率的裝置; 用于當所述實際RAID重建速率未小于所述最小RAID重建速率閾值時并且小于所述最大RAID重建速率時,設(shè)置O等于I的裝置。
14.如權(quán)利要求13所述的系統(tǒng),還包括用于如果所述實際RAID重建速率未小于所述最大RAID重建速率,則設(shè)置O等于O的裝置。
全文摘要
一種選擇用于數(shù)據(jù)存儲庫的重復刪除協(xié)議的方法,該數(shù)據(jù)存儲庫包括配置為RAID陣列的多個數(shù)據(jù)存儲設(shè)備,該方法建立常規(guī)重復刪除協(xié)議、RAID故障重復刪除協(xié)議、以及多存儲設(shè)備故障重復刪除協(xié)議。該方法接收包括多個交織數(shù)據(jù)塊的主機數(shù)據(jù)。如果系統(tǒng)在沒有任何存儲設(shè)備故障的情況下運行,則該方法使用常規(guī)重復刪除協(xié)議來處理主機數(shù)據(jù)。如果系統(tǒng)在具有一個存儲設(shè)備故障的情況下運行,則該方法使用RAID故障重復刪除協(xié)議來處理主機數(shù)據(jù)。如果系統(tǒng)在具有多個存儲設(shè)備故障的情況下運行,則該方法使用多存儲設(shè)備故障重復刪除協(xié)議來處理主機數(shù)據(jù)。
文檔編號G06F11/10GK102981922SQ20121043608
公開日2013年3月20日 申請日期2009年2月18日 優(yōu)先權(quán)日2008年3月11日
發(fā)明者N·豪斯泰恩, D·J·維納爾斯基, U·特羅普恩斯, C·A·克萊恩, A·K·貝特斯 申請人:國際商業(yè)機器公司