專利名稱:匯集分區(qū)布局和表示的制作方法
匯集分區(qū)布局和表不背景技術(shù)
在運(yùn)算的領(lǐng)域內(nèi),許多場(chǎng)景涉及可以通過(guò)各種方式分配的一個(gè)或更多個(gè)存儲(chǔ)裝置 (例如,基于盤片的磁和/或光學(xué)硬盤驅(qū)動(dòng)、固態(tài)存儲(chǔ)裝置、以及非易失性存儲(chǔ)器電路)的集合。作為第一實(shí)例,可以把存儲(chǔ)裝置提供的存儲(chǔ)空間分組到一個(gè)或更多個(gè)分區(qū)中,每個(gè)分區(qū)可以存儲(chǔ)與操作環(huán)境中反映的一個(gè)或更多個(gè)邏輯驅(qū)動(dòng)相關(guān)聯(lián)的數(shù)據(jù)。作為第二實(shí)例, 可以通過(guò)許多方式組合兩個(gè)或更多個(gè)存儲(chǔ)裝置的容量以提供額外存儲(chǔ)特征,例如,提供諸如吞吐量改進(jìn)、自動(dòng)鏡像、以及自動(dòng)奇偶運(yùn)算的特征的各種廉價(jià)磁盤冗余陣列(RAID)機(jī)制。作為第三實(shí)例,存儲(chǔ)空間可以對(duì)于一個(gè)或更多個(gè)計(jì)算機(jī)是可訪問(wèn)的(例如,網(wǎng)絡(luò)上的數(shù)個(gè)計(jì)算機(jī)同時(shí)可訪問(wèn)的網(wǎng)絡(luò)附接存儲(chǔ)裝置)。這種裝置還可以提供較多復(fù)雜技術(shù),如,日志 (journaled)空間和精簡(jiǎn)指配(thin provisioning)。
這種場(chǎng)景中涉及的設(shè)計(jì)選項(xiàng)得到表明存儲(chǔ)集合的存儲(chǔ)裝置提供的數(shù)量、類型、容量、分配、以及特征的元數(shù)據(jù),以及一個(gè)或更多個(gè)存儲(chǔ)裝置的匯集(pooling)布置??梢酝ㄟ^(guò)許多方式(如,在存儲(chǔ)控制器(例如,被配置成存儲(chǔ)有關(guān)應(yīng)用于存儲(chǔ)裝置的RAID機(jī)制的信息的RAID控制器)的存儲(chǔ)器中、或者在存儲(chǔ)集合的一個(gè)或更多個(gè)存儲(chǔ)盤上的標(biāo)準(zhǔn)化地點(diǎn)中) 存儲(chǔ)此元數(shù)據(jù)。例如,存儲(chǔ)裝置可以在存儲(chǔ)空間的開始處包括列出存儲(chǔ)裝置上存儲(chǔ)的分區(qū)的數(shù)量、地點(diǎn)、大小、以及類型的主引導(dǎo)記錄(MBR),以及,在存儲(chǔ)空間的結(jié)束處包括表明分區(qū)顯露的邏輯驅(qū)動(dòng)的邏輯盤模式(LDM)數(shù)據(jù)庫(kù)。 發(fā)明內(nèi)容
提供此發(fā)明內(nèi)容以介紹下面在具體實(shí)施方式
中進(jìn)一步描述的簡(jiǎn)化形式的概念的選擇。此發(fā)明內(nèi)容并非意在識(shí)別要求保護(hù)主題的關(guān)鍵因素或必要特征,它也并非意在用來(lái)限制要求保護(hù)主題的范圍。
維持描述存儲(chǔ)集合的元數(shù)據(jù)的方式可以呈現(xiàn)各種優(yōu)點(diǎn)和/或缺點(diǎn)。作為第一實(shí)例,存儲(chǔ)控制器的存儲(chǔ)器中存儲(chǔ)的元數(shù)據(jù)可以迅速可訪問(wèn),但是會(huì)使存儲(chǔ)裝置向不同存儲(chǔ)控制器或計(jì)算機(jī)的移植復(fù)雜化(例如,如果向不同機(jī)器或陣列重新定位存儲(chǔ)裝置,則存儲(chǔ)裝置上的數(shù)據(jù)會(huì)在未把分區(qū)信息存儲(chǔ)在相同存儲(chǔ)裝置上的情況下不可訪問(wèn))。作為第二實(shí)例, 在后續(xù)故障的僅一個(gè)存儲(chǔ)裝置上存儲(chǔ)陣列的元數(shù)據(jù)會(huì)導(dǎo)致存儲(chǔ)集合的存儲(chǔ)裝置中數(shù)個(gè)或所有存儲(chǔ)裝置上數(shù)據(jù)的丟失。作為第三實(shí)例,同時(shí)與各自可以更新元數(shù)據(jù)的兩個(gè)或更多個(gè)計(jì)算機(jī)共享存儲(chǔ)裝置會(huì)導(dǎo)致元數(shù)據(jù)的鏡像版本之中的競(jìng)爭(zhēng)情況和/或版本沖突。作為第四實(shí)例,以新方式把元數(shù)據(jù)存儲(chǔ)在存儲(chǔ)裝置上會(huì)減少存儲(chǔ)裝置與其它存儲(chǔ)裝置和/或計(jì)算機(jī)的兼容性和/或可訪問(wèn)性(例如,元數(shù)據(jù)可能無(wú)法通過(guò)未相應(yīng)配置的裝置可讀取和/或可使用),以及會(huì)導(dǎo)致元數(shù)據(jù)的重寫和數(shù)據(jù)和/或功能性的損失。作為第五實(shí)例,一些表示可能無(wú)法準(zhǔn)許存儲(chǔ)裝置參與存儲(chǔ)裝置的不同集合上分布的多個(gè)存儲(chǔ)池(例如,與存儲(chǔ)裝置的第一集合共享的第一匯集分區(qū)和與存儲(chǔ)裝置的第二、不同集合共享的第二匯集分區(qū))、或者參與不同角色中的相同存儲(chǔ)池(例如,特征在于包括用戶數(shù)據(jù)的第一分區(qū)、以及在相同存儲(chǔ)裝置上針對(duì)用戶數(shù)據(jù)的奇偶數(shù)據(jù)分配的第二分區(qū)的匯集分區(qū)的單個(gè)存儲(chǔ)裝置)。
本文中呈現(xiàn)的是用于存儲(chǔ)元數(shù)據(jù)的技術(shù),所述元數(shù)據(jù)標(biāo)識(shí)存儲(chǔ)集合中的存儲(chǔ)裝置和存儲(chǔ)空間、以及存儲(chǔ)裝置的指配和匯集布置。按照這些技術(shù),一個(gè)或更多個(gè)存儲(chǔ)裝置可以共享包括池配置和擴(kuò)展集合的匯集分區(qū)。池配置可以把匯集分區(qū)表示成池記錄(用于識(shí)別池);表示匯集分區(qū)所表現(xiàn)的各種空間的一組空間記錄(例如,用戶數(shù)據(jù)的卷、維護(hù)空間、 以及存儲(chǔ)用戶數(shù)據(jù)的日志的日志空間);表示參與池的存儲(chǔ)裝置的一組存儲(chǔ)裝置記錄;以及向匯集分區(qū)的空間內(nèi)的邏輯地點(diǎn)映射存儲(chǔ)裝置上匯集分區(qū)內(nèi)分配的物理地點(diǎn)的一組擴(kuò)展記錄??梢酝ㄟ^(guò)鏡像方式把池配置存儲(chǔ)在每個(gè)存儲(chǔ)裝置的匯集分區(qū)的頂部以提供對(duì)任何存儲(chǔ)裝置上匯集分區(qū)的一致元數(shù)據(jù)表示的訪問(wèn)??梢酝ㄟ^(guò)生成表示空間的空間記錄(可以包括空間的指配容量)完成用以表現(xiàn)匯集分區(qū)內(nèi)空間的請(qǐng)求。也可以向該空間分配和綁定擴(kuò)展以向該空間分配物理容量。可以在創(chuàng)建空間后立即執(zhí)行此綁定、或者可以延遲直至該空間的容量被利用。另外,在訪問(wèn)匯集分區(qū)的計(jì)算機(jī)之中,可以識(shí)別排他地準(zhǔn)許更新池配置的池配置所有者,可以向池配置所有者轉(zhuǎn)發(fā)用以變換池配置(例如,添加空間或向空間分配擴(kuò)展)的任何請(qǐng)求。
匯集分區(qū)的此表示可以實(shí)現(xiàn)優(yōu)于匯集分區(qū)其它表示的數(shù)個(gè)優(yōu)點(diǎn)。作為第一實(shí)例, 由于在共享匯集分區(qū)的每個(gè)存儲(chǔ)裝置上對(duì)池配置進(jìn)行鏡像,所以在重新定位存儲(chǔ)裝置(例如,向不同機(jī)器或不同存儲(chǔ)陣列)的情況下、或者在共享匯集分區(qū)的另一存儲(chǔ)裝置崩潰或變得不可用的情況下,存儲(chǔ)裝置的匯集分區(qū)內(nèi)的數(shù)據(jù)會(huì)仍然可訪問(wèn)。作為第二實(shí)例,此表示把空間的指配與擴(kuò)展的分配區(qū)分,可以通過(guò)延遲方式(如,基于準(zhǔn)時(shí)制)執(zhí)行此內(nèi)容。此區(qū)分可以實(shí)現(xiàn)存儲(chǔ)集合各種類型的靈活性,如,重新分配擴(kuò)展以調(diào)節(jié)空間大小的輕松方式、不涉及存儲(chǔ)裝置上容量分配的快速指配技術(shù)、以及精簡(jiǎn)指配的能力(例如,在具有如下這種選項(xiàng)的情況下,指配容量超過(guò)存儲(chǔ)裝置可用物理容量的空間隨著空間容量耗盡通過(guò)以額外存儲(chǔ)裝置的形式添加物理存儲(chǔ)容量來(lái)完成指配容量)。作為第三實(shí)例,以此方式表示的匯集分區(qū)可以跨越相同存儲(chǔ)裝置上的兩個(gè)或更多個(gè)分區(qū)。作為第四實(shí)例,第一匯集分區(qū)可以與非匯集分區(qū)(其可以在未辨識(shí)匯集分區(qū)的存儲(chǔ)系統(tǒng)上可訪問(wèn))共存。作為第五實(shí)例,存儲(chǔ)裝置可以存儲(chǔ)分別與其它存儲(chǔ)裝置的不同集合共享的兩個(gè)或更多個(gè)匯集分區(qū)。作為第六實(shí)例,可以訪問(wèn)存儲(chǔ)裝置的計(jì)算機(jī)或裝置之中池配置所有者的選擇可以減少競(jìng)爭(zhēng)情況,該競(jìng)爭(zhēng)情況會(huì)導(dǎo)致如若不然會(huì)在兩個(gè)或更多個(gè)裝置同時(shí)更新池配置的情況下出現(xiàn)的池配置異步。這些和其它優(yōu)點(diǎn)可以通過(guò)根據(jù)本文中呈現(xiàn)的技術(shù)對(duì)匯集分區(qū)的表示可取得。
為了以上和相關(guān)結(jié)論的實(shí)現(xiàn),以下描述和附圖敘述某些示例性方面和實(shí)施。這些表明可以采用一個(gè)或更多個(gè)方面的各種方式中的僅一些方式。本公開的其它方面、優(yōu)點(diǎn)、以及新穎特征將會(huì)在結(jié)合附圖考慮時(shí)根據(jù)以下具體實(shí)施方式
而變得明顯。
圖I是特征在于將存儲(chǔ)裝置的容量分配到一組分區(qū)、以及存儲(chǔ)裝置上分區(qū)配置的表示的示范性場(chǎng)景的示例。
圖2是特征在于將存儲(chǔ)集合的容量按照廉價(jià)磁盤冗余陣列(RAID)5級(jí)存儲(chǔ)機(jī)制分配到跨越數(shù)個(gè)存儲(chǔ)裝置的卷中的示范性場(chǎng)景的示例。
圖3是特征在于將兩個(gè)存儲(chǔ)裝置的容量分配到跨越存儲(chǔ)裝置的動(dòng)態(tài)分區(qū)、以及存儲(chǔ)裝置上動(dòng)態(tài)卷的表示的示范性場(chǎng)景的示例。
圖4是按照本文中呈現(xiàn)的技術(shù),特征在于匯集分區(qū)(包括共享匯集分區(qū)的存儲(chǔ)裝置上分配的一組擴(kuò)展所綁定的一組空間)的分配、以及存儲(chǔ)裝置上匯集分區(qū)的表示的示范性場(chǎng)景的示例。
圖5是按照本文中呈現(xiàn)的技術(shù),特征在于包括兩個(gè)池(各自與不同其它存儲(chǔ)裝置共享)的存儲(chǔ)裝置、以及存儲(chǔ)裝置上匯集分區(qū)的表示的示范性場(chǎng)景的示例。
圖6是示例了按照本文中呈現(xiàn)的技術(shù)分派包括至少兩個(gè)存儲(chǔ)裝置的存儲(chǔ)集合的示范性方法的流程圖示例。
圖7是包括被配置成實(shí)施本文中敘述的指配中一個(gè)或更多個(gè)指配的處理器可執(zhí)行指令的示范性計(jì)算機(jī)可讀介質(zhì)的示例。
圖8是用于指配存儲(chǔ)裝置的匯集分區(qū)內(nèi)的空間和向空間分配擴(kuò)展的第一示范性技術(shù)的示例。
圖9是用于指配存儲(chǔ)裝置的匯集分區(qū)內(nèi)的空間和向空間分配擴(kuò)展的第二示范性技術(shù)的示例。
圖10是用于指配存儲(chǔ)裝置的匯集分區(qū)內(nèi)的空間和向空間分配擴(kuò)展的第三示范性技術(shù)的示例。
圖11示例了可以實(shí)施本文中敘述的指配中一個(gè)或更多個(gè)指配的示范性運(yùn)算環(huán) 境。
具體實(shí)施方式
現(xiàn)在參照?qǐng)D描述要求保護(hù)的主題,其中,通篇使用相似附圖標(biāo)記指代相似元件。在以下描述中,為了解釋的目的,敘述眾多具體細(xì)節(jié)以提供要求保護(hù)主題的透徹理解。然而可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐要求保護(hù)的主題可以是顯然的。在其它實(shí)例中,以方框圖形式示出結(jié)構(gòu)和裝置以便于描述要求保護(hù)的主題。
A.介紹在運(yùn)算的領(lǐng)域內(nèi),許多場(chǎng)景涉及被配置成代表一個(gè)或更多個(gè)計(jì)算機(jī)或其它裝置存儲(chǔ)數(shù)據(jù)的存儲(chǔ)裝置(例如,硬盤驅(qū)動(dòng)、固態(tài)存儲(chǔ)裝置、或者易失性或非易失性存儲(chǔ)器電路)。存儲(chǔ)的數(shù)據(jù)可以包括許多類型的對(duì)象(例如,文件、媒體對(duì)象、媒體對(duì)象、數(shù)據(jù)集合、或者數(shù)據(jù)庫(kù)記錄)和可以通過(guò)各種方式(例如,作為標(biāo)稱對(duì)象的集群、作為層級(jí)、或者以相關(guān)方式)組織。 然而,在較低級(jí)別,常常根據(jù)裝置可使用的布局配置存儲(chǔ)裝置;例如,無(wú)論要存儲(chǔ)數(shù)據(jù)的類型和組織如何,均常常以計(jì)算機(jī)和其它裝置能夠讀取的特定方式組織(例如,組織)存儲(chǔ)裝置。作為一個(gè)這種實(shí)例,存儲(chǔ)裝置的可用容量常常組織為一組分區(qū),并且存儲(chǔ)裝置的開始處生成的分區(qū)表表明分區(qū)的地點(diǎn)、大小、以及類型。將存儲(chǔ)裝置的容量分離為卷可以提供各種優(yōu)點(diǎn)(例如,不同分區(qū)可以隔離不同組的數(shù)據(jù);可以用來(lái)表現(xiàn)不同卷;或者可以通過(guò)不同方式組織以存儲(chǔ)不同類型的數(shù)據(jù)、和/或以存儲(chǔ)數(shù)據(jù)以便在利用不同類型分區(qū)的不同計(jì)算機(jī)或裝置上訪問(wèn))。
圖I呈現(xiàn)了特征在于數(shù)據(jù)存儲(chǔ)容量作為一系列分區(qū)104組織的存儲(chǔ)裝置102的示范性場(chǎng)景100的示例。在此示范性場(chǎng)景100中,各分區(qū)104被配置成存儲(chǔ)各種類型的用戶數(shù)據(jù)114,包括可以在計(jì)算機(jī)或裝置上表現(xiàn)、通過(guò)文件系統(tǒng)進(jìn)一步格式化、以及用來(lái)存儲(chǔ)一組文件的一個(gè)或更多個(gè)邏輯卷106。例如,存儲(chǔ)裝置102可以包括第一分區(qū)104,其以基6本方式組織,并且能夠存儲(chǔ)包括主文件表108的一個(gè)邏輯卷106,該主文件表108表示包括邏輯卷106用戶數(shù)據(jù)112的文件目錄。存儲(chǔ)裝置102還可以包括以擴(kuò)展方式組織、以及因此能夠存儲(chǔ)多于一個(gè)邏輯卷106的第二分區(qū)106。例如,第二分區(qū)106可以包括兩個(gè)邏輯卷106,每個(gè)包含在第三分區(qū)106中(在擴(kuò)展的第二分區(qū)106內(nèi)),第三分區(qū)106又包括含有邏輯卷106的數(shù)據(jù)。有關(guān)頂級(jí)分區(qū)104的信息可以包含在分區(qū)表110中,該分區(qū)表存儲(chǔ)在存儲(chǔ)裝置102的可用容量的開始處并且包含每個(gè)分區(qū)104的元數(shù)據(jù),所述元數(shù)據(jù)包括分區(qū) 104開始的物理地點(diǎn)、分區(qū)104是否包括用以使得計(jì)算機(jī)能夠引導(dǎo)到操作環(huán)境中的信息、和 /或識(shí)別分區(qū)104類型(例如,第一分區(qū)104的基本分區(qū)類型和第二分區(qū)104的擴(kuò)展分區(qū)類型)的分區(qū)類型指示符,擴(kuò)展的第二分區(qū)104可以在每個(gè)包含的分區(qū)108之前加上主文件表(MFT)(其包括有關(guān)包含的分區(qū)108的元數(shù)據(jù))。以此方式,存儲(chǔ)裝置102的容量可以組織為一組分區(qū)104,每個(gè)分區(qū)包括一個(gè)或更多個(gè)邏輯卷106,以及因此可以顯露把存儲(chǔ)裝置 102的存儲(chǔ)容量劃分到數(shù)個(gè)邏輯卷106中。
雖然圖I的示范性場(chǎng)景100中分區(qū)104的示范性格式可以滿足一些場(chǎng)景,但會(huì)期望以實(shí)現(xiàn)一些額外特征的方式設(shè)計(jì)格式。作為第一實(shí)例,會(huì)期望建立兩個(gè)或更多個(gè)分區(qū)104 之間的關(guān)系,如,鏡像關(guān)系(其中,在每個(gè)分區(qū)104中存儲(chǔ)相同數(shù)據(jù)集合,以及其中,向其它分區(qū)104自 動(dòng)傳播一個(gè)分區(qū)104內(nèi)數(shù)據(jù)的改變)。這種鏡像在數(shù)據(jù)損壞的情況下可以促進(jìn)數(shù)據(jù)集合的持久性;例如,在分區(qū)104損壞、或者包括分區(qū)104的存儲(chǔ)裝置102故障的情況下,數(shù)據(jù)集合可以在第二分區(qū)104 (可以在不同存儲(chǔ)裝置102上)中鏡像的情況下仍然完好和可訪問(wèn)。鏡像也可以改進(jìn)性能;例如,第一存儲(chǔ)裝置102可以限于一組性能特性(例如,發(fā)起訪問(wèn)請(qǐng)求的過(guò)程中涉及的最小延遲、或者在訪問(wèn)數(shù)據(jù)的情況下的最大可承受吞吐量),在兩個(gè)或更多個(gè)存儲(chǔ)裝置102上對(duì)數(shù)據(jù)集合進(jìn)行鏡像可以實(shí)現(xiàn)表示全部存儲(chǔ)裝置102的總和的性能特性。一些格式的存儲(chǔ)裝置102可以實(shí)現(xiàn)的第二特征是兩個(gè)或更多個(gè)存儲(chǔ)裝置102 的分區(qū)104上數(shù)據(jù)集合的跨越。例如,在圖I的示范性場(chǎng)景100中,邏輯卷106的大小限于包括邏輯分區(qū)106的分區(qū)104的大小,邏輯分區(qū)106繼而限于存儲(chǔ)裝置102的可用容量。然而,其它格式可以實(shí)現(xiàn)一個(gè)或更多個(gè)存儲(chǔ)裝置102的兩個(gè)或更多個(gè)分區(qū)的匯集,從而超過(guò)任何一個(gè)分區(qū)104或存儲(chǔ)裝置102的大小限制。還可以構(gòu)想存儲(chǔ)裝置102的格式化以促進(jìn)檢錯(cuò)和糾錯(cuò)(例如,對(duì)于各數(shù)據(jù)集合,存儲(chǔ)裝置102可以自動(dòng)生成和存儲(chǔ)一組驗(yàn)證器,如,校驗(yàn)和,其可以與數(shù)據(jù)集合的內(nèi)容相比較以檢測(cè)會(huì)不正確寫入的數(shù)據(jù))和對(duì)數(shù)據(jù)集合的共享訪問(wèn)(例如,存儲(chǔ)裝置102可以在不把數(shù)據(jù)集合顯露給基于寫的競(jìng)爭(zhēng)情況(這會(huì)導(dǎo)致對(duì)數(shù)據(jù)集合的不一致或非確定性更新)的情況下實(shí)現(xiàn)多個(gè)計(jì)算機(jī)或其它裝置)。
相應(yīng)地,可以擴(kuò)展圖I的示范性場(chǎng)景100中展現(xiàn)的基本格式以實(shí)現(xiàn)諸如鏡像、同時(shí)訪問(wèn)、容錯(cuò)、以及檢錯(cuò)和糾錯(cuò)的特征。例如,可以根據(jù)廉價(jià)磁盤冗余陣列(RAID)機(jī)制(其可以在硬件和/或軟件中實(shí)施以實(shí)現(xiàn)這些特征)組織一組存儲(chǔ)裝置102。作為第一實(shí)例,在RAID O機(jī)制中,作為單個(gè)邏輯卷104呈現(xiàn)數(shù)個(gè)存儲(chǔ)裝置102的數(shù)個(gè)分區(qū)104中存儲(chǔ)的數(shù)據(jù)。作為第二實(shí)例,在RAID I機(jī)制中,在一個(gè)或更多個(gè)存儲(chǔ)裝置102上的數(shù)個(gè)分區(qū)104上自動(dòng)鏡像存儲(chǔ)的數(shù)據(jù),從而在存儲(chǔ)裝置102或分區(qū)104變得不可靠或不可訪問(wèn)的情況下實(shí)現(xiàn)對(duì)數(shù)據(jù)集合的較快速訪問(wèn)和/或容錯(cuò)。作為第三實(shí)例,在RAID 4機(jī)制中,針對(duì)數(shù)據(jù)集合的各部分運(yùn)算校驗(yàn)和,其可以用來(lái)驗(yàn)證數(shù)據(jù)集合的完整性(例如,寫入到數(shù)據(jù)集合的數(shù)據(jù)從數(shù)據(jù)集合被一致地讀取、以及在存儲(chǔ)期間未不經(jīng)意地改變)、和/或用來(lái)從分區(qū)104和/或存儲(chǔ)裝置102的故障恢復(fù)(例如,如果存儲(chǔ)裝置102的分區(qū)104變得損壞,或者如果存儲(chǔ)裝置102被去除,則分區(qū)104中包含的數(shù)據(jù)可以使用丟失數(shù)據(jù)的校驗(yàn)和以及校驗(yàn)和表示的數(shù)據(jù)集合的其它部分可恢復(fù))。RAID機(jī)制、以及其它格式規(guī)范,從而通過(guò)存儲(chǔ)裝置102上數(shù)據(jù)的特定組織和訪問(wèn)實(shí)現(xiàn)這些和其它特征。
圖2呈現(xiàn)了特征在于根據(jù)RAID 4機(jī)制對(duì)四個(gè)存儲(chǔ)裝置102的集合格式化以建立具有特定存儲(chǔ)特征的容量的池202的示范性場(chǎng)景200的示例。在此示范性場(chǎng)景200中,各存儲(chǔ)裝置102被配置成在數(shù)個(gè)分區(qū)104上擴(kuò)展的邏輯卷106中存儲(chǔ)用戶數(shù)據(jù)114,以及自動(dòng)生成和存儲(chǔ)奇偶數(shù)據(jù)204以在存儲(chǔ)裝置102故障的情況下驗(yàn)證用戶數(shù)據(jù)114的完整性和恢復(fù)數(shù)據(jù)集合。相應(yīng)地,每個(gè)存儲(chǔ)裝置102可以在包括描述存儲(chǔ)裝置102的分區(qū)104的元數(shù)據(jù)的存儲(chǔ)裝置102的開始處存儲(chǔ)分區(qū)表110。每個(gè)存儲(chǔ)裝置102也存儲(chǔ)分區(qū)104。前三個(gè)存儲(chǔ)裝置102的分區(qū)104被配置成呈現(xiàn)單個(gè)邏輯卷106(例如,主文件表112和用戶數(shù)據(jù) 114)的池202。另外,第四存儲(chǔ)裝置102的容量包括在池202中但是為奇偶數(shù)據(jù)204保留, 該奇偶數(shù)據(jù)204針對(duì)前三個(gè)存儲(chǔ)裝置102中存儲(chǔ)的相應(yīng)數(shù)據(jù)集合而自動(dòng)計(jì)算。例如,對(duì)于前三個(gè)存儲(chǔ)裝置102的分區(qū)104中的特定物理地址處存儲(chǔ)的數(shù)據(jù)字,可以運(yùn)算字長(zhǎng)校驗(yàn)和并將其存儲(chǔ)在第四存儲(chǔ)裝置102的分區(qū)104中的同樣物理地址中。存儲(chǔ)裝置RAID 4布局的此格式化因此實(shí)現(xiàn)存儲(chǔ)裝置102容量的聚集以生成呈現(xiàn)邏輯卷106的池202和可以改進(jìn)存儲(chǔ)集合102容錯(cuò)的驗(yàn)證器數(shù)據(jù)。
然而,圖2的示范性場(chǎng)景200中的布局會(huì)呈現(xiàn)一些限制。作為第一實(shí)例,RAID 4機(jī)制會(huì)僅能夠匯集具有匹配特性的存儲(chǔ)裝置102 ;例如,可能不會(huì)通過(guò)變化容量的存儲(chǔ)裝置 102 (例如,一千兆字節(jié)存儲(chǔ)裝置102和兩千兆字節(jié)存儲(chǔ)裝置)應(yīng)用此機(jī)制。此限制可以源自針對(duì)前三個(gè)存儲(chǔ)裝置102上數(shù)據(jù)集合的相應(yīng)物理地址、在第四存儲(chǔ)裝置102對(duì)校驗(yàn)和的運(yùn)算;例如,算法會(huì)無(wú)法使這些運(yùn)算(無(wú)性能削減)適用于不同大小的存儲(chǔ)裝置102。作為第二實(shí)例,RAID 4機(jī)制可以展現(xiàn)包括性能特性不同的存儲(chǔ)裝置102的存儲(chǔ)集合的削減的一致性、可靠性、和/或性能(例如,即使在使存儲(chǔ)裝置102大小相同的情況下,不同型式和/或模型的存儲(chǔ)裝置102的延時(shí)和吞吐量特性的差異也會(huì)導(dǎo)致存儲(chǔ)集合的問(wèn)題或性能削減)。作為第三實(shí)例,存儲(chǔ)裝置102的相互依存可以削減任何一個(gè)存儲(chǔ)裝置102的便攜性。例如,因?yàn)槊枋龃鎯?chǔ)裝置102內(nèi)容的元數(shù)據(jù)會(huì)與其它存儲(chǔ)裝置102和/或其控制器相關(guān),所以在傳送給不同陣列的情況下可能不會(huì)訪問(wèn)存儲(chǔ)裝置102的內(nèi)容(例如,可以把描述池202的元數(shù)據(jù)存儲(chǔ)在RAID控制器的單獨(dú)存儲(chǔ)器組件上,向不同RAID控制器傳送一個(gè)或更多個(gè)存儲(chǔ)裝置102會(huì)不能傳送元數(shù)據(jù),而導(dǎo)致數(shù)據(jù)集合的不可訪問(wèn))。作為第四實(shí)例,這些存儲(chǔ)裝置102 的格式化可以僅由被配置成支持RAID 4機(jī)制的系統(tǒng)(例如,存儲(chǔ)控制器和軟件)可使用。作為第五實(shí)例,此機(jī)制可以利用全部存儲(chǔ)裝置102的所有容量。因此,可能不會(huì)分配這些存儲(chǔ)裝置102上的一些容量以便在池202的外部使用,例如,作為池202外部的第二分區(qū)104、或者作為參與具有同樣或其它存儲(chǔ)裝置102的另一池202的分區(qū)104。此外,難以在一組存儲(chǔ)裝置102上實(shí)施不同RAID機(jī)制,例如,RAID控制器可以被配置成向它的部署處全部存儲(chǔ)裝置102的整個(gè)容量應(yīng)用一個(gè)RAID機(jī)制。
圖3呈現(xiàn)了特征在于按照可以克服圖2示范性場(chǎng)景200的一些限制的邏輯盤管理器(LDM)機(jī)制對(duì)存儲(chǔ)裝置102示范性格式化的示范性場(chǎng)景300的示例。在此示范性場(chǎng)景 300中,組織兩個(gè)存儲(chǔ)裝置102以利用分區(qū)表110開始,后續(xù)是動(dòng)態(tài)分區(qū)302,其包括一組子盤304、表示可以聚集以表現(xiàn)邏輯卷106的鄰近物理地址的大型、分配塊、包括跨越這兩個(gè)存儲(chǔ)裝置102的邏輯卷106和表示第一存儲(chǔ)裝置102的動(dòng)態(tài)分區(qū)302和第二存儲(chǔ)裝置102 的動(dòng)態(tài)分區(qū)302容量的池202??梢酝ㄟ^(guò)邏輯方式表示動(dòng)態(tài)分區(qū),例如,作為從第一存儲(chǔ)裝置102的動(dòng)態(tài)分區(qū)302中存儲(chǔ)的第一子盤304和第二存儲(chǔ)裝置102的動(dòng)態(tài)分區(qū)302中存儲(chǔ)的第二子盤304聚集的邏輯地址的序列。雖然包括不同存儲(chǔ)裝置102上物理地址的單獨(dú)塊, 但子盤304被聚集并作為邏輯地址的鄰近塊表現(xiàn)。另外,把池202的元數(shù)據(jù)存儲(chǔ)在邏輯盤管理器(LDM)數(shù)據(jù)庫(kù)306中,該數(shù)據(jù)庫(kù)位于把存儲(chǔ)裝置102的子盤304的分配表示成邏輯卷106的每個(gè)存儲(chǔ)裝置102的結(jié)束處。例如,在此示范性場(chǎng)景300中,邏輯盤管理器數(shù)據(jù)庫(kù) 306表明第一存儲(chǔ)裝置102包括兩個(gè)子盤304,第二存儲(chǔ)裝置102包括一個(gè)子盤304,但是第一存儲(chǔ)裝置102的第一子盤304表現(xiàn)為第一邏輯卷106,而第一存儲(chǔ)裝置102的第二子盤 304和第二存儲(chǔ)裝置102的唯一子盤304 —起表現(xiàn)為第二邏輯卷106。此外,邏輯盤管理器數(shù)據(jù)庫(kù)306在這兩個(gè)存儲(chǔ)裝置102上被鏡像,因此通過(guò)每個(gè)存儲(chǔ)裝置102可移動(dòng)以表明其中包含的動(dòng)態(tài)分區(qū)302的邏輯表現(xiàn)。
具有邏輯盤管理器數(shù)據(jù)庫(kù)306的存儲(chǔ)裝置102的格式化可以呈現(xiàn)一些優(yōu)點(diǎn)。作為第一實(shí)例,相比于圖I中示例的示范性場(chǎng)景100而言,邏輯盤管理器數(shù)據(jù)庫(kù)306實(shí)現(xiàn)了多個(gè)存儲(chǔ)裝置102上子盤304的池202的表示。另外,相比于圖2的示范性場(chǎng)景200而言,可以在不同大小和/或不同性能特性的存儲(chǔ)裝置102 (例如,圖3中的第一和第二存儲(chǔ)裝置102 可以具有通過(guò)存儲(chǔ)控制器不同的不同制造商生成的不同總?cè)萘?上實(shí)施圖3的示·范性場(chǎng)景 300中示例的格式化。另外,進(jìn)一步相比于圖2中示例的示范性場(chǎng)景200而言,邏輯盤管理器數(shù)據(jù)庫(kù)306可以實(shí)現(xiàn)池202與其它分區(qū)104的共存,所述其它分區(qū)104未包括在池202 中(例如,第一存儲(chǔ)裝置102上的第一分區(qū)104)、以及可以通過(guò)無(wú)法使用邏輯盤管理器數(shù)據(jù)庫(kù)306的系統(tǒng)(例如,存儲(chǔ)控制器和軟件)可訪問(wèn)和可使用。
然而,使用邏輯盤管理器數(shù)據(jù)庫(kù)306表示子盤304的池202也會(huì)呈現(xiàn)一些限制。作為第一實(shí)例,許多邏輯盤管理器數(shù)據(jù)庫(kù)306僅能夠表示一個(gè)池202,會(huì)難以擴(kuò)展邏輯盤管理器數(shù)據(jù)庫(kù)306以表示子盤304的多個(gè)池202。作為第二實(shí)例,存儲(chǔ)裝置104的結(jié)束處邏輯盤管理器數(shù)據(jù)庫(kù)306的地點(diǎn)會(huì)限制邏輯盤管理器數(shù)據(jù)庫(kù)306的大小,擴(kuò)充邏輯盤管理器數(shù)據(jù)庫(kù)306會(huì)涉及在每個(gè)存儲(chǔ)裝置102上不同地點(diǎn)處重新寫入整個(gè)邏輯盤管理器數(shù)據(jù)庫(kù)306。 作為第三實(shí)例,會(huì)難以表示包括分區(qū)104的僅一部分的邏輯卷106的表現(xiàn)。例如,以及如與圖I的示范性場(chǎng)景100中類似示例的,把每個(gè)分區(qū)104整個(gè)分配給一個(gè)邏輯卷106。因?yàn)榇藢?duì)應(yīng)性,會(huì)難以通過(guò)靈活方式(例如,使分區(qū)104的容量分布在兩個(gè)或更多個(gè)邏輯卷106上) 分配分區(qū)104,調(diào)節(jié)邏輯卷106 (包括其中包含的子盤304)的大小會(huì)涉及顯著變換存儲(chǔ)裝置102的分區(qū)104 (例如,調(diào)節(jié)邏輯卷106的大小會(huì)涉及重新分配分區(qū)104,可能涉及分區(qū) 104中存儲(chǔ)的數(shù)據(jù)的完全重寫)。
B.呈現(xiàn)的技術(shù)本文中呈現(xiàn)的是用于格式化存儲(chǔ)裝置102的技術(shù),其可以解決其它格式化技術(shù)的一些限制,包括圖3中示范性場(chǎng)景中邏輯盤管理器(LDM)數(shù)據(jù)庫(kù)306展現(xiàn)的那些。按照這些技術(shù),可以構(gòu)想如下這種格式以便于各種存儲(chǔ)特征的實(shí)施的方式組織存儲(chǔ)裝置102的可用容量(例如,多個(gè)存儲(chǔ)裝置102共享的存儲(chǔ)容量的一個(gè)或更多個(gè)池202的生成;各種協(xié)調(diào)存儲(chǔ)特征的規(guī)范和自動(dòng)應(yīng)用,如,RAID I陣列中的鏡像或RAID 4陣列中的校驗(yàn)和;以及通過(guò)9多個(gè)計(jì)算機(jī)或裝置的同時(shí)訪問(wèn))。這種技術(shù)也可以促進(jìn)存儲(chǔ)裝置102上存儲(chǔ)的存儲(chǔ)集合的健壯性(例如,在重新定位到不同存儲(chǔ)控制器的情況下存儲(chǔ)裝置102的元數(shù)據(jù)的預(yù)留);組織的靈活性(例如,便于分區(qū)104的大小調(diào)節(jié)、存儲(chǔ)裝置102可用容量的分配和重新分配)以及組織與其它組織技術(shù)的兼容性(例如,使得存儲(chǔ)裝置能夠包括這兩個(gè)較復(fù)雜組織結(jié)構(gòu),如, 與其它存儲(chǔ)裝置102同步的存儲(chǔ)池202,以及標(biāo)準(zhǔn)化結(jié)構(gòu),如,基本分區(qū)104)。
因此,按照這些和其它考慮,本文中呈現(xiàn)的技術(shù)涉及組織存儲(chǔ)裝置102以包括分別可以與其它存儲(chǔ)裝置102共享和可以實(shí)施各種存儲(chǔ)特征(例如,不同RAID機(jī)制或其它特征)的一個(gè)或更多個(gè)匯集分區(qū)。在存儲(chǔ)裝置102的粗略粒度視圖中,以與其它分區(qū)104類似的方式(例如,作為分區(qū)表110中留出和索引的可用容量的塊)分配匯集分區(qū)。因而,匯集分區(qū)可以與不同類型的其它分區(qū)104共存。然而,以不同方式利用匯集分區(qū)的容量。作為第一實(shí)例,把描述匯集分區(qū)的元數(shù)據(jù)不存儲(chǔ)在單獨(dú)結(jié)構(gòu)(例如,邏輯盤管理器數(shù)據(jù)庫(kù)306) 中,而是在匯集分區(qū)內(nèi),從而使得能夠在任意不同類型(例如,與其它存儲(chǔ)裝置102的不同集合共享,和/或?qū)嵤┎煌琑AID機(jī)制或其它存儲(chǔ)特征)的同樣存儲(chǔ)裝置102上存儲(chǔ)多個(gè)匯集分區(qū)。作為第二實(shí)例,匯集分區(qū)可以定義可以表示不同構(gòu)造(例如,存儲(chǔ)用戶數(shù)據(jù)的邏輯卷106 ;空間的維護(hù)元數(shù)據(jù),如,建議重新同步的過(guò)時(shí)或建議存儲(chǔ)裝置102替換的故障;或者被配置成向存儲(chǔ)集合寫入的臨時(shí)存儲(chǔ)庫(kù)的日志)的一組空間。此外,并非把分區(qū)102的容量整個(gè)分配給一個(gè)邏輯卷106、或者在少量大型、鄰近塊中分配給少量邏輯卷106,可以把匯集分區(qū)的容量分配在可以映射到各空間的小塊(在本文中稱作“擴(kuò)展”)中??梢园堰@些關(guān)聯(lián)存儲(chǔ)在匯集分區(qū)配置中。此外,關(guān)聯(lián)可以便于空間的大小調(diào)節(jié)(例如,通過(guò)分配或釋放擴(kuò)展)、以及其它特征,如,延遲空間擴(kuò)展的指配和/或綁定,從而實(shí)現(xiàn)諸如精簡(jiǎn)指配的特征。 這些和其它特征可以通過(guò)根據(jù)本文中呈現(xiàn)的技術(shù)對(duì)存儲(chǔ)裝置102的格式化和組織可取得。
圖4呈現(xiàn)了特征在于可以實(shí)現(xiàn)這些和其它特征的存儲(chǔ)裝置102的示范性表示的示范性場(chǎng)景400的示例。為了對(duì)比,在圖3的示范性場(chǎng)景300中,邏輯盤管理器數(shù)據(jù)庫(kù)306把存儲(chǔ)裝置102的指配表示成通過(guò)各動(dòng)態(tài)分區(qū)302中存儲(chǔ)的一組子盤304關(guān)聯(lián)的一組邏輯卷 106和一組存儲(chǔ)裝置102。在此示范性場(chǎng)景400中,把指配表示成池404 (例如,通過(guò)存儲(chǔ)池 404的元數(shù)據(jù)的池記錄(如,池404的和識(shí)別池404所有者的名稱)表示)、以及表示成從池 404表現(xiàn)的一組空間406 (例如,通過(guò)存儲(chǔ)各空間406元數(shù)據(jù)的空間記錄(如,空間406的名稱、空間406的類型、空間406的指配容量、以及空間406實(shí)施的存儲(chǔ)特征,如,RAID機(jī)制)表示)。池404可以表現(xiàn)許多類型的空間406,包括提供用戶數(shù)據(jù)容量的邏輯卷106 ;存儲(chǔ)有關(guān)池404其它空間406的元數(shù)據(jù)的維護(hù)空間410,如,表示各空間406健康(例如,過(guò)時(shí)、故障、 或者不可用)的健康指示符412 ;存儲(chǔ)其它空間406的校驗(yàn)和的校驗(yàn)和空間,如,在RAID 4 機(jī)制中;以及被配置成可以暫時(shí)存儲(chǔ)要向另一空間406寫入的數(shù)據(jù)集合的日志的日志空間 (例如,以促進(jìn)批量寫入和/或減少RAID寫入口)。物理上,把指配表示成一組存儲(chǔ)裝置102 (例如,通過(guò)存儲(chǔ)了存儲(chǔ)裝置102元數(shù)據(jù)(包括名稱和總?cè)萘?的存儲(chǔ)裝置記錄表示)、以及表示與各空間406相關(guān)聯(lián)的存儲(chǔ)裝置102分配部分的一組擴(kuò)展408(例如,通過(guò)向空間406的邏輯地址范圍映射存儲(chǔ)裝置102物理地址范圍的擴(kuò)展記錄來(lái)表示)。池配置402因而表示存儲(chǔ)裝置102的物理容量向池404的指配(其通過(guò)向池404內(nèi)表現(xiàn)的空間406分配的擴(kuò)展 408的關(guān)聯(lián))。
圖5呈現(xiàn)了示例使用圖4的示范性場(chǎng)景400中示例的表示來(lái)組織存儲(chǔ)裝置102的示范性場(chǎng)景500的示例。在此示范性場(chǎng)景500中,第一存儲(chǔ)裝置102可以被配置成存儲(chǔ)兩個(gè)池404,與第二存儲(chǔ)裝置102共享第一個(gè)池404,與第三存儲(chǔ)裝置102共享第二個(gè)池404。 第一存儲(chǔ)裝置102以分區(qū)表110開始,后續(xù)是第一匯集分區(qū)404,該分區(qū)包括結(jié)合第二存儲(chǔ)裝置102上存儲(chǔ)的第二匯集分區(qū)404表現(xiàn)的空間。這兩個(gè)匯集分區(qū)404以池配置402開始, 該池配置包括根據(jù)圖4中示例的表示的組織描述存儲(chǔ)裝置102的指配的記錄。池配置402 識(shí)別從池104表現(xiàn)的一組空間406,以及表明在空間406的一組邏輯地址分別映射的第一和第二存儲(chǔ)裝置102的匯集分區(qū)404內(nèi)分配的擴(kuò)展408 (例如,物理分配)。例如,第一存儲(chǔ)裝置102的第一匯集分區(qū)404存儲(chǔ)分別作為維護(hù)空間(例如,圖4中示例的示范性維護(hù)空間 410)、存儲(chǔ)用戶數(shù)據(jù)的兩個(gè)擴(kuò)展408 ;以及表示匯集分區(qū)404的一個(gè)或更多個(gè)其它擴(kuò)展408 和/或空間406的日志的擴(kuò)展408來(lái)利用的四個(gè)擴(kuò)展408。所述分配可以提供用于空間邏輯容量的物理存儲(chǔ)空間(例如,擴(kuò)展408)指配的過(guò)程中的一些靈活性(例如,第二空間406 以第一存儲(chǔ)裝置102的第二擴(kuò)展408開始,通過(guò)第一存儲(chǔ)裝置102的第三擴(kuò)展406繼續(xù),以及在邏輯上后續(xù)是第二存儲(chǔ)裝置102上的第二擴(kuò)展408)。池配置402也可以表示空間408 之中各種類型的關(guān)系,如,第一存儲(chǔ)裝置102的維護(hù)空間和第二存儲(chǔ)裝置102的第一匯集分區(qū)404內(nèi)相應(yīng)維護(hù)空間的鏡像504。此外,與第二存儲(chǔ)裝置102共享的第一存儲(chǔ)裝置102上的第一匯集分區(qū)404可以與第一存儲(chǔ)裝置102上存儲(chǔ)的第二匯集分區(qū)404共存以及與第三存儲(chǔ)裝置102、以及基本分區(qū)104共享。
按照本文中呈現(xiàn)的技術(shù)對(duì)圖4 一 5的示范性場(chǎng)景400、500中存儲(chǔ)裝置102的組織可以實(shí)現(xiàn)針對(duì)其它組織(包括圖I 一 3中呈現(xiàn)的那些)的一些優(yōu)點(diǎn)。作為第一實(shí)例,池配置 402實(shí)現(xiàn)不同類型空間406 (例如,維護(hù)空間、用戶數(shù)據(jù)空間、以及日志空間)的規(guī)范、以及要向每個(gè)空間406應(yīng)用的存儲(chǔ)特征的規(guī)范(這實(shí)現(xiàn)對(duì)于不同空間406的對(duì)不同存儲(chǔ)特征(如, 不同RAID機(jī)制)的使用)。作為第二實(shí)例,池配置402可以定義池404表現(xiàn)的一組空間406, 但是可以呈現(xiàn)在包括存儲(chǔ)裝置102物理容量的擴(kuò)展408向池404的空間406分配的過(guò)程中的一些靈活性。例如,通過(guò)分配一系列小擴(kuò)展408而非諸如子盤304的大塊,此組織實(shí)現(xiàn)了通過(guò)擴(kuò)展408的重新分派對(duì)空間406的精細(xì)粒度的大小調(diào)節(jié)。另外,可以為空間406指配特定大小,但是實(shí)施例可以分配擴(kuò)展408并在稍后時(shí)刻(例如,當(dāng)接收到向尚未綁定到擴(kuò)展 404的空間406內(nèi)的地點(diǎn)寫入時(shí))把擴(kuò)展408的物理地址綁定到空間406的邏輯地址。延遲分配和延遲綁定的這些概念可以實(shí)現(xiàn)存儲(chǔ)裝置102的格式化(例如,不需要在接收用以創(chuàng)建空間406的請(qǐng)求后分配和初始化全部擴(kuò)展408)和過(guò)度指配(例如,創(chuàng)建定義的容量超過(guò)存儲(chǔ)裝置102可用容量508的空間406,當(dāng)空間406的使用容量耗盡可用容量508時(shí),提示用戶向存儲(chǔ)集合添加容量)的迅速完成。這些和其它特征可以通過(guò)如圖4 - 5的示范性場(chǎng)景400、500中所示例的和按照本文中呈現(xiàn)的技術(shù)對(duì)存儲(chǔ)裝置102的組織可取得。
C.示范性實(shí)施例圖6呈現(xiàn)了示例為組織包括至少兩個(gè)存儲(chǔ)裝置102的存儲(chǔ)集合的示范性方法600的這些技術(shù)的示范性實(shí)施例的示例。實(shí)施示范性方法600可以例如實(shí)施為在裝置的存儲(chǔ)器組件 (例如,存儲(chǔ)器電路、硬盤驅(qū)動(dòng)的盤片、固態(tài)存儲(chǔ)器組件、或者磁或光盤)中存儲(chǔ)的一組指令, 當(dāng)指令由裝置的處理器執(zhí)行時(shí)使得裝置執(zhí)行本文中呈現(xiàn)的技術(shù)。示范性方法600在602開始和涉及在處理器上執(zhí)行604指令。具體地,指令被配置成在至少兩個(gè)匯集存儲(chǔ)裝置102的存儲(chǔ)區(qū)域內(nèi),生成606包括池配置402的匯集分區(qū)502。池配置402指定608、610存儲(chǔ)匯集11分區(qū)402的匯集存儲(chǔ)裝置102、以及匯集分區(qū)402內(nèi)表示的至少一個(gè)空間406。指令還被配置成在接收到612用以分配空間406的擴(kuò)展408的請(qǐng)求后、在匯集分區(qū)402內(nèi)分配614空間406的擴(kuò)展408,以及使擴(kuò)展408與池配置402中的空間406相關(guān)聯(lián)。以此方式,所述指令是實(shí)現(xiàn)根據(jù)本文中呈現(xiàn)的技術(shù)對(duì)存儲(chǔ)裝置102的組織,示范性方法600如此在618結(jié)束。
另一實(shí)施例涉及包括處理器可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令被配置成應(yīng)用本文中呈現(xiàn)的技術(shù)。這種計(jì)算機(jī)可讀介質(zhì)可以包括例如涉及有形裝置的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),如,存儲(chǔ)器半導(dǎo)體(例如,利用靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器 (DRAM)、和/或同步動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SDRAM)技術(shù)的半導(dǎo)體)、硬盤驅(qū)動(dòng)的盤片、閃存裝置、或者磁或光盤(如,⑶-R、DVD-R、或者軟盤),編碼一組計(jì)算機(jī)可讀指令,該指令在通過(guò)裝置的處理器執(zhí)行時(shí)使得裝置實(shí)施本文中呈現(xiàn)的技術(shù)。這種計(jì)算機(jī)可讀介質(zhì)還可以包括(作為與計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不同的一類技術(shù))各種類型的通信介質(zhì),諸如,如下信號(hào)其可以通過(guò)各種物理現(xiàn)象(例如,電磁信號(hào)、聲波信號(hào)、或者光學(xué)信號(hào))和在各種有線場(chǎng)景(例如,經(jīng)由以太網(wǎng)或光纖線纜)和/或無(wú)線場(chǎng)景(例如,諸如WiFi的無(wú)線局域網(wǎng)(WLAN)、諸如藍(lán)牙的個(gè)域網(wǎng)(PAN)、或者蜂窩或無(wú)線電網(wǎng)絡(luò))中傳播;以及其編碼一組計(jì)算機(jī)可讀指令,當(dāng)該指令由裝置的處理器執(zhí)行時(shí)使得裝置實(shí)施本文中呈現(xiàn)的技術(shù)。
在圖7中示例了可以通過(guò)這些方式構(gòu)想的示范性計(jì)算機(jī)可讀介質(zhì),其中,實(shí)施方式700包括其上是編碼的計(jì)算機(jī)可讀數(shù)據(jù)704的計(jì)算機(jī)可讀介質(zhì)702 (例如,⑶-R、DVD_R、 或者硬盤驅(qū)動(dòng)的盤片)。此計(jì)算機(jī)可讀數(shù)據(jù)704又包括被配置成根據(jù)本文中敘述的原理操作的一組計(jì)算機(jī)指令706。在一個(gè)這種實(shí)施例中,處理器可執(zhí)行指令706可以在被裝置710的處理器712執(zhí)行時(shí)使得裝置710執(zhí)行組織存儲(chǔ)裝置102的容量的方法,如,圖6的示范性方法600。此計(jì)算機(jī)可讀介質(zhì)的一些實(shí)施例可以包括被配置成存儲(chǔ)以此方式配置的處理器可執(zhí)行指令的非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如,硬盤驅(qū)動(dòng)、光盤、或者閃存裝置)。本領(lǐng)域普通技術(shù)人員可以構(gòu)想被配置成按照本文中呈現(xiàn)的技術(shù)操作的許多這種計(jì)算機(jī)可讀介質(zhì)。
D.變化可以通過(guò)許多方面的變化構(gòu)想本文中討論的技術(shù),一些變化可以針對(duì)這些和其它技術(shù)的其它變化而呈現(xiàn)額外優(yōu)點(diǎn)和/或減少缺點(diǎn)。此外,可以組合實(shí)施一些變化,一些組合可以通過(guò)協(xié)同合作來(lái)刻畫額外優(yōu)點(diǎn)和/或減少的缺點(diǎn)。可以在各種實(shí)施例中合并所述變化以在這種實(shí)施例上賦予各自和/或協(xié)同的優(yōu)點(diǎn)。
Dl.場(chǎng)景可以在這些技術(shù)的實(shí)施例中變化的第一方面涉及可以利用這種技術(shù)的場(chǎng)景。作為此第一方面的第一變化,可以通過(guò)許多類型的存儲(chǔ)裝置102(包括硬盤驅(qū)動(dòng)、固態(tài)存儲(chǔ)裝置、非易失性存儲(chǔ)器電路、基于帶的存儲(chǔ)裝置、以及磁和光盤)使用這些技術(shù)。這種存儲(chǔ)裝置102也可以直接連接到實(shí)施這些技術(shù)的裝置710 (如,計(jì)算機(jī));可以通過(guò)有線或無(wú)線局域網(wǎng)(例如, 802. 11 WiFi網(wǎng)絡(luò)或特設(shè)連接、或者紅外連接)可訪問(wèn);和/或可以通過(guò)有線或無(wú)線廣域網(wǎng) (例如,蜂窩網(wǎng)絡(luò)或互聯(lián)網(wǎng))可訪問(wèn)。此外,可以通過(guò)獨(dú)立操作的(例如,通過(guò)軟件過(guò)程獨(dú)立訪問(wèn)的存儲(chǔ)裝置106)、通過(guò)松散互操作進(jìn)行操作的(例如,獨(dú)立操作但是被通知和可以與共享存儲(chǔ)集合的其它存儲(chǔ)裝置102通信的存儲(chǔ)裝置102)、或者通過(guò)緊密互操作進(jìn)行操作的(例如,管理作為存儲(chǔ)系統(tǒng)組件的數(shù)個(gè)存儲(chǔ)裝置106的廉價(jià)磁盤冗余陣列(RAID)控制器)兩個(gè)或更多個(gè)存儲(chǔ)裝置102使用這些技術(shù)。作為此第一方面的第二變化,可以結(jié)合包括各種類型數(shù)據(jù)集合的許多類型的存儲(chǔ)集合(包括存儲(chǔ)各種類型二進(jìn)制對(duì)象的二進(jìn)制存儲(chǔ)系統(tǒng);存儲(chǔ)文件的文件系統(tǒng);存儲(chǔ)媒體對(duì)象的媒體庫(kù);存儲(chǔ)許多類型對(duì)象的對(duì)象系統(tǒng);存儲(chǔ)記錄的數(shù)據(jù)庫(kù);以及存儲(chǔ)電子郵件消息的電子郵件系統(tǒng))來(lái)使用這些技術(shù)。作為此第一方面的第三變化,可以在運(yùn)算環(huán)境內(nèi)的一個(gè)或更多個(gè)組件內(nèi)實(shí)施這些技術(shù)中的部分或所有技術(shù),如, 對(duì)存儲(chǔ)裝置102訪問(wèn)的易失性或非易失性計(jì)算機(jī)或裝置中存儲(chǔ)的一組軟件指令(例如,操作系統(tǒng)進(jìn)程或硬件驅(qū)動(dòng)器);通過(guò)被配置成與存儲(chǔ)裝置102對(duì)接的存儲(chǔ)系統(tǒng)(例如,RAID控制器);或者在存儲(chǔ)集合的各存儲(chǔ)裝置102中。
作為此第一方面的第四變化,用于組織存儲(chǔ)裝置104容量的這些技術(shù)可以實(shí)現(xiàn)可能難以通過(guò)其它技術(shù)(如,圖I 一 3中示例的那些)實(shí)現(xiàn)的一些結(jié)果。作為第一實(shí)例,這些技術(shù)可以實(shí)現(xiàn)跨越和聚集第一存儲(chǔ)裝置102上至少兩個(gè)分區(qū)104的匯集分區(qū)502的生成。作為第二實(shí)例,這些技術(shù)可以實(shí)現(xiàn)空間406的生成,該空間包括第一存儲(chǔ)裝置102上匯集分區(qū) 502中存儲(chǔ)的至少兩個(gè)擴(kuò)展408、以及第二存儲(chǔ)裝置102上匯集分區(qū)502中存儲(chǔ)的至少一個(gè)擴(kuò)展408。作為第三實(shí)例,在三個(gè)存儲(chǔ)裝置102的集合中,這些技術(shù)可以使得第一存儲(chǔ)裝置 102能夠與第二存儲(chǔ)裝置102而非第三存儲(chǔ)裝置102共享第一池404、以及與第三存儲(chǔ)裝置 102而非第二存儲(chǔ)裝置102共享第二存儲(chǔ)池404。此類型的共享無(wú)法通過(guò)其它技術(shù)(如,邏輯盤管理器數(shù)據(jù)庫(kù)306)的使用可取得,以及特別地,無(wú)法使得共享第一池404的存儲(chǔ)裝置 102能夠以與更新與存儲(chǔ)裝置102的不同集合共享的第二池404的池配置402隔離的方式更新池配置402??梢园凑毡疚闹谐尸F(xiàn)的技術(shù)通過(guò)存儲(chǔ)裝置102的組織實(shí)現(xiàn)許多這種存儲(chǔ)場(chǎng)景。
D2.池配置可以在這些技術(shù)的實(shí)施例之中變化的第二方面涉及池配置402的本性和使用以表示存儲(chǔ)裝置102共享的池404。作為此第二方面的第一變化,可以把池配置402存儲(chǔ)在一個(gè)存儲(chǔ)裝置102上,或者可以在存儲(chǔ)池404的存儲(chǔ)裝置102上鏡像。作為此第二方面的第二變化,可以通過(guò)許多方式在存儲(chǔ)裝置102上標(biāo)識(shí)匯集分區(qū)502。例如,存儲(chǔ)裝置102可以包括指定各分區(qū)104的地點(diǎn)、大小、以及分區(qū)類型標(biāo)識(shí)符的分區(qū)表110,可以通過(guò)匯集分區(qū)類型標(biāo)識(shí)符在分區(qū)表中標(biāo)識(shí)匯集分區(qū)502,所述匯集分區(qū)類型標(biāo)識(shí)符可以通過(guò)被配置成利用匯集分區(qū)502的裝置710可理解和可使用、以及可以被其它類型的裝置710忽略(和因此未誤用)。
作為此第二方面的第三變化,可以把池配置402存儲(chǔ)在匯集分區(qū)502的許多區(qū)域中,包括在匯集分區(qū)502的開始處、在匯集分區(qū)502的結(jié)束處、或者在匯集分區(qū)502中定義或可識(shí)別的地點(diǎn)處。把池配置402放置在匯集分區(qū)502的開始處會(huì)是有益的以便輕松訪問(wèn)和/或?qū)崿F(xiàn)池配置402的增長(zhǎng)(較之把池配置402放置在匯集分區(qū)502的結(jié)束處而言,這里增長(zhǎng)會(huì)在沒有把池配置402在池匯集分區(qū)502中不同地點(diǎn)處重寫的情況下難以實(shí)現(xiàn))。作為此第二方面的第四變化,可以通過(guò)許多方式(如,關(guān)系型數(shù)據(jù)庫(kù)、層級(jí)結(jié)構(gòu)文檔(例如,可擴(kuò)展標(biāo)記語(yǔ)言(XML)文檔、或者表格)構(gòu)建池配置502。作為此第二方面的第五變化,池配置 502可以包含描述各實(shí)體(例如,池402、空間406、擴(kuò)展408、以及存儲(chǔ)裝置102)的各種類型元數(shù)據(jù),包括名稱、制造商、模型、容量、性能特性、以及使用。特別地,池配置502可以指定空間類型標(biāo)識(shí)符以識(shí)別各空間406的類型,如,用于存儲(chǔ)用戶數(shù)據(jù)的空間406的用戶空間類型標(biāo)識(shí)符;存儲(chǔ)其它空間406的校驗(yàn)和(或其它類型的驗(yàn)證器)的空間406的校驗(yàn)和空間標(biāo)識(shí)符;以及作為用于存儲(chǔ)要向其它空間406應(yīng)用的寫入的日志使用的空間406的日志空間類型標(biāo)識(shí)符。另外,空間406可以標(biāo)識(shí)父代空間406以識(shí)別順序或嵌套關(guān)系(例如,與第一用戶數(shù)據(jù)空間406鄰近的第二用戶數(shù)據(jù)空間406、或者識(shí)別父代空間(針對(duì)該父代空間,日志空間存儲(chǔ)要向父代空間應(yīng)用的日志更新)的日志空間)。
作為此第二方面的第六變化,可以使用存儲(chǔ)裝置102上的固定物理地點(diǎn)(例如,軌道和扇區(qū))、存儲(chǔ)裝置102上物理地址序列內(nèi)的物理地址(例如,物理地址范圍)、或者匯集分區(qū)502內(nèi)的偏移量(例如,從匯集分區(qū)502的起始物理地址的偏移量)將擴(kuò)展408指定成匯集分區(qū)502內(nèi)的物理地址塊;以及也可以使地址范圍與空間406內(nèi)的邏輯地址范圍相關(guān)聯(lián) (例如,指定起始邏輯地址和長(zhǎng)度或結(jié)束邏輯地址)。
作為此第二方面的第七變化,可以通過(guò)各種方式實(shí)現(xiàn)擴(kuò)展408到空間406的分配和綁定。圖8 — 10呈現(xiàn)了用于實(shí)現(xiàn)此綁定的一些替選場(chǎng)景(這些圖中的每個(gè)圖在兩個(gè)時(shí)間點(diǎn)呈現(xiàn)了存儲(chǔ)裝置102的狀態(tài),分別作為圖的左和右部分示例)。在圖8的示范性場(chǎng)景800 中,在第一時(shí)間點(diǎn)802,存儲(chǔ)裝置102除了大量可用容量508之外,還包括存儲(chǔ)池404的池配置402的匯集分區(qū)502、以及存儲(chǔ)池404的存儲(chǔ)裝置102的記錄。在第二時(shí)間點(diǎn)804,當(dāng)接收到生成用以存儲(chǔ)用戶數(shù)據(jù)的空間406的空間分配請(qǐng)求806時(shí),可以更新池配置402以添加空間406的記錄,包括它的類型和指配容量。另外,在此第二時(shí)間點(diǎn)804,可以根據(jù)匯集分區(qū)502的可用容量508創(chuàng)建兩個(gè)擴(kuò)展408,可以更新池配置402以添加擴(kuò)展408的記錄(其將擴(kuò)展408綁定到空間406的邏輯地點(diǎn)。以此方式,空間406的擴(kuò)展408可以及時(shí)被分配和對(duì)于使用可用。
可替選地,空間406的擴(kuò)展408的綁定可以延遲、以及可以基于準(zhǔn)時(shí)制執(zhí)行。例如, 如圖9的示范性場(chǎng)景900中所示例的,在第一時(shí)間點(diǎn)902,可以接收空間分配請(qǐng)求以創(chuàng)建空間406,可以在池配置402內(nèi)創(chuàng)建空間406的記錄。然而,無(wú)法在第一時(shí)間點(diǎn)902徹底分配空間406的容量;例如,在第一時(shí)間點(diǎn)902,可以僅分配一個(gè)擴(kuò)展408,而非空間406的其它部分(例如,其它地址塊)。然而,在第二時(shí)間點(diǎn)904,當(dāng)接收到請(qǐng)求向尚未分配擴(kuò)展408的空間406的特定地址寫入時(shí),可以從匯集分區(qū)502的可用容量508分配第二擴(kuò)展408并將其綁定到池配置404內(nèi)擴(kuò)展記錄408中的空間406。此延遲分配可以實(shí)現(xiàn)用以創(chuàng)建空間406 的請(qǐng)求的較快速完成(由于在第一時(shí)間點(diǎn)902需要分配少于所有擴(kuò)展408),和/或可以實(shí)現(xiàn)精簡(jiǎn)指配,其中,可以用比向空間406綁定的擴(kuò)展408的擴(kuò)展大小與共享池404的存儲(chǔ)裝置 102的可用容量508的總和大的指配大小來(lái)指配空間406。
圖10呈現(xiàn)了包括空間406的分配中進(jìn)一步變化的示范性場(chǎng)景1000的示例,其中, 可以把空間406的擴(kuò)展408分配與擴(kuò)展408向空間406的特定邏輯地點(diǎn)的綁定分開。在此示范性場(chǎng)景1000中,在第一時(shí)間點(diǎn)1002,存儲(chǔ)裝置102包括具有空間406(已經(jīng)針對(duì)該空間分配了兩個(gè)擴(kuò)展408)的匯集分區(qū)502。然而,尚未向空間406內(nèi)的特定邏輯地點(diǎn)映射該擴(kuò)展408,而是簡(jiǎn)單地作為空間406的可用容量保留??梢岳缭诮邮盏接靡詣?chuàng)建空間406的請(qǐng)求后執(zhí)行此保留,以使得即使在保留了少于空間406的所有指配容量以及尚未知曉要向空間406寫入數(shù)據(jù)的地址的情況下,也保留一些容量且對(duì)于使用可用。相應(yīng)地,在第二時(shí)間點(diǎn)1004,當(dāng)接收到寫入請(qǐng)求以向尚未綁定擴(kuò)展408的空間406中的邏輯地址寫入時(shí),可以選擇未綁定擴(kuò)展408中的一個(gè)并將其綁定到空間406的地點(diǎn)(其包括寫入請(qǐng)求中指定的邏輯地址)。以此方式,可以在不損害空間406容量可用性的情況下推遲空間406向擴(kuò)展408的綁定。以這些和其它方式,可以向空間406分配擴(kuò)展408以實(shí)現(xiàn)諸如改進(jìn)性能和精簡(jiǎn)指配的各種特征。本領(lǐng)域普通技術(shù)人員可以在實(shí)施本文中呈現(xiàn)的技術(shù)的情況下構(gòu)想池配置408 在使用的過(guò)程中的許多變化。
D3.池配置所有者可以在這些技術(shù)的實(shí)施例之中變化的第三方面涉及池404的池所有者的標(biāo)識(shí)。例如, 在對(duì)包括池的存儲(chǔ)裝置102訪問(wèn)的計(jì)算機(jī)或其它裝置710之中,可以選取在計(jì)算機(jī)之中排他地寫入訪問(wèn)池配置402的池配置所有者。在接收到用以更新池配置402的請(qǐng)求(例如,用以創(chuàng)建空間406或向空間406綁定擴(kuò)展408的請(qǐng)求)后,計(jì)算機(jī)可以確定它是否是池配置所有者,如果否,則可以把請(qǐng)求轉(zhuǎn)發(fā)給池配置所有者。此外,如果池配置所有者變得無(wú)響應(yīng)或不可用,則其它計(jì)算機(jī)在檢測(cè)池配置所有者的故障后可以標(biāo)識(shí)計(jì)算機(jī)之中的替代池配置所有者(例如,選取新的池配置所有者)。此選取可以實(shí)現(xiàn)要以避免源自競(jìng)爭(zhēng)情況的沖突更新 (這會(huì)把池配置402置于不一致狀態(tài)中)的方式執(zhí)行的對(duì)池配置402的更新。本領(lǐng)域普通技術(shù)人員可以設(shè)想和利用以如下方式識(shí)別的多種變化更新池配置402以保護(hù)池配置402和池404的完整性免于這種情況。
E.運(yùn)算環(huán)境圖11呈現(xiàn)了可以實(shí)施本文中呈現(xiàn)的技術(shù)的運(yùn)算裝置1102內(nèi)示范性運(yùn)算環(huán)境的示例。 實(shí)例運(yùn)算裝置包括但不限于個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上型裝置、移動(dòng)裝置(如, 移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、媒體播放器等)、多處理器系統(tǒng)、消費(fèi)電子產(chǎn)品、微型計(jì)算機(jī)、大型計(jì)算機(jī)、以及包括以上系統(tǒng)或裝置中任何內(nèi)容的分布式運(yùn)算環(huán)境。
圖11示例了包括被配置成實(shí)施本文中提供的一個(gè)或更多個(gè)實(shí)施例的運(yùn)算裝置 1102的系統(tǒng)1100的實(shí)例。在一個(gè)配置中,運(yùn)算裝置1102包括至少一個(gè)處理器1106和至少一個(gè)存儲(chǔ)器組件1108。根據(jù)運(yùn)算裝置的精確配置和類型,存儲(chǔ)器組件1108可以是易失性 (如,例如RAM)、非易失性(如,例如ROM、閃存等)或中間或混合類型的存儲(chǔ)器組件。通過(guò)虛線1104在圖11中示例了此配置。
在一些實(shí)施例中,裝置1102可以包括額外特征和/或功能。例如,裝置1102可以包括一個(gè)或更多個(gè)額外存儲(chǔ)組件1110,包括但不限于硬盤驅(qū)動(dòng)、固態(tài)存儲(chǔ)裝置、和/或其它可移除或不可移除磁或光學(xué)介質(zhì)。在一個(gè)實(shí)施例中,在存儲(chǔ)組件1110中存儲(chǔ)實(shí)施本文中提供的一個(gè)或更多個(gè)實(shí)施例的計(jì)算機(jī)可讀和處理器可執(zhí)行指令。存儲(chǔ)組件1110也可以存儲(chǔ)其它數(shù)據(jù)對(duì)象,如,操作系統(tǒng)的組件、包括一個(gè)或更多個(gè)應(yīng)用的可執(zhí)行二進(jìn)制、編程庫(kù)(例如,應(yīng)用編程接口(API))、媒體對(duì)象、以及文檔。可以把計(jì)算機(jī)可讀指令加載在存儲(chǔ)器組件 1108中以便通過(guò)處理器1106執(zhí)行。
運(yùn)算裝置1102還可以包括允許運(yùn)算裝置1102與其它裝置通信的一個(gè)或更多個(gè)通信組件1116。一個(gè)或更多個(gè)通信組件1116可以包括(例如)調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡(NIC)、 射頻發(fā)射器/接收器、紅外端口、以及通用串行總線(USB)USB連接。這種通信組件1116可以包括有線連接(通過(guò)物理線繩、線纜、或線路連接到網(wǎng)絡(luò))或無(wú)線連接(以無(wú)線方式與組網(wǎng)裝置通信,如,通過(guò)可見光、紅外線、或者一個(gè)或更多個(gè)射頻)。
運(yùn)算裝置1102可以包括一個(gè)或更多個(gè)輸入組件1114,如,鍵盤、鼠標(biāo)、筆、語(yǔ)音輸入裝置、觸摸輸入裝置、紅外攝像器、或者視頻輸入裝置,和/或一個(gè)或更多個(gè)輸出組件 1112,如,一個(gè)或更多個(gè)顯示器、揚(yáng)聲器、以及打印機(jī)。輸入組件1114和/或輸出組件1112可以經(jīng)由有線連接、無(wú)線連接、或者其任何組合連接到運(yùn)算裝置1102。在一個(gè)實(shí)施例中,可以使用來(lái)自另一運(yùn)算裝置的輸入組件1114或輸出組件1112作為運(yùn)算裝置1102的輸入組件1114和/或輸出組件1112。
可以通過(guò)各種互連(如,總線)連接運(yùn)算裝置1102的組件。這種互連可以包括外圍組件互連(PCI ),如,快速PCI (PCI Express)、通用串行總線(USB)、火線(IEEE 1394)、光學(xué)總線結(jié)構(gòu)等。在另一實(shí)施例中,運(yùn)算裝置1102的組件可以通過(guò)網(wǎng)絡(luò)互連。例如,存儲(chǔ)器組件1108可以包括位于通過(guò)網(wǎng)絡(luò)互連的不同物理地點(diǎn)中的多個(gè)物理存儲(chǔ)器單元。
本領(lǐng)域技術(shù)人員將會(huì)認(rèn)識(shí)到,用來(lái)存儲(chǔ)計(jì)算機(jī)可讀指令的存儲(chǔ)裝置可以分布在網(wǎng)絡(luò)上。例如,經(jīng)由網(wǎng)絡(luò)1118可訪問(wèn)的運(yùn)算裝置1120可以存儲(chǔ)計(jì)算機(jī)可讀指令以實(shí)施本文中提供的一個(gè)或更多個(gè)實(shí)施例。運(yùn)算裝置1102可以訪問(wèn)運(yùn)算裝置1120和下載計(jì)算機(jī)可讀指令中的一部分或全部以便執(zhí)行??商孢x地,運(yùn)算裝置1102可以根據(jù)需要下載計(jì)算機(jī)可讀指令項(xiàng),或者可以在運(yùn)算裝置1102處執(zhí)行一些指令和在運(yùn)算裝置1120處執(zhí)行 一些。
F.術(shù)語(yǔ)的使用如本申請(qǐng)中所使用的,術(shù)語(yǔ)“組件”、“模塊”、“系統(tǒng)”、“接口 ”等通常意指計(jì)算機(jī)相關(guān)實(shí)體,硬件、硬件和軟件的組合、軟件、或者執(zhí)行中的軟件。例如,組件可以是但是不限于是處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行物、執(zhí)行的線程、程序、和/或計(jì)算機(jī)。通過(guò)示例, 控制器上運(yùn)行的應(yīng)用和控制器均可以是組件。一個(gè)或更多個(gè)組件可以處于執(zhí)行的進(jìn)程和/ 或線程內(nèi),組件可以在一個(gè)計(jì)算機(jī)上本地化和/或分布在兩個(gè)或更多個(gè)計(jì)算機(jī)之間。
此外,可以作為使用標(biāo)準(zhǔn)編程和/或工程技術(shù)的方法、設(shè)備、或制品實(shí)施要求保護(hù)的主題,以產(chǎn)生用以控制計(jì)算機(jī)實(shí)施所公開主題的軟件、固件、硬件、或者其任何組合。如本文中所使用的術(shù)語(yǔ)“制品”意在涵蓋從任何計(jì)算機(jī)可讀裝置、載體、或者介質(zhì)可訪問(wèn)的計(jì)算機(jī)程序。當(dāng)然,本領(lǐng)域技術(shù)人員將會(huì)意識(shí)到,可以在不脫離要求保護(hù)主題的范圍或精神的情況下對(duì)此配置做出許多修改。
在本文中提供了實(shí)施例的各種操作。在一個(gè)實(shí)施例中,描述的操作中的一個(gè)或更多個(gè)操作可以構(gòu)建在一個(gè)或更多個(gè)計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)的計(jì)算機(jī)可讀指令,所述指令在通過(guò)運(yùn)算裝置執(zhí)行的情況下將會(huì)使得運(yùn)算裝置執(zhí)行描述的操作。不應(yīng)當(dāng)把描述操作中的一些或所有操作的次序解釋成隱含意味著這些操作是必定次序相關(guān)的。借助本說(shuō)明書的本領(lǐng)域技術(shù)人員將會(huì)明白替選排序。進(jìn)一步地,將會(huì)理解,并非在本文中提供的每個(gè)實(shí)施例中必定存在所有操作。
此外,在本文中使用詞語(yǔ)“示范性”意指作為實(shí)例、例子、或者示例。并非必定要把在本文中作為“示范性”描述的任何方面或設(shè)計(jì)解釋成優(yōu)于其它方面或設(shè)計(jì)。實(shí)際上,詞語(yǔ)示范性的使用意在以具體方式呈現(xiàn)概念。如本申請(qǐng)中所使用的,術(shù)語(yǔ)“或”意指包括性“或” 而非排他性“或”。即,如非另行說(shuō)明、或者根據(jù)上下文清楚,“X采用A或B”意指任何自然的包括性的排列。即,如果X采用A ;X采用B ;或者X采用A和B這二者,則在以上實(shí)例中的任何實(shí)例下滿足“X采用A或B”。另外,如非另行說(shuō)明或根據(jù)上下文清楚要指向單數(shù)形式,否則本申請(qǐng)和所附權(quán)利要求中所使用的冠詞“一”和“一個(gè)”通??梢越忉尀橐庵浮耙粋€(gè)或更多個(gè)”。
另外,雖然針對(duì)一個(gè)或更多個(gè)實(shí)施方式示出和描述了本公開,但本領(lǐng)域其它技術(shù)人員將會(huì)基于對(duì)本說(shuō)明書和附圖的閱讀和理解想到等同變換和修改。本公開包括所有這種修改和變換并且僅通過(guò)以下權(quán)利要求的范圍限定。特別是對(duì)于以上描述的組件(例如,元件、資源等)所執(zhí)行的各種功能,用來(lái)描述這種組件的術(shù)語(yǔ)意在如非另行表明則對(duì)應(yīng)于執(zhí)行所描述組件(例如,在功能上等同的)的指定功能的任何組件,即使在未在結(jié)構(gòu)上等同于執(zhí)行本公開的本文中示例的示范性實(shí)施方式中的功能的公開結(jié)構(gòu)的情況下。另外,雖然可能已經(jīng)針對(duì)數(shù)個(gè)實(shí)施方式中的僅一個(gè)實(shí)施方式公開了本公開的特定特征,但可以如對(duì)于任何給定或特定應(yīng)用可能期望和有益地那樣把這種特征與其它實(shí)施方式的一個(gè)或更多個(gè)其它特征組合。此外,在詳細(xì)實(shí)施方式或者權(quán)利要求中使用術(shù)語(yǔ)“包括”、“具有”、“含有”、“有”、 或者其變形的程度上,這種術(shù)語(yǔ)意指包括性的(以類似于術(shù)語(yǔ)“包括”的方式)。
權(quán)利要求
1.一種系統(tǒng),被配置成分派包括至少一個(gè)存儲(chǔ)裝置(102)的存儲(chǔ)集合,該系統(tǒng)包括 至少一個(gè)匯集存儲(chǔ)裝置(102)的分區(qū)(104)之中存儲(chǔ)的匯集分區(qū)(502),匯集分區(qū)(502)包括匯集分區(qū)(502)內(nèi)分配的擴(kuò)展(506);以及池配置(402),用于識(shí)別用于存儲(chǔ)所述匯集分區(qū)(502)的匯集存儲(chǔ)裝置(102);以及在匯集分區(qū)(502)內(nèi)表示的以及與至少一個(gè)擴(kuò)展(408)相關(guān)聯(lián)的至少一個(gè)空間(406)。
2.一種組織存儲(chǔ)集合的方法(600),該存儲(chǔ)集合包括在具有處理器(712)的計(jì)算機(jī) (710)上可訪問(wèn)的至少兩個(gè)存儲(chǔ)裝置(102),所述方法(600)包括在處理器(712)上執(zhí)行(604)被配置成如下內(nèi)容的指令(706)在至少兩個(gè)匯集存儲(chǔ)裝置(102)的存儲(chǔ)區(qū)域內(nèi),生成(606)包括識(shí)別如下內(nèi)容的池配置(402)的匯集分區(qū)(502)用于存儲(chǔ)所述匯集分區(qū)(502)的匯集存儲(chǔ)裝置(102),以及在匯集分區(qū)(502)內(nèi)表示的至少一個(gè)空間(406);以及在接收(612)用以分配空間(406)的擴(kuò)展(408)的請(qǐng)求后在匯集分區(qū)(502)內(nèi)分配(614)空間(406)的擴(kuò)展(408);以及使擴(kuò)展(408)與池配置(402)中的空間(406)相關(guān)聯(lián)(616)。
3.如權(quán)利要求2所述的方法各存儲(chǔ)裝置存儲(chǔ)分區(qū)表,該分區(qū)表針對(duì)存儲(chǔ)裝置的存儲(chǔ)區(qū)域內(nèi)的各分區(qū)指定分區(qū)的分區(qū)類型標(biāo)識(shí)符;以及作為匯集分區(qū)類型標(biāo)識(shí)符在分區(qū)表中指定匯集分區(qū)。
4.如權(quán)利要求2所述的方法,池配置被配置成將擴(kuò)展指定為空間的邏輯區(qū)域和存儲(chǔ)裝置的物理區(qū)域。
5.如權(quán)利要求4所述的方法,指令被配置成在接收到用以向池內(nèi)的空間分配容量的請(qǐng)求后在匯集分區(qū)內(nèi)分配擴(kuò)展;把所述擴(kuò)展綁定到所述空間;以及更新池配置以標(biāo)識(shí)所述擴(kuò)展和所述空間。
6.如權(quán)利要求2所述的方法池配置針對(duì)各空間指定空間類型標(biāo)識(shí)符;以及至少一個(gè)空間包括日志和作為日志空間類型標(biāo)識(shí)符在池配置中指定。
7.如權(quán)利要求2所述的方法,所述空間包括針對(duì)匯集分區(qū)的各空間識(shí)別所述空間的狀態(tài)描述符的維護(hù)空間。
8.如權(quán)利要求7所述的方法所述池配置針對(duì)各空間指定空間類型標(biāo)識(shí)符;以及作為維護(hù)空間類型標(biāo)識(shí)符在池配置中指定維護(hù)空間。
9.如權(quán)利要求2所述的方法通過(guò)至少兩個(gè)計(jì)算機(jī)可訪問(wèn)存儲(chǔ)集合的至少一個(gè)存儲(chǔ)裝置;以及指令被配置成在計(jì)算機(jī)之中識(shí)別計(jì)算機(jī)之中對(duì)池配置排他式寫入訪問(wèn)的池配置所有
10.如權(quán)利要求9所述的方法,指令被配置成在接收到用以更新池配置的請(qǐng)求后 確定計(jì)算機(jī)是否是池配置所有者;以及在確定計(jì)算機(jī)并非池配置所有者后,把請(qǐng)求轉(zhuǎn)發(fā)給池配置所有者。
全文摘要
一組存儲(chǔ)裝置可以互操作以共享存儲(chǔ)空間池,如,在廉價(jià)磁盤冗余陣列(RAID)機(jī)制中。然而,池的表示和容量向池分配的細(xì)節(jié)可以實(shí)現(xiàn)優(yōu)點(diǎn)和/或在存儲(chǔ)集合上施加限制。本文中呈現(xiàn)的是用于生成表示一個(gè)或多個(gè)存儲(chǔ)裝置上匯集分區(qū)的技術(shù),特征在于把池表示成池表現(xiàn)的一組空間的池配置;共享池的一組存儲(chǔ)裝置;以及向空間的邏輯區(qū)域映射存儲(chǔ)裝置的物理區(qū)域的一組擴(kuò)展。這些匯集技術(shù)的靈活性可以實(shí)現(xiàn)諸如靈活容量分配、延遲綁定、精簡(jiǎn)指配、以及存儲(chǔ)裝置參與和存儲(chǔ)裝置的不同集合共享的兩個(gè)或更多個(gè)不同池的特征。
文檔編號(hào)G06F12/06GK102945212SQ20121033356
公開日2013年2月27日 申請(qǐng)日期2012年9月11日 優(yōu)先權(quán)日2011年9月11日
發(fā)明者K.梅拉, E.帕萊奧羅古 申請(qǐng)人:微軟公司