(57)【要約】  【課題】  制御装置に結合された第１の１組の記憶ユニットに複数のエクステントが記憶される方法、システム、及び製品を提供する。  【解決手段】  前記制御装置に第２の１組の記憶ユニットが結合されているか判定が行われる。前記複数のエクステントは、前記第１の１組の記憶ユニット内と前記第２の１組の記憶ユニット内とに含まれる全ての記憶ユニットの間で分配される。【選択図】  図１
2007149068.tif 000002
【特許請求の範囲】
【請求項１】
制御装置に結合された第１の１組の記憶ユニットに複数のエクステントを記憶するステップと、
前記制御装置に第２の１組の記憶ユニットが結合されているか判定するステップと、
前記第１の１組の記憶ユニット内と前記第２の１組の記憶ユニット内とに含まれる全ての記憶ユニットの間で前記複数のエクステントを分配するステップと、
を有する、方法。
【請求項２】
前記記憶ユニットは、独立ディスク冗長配列（ＲＡＩＤ）アレイであり、前記複数のエクステントは、前記第１の１組のＲＡＩＤアレイ内と前記第２の１組のＲＡＩＤアレイ内とに含まれる全ての前記ＲＡＩＤアレイの間で均等に分配され、前記複数のエクステントが全ての前記ＲＡＩＤアレイの間で分配されている間に、エクステントが２回以上移動されることはなく、前記複数のエクステントは、最小の移動数で全ての前記ＲＡＩＤアレイに分配され、前記複数のエクステントが１つのボリューム全体に割り当てられる、請求項１に記載の方法。
【請求項３】
前記第１の１組の記憶ユニットは、いくつかの既存ＲＡＩＤアレイを有し、前記第２の１組の記憶ユニットは、空の状態の新規追加ＲＡＩＤアレイを有し、前記既存ＲＡＩＤアレイと前記新規追加ＲＡＩＤアレイとは、合わせて総数のＲＡＩＤアレイを有し、
既存ＲＡＩＤアレイの数にＲＡＩＤアレイの前記総数を掛けた結果を求めるステップと、
前記複数のエクステントの数を前記結果で割った商を求めるステップと、
各々に前記結果と等しい数のエクステントが割り当てられる、前記商と等しい数の群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数のＲＡＩＤアレイの間で均等に再分配することによって前記１つの群を処理するステップと、
を更に有する、請求項１に記載の方法。
【請求項４】
前記複数のエクステントは、第１の複数のエクステントであり、前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、
前記第２の１組の記憶ユニットに第２の複数のエクステントを記憶して、前記第１の複数のエクステントと前記第２の複数のエクステントとが総数のエクステントを有するようにするステップと、
記憶ユニットの前記総数を２乗した結果を求めるステップと、
エクステントの前記総数を前記結果で割った商を求めるステップと、
各々に前記結果と等しい数のエクステントが割り当てられ、各々が前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとから選択されたエクステントを含む、前記商と等しい数の群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理するステップと、
を更に有する、請求項１に記載の方法。
【請求項５】
前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、
前記第１の１組の記憶ユニット内の記憶ユニットの数と、記憶ユニットの前記総数との最小公倍数を求めるステップと、
各々に前記複数のエクステントから選択された前記最小公倍数のエクステントが割り当てられる、複数の記憶ユニット群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理するステップと、を更に有し、前記再分配は、前記第１の１組の記憶ユニットから前記第２の１組の記憶ユニットへの最小数のコピー処理を実施することに基づいて行われる、
請求項１に記載の方法。
【請求項６】
第１の１組の記憶ユニットに結合され、第２の１組の記憶ユニットに結合可能なシステムであって、
メモリと、
前記メモリに結合され、
（ｉ）前記第１の１組の記憶ユニットに複数のエクステントを記憶し、
（ｉｉ）前記システムに前記第２の１組の記憶ユニットが結合されているか判定し、
（ｉｉｉ）前記第１の１組の記憶ユニット内と前記第２の１組の記憶ユニット内とに含まれる全ての記憶ユニットの間で前記複数のエクステントを分配する
ように動作可能なプロセッサと、
を有する、システム。
【請求項７】
前記記憶ユニットは、独立ディスク冗長配列（ＲＡＩＤ）アレイであり、前記複数のエクステントは、前記第１の１組のＲＡＩＤアレイ内と前記第２の１組のＲＡＩＤアレイ内とに含まれる全ての前記ＲＡＩＤアレイの間で均等に分配され、前記複数のエクステントが全ての前記ＲＡＩＤアレイの間で分配されている間に、エクステントが２回以上移動されることはなく、前記複数のエクステントは、最小の移動数で全ての前記ＲＡＩＤアレイに分配され、前記複数のエクステントが１つのボリューム全体に割り当てられる、請求項６に記載のシステム。
【請求項８】
前記第１の１組の記憶ユニットは、いくつかの既存ＲＡＩＤアレイを有し、前記第２の１組の記憶ユニットは、空の状態の新規追加ＲＡＩＤアレイを有し、前記既存ＲＡＩＤアレイと前記新規追加ＲＡＩＤアレイとは、合わせて総数のＲＡＩＤアレイを有し、前記プロセッサは更に、
既存ＲＡＩＤアレイの数にＲＡＩＤアレイの前記総数を掛けた結果を求め、
前記複数のエクステントの数を前記結果で割った商を求め、
各々に前記結果と等しい数のエクステントが割り当てられる、前記商と等しい数の群を生成し、
１つの群に割り当てられた前記エクステントを前記総数のＲＡＩＤアレイの間で均等に再分配することによって前記１つの群を処理する
ように動作可能である、請求項６に記載のシステム。
【請求項９】
前記複数のエクステントは、第１の複数のエクステントであり、前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、前記プロセッサは更に、
前記第２の１組の記憶ユニットに第２の複数のエクステントを記憶して、前記第１の複数のエクステントと前記第２の複数のエクステントとが総数のエクステントを有するようにし、
記憶ユニットの前記総数を２乗した結果を求め、
エクステントの前記総数を前記結果で割った商を求め、
各々に前記結果と等しい数のエクステントが割り当てられ、各々が前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとから選択されたエクステントを含む、前記商と等しい数の群を生成し、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理する
ように動作可能である、請求項６に記載のシステム。
【請求項１０】
前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、前記プロセッサは更に、
前記第１の１組の記憶ユニット内の記憶ユニットの数と、記憶ユニットの前記総数との最小公倍数を求め、
各々に前記複数のエクステントから選択された前記最小公倍数のエクステントが割り当てられる、複数の記憶ユニット群を生成し、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理するように動作可能であり、前記再分配は、前記第１の１組の記憶ユニットから前記第２の１組の記憶ユニットへの最小数のコピー処理を実施することに基づいて行われる、
請求項６に記載のシステム。
【請求項１１】
制御装置に結合された第１の１組の記憶ユニットと、前記制御装置に結合可能な第２の１組の記憶ユニットとを制御する製品であって、
前記制御装置に結合された前記第１の１組の記憶ユニットに複数のエクステントを記憶するステップと、
前記制御装置に第２の１組の記憶ユニットが結合されているか判定するステップと、
前記第１の１組の記憶ユニット内と前記第２の１組の記憶ユニット内とに含まれる全ての記憶ユニットの間で前記複数のエクステントを分配するステップと、
を有する処理を発生させる、製品。
【請求項１２】
前記製品は、コンピュータ可読媒体であり、前記記憶ユニットは、独立ディスク冗長配列（ＲＡＩＤ）アレイであり、前記複数のエクステントは、前記第１の１組のＲＡＩＤアレイ内と前記第２の１組のＲＡＩＤアレイ内とに含まれる全ての前記ＲＡＩＤアレイの間で均等に分配され、前記複数のエクステントが全ての前記ＲＡＩＤアレイの間で分配されている間に、エクステントが２回以上移動されることはなく、前記複数のエクステントは、最小の移動数で全ての前記ＲＡＩＤアレイに分配され、前記複数のエクステントが１つのボリューム全体に割り当てられる、請求項１１に記載の製品。
【請求項１３】
前記第１の１組の記憶ユニットは、いくつかの既存ＲＡＩＤアレイを有し、前記第２の１組の記憶ユニットは、空の状態の新規追加ＲＡＩＤアレイを有し、前記既存ＲＡＩＤアレイと前記新規追加ＲＡＩＤアレイとは、合わせて総数のＲＡＩＤアレイを有し、前記処理は更に、
既存ＲＡＩＤアレイの数にＲＡＩＤアレイの前記総数を掛けた結果を求めるステップと、
前記複数のエクステントの数を前記結果で割った商を求めるステップと、
各々に前記結果と等しい数のエクステントが割り当てられる、前記商と等しい数の群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数のＲＡＩＤアレイの間で均等に再分配することによって前記１つの群を処理するステップと、
を有する、請求項１１に記載の製品。
【請求項１４】
前記複数のエクステントは、第１の複数のエクステントであり、前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、前記処理は更に、
前記第２の１組の記憶ユニットに第２の複数のエクステントを記憶して、前記第１の複数のエクステントと前記第２の複数のエクステントとが総数のエクステントを有するようにするステップと、
記憶ユニットの前記総数を２乗した結果を求めるステップと、
エクステントの前記総数を前記結果で割った商を求めるステップと、
各々に前記結果と等しい数のエクステントが割り当てられ、各々が前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとから選択されたエクステントを含む、前記商と等しい数の群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理するステップと、
を有する、請求項１１に記載の製品。
【請求項１５】
前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、前記処理は更に、
前記第１の１組の記憶ユニット内の記憶ユニットの数と、記憶ユニットの前記総数との最小公倍数を求めるステップと、
各々に前記複数のエクステントから選択された前記最小公倍数のエクステントが割り当てられる、複数の記憶ユニット群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理するステップと、を有し、前記再分配は、前記第１の１組の記憶ユニットから前記第２の１組の記憶ユニットへの最小数のコピー処理を実施することに基づいて行われる、
請求項１１に記載の製品。
【請求項１６】
コンピュータ可読コードをコンピューティング・システムに統合するステップを含む、コンピューティング・インフラストラクチャを配備する方法であって、前記コードは前記コンピューティング・システムと連動して、
前記コンピューティング・システムに結合された第１の１組の記憶ユニットに複数のエクステントを記憶するステップと、
前記コンピューティング・システムに第２の１組の記憶ユニットが結合されているか判定するステップと、
前記第１の１組の記憶ユニット内と前記第２の１組の記憶ユニット内とに含まれる全ての記憶ユニットの間で前記複数のエクステントを分配するステップと、
を実施することができる、方法。
【請求項１７】
前記記憶ユニットは、独立ディスク冗長配列（ＲＡＩＤ）アレイであり、前記複数のエクステントは、前記第１の１組のＲＡＩＤアレイ内と前記第２の１組のＲＡＩＤアレイ内とに含まれる全ての前記ＲＡＩＤアレイの間で均等に分配され、前記複数のエクステントが全ての前記ＲＡＩＤアレイの間で分配されている間に、エクステントが２回以上移動されることはなく、前記複数のエクステントは、最小の移動数で全ての前記ＲＡＩＤアレイに分配され、前記複数のエクステントが１つのボリューム全体に割り当てられる、請求項１６に記載のコンピューティング・インフラストラクチャを配備する方法。
【請求項１８】
前記第１の１組の記憶ユニットは、いくつかの既存ＲＡＩＤアレイを有し、前記第２の１組の記憶ユニットは、空の状態の新規追加ＲＡＩＤアレイを有し、前記既存ＲＡＩＤアレイと前記新規追加ＲＡＩＤアレイとは、合わせて総数のＲＡＩＤアレイを有し、
既存ＲＡＩＤアレイの数にＲＡＩＤアレイの前記総数を掛けた結果を求めるステップと、
前記複数のエクステントの数を前記結果で割った商を求めるステップと、
各々に前記結果と等しい数のエクステントが割り当てられる、前記商と等しい数の群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数のＲＡＩＤアレイの間で均等に再分配することによって前記１つの群を処理するステップと、
を更に有する、請求項１６に記載のコンピューティング・インフラストラクチャを配備する方法。
【請求項１９】
前記複数のエクステントは、第１の複数のエクステントであり、前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、
前記第２の１組の記憶ユニットに第２の複数のエクステントを記憶して、前記第１の複数のエクステントと前記第２の複数のエクステントとが総数のエクステントを有するようにするステップと、
記憶ユニットの前記総数を２乗した結果を求めるステップと、
エクステントの前記総数を前記結果で割った商を求めるステップと、
各々に前記結果と等しい数のエクステントが割り当てられ、各々が前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとから選択されたエクステントを含む、前記商と等しい数の群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理するステップと、
を更に有する、請求項１６に記載のコンピューティング・インフラストラクチャを配備する方法。
【請求項２０】
前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有し、
前記第１の１組の記憶ユニット内の記憶ユニットの数と、記憶ユニットの前記総数との最小公倍数を求めるステップと、
各々に前記複数のエクステントから選択された前記最小公倍数のエクステントが割り当てられる、複数の記憶ユニット群を生成するステップと、
１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって前記１つの群を処理するステップと、を更に有し、前記再分配は、前記第１の１組の記憶ユニットから前記第２の１組の記憶ユニットへの最小数のコピー処理を実施することに基づいて行われる、
請求項１６に記載のコンピューティング・インフラストラクチャを配備する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ストライピング済みディスク・データのリバランシング（再配置）を行う方法、システム、及び製品に関する。
【背景技術】
【０００２】
複数のハード・ディスクに結合されたコンピュータにおいて、ディスク・ストライピングとも呼ばれるデータ・ストライピングは、ひとまとまりのデータを複数のストライプに分割して複数のハード・ディスクに分散させる処理である。
【０００３】
ある一定のシステムには、ＲＡＩＤアレイとも呼ばれる複数の独立ディスク冗長配列（ＲＡＩＤ）ランクに渡るデータ・ストライピングを実施できるものがある。ＲＡＩＤは、複数のディスクを使用してデータの記憶及び分配を行う記憶システムである。データ・ストライピングを実施するために、ある論理ユニット（ＬＵＮ）に属するデータを複数のエクステントに分割することができる。次に、あるボリュームの連続するエクステントを使用可能な前記複数のＲＡＩＤランクに渡って順繰りに分配することができる。このようなストライピングを用いると、入力／出力（Ｉ／Ｏ）負荷を分散することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
当該ディスク・セットの全域で既にデータ・ストライピングが実施されたディスク・セットに新しいランクを追加する場合は、複数のＲＡＩＤランクに渡るＩ／Ｏ負荷の前記分散化による均衡が失われる可能性がある。
【課題を解決するための手段】
【０００５】
制御装置に結合された第１の１組の記憶ユニットに複数のエクステントを記憶する方法、システム、及び製品を提供する。前記制御装置に第２の１組の記憶ユニットが結合されているか判定が行われ、また、前記複数のエクステントは、前記第１の１組の記憶ユニット内と前記第２の１組の記憶ユニット内とに含まれる全ての記憶ユニット間で分配される。
【０００６】
別の実施形態において、前記記憶ユニットは、独立ディスク冗長配列（ＲＡＩＤ）アレイであり、前記複数のエクステントは、前記第１の１組のＲＡＩＤアレイ内と前記第２の１組のＲＡＩＤアレイ内とに含まれる全ての前記ＲＡＩＤアレイの間で均等に分配され、前記複数のエクステントが全ての前記ＲＡＩＤアレイの間で分配されている間に、エクステントが２回以上移動されることはなく、前記複数のエクステントは、最小の移動数で全ての前記ＲＡＩＤアレイ間で分配され、前記複数のエクステントが１つのボリューム全体に割り当てられる。
【０００７】
また別の実施形態では、前記第１の１組の記憶ユニットは、いくつかの既存ＲＡＩＤアレイを有し、前記第２の１組の記憶ユニットは、空の状態の新規追加ＲＡＩＤアレイを有し、前記既存ＲＡＩＤアレイと前記新規追加ＲＡＩＤアレイとは、合わせて総数のＲＡＩＤアレイを有する。既存ＲＡＩＤアレイの数にＲＡＩＤアレイの前記総数を掛けた結果が求められる。前記複数のエクステントの数を前記結果で割った商が求められる。各々に前記結果と等しい数のエクステントが割り当てられる、前記商と等しい数の群が生成される。１つの群は、前記１つの群に割り当てられた前記エクステントを前記総数のＲＡＩＤアレイの間で均等に再分配することによって処理される。
【０００８】
他の実施形態では、前記複数のエクステントは、第１の複数のエクステントであり、前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットとは、合わせて総数の記憶ユニットを有する。第２の複数のエクステントは、前記第２の１組の記憶ユニットに記憶され、前記第１の複数のエクステントと前記第２の複数のエクステントとは、総数のエクステントを有する。記憶ユニットの前記総数を２乗した結果が求められる。エクステントの前記総数を前記結果で割った商が求められる。各々に前記結果と等しい数のエクステントが割り当てられ、各々が前記第１の１組の記憶ユニットと第２の１組の記憶ユニットとから選択されたエクステントを含む、前記商と等しい数の群が生成される。１つの群は、前記１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって処理される。
【０００９】
さらに別の実施形態では、前記第１の１組の記憶ユニットと前記第２の１組の記憶ユニットは、合わせて総数の記憶ユニットを有する。前記第１の１組の記憶ユニット内の記憶ユニットの数と、記憶ユニットの前記総数との最小公倍数が求められる。前記複数のエクステントから選択された前記最小公倍数のエクステントが各々に割り当てられる複数の記憶ユニット群が生成される。１つの群は、前記１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって処理され、前記再分配は、前記第１の１組の記憶ユニットから前記第２の１組の記憶ユニットへの最小数のコピー処理を実施することに基づいて行われる。
【００１０】
また、添付の図面には、図面全体を通して、同様の部分には同様の参照符号を付している。
【発明を実施するための最良の形態】
【００１１】
以下の説明では、本明細書の一部を形成しいくつかの実施形態を例示する添付図面を参照している。また、他の実施形態を利用することも、構造上及び動作上の変更を加えることも可能なものとする。例えば、ここに提案される諸実施形態は、前記記憶装置に記憶されているアプリケーション・データのタイプに関わらず適用することができる。
【００１２】
ある実施形態では、当該ディスク・セットの全域で既にデータ・ストライピングが実施されたディスク・セットに新しいランクが追加されたことに応じて、ストライピング済みディスク・データのリバランシングを行う。また、ある実施形態では、あるエクステント・プールに渡って（１つのエクステントの「ストライプ」サイズで）各論理ボリュームにストライピングが施される。また、ある実施形態では、前記プールに単数または複数の新しいランクを追加した後に前記ボリュームのストライピング・パターンのリバランシングを行える。さらにある実施形態では、可能な限り少ないデータを移動させながらも、前記データを一時ディスク記憶装置に移動させるいかなる必要も生じさせずに、各々のボリュームが前記プール内の全ての前記ランクに渡ってストライピングが行われる。
【００１３】
ある実施形態では、各々の既存ボリュームのエクステントが、サイズＭの複数の組に編成される。ただし、この場合Ｍは新しいランク数と古いランク数との積である。次に、この群から選択された特定のエクステントが、新しいランク・セットの全域に渡るエクステントの前記分配のバランスを保持するように前記新しいランク内に移動される。
【００１４】
他の実施形態では、リバランシング処理が実施される前に、前記新しいランクに既に一定数の新しいボリュームが割り当てられていることもある。そのような場合には、前記新しいランク数の２乗と等しいサイズの、各々１つの古いボリュームと１つの新しいボリュームとからのエクステントを含む群が形成される。次に、選択されたエクステントが、各々のボリュームからの前記エクステントの前記分配が前記新しいランク・セットの全域にストライピングされるような形で互いに交換される。
【００１５】
図１は、ある実施形態に係る既存ＲＡＩＤアレイ１０６ａ、１０６ｂ．．．、１０６ｎと、新規追加ＲＡＩＤアレイ１０８ａ、１０８ｂ、．．．１０８ｍとを含む記憶装置１０４に結合された記憶装置制御ユニット１０２を含むコンピューティング環境１００のブロック図を示している。前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍは、前記記憶装置制御ユニット１０２が、それ以前に結合されていた既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎにデータを記憶した後に、前記記憶装置制御ユニット１０２に結合される。
【００１６】
制御装置とも呼ばれる前記記憶装置制御ユニット１０２は、パーソナル・コンピュータ、ワークステーション、メインフレーム、ミッドレンジ・コンピュータ、ネットワーク機器、パームトップ・コンピュータ、テレフォニー・デバイス、ブレード・コンピュータ、ハンドヘルド・コンピュータ等のような当業界で現在周知の演算デバイスを含めた任意の適切な演算デバイスを有する。
【００１７】
図１は既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎと、新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍとを備える記憶装置１０４を示しているが、諸代替実施形態では、前記記憶装置１０４は、ＲＡＩＤアレイとは異なるストレージ・デバイスを含むこともできる。例えば、前記記憶装置１０４は、前記ＲＡＩＤアレイ１０６ａ．．．１０６ｎ、１０８ａ．．．１０８ｍの代わりに又はそれに加えて、テープや光デバイス等を含むことができる。
【００１８】
エクステント１１０ａ、１１０ｂ、．．．１１０ｐ、１１２ａ、１１２ｂ、．．．１１２ｑ、１１４ａ、１１４ｂ、．．．１１４ｒは、前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎの間で分配される。エクステントはデータを記憶する要素であり、各々のエクステントのサイズは同一である。エクステントの前記サイズは異なっていてもよく、例えば一実施形態では５Ｋバイトとし、別の実施形態では５０Ｋバイトとし、また別の実施形態では１Ｍバイトとすることもできる。前記各々のエクステントの前記サイズは、各々のＲＡＩＤアレイの記憶容量と比較すると小さくなっている。前記記憶装置１０４に書き込まれることになる同一のボリュームに複数のエクステントが属していてもよい。前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍにはエクステントが全く示されていないが、前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍに、エクステントをコピーすることも書き込むこともできる。
【００１９】
前記記憶装置制御ユニット１０２は、前記ＲＡＩＤアレイ１０６ａ．．．１０６ｎ、１０８ａ．．．１０８ｍの間で前記エクステント１１０ａ．．．１１０ｐ、１１２ａ．．．１１２ｑ、１１４ａ．．．１１４ｒを再配置することができるエクステント再分配アプリケーション１１６を含んでいる。
【００２０】
ある実施形態において、前記エクステント再分配アプリケーション１１６は、エクステントの前記分配が前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎと前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍの全域で均衡化されるように、前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎと前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍの間でエクステントを編成する。
【００２１】
図２は、前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍが空の状態である場合に、一定の実施形態に従って図１の前記コンピューティング環境１００内の全てのＲＡＩＤアレイに渡ってエクステントのリバランシングを行う流れ図を示している。図２に示される一定の処理は、前記エクステント再分配アプリケーション１１６において実施されてもよい。
【００２２】
以下に、実施形態についていくつか説明し、その態様を図２の前記流れ図において後述する。エクステント・プールは当初、ランク０及び１を含んでいるものとし、ランクはＲＡＩＤアレイとする。こうした場合、所定のボリュームＶは、｛０，１，０，１，．．｝の順に、前記ボリュームＶのエクステントを２つの前記ランクに割り当ててもよい。その後、第３のランクを追加することもでき、前記第３のランクをランク２と呼ぶ。リバランシングを行うために、ある実施形態では、前記ボリュームＶの前記エクステントを２×３＝６の群に編成する。各々の６つのエクステント群（これを群ｇとする）は、ランク０内の３つのメンバーと、ランク１内の３つのメンバーとを含むことになる。
【００２３】
参照用に、ランク０内の前記３つのメンバーをｇ０，０、ｇ０，１、及びｇ０，２と呼ぶものとする。同様に、ランク１内の前記３つのメンバーはｇ１，０、ｇ１，１、及びｇ１，２と呼んでもよい。
【００２４】
ある実施形態においては、前記６つのエクステントから成る群を３つの前記新規ランクに次のように割り当てる。
ランク０：エクステントｇ０，０、エクステントｇ０，１
ランク１：エクステントｇ１，０、エクステントｇ１，１
ランク２：エクステントｇ０，２、エクステントｇ１，２
このような実施形態を用いると、ランク２へのコピーを除くいかなるデータ・コピーも回避される。
【００２５】
より具体的には第１の手法において、ある実施形態では、エクステント・プール内のランク数をＮｏｌｄからＮｎｅｗに拡張させる必要がある。また、実施形態によれば、次に、あるボリュームの既存エクステントをサイズＭ＝Ｎｏｌｄ×Ｎｎｅｗの群に形成する。各々の群には、Ｎｎｅｗが出現する古いランクが含まれている。
【００２６】
所定の群は、各々の古いランクに属するエクステントを別々に識別して構成することもできる。このことは、ランク毎の最後に追加されたエクステントをポインタが指すように保ちながら、前記ボリュームのエクステントを相対バイト・アドレス（ＲＢＡ）順に辿っていくことによって実行できる。最初のランクのポインタを用いその先を辿ることによって、１つのエクステントを前記最初のランクに追加し、その後、次のランクのポインタを用いその先を辿ることによって、１つのエクステントを次のランクに追加し、各々のランクに属するＮｎｅｗエクステントが見つかるまで、以下同様に追加を行う。前記群を構成するこのような実施形態を用いると、エクステント割当ての既存パターンについての仮説立てが回避される。
【００２７】
均等に均衡化された群を可能な限り多く生成し、その後にエクステントが残っても、最後まで持ち越される。その後、残りのエクステントを複数の群に形成する２回目の試行が行われるが、今度は、所定の群に１つのボリュームだけを使用するという要件が緩和される。
【００２８】
この第２の１組の群が形成された後に残っているエクステントがある場合は、このエクステントは無視される。所定の群ｇの前記エクステントは、ランク０内に含まれ、ｇ０，０、ｇ０，１、．．．．．、  ｇ０，Ｎｎｅｗ−１の番号が振られるものとし、ランク１、２、．．．、Ｎｏｌｄ−１の前記エクステンにも、対応する様式で番号を振ることができる。こうした場合、リバランシング処理は次のように実施することができる。
for i =Nold to Nnew -1 ; for j = 0 to Nold -1;
allocate the new extent fi,j;
for i =0 to Nold -1 ; for j = Nold to Nnew -1;
move gi,j to fj,i;
free extent gi,j;
コピーされるエクステントの数は、前記ボリュームからの等しい数のエクステントが各々のランク内に確実に含まれているために必要な最小数となる。
【００２９】
次に、図２の流れ図について説明すると、この図では、前記コンピューティング環境１００に実装されているストライピング済みディスク・データのリバランシングを行う前記諸実施形態の態様が示されており、制御は、前記エクステント再分配アプリケーション１１６が既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎに１つ以上のＲＡＩＤアレイ１０８ａ．．．１０８ｍが新規に追加された旨の指示を受信するブロック２００から開始している。
【００３０】
前記エクステント再分配アプリケーション１１６は、既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎの数と、前記新規ＲＡＩＤアレイ１０８ａ．．．１０８ｍが追加された後の総数のＲＡＩＤアレイの数との積と等しくなるようにＭをセットする（ブロック２０２）。
【００３１】
前記エクステント再分配アプリケーション１１６は、前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎ内のエクステントの数をＭで割ってその商と余りを求める（ブロック２０４）。エクステント群の数は前記商に割り当てられる（ブロック２０６）。
【００３２】
その後、各々のエクステント群について、前記エクステント再分配アプリケーション１１６は、各々のＲＡＩＤアレイ内のエクステントの数が等しくなるように、前記既存ＲＡＩＤアレイ１０６ａ．．１０６ｎから１つ以上の前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍにエクステントをコピーする（ブロック２０８）。
【００３３】
制御はブロック２１０に進み、そこで前記エクステント再分配アプリケーション１１６は余りがゼロであるかどうかを判定する。ゼロである場合には、制御はブロック２１４に進み、リバランシング処理は終了する。ゼロでない場合には、余りの数のエクステントが前記ＲＡＩＤアレイ１０６ａ．．．１０６ｎ、１０８ａ．．．１０８ｍの間で可能な限り均等に分配され（ブロック２１２）、制御がブロック２１４に進んでリバランシング処理が終了する。
【００３４】
したがって、図２では、前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎ内及び前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍ内の前記エクステントのリバランシングを行う処理以前には、前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍに割り付けられているエクステントが存在しない、実施形態が示されている。ある実施形態では、コピーされるエクステントの数が、前記エクステントを有するボリュームからの等しい数のエクステントが各々のＲＡＩＤランクに確実に含まれているために必要な最小数となることを保証している。
【００３５】
図３は、前記新規追加ＲＡＩＤアレイが空の状態である場合に、ある実施形態に従って全てのＲＡＩＤアレイに渡ってエクステントのリバランシングを行う一例を示している。
【００３６】
図３では、記憶装置３００は、３つの既存ＲＡＩＤアレイと、２つの新規追加ＲＡＩＤアレイとを含んでいる。図３のブロック３０２は、図２のブロック２０２及び２０４の前記論理に従ってＭ、商、及び余りがどのように計算されるかを示している。
【００３７】
Ｍは１５であり商は４であると計算されたので、ブロック３０４では、各々１５個のエクステントを有する４つの群が形成された状態が示されている。ブロック３０４には、前記４つの群に加えて４つの余りエクステント３０６も示されている。
【００３８】
ブロック３０８は、前記４つの群の前記エクステントが前記５つのＲＡＩＤアレイの間でどのように再分配され、前記４つの余りエクステント３０６が前記５つのＲＡＩＤアレイの間でどのように分配されるかを示している。図２のブロック２０６〜２１４に示されている前記論理を使用して前記エクステントを再分配することができる。
【００３９】
ブロック３１０は、リバランシング後の前記５つのＲＡＩＤアレイの各々のエクステントの数を示している。リバランシング後は、前記ＲＡＩＤアレイの各々は可能な限り均等に分配されたエクステントを有する。
【００４０】
したがって、図３は、図２に示されている前記論理に従って複数のＲＡＩＤアレイに渡ってエクステントのリバランシングを行う一例を示している。
【００４１】
図４は、前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍに複数のエクステントが記憶されている場合に、ある実施形態に従って、全てのＲＡＩＤアレイに渡ってエクステントのリバランシングを行う流れ図を示している。図４に記載の処理は、前記記憶装置制御ユニット１０２内に実装された前記エクステント再分配アプリケーション１１６において実施することができる。
【００４２】
以下では第２の手法に係る実施形態を説明し、その態様を図４の前記流れ図の形で示す。実施形態で実施される例示的なステップ１、２、及び３（後述）によって、前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍ内の割付けをリバランシングよりも前に行うことが可能になる。
ステップ１：各々のボリュームについて、前記Ｎｎｅｗの対象ランク各々が正確に１回出現する、可能な限り多くの群を形成する。このようにして識別されたエクステントはそのまま残しておく。
ステップ２：１つのボリューム上の（ｇｉ，ｊで標示される）各々の古いランクでＮｎｅｗが出現し、別のボリューム上の（ｈｉ，ｊで標示される）各々の追加ランクでもＮｎｅｗが出現する、可能な限り多くの群を形成する。そのような群は各々、最小限のコピーで所定の位置に再配置することができる。最小限のコピーを伴う前記再配置を達成するために、以下の１組のエクステント・スワップを実施することができる。
for i = 0 to Nold -1; for j = Nold to Nnew-1;
swap gi,j with hj,i;
ステップ３：各々のボリュームについて、前記第１の手法で先に説明した通りのタイプと可能な限り同じタイプの群を可能な限り多く形成し、前記第１の手法について先に説明したのと同様の手法で前記群を操作する。
【００４３】
前記第１の手法と同様に、拡張した後に残っているエクステントの前記操作も最後まで持ち越される。ステップ（１）にあるような可能な限り多くのエクステントが操作されるが、ここでは、ある群の全てのメンバーが同じボリュームに属するという要件が緩和される。この時点で残っているエクステントがあれば、それらは前記第１の手法で持ち越された前記エクステントと同様に操作される。
【００４４】
次に、図４の流れ図を参照すると、この図では、前記コンピューティング環境１００に実装されているストライピング済みディスク・データのリバランシングを行う前記諸実施形態の態様が示されており、制御は、前記エクステント再分配アプリケーション１１６が前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎの均衡化を済ませたブロック４００から開始している。
【００４５】
制御は、新規ＲＡＩＤアレイ１０８ａ．．．１０８ｍが前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎに追加されるブロック４０２に進む。エクステントは引き続き、追加された前記エクステントのラウンド・ロビン分配方式に従って、前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎと前記新規ＲＡＩＤアレイ１０８ａ．．．１０８ｍの両方に追加されていく（ブロック４０４）。
【００４６】
前記エクステント再分配アプリケーション１１６は、前記エクステントのリバランシングが必要であるかどうか判定する（ブロック４０６）。エクステントのリバランシングが必要でない場合には、制御がブロック４０４に戻り、一方、エクステントのリバランシングが必要である場合には、前記エクステント再分配アプリケーション１１６は前記複数のＲＡＩＤアレイに渡るエクステントのリバランシングを開始する（ブロック４０８）。
【００４７】
ある実施形態において、前記エクステント再分配アプリケーション１１６は、ＲＡＩＤアレイの総数の２乗となるようにＭをセットする（ブロック４１０）。次に、ブロック４１２では、各々のボリュームについて、前記エクステント再分配アプリケーション１１６は、前記既存ＲＡＩＤアレイ１０６ａ．．．１０６ｎ内及び前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍ内のエクステントの数をＭで割ってその商と余りを求める。制御はブロック４１４に進み、ここでは、エクステント群の数が前記商の値に割り当てられ、実施形態において各々の群に１つの古いボリュームと１つの新しいボリュームとからのエクステントが含まれる。
【００４８】
前記エクステント再分配アプリケーション１１６は、各々のエクステント群について、各々のＲＡＩＤアレイ内のエクステントの数が等しくなるように、また、実施形態において各々の群を最小限のコピーで再配置して、エクステントを全てのＲＡＩＤアレイの間で交換する（ブロック４１６）。
【００４９】
制御はブロック４１８に進み、そこで前記エクステント再分配アプリケーション１１６は前記余りがゼロであるかどうかを判定する。ゼロである場合には、制御はブロック４２４に進み、前記リバランシング処理は終了する。ゼロでない場合には、余りの数のエクステントが前記ＲＡＩＤアレイ１０６ａ．．．１０６ｎ、１０８ａ．．．１０８ｍの間で可能な限り均等に分配され（ブロック４２０）、制御がブロック４２４に進んで前記リバランシング処理が終了する。
【００５０】
したがって、図４は、前記新規追加ＲＡＩＤアレイ１０８ａ．．．１０８ｍに一定数のエクステントが記憶された後に、前記エクステントがリバランシングされる実施形態を示している。
【００５１】
図１〜４は、エクステントのリバランシングを行う実施形態を示しており、一部の実施形態ではリバランシング処理が前記新しいランクの追加の直後に実施されるが、前記ランクは依然として空の状態である。他の実施形態では、前記リバランシング処理を実施する前にボリュームの割付けが行われることもある。
【００５２】
ある諸代替実施形態では、前記既存の１組の記憶ユニット内の記憶ユニット、例えばＲＡＩＤアレイ等の数と、記憶ユニットの総数との最小公倍数が求められる。各々に前記複数のエクステントから選択された前記最小公倍数のエクステントが割り当てられる複数の記憶ユニット群が生成される。１つの群は、前記１つの群に割り当てられた前記エクステントを前記総数の記憶ユニットの間で均等に再分配することによって処理され、前記再分配は、前記第１の１組の記憶ユニットから前記第２の１組の記憶ユニットへの最小数のコピー処理を実施することに基づいて行われる。
【００５３】
（追加的な実施形態の詳細）
記載の前記技法は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア、又はそれらの任意の組合せ、あるいはそれら全てが関与する方法、装置、又は製品として実施することができる。本明細書で使用する「製品（ａｒｔｉｃｌｅ  ｏｆ  ｍａｎｕｆａｃｔｕｒｅ）」という前記用語は、媒体に実装されるコード又はロジックを指し、そのような媒体は、ハードウェア・ロジック（例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）、あるいは、磁気記憶媒体（例えば、ハード・ディスク・ドライブ、フレキシブル・ディスク、テープ等）、光記憶装置（ＣＤ−ＲＯＭ、光ディスク等）、揮発性及び不揮発性メモリ・デバイス（例えば、電気的消去再書込可能読取り専用メモリ（ＥＥＰＲＯＭ）、読取り専用メモリ（ＲＯＭ）、再書込可能読取り専用メモリ（ＰＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ）、フラッシュ、ファームウェア、プログラマブル・ロジック等）のようなコンピュータ可読媒体を含んでいる。前記コンピュータ可読媒体内のコードは、コンピュータ・プログラムとして等、プロセッサによってアクセスされ実行される。前記コード又はロジックがその内部でコード化される前記媒体は、空間内又は光ファイバや銅線等のような伝送媒体内を伝搬する伝送信号も包含している。前記コード又はロジックがその内部でコード化される前記伝送信号は更に、無線信号、衛星伝送、電波、赤外線信号、Ｂｌｕｅｔｏｏｔｈ（Ｒ）等を含んでいる。前記コード又はロジックがその内部でコード化される前記伝送信号は、送信局から送信し受信局で受信することができ、前記伝送信号内でコード化された前記コード又はロジックは、復号して前記受信局及び送信局すなわちデバイスのハードウェア内又はコンピュータ可読媒体内に、コンピュータ・プログラムとして等、記憶することができる。更に、前記「製品」は、前記コードがその内部で実装され処理され実行されるハードウェア構成要素とソフトウェア構成要素の組合せを含むものであってもよい。言うまでもなく、当業者なら諸実施形態の範囲から逸脱することなく多くの修正を施すことができ、前記製品が任意の情報保持媒体を具備することを理解するであろう。例えば、前記製品は、機械によって実行されたときに処理が実施されることとなる命令をその内部に記憶した記憶媒体を含むものである。
【００５４】
ある実施形態は、全体としてハードウェアの実施形態の形を取ることも、全体としてソフトウェアの実施形態の形を取ることもでき、ハードウェア要素とソフトウェア要素の両方を含む一実施形態とすることもできる。好ましい一実施形態では、本発明は、必ずしもそれだけに限定されるわけではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェアの形で実施される。
【００５５】
更に、ある実施形態は、コンピュータ又は任意の命令実行システムによって使用され又はそれらと共に使用されるプログラム・コードを備えるコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形を取ることもできる。本明細書では、コンピュータ使用可能媒体又はコンピュータ可読媒体は、前記命令実行システム、機器、又はデバイスによって使用され又はそれらと共に使用される前記プログラムを収容し、記憶し、通信し、伝搬し、又は移送することができる任意の機器であってもよい。前記媒体は、電子系、磁気系、光学系、電磁気系、赤外線系、又は半導体系（すなわち装置又はデバイス）であっても、伝搬媒体であってもよい。コンピュータ可読媒体の例としては、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、固定磁気ディスク、及び光ディスクが挙げられる。光ディスクの現行例としては、コンパクト・ディスク−読取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク−読出し／書込み（ＣＤ−Ｒ／Ｗ）、及びＤＶＤが挙げられる。
【００５６】
「ある実施形態（ｃｅｒｔａｉｎ  ｅｍｂｏｄｉｍｅｎｔｓ）」、「一実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」、「実施形態（ｅｍｂｏｄｉｍｅｎｔ）」、「複数の実施形態（ｅｍｂｏｄｉｍｅｎｔｓ）」、「前記実施形態（ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔ）」、「前記複数の実施形態（ｔｈｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、「１つ以上の実施形態（ｏｎｅ  ｏｒ  ｍｏｒｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、「一部の実施形態（ｓｏｍｅ  ｅｍｂｏｄｉｍｅｎｔｓ）」、及び「一実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」等の前記用語は、特に明記しない限り、単数または複数（ただし、全部ではない）の実施形態を意味する。「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する、具備する、含む（ｃｏｍｐｒｉｓｉｎｇ）」、「有する（ｈａｖｉｎｇ）」等の前記用語及びそれらの変化形は、特に明記しない限り、「〜を含むがこれに限定されるものではない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」ことを意味する。列挙した前記項目リストは、特に明記しない限り、前記項目のいずれか又は全てが相互に排他的であることを意味するものではない。「ａ」、「ａｎ」、及び「ｔｈｅ」等の前記用語は、特に明記しない限り、「単数または複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を意味する。
【００５７】
互いに通信するデバイスは、特に明記しない限り、必ずしも連続的に互いに通信する必要はない。更に、互いに通信するデバイスは、直接通信することも、単数または複数の媒介物を介して間接的に通信することもできる。更に、構成要素が互いに通信する一実施形態の記載は、全てのそのような構成要素が必要とされることを意味するものではない。それどころか、多様な任意の構成要素を説明することにより、多岐に渡る可能な諸実施形態を説明するものである。
【００５８】
更に、処理ステップ、方法ステップ、アルゴリズム等が連続した順番で説明されているかもしれないが、そのような処理、方法、及びアルゴリズムは別の順番で機能するように構成されてもよい。言い換えれば、記載され得るステップのいかなる順序または順番も、前記ステップがその順番通りに実施されなければならないことを必ずしも示唆しているわけではない。本明細書に記載される処理の前記ステップは、実用的な任意の順番で実施することができる。更に、一部のステップは、同時に、並列的に、あるいは並行して実施することもできる。
【００５９】
本明細書に単一のデバイス又は物品が記載されている場合にも、単一のデバイス／物品の代わりに、（それらが協働するものであるか否かを問わず）２つ以上のデバイス／物品を使用できることが明らかである。同様に、（それらが協働するものであるか否かを問わず）本明細書に２つ以上のデバイス又は物品が記載されている場合にも、前記２つ以上のデバイス又は物品の代わりに、単一のデバイス／物品を使用できることが明らかである。代わりに、デバイスの前記機能又は前記特徴あるいはその両方は、そのような機能／特徴を有するものとして明示的に記載されてはいない単数または複数の他のデバイスによって実施することもできる。したがって、他の実施形態は、必ずしも前記デバイス自体を含んでいる必要はない。
【００６０】
図５は、ある実施形態ではそのコンピュータ・アーキテクチャに従って図１の前記コンピューティング環境１００の前記記憶装置制御ユニット１０２を実装することができる、１つの例示的なコンピュータ・システム５００を示している。前記コンピュータ・システム５００は、システムと呼ばれることもあり、ある実施形態においてプロセッサ５０４を含んだ回路５０２を含むことができる。前記コンピュータ・システム５００はまた、メモリ５０６（例えば、揮発性メモリ・デバイス等）と、記憶装置５０８とを含んでいてもよい。前記コンピュータ・システム５００のある一定の要素の中には、前記記憶装置制御ユニット１０２内で見受けられるものもあればそうでないものもある。前記記憶装置５０８は、不揮発性メモリ・デバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、ファームウェア、プログラマブル・ロジック等）、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブ等を含むことができる。前記記憶装置５０８は、内部記憶装置、外付け記憶装置、又はネットワーク・アクセス可能な記憶装置あるいはそれら全てを具備していてもよい。前記コンピュータ・システム５００は、前記メモリ５０６にロードして前記プロセッサ５０４又は回路５０２によって実行できるコード５１２を含んだプログラム・ロジック５１０を含むものであってもよい。ある実施形態において、コード５１２を含む前記プログラム・ロジック５１０は、コンピュータ・プログラムとして等、前記記憶装置５０８に記憶される。また、他の実施形態において、前記プログラム・ロジック５１０は、前記回路５０２内に実装される。したがって、図５は前記プログラム・ロジック５１０をその他の要素とは別個に示しているが、前記プログラム・ロジック５１０は、前記メモリ５０６内又は前記回路５０２内あるいはその両方に実装されてもよい。
【００６１】
ある実施形態は、人間又は自動処理によって演算命令を配備することによりコンピュータ可読コードをコンピューティング・システムに統合し、前記コードが前記コンピューティング・システムと連動して、記載の前記諸実施形態の前記処理を実施できるようにした方法を対象にしてもよい。
【００６２】
図２及び４に示される前記処理の内の少なくともいくつかは、並列的に処理することも逐次的に処理することもできる。諸代替実施形態では、前記処理の一部を別の順番で実施し、修正し、あるいは省略することもできる。
【００６３】
更に、前記ソフトウェア構成要素及びハードウェア構成要素は、例示のために別個のモジュールの形で説明されてきた。そのような構成要素は、より少ない数の構成要素に統合することも、より多くの数の構成要素に分割することもできる。更に、特定の構成要素によって実施されるものとして記載した一定の処理は、他の構成要素によって実施されてもよい。
【００６４】
図１〜５に示され又は言及される前記データ構造及び構成要素は、特定のタイプの情報を有するものとして説明されている。諸代替実施形態では、前記データ構造及び構成要素を異なる形で構造化してもよく、前記図面に示され又は言及されるフィールドよりも少ないフィールド又は多くのフィールドを有していてもよく、あるいは、それとは異なるフィールド又は機能を有していてもよい。したがって、前記諸実施形態の前述の記載は、例示及び説明のために提示されてきた。前記諸実施形態を余すところのないものとし、又は開示の厳密な形態に限定することは、本出願人の意図するところではない。上記の教示に照らせば多くの修正形態及び変更形態が可能である。
【図面の簡単な説明】
【００６５】
【図１】ある実施形態に係る既存ＲＡＩＤアレイと、新規追加ＲＡＩＤアレイとを備える記憶装置制御ユニットを含むコンピューティング環境のブロック図である。
【図２】前記新規追加ＲＡＩＤアレイが空の状態である場合に、ある実施形態に従って全てのＲＡＩＤアレイに渡ってエクステントのリバランシングを行う流れ図である。
【図３】前記新規追加ＲＡＩＤアレイが空の状態である場合に、ある実施形態に従って全てのＲＡＩＤアレイに渡ってエクステントのリバランシングを行う一例を示す図である。
【図４】複数のエクステントが前記新規追加ＲＡＩＤアレイに記憶されている場合に、ある実施形態に従って全てのＲＡＩＤアレイに渡ってエクステントのリバランシングを行う流れ図である。
【図５】ある実施形態において、そのアーキテクチャに従って図１の前記コンピューティング環境の前記記憶装置制御ユニットを実装することができる、コンピューティング・システムのアーキテクチャを示す図である。
【符号の説明】
【００６６】
１００  コンピューティング環境
１０２  記憶装置制御ユニット
１０４  記憶装置
１０６ａ、１０６ｂ．．．、１０６ｎ  既存ＲＡＩＤアレイ
１０８ａ、１０８ｂ、．．．１０８ｍ  新規追加ＲＡＩＤアレイ
１１０ａ、１１０ｂ、．．．１１０ｐ、１１２ａ、１１２ｂ、．．．１１２ｑ、１１４ａ、１１４ｂ、．．．１１４ｒ  エクステント
１１６  エクステント再分配アプリケーション
５００  コンピュータ・システム
【図１】
2007149068.tif 000003
【図２】
2007149068.tif 000004
【図３】
2007149068.tif 000005
【図４】
2007149068.tif 000006
【図５】
2007149068.tif 000007