允許各種規(guī)模存儲裝置的動態(tài)可擴展和可收縮的容錯存儲系統(tǒng)和方法
【專利說明】允許各種規(guī)模存儲裝置的動態(tài)可擴展和可收縮的容錯存儲 系統(tǒng)和方法
[0001] 本申請是分案申請,原案申請的國際申請日為2005年11月4日,國際申請 號為PCT/US2005/040291,進入中國國家階段日期為2007年7月4日,國家申請?zhí)枮?200580045895. X。
技術(shù)領(lǐng)域
[0002] 本發(fā)明涉及數(shù)字數(shù)據(jù)存儲系統(tǒng)和方法,更具體地涉及那些提供容錯存儲的系統(tǒng)和 方法。
【背景技術(shù)】
[0003] 已知現(xiàn)有技術(shù)依照根據(jù)各種RAID (獨立磁盤冗余陣列)協(xié)議的任何一種的模式來 提供冗余磁盤存儲器。使用RAID模式的典型磁盤陣列是需要由經(jīng)驗豐富的信息技術(shù)人員 來管理的復(fù)雜結(jié)構(gòu)。而且在許多使用RAID模式的陣列設(shè)計中,如果所述陣列中的各磁盤驅(qū) 動器是非均勻容量的,那么該設(shè)計可能不能夠使用超過該陣列中最小驅(qū)動器容量的驅(qū)動器 上的任何容量。
[0004] 使用標準RAID系統(tǒng)的一個問題是盤面損壞可能發(fā)生在磁盤陣列中不經(jīng)常使用的 區(qū)域。在另一個驅(qū)動器故障的情況下,并不總是能確定發(fā)生了損壞。在這種情況下,當所述 RAID陣列重構(gòu)所述故障驅(qū)動器時,損壞的數(shù)據(jù)可能被傳播和保存。
[0005] 在許多存儲系統(tǒng)中,按就緒狀態(tài)(ready state)維持備用存儲設(shè)備,使得其可以在 另一個存儲設(shè)備故障時被使用。這種備用存儲設(shè)備通常被稱作"熱后備"。所述熱后備在存 儲設(shè)備常規(guī)操作期間并不用于存儲數(shù)據(jù)。當運行的存儲設(shè)備故障時,該故障存儲設(shè)備由該 熱后備邏輯上替換,而且要移動數(shù)據(jù)或者通過其他方式在所述熱后備上再產(chǎn)生數(shù)據(jù)。當修 復(fù)或者更換所述故障存儲設(shè)備時,典型地要移動數(shù)據(jù)或者通過其他方式在(重新)運行的 存儲設(shè)備上重新產(chǎn)生這些數(shù)據(jù),而且使所述熱后備脫機,以準備好在另一個故障事件中使 用。熱后備的維護通常是復(fù)雜的,并因此通常由經(jīng)驗豐富的管理者進行操縱。熱后備磁盤 同樣代表著附加費用。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的第一實施例提供了一種方法,用于在包括至少一個存儲裝置的存儲裝置 組中存儲數(shù)據(jù)。所述方法包括根據(jù)多種冗余模式自動確定一種混合冗余模式,用于在該存 儲裝置組中存儲數(shù)據(jù),以提供容錯功能,并在該存儲裝置組正好包括多個存儲容量不同的 裝置時提供改善存儲效率;以及利用混合冗余模式在該存儲裝置組中存儲數(shù)據(jù)。
[0007] 在相關(guān)實施例中,所述方法還包括,自動再配置利用第一種冗余模式先前存儲在 第一種布置的各存儲裝置中的數(shù)據(jù),以利用下述之一進行存儲:( a)相同布置的各存儲裝 置上的第二種冗余模式,(b)不同布置的各存儲裝置上的第二種冗余模式,以及(C)不同布 置的各存儲裝置上的相同冗余模式,用于在無數(shù)據(jù)損失情況下適應(yīng)空間的擴展和收縮中的 至少一個,所述擴展是通過向該組中添加其它存儲裝置實現(xiàn)的,而所述收縮是通過從該組 中移除存儲裝置實現(xiàn)的。
[0008] 在本發(fā)明的第二實施例中提供了一種方法,用于按允許存儲裝置組動態(tài)擴展和收 縮的方式,在包括至少一個存儲裝置的存儲裝置組中存儲數(shù)據(jù)。該方法包括利用第一種冗 余模式在存儲裝置組中存儲數(shù)據(jù),根據(jù)存儲裝置組的構(gòu)成的變化,利用下述之一自動再配 置該存儲裝置組上的數(shù)據(jù):(a)相同布置的存儲裝置上的第二種冗余模式,(b)不同布置的 存儲裝置的第二種冗余模式,以及(c)不同布置的存儲裝置上的相同冗余模式。
[0009] 在本發(fā)明的第三實施例中,提供了一種用于存儲數(shù)據(jù)的系統(tǒng),包括具有至少一個 存儲裝置的存儲裝置組,以及利用混合冗余模式在該存儲裝置組中存儲數(shù)據(jù)的存儲管理 器。存儲管理器自動從多個冗余模式中確定所述混合冗余模式,用于在該存儲裝置組中存 儲數(shù)據(jù),以提供容錯功能,并在該存儲裝置組正好包括多個存儲容量不同的裝置時提供改 善的存儲效率。
[0010] 在相關(guān)實施例中,存儲管理器自動再配置利用第一種冗余模式先前存儲在第一種 布置的存儲裝置中的數(shù)據(jù),以利用下述之一進行存儲:(a)相同布置的存儲裝置上的第二 種冗余模式,(b)不同布置的存儲裝置上的第二種冗余模式,以及(c)不同布置的存儲裝置 上的相同冗余模式,用于無數(shù)據(jù)損失地適應(yīng)空間的擴展和收縮中的至少一個,所述擴展是 通過向組中添加其它存儲裝置實現(xiàn)的,而所述收縮是通過從組中移除存儲裝置實現(xiàn)的。 [0011] 在本發(fā)明第四實施例中,提供了一種用于存儲數(shù)據(jù)的系統(tǒng),包括至少具有一個存 儲裝置的存儲裝置組,以及在該存儲裝置組中存儲數(shù)據(jù)的存儲管理器。所述存儲管理器利 用第一冗余模式在該存儲裝置組中存儲數(shù)據(jù),根據(jù)存儲裝置組的構(gòu)成的變化,利用下述之 一自動再配置該存儲裝置組上的數(shù)據(jù):(a)相同布置的存儲裝置上的第二種冗余模式,(b) 不同布置的存儲裝置的第二種冗余模式,以及(c)不同布置的存儲裝置上的相同冗余模 式。
[0012] 在相關(guān)實施例中,可以從包括下述的組中選擇所述冗余模式,即,鏡像、具有奇偶 校驗的條帶化、RAID6、雙奇偶校驗、對角線奇偶校驗、低密度奇偶校驗檢測碼以及turbo 碼。
[0013] 在相關(guān)實施例中,通過下述方式可以再配置數(shù)據(jù),即,把跨兩個存儲裝置的鏡像模 式轉(zhuǎn)換為單個存儲裝置上的鏡像模式;把跨第一對存儲裝置的鏡像模式轉(zhuǎn)換為跨第二對存 儲裝置的鏡像模式;把跨三個存儲裝置的條帶化模式轉(zhuǎn)換為跨兩個存儲裝置的鏡像模式; 把跨第一組多個存儲裝置的第一條帶化模式轉(zhuǎn)換為跨第二組多個存儲裝置的第二條帶化 模式;把跨一個存儲裝置的鏡像模式轉(zhuǎn)換為跨兩個存儲裝置的鏡像模式;把一個存儲裝置 上的鏡像模式轉(zhuǎn)換為另一個存儲裝置上的鏡像模式;把跨兩個存儲裝置的鏡像模式轉(zhuǎn)換為 跨三個存儲裝置的條帶化模式;把跨第一組多個存儲裝置的第一條帶化模式轉(zhuǎn)換為跨包括 添加到所述組的存儲裝置的第二組多個存儲裝置的第二條帶化模式。
[0014] 在另一個相關(guān)實施例中,可以把對象分析為塊(chunk),每個塊都具有特定的內(nèi) 容,并且在存儲系統(tǒng)中只存儲具有唯一性內(nèi)容的塊。所述塊能夠根據(jù)預(yù)定散列函數(shù)被標識 為具有唯一性內(nèi)容。在該實施例中,只存儲標識為唯一的塊可以涉及為每個塊計算散列號, 并在存儲系統(tǒng)中存儲與所存儲的塊的散列號相聯(lián)系的對象的唯一標識符及其位置信息。存 儲用于對象的唯一標識符涉及使用對象表,該對象表列出用于該對象的唯一標識符以及用 于所存儲塊的散列號。存儲位置信息可涉及在塊表中存儲用于每個存于其中的塊列表,包 括塊在存儲系統(tǒng)中的物理位置的表示。存儲在存儲系統(tǒng)中的對象可以被轉(zhuǎn)換為單個存儲裝 置以及文件系統(tǒng)和對象存儲系統(tǒng)中的至少一個的表示。可以管理存儲系統(tǒng)中塊的物理存儲 分配,從而提供容錯存儲,甚至在存儲系統(tǒng)可能包括各種容量的存儲裝置時。一旦從存儲系 統(tǒng)中取出特定的塊,就根據(jù)所存儲的塊的散列號檢驗所取出塊的內(nèi)容。例如,通過計算取出 塊的散列號;以及對計算出的散列號與為所述塊相應(yīng)存儲的散列號進行比較。
[0015] 在本發(fā)明的又一實施例中,提供了一種在存儲裝置組中存儲數(shù)據(jù)的方法,包括利 用至少一種冗余模式在存儲裝置組中存儲數(shù)據(jù),檢測存儲裝置從所述組中的移除,利用剩 下的存儲裝置再配置被移除的存儲裝置中的數(shù)據(jù)部分,檢測被移除的存儲裝置是否重新插 入所述組中,釋放對應(yīng)于所述部分的重新插入的存儲裝置中的區(qū)域,以及刷新所述重新插 入的存儲裝置的所有剩余部分,該部分可能在移除和重新插入時被更改。
[0016] 在本發(fā)明的又一實施例中,提供了一種在存儲系統(tǒng)中釋放未使用的存儲塊的方 法,該方法包括標識空閑塊,為所述空閑塊確定邏輯扇區(qū)地址,根據(jù)所述邏輯扇區(qū)地址為所 述空閑塊標識聚簇存取存取表項,與所述聚簇存取表項相關(guān)的引用計數(shù)遞減,以及如果被 遞減的引用計數(shù)為〇的話就釋放該塊。
[0017] 在相關(guān)實施例中,標識所述空閑塊包括標識與主機文件系統(tǒng)關(guān)聯(lián)的空閑塊位圖, 以及分析所述空閑塊位圖以標識不再被文件系統(tǒng)使用的聚簇。標識與主機文件系統(tǒng)關(guān)聯(lián)的 空閑塊位圖包括維持分區(qū)表,分析該分區(qū)表以定位操作系統(tǒng)分區(qū),分析操作系統(tǒng)分區(qū)以定 位超塊;以及根據(jù)超塊標識主機文件系統(tǒng)??梢灾谱骺臻e塊位圖的工作副本,其中所述空閑 塊位圖的工作副本被分析以標識文件系統(tǒng)不再使用的聚簇。
【附圖說明】
[0018] 通過參考下列附圖參照下列詳細說明,本發(fā)明上述特征將變得更加容易理解,其 中:
[0019] 圖1示出本發(fā)明的實施例,其中將對象分析為一系列存儲塊。
[0020] 圖2是說明在相同實施例中塊的容錯存儲模式如何根據(jù)附加更多存儲器而動態(tài) 改變。
[0021] 圖3說明本發(fā)明另一實施例,在使用不同大小存儲設(shè)備構(gòu)造的存儲系統(tǒng)上按不同 容錯模式的塊的存儲。
[0022] 圖4說明本發(fā)明的另一個實施例,其中指示器狀態(tài)用于警告無效存儲使用和低等 級容錯。