(57)【要約】【課題】  ＲＡＩＤの容量拡張の際に論理ドライブの構成を柔軟に構築することを可能とする。【解決手段】  第１の論理ドライブに対して、他のＨＤＤ４の追加を検出する容量拡張検出部１２と、ＨＤＤ４の追加が検出された場合、ＲＡＩＤを再構築するために各ブロックのデータをどのＨＤＤ４に記憶するかを決定する記憶位置決定部１３と、これによりデータを記憶したブロックを最も多く有するＨＤＤ４に対応する容量を各ＨＤＤ４の再構築後の第１の論理ドライブの為の容量とし、再構築前のＲＡＩＤレベルで第１の論理ドライブを再構築する第１の論理ドライブ構築部１４と、残りの領域で第２の論理ドライブを構築する第２の論理ドライブ構築部１５を有するディスクアレイ装置。【選択図】図１
2007058777.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロック単位を有した少なくとも１の物理ドライブにより所定のＲＡＩＤレベルでＲＡＩＤが構築された第１の論理ドライブに対して、他の物理ドライブが追加されたか否かを検出する検出手段と、
前記検出手段により他の物理ドライブが検出された場合、この物理ドライブを含めて前記ＲＡＩＤを再構築するために前記複数のブロックに記憶されているデータをどの物理ドライブに記憶するかを決定する記憶位置決定手段と、
前記物理ドライブの内、前記記憶位置決定手段により記憶するデータのブロック数を最も多く有することとなる物理ドライブにおいて、当該物理ドライブに記憶されるブロック数に対応する容量と同一の容量を各物理ドライブにおける再構築後の第１の論理ドライブの為の容量とし、前記記憶位置決定手段により決定された物理ドライブに前記複数のブロックに記憶されているデータを再構築前のＲＡＩＤレベルで前記ブロック単位毎に順次記憶して第１の論理ドライブを再構築する第１の論理ドライブ構築手段と、
前記物理ドライブの内、前記第１の論理ドライブ構築手段が講じられていない領域において第２の論理ドライブを構築する第２の論理ドライブ構築手段と
を有することを特長とするディスクアレイ装置。
【請求項２】
前記検出手段は、ＲＡＩＤ容量の拡張要求があった際に実施されることを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
前記第２の論理ドライブ構築手段における前記第１の論理ドライブ構築手段が講じられていない領域とは、前記物理ドライブの内、前記第１の論理ドライブ構築手段が講じられていない残りの領域の全ての領域であることを特徴とする請求項１に記載のディスクアレイ装置。
【請求項４】
複数のブロック単位を有した少なくとも１の物理ドライブにより所定のＲＡＩＤレベルでＲＡＩＤが構築された第１の論理ドライブに対して、他の物理ドライブが追加されたか否かを検出する検出手段と、
前記検出手段により他の物理ドライブが検出された場合、この物理ドライブを含めて前記ＲＡＩＤを再構築するために前記複数のブロックに記憶されているデータをどの物理ドライブに記憶するかを決定する記憶位置決定手段と、
前記物理ドライブの内、前記記憶位置決定手段により記憶するデータのブロック数を最も多く有することとなる物理ドライブにおいて、当該物理ドライブに記憶されるブロック数に対応する容量と同一の容量を各物理ドライブにおける再構築後の第１の論理ドライブの為の容量とし、前記記憶位置決定手段により決定された物理ドライブに前記複数のブロックに記憶されているデータを再構築前のＲＡＩＤレベルで前記ブロック単位毎に順次記憶して第１の論理ドライブを再構築する第１の論理ドライブ構築手段と、
前記物理ドライブの内、前記第１の論理ドライブ構築手段が講じられていない領域において第２の論理ドライブを構築する第２の論理ドライブ構築手段と
を有することを特長とするコンピュータシステム。
【請求項５】
前記検出手段は、ＲＡＩＤ容量の拡張要求があった際に実施されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項６】
前記第２の論理ドライブ構築手段における前記第１の論理ドライブ構築手段が講じられていない領域とは、前記物理ドライブの内、前記第１の論理ドライブ構築手段が講じられていない残りの領域の全ての領域であることを特徴とする請求項１に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置に係り、ディスクの容量を拡張する機能を有するディスクアレイ装置に関する。
【背景技術】
【０００２】
物理ドライブたとえばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）を用いた記録再生装置の信頼性向上、高速化を実現する技術にＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  （Ｉｎｅｘｐｅｎｓｉｖｅ）  Ｄｉｓｋｓ）がある。
【０００３】
このＲＡＩＤは、ストライピング、ミラーリング、パリティチェック、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）、データとパリティ、ＥＣＣの分散書き込みなどの機能で構成され、採用している機能やその組み合わせの違いにより、ＲＡＩＤ０からＲＡＩＤ６、さらにはＲＡＩＤ０＋１、ＲＡＩＤ１０／３０／５０など様々なレベルがある。
【０００４】
例えば、ＲＡＩＤ０はストライピングとも呼ばれ、ひとつのデータを分割してデータを記憶する。特に複数のＨＤＤで同時に読み書きをする事によって、処理速度をアップさせることができる。また、ＲＡＩＤ５は、ストライピングで分割したデータを複数のＨＤＤに保存しながら、復元のための情報である「パリティ」も保存することで、仮に１つのＨＤＤが壊れても、残ったＨＤＤに保存されているパリティによってデータの復元を行える為、速度と安全性が両立させることができる。
【０００５】
ところで、従来所定の数のＨＤＤでＲＡＩＤを構築している状態において、更に他のＨＤＤを追加して容量拡張を行う場合には、単純に追加されたＨＤＤの容量が当該論理ドライブの容量増加となる。
【０００６】
例えば１個の８０ＧＢｙｔｅ容量のＨＤＤでＲＡＩＤ０を構築している状態において、更に同じ８０ＧＢｙｔｅ容量のＨＤＤを追加してＲＡＩＤ０を構築しようとする場合、追加容量分も既存の論理ドライブとして使用され、単純に１の論理ドライブの容量が、８０ＧＢｙｔｅから１６０ＧＢｙｔｅに増加するのみであった。
【０００７】
従って、増加した容量分は必ず既存の論理ドライブに組み込まれるため、容量拡張の際に新たに別の論理ドライブ構成するような論理ドライブの柔軟な構成は行うことはできなかった。
【０００８】
特許文献１には、論理ドライブを柔軟に構成するステップの一例として、同じ実ディスク装置上に生成された複数の可能ディスク装置を含め、同容量の複数の仮想ディスク装置を使ってディスクアレイを構成することで、容量の異なる複数の実ディスク装置を使って全ディスク装置の容量の合計と同じかそれに近い大容量のディスクアレイを構成することが可能な技術が開示されている。
【特許文献１】特開２０００−２９８５５６号公報（第８頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１等の技術は、複数の異なる容量の実ディスクを効率よく利用するために、複数の仮想ディスクを用いてディスクアレイを構築するに過ぎない。従って、たとえ上記文献１等の技術を使用したとしても、既に１つの論理ドライブにおいてディスクアレイを構築している場合に、これに対して容量拡張を行う場合の論理ドライブの構成を柔軟に構築することはできなかった。
【００１０】
そこで、本発明は上記問題を解決する為になされたものであり、既に１つの論理ドライブにおいてディスクアレイを構築している場合に、当該ディスクアレイの容量を維持しつつ容量拡張を行うことで容量増加分を別の論理ドライブとして使用可能とし、論理ドライブの構成を柔軟に構築するが可能となるディスクアレイ装置及び、コンピュータシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
かかる課題を解決するために、本発明に係るディスクアレイ装置は、複数のブロック単位を有した少なくとも１の物理ドライブにより所定のＲＡＩＤレベルでＲＡＩＤが構築された第１の論理ドライブに対して、他の物理ドライブが追加されたか否かを検出する検出手段と、前記検出手段により他の物理ドライブが検出された場合、この物理ドライブを含めて前記ＲＡＩＤを再構築するために前記複数のブロックに記憶されているデータをどの物理ドライブに記憶するかを決定する記憶位置決定手段と、前記物理ドライブの内、前記記憶位置決定手段により記憶するデータのブロック数を最も多く有することとなる物理ドライブにおいて、当該物理ドライブに記憶されるブロック数に対応する容量と同一の容量を各物理ドライブにおける再構築後の第１の論理ドライブの為の容量とし、前記記憶位置決定手段により決定された物理ドライブに前記複数のブロックに記憶されているデータを再構築前のＲＡＩＤレベルで前記ブロック単位毎に順次記憶して第１の論理ドライブを再構築する第１の論理ドライブ構築手段と、前記物理ドライブの内、前記第１の論理ドライブ構築手段が講じられていない領域において第２の論理ドライブを構築する第２の論理ドライブ構築手段とを有することを特長としている。
【００１２】
また、本発明に係るコンピュータシステムは、複数のブロック単位を有した少なくとも１の物理ドライブにより所定のＲＡＩＤレベルでＲＡＩＤが構築された第１の論理ドライブに対して、他の物理ドライブが追加されたか否かを検出する検出手段と、前記検出手段により他の物理ドライブが検出された場合、この物理ドライブを含めて前記ＲＡＩＤを再構築するために前記複数のブロックに記憶されているデータをどの物理ドライブに記憶するかを決定する記憶位置決定手段と、前記物理ドライブの内、前記記憶位置決定手段により記憶するデータのブロック数を最も多く有することとなる物理ドライブにおいて、当該物理ドライブに記憶されるブロック数に対応する容量と同一の容量を各物理ドライブにおける再構築後の第１の論理ドライブの為の容量とし、前記記憶位置決定手段により決定された物理ドライブに前記複数のブロックに記憶されているデータを再構築前のＲＡＩＤレベルで前記ブロック単位毎に順次記憶して第１の論理ドライブを再構築する第１の論理ドライブ構築手段と、前記物理ドライブの内、前記第１の論理ドライブ構築手段が講じられていない領域において第２の論理ドライブを構築する第２の論理ドライブ構築手段とを有することを特長としている。
【発明の効果】
【００１３】
ＲＡＩＤの容量拡張の際に論理ドライブの構成を柔軟に構築するが可能となる。
【発明を実施するための最良の形態】
【００１４】
（第１の実施の形態）
以下、図面を参照して本発明の実施の形態について説明する。
【００１５】
図１は本発明の一実施形態にかかるディスクアレイコントローラ１００の構成を示す図である。同図に示すように、このディスクアレイコントローラ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＣＰＵで実行されるディスクアレイコントロールのためのファームウェアや各種パラメータなどが格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などで構成される制御プロセッサ１と、ディスクアレイコントロールのための作業領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２と、ディスクアレイ３を構成する複数の物理ドライブであるＨＤＤ４−１、４−２，・・がそれぞれ接続される複数のポート５−１，５−２，・・と、これらのポート５−１，５−２，・・に接続された各ＨＤＤ４−１、４−２，・・に対する読み書きなどの制御を行うディスクコントローラ６と、コンピュータシステムのホストＣＰＵとの通信を制御するホストインタフェース７と、これらを接続する伝送路としてのバス８などで構成されている。なお、各々のポート５−１，５−２，・・に対してＨＤＤ４−１、４−２，・・は着脱可能とされている。
【００１６】
制御プロセッサ１は、ＲＯＭに格納されたファームウェアによって、ＲＡＩＤ制御部１１、容量拡張検出部１２、記憶位置決定部１３、第１の論理ドライブ構築部１４、第２の論理ドライブ構築部１５として機能する。
【００１７】
ＲＡＩＤ制御部１１は、ＲＡＩＤの制御たとえばＲＡＩＤ０のように、データをストライピング単位に分割して記憶させたり、ＲＡＩＤ１のようにミラーリングを使って同一のデータを複数のＨＤＤに書き込む制御の他、ＲＡＩＤ４、ＲＡＩＤ５のように書き込み時にデータのパリティを生成してこれらデータおよびパリティを複数のＨＤＤ４−１、４−２，・・の同じブロックに分散して記録したり読み出す制御などを行う。
【００１８】
容量拡張検出部１２は、各ＨＤＤ４−１、４−２，・・の物理ディスクの全容量の確認を実行する他、ユーザにより更に物理ディスクが追加された場合に、その検出を行う部分である。
【００１９】
記憶位置決定部１３は、構成されているＲＡＩＤのレベルを考慮しながらＲＡＩＤ制御部１１により書き込むデータの位置を決定する。即ち、どの物理ディスクのどの位置に書き込むかを決定する。ＲＡＩＤ制御部１１は、この記憶位置決定部１３により決定された位置にデータを書き込むようディスクコントローラ６を制御することとなる。
【００２０】
第１の論理ドライブ構築部１４は、容量拡張検出部１２により物理ディスクの追加を検出し、物理ディスクの全容量の確認した場合に、後述する手法で再構築後の第１の論理ドライブの容量を決定し、ＲＡＩＤ制御部１１により第１の論理ドライブの再構築を実施させる。
【００２１】
第２の論理ドライブ構築部１５は、第１の論理ドライブの構築が行われなかった物理ディスクの領域を第２の論理ドライブとして構築する。
【００２２】
尚、このディスクアレイコントローラ１００は、パーソナルコンピュータなどのコンピュータシステム内のバスと接続され、コンピュータシステムのホストＣＰＵとバスを通じて通信することが可能とされている。
【００２３】
次に、この実施形態のディスクアレイコントローラ１００の動作を説明する。
【００２４】
図２は本発明の実施の形態における容量拡張時のディスクアレイコントローラ１００の動作を示すフローチャートである。図３は本発明の実施の形態における容量拡張前のＲＡＩＤ０のディスクアレイの例を示す図である。図４は、本発明の実施の形態を実施後の容量拡張後のＲＡＩＤ０のディスクアレイの例を示した図である。
【００２５】
図３のＲＡＩＤ０のディスクアレイは、２つの物理ドライブであるＨＤＤ４−１及びＨＤＤ４−２により１つの論理ドライブ（第１の論理ドライブ）が構築されており、このＨＤＤ４−１、ＨＤＤ４−２には、夫々５つのブロックに割り当てられ、ＲＡＩＤ０が構築されているものとする。ここで各ブロックには、図３に示すようにそれぞれＤ０〜Ｄ９のデータが記憶されている。即ち、ＨＤＤ４−１には、Ｄ０，Ｄ２，Ｄ４、Ｄ６，Ｄ８のデータが記憶されおり、ＨＤＤ４−２にはＤ１，Ｄ３，Ｄ５，Ｄ７，Ｄ９のデータが記憶されている。
【００２６】
上記図３を初期の状態とすると、まず、本発明のディスクコントローラは、既存の物理ドライブ以外に他の物理ドライブが追加されることで、その後の処理を開始する（図２のステップＳ１０）。
【００２７】
即ち、容量拡張検出部１２が他の物理ドライブの追加が無いと判断している場合は（ステップＳ１０のＮｏ）、この追加があると判断するまでステップＳ２０以降の処理は行わない。尚、仮に他の物理ドライブが追加されたとしてもユーザにより容量拡張の入力があるまではステップＳ２０以降の処理を行わないようにしても良い。
【００２８】
一方、容量拡張検出部１２は他の物理ドライブの追加があったと判断した場合には（ステップＳ１０のＹｅｓ）、次に記憶位置決定部１３が、データを書き込んで記憶する記憶位置を決定する（ステップＳ２０）。この記憶位置の決定は、構築されているＲＡＩＤのレベルを考慮して行われる。図３の場合、ＨＤＤ４−１、ＨＤＤ４−２に対して、更に１つの物理ドライブであるＨＤＤ４−３が追加されたとすると（図４参照）、データの書き込みの順番は、ＨＤＤ４−１、ＨＤＤ４−２がＲＡＩＤ０で構築されていることを考慮し、順にＨＤＤ４−１、ＨＤＤ４−２、ＨＤＤ４−３、ＨＤＤ４−１、ＨＤＤ４−２、ＨＤＤ４−３、ＨＤＤ４−１・・・と順番に書き込むことを決定する。
【００２９】
従って、ＨＤＤ４−１は、論理アドレス順にＤ０、Ｄ３、Ｄ６、Ｄ９のデーが書き込まれ、ＨＤＤ４−２には、Ｄ１，Ｄ４、Ｄ７のデータが書き込まれ、ＨＤＤ４−３には、Ｄ２，Ｄ５、Ｄ８のデータが書き込まれることが決定される。
【００３０】
次に、上記ステップＳ２０で決定された記憶位置を元に、第１の論理ドライブ構築部１４は、後述する再構築後の第１の論理ドライブの容量を決定する（ステップＳ３０）。
【００３１】
この容量の決定は以下の２段階を経る。（１）物理ドライブの内、記憶位置決定部１３により記憶するデータのブロック数を最も多く有することとなる物理ドライブを識別する。（２）当該物理ドライブに記憶されるブロック数に対応する容量と同一の容量を各物理ドライブにおける再構築後の第１の論理ドライブの為の容量と決定する。
【００３２】
即ち、図４で言えば第１の論理ドライブ構築部１４は、まず物理ドライブＨＤＤ４−１〜ＨＤＤ４−３の内、記憶位置決定部１３により記憶するデータのブロック数を最も多く有することとなる物理ドライブは、ＨＤＤ４−１であると識別する。次に、第１の論理ドライブ構築部１４は、ＨＤＤ４−１に記憶されるブロック数である４つ（Ｄ０、Ｄ３、Ｄ６、Ｄ９）に対応する容量（１ブロックが５０ＧＢｙｔｅだとすると２００ＧＢｙｔｅ）と同一の容量（２００ＧＢｙｔｅ）をＨＤＤ４−１〜ＨＤＤ４−３における再構築後の第１の論理ドライブの為の各物理ディスクの容量と決定する。
【００３３】
次にＲＡＩＤ制御部１１がデータの書き込み（リビルド）を行い、ＨＤＤ４−１、ＨＤＤ４−２、ＨＤＤ４−３の３つの物理ドライブで、新たな論理ドライブ１（新第１の論理ドライブ）を構築する（ステップＳ４０）。
【００３４】
即ち、記憶位置決定部１３により決定された所定の物理ドライブにＤ０〜Ｄ９のデータを再構築前のＲＡＩＤレベルでブロック単位毎に順次記憶して新第１の論理ドライブを構築する。これにより、図４に示すようにＨＤＤ４−１〜ＨＤＤ４−３は夫々４つのブロック（２００ＧＢｙｔｅ）と同一容量ずつ、即ち全体として４つのブロックの容量の３倍（６００ＧＢｙｔｅ）が再構築後の第１の論理ドライブとしてＲＡＩＤ０で構築される。この結果、ＨＤＤ４−１は、論理アドレス順にＤ０、Ｄ３、Ｄ６、Ｄ９のデーが書き込まれ、ＨＤＤ４−２には、Ｄ１，Ｄ４、Ｄ７のデータが書き込まれ、ＨＤＤ４−３には、Ｄ２，Ｄ５、Ｄ８のデータが書き込まれる。尚、ＨＤＤ４−２のａの領域、ＨＤＤ４−３のｂの領域は再構築前の論理ドライブ容量維持のための補完的役割を担い、このａやｂの領域には第１の論理ドライブがＲＡＩＤ０を維持する限りは何もデーが書き込まれないこととなる。
【００３５】
次に、ＲＡＩＤ制御部１１は、第１の論理ドライブとして用いられなかった領域を新たな論理ドライブ（第２の論理ドライブ）として構築し（ステップＳ５０）、本フローチャートの処理が終了する。即ち、ＨＤＤ４−１〜ＨＤＤ４−３において再構築後も第１の論理ドライブとして用いられなかった領域（図４ではｃ〜ｅ）を上述した新第１の論理ドライブとは別の論理ドライブとして構築することで本処理が終了する。
【００３６】
尚、第１の論理ドライブとして用いられなかった領域とは、ＨＤＤ４−１〜ＨＤＤ４−３の内、第１の論理ドライブ構築部１４が論理ドライブの構築を実施しなかったいわゆる残りの領域の全てを第２の論理ドライブとして構築してもよいし、あるいは、残りの領域の一部を第２の論理ドライブとして利用しても良い。
【００３７】
以上の処理をすることで、新たに追加されたＨＤＤを利用して従来のＲＡＩＤ０による論理ドライブ（第１の論理ドライブ）の容量をそのまま維持した新たな論理ドライブ（新たな第１の論理ドライブ）によりＲＡＩＤ０が構築され、更に残りの容量に関しては、別の論理ドライブ（第２の論理ドライブ）を構築することが可能となる。
【００３８】
即ち、図３において、例えば２５０ＧＢｙｔｅの容量の物理ドライブであるＨＤＤ４−１及びＨＤＤ４−２で全体として５００ＧＢｙｔｅの容量の１つの論理ドライブ（第１の論理ドライブ）を構築して構成されたＲＡＩＤ０場合に、更に２５０ＧＢｙｔｅの容量のＨＤＤ４−３が追加されると、図４に示すようにＤ０〜Ｄ９は、ＨＤＤ４−１〜ＨＤＤ４−３の３つの物理ドライブに割り振られて６００ＧＢｙｔｅの容量の新たな論理ドライブ（新第１の新論理ドライブ）が構築され、かつ、残りの１５０ＧＢｙｔｅの容量（ｃ〜ｅ）は別の論理ドライブ（第２の論理ドライブ）が構築されることとなる。
【００３９】
従って、ユーザの希望により、第２の論理ドライブにおいて、更に新第１の論理ドライブと同様にＲＡＩＤ０を構築できたり、これとは別のＲＡＩＤレベルであるＲＡＩＤ１等のＲＡＩＤの構築も可能となる。
【００４０】
従って、容量拡張前の第１の論理ドライブの容量を維持したまま、ＨＤＤ容量拡張分を別の論理ドライブとして使用出来るため、ＲＡＩＤの容量拡張の際に論理ドライブの構成を柔軟に構築するが可能となる。
【００４１】
尚、図３はあくまで例示としてＲＡＩＤ０を示しているが、本発明はＲＡＩＤ０に限定することなく、次に述べるように、ＲＡＩＤ５等の他のＲＡＩＤレベルや、更にはＲＡＩＤのレベル変更にも応用が可能である。
【００４２】
（本発明の実施の形態の変形例）
以下に本発明の実施の形態の変形例を説明する。上述した第１の実施の形態ではＲＡＩＤ０の場合を説明したが、本変形例のようにＲＡＩＤ０に限らず他のＲＡＩＤレベルでも実施可能である。図５及び図６は、変形例の１つとしてＲＡＩＤ５とりあげたものである。
【００４３】
図５は本発明の実施の形態の変形例における容量拡張前のＲＡＩＤ５のディスクアレイの例を示す図である。この図５のＲＡＩＤ５のディスクアレイは、ＨＤＤ４−１、ＨＤＤ４−２、ＨＤＤ４−３の３つの物理ディスクで７５０ＧＢｙｔｅの容量で１つの論理ドライブ（第１の論理ドライブ）が構成され、それぞれのＨＤＤは５つのブロックに割り当てられているものとする。ここで各ブロックには、順にＨＤＤ４−１，ＨＤＤ４−２、ＨＤＤ４−３、ＨＤＤ４−３、ＨＤＤ４−２、ＨＤＤ４−１、ＨＤＤ４−１・・・ＨＤＤ４−３の順番でそれぞれ、Ｄ０、Ｄ１、Ｐ０−１、Ｄ２、Ｐ２−３、Ｄ３、Ｐ４−５・・・Ｄ９のデータが記憶されているものとする。
【００４４】
ここで、Ｐはデータ復元の情報であるパリティを示している。例えばＰ０−１とは、Ｄ０とＤ１のパリティを示している。尚、パリティは復元する対象のデータを元にしてＲＡＩＤ制御部１１が排他的論理和を計算することで導かれる。
【００４５】
この図５の状態において、既存の物理ドライブ以外に他の物理ドライブ部（ＨＤＤ４−４）が追加された（図２のステップＳ１０のＹｅｓ）とすると、記憶位置決定部１３は、上記ＲＡＩＤレベルを考慮してその記憶位置を決定する（ステップＳ２０）。
【００４６】
図５の場合、ＲＡＩＤ５で構築されたものであるため、その書込みの順序は、順にＨＤＤ４−１、ＨＤＤ４−２、ＨＤＤ４−３、ＨＤＤ４−４、ＨＤＤ４−４、ＨＤＤ４−３、ＨＤＤ４−２、ＨＤＤ４−１、ＨＤＤ４−１・・・という順序で書き込むドライブが決定される。
【００４７】
従って、図６で言えば第１の論理ドライブ構築部１４は、まず物理ドライブＨＤＤ４−１〜ＨＤＤ４−４の内、記憶位置決定部１３により記憶するデータのブロック数を最も多く有することとなる物理ドライブは、ＨＤＤ４−４であると識別する。次に、第１の論理ドライブ構築部１４は、ＨＤＤ４−４に記憶されるブロック数である４つ（Ｐ０−２、Ｄ３、Ｄ８、Ｄ９）に対応する容量（１ブロックが５０ＧＢｙｔｅなので２００ＧＢｙｔｅ）と同一の容量である２００ＧＢｙｔｅをＨＤＤ４−１〜ＨＤＤ４−４における再構築後の第１の論理ドライブの為の各物理ディスクの容量と決定する。
【００４８】
次にＲＡＩＤ制御部１１がデータの書き込み（リビルド）を行い、ＨＤＤ４−１、ＨＤＤ４−２、ＨＤＤ４−３、ＨＤＤ４−４の４つの物理ドライブで、新たな論理ドライブ１（新第１の論理ドライブ）を構築する（ステップＳ４０）。
【００４９】
即ち、記憶位置決定部１３により決定された所定の物理ドライブにＤ０〜Ｄ９のデータを再構築前のＲＡＩＤレベルでブロック単位毎に順次記憶して新第１の論理ドライブを構築する。これにより、図６に示すようにＨＤＤ４−１〜ＨＤＤ４−４は夫々２００ＧＢｙｔｅずつ、即ち全体として８００ＧＢｙｔｅが再構築後の第１の論理ドライブとしてＲＡＩＤ５で構築される。この結果、ＨＤＤ４−１は、論理アドレス順にＤ０、Ｄ５、Ｄ６のデーが書き込まれ、ＨＤＤ４−２には、Ｄ１，Ｄ４、Ｐ６−８のデータが書き込まれ、ＨＤＤ４−３には、Ｄ２，Ｐ３−５、Ｄ７のデータが書き込まれ、ＨＤＤ４−４には、Ｐ０−２、Ｄ３、Ｄ８、Ｄ９のデータが書き込まれる。尚、ＨＤＤ４−１のｃの領域、ＨＤＤ４−２のｂの領域、ＨＤＤ４−３のａの領域は再構築前の論理ドライブ容量維持のための補完的役割を担い、このａ〜ｃの領域には第１の論理ドライブがＲＡＩＤ５を維持する限りは何もデーが書き込まれないこととなる。
【００５０】
次に、ＲＡＩＤ制御部１１は、第１の論理ドライブとして用いられなかった領域を新たな論理ドライブ（第２の論理ドライブ）として構築し（ステップＳ５０）、本フローチャートの処理が終了する。即ち、ＨＤＤ４−１〜ＨＤＤ４−４において再構築後も第１の論理ドライブとして用いられなかった領域（図６ではｄ〜ｇ）を上述した新第１の論理ドライブとは別の論理ドライブとして構築することで本処理が終了する。
【００５１】
尚、第１の論理ドライブとして用いられなかった領域とは、ＨＤＤ４−１〜ＨＤＤ４−４の内、第１の論理ドライブ構築部１４が論理ドライブの構築を実施しなかったいわゆる残りの領域の全てを第２の論理ドライブとして構築してもよいし、あるいは、残りの領域の一部を第２の論理ドライブとして利用しても良い。
【００５２】
以上の処理をすることで、新たに追加されたＨＤＤを利用して従来のＲＡＩＤ５による論理ドライブ（第１の論理ドライブ）の容量をそのまま維持した新たな論理ドライブ（新たな第１の論理ドライブ）によりＲＡＩＤ５が構築され、更に残りの容量に関しては、別の論理ドライブ（第２の論理ドライブ）を構築することが可能となる。
【００５３】
即ち、図５において、例えば２５０ＧＢｙｔｅの容量の物理ドライブであるＨＤＤ４−１〜ＨＤＤ４−３で７５０ＧＢｙｔｅの容量の１つの論理ドライブ（第１の論理ドライブ）を構築して構成されたＲＡＩＤ５場合に、更に２５０ＧＢｙｔｅの容量のＨＤＤ４−４が追加されると、図６に示すようにＤ０〜Ｄ９は、ＨＤＤ４−１〜ＨＤＤ４−４の４つの物理ドライブに割り振られて８００ＧＢｙｔｅの容量の新たな論理ドライブ（新第１の新論理ドライブ）が構築され、かつ、残りの２００ＧＢｙｔｅの容量（ｄ〜ｇ）は別の論理ドライブ（第２の論理ドライブ）が構築されることとなる。
【００５４】
従って、ユーザの希望により、第２の論理ドライブにおいて、更に新第１の論理ドライブと同様にＲＡＩＤ５を構築できたり、これとは別のＲＡＩＤレベルであるＲＡＩＤ１等のＲＡＩＤの構築も可能となる。
【００５５】
従って、容量拡張前の第１の論理ドライブの容量を維持したまま、ＨＤＤ容量拡張分を別の論理ドライブとして使用出来るため、ＲＡＩＤの容量拡張の際に論理ドライブの構成を柔軟に構築するが可能となる。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施形態にかかるディスクアレイコントローラ１００の構成を示す図。
【図２】本発明の実施の形態における容量拡張時のディスクアレイコントローラ１００の動作を示すフローチャート。
【図３】本発明の実施の形態における容量拡張前のＲＡＩＤ０のディスクアレイの例を示す図。
【図４】本発明の実施の形態を施後の容量拡張後のＲＡＩＤ０のディスクアレイの例を示した図。
【図５】本発明の実施の形態の変形例における容量拡張前のＲＡＩＤ５のディスクアレイの例を示す図。
【図６】本発明の実施の形態の変形例を実施後の容量拡張後のＲＡＩＤ５のディスクアレイの例を示した図。
【符号の説明】
【００５７】
１  制御プロセッサ１
２  ＲＡＭ２
３  ディスクアレイ３
４−１，４−２，４−３，４−４  ＨＤＤ４−１
５−１，５−２，５−３  ポート５−１
６  ディスクコントローラ６
７  ホストインタフェース７
８  バス８
１１  ＲＡＩＤ制御部１１
１２  容量拡張検出部１２
１３  記憶位置決定部１３
１４  第１の論理ドライブ構築部１４
１５  第２の論理ドライブ構築部１５
１００  ディスクアレイコントローラ１００
【図１】
2007058777.tif 000003
【図２】
2007058777.tif 000004
【図３】
2007058777.tif 000005
【図４】
2007058777.tif 000006
【図５】
2007058777.tif 000007
【図６】
2007058777.tif 000008