(57)【要約】本開示はＲＡＩＤリストライピングのためのシステム及び方法に関する。方法は、少なくとも１つのスコアに基づいての移行のための初期ＲＡＩＤデバイスの選択、代替ＲＡＩＤデバイスの作成、初期ＲＡＩＤデバイスから代替ＲＡＩＤデバイスへのデータの移動、及び初期ＲＡＩＤデバイスの除去を含む。方法はシステムにより自動的に又は手動で実施できる。周期的に、継続的に、ＲＡＩＤデバイスの移行後毎に、ディスクドライブの追加時に、及び／又はディスクドライブの取外し前などに、方法を実施できる。システムはＲＡＩＤサブシステムとディスクマネージャとを含み、自動的に、各ＲＡＩＤデバイスについてスコアを計算し、ＲＡＩＤデバイスの相対的スコアに基づきＲＡＩＤデバイスを選択し、代替ＲＡＩＤデバイスを作成し、選択したＲＡＩＤデバイスから代替ＲＡＩＤデバイスへデータを移動し、選択したＲＡＩＤデバイスを除去するように構成される。
2009538482.tif 000002
【特許請求の範囲】
【請求項１】
ディスク・ドライブ・システムにおけるＲＡＩＤのリストライピングの方法であって、
複数のＲＡＩＤデバイスのそれぞれについて計算された少なくとも１つのスコアに基づいて、移行のためのＲＡＩＤデバイスを選択するステップと、
少なくとも１つの代替ＲＡＩＤデバイスを作成するステップと、
前記少なくとも１つの代替ＲＡＩＤデバイスへ、選択した前記ＲＡＩＤデバイスに格納されたデータを移動するステップと、
選択した前記ＲＡＩＤデバイスを取り除くステップと
を備える方法。
【請求項２】
請求項１に記載の方法であって、前記少なくとも１つのスコアが初期スコアおよび置換スコアを含み、前記初期スコアは、前記ＲＡＩＤデバイスに関連し、前記置換スコアは、使用可能なディスク空間に位置する少なくとも１つの第１仮想ＲＡＩＤデバイスと関連する、方法。
【請求項３】
請求項２に記載の方法であって、前記少なくとも１つのスコアが、使用可能なディスク空間と、前記ＲＡＩＤデバイスにより占有されるディスク空間との組合せの中に位置した少なくとも１つの第２仮想ＲＡＩＤデバイスに関連するオーバーレイ・スコアを更に含む、方法。
【請求項４】
請求項３に記載の方法であって、前記初期スコア、置換スコア、およびオーバーレイ・スコアのそれぞれが、ＲＡＩＤレベル、ＲＡＩＤストライプ・サイズ、ＲＡＩＤ範囲サイズ、ディスク・カテゴリ、ディスク上の位置、ディスク筐体、ディスク筐体電源、およびディスクへの通信経路を含むファクタのうちの少なくとも１つに基づいて計算される、方法。
【請求項５】
請求項４に記載の方法であって、前記ファクタが、前記計算で使用される可変の重みを有する、方法。
【請求項６】
請求項５に記載の方法であって、前記初期スコア、前記置換スコア、および前記オーバーレイ・スコアのそれぞれが同じファクタを使用して計算される、方法。
【請求項７】
請求項４に記載の方法であって、複数のＲＡＩＤデバイスのそれぞれについて計算された少なくとも１つのスコアに基づいて、移行のためのＲＡＩＤデバイスを選択する前記ステップが、前記置換スコアまたは前記オーバーレイ・スコアの少なくとも一方が前記初期スコアよりも良好である場合、前記ＲＡＩＤデバイスを選択するステップを含む、方法。
【請求項８】
請求項７に記載の方法であって、前記代替ＲＡＩＤデバイスが、前記第１仮想ＲＡＩＤデバイスと前記第２仮想ＲＡＩＤデバイスの一方に基づく、方法。
【請求項９】
請求項１に記載の方法であって、移行のためのＲＡＩＤデバイスを選択する前記ステップと、少なくとも１つの代替ＲＡＩＤデバイスを作成する前記ステップと、データを移動する前記ステップと、選択した前記ＲＡＩＤデバイスを取り除く前記ステップとが、手動介入なしに自動的に行われる、方法。
【請求項１０】
請求項９に記載の方法であって、前記ステップが、前記ディスク・ドライブ・システムへのサーバ・データ・アクセスを損失することなく、また、前記データの弾性を損なうことなく、実施される、方法。
【請求項１１】
請求項９に記載の方法であって、前記ステップが、周期的、継続的、ＲＡＩＤデバイス移行後ごと、ディスク・ドライブの追加時、およびディスク・ドライブの取外し前、のうちの少なくとも１つで実施される、方法。
【請求項１２】
請求項１に記載の方法であって、移行のためのＲＡＩＤデバイスを選択する前記ステップと、少なくとも１つの代替ＲＡＩＤデバイスを作成する前記ステップと、データを移動する前記ステップと、選択した前記ＲＡＩＤデバイスを取り除く前記ステップとが、手動で行われる、方法。
【請求項１３】
請求項１に記載の方法であって、前記少なくとも１つの代替ＲＡＩＤデバイスへ、選択した前記ＲＡＩＤデバイスに格納されたデータを移動する前記ステップが、少なくとも１つの一時的ＲＡＩＤデバイスを作成するステップを更に含む、方法。
【請求項１４】
請求項１３に記載の方法であって、選択した前記ＲＡＩＤデバイスに格納されたデータを前記少なくとも１つの一時的ＲＡＩＤデバイスへ移動し、次いで、前記一時的ＲＡＩＤデバイスから前記少なくとも１つの代替ＲＡＩＤデバイスへ移動するステップを更に含む方法。
【請求項１５】
ディスク・ドライブ・システムであって、
ＲＡＩＤサブシステムと、
少なくとも１つのディスク記憶システム・コントローラを有するディスク・マネージャであって、自動的に、
前記ＲＡＩＤサブシステムの複数のＲＡＩＤデバイスの各ＲＡＩＤデバイスについて少なくとも１つのスコアを計算し、
前記複数のＲＡＩＤデバイスの相対的な少なくとも１つのスコアに基づいて、前記複数のＲＡＩＤデバイスからＲＡＩＤデバイスを選択し、
代替ＲＡＩＤデバイスを作成し、
選択した前記ＲＡＩＤデバイスに格納された前記データの少なくとも一部を前記代替ＲＡＩＤデバイスへ移動し、
選択した前記ＲＡＩＤデバイスを取り除く
ように構成されたディスク・マネージャと
を備えるディスク・ドライブ・システム。
【請求項１６】
請求項１５に記載のディスク・ドライブ・システムであって、前記少なくとも１つのスコアが、前記ＲＡＩＤデバイスの初期スコアと、第１仮想ＲＡＩＤデバイスに関連する置換スコアと、第２仮想ＲＡＩＤデバイスに関連するオーバーレイ・スコアとを含む、ディスク・ドライブ・システム。
【請求項１７】
請求項１６に記載のディスク・ドライブ・システムであって、前記代替ＲＡＩＤデバイスが、前記第１仮想ＲＡＩＤデバイスと前記第２仮想ＲＡＩＤデバイスの一方に基づく、ディスク・ドライブ・システム。
【請求項１８】
請求項１５に記載のディスク・ドライブ・システムであって、ＲＡＩＤ−０、ＲＡＩＤ−１、ＲＡＩＤ−５、およびＲＡＩＤ−１０を含む複数のＲＡＩＤレベルのうちの少なくとも１つからの記憶空間を含む、ディスク・ドライブ・システム。
【請求項１９】
請求項１８に記載のシステムであって、ＲＡＩＤ−３、ＲＡＩＤ−４、ＲＡＩＤ−６、およびＲＡＩＤ−７を含むＲＡＩＤレベルを更に含む、システム。
【請求項２０】
ＲＡＩＤのリストライピングが可能なディスク・ドライブ・システムであって、
複数のＲＡＩＤデバイスのそれぞれについて計算された少なくとも１つのスコアに基づいて、移行のためのＲＡＩＤデバイスを選択する手段と、
少なくとも１つの代替ＲＡＩＤデバイスを作成する手段と、
選択した前記ＲＡＩＤデバイスに格納されたデータを、前記少なくとも１つの代替ＲＡＩＤデバイスへ移動する手段と、
選択した前記ＲＡＩＤデバイスを取り除く手段と
を備えるディスク・ドライブ・システム。
【請求項２１】
データを再割振りする方法であって、
データの現在位置に関するスコアと、前記データの代替位置に関するスコアとを求めるステップと、
前記データの前記現在位置に関する前記スコアと、前記データの前記代替位置に関する前記スコアとを比較するステップと、
前記データの前記代替位置に関する前記スコアが、前記データの前記現在位置に関する前記スコアよりも良好であるとき、前記データを前記現在位置から前記代替位置へ移動するステップと
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照：本願は、２００６年５月２４日出願の米国仮特許出願第６０／８０８０４５号に対する優先権を主張するものであり、これは参照により全体が本明細書に組み込まれる。
【０００２】
本発明は、一般にはディスク・ドライブのシステムおよび方法に関し、より詳細には、ＲＡＩＤパラメータまたはディスク構成に対する変更が行われたときにＲＡＩＤデバイスのレイアウトを最適化する動的ブロック・アーキテクチャＲＡＩＤデバイスの管理、再配分、および再ストライピングを有するディスク・ドライブのシステムおよび方法に関する。
【背景技術】
【０００３】
既存のディスク・ドライブ・システムは、仮想ボリューム（仮想ボリューム）が物理ディスクにわたって分散する（またはマッピングされる）ように設計されているが、それは、ボリューム作成時に決定され、仮想ボリュームの存続時間全体にわたって静的にとどまる様式とされる。即ち、ディスク・ドライブ・システムは、データ記憶空間の仮想ボリュームの特定の位置およびサイズに基づいて、データを静的に割り振る。仮想ボリュームが所望のデータ記憶目的に対して不適当であることが判明した場合、既存のシステムは、ボリュームの特性を変更するために、新しい仮想ボリュームの作成と、それに付随しての、古い仮想ボリュームから新しい仮想ボリュームへの、以前に格納したデータのコピーとを必要とする。この手続きは、重複する物理ディスク・ドライブ空間を必要とするので、時間と費用とがかかる。
【０００４】
こうした従来技術のディスク・ドライブ・システムは、データを格納するために、データ記憶空間の仮想ボリュームの厳密な位置およびサイズを認識し、監視し、制御することを必要とする。更に、システムはしばしば、より多くのデータ記憶空間を必要とし、それによりより多くのＲＡＩＤ  Ｄｅｖｉｃｅ（ＲＡＩＤデバイス）が追加される。その結果、空にされたデータ記憶空間は使用されず、余分のデータ記憶装置、例えばＲＡＩＤデバイスが、システムでデータを格納、読取り／書込み、および／または復元するためにあらかじめ取得される。追加のＲＡＩＤデバイスは、費用がかかり、余分のデータ記憶空間が実際に必要となるまでは不要である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従って、改良型のディスク・ドライブのシステムおよび方法が求められており、より具体的には、効率的な動的なＲＡＩＤ空間および時間の管理のシステムが求められている。更に、サーバやホストのデータ・アクセスを損失することなく、また、弾性（resiliency）を損なうことなく、ＲＡＩＤの管理、再割振り（reallocation）、および再ストライピング（リストライピング、restriping）を行うことを可能にする改良されたディスク・ドライブのシステムおよび方法が求められている。
【課題を解決するための手段】
【０００６】
一実施形態では、本発明は、ディスク・ドライブ・システムでのＲＡＩＤリストライピングの方法である。この方法は、少なくとも１つのスコアに基づいて移行（migration）のための初期ＲＡＩＤデバイスを選択すること、代替のＲＡＩＤデバイスを作成すること、初期ＲＡＩＤデバイスに格納されたデータを代替ＲＡＩＤデバイスへ移動すること、および初期ＲＡＩＤデバイスを取り除くことを含む。スコアは、初期スコア、置換スコア、およびオーバーレイ・スコアを含むことができる。更に、この方法は、システムにより自動的に実施することができ、またはシステム管理者などにより手動で実施することができる。この方法は、周期的に、継続的に、ＲＡＩＤデバイスの移行後ごとに、ディスク・ドライブの追加時に、および／またはディスク・ドライブを取り除く前などに、実施することができる。
【０００７】
別の実施形態では、本発明は、ＲＡＩＤサブシステムおよびディスク・マネージャを有するディスク・ドライブ・システムである。ディスク・マネージャは、ＲＡＩＤサブシステムの各ＲＡＩＤデバイスについてのスコアを自動的に計算し、ＲＡＩＤデバイスの相対的スコアに基づいてサブシステムからＲＡＩＤデバイスを選択し、代替ＲＡＩＤデバイスを作成し、選択したＲＡＩＤデバイスに格納されたデータの一部を代替ＲＡＩＤデバイスへ移動し、選択したＲＡＩＤデバイスを取り除くように、構成される。
【０００８】
更に別の実施形態では、本発明はディスク・ドライブ・システムであり、このディスク・ドライブ・システムは、各ＲＡＩＤデバイスについて計算された少なくとも１つのスコアに基づいて移行のためのＲＡＩＤデバイスを選択する手段と、少なくとも１つの代替ＲＡＩＤデバイスを作成する手段と、選択したＲＡＩＤデバイスに格納されたデータを少なくとも１つの代替ＲＡＩＤデバイスへ移動する手段と、選択したＲＡＩＤデバイスを取り除く手段とを含む。
【０００９】
複数の実施形態が開示されるが、本発明の例示的な実施形態を示し説明する以下の詳細な説明から、本発明の更に別の実施形態が当業者には明らかとなるであろう。理解するであろうが、本発明は、本発明の精神および範囲から逸脱することなく、様々な自明な態様における変更が可能である。従って、図面および詳細な説明は、例示的な性質のものとみなされるべきであり、限定的なものとみなされるべきではない。
【００１０】
本明細書は、本発明を形成するとみなされる主題を具体的に指摘して明確に特許請求する特許請求の範囲で完結するが、添付の図と共に行われる以下の説明より、本発明がより良く理解されると考えられる。
【図面の簡単な説明】
【００１１】
【図１Ａ】図１Ａは、本発明の一実施形態によるＲＡＩＤ構成を有するディスク・アレイである。
【図１Ｂ】図１Ｂは、追加のＲＡＩＤデバイスを有する図１Ａのディスク・アレイである。
【図１Ｃ】図１Ｃは、ＲＡＩＤデバイスを取り除いた後の図１Ｂのディスク・アレイである。
【図２Ａ】図２Ａは、本発明の別の実施形態によるＲＡＩＤ構成を有するディスク・アレイである。
【図２Ｂ】図２Ｂは、追加のＲＡＩＤデバイスを有する図２Ａのディスク・アレイである。
【図２Ｃ】図２Ｃは、ＲＡＩＤデバイスを取り除いて別のＲＡＩＤデバイスを追加した後の図２Ｂのディスク・アレイである。
【図２Ｄ】図２Ｄは、更に別のＲＡＩＤデバイスを取り除いた後の図２Ｃのディスク・アレイである。
【図３Ａ】図３Ａは、本発明の別の実施形態によるＲＡＩＤ構成を有するディスク・アレイである。
【図３Ｂ】図３Ｂは、ＲＡＩＤデバイスの移行を示している図３Ａのディスク・アレイである。
【図３Ｃ】図３Ｃは、複数のＲＡＩＤデバイスの別の移行を示している図３Ｂのディスク・アレイである。
【図３Ｄ】図３Ｄは、複数のＲＡＩＤデバイスの更に別の移行を示している図３Ｃのディスク・アレイである。
【図３Ｅ】図３Ｅは、新しいＲＡＩＤ構成の図３Ａのディスク・アレイである。
【図４】図４は、本発明の一実施形態によるリストライピングのプロセスの流れ図である。
【図５】図５は、本発明の一実施形態による異なるサイズのＲＡＩＤデバイスを有するＲＡＩＤ構成を有するディスク・アレイである。
【発明を実施するための形態】
【００１２】
本発明の様々な実施形態は、一般にはディスク・ドライブのシステムおよび方法に関し、より詳細には、１組のディスク・ドライブ上に構築される１または複数のＲＡＩＤデバイスにわたって分散する１または複数の仮想ボリュームを実装するディスク・ドライブのシステムおよび方法に関する。ＲＡＩＤデバイスの管理、リアロケーション（Ｒｅａｌｌｏｃａｔｉｏｎ、再配分）、およびリストライピング（「Ｒｅｓｔｒｉｐｉｎｇ」）は、サイズ、データ保護レベル、相対的コスト、アクセス速度などの仮想ボリュームに関連する様々な特性を変更するシステムおよび方法を提供する。このシステムおよび方法は、ディスク構成（コンフィギュレーション）に対する変更が行われたときに、管理処置により又は自動的に開始することができる。
【００１３】
本開示の様々な実施形態は、ＲＡＩＤパラメータまたはディスクのコンフィギュレーションに対する変更が行われたときにＲＡＩＤデバイス・レイアウトを最適化する動的ブロック・アーキテクチャＲＡＩＤデバイス・リストライピングを有する改良型のディスク・ドライブ・システムを提供する。一実施形態では、ディスクがシステムに追加されたときに、まずＲＡＩＤデバイスのレイアウトをリバランス（バランスの取り直し）することができる。リバランスすることにより、最大使用可能ディスク構成を使用することによりシステム内の仮想化性能を改善することができる。リストライピングはまた、ディスクのグループからデータを移行する機能も提供することができ、アップタイム（使用可能時間）やデータ保護の損失なしに、こうしたディスクをシステムから取り除くことが可能となる。更に、リストライピングは、ＲＡＩＤパラメータを変更する機能を提供することができ、データが書き込まれた後であっても性能および／または記憶容量を調整する能力をユーザに与える。リストライピングは更に、サーバやホストのデータ・アクセスを損なうことなく、また、弾性を損なうことなく、リストライピングを行うことを可能にする改良型のディスク・ドライブのシステムおよび方法を提供することができる。
【００１４】
本明細書に記載の様々な実施形態は、複数の方式で既存のディスク・ドライブ・システムを改善する。一実施形態では、仮想ボリュームと物理ディスク・ドライブ空間との間のマッピングが、細密なスケールで変更可能である。別の実施形態では、以前に格納されたデータを小単位で自動的に移行することができ、物理的資源を完全に複製する必要なしに適切なマッピングを更新することができる。別の実施形態では、適切な資源へ既にマッピングされている仮想ボリュームの部分を移行する必要はなく、ボリューム（Ｖｏｌｕｍｅ）の再構成（再コンフィギュレーション）に必要な時間が削減される。更に別の実施形態では、記憶システムが、仮想ボリュームのグループ全体を自動的に並列的に再構成する。更に、記憶システムは、物理的構成に対する変更が行われたときに仮想ボリュームを自動的に再構成することができる。従来のディスク・ドライブ・システムに勝る他の利点を当業者は理解するであろうし、そうした利点は、列挙されたものに限定されない。
【００１５】
更に、リストライピングおよびディスクの分類は、記憶システムの管理制御にとって強力なツールとなることができる。例えば、欠陥のある製造ロットからのものであることが判明しているディスク・ドライブが再分類されて、こうしたディスク・ドライブからの移行が行われるようにできる。同様に、１組のドライブを「予備（リザーブ）」カテゴリに保持し、後に、より大きい使用中グループの一部となるように再分類することができる。ＲＡＩＤデバイスを広げるためのリストライピングは、こうした追加の予備ユニットを徐々に組み込むことができる。本明細書に記載の実施形態により幾つかの利点を理解することができること、および先の例のリストは包括的なものではなく、限定を行うためのものではないことに、留意されたい。
【００１６】
本明細書で様々な実施形態の説明では、「Ｖｏｌｕｍｅ（ボリューム）」は、コンピュータ・データを格納する外部アクセス可能なコンテナ（入れもの）を含むことができる。一実施形態では、コンテナを、相互接続プロトコルを介して、ブロックの連続するアレイとして提示することができる。別の実施形態では、各ブロックは、固定サイズ、伝統的には５１２バイトを有することができる。しかし、２５６バイト、１０２４バイトなどのような他のサイズのブロックを使用することもできる。典型的に、任意の所与の位置でデータに対して実施される、サポートされる操作は、「書込み」（格納）および「読取り」（検索）を含むことができる。しかし、「検証」などの他の操作もサポートすることができる。ボリュームにアクセスするために使用される相互接続プロトコルは、ディスク・ドライブにアクセスするために使用されるものと同じでよい。従って、ある実施形態では、ボリュームは、ディスク・ドライブのそれと概して同等に見え、機能することができる。伝統的に、ボリュームを、ディスク・ドライブのパーティション、またはアレイ内のディスク・ドライブの単純な連結として、実装することができる。
【００１７】
本明細書で使用される「仮想ボリューム（Ｖｉｒｔｕａｌ  Ｖｏｌｕｍｅ）」は、様々なハードウェア資源およびソフトウェア資源から構築されるデータを格納する外部アクセス可能コンテナを含むことができ、一般には従来型のボリュームの挙動を模倣する。具体的には、ディスク・ドライブ・アレイを含むシステムは、ディスク・アレイの非交差部分（交差していない部分）を使用する複数の仮想ボリュームを提示する。このタイプのシステムでは、個々のディスク・ドライブの記憶資源は、アレイで統合することができ、その後で、外部コンピュータで使用するために個々のボリュームに分割することができる。ある実施形態では、外部コンピュータはサーバ、ホストなどである。
【００１８】
本明細書で使用される「ＲＡＩＤ  Ｄｅｖｉｃｅ（ＲＡＩＤデバイス）」は、ディスク・パーティションの集合を含むことができ、連結と、ディスク・ドライブ障害に対する弾性（resiliency）とを提供する。連結および弾性のためのＲＡＩＤアルゴリズムは周知であり、ＲＡＩＤ０、ＲＡＩＤ１、ＲＡＩＤ０＋１、ＲＡＩＤ５、ＲＡＩＤ１０などのＲＡＩＤレベルを含む。所与のディスク・アレイでは、複数のＲＡＩＤデバイスが、任意の所与のディスク組に常駐することができる。こうしたＲＡＩＤデバイスのそれぞれは、異なるＲＡＩＤレベルを使用しうるものであり、異なるパラメータ、例えばストライプ・サイズなど、を有し得るものであり、異なる順序で個々のディスク・ドライブにわたって分散し得るものであり、ディスク・ドライブの異なるサブセットを占有し得るものなどである。ＲＡＩＤデバイスは、内部アクセス可能な仮想ボリュームであり得る。それは、固定サイズのデータ記憶位置の連続するアレイを提供することができる。特定のＲＡＩＤパラメータが、ＲＡＩＤデバイスアドレスと、ディスク・ドライブのデータ記憶アドレスとの間のマッピングを決定する。本開示では、改良された機能を提供する、ＲＡＩＤデバイスから外部アクセス可能仮想ボリュームを構築するためおよび変更するためのシステムおよび方法が説明される。
【００１９】
仮想ボリューム構築
本開示を使用する記憶システムは、最初に、ディスク・アレイ上に様々な特性を有する１組のＲＡＩＤデバイスを構築することができる。ＲＡＩＤデバイスは、本明細書で「ページ」と呼ぶ単位に論理的に分割することができ、ページのサイズは多数のブロックであり得る。典型的なページ・サイズは４０９６ブロックでよい。しかし、原理上は、１ブロック以上の任意のページ・サイズを使用することができる。しかしながら、ページ・サイズは一般に、２のべき乗のブロック数を含む。こうしたページを仮想ボリューム管理ソフトウェアにより管理することができる。最初に、各ＲＡＩＤデバイスからのすべてのページをフリーとマークすることができる。必要に応じて、ページを仮想ボリュームに動的に割り振ることができる。即ち、所与のアドレスが最初に書き込まれると判定されたときにページを割り振ることができる。書き込まれる前に読み取られるアドレスには、デフォルト・データ値を与えることができる。仮想ボリューム管理ソフトウェアは、仮想ボリュームアドレスと、ＲＡＩＤデバイス内のページとの間のマッピングを維持することができる。所与の仮想ボリュームを複数のＲＡＩＤデバイスからのページで構成することができ、これは異なる特性を更に有し得ることに留意されたい。
【００２０】
このようにして構築された仮想ボリュームのサイズを拡張することは、サーバへ提示されるアドレスの範囲を増大させることにより実施することができる。アドレスからページへのマッピングは、以前に使用可能であったアドレス範囲と拡張されたアドレス範囲との両方で、同じａｌｌｏｃａｔｅ−ｏｎ−ｗｒｉｔｅ（アロケート・オン・ライト）方式で継続することができる。
【００２１】
所与の仮想ボリュームの性能および弾性の特性は、大部分は、その仮想ボリュームに割り振られたページの集団的挙動により決定することができる。ページは、その特性を、それらが構築されるＲＡＩＤデバイスおよび物理ディスク・ドライブから継承する。従って、一実施形態では、ＲＡＩＤデバイス間でのページの移行は、サイズ以外の仮想ボリュームの特性を変更するために行う。本明細書で使用される「移行（Ｍｉｇｒａｔｉｏｎ）」は、新しいページを割り振ること、以前に書き込まれたデータを旧ページから新ページへコピーすること、仮想ボリューム・マッピングを更新すること、および旧ページをフリーとマークすることを含むことができる。伝統的には、ＲＡＩＤデバイスの特性を変換して（即ち、新しいＲＡＩＤレベル、ストライプ・サイズなどへ再マップする）それと同時にデータを同じ場所に残すことは、できない。
【００２２】
異なる仮想ボリューム特性を生成するように変更することのできる幾つかの独立パラメータが存在する。シナリオのうちの幾つかが本明細書で述べられる。しかしながら、本明細書で詳細に説明されるシナリオは本開示の様々な実施形態の例であり、限定を意図するものではない。ある実施形態では、本開示は、こうしたパラメータの何れかまたは全ての同時変更を含むことができる。
【００２３】
ＲＡＩＤパラメータ変更
例示のために、５個のディスク１０２、１０４、１０６、１０８、１１０を含むディスク・アレイ１００が図１Ａに示されている。本明細書で開示される様々な実施形態に従って任意の数のディスクを使用することができ、例示的な５個のディスク・システムは、一実施形態を説明するために無作為に選ばれたものであることを理解されたい。最初に、２つのＲＡＩＤデバイス、例えばＲＡＩＤデバイスＡ  １１２およびＲＡＩＤデバイスＢ  １１４をディスク・アレイ上に構築することができる。残りの空間が存在するならば、それは未割振りおよび未使用でよい。この場合も、本明細書で開示される様々な実施形態に従って任意の数のＲＡＩＤデバイスを使用することができ、例示的な２個のＲＡＩＤデバイスは、一実施形態を説明するために無作為に選ばれたものであることを理解されたい。複数の仮想ボリュームを、ＲＡＩＤデバイスに含まれるページから構築することができる。所与の仮想ボリュームの特性を変更することが望まれる場合、残りの空間内に追加のＲＡＩＤデバイスを構築することができ、前述のように、適切なページを移行することができる。
【００２４】
図１Ｂは、新しいＲＡＩＤデバイス、例えばＲＡＩＤデバイスＣ  １１６を作成した後のＲＡＩＤ構成の一実施形態を示し、ＲＡＩＤデバイスＡ  １１２からのデータの移行を示す。ＲＡＩＤデバイスＣ  １１６は、ＲＡＩＤレベル、ストライプ・サイズ、または他のＲＡＩＤパラメータなどの点で、ＲＡＩＤデバイスＡ  １１２とは異なり得る。ある実施形態では、同じパラメータを有するがディスク・ドライブ上の位置が異なるＲＡＩＤデバイスへ単に再配置することにより、性能が向上する可能性がある。例えば、ディスク・ドライブの性能は、物理プラッタの内側と外側とでは異なるものであり得、また、すべてのデータが密に配置される場合にはヘッド・シーキング（head seeking）のための時間が削減され得る。
【００２５】
移行が完了したとき、ＲＡＩＤデバイスＡ  １１２を取り除くことができ、図１Ｃに示される例示的ＲＡＩＤ構成が残される。
【００２６】
図１Ａのものから図１Ｃのものへの例示的ＲＡＩＤの再構成は、仮想ボリュームの幾つかの部分を移動できることも示す。即ち、一実施形態では、ボリューム全体を移動するのではなく、１または複数の仮想ボリュームの幾つかの部分を移行することができる。このことを実施することができるのは、単一の仮想ボリュームを複数のＲＡＩＤデバイスにわたって割り振ることができるからである。同様に、この例示的構成は、仮想ボリュームの幾つかのグループを移動できることも示す。なぜなら、あるＲＡＩＤデバイスから別のＲＡＩＤデバイスへ移行されたページを複数の仮想ボリュームに割り振ることができるからである。
【００２７】
ディスク・ドライブの追加
５個のディスク２０２、２０４、２０６、２０８、２１０を含むディスク・アレイ２００を有する別の実施形態が図２Ａに示されており、図２Ａでは、２つの追加のディスク・ドライブ２１２、２１４が既存の構成に追加されている。本明細書で開示される様々な実施形態に従って任意の数のディスクを使用することができ、例示的な５個のディスク・システムは、一実施形態を説明するために無作為に選ばれたものであることを理解されたい。同様に、本明細書で開示される様々な実施形態に従って任意の数のディスクを追加することができ、例示的な２個の追加ディスクは、一実施形態を説明するために無作為に選ばれたものであることを理解されたい。ある実施形態では、システムを再構成し、ＲＡＩＤデバイスをすべての７個のディスクにわたって分散させることが望ましいことがある。しかしながら、再構成されたＲＡＩＤデバイスを使用可能なすべてのディスクにわたって分散させる必要はないことを理解されたい。ＲＡＩＤデバイスが複数のディスクにわたって分散する一実施形態では、システムの合計スループットは、より多くのハードウェアを並列に使用することにより向上させることができる。更に、ＲＡＩＤデバイスのレイアウトの制約の結果として、追加のディスクの使用がより効率的となり得る。具体的には、ＲＡＩＤ５は典型的に、弾性を実現するために、必要とする独立ディスクの数が最小限であり得る。一般に直面するＲＡＩＤ５の実装は、必要とするディスクが最小５個である。従って、ＲＡＩＤデバイスＡ  ２１６とＲＡＩＤデバイスＢ  ２１８との両方から、例えばすべての７個のディスクにまたがる適切な置換手段へページを移行することが望ましいことがある。再構成のための可能なシーケンスが図２Ｂ〜図２Ｄに示されている。
【００２８】
このシーケンスでは、より広範囲のＲＡＩＤデバイスＣ  ２２０を作成することができ、ＲＡＩＤデバイスＡ  ２１６からのデータをＲＡＩＤデバイスＣ  ２２０へ移行することができる。次いで、ＲＡＩＤデバイスＡ  ２１６を削除することができ、ＲＡＩＤデバイスＤ  ２２２を作成することができる。ＲＡＩＤデバイスＤ  ２２２を使用して、以前にＲＡＩＤデバイスＢ  ２１８に含まれていたデータを再配置することができる。
【００２９】
それを行う際に、元のディスク・ドライブ上での必要な余分の空間は、ＲＡＩＤデバイスＣ  ２２０を作成するために必要な空間だけである。例示的な一実施形態では、他のＲＡＩＤパラメータが変化しない場合には、ＲＡＩＤデバイスＣ  ２２０の各範囲は、ＲＡＩＤデバイスＡ  ２１６を構築する際に使用される範囲サイズの５／７のサイズでよい（即ち、ＲＡＩＤデバイスＣは、５個の初期ドライブ＋２個の追加のドライブ、の間で分散する）。
【００３０】
プロセスは完全に可逆にすることができ、また、システムから１または複数のディスク・ドライブを取り除くのに使用することができ、例えばディスク２１２および２１４を図２Ｄの例示的構成から取り除くことが望まれた場合などに使用することができることに、留意されたい。同様に、複数の初期ＲＡＩＤデバイスを単一のＲＡＩＤデバイスへ、またはより少数のＲＡＩＤデバイスへ、移行することができる（例えば図３Ｃを参照）。更に、単一の初期ＲＡＩＤデバイスを複数の新しいＲＡＩＤデバイスへ移行することができる（例えば図３Ｂを参照）。
【００３１】
図２Ａ〜図２Ｄを参照しながら説明した先の一実施形態の例は、元のディスク・セット上に未使用空間が存在するときに、追加の各ディスクにわたってデータを移行できることを示す。しかしながら、ある実施形態では、ＲＡＩＤデバイスを移行すること、取り除くことなどのためのディスク空間が不十分であり得る。それでも、データを追加のディスクへ移行することが可能であり得る。そのような場合、ディスク空間を再割振りして、移動を実施するために必要な余分の空間を設けることができる。以下でより詳細に説明するＲＡＩＤデバイスのＲｅｐｌａｃｅｍｅｎｔ  Ｓｃｏｒｅ（置換スコア）が初期Ｓｃｏｒｅ（スコア）よりも高い場合、等しいサイズの永続的ＲＡＩＤデバイスを割り振ることができる。追加の判定は不要である。以下で詳細に説明するＲＡＩＤデバイスのＯｖｅｒｌａｙ  Ｓｃｏｒｅ（オーバーレイ・スコア）が初期スコアよりも高い場合、一時的空間を使用する。このプロセスは、４個のディスク３０２、３０４、３０６、３０８を含むディスク・アレイ３００を有する一実施形態について、図３Ａ〜図３Ｅを参照しながら詳述され、そこでは多段移行が使用される。３個のディスク３１０、３１２、３１４がディスク・アレイ３００に追加されている。本明細書で開示される様々な実施形態に従って任意の数のディスクを使用することができ、例示的な４個のディスク・システムは、一実施形態を説明するために無作為に選ばれたものであることを理解されたい。同様に、本明細書で開示される様々な実施形態に従って任意の数のディスクを追加することができ、例示的な３個の追加ディスクは、一実施形態を説明するために無作為に選ばれたものであることを理解されたい。
【００３２】
図３Ａに示されるシステムを再構成して、アレイ内のすべての使用可能なディスク・ドライブを使用する方策は、一時的ＲＡＩＤデバイス（１または複数）を作成すること、および、例えば、ＲＡＩＤデバイスＣ  ３２０からのデータを、元のディスク・ドライブから、例えば、一時的ＲＡＩＤデバイスＤ  ３２２およびＥ  ３２４へ移行することを含む。一時的ＲＡＩＤデバイスは、元のディスク・セットが容量限界または容量限界近くにある場合に、使用する。代替の実施形態では、一時的空間を、ＲＡＩＤデバイスとして割り振る必要はなく、また、データを適切に保持するための技術分野で周知の方式で使用することができる。同様に、２つの一時的ＲＡＩＤデバイスＤ  ３２２およびＥ  ３２４が示されているが、より少数または多数の一時的ＲＡＩＤデバイスを使用できることを理解されたい。
【００３３】
一実施形態では、データ・プログレッション・プロセス（data progression process）が、初期ＲＡＩＤデバイスと、一時的ＲＡＩＤデバイス（１または複数）との間、または他のケースでは、新しい永続的ＲＡＩＤデバイス（１または複数）との間のデータの移動を管理することができる。別の実施形態では、リストライピングは、使用可能であれば同じＲＡＩＤレベルを使用することを試みる。別の他の実施形態では、リストライピングは、データを異なるＲＡＩＤレベルへ移動する。
【００３４】
一時的ＲＡＩＤデバイスのサイズは、初期ＲＡＩＤデバイスサイズと、ページ・プール（page pool）内の使用可能な空間とに依存する。一時的ＲＡＩＤデバイスのサイズは十分な空間を提供することができ、初期ＲＡＩＤデバイスが削除されたときにページ・プールが引き続き正常に動作することができ、より多くの空間を割り振ることがない。ページ・プールは、ページ・プールのサイズに基づいて、構成されたしきい値で、より多くの空間を割り振ることができる。
【００３５】
データがＲＡＩＤデバイスＣ  ３２０から移行された後、ＲＡＩＤデバイスＣ  ３２０を削除することができ、それにより、すべてのディスク・ドライブにまたがる新しいＲＡＩＤデバイス、例えばＲＡＩＤデバイスＸ  ３２６のための空間が提供される。ＲＡＩＤデバイスＣ  ３２０を削除することは、ＲＡＩＤデバイスＣ  ３２０が消費したディスク空間をディスクの自由空間へ戻す。この時点で、ディスク・マネージャは、隣接する自由空間割振りを単一のより大きな割振りとして組み合わせて、断片化を低減することができる。ＲＡＩＤデバイスを削除することは、以前に使用可能であったよりも多くの自由空間を多数のディスクにわたって作成することができる。より高いＳｃｏｒｅを有するＲＡＩＤデバイスをこの自由空間のスライスから作成することができる。
【００３６】
初期ＲＡＩＤデバイスＣ  ３２０が削除された後、図３Ｃに示されるように、リストライピングが置換ＲＡＩＤデバイスＸ  ３２６を作成する。一実施形態では、置換ＲＡＩＤデバイスＸ  ３２６は、可能な限り多くのディスクを使用して、仮想化の利点を最大にすることができる。リストライピングは、初期ＲＡＩＤデバイスよりも大きいＲＡＩＤデバイスを割り振ることを試みる。別の実施形態では、リストライピングは、これを、置換スコアまたはオーバーレイ・スコアを初期スコアで割り、初期ＲＡＩＤデバイスのサイズを掛けた計算値を使用して、行うことができる。これは、ディスク当たりのディスク空間の使用量が以前と同じであるＲＡＩＤデバイスを作成することができ、ディスクの断片化を低減することができる。
【００３７】
初期ＲＡＩＤデバイス、例えばＲＡＩＤデバイスＡ  ３１６、Ｂ  ３１８、およびＣ  ３２０のサイズを慎重に制限することにより、ＲＡＩＤデバイスＢ  ３１８およびＥ  ３２４からのすべてのデータを保持することができるようにＲＡＩＤデバイスＸ  ３２６を作成することが可能となり、図３Ｅで最終的構成が達成されるまでプロセスが継続することが可能となる。即ち、ＲＡＩＤデバイスＹ  ３２８を作成することができ、ＲＡＩＤデバイスＡ  ３１６およびＤ  ３２２をＲＡＩＤデバイスＹ  ３２８へ移行することができ、ＲＡＩＤデバイスＡ  ３１６およびＤ  ３２２を削除することができる。
【００３８】
一時的ＲＡＩＤデバイス（１または複数）、例えばＲＡＩＤデバイスＤ  ３２２およびＥ  ３２４が作成されて一時的とマークされた場合、ＲＡＩＤデバイスは、図３Ｃ〜Ｅに示されるように、取外しのためにマークされ得る。一実施形態では、各サイクルの一部として、一時的ＲＡＩＤデバイスを取り除くことができる。より大きい置換ＲＡＩＤデバイスが作成されると、必要とされる一時的空間の量を低減する。ある実施形態では、ＲＡＩＤデバイスの移行が、データを移行または除去するための一時的空間の割振りを必要としないことがあることに、留意されたい。
【００３９】
リストライピングの一実施形態では、一時的ＲＡＩＤデバイスの取外しは、データの移動や一時的ＲＡＩＤデバイスの削除などのような、初期ＲＡＩＤデバイスの移行または取外しのために使用されるステップのサブセットを使用する。
【００４０】
一実施形態では、一時的ＲＡＩＤデバイスのスコアが初期ＲＡＩＤデバイスのスコアを超過した場合、一時的ＲＡＩＤデバイスを永続的ＲＡＩＤデバイスとみなすことができる。即ち、これは、ＲＡＩＤデバイスを移動するプロセスの一部として自動的に削除されない。別の実施形態では、一時的ＲＡＩＤデバイスをは、一時的ＲＡＩＤデバイスが初期ＲＡＩＤデバイスよりも十分高いスコアを有する場合にのみ、保持される。
【００４１】
リストライピングは、元の低スコアのＲＡＩＤデバイスを取り外し、それを新しい高スコアのＲＡＩＤデバイスと置き換えるための幾つかの別のステップを含むことができる。例えば、リストライピングは、システム内のディスクが一杯であり別のＲＡＩＤデバイスのための空間を有さないという可能性に対するものである。リストライピングは、ＲＡＩＤデバイスをリストライピングする試みの前に過剰な空間を削除（トリミング）する。過剰な空間をトリミングすることは、追加のディスク空間を解放することができ、リストライピングの成功率を向上させる。
【００４２】
ある実施形態では、リストライピングがデッドロックに達する可能性がある。例えば、一時的空間のサイズが、初期ＲＡＩＤデバイスを移動するために必要な空間の一部を消費する。すべてのページが解放できないものであるためにＲＡＩＤデバイスを取り除くことが不可能となった場合、ＲＡＩＤデバイスを故障とマークすることができ、リストライピングは、移動することができるか又は移動すべきである次のＲＡＩＤデバイスへ移る。
【００４３】
図４を参照しながら、リストライピングのプロセス４００の一実施形態のフロー・チャートが説明される。図４は一実施形態を示すものであり、本開示に従って様々な代替実施形態およびプロセスを使用できることを理解されたい。まず、ステップ４０２および４０４に示されるように、リストライピングは、移行、取外しなどをすべきＲＡＩＤデバイス、または移行、取外しなどをすることのできるＲＡＩＤデバイスがあるかどうかを判定する。一実施形態では、リストライピングは、システム内のＲＡＩＤデバイスのすべてをチェックし、最低の相対的スコアを有する最小のＲＡＩＤデバイスを選択する。他の実施形態では、リストライピングは他のＲＡＩＤデバイスを選択することができ、本明細書に記載のリストライピングは、最小のＲＡＩＤデバイスおよび／または最低のスコアを有するＲＡＩＤデバイスを選択することに限定されない。しかしながら、一般に、最小のＲＡＩＤデバイスの移動が失敗した場合、より大きいＲＡＩＤデバイスでも成功しない可能性が高い。一実施形態では、最低スコアのＲＡＩＤデバイスは、置換スコアまたはオーバーレイ・スコアを初期スコアで割ることにより、求めることができる。最低スコアのＲＡＩＤデバイスを求める他の方法は本開示に従い、それには、ＲＡＩＤデバイスの初期スコアだけを使用することを含む。
【００４４】
移行または取外しのためのＲＡＩＤデバイスを識別することに加えて、図４に示されるように、ＲＡＩＤデバイス移動は、限定はしないが、一時的空間を割り振ること（ステップ４０６）、データを移動すること（ステップ４０８）、元のＲＡＩＤデバイスを削除すること（ステップ４１０）、新しいＲＡＩＤデバイスを割り振ること（ステップ４１２）、および／または一時的ＲＡＩＤデバイスを削除すること（ステップ４１４および４１６）などのような、ＲＡＩＤ構成を最適化するための複数のステップを含むことができる。上記の列挙した追加のステップの例示的なものであり、ＲＡＩＤデバイスの移動は、列挙された各ステップを必要とするわけでなく、また、ある実施形態では、列挙されたステップとは別のステップまたは異なるステップを含むことができる。例えば、ある実施形態では、一時的空間を使用できず、従って、一時的空間を割り振ることができない。
【００４５】
ある実施形態では、リストライピングは、ＲＡＩＤデバイスの移動を制限することができる。例えば、システムをスラッシングさせることを回避するために、リストライピングは、ＲＡＩＤデバイスのスコアを絶対的に最大にする必要はない。リストライピングはまた、故障したＲＡＩＤデバイスを再試行しないように、それをマークすることができる。
【００４６】
リストライピングは、新しいディスクを認識し、追加の空間を使用する新しいＲＡＩＤデバイスを作成し、それに応じてデータを移動することができる。プロセスが完了した後、ユーザ・データおよび自由空間を、初期ディスクおよび追加のディスクを含むディスク・ドライブ全体にわたって分散させることができる。リストライピングはＲＡＩＤデバイスを拡張するのではなく、ＲＡＩＤデバイスを置換することに、留意されたい。任意の所与のディスク上の自由空間およびユーザ割振りの配置は任意でよく、図１〜図３ならびに残りの図５に示される配置は例示のためのものであることを理解されたい。
【００４７】
リストライピングのためのＲＡＩＤデバイスの選択
一実施形態では、先に論じたように、リストライピングは以下のものを処理することができる。
・ドライブの追加：  追加のドライブがディスク・ドライブ・システムに追加されたとき、リストライピングは、最適以下の数のドライブを使用するＲＡＩＤデバイスを識別することができる。新しいＲＡＩＤデバイスを作成することができ、データを移動することができる。元のＲＡＩＤデバイスは除去することができる。
・ドライブの取外し：  リストライピングは、ディスク・ドライブが取外しのためにマークされている場合、それを検出することができる。こうしたドライブ上に常駐するＲＡＩＤデバイスは取外しの候補となることができ、取外しは、ドライブの追加に関するものとほぼ同様に実施することができる。
・ＲＡＩＤパラメータの変更：  性能を改善するために、ＲＡＩＤレベル、ストライプ内のディスク数、範囲サイズなどのＲＡＩＤパラメータをユーザが変更することができる。リストライピングは、所望されるパラメータと初期パラメータとを比較し、最適ではないＲＡＩＤデバイスを移行および／または取外しのために選択することができる。
【００４８】
より大規模の、より複雑なシステムを有する実施形態を含むある実施形態では、所望される最終的構成を得るために何れの移行操作を使用すべきかや、また、既存の資源内で初期構成から最終的な所望される構成にすることが可能かどうかが、明らかでない可能性がある。一実施形態では、スコアリングおよび最適化の技法を使用して、取外しおよび置換のための特定のＲＡＩＤデバイスを選択することができる。例示的な実施形態では、スコアリング機能が、以下の特性のうちの１または複数のものを使用する。
【００４９】
・より多くのディスク・ドライブにまたがるＲＡＩＤデバイスが好ましい。
・均質な１組のディスク・ドライブ上に構築されるＲＡＩＤデバイスが好ましい。ディスク・ドライブは、この機能をサポートするために分類することができ、同じカテゴリに属するように同一である必要はない。
・所望される最終的構成のパラメータ（ＲＡＩＤレベル、ストライプ・サイズ、ディスク領域など）と合致するＲＡＩＤデバイスが好ましい。
・物理的に異なるディスク・ドライブに冗長データを配置するＲＡＩＤデバイスが好ましい。一例は、別々の筐体内のディスク・ドライブ、別々の通信経路上のディスク・ドライブ、または独立した電源を有するディスク・ドライブを含むことができる。
【００５０】
別の実施形態では、リストライピングを、スコアリング、検査、移動などのような３つの構成要素に分割することができる。ＲＡＩＤデバイスのスコアリングを使用して、要求されたパラメータおよび使用可能なディスク空間に基づいて所与のＲＡＩＤデバイスの品質を求めることができる。一実施形態では、スコアリングは３つの値を生成することができる。リストライピングは、初期ＲＡＩＤデバイスに関するスコアと、本明細書で置換スコアおよびオーバーレイ・スコアと呼ぶ２つの可能な代替ＲＡＩＤデバイスのスコアとを提供する。一実施形態に関する各スコアの詳細が以下で説明される。
【００５１】
・スコア：  ＲＡＩＤデバイスの現状態でのスコア。可能な一実施形態では、スコアは、ＲＡＩＤデバイスで使用されるディスク数から断片化およびパラメータの問題を引いたものであり得る。例えば表１を参照されたい。代替の実施形態では、任意の適切な方式でスコアを計算することができる。
・置換スコア：  存在する自由空間から構築することのできるＲＡＩＤデバイスの最大スコア。置換スコアは、ＲＡＩＤデバイスのスコアよりも高い場合も、低い場合も、等しい場合もある。
・オーバーレイ・スコア：  現ＲＡＩＤデバイスが取り外される場合のＲＡＩＤデバイスの最大スコア。オーバーレイ・スコアは、ＲＡＩＤデバイスのスコアよりも高い場合も、低い場合も、等しい場合もある。ある実施形態では、ディスク・フル状態などにおいて、現ＲＡＩＤデバイスにより既に割り振られている空間を使用してより良好なＲＡＩＤデバイスを作成できるかどうかを判定するために、オーバーレイ・スコアが望ましい。
【００５２】
置換スコアおよびオーバーレイ・スコアに関して、ＲＡＩＤデバイスに関するユーザ・アクセス可能ブロックは、ディスク変更の数と同じにとどまる。３つのスコアは、低スコアのＲＡＩＤデバイスから高スコアのＲＡＩＤデバイスへ移行する方策を開発するための入力パラメータを提供することができる。特定の実施形態では、置換スコアが初期スコアよりも高い場合、図１および図２に記載されているような直接的な移行が可能である。オーバーレイ・スコアが初期スコアよりも良好であり、かつ十分な自由空間が一時的ＲＡＩＤデバイス（１または複数）に対して使用可能である場合、図３で略述される移行方策が可能である。
【００５３】
一実施形態では、スコアを求めるのに使用されるファクタは、以下のうちの１または複数のものを含むことができる。
【００５４】
・ディスク・フォルダ：  ＲＡＩＤデバイスが指定のフォルダの外部のディスクを使用する場合、ＲＡＩＤデバイスのスコアが低くされる。この状況は、管理処置のために生じ得るものであり、また、スペアリングの間、即ち、スペア（予備）のディスクが供給されるときに生じ得る。
・ディスク・タイプ：  ＲＡＩＤデバイスが誤ったタイプのディスクに常駐する場合、ＲＡＩＤデバイスのスコアが低くされる。この状況は、ディスクが故障し、適切なタイプの予備が使用可能ではない場合に生じ得る。そのような場合、冗長性は「タイプ純度（type purity）」にわたって維持されることができ、別のディスク・タイプの予備が使用されることができる。
・使用されるディスク数：  一般には、より広範囲のＲＡＩＤデバイス（例えば、比較的多数のディスク・ドライブにまたがるＲＡＩＤデバイス）が好ましく、そのＲＡＩＤデバイスにはより高いスコアを与えられる。別の実施形態では、より独立性の高い障害領域を確立するために、最大幅が考慮され得る。
・使用可能なディスク数：  これは、ＲＡＩＤデバイスの置換スコアおよびオーバーレイ・スコアを求めるために使用される。一実施形態では、予備ディスクを除くディスクが、置換ＲＡＩＤデバイスを割り振るための十分な空間があるかをチェックされる。他の実施形態では、予備ディスクが、スコアの決定において含られる。空間が存在する場合、置換スコアおよびオーバーレイ・スコアが増加される。
・ディスク断片化：  ＲＡＩＤデバイスの周りに空きディスク空間が存在する場合、ＲＡＩＤデバイススコアは低くされる。これは、ＲＡＩＤデバイスを移行することによりディスク断片化が低減され得ることを、リストライピングに対して示すものである。
・ＲＡＩＤレベル：  所望されるＲＡＩＤレベルが初期ＲＡＩＤレベルに合致するかどうか。これは、ストライプ内のディスクの数を含むことができる。
・ＲＡＩＤ範囲サイズ（RAID Extent Size）：  所望されるＲＡＩＤデバイスの範囲サイズ、即ち、ディスク当たりのブロックが、初期ＲＡＩＤデバイスの範囲サイズと合致するかどうか。一実施形態では、ＲＡＩＤ範囲サイズに基づく決定は、ＲＡＩＤデバイスのスコアを低くすることができるだけである。
【００５５】
表１は、使用することのできるスコアリング要素の例示的な実施形態を示す。表１に示されるように、変数は、Ｄｉｓｋｓ  Ｉｎ  Ｃｌａｓｓ（クラス内ディスク）、Ｄｉｓｋｓ  Ｉｎ  Ｆｏｌｄｅｒ（フォルダ内ディスク）、ＲＡＩＤ  Ｌｅｖｅｌ（ＲＡＩＤレベル）、ＲＡＩＤ  Ｒｅｐｅａｔ  Ｆａｃｔｏｒ（ＲＡＩＤ反復ファクタ）、ＲＡＩＤ  Ｅｘｔｅｎｔ  Ｓｉｚｅ（ＲＡＩＤ範囲サイズ）、およびＲＡＩＤ  Ｄｒｉｖｅｓ  ｉｎ  Ｓｔｒｉｐｅ（ストライプ内ＲＡＩＤドライブ）を含むことができる。例示的なスコアリング・ファクタにおいて使用される「クラス内ディスク」は、以下の式で求めることができる。
【００５６】
（ＤｉｓｋｓＩｎＣｌａｓｓ−３×ＤｉｓｋｓＯｕｔＯｆＣｌａｓｓ）×ＤｉｓｋｓＩｎＣｌａｓｓＣｏｎｓｔａｎｔ
（（クラス内ディスク−３×クラス外ディスク）×クラス内ディスク定数）
【００５７】
この式では、ＤｉｓｋｓＩｎＣｌａｓｓは、適切なクラスにあるＲＡＩＤデバイスで使用されるディスクの数であり、ＤｉｓｋｓＯｕｔＯｆＣｌａｓｓは、適切なクラスではないＲＡＩＤデバイスで使用されるディスクの数であり、ＤｉｓｋｓＩｎＣｌａｓｓＣｏｎｓｔａｎｔは乗算定数値である。ディスク・クラスは、限定はしないが、１５Ｋ  ＦＣ、１０Ｋ  ＦＣ、ＳＡＴＡなどを含むことができる。例えば、ＲＡＩＤデバイスが、１０Ｋ  ＦＣディスクを使用するようにサポートされるが、２つのＳＡＴＡディスクを含んでいた場合、ＤｉｓｋｓＯｕｔＯｆＣｌａｓｓに関する値は２となる。例示的なスコアリング・ファクタで使用されるＤｉｓｋｓ  Ｉｎ  Ｆｏｌｄｅｒは、以下の式で求めることができる。
【００５８】
（ＤｉｓｋｓＩｎＦｏｌｄｅｒ−３×ＤｉｓｋｓＯｕｔＯｆＦｏｌｄｅｒ）×ＤｉｓｋｓＩｎＦｏＩｄｅｒＣｏｎｓｔａｎｔ
（（フォルダ内ディスク−３×フォルダ外ディスク）×フォルダ内ディスク定数）
【００５９】
上記の式では、ＤｉｓｋｓＩｎＦｏｌｄｅｒは、ディスクの適切なフォルダ内にあるＲＡＩＤデバイスで使用されるディスクの数であり、ＤｉｓｋｓＯｕｔＯｆＦｏｌｄｅｒは、ディスクの適切なフォルダ内にないＲＡＩＤデバイスで使用されるディスクの数であり、ＤｉｓｋｓＩｎＦｏｌｄｅｒＣｏｎｓｔａｎｔは乗算定数値である。ディスク・フォルダは、ＲＡＩＤデバイスで何れのディスクを使用することができるかを編成することができる。任意の時間にディスクをフォルダ・オブジェクト内に移動したり、フォルダ・オブジェクトの外に移動して、その使用法を変更することができる。例示的なスコアリング・ファクタで使用されるＲＡＩＤ  Ｌｅｖｅｌ（ＲＡＩＤレベル）は、ディスクが望ましくないＲＡＩＤレベルである場合に０である。ＲＡＩＤ  Ｒｅｐｅａｔ  Ｆａｃｔｏｒ（ＲＡＩＤ反復ファクタ）、ＲＡＩＤ  Ｅｘｔｅｎｔ  Ｓｉｚｅ（ＲＡＩＤ範囲サイズ）、およびＲＡＩＤ  Ｄｒｉｖｅｓ  ｉｎ  Ｓｔｒｉｐｅ（ストライプ内ＲＡＩＤドライブ）は、それぞれの計算スコアを２で割ったものである。表１は、例示的なスコアリング・ファクタの一実施形態と、スコアリング・ファクタがどのように計算および使用されるかについての一実施形態とを示すことが、認識される。表１に示される例は、例示のために過ぎず、限定のためのものではない。任意のスコアリング・ファクタ、またはスコアリング・ファクタのグループを、本明細書で開示される様々な実施形態と共に使用することができる。更に、スコアリング・ファクタまたはスコアリング・ファクタのグループを任意の適切な方式で計算したり使用したりすることができる。
【００６０】
【表１】
2009538482.tif 000003
【００６１】
別の実施形態では、リストライピングは、ＲＡＩＤデバイスのスコアを検討して、ＲＡＩＤデバイスが存在するならばどのＲＡＩＤデバイスを移動するかを判定する。リストライピングは、置換スコアまたはオーバーレイ・スコアのどちらかよりも低いスコアを有するＲＡＩＤデバイスを移動することができる。即ち、一実施形態では、置換スコアおよび／またはオーバーレイ・スコアが初期ＲＡＩＤデバイススコアよりも大きい場合、そのＲＡＩＤデバイスは移動の候補とすることができる。他の実施形態では、初期ＲＡＩＤデバイススコアが置換スコアおよびオーバーレイ・スコアよりも高い状況を含めての、任意の他の手段により、またはユーザによる手動選択などにより、初期ＲＡＩＤデバイスを移行の対象として選択することができる。リストライピングはまた、ＲＡＩＤデバイスを移動すべきでないと判定することもできる。別の実施形態では、リストライピングは、使用可能なＲＡＩＤデバイスから単一のＲＡＩＤデバイスを選んで移行することができる。
【００６２】
リストライピングが、移動するＲＡＩＤデバイスを識別した場合、そのＲＡＩＤデバイスの移行が行われる。一実施形態では、移行は、必要な一時的空間を決定すること、ＲＡＩＤデバイスからデータを移動すること、初期ＲＡＩＤデバイスのクリーンアップヲ行うこと、および一時的空間を除くことを含むことができる。別の実施形態では、動的ブロック・アーキテクチャ・ページ・プールが、ＲＡＩＤデバイスを使用し、低いスコアのＲＡＩＤデバイスから高いスコアのＲＡＩＤデバイスへのデータの移動を処理することができる。
【００６３】
別の実施形態では、リストライピングは更に、ＲＡＩＤデバイス移行後毎にすべてのＲＡＩＤデバイスのスコアを再評価する。なぜなら、ディスク空間の再割振りが他のＲＡＩＤデバイスのスコアを変更する可能性があるからである。別の実施形態では、すべてのＲＡＩＤデバイスのスコアを周期的に計算することができる。ある実施形態では、リストライピングは、ＲＡＩＤデバイスのスコアを継続的に計算することができる。更に別の実施形態では、スコアにおける最大の増加を使用して、取外しおよび置換のためのＲＡＩＤデバイスを選択することができる。ヒステリシス機構を使用して、プロセスが巡回的（cyclic）となるのを防ぐことができる。
【００６４】
ＲＡＩＤデバイスのスコアリングは、異なるサイズのディスク・ドライブに対処することもできる。図５は、異なるサイズのディスク５０２、５０４、５０６、５０８を有する例示的な構成５００を示す。表２は、構成５００に基づくＲＡＩＤデバイス５１０、５１２、５１４、５１６、５１８に関するスコアリング情報を含む、図５に示される構成に関する例示的なＲＡＩＤデバイスのスコアリングを示す。話を簡単にするために、相対的数字が使用される。表２は、移行のためのＲＡＩＤデバイス候補に関するスコアを示すが、表２は限定のためのものではなく、任意のスコアリングの組合せの結果として、ＲＡＩＤデバイスに対して移行または移行なしとマークすることができる。
【００６５】
【表２】
2009538482.tif 000004
【００６６】
上記の説明および図面により示し説明した特定の実施形態は例示のためのものに過ぎず、本発明の範囲を限定することを意図するものではないことを理解されよう。本発明の精神または不可欠な特徴から逸脱することなく、本発明を他の特定の形態で実施できることを当業者は理解されよう。特定の実施形態の詳細に対する参照は、本発明の範囲を限定することを意図するものではない。
【００６７】
本発明を好ましい実施形態を参照しながら説明したが、本発明の精神および範囲から逸脱することなく、形態および細部の変更を行えることを当業者は理解されよう。
【図１Ａ】
2009538482.tif 000005
【図１Ｂ】
2009538482.tif 000006
【図１Ｃ】
2009538482.tif 000007
【図２Ａ】
2009538482.tif 000008
【図２Ｂ】
2009538482.tif 000009
【図２Ｃ】
2009538482.tif 000010
【図２Ｄ】
2009538482.tif 000011
【図３Ａ】
2009538482.tif 000012
【図３Ｂ】
2009538482.tif 000013
【図３Ｃ】
2009538482.tif 000014
【図３Ｄ】
2009538482.tif 000015
【図３Ｅ】
2009538482.tif 000016
【図４】
2009538482.tif 000017
【図５】
2009538482.tif 000018
【国際調査報告】
2009538482.tif 000019
2009538482.tif 000020