TWI408549B - 再平衡條狀磁碟資料之方法、電腦系統、電腦程式產品與用以部署計算基礎結構之方法 - Google Patents
再平衡條狀磁碟資料之方法、電腦系統、電腦程式產品與用以部署計算基礎結構之方法 Download PDFInfo
- Publication number
- TWI408549B TWI408549B TW095141324A TW95141324A TWI408549B TW I408549 B TWI408549 B TW I408549B TW 095141324 A TW095141324 A TW 095141324A TW 95141324 A TW95141324 A TW 95141324A TW I408549 B TWI408549 B TW I408549B
- Authority
- TW
- Taiwan
- Prior art keywords
- storage units
- extensions
- group
- raid arrays
- population
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004590 computer program Methods 0.000 title claims description 9
- 238000003860 storage Methods 0.000 claims abstract description 164
- 238000003491 array Methods 0.000 claims description 110
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000004519 manufacturing process Methods 0.000 abstract description 6
- 230000003287 optical effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000032258 transport Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1012—Load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
在此揭露關於一種用於再平衡條狀磁碟資料(striped disk data)之方法、系統與製成品。
在耦合至複數個硬碟的電腦中,資料條狀化(data striping)(亦稱作磁碟條狀化)係指將資料體分割成為條帶(stripe)並將這些條帶分佈至複數個硬碟之程序。
特定的系統可跨越獨立磁碟冗餘陣列(RAID,Redundant Array of Independent Disk)行列(ranks)而執行資料條狀化,其中此RAID行列亦稱為RAID陣列(arrays)。RAID係使用複數個磁碟來儲存與分佈資料之儲存系統。為了執行資料條狀化,屬於特定邏輯單元(LUN,logical unit)之資料可能被劃分為延伸區(extents)。容體(volume)的連續延伸區(successive extents)可能接著以輪替的(rotating)方式被分佈於跨越可用的RAID陣列。這樣的條狀化可允許輸入/輸出負載(I/O load)之平衡。
假如新的行列被增加至跨越其資料條狀化已經被執行之組(set)時,跨越RAID行列之I/O負載之平衡便可能會遺失。
在此提供一種方法、系統與製成品,其中複數個延伸區被儲存於耦合至一控制器之第一組儲存單元。針對第二組儲存單元已經耦合至此控制器,產生一個決定。複數個延伸區被分佈於包含在第一組儲存單元與第二組儲存單元的所有儲存單元之中。
在一些其它的具體實施例中,儲存單元為獨立磁碟之多餘陣列(RAID)陣列,其中複數個延伸區係平均地分佈在包含於第一組RAID陣列與第二組RAID陣列之所有RAID陣列之中,其中在分佈複數個延伸區於所有RAID陣列之中時,沒有延伸區被移動超過一次,且其中複數個延伸區係以一最小的移動次數而分佈在所有RAID陣列之中,且其中複數個延伸區橫跨(span)一容體(volume)。
在更多其它的具體實施例中,第一組儲存單位包含預存RAID陣列的數目,其中第二組儲存單元包含新增加之空的RAID陣列,且其中預存及新增RAID陣列共同包含RAID陣列的總和數目。藉由將預存RAID陣列之數目乘以RAID陣列之總和數目,來決定一結果。藉由將複數個延伸區之數目除以此結果,來決定一商數(quotient)。接著產生數目上等同於此商數之群體(groups),其中每個群體係被指派數目上等同此結果之延伸區。藉由在RAID陣列之總和數目中平均地再分佈(redistributing)指派給一個群體之延伸區,來處理(process)一個群體。
在進一步的具體實施例中,複數個延伸區係第一複數個延伸區,其中第一與第二組之儲存單元共同包含一儲存單元之總和數目。第二複數個延伸區被儲存於第二組儲存單元中,其中第一與第二複數個延伸區包含一延伸區之總和數目。藉由平方此儲存單元之總和數目,來決定一結果。藉由將延伸區之總和數目除以此結果,來決定一商數。接著產生數目上等同於此商數之群體,其中每個群體係被指派數目上等同於此結果之延伸區,且其中每個群體包含選擇自第一與第二組儲存單元之延伸區。藉由在儲存單元之總和數目中平均地再分佈指派給一個群體之延伸區,來處理一個群體。
在更進一步之具體實施例中,第一與第二組儲存單元共同包含儲存單元之總合數目。決定第一組儲存單元之儲存單元之數目與儲存單元之總和數目之最小公倍數(least common multiple)。產生儲存單元之群體,其中每個群體被指派選自複數個延伸區之中最小公倍數的延伸區。藉由在儲存單元之總和數目中平均地再分佈指派給一個群體之延伸區,來處理一個群體,其中此再分佈係基於自第一至第二組儲存單元而執行最小數目之複製操作(copy operations)。
在接下來的描述裡,請參考伴隨的顯示數個具體實施例之圖式。要瞭解仍然有可能有其他的具體實施例,而具有結構上或操作上的變化。舉例來說,無論儲存於儲存裝置之應用程式資料為何種類型,在此所提出的具體實施例都可以被應用。
某些具體實施例提供再平衡條狀磁碟資料,以回應正被增加至資料條狀化已經被執行之磁碟組之新行列(rank)。在某些具體實施例中,邏輯容體(logical volumes)係橫跨延伸區池(extent pool)(具有一個延伸區的「條帶」大小)來被條狀化。某些具體實施例可允許在增加一個或多個新行列至該池之後,再平衡此容體條狀圖樣(volume stripping pattern)。在某些具體實施例中,每個容體係橫跨在池裡之所有行列來條狀化,而盡可能移動較少的資料,並且不會產生任何對正被移動的資料之暫時磁碟儲存之需求。
在某些具體實施例中,每個現存容體之延伸區被組織為大小為M的組,其中M為行列之新舊數字的乘積。選自此群體之特定延伸區接著被移至新的行列,其方式係以延伸區之分佈橫跨著新的行列組來平衡。
在某些其他具體實施例中,某些數量之新容體可在執行再平衡操作之前就已經被分配至新的行列。在這樣的範例中,所形成群體之大小,係相等於此新數目之行列的平方(square),並且每個群體皆包含來自一個舊的與一個新的容體之延伸區。選擇的延伸區接著相互置換(swapped),其方式係以來自每個容體之延伸區之分佈係橫跨新行列組來條狀化。
圖1顯示依據某些具體實施例之計算環境100之方塊圖,其包含耦合至儲存區104的儲存控制單元102,儲存區104包含預存RAID陣列106a、106b、...106n以及新增RAID陣列108a、108b、...108m。在儲存控制單元102已經儲存資料於先前耦合的預存RAID陣列106a,...106n之後,新增RAID陣列108a、...108m才耦合至儲存控制單元102。
儲存控制單元102(亦稱為控制器)包含任何合適的計算裝置,包括現在技藝所廣為熟知的裝置,像是個人電腦、工作站、大型主機(mainframes)、中程電腦(midrange computer)、網路裝置、掌上型電腦、電話裝置、葉片式電腦(blade computers)、手持電腦等等。
雖然圖1顯示儲存區104具有預存RAID陣列106a、...106n與新增RAID陣列108a、...108m,然而在其他的具體實施例中,儲存區104亦可包含不同於RAID陣列之儲存裝置。舉例來說,儲存區104可包含磁帶(tapes)、光學裝置(optical devices)等等,以替代RAID陣列106a、...106n、108a、...108m(或於其外額外增加)。
延伸區110a、110b、...110p、112a、112b、...112q、114a、114b、...114r係分佈於預存RAID陣列106a、...106n之中。延伸區係用於儲存資料的單元(element),其中每個延伸區的大小都是相同的。延伸區之大小可以有不同的變化,舉例來說在一個具體實施例中為5千位元組(Kbyte)、在另一個具體實施例裡為50千位元組、且再另一個具體實施例裡為1百萬位元組(Mbyte)。相較於每個RAID陣列之儲存容量而言,每個延伸區之大小是小的。複數個延伸區可屬於被寫至儲存區104之相同容體。雖然在新增加的陣列108a、...108m裡沒有顯示任何延伸區,但延伸區可以被複製或寫至預存的RAID陣列108a、...108m裡。
儲存控制單元102包含延伸區再分佈器應用程式116,其中此延伸區再分佈器應用程式116能夠在RAID陣列106a、...106m、108a、...108m之中重新安排延伸區110a、...110p、112a、...112q、114a、...114r。
在某些具體實施例中,延伸區再分佈器應用程式116組織了在預存RAID陣列106a、...106n與新增RAID陣列108a、...108m之中的延伸區,使得延伸區之分佈在預存的RAID陣列106a、...106n與新增RAID陣列108a、...108之間被平衡。
圖2顯示依據某些具體實施例之流程圖,用於當新增RAID陣列108a、...108m為空的時候,在圖1之計算環境100之所有RAID陣列之中再平衡延伸區。顯示於圖2之某些操作可實行於延伸區再分佈器應用程式116中。
接下來顯示某些具體實施例,其某些方面將會稍後顯示於圖2之流程圖裡。假定延伸區池最初包含行列0與1,其中行列為RAID陣列。因此,給定的容體V可具有以次序{0、1、0、1、...}指派給兩個行列之容量V的延伸區。隨後,可增加第三行列,其中第三行列被稱為行列2。為了要再平衡,某些具體實施例將容體V之延伸區組織為2×3=6的群體中。每個6延伸區之群體(稱為群體g)將會包含三個在行列0之成員(members),以及三個在行列1之成員。
為了參考之便,將在行列0之三個成員稱為g0 , 0
、g0 , 1
以及g0 , 2
。同樣地,在行列1之三個成員可稱為g1 , 0
、g1 , 1
以及g1 , 2
。
某些具體實施例指派了六延伸區之群體至如下之三個新的行列:行列0:延伸區g0 , 0
、g0 , 1
行列1:延伸區g1 , 0
、g1 , 1
行列2:延伸區g0 , 2
、g1 . 2
這樣的具體實施例除了對行列2之外,避免了製造任何資料之複製。
更特定地於一第一程序中,在某些具體實施例裡需要用一個擴張(expansion)給自No l d
至Nn e w
之延伸區池中的行列數目上。某些具體實施例藉由將容體之存在延伸區形成為大小為M=No l d
×Nn e w
的群體。每個群體包含每個舊行列之Nn e w
發生(occurrences)。
給定之群體可藉由分離地辨識屬於每個舊行列之延伸區來建立。此之執行可以藉由相對位元組地址(RBA,Relative Byte Address)之次序來進行經過容體延伸區,保持著一指標(pointer)指向屬於每個行列之最新增加的延伸區。一個延伸區被增加至第一行列,係藉由伴隨著第一行列之指標來往前進行;接著一個延伸區被加至下一個行列,係藉由伴隨著下一個指標來向前進行;並這樣繼續,直到Nn e w
延伸區已經被發現屬於每一個行列。這樣的用以建造群體之具體實施例避免了形成關於延伸區分配之存在的圖樣之假設。
任何可能被遺留(left over)的延伸區,在產生盡可能許多均衡地平衡的延伸區之後,被展期(deferred)直至結束。接著進行第二嘗試,以形成被遺留於群體之延伸區,此時緩和了在給定的群體裡僅使用一個容體的需求。
如果仍然有任何延伸區被遺留的話,在形成此第二組群體之後,這樣的延伸區會被忽略。讓在一給定群體g(包含在行列0中)之延伸區被編號為g0 , 0
、g0 , 1
、...g0 , N n e w - 1
以及在行列1、2、...No l d - 1
之延伸區也可被以相應的方式來編號。此再平衡操作可以接著如下所示來執行:for i=No l d
to Nn e w
-1;for j=0 to No l d
-1;配置新的延伸區fi , j
;for i=0 to No l d
-1;for j=No l d
to Nn e w
-1;移動gi , j
至fj , i
;釋放延伸區gi , j
;延伸區被複製之數目為一最小值,以用來確保每一個行列皆包含一來自容體之相等數目之延伸區。
現在進行至圖2之流程圖,其描述如同實行於計算環境100中用於再平衡條狀磁碟資料之具體實施例之某些方面。控制開始於方塊200,其中延伸區再分佈器應用程式116接受到一個指示,指示出一個或多個RAID陣列108a、...108m已經被新增加至預存RAID陣列106a、...106n。
此延伸區再分佈器應用程式116設定了(在方塊202)M以便相等於預存RAID陣列106a、...106n之數目,與增加新的RAID陣列108a、...108m後之總和數目RAID陣列之數目之間的乘積。
此延伸區再分佈器應用程式116將在預存RAID陣列106a、...106n之延伸區的數目除以(在方塊204)M,以便決定商數以及餘數。延伸區之群體之數目被指派(在方塊206)為此商數。
隨後,對於延伸區之每個群體而言,此延伸區再分佈器應用程式116將來自預存RAID陣列106a、...106n之延伸區,複製(在方塊208)至一個或多個新增RAID陣列108a、...108m,使得在每個RAID陣列之延伸區之數目會相等。
控制進行至方塊210,其中此延伸區再分佈器應用程式116決定是否餘數為零。如果是的話,控制進行至方塊214,並且此再平衡之程序被終止。如果不是的話,延伸區之餘數數目被盡可能平均地分佈於(在方塊212)RAID陣列106a、...106n、108a、...108m之中,並且控制行進至方塊214,其中再平衡之程序終止。
因此,圖2顯示某些具體實施例,於其中在預存RAID陣列106a、...106n與新增RAID陣列108a、...108m之延伸區之在平衡程序之前,沒有延伸區已經被配置於新增RAID陣列108a、...108m。某些具體實施例確保了所複製的延伸區之數目係為一最小值,以確保每一個RAID陣列皆包含一來自一包括延伸區之容體之相同數目之延伸區。
圖3顯示依據某些具體實施例之範例,其顯示當新增RAID陣列為空的時候,再平衡橫跨所有RAID陣列之延伸區。
在圖3裡,此儲存區300包含三個預先存在之RAID陣列以及兩個新增RAID陣列。圖3之方塊302顯示如何依據圖2之方塊202與204之邏輯來計算M、商數以及餘數。
既然M計算為15且商數為4,方塊304顯示正形成四個群體,其中這四個群體中每個皆具有15個延伸區。除了這四個群體之外,四個餘數延伸區306係顯示於方塊304。
方塊308顯示四個群體之延伸區如何在這五個RAID陣列之中再分佈,以及四個餘數延伸區306如何分佈於這五個RAID陣列之中。顯示於圖2之方塊206-214之邏輯可被用來再分佈延伸區。
方塊310顯示再平衡之後在五個RAID陣列中每個的延伸區數目。在再平衡之後,每個RAID陣列皆具有盡可能平均分佈的延伸區。
因此,圖3顯示一個用於依據描述於圖2之邏輯對橫跨RAID陣列之延伸區進行再平衡之範例。
圖4顯示一個依據某些具體實施例之流程圖,其用於在延伸區已經被儲存於新增RAID陣列108a、...108m之中時,再平衡橫跨所有RAID陣列之延伸區。描述於圖4之某些操作可能被實施於儲存控制單元102中所實施之延伸區再分佈器應用程式116。
接下來顯示根據第二程序之某些具體實施例,其某些方面將會被顯示於圖4之流程圖中。如實行於某些具體實施例之示範的步驟1、2與3(在以下提供),其允許於再平衡之前,於新增RAID陣列108a、...108m中進行配置:步驟1:對於每個容體,形成盡可能多的群體,其精確地具有每個Nn e w
目標行列(target ranks)的一次發生(occurence)。以這個方式所辨識的延伸區被單獨地遺留。步驟2:形成盡可能多的群體,其在一個體上具有每個舊行列(標為gi , j
)的Nn e w
次發生,以及在不同容體上具有每個增加的行列(標為hi , j
)的Nn e w
次發生。每個這樣的群體可伴隨著最小量的複製,而被重新安排在適當的位置。為了完成具有最小量複製之重新安排(rearrangement),可以執行下列組的配對方式延伸區相互置換(set of pairwise extent swaps)。for i=0 to No l d
-1;for j=No l d
to Nn e w
-1;相互置換(swap)gi , j
與hj , i
;步驟3:對於每個容體而言,如先前描述於第一程序中形成盡可能多的這些相同類型之群體,並且如先前描述於第一程序之相同方式來處理群體。
如在第一程序中,在延伸的版本中處理遣留的延伸區被展期直至結束。雖然盡可能多的這些延伸區被處理於步驟(1),但這時緩和用在一群體之所有成員之需求,以便屬於相同的容體。任何剩下的延伸區接著如同在第一程序裡之展期的延伸區一般被處理。
現在進行至圖4之流程圖,其描述用於再平衡條狀磁碟資料之具體實施例之某些方面,如同實行於計算環境100中,控制開始於方塊400處,其中延伸區再分佈器應用程式116已經平衡了預存RAID陣列106a、...106n。
控制行進至方塊402,其中新的RAID陣列108a、...108m被增加至預存RAID陣列106a、...106n。延伸區持續地被加至(在方塊404)預存RAID陣列106a、...106n以及新的RAID陣列108a、...108m兩者中,其係根據循環分佈(round robin distribution)之增加的延伸區。
延伸區再分佈器應用程式116決定了(在方塊406)是否需要延伸區之再平衡。如果不需要的話,控制返回至方塊404,而假使需要延伸區之再平衡的話,延伸區再分佈器應用程式116便開始(在方塊408)橫跨RAID陣列之延伸區的再平衡。
在某些具體實施例中,延伸區再分佈器應用程式116設定了(在方塊410)M使之成為RAID陣列之總和數目之平方。接著在方塊412,對於每一個容體,延伸區再分佈器應用程式116將在預存106a、...106n以及新增RAID陣列108a、...108m之中的延伸區數目,除以M以決定商數與餘數。控制進行至方塊414,其中延伸區之群體之數目被指定為商數之值,其中在某些具體實施例,每個群體皆包含來自一個舊的以及一個新的容體之延伸區。
延伸區再分佈器應用程式116以在所有RAID陣列下之延伸區對每個延伸區之群體進行相互置換(在方塊416),使得在每個RAID陣列裡之延伸區的數目是相同的,其中在某些具體實施例,每個群體最少的複製(minimal copying)進行重新安排。
控制進行至方塊418,其中延伸區再分佈器應用程式116決定了是否餘數為零。如果是的話,控制進行至方塊424,且再平衡之程序終止。如果不是的話,延伸區之餘數的數目盡可能平均地分佈於(在方塊420)RAID陣列106a、...106n、108a、...108m之中,並且控制進行至方塊424,並於其中終止再平衡之程序。
因此,圖4顯示了某些具體實施例,其中在某些數目之延伸區已經被儲存在新增RAID陣列108a、...108m之後,延伸區被再平衡。
圖1-4顯示了某些用於再平衡事件之具體實施例,其中在某些具體實施例中,用以再平衡之操作立即地追隨著新行列之增加而被執行,然而此行列仍然是空的。在某些其他的具體實施例中,容體配置(volume allocation)可以在執行再平衡操作之前便已經發生。
在某些其它的具體實施例中,會決定在預存儲存單元組之儲存單元(如RAID陣列)之數目,以及儲存單元之總和數目兩者的最小公倍數。儲存單元之群體被產生,其中每個群體皆被指定了選自複數個延伸區之延伸區數目的最小公倍數。藉由將一個群體的指定延伸區均平等地再分佈於儲存單元之總和數目,來處理此群體,其中此再分佈係基於自第一至第二組儲存單元執行最小數目的複製操作。
所描述之技術可能被實用來做為一種方法、裝置或製成品,其牽涉到軟體、韌體、微碼、硬體及/或其組合。在此使用之名詞「製成品」為在媒介中實行之程式碼或邏輯,這樣的媒介可包含硬體邏輯(例如積體電路晶片、可編程閘陣列(PGA)、特定應用整合電路(ASIC)等等)或電腦可讀媒介,譬如磁性儲存媒介(如硬碟、軟碟、磁帶等)、光學儲存(CD-ROM、光碟等)、揮發性與非揮發性記憶體裝置(譬如電性可抹除可編程唯讀記憶體(EEPROM)、唯讀記憶體(ROM)、可編程唯讀記憶體(PROM)、隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、快閃記憶體(flash)、韌體、可編程邏輯等)。在電腦可讀媒介裡之程式碼可藉由處理器來存取與執行。編碼有程式碼與邏輯之媒介亦可包含經由空間或傳送媒介來傳送信號,譬如藉由光纖、銅線等。編碼有程式碼與邏輯之傳送信號能夠藉由傳送站來傳遞,並且藉由接收站來接收,其中在傳送信號裡的程式碼與邏輯可被解碼,並且儲存於硬體或是位於接收與傳送站或裝置裡之電腦可讀媒介。此外,「製成品」可包含硬體與軟體元件之組合,在其中具體化、處理與執行程式碼。當然,熟此技藝人士將會認知到許多修改可以在不偏離具體實施例之範圍下執行,且製成品可包含任何資訊承載媒介。舉例來說,製成品包含儲存有指示之儲存媒介,而當藉由機器執行時,依照這些指令進行各項操作。
某些具體實施例之形式可以採取徹底地硬體具體實施例、徹底地軟體具體實施例、或同時包含硬體與軟體元素之具體實施例。在一個較佳之具體實施例中,此發明係實現於軟體裡,其軟體包含但不僅限於韌體、常駐軟體、微碼等等。
再者,某些具體實施例之形式可為提供可存取程式碼的電腦可用或電腦可讀媒介的電腦程式產品,其結合至或藉由電腦或任何指示執行系統來使用。為了上述之目的,電腦可用或電腦可讀媒介可以是任何包含、儲存、傳播或傳送程式的裝置,其結合至或藉由電腦或任何指示執行系統來使用。此媒介可以是電子的、磁性的、光學的、電磁的、紅外線的或半導體系統(或儀器或裝置)或傳播媒介。電腦可讀媒介之範例包含半導體或固態記憶體、磁性磁帶、可移除電腦磁片、隨機記憶體(RAM)、唯讀記憶體(ROM)、剛式磁性磁片(rigid magnetic disk)以及光碟片。目前光碟片的範例包含唯讀記憶體光碟片、可讀/寫光碟片以及數位視訊影碟(DVD)。
除非特意地具體說明之外,名詞「某些具體實施例」、「一具體實施例」、「具體實施例」、「具體實施例群」、「該具體實施例」、「該具體實施例群」、「一個或多個具體實施例」、「一些具體實施例」以及「一個具體實施例」意指一個或多個(但是不是全部)具體實施例。除非特意地具體說明之外,名詞「包括(including)」、「包含(comprising)」、「具有(having)」以及其變化意指「包括但不僅限於」。除非特意地具體說明之外,列舉的項目清單並不是暗示任何或所有這些項目係彼此排外的。除非特意地具體說明之外,名詞「一(a)」、「一(an)」或「該(the)」意指「一個或多個」。
除非特意地具體說明之外,彼此聯繫之裝置並不需要與互相連續地連結。此外,彼此聯繫之裝置可透過一個或多個中介物(intermediaries)來直接地或間接地聯繫。除此之外,具有幾個互相聯繫之元件之具體實施例,其描述並沒有暗示所有這些零件都是必需的。相反地,許多選擇的元件係描述來顯示較為廣泛變化之可能的具體實施例。
再者,雖然程序步驟、方法步驟、演算法或類似之物可能以連續的次序來描述,然而這樣的程序、方法與演算法可能被配置來以交替之方式來作用。換句話說,可能被描述之任何步驟之順序或次序,並非限定這些步驟僅能以該種次序來執行。在此描述之程序之步驟可以用任何實際的次序來執行。再者,某些步驟可能同時地、平行地或協同地執行。
當在此描述單一裝置或物件時,應理解到仍可能可以有超過一個裝置/物件(無論他們合作於否)被使用來取代單一裝置/物件。同樣地,當超過一個裝置或物件在此描述時(無論他們合作於否),應理解到仍可能用單一裝置/物件來取代超過一個的裝置或物件。裝置之功能及/或特徵可以在其它實施例中藉由一個或多個其它沒有被特定描述為具有該功能的裝置來實施。
圖5顯示一個示範的電腦系統500,其中在某些具體實施例裡,圖1之計算環境100之儲存控制單元102可以依照電腦系統500之電腦結構來實現。電腦系統500亦可稱為系統,並且可包含電路502,其可能在某些具體實施例中包含處理器504。系統500亦可包含記憶體506(譬如揮發性記憶體裝置)以及儲存器508。系統500之某些元件可以或亦可不在儲存控制單元102裡被發現。儲存508可包含非揮發性記憶體裝置(譬如EEPROM、ROM、PROM、RAM、DRAM、SRAM、快閃記憶體、韌體、可編程邏輯等)、磁性磁碟機、光碟機、磁帶機等。儲存器508可包括內部的儲存裝置、附加的儲存裝置、及/或網路可存取儲存裝置。系統500可包含具有程式碼512之程式邏輯510,此程式碼512可被載入至記憶體506並藉由處理器504或電路502來執行。在某些其他的具體實施例中,程式邏輯510可被實施於電路502中。因此,雖然圖5顯示分離自其他元件之程式邏輯510,然而程式邏輯510亦可實施於記憶體506及/或電路502中。
某些具體實施例可為一種方法,藉由一個人或自動的程序整合電腦可讀程式碼,來將計算指令部署進入計算系統,其中與系統結合的程式碼能夠執行所描述之具體實施例之操作。
顯示於圖2與4的至少某些操作可以被平行地以及連續地執行。在其它的具體實施例中,某些操作亦可以不同的次序來執行、修改或移除。
再者,許多軟體與硬體元件已經在分開的模組裡為了顯示之目的而描述。這樣的元件可被整合為較少數目之元件,或是分割成為較多數目之元件。此外,被描述來藉由特定元件執行之某些操作,亦可藉由其他元件來執行。
顯示或參考圖1-5之資料結構與元件,在此被描述為具有特定類型之資訊。然而在其它具體實施例中,資料結構與元件可具有不同的結構,並且相較於顯示或參考圖而言,具有較少、較多或不同的範疇或不同之功能。因此,前述之具體實施例的描述是為了顯示與說明之目的來呈現。其並沒有試圖來詳列或是限制具體實施例使之成為揭露的確切形式。依照前述揭示,仍可能有許多修改或變化。
100...計算環境
102...儲存控制單元
104...儲存區
106a、106b、...106n...預存RAID陣列
108a、108b、...108m...新增RAID陣列
110a、110b、...110p...延伸區
112a、112b、...112q...延伸區
114a、114b、...114r...延伸區
300...儲存區
500...電腦系統
502...電路
504...處理器
506...記憶體
508...儲存器
510...程式邏輯
512...程式碼
現在參考圖式,其中相同的參考數字代表相應的元件。
圖1為依據某些具體實施例之方塊圖,顯示一計算環境,其包含具有預存與新增RAID陣列之儲存單元;圖2為依據某些具體實施例之流程圖,顯示當新增RAID陣列為空的時,再平衡橫跨所有RAID陣列之延伸區;圖3為依據某些具體實施例之範例,顯示當新增RAID陣列為空的時,橫跨所有RAID陣列之延伸區之再平衡;圖4為依據某些具體實施例之流程圖,顯示當延伸區已經儲存於新增RAID陣列時,橫跨所有RAID陣列而再平衡延伸區;以及圖5顯示計算系統之結構,其中在某些具體實施例,圖1之計算環境之儲存控制單元可依據此計算系統之結構來實施。
100...計算環境
102...儲存控制單元
104...儲存區
106a、106b、...106n...預存RAID陣列
108a、108b、...108m...新增RAID陣列
110a、110b、...110p...延伸區
112a、112b、...112q...延伸區
114a、114b、...114r...延伸區
Claims (20)
- 一種再平衡條狀磁碟資料之方法,包含:儲存複數個延伸區(extents)於耦合至一控制器之第一組儲存單元;決定第二組儲存單元已經耦合至該控制器;以及分佈該複數個延伸區於包含在該第一組儲存單元與該第二組儲存單元的所有儲存單元之中,其中在分佈複數個延伸區於所有儲存單元之中時,沒有延伸區被移動超過一次。
- 如申請專利範圍第1項之方法,其中該些儲存單元為獨立磁碟冗餘陣列(RAID陣列),其中該複數個延伸區係平均地分佈在包括於該第一組RAID陣列與該第二組RAID陣列之所有RAID陣列之中,其中在分佈該複數個延伸區於所有該RAID陣列之中時,沒有延伸區被移動超過一次,且其中該複數個延伸區係以最小的移動次數而分佈在所有該RAID陣列之中,且其中該複數個延伸區橫跨(span)一容體(volume)。
- 如申請專利範圍第1項之方法,其中該第一組儲存單元包含一些預存RAID陣列,其中該第二組儲存單元包含新增加之空的RAID陣列,且其中該些預 存及新增RAID陣列共同包含全部RAID陣列,該方法進一步包含:決定一結果,藉由將該些預存RAID陣列之數目乘以該些RAID陣列之總和數目;決定一商數,藉由將該複數個延伸區之數目除以該結果;產生數目上等同該商數之群體,其中每個群體係被指派數目上等同該結果之延伸區;以及處理該些群體之一,藉由在全部該些RAID陣列中平均地再分佈(redistributing)指派給該群體之該些延伸區。
- 如申請專利範圍第1項之方法,其中該複數個延伸區係第一複數個延伸區,其中該第一與該第二組之儲存單元共同包含全部儲存單元,該方法進一步包含:儲存第二複數個延伸區於該第二組儲存單元中,其中該第一與該第二複數個延伸區包含全部延伸區;決定一結果,藉由平方該些儲存單元之總和數目;決定一商數,藉由將該些延伸區之總和數目除以該結果;產生數目上等同該商數之群體,其中每個群體 係被指派數目上等同該結果之延伸區,且其中每個群體包括選擇自該第一與該第二組儲存單元之延伸區;以及處理該些群體之一,藉由在全部該些儲存單元中平均地再分佈指派給該群體之該些延伸區。
- 如申請專利範圍第1項之方法,其中該第一與該第二組儲存單元共同包含全部儲存單元,其中該方法進一步包括:決定該第一組儲存單元之該些儲存單元之數目與該些儲存單元之總和數目之最小公倍數;產生儲存單元之群體,其中每個群體被指派選自該複數個延伸區之中該最小公倍數之數目的延伸區;處理該些群體之一,藉由在全部該些儲存單元中平均地再分佈指派給該群體之該些延伸區,其中該再分佈係基於自該第一至該第二組儲存單元,執行最少之複製操作。
- 一種耦合至一第一組儲存單元且能夠耦合至一第二組儲存單元之電腦系統,該電腦系統包含:一記憶體;以及一耦合至該記憶體之處理器,其中該處理器可用於: (i)儲存複數個延伸區於該第一組儲存單元;(ii)決定該第二組儲存單元已經耦合至該系統;以及(iii)分佈該複數個延伸區於包含在該第一組儲存單元與該第二組儲存單元的所有儲存單元之中,其中在分佈複數個延伸區於所有儲存單元之中時,沒有延伸區被移動超過一次。
- 如申請專利範圍第6項之系統,其中該些儲存單元為獨立磁碟冗餘陣列(RAID陣列),其中該複數個延伸區係平均地分佈在包括於該第一組RAID陣列與該第二組RAID陣列之所有RAID陣列之中,其中在分佈該複數個延伸區於所有該RAID陣列之中時,沒有延伸區被移動超過一次,且其中該複數個延伸區係以最小的移動次數而分佈在所有該RAID陣列之中,且其中該複數個延伸區橫跨一容體。
- 如申請專利範圍第6項之系統,其中該第一組儲存單元包含一些預存RAID陣列,其中該第二組儲存單元包含新增加之空的RAID陣列,其中該些預存及新增RAID陣列共同包含全部RAID陣列,且其 中該處理器進一步可用於:決定一結果,藉由將該些預存RAID陣列之數目乘以該些RAID陣列之總和數目;決定一商數,藉由將該複數個延伸區之數目除以該結果;產生數目上等同該商數之群體,其中每個群體係被指派數目上等同該結果之延伸區;以及處理該些群體之一,藉由在全部該些RAID陣列中平均地再分佈指派給該群體之該些延伸區。
- 如申請專利範圍第6項之系統,其中該複數個延伸區係第一複數個延伸區,其中該第一與該第二組之儲存單元共同包含全部儲存單元,且其中該處理器進一步可用於:儲存第二複數個延伸區於該第二組儲存單元中,其中該第一與該第二複數個延伸區包含全部延伸區;決定一結果,藉由平方該些儲存單元之總和數目;決定一商數,藉由將該些延伸區之總和數目除以該結果;產生數目上等同該商數之群體,其中每個群體係被指派數目上等同該結果之延伸區,且其中每個群體包括選擇自該第一與該第二組儲存單元之延 伸區;以及處理該些群體之一,藉由在全部該些儲存單元中平均地再分佈指派給該群體之該些延伸區。
- 如申請專利範圍第6項之系統,其中該第一與該第二組儲存單元共同包含全部儲存單元,且其中該處理器進一步可用於:決定該第一組儲存單元之該些儲存單元之數目與該些儲存單元之總和數目之最小公倍數;產生儲存單元之群體,其中每個群體被指派選自該複數個延伸區之中該最小公倍數之數目的延伸區;處理該些群體之一,藉由在全部該些儲存單元中平均地再分佈指派給該群體之該些延伸區,其中該再分佈係基於自該第一至該第二組儲存單元,執行最少之複製操作。
- 一種用以控制一第一與一第二組儲存單元之電腦程式產品,其中該第一組儲存單元係耦合至一控制器,其中該第二組儲存單元係能夠耦合至該控制器,且其中該電腦程式產品進行操作,該些操作包含:儲存複數個延伸區於耦合至該控制器之該第一組儲存單元; 決定第二組儲存單元已經耦合至該控制器;以及分佈該複數個延伸區於包含在該第一組儲存單元與該第二組儲存單元的所有儲存單元之中,其中在分佈複數個延伸區於所有儲存單元之中時,沒有延伸區被移動超過一次。
- 如申請專利範圍第11項之電腦程式產品,其中該電腦程式產品係一電腦可讀媒介,其中該些儲存單元為獨立磁碟冗餘陣列(RAID陣列),其中該複數個延伸區係平均地分佈在包括於該第一組RAID陣列與該第二組RAID陣列之所有RAID陣列之中,其中在分佈該複數個延伸區於所有該RAID陣列之中時,沒有延伸區被移動超過一次,且其中該複數個延伸區係以最小的移動次數而分佈在所有該RAID陣列之中,且其中該複數個延伸區橫跨一容體。
- 如申請專利範圍第11項之電腦程式產品,其中該第一組儲存單元包含一些預存RAID陣列,其中該第二組儲存單元包含新增加之空的RAID陣列,且其中該些預存及新增RAID陣列共同包含全部RAID陣列,該些操作進一步包含:決定一結果,藉由將該些預存RAID陣列之數 目乘以該些RAID陣列之總和數目;決定一商數,藉由將該複數個延伸區之數目除以該結果;產生數目上等同該商數之群體,其中每個群體係被指派數目上等同該結果之延伸區;以及處理該些群體之一,藉由在全部該些RAID陣列中平均地再分佈指派給該群體之該些延伸區。
- 如申請專利範圍第11項之電腦程式產品,其中該複數個延伸區係第一複數個延伸區,其中該第一與該第二組之儲存單元共同包含全部儲存單元,該些操作進一步包含:儲存第二複數個延伸區於該第二組儲存單元中,其中該第一與該第二複數個延伸區包含全部延伸區;決定一結果,藉由平方該些儲存單元之總和數目;決定一商數,藉由將該些延伸區之總和數目除以該結果;產生數目上等同該商數之群體,其中每個群體係被指派數目上等同該結果之延伸區,且其中每個群體包括選擇自該第一與該第二組儲存單元之延伸區;以及處理該些群體之一,藉由在全部該些儲存單元 中平均地再分佈指派給該一個群體之該些延伸區。
- 如申請專利範圍第11項之電腦程式產品,其中該第一與該第二組儲存單元共同包含全部儲存單元,該些操作進一步包含:決定該第一組儲存單元之該些儲存單元之數目與該些儲存單元之總和數目之最小公倍數;產生儲存單元之群體,其中每個群體被指派選自該複數個延伸區之中該最小公倍數之數目的延伸區;處理該些群體之一,藉由在全部該些儲存單元中平均地再分佈指派給該群體之該些延伸區,其中該再分佈係基於自該第一至該第二組儲存單元,執行最少之複製操作。
- 一種用以部署計算基礎結構之方法,包括整合電腦可讀程式碼進入一計算系統,其中該程式碼結合該計算系統係能用以執行:儲存複數個延伸區於耦合至一控制器之第一組儲存單元;決定第二組儲存單元已經耦合至該控制器;以及分佈該複數個延伸區於包含在該第一組儲存單元與該第二組儲存單元的所有儲存單元之中,其 中在分佈複數個延伸區於所有儲存單元之中時,沒有延伸區被移動超過一次。
- 如申請專利範圍第16項之方法,其中該些儲存單元為獨立磁碟冗餘陣列(RAID陣列),其中該複數個延伸區係平均地分佈在包括於該第一組RAID陣列與該第二組RAID陣列之所有RAID陣列之中,其中在分佈該複數個延伸區於所有該RAID陣列之中時,沒有延伸區被移動超過一次,且其中該複數個延伸區係以最小的移動次數而分佈在所有該RAID陣列之中,且其中該複數個延伸區橫跨一容體。
- 如申請專利範圍第16項之方法,其中該第一組儲存單元包含一些預存RAID陣列,其中該第二組儲存單元包含新增加之空的RAID陣列,且其中該些預存及新增RAID陣列共同包含全部RAID陣列,該方法進一步包含:決定一結果,藉由將該些預存RAID陣列之數目乘以該些RAID陣列之總和數目;決定一商數,藉由將該複數個延伸區之數目除以該結果;產生數目上等同該商數之群體,其中每個群體係被指派數目上等同該結果之延伸區;以及 處理該些群體之一,藉由在全部該些RAID陣列中平均地再分佈指派給該一個群體之該些延伸區。
- 如申請專利範圍第16項之方法,其中該複數個延伸區係第一複數個延伸區,其中該第一與該第二組之儲存單元共同包含全部儲存單元,該方法進一步包含:儲存第二複數個延伸區於該第二組儲存單元中,其中該第一與該第二複數個延伸區包含全部延伸區;決定一結果,藉由平方該些儲存單元之總和數目;決定一商數,藉由將該些延伸區之總和數目除以該結果;產生數目上等同該商數之群體,其中每個群體係被指派數目上等同該結果之延伸區,且其中每個群體包括選擇自該第一與該第二組儲存單元之延伸區;以及處理該些群體之一,藉由在全部該些儲存單元中平均地再分佈指派給該一個群體之該些延伸區。
- 如申請專利範圍第16項之方法,其中該第一與該第二組儲存單元共同包含全部儲存單元,其中該方 法進一步包括:決定該第一組儲存單元之該些儲存單元之數目與該些儲存單元之總和數目之最小公倍數;產生儲存單元之群體,其中每個群體被指派選自該複數個延伸區之中該最小公倍數之數目的延伸區;處理該些群體之一,藉由在全部該些儲存單元中平均地再分佈指派給該群體之該些延伸區,其中該再分佈係基於自該第一至該第二組儲存單元,執行最少之複製操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/286,482 US7404036B2 (en) | 2005-11-23 | 2005-11-23 | Rebalancing of striped disk data |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200805135A TW200805135A (en) | 2008-01-16 |
TWI408549B true TWI408549B (zh) | 2013-09-11 |
Family
ID=38054810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW095141324A TWI408549B (zh) | 2005-11-23 | 2006-11-08 | 再平衡條狀磁碟資料之方法、電腦系統、電腦程式產品與用以部署計算基礎結構之方法 |
Country Status (4)
Country | Link |
---|---|
US (3) | US7404036B2 (zh) |
JP (1) | JP4856515B2 (zh) |
CN (1) | CN100561416C (zh) |
TW (1) | TWI408549B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7841533B2 (en) | 2003-11-13 | 2010-11-30 | Metrologic Instruments, Inc. | Method of capturing and processing digital images of an object within the field of view (FOV) of a hand-supportable digitial image capture and processing system |
US7404036B2 (en) * | 2005-11-23 | 2008-07-22 | International Business Machines Corporation | Rebalancing of striped disk data |
JP5379956B2 (ja) * | 2007-03-19 | 2013-12-25 | 株式会社日立製作所 | ストレージ装置及び記憶領域配置方法 |
JP5332364B2 (ja) * | 2007-10-16 | 2013-11-06 | 富士通株式会社 | 分散ストレージ管理プログラム、分散ストレージ管理装置、および分散ストレージ管理方法 |
EP2338155A4 (en) * | 2008-10-23 | 2016-08-17 | Hewlett Packard Development Co | DIRECTLY INSTALLED STORAGE SYSTEM AND METHOD FOR IMPLEMENTING MULTIPLE SIMULTANEOUS MEMORY CHEMAS |
WO2010122674A1 (ja) | 2009-04-23 | 2010-10-28 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
WO2010122679A1 (ja) * | 2009-04-23 | 2010-10-28 | 株式会社日立製作所 | 計算機システム及びその制御方法 |
US8230189B1 (en) * | 2010-03-17 | 2012-07-24 | Symantec Corporation | Systems and methods for off-host backups of striped volumes |
US8527677B1 (en) * | 2010-06-25 | 2013-09-03 | Altera Corporation | Serial communications links with bonded first-in-first-out buffer circuitry |
US8307014B2 (en) | 2010-08-25 | 2012-11-06 | International Business Machines Corporation | Database rebalancing in hybrid storage environment |
US8539150B2 (en) * | 2010-12-27 | 2013-09-17 | Hitachi, Ltd. | Storage system and management method of control information using a cache memory with multiple cache partitions |
US8972676B2 (en) | 2011-01-28 | 2015-03-03 | International Business Machines Corporation | Assigning device adaptors and background tasks to use to copy source extents to target extents in a copy relationship |
US9015411B2 (en) * | 2011-12-02 | 2015-04-21 | Compellent Technologies | System and method for unbalanced raid management |
JP6056769B2 (ja) | 2011-12-19 | 2017-01-11 | 富士通株式会社 | ストレージシステム、データリバランシングプログラム及びデータリバランシング方法 |
KR101734160B1 (ko) * | 2016-04-28 | 2017-05-11 | 주식회사 디에이아이오 | 작업부하 편중을 완화하는 저장 장치 |
JP6253752B1 (ja) * | 2016-11-29 | 2017-12-27 | 株式会社東芝 | 階層化ストレージシステム |
US10678643B1 (en) * | 2017-04-26 | 2020-06-09 | EMC IP Holding Company LLC | Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system |
US10324662B2 (en) * | 2017-08-28 | 2019-06-18 | International Business Machines Corporation | Rebalancing of the first extents of logical volumes among a plurality of ranks |
CN109725830B (zh) * | 2017-10-27 | 2022-02-08 | 伊姆西Ip控股有限责任公司 | 管理独立磁盘冗余阵列的方法、设备和存储介质 |
US10628061B2 (en) * | 2018-04-27 | 2020-04-21 | Veritas Technologies Llc | Systems and methods for rebalancing striped information across multiple storage devices |
CN110737402B (zh) * | 2018-07-20 | 2023-12-08 | 伊姆西Ip控股有限责任公司 | 管理存储系统的方法、设备和计算机存储介质 |
US10496316B1 (en) * | 2018-10-31 | 2019-12-03 | EMC IP Holding Company LLC | Forming storage containers from extents having different widths within a group of storage devices |
CN111858188A (zh) * | 2019-04-29 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | 存储管理的方法、设备和计算机程序产品 |
US11023147B2 (en) * | 2019-10-10 | 2021-06-01 | EMC IP Holding Company LLC | Mapping storage extents into resiliency groups |
CN112748862A (zh) * | 2019-10-31 | 2021-05-04 | 伊姆西Ip控股有限责任公司 | 用于管理盘的方法、电子设备和计算机程序产品 |
CN112748864B (zh) * | 2019-10-31 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 分配存储盘的方法、电子设备和计算机程序产品 |
CN115220646A (zh) * | 2021-04-21 | 2022-10-21 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093619A1 (en) * | 2001-11-14 | 2003-05-15 | Hitachi, Inc. | Management method and apparatus for storage apparatus |
US6728831B1 (en) * | 1998-10-23 | 2004-04-27 | Oracle International Corporation | Method and system for managing storage systems containing multiple data storage devices |
TWI241484B (en) * | 2002-12-31 | 2005-10-11 | Ibm | Collective storage system capable of restoring data in case of a storage failure |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502836A (en) | 1991-11-21 | 1996-03-26 | Ast Research, Inc. | Method for disk restriping during system operation |
US5809224A (en) | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | On-line disk array reconfiguration |
US5758118A (en) | 1995-12-08 | 1998-05-26 | International Business Machines Corporation | Methods and data storage devices for RAID expansion by on-line addition of new DASDs |
JP3170455B2 (ja) | 1996-05-27 | 2001-05-28 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム |
JP3748631B2 (ja) * | 1996-08-19 | 2006-02-22 | 株式会社エクシング | ディスクアレイにおける論理記憶領域統合方法およびディスクアレイ装置 |
US6061761A (en) * | 1997-10-06 | 2000-05-09 | Emc Corporation | Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing |
US5933834A (en) | 1997-10-16 | 1999-08-03 | International Business Machines Incorporated | System and method for re-striping a set of objects onto an exploded array of storage units in a computer system |
JP2000242434A (ja) * | 1998-12-22 | 2000-09-08 | Hitachi Ltd | 記憶装置システム |
US6425052B1 (en) | 1999-10-28 | 2002-07-23 | Sun Microsystems, Inc. | Load balancing configuration for storage arrays employing mirroring and striping |
US6629202B1 (en) * | 1999-11-29 | 2003-09-30 | Microsoft Corporation | Volume stacking model |
US6651154B1 (en) | 2000-07-11 | 2003-11-18 | International Business Machines Corporation | Method, system, and program for expanding the storage space in an array of storage units |
US6862692B2 (en) * | 2001-01-29 | 2005-03-01 | Adaptec, Inc. | Dynamic redistribution of parity groups |
US20020124137A1 (en) * | 2001-01-29 | 2002-09-05 | Ulrich Thomas R. | Enhancing disk array performance via variable parity based load balancing |
US20020174295A1 (en) * | 2001-01-29 | 2002-11-21 | Ulrich Thomas R. | Enhanced file system failure tolerance |
US6871263B2 (en) * | 2001-08-28 | 2005-03-22 | Sedna Patent Services, Llc | Method and apparatus for striping data onto a plurality of disk drives |
WO2003077111A1 (fr) * | 2002-03-13 | 2003-09-18 | Fujitsu Limited | Controleur pour dispositif raid |
JP4215606B2 (ja) * | 2003-09-24 | 2009-01-28 | 日本電気株式会社 | ディスクアレイ装置および記憶容量拡張方法ならびにプログラム |
US7366837B2 (en) | 2003-11-24 | 2008-04-29 | Network Appliance, Inc. | Data placement technique for striping data containers across volumes of a storage system cluster |
TWI256612B (en) * | 2003-12-25 | 2006-06-11 | Yung-Chau Chr | RAID system with fail over and load balance |
US7617370B2 (en) * | 2005-04-29 | 2009-11-10 | Netapp, Inc. | Data allocation within a storage system architecture |
US7404036B2 (en) | 2005-11-23 | 2008-07-22 | International Business Machines Corporation | Rebalancing of striped disk data |
US20070143541A1 (en) | 2005-12-19 | 2007-06-21 | Lsi Logic Corporation | Methods and structure for improved migration of raid logical volumes |
-
2005
- 2005-11-23 US US11/286,482 patent/US7404036B2/en active Active
-
2006
- 2006-09-22 CN CNB2006101393107A patent/CN100561416C/zh active Active
- 2006-10-23 JP JP2006287230A patent/JP4856515B2/ja active Active
- 2006-11-08 TW TW095141324A patent/TWI408549B/zh active
-
2008
- 2008-06-11 US US12/137,444 patent/US7818501B2/en active Active
- 2008-06-11 US US12/137,440 patent/US20080244178A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728831B1 (en) * | 1998-10-23 | 2004-04-27 | Oracle International Corporation | Method and system for managing storage systems containing multiple data storage devices |
US20030093619A1 (en) * | 2001-11-14 | 2003-05-15 | Hitachi, Inc. | Management method and apparatus for storage apparatus |
TWI241484B (en) * | 2002-12-31 | 2005-10-11 | Ibm | Collective storage system capable of restoring data in case of a storage failure |
Also Published As
Publication number | Publication date |
---|---|
JP2007149068A (ja) | 2007-06-14 |
US20070118689A1 (en) | 2007-05-24 |
US20080244178A1 (en) | 2008-10-02 |
JP4856515B2 (ja) | 2012-01-18 |
CN100561416C (zh) | 2009-11-18 |
US20080235449A1 (en) | 2008-09-25 |
CN1971499A (zh) | 2007-05-30 |
US7404036B2 (en) | 2008-07-22 |
TW200805135A (en) | 2008-01-16 |
US7818501B2 (en) | 2010-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI408549B (zh) | 再平衡條狀磁碟資料之方法、電腦系統、電腦程式產品與用以部署計算基礎結構之方法 | |
CN103777897B (zh) | 用于在主要和辅助存储位置之间复制数据的方法和系统 | |
US11449226B2 (en) | Reorganizing disks and raid members to split a disk array during capacity expansion | |
CN101454745B (zh) | 用于raid管理、重新分配以及重新分段的系统和方法 | |
US20090327642A1 (en) | Storage management program, storage management method, and storage management apparatus | |
US11095715B2 (en) | Assigning storage responsibility in a distributed data storage system with replication | |
CN103827804B (zh) | 在物理区块间拷贝数据的磁盘阵列装置、磁盘阵列控制器以及方法 | |
JPH09319528A (ja) | データ記憶システムにおけるデータの再配置方法、そのシステムに記憶されたデータのアクセス方法及びデータ記憶システム | |
US11340789B2 (en) | Predictive redistribution of capacity in a flexible RAID system | |
JP6211631B2 (ja) | ボリューム複製を目的としたワークロードの特定およびバッファのサイズ設定 | |
CN106610903A (zh) | 层级化存储器系统、存储器控制器和去重及存储器层级化方法 | |
CN101976181A (zh) | 一种存储资源的管理方法及管理装置 | |
US11327668B1 (en) | Predictable member assignment for expanding flexible raid system | |
CN107729536A (zh) | 一种数据存储方法和装置 | |
US20090172244A1 (en) | Hierarchical secondary raid stripe mapping | |
US20100115210A1 (en) | Method and apparatus for expanding a virtual storage device | |
JPH0756691A (ja) | ストライピングディスクのデータブロック自動再配置機能を持つ情報処理装置 | |
JP2020144737A (ja) | 情報処理装置およびタスク管理プログラム | |
WO2015140931A1 (ja) | トライアル領域を備えた階層化ストレージシステム、ストレージコントローラ及びプログラム | |
CN101997919A (zh) | 一种存储资源的管理方法及管理装置 | |
US8468303B2 (en) | Method and apparatus to allocate area to virtual volume based on object access type | |
US11188258B2 (en) | Distributed storage system | |
CN115639968A (zh) | 一种对raid的容量空间的分配方法、装置、设备及介质 | |
CN109189326A (zh) | 分布式集群的管理方法和装置 | |
US11327666B2 (en) | RAID member distribution for granular disk array growth |