(57)【要約】【課題】  ＲＡＩＤ構成を変えずにディスクアレイの記憶容量を拡張する。【解決手段】  拡張前のディスクアレイは、ＲＡＩＤ５（３Ｄ＋Ｐ）の最小構成台数である４で、４台のディスク装置２０〜２３の記憶領域を４等分した各分割領域を１つのパーティションとし、それぞれ異なるディスク装置のパーティションを４個組み合わせた４個の冗長グループを持つ。増設するディスク装置２４の領域も同じく４等分し、ディスクアレイの４個の冗長グループから、それぞれディスク装置の異なる１つのパーティションを選択して、この選択した４個のパーティションのデータをディスク装置２５の４個のパーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションは４個組み合わせて１個の新たな冗長グループを生成する。【選択図】 図３
2005099998.tif 000002
【特許請求の範囲】
【請求項１】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイにおける前記Ｎ個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する冗長グループ定義部とを備えることを特徴とするディスクアレイ装置。
【請求項２】
前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成するものであることを特徴とする請求項１記載のディスクアレイ装置。
【請求項３】
前記コピー処理部は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項２記載のディスクアレイ装置。
【請求項４】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイの前記ａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ定義部とを備えることを特徴とするディスクアレイ装置。
【請求項５】
前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成するものであることを特徴とする請求項４記載のディスクアレイ装置。
【請求項６】
前記コピー処理部は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項５記載のディスクアレイ装置。
【請求項７】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイに、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて新たな冗長グループを生成する冗長グループ定義部とを備えることを特徴とするディスクアレイ装置。
【請求項８】
前記コピー処理部は、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項７記載のディスクアレイ装置。
【請求項９】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、
前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイに、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ生成部とを備えることを特徴とするディスクアレイ装置。
【請求項１０】
前記ディスクアレイコントローラは、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項９記載のディスクアレイ装置。
【請求項１１】
前記ディスクアレイコントローラは、前記コピー処理部によるコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするＩＯ処理部を備えることを特徴とする請求項１乃至１０の何れか１項に記載のディスクアレイ装置。
【請求項１２】
ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置において、
前記ディスクアレイコントローラに、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、
前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、
前記コピー処理部は、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したＮ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな増設冗長グループを生成するものであり、
前記ＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行するものである、
ことを特徴とするディスクアレイ装置。
【請求項１３】
ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置において、
前記ディスクアレイコントローラに、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、
前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、
前記コピー処理部は、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したａ×Ｎ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、ａ組ある前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな増設冗長グループを生成するものであり、
前記ＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行するものである、
ことを特徴とするディスクアレイ装置。
【請求項１４】
前記ディスクアレイコントローラに、排他制御部を備え、前記コピー処理部および前記ＩＯ処理部は前記制御テーブルを参照更新する際には前記排他制御部により前記制御テーブルをロックするものであることを特徴とする請求項１２または１３記載のディスクアレイ装置。
【請求項１５】
前記所定のＲＡＩＤタイプが、ＲＡＩＤ５（ｉＤ＋Ｐ）（ｉは２以上の正整数）であることを特徴とする請求項１乃至１４の何れか１項に記載のディスクアレイ装置。
【請求項１６】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
ａ）ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイにおける前記Ｎ個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
ｂ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成するステップ、
を含むことを特徴とする記憶容量拡張方法。
【請求項１７】
ｃ）記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
ｄ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成するステップ、
を含むことを特徴とする請求項１６記載の記憶容量拡張方法。
【請求項１８】
Ｎ台目の増設ディスク装置まで前記ステップｃ、ｄのステップを繰り返すことで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項１７記載の記憶容量拡張方法。
【請求項１９】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
ａ）前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイの前記ａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
ｂ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成するステップ、
を含むことを特徴とする記憶容量拡張方法。
【請求項２０】
ｃ）記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、
ｄ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成するステップ、
を含むことを特徴とする請求項１９記載の記憶容量拡張方法。
【請求項２１】
Ｎ台目の増設ディスク装置まで前記ステップｃ、ｄと同じステップを繰り返すことで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項２０記載の記憶容量拡張方法。
【請求項２２】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイに、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のＮ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて新たな冗長グループを生成することを特徴とする記憶容量拡張方法。
【請求項２３】
Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項２２記載の記憶容量拡張方法。
【請求項２４】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイに、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成することを特徴とする記憶容量拡張方法。
【請求項２５】
Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項２４記載の記憶容量拡張方法。
【請求項２６】
コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトすることを特徴とする請求項１６乃至２５の何れか１項に記載の記憶容量拡張方法。
【請求項２７】
ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、
前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したＮ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな増設冗長グループを生成し、
前記ディスクアレイコントローラのＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する、
ことを特徴とする記憶容量拡張方法。
【請求項２８】
ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、
前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、
前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したａ×Ｎ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、ａ組ある前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな増設冗長グループを生成し、
前記ディスクアレイコントローラのＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定してディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報から同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行するものである、
ことを特徴とする記憶容量拡張方法。
【請求項２９】
前記ディスクアレイコントローラの前記コピー処理部および前記ＩＯ処理部は前記制御テーブルを参照更新する際には排他制御部により前記制御テーブルをロックすることを特徴とする請求項２７または２８記載の記憶容量拡張方法。
【請求項３０】
前記所定のＲＡＩＤタイプが、ＲＡＩＤ５（ｉＤ＋Ｐ）（ｉは２以上の正整数）であることを特徴とする請求項１６乃至２９の何れか１項に記載の記憶容量拡張方法。
【請求項３１】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイにおける前記Ｎ個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する冗長グループ定義手段、
として機能させることを特徴とするプログラム。
【請求項３２】
前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成するものであることを特徴とする請求項３１記載のプログラム。
【請求項３３】
前記コピー処理手段は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項３２記載のプログラム。
【請求項３４】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイの前記ａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ定義手段、
として機能させることを特徴とするプログラム。
【請求項３５】
前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成するものであることを特徴とする請求項３４記載のプログラム。
【請求項３６】
前記コピー処理手段は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項３５記載のプログラム。
【請求項３７】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイに、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて新たな冗長グループを生成する冗長グループ定義手段、
として機能させることを特徴とするプログラム。
【請求項３８】
前記コピー処理手段は、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項３７記載のプログラム。
【請求項３９】
所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、
前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイに、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、
コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ生成手段、
として機能させることを特徴とするプログラム。
【請求項４０】
前記コピー処理手段および前記冗長グループ定義手段は、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張することを特徴とする請求項３９記載のプログラム。
【請求項４１】
前記コピー処理手段はコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、前記コンピュータを更に、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするＩＯ処理手段として機能させることを特徴とする請求項３１乃至４０の何れか１項に記載のプログラム。
【請求項４２】
ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、
前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、
前記コピー処理手段は、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したＮ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな増設冗長グループを生成するものであり、
前記ＩＯ処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行するものである、
ことを特徴とするプログラム。
【請求項４３】
ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、
前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、
前記コピー処理手段は、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したａ×Ｎ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、ａ組ある前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな増設冗長グループを生成するものであり、
前記ＩＯ処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行するものである、
ことを特徴とするプログラム。
【請求項４４】
前記コンピュータを更に、排他制御手段として機能させ、前記コピー処理手段および前記ＩＯ処理手段は前記制御テーブルを参照更新する際には前記排他制御手段により前記制御テーブルをロックするものであることを特徴とする請求項４２または４３記載のプログラム。
【請求項４５】
前記所定のＲＡＩＤタイプが、ＲＡＩＤ５（ｉＤ＋Ｐ）（ｉは２以上の正整数）であることを特徴とする請求項３１乃至４４の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスクアレイ装置および記憶容量拡張方法に関し、特にディスクアレイのＲＡＩＤタイプを維持しながらディスク増設によって記憶容量を拡張するディスクアレイ装置および記憶容量拡張方法に関する。
【背景技術】
【０００２】
ディスクアレイは、複数のディスク装置を並べることで、ディスク系の性能、信頼性を高め、また大容量化および低コスト化を図る方式であり、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）１〜６の各方式が知られている。各方式とも一長一短があるため、アプリケーション等に応じて適宜選択して利用されている。例えば、ＲＡＩＤ５は、ストライプ単位でパリティを複数台のディスクに分散配置する方式であり、パリティ用の冗長ディスクがボトルネックになるというＲＡＩＤ４の欠点を改良した方式として、トランザクション処理システムなどに賞用されている。なお、同じＲＡＩＤ５でも、冗長グループが何台のディスク装置で構成されるかに応じて幾つかの種類がある。本明細書では、ディスクアレイの技術分野における慣用表現を使い、ＲＡＩＤ５の表記の後に（ｉＤ＋Ｐ）を付記して区別する。ここで、ｉは２以上の正整数であり、Ｄはデータディスク、Ｐはパリティディスクを意味する。但し、前述したようにＲＡＩＤ５ではパリティは複数のディスク装置に分散配置されるのでパリティ専用のディスク装置が存在するわけではない。
【０００３】
ところで、ディスクアレイは、その大容量性が特徴の一つであるが、記憶すべきデータ量は年々増大しているため、運用中のディスクアレイの記憶容量を拡張しなければならない場合が多々生じる。従来、ＲＡＩＤ５のディスクアレイにディスク装置を追加して、その容量を拡張する場合、以下のような方法がとられている。
【０００４】
従来方式（１）
運用中のＲＡＩＤ５のディスクアレイに記憶されている全データを磁気テープなどに一旦セーブし、追加したディスク装置にあわせてディスクアレイのＲＡＩＤ構成を変更して、セーブした全データをリストアする。例えば、４台のディスク装置から構成されるＲＡＩＤ５（３Ｄ＋１Ｐ）のディスクアレイに１台のディスク装置を追加する場合、ＲＡＩＤ５（３Ｄ＋１Ｐ）のディスクアレイの全データを磁気テープにセーブし、ディスクアレイをＲＡＩＤ５（４Ｄ＋１Ｐ）に再構成した後、セーブした全データをリストアする。
【０００５】
従来方式（２）
運用中のＲＡＩＤ５のディスクアレイに記憶されている既存のデータを、追加したディスク装置に移動させながら、パリティグループの再構成およびパリティの再計算を実行する（例えば、特許文献１参照）。例えば、ＲＡＩＤ５（３Ｄ＋１Ｐ）のディスクアレイに１台のディスク装置を追加する場合、ディスクアレイをＲＡＩＤ５（４Ｄ＋１Ｐ）に再構成する。なお、ＲＡＩＤ５（３Ｄ＋Ｐ）をＲＡＩＤ５（４Ｄ＋Ｐ）に拡張する機能については、非特許文献１にもその概要が記載されている。
【０００６】
従来方式（３）
従来方式（２）を改善した方式であり、ディスク装置を増設する際に増設したディスク装置の記憶領域全体をゼロデータでライトしてから組み込むことで、ＲＡＩＤのパリティの再計算を省力している（例えば、特許文献２参照）。
【特許文献１】特開平８−１１５１７３号公報
【特許文献２】特開２０００−１０７３８号公報
【非特許文献１】”ＲＡＩＤ  Ｓｕｂｓｙｓｔｅｍ  Ｇ  ｓｅｒｉｅｓ  （Ｄｅｓｋｔｏｐ  Ｍｏｄｅｌ，１９”Ｒａｃｋ  Ｍｏｄｅｌ）取扱説明書”、Ｐ／Ｎ  Ａ２０７７５０、Ｒｅｖｉｓｉｏｎ４．４、[ｏｎｌｉｎｅ]、[平成１５年９月１日検索]、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ａｄｔｘ．ｃｏｍ／ｐｒｏｄｕｃｔ／ｒａｉｄ／ｇ／ｍａｎｕａｌ．ｈｔｍｌ＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上のように運用中のディスクアレイにディスク装置を追加して記憶容量を拡張する方法が従来より幾つか提案ないし実用化されているが、その何れの方式も、ディスク装置を増設する毎にディスクアレイのＲＡＩＤ構成が変化する。つまり、従来方式（１）〜（３）とも、例えば初期のＲＡＩＤ構成がＲＡＩＤ５（３Ｄ＋Ｐ）であった場合、ディスク装置を１台増設すると、ＲＡＩＤ５（４Ｄ＋Ｐ）に変化し、２台増設すると、ＲＡＩＤ５（５Ｄ＋Ｐ）に変化する。
【０００８】
一般にＲＡＩＤ５（３Ｄ＋Ｐ）もＲＡＩＤ５（４Ｄ＋Ｐ）、ＲＡＩＤ５（５Ｄ＋Ｐ）も共に１台まで縮退可能な点では信頼性は同じであるが、縮退運転を余儀なくされる確率は、ＲＡＩＤ５（３Ｄ＋Ｐ）よりもＲＡＩＤ５（４Ｄ＋Ｐ）の方が高く、ＲＡＩＤ５（４Ｄ＋Ｐ）よりもＲＡＩＤ５（５Ｄ＋Ｐ）の方が高い。即ち、ＲＡＩＤ５（ｉＤ＋Ｐ）におけるｉの値が大きくなればなるほど縮退運転を余儀なくされる確率が高くなる。何故なら、１つの冗長グループを構成するディスク装置の台数が増えれば増えるほど、その内の１つのディスク装置が故障する確率は高くなるからである。また、ｉの値が大きくなればなるほど、縮退運転時に並列してアクセスすべきディスク装置の台数が増え、処理のオーバーヘッドが大きくなる。他方、ｉの値が小さいとデータ使用効率が低下する。このため、アプリケーションなどに応じてｉの最適な値を事前に決定してディスクアレイを初期生成するが、従来方式を用いてディスクアレイの記憶容量を拡張すると、初期生成時のＲＡＩＤ構成を維持できないという課題がある。
【０００９】
また、従来方式（３）では、ディスク増設時、パリティが全てのディスクに分散されないので、完全なＲＡＩＤ５構成にならないため、データ保護能力が低下してしまうという課題がある。
【００１０】
そこで本発明の目的は、初期のＲＡＩＤ構成を維持しながらディスク装置の追加によるディスクアレイ記憶容量の拡張を可能にしたディスクアレイ装置およびその記憶容量拡張方法を提供することにある。
【００１１】
本発明の別の目的は、ディスク増設によるディスクアレイの記憶容量の拡張をデータ保護能力を低下させずに実施できるディスクアレイ装置およびその記憶容量拡張方法を提供することにある。
【００１２】
本発明の更に別の目的は、ディスクアレイの記憶容量を２倍に拡張すれば、データ保護能力を倍に高めることのできるディスクアレイ装置およびその記憶容量拡張方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の第１のディスクアレイ装置は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイにおける前記Ｎ個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する冗長グループ定義部とを備えている。
【００１４】
本発明の第２のディスクアレイ装置は、第１のディスクアレイ装置において、前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する。
【００１５】
本発明の第３のディスクアレイ装置は、第２のディスクアレイ装置において、前記コピー処理部は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張する。
【００１６】
本発明の第４のディスクアレイ装置は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイの前記ａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ定義部とを備えている。
【００１７】
本発明の第５のディスクアレイ装置は、第４のディスクアレイ装置において、前記コピー処理部は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義部は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する。
【００１８】
本発明の第６のディスクアレイ装置は、第５のディスクアレイ装置において、前記コピー処理部は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張する。
【００１９】
本発明の第７のディスクアレイ装置は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイに、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて新たな冗長グループを生成する冗長グループ定義部とを備えている。
【００２０】
本発明の第８のディスクアレイ装置は、第７のディスクアレイ装置において、前記コピー処理部は、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張する。
【００２１】
本発明の第９のディスクアレイ装置は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置において、前記ディスクアレイコントローラは、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイに、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理部と、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ生成部とを備える。
【００２２】
本発明の第１０のディスクアレイ装置は、第９のディスクアレイ装置において、前記ディスクアレイコントローラは、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張する。
【００２３】
本発明の第１１のディスクアレイ装置は、第１乃至第１０のディスクアレイ装置において、前記ディスクアレイコントローラは、前記コピー処理部によるコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするＩＯ処理部を備えている。
【００２４】
本発明の第１２のディスクアレイ装置は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置において、前記ディスクアレイコントローラに、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、前記コピー処理部は、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したＮ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな増設冗長グループを生成するものであり、前記ＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
【００２５】
本発明の第１３のディスクアレイ装置は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置において、前記ディスクアレイコントローラに、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理部と、ディスク増設に伴うデータコピーを行うコピー処理部と、冗長グループの定義を行う冗長グループ定義部と、前記ディスク装置を制御するディスク制御部と、ディスクアレイの構成情報等を記憶する制御テーブルと、読み出し位置検索部と、書き込み位置検索部と、コピー位置検索部とを備え、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されており、前記コピー処理部は、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したａ×Ｎ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索部により、ａ組ある前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな増設冗長グループを生成するものであり、前記ＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
【００２６】
本発明の第１４のディスクアレイ装置は、第１２または第１３のディスクアレイ装置において、前記ディスクアレイコントローラに、排他制御部を備え、前記コピー処理部および前記ＩＯ処理部は前記制御テーブルを参照更新する際には前記排他制御部により前記制御テーブルをロックする。
【００２７】
本発明の第１５のディスクアレイ装置は、第１ないし第１４のディスクアレイ装置において、前記所定のＲＡＩＤタイプが、ＲＡＩＤ５（ｉＤ＋Ｐ）（ｉは２以上の正整数）であることを特徴とする。
【００２８】
本発明の第１の記憶容量拡張方法は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、ａ）ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイにおける前記Ｎ個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、ｂ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成するステップ、を含んでいる。
【００２９】
本発明の第２の記憶容量拡張方法は、第１の記憶容量拡張方法において、ｃ）記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、ｄ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成するステップ、を含んでいる。
【００３０】
本発明の第３の記憶容量拡張方法は、第２の記憶容量拡張方法において、Ｎ台目の増設ディスク装置まで前記ステップｃ、ｄのステップを繰り返すことで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張する。
【００３１】
本発明の第４の記憶容量拡張方法は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、ａ）前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイの前記ａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、ｂ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成するステップ、を含んでいる。
【００３２】
本発明の第５の記憶容量拡張方法は、第４の記憶容量拡張方法において、ｃ）記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするステップ、ｄ）コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成するステップ、を含んでいる。
【００３３】
本発明の第６の記憶容量拡張方法は、第５の記憶容量拡張方法において、Ｎ台目の増設ディスク装置まで前記ステップｃ、ｄと同じステップを繰り返すことで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張する。
【００３４】
本発明の第７の記憶容量拡張方法は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイに、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のＮ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて新たな冗長グループを生成する。
【００３５】
本発明の第８の記憶容量拡張方法は、第７の記憶容量拡張方法において、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張する。
【００３６】
本発明の第９の記憶容量拡張方法は、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイに、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する。
【００３７】
本発明の第１０の記憶容量拡張方法は、第９の記憶容量拡張方法において、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張する。
【００３８】
本発明の第１１の記憶容量拡張方法は、第１乃至第１０の記憶容量拡張方法において、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行し、且つ、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトする。
【００３９】
本発明の第１２の記憶容量拡張方法は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置における記憶容量拡張方法において、前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したＮ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな増設冗長グループを生成し、前記ディスクアレイコントローラのＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、ディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
【００４０】
本発明の第１３の記憶容量拡張方法は、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置において、前記ディスクアレイコントローラは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有する制御テーブルの前記通常構成情報に、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報を設定し、前記ディスクアレイコントローラのコピー処理部は、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したａ×Ｎ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、コピー位置検索部により、ａ組ある前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、冗長グループ定義部により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな増設冗長グループを生成し、前記ディスクアレイコントローラのＩＯ処理部は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、読み出し位置検索部により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定してディスク制御部を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、書き込み位置検索部により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報から同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御部を通じてライトを実行する。
【００４１】
本発明の第１４の記憶容量拡張方法は、第１２または第１３の記憶容量拡張方法において、前記ディスクアレイコントローラの前記コピー処理部および前記ＩＯ処理部は前記制御テーブルを参照更新する際には排他制御部により前記制御テーブルをロックする。
【００４２】
本発明の第１５の記憶容量拡張方法は、第１乃至第１４の記憶容量拡張方法において、前記所定のＲＡＩＤタイプが、ＲＡＩＤ５（ｉＤ＋Ｐ）（ｉは２以上の正整数）であることを特徴とする。
【００４３】
本発明の第１のプログラムは、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイにおける前記Ｎ個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する冗長グループ定義手段、として機能させる。
【００４４】
本発明の第２のプログラムは、第１のプログラムにおいて、前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する。
【００４５】
本発明の第３のプログラムは、第２のプログラムにおいて、前記コピー処理手段は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張する。
【００４６】
本発明の第４のプログラムは、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイの前記ａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする１台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ定義手段、として機能させる。
【００４７】
本発明の第５のプログラムは、第４のプログラムにおいて、前記コピー処理手段は、記憶容量の拡張に伴って生成された前記新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする２台目の増設ディスク装置の前記ａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするものであり、前記冗長グループ定義手段は、コピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する。
【００４８】
本発明の第６のプログラムは、第５のプログラムにおいて、前記コピー処理手段は、Ｎ台目の増設ディスク装置まで記憶容量拡張処理を繰り返すことで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張する。
【００４９】
本発明の第７のプログラムは、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイに、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したＮ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置の前記Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて新たな冗長グループを生成する冗長グループ定義手段、として機能させる。
【００５０】
本発明の第８のプログラムは、第７のプログラムにおいて、前記コピー処理手段は、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループとＮ台の増設ディスク装置上に生成されたＮ個の冗長グループとを含むディスクアレイに拡張する。
【００５１】
本発明の第９のプログラムは、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイコントローラを有するディスクアレイ装置を構成するコンピュータを、前記ＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイに、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加する毎に、記憶容量の拡張に伴って生成された新たな冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、それぞれ異なるＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して該選択したａ×Ｎ個のパーティションをコピー元パーティションに設定し、前記増設ディスク装置のａ×Ｎ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーするコピー処理手段、コピー完了後、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな冗長グループを生成する冗長グループ生成手段、として機能させる。
【００５２】
本発明の第１０のプログラムは、第９のプログラムにおいて、前記コピー処理手段および前記冗長グループ定義手段は、Ｎ台目の増設ディスク装置まで追加することで、Ｎ台の当初ディスク装置上に生成されたａ×Ｎ個の冗長グループとＮ台の増設ディスク装置上に生成されたａ×Ｎ個の冗長グループとを含むディスクアレイに拡張する。
【００５３】
本発明の第１１のプログラムは、第１乃至第１０のプログラムにおいて、前記コピー処理手段はコピー元パーティションに記憶されているデータをコピー先パーティションにコピーする処理をディスクアレイの運用中にバックグラウンドで実行する構成を有し、且つ、前記コンピュータを更に、ディスクアレイに対してライトコマンドがホストコンピュータから発行された場合、コピー元パーティションにライトすべきデータはコピー先パーティションにもライトするＩＯ処理手段として機能させる。
【００５４】
本発明の第１２のプログラムは、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、前記コピー処理手段は、記憶領域を前記Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したＮ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな増設冗長グループを生成するものであり、前記ＩＯ処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定して前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行する。
【００５５】
本発明の第１３のプログラムは、ホストコンピュータに接続されたディスクアレイコントローラと該ディスクアレイコントローラに接続された複数のディスク装置とから構成され、所定のＲＡＩＤタイプのディスクアレイを提供するディスクアレイ装置を構成するコンピュータを、前記ホストコンピュータからのＩＯコマンドを処理するＩＯ処理手段、ディスク増設に伴うデータコピーを行うコピー処理手段、冗長グループの定義を行う冗長グループ定義手段、前記ディスク装置を制御するディスク制御手段、ディスクアレイの構成情報等を記憶する制御テーブル、読み出し位置検索手段、書き込み位置検索手段、コピー位置検索手段、として機能させ、前記制御テーブルは、前記ディスクアレイの状態がディスク増設中か否かを示す状態フラグ、現在までの増設回数、通常構成情報および増設構成情報を記憶する構成を有し、前記ディスクアレイがＲＡＩＤタイプの最小構成台数Ｎの当初ディスク装置の記憶領域をａ×Ｎ（ａは正整数）等分した各分割領域を１つのパーティションとし、それぞれ異なる当初ディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループをａ組含むディスクアレイとして生成された場合に、前記各冗長グループ毎に、その冗長グループを構成する各々のパーティションがどのディスク装置におけるどのパーティションであるかを示すディスク・パーティション情報が前記通常構成情報に初期設定されるものであり、前記コピー処理手段は、記憶領域を前記ａ×Ｎ等分した各々の分割領域を１つのパーティションとする増設ディスク装置を追加して前記ディスクアレイの記憶容量を拡張する際、前記制御テーブルの現在までの増設回数と通常構成情報とに基づいて、記憶容量の拡張に伴って新たに生成された増設冗長グループ以外のａ組あるＮ個の冗長グループの各組毎に、Ｎ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択し、前記通常構成情報中の前記選択したａ×Ｎ個のパーティションの情報を、前記増設ディスク装置の対応するパーティションの情報で置き換えた構成情報を前記制御テーブルの増設構成情報に設定し、前記コピー位置検索手段により、ａ組ある前記Ｎ個の冗長グループ毎に、前記通常構成情報と前記増設構成情報との差異を検索し、通常構成の差異の箇所をコピー元パーティションに設定し、増設構成の差異の箇所をコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーし、コピー完了後、前記冗長グループ定義手段により、前記コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションを当初ディスク装置の異なるものどうしＮ個組み合わせてａ個の新たな増設冗長グループを生成するものであり、前記ＩＯ処理手段は、前記ホストコンピュータから前記ディスクアレイに対するリードコマンドを受信した場合に、前記読み出し位置検索手段により前記リードコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して読み出すディスク装置およびパーティションを決定し、前記ディスク制御手段を通じてリードを実行し、前記ホストコンピュータから前記ディスクアレイに対するライトコマンドを受信した場合に、前記書き込み位置検索手段により前記ライトコマンドで指定された冗長グループについてのディスク・パーティション情報を前記制御テーブルの通常構成情報から取得して書き込むディスク装置およびパーティションを決定し、更に前記状態フラグがディスク増設中のときは前記ライトコマンドで指定された冗長グループについて通常構成情報のディスク・パーティション情報と差異のある増設構成情報のディスク・パーティション情報に基づいて同時に書き込むディスク装置およびパーティションを決定して、前記ディスク制御手段を通じてライトを実行する。
【００５６】
本発明の第１４のプログラムは、第１２または第１３のプログラムにおいて、前記コンピュータを更に、排他制御手段として機能させ、前記コピー処理手段および前記ＩＯ処理手段は前記制御テーブルを参照更新する際には前記排他制御手段により前記制御テーブルをロックする。
【００５７】
本発明の第１５のプログラムは、第１乃至第１４のプログラムにおいて、前記所定のＲＡＩＤタイプが、ＲＡＩＤ５（ｉＤ＋Ｐ）（ｉは２以上の正整数）であることを特徴とする。
【発明の効果】
【００５８】
本発明の第１のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、Ｎ台の当初ディスク装置で構成されたディスクアレイの初期のＲＡＩＤ構成を維持しながら、１台のディスク装置を追加してその増設ディスク装置の記憶容量だけディスクアレイの記憶容量を拡張することが可能である。
【００５９】
本発明の第２のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のＲＡＩＤ構成を維持しながら、更に１台のディスク装置を追加し、合計２台の増設ディスク装置の記憶容量だけディスクアレイの記憶容量を拡張することが可能である。
【００６０】
本発明の第３のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のＲＡＩＤ構成を維持しながら、合計Ｎ台の増設ディスク装置の記憶容量の合計だけディスクアレイの記憶容量を拡張でき、しかも、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループと、Ｎ台の増設ディスク装置上に生成されたＮ個の冗長グループとはディスク装置が異なるため、それぞれ１台までの縮退が可能で全体では２台のディスク装置までの縮退が可能になり、データ保護能力を倍に高めることができる。
【００６１】
本発明の第１ないし第３のディスクアレイ装置および記憶容量拡張方法ならびにプログラムでは、各ディスク装置の記憶領域をＲＡＩＤタイプの最小構成台数ＮでＮ等分したが、ａ×Ｎ（ａは正整数）、つまりＮの倍数で等分する本発明の第４ないし第６のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによっても、第１ないし第３のディスクアレイ装置および記憶容量拡張方法ならびにプログラムと同様の効果が得られる。
【００６２】
本発明の第７のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のＲＡＩＤ構成を維持しながら、１台ずつ増設ディスク装置を追加していって、追加した増設ディスク装置の記憶容量の合計だけディスクアレイの記憶容量を拡張することが可能である。
【００６３】
本発明の第８のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のＲＡＩＤ構成を維持しながら、合計Ｎ台の増設ディスク装置の記憶容量の合計だけディスクアレイの記憶容量を拡張でき、しかも、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループと、Ｎ台の増設ディスク装置上に生成されたＮ個の冗長グループとはディスク装置が異なるため、それぞれ１台までの縮退が可能で全体では２台のディスク装置までの縮退が可能になり、データ保護能力を倍に高めることができる。
【００６４】
本発明の第７または第８のディスクアレイ装置および記憶容量拡張方法ならびにプログラムでは、各ディスク装置の記憶領域をＲＡＩＤタイプの最小構成台数ＮでＮ等分したが、ａ×Ｎ（ａは正整数）、つまりＮの倍数で等分する本発明の第９または第１０のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによっても、第７または第８のディスクアレイ装置および記憶容量拡張方法ならびにプログラムと同様の効果が得られる。
【００６５】
本発明の第１１のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの運用中にその記憶容量を拡張することができる。
【００６６】
本発明の第１２のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ディスクアレイの初期のＲＡＩＤ構成を維持しながら、１台ずつ増設ディスク装置を追加していって、追加した増設ディスク装置の記憶容量の合計だけディスクアレイ記憶容量を拡張することができ、合計Ｎ台の増設ディスク装置を追加すれば、Ｎ台の当初ディスク装置上に生成されたＮ個の冗長グループと、Ｎ台の増設ディスク装置上に生成されたＮ個の冗長グループとはディスク装置が異なるため、それぞれ１台までの縮退が可能で全体では２台のディスク装置までの縮退が可能になり、記憶容量を倍に拡大できると共にデータ保護能力を倍に高めることができる。さらに、ディスクアレイの運用中にその記憶容量を拡張することができる。
【００６７】
本発明の第１２のディスクアレイ装置および記憶容量拡張方法ならびにプログラムでは、各ディスク装置の記憶領域をＲＡＩＤタイプの最小構成台数ＮでＮ等分したが、ａ×Ｎ（ａは正整数）、つまりＮの倍数で等分する本発明の第１３のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによっても、第１２のディスクアレイ装置および記憶容量拡張方法ならびにプログラムと同様の効果が得られる。
【００６８】
本発明の第１４のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、コピー処理部によるコピー処理とＩＯ処理部によるＩＯ処理との競合において、更新途中の制御テーブルを参照させないことができる。
【００６９】
本発明の第１５のディスクアレイ装置および記憶容量拡張方法ならびにプログラムによれば、ＲＡＩＤ５（ｉＤ＋Ｐ）（ｉは２以上の正整数）のディスクアレイの記憶容量をその初期のＲＡＩＤ構成を維持しつつ拡張することができる。
【発明を実施するための最良の形態】
【００７０】
[第１の実施の形態]
図１を参照すると、本発明の第１の実施の形態にかかるディスクアレイ装置は、ホストコンピュータ１０にファイバチャネルのような汎用バス１８を通じて接続されたディスクアレイコントローラ１１と、このディスクアレイコントローラ１１に同じくファイバチャネルのような汎用バス１９を通じて接続された複数のディスク装置２０〜２８とで構成されており、複数のディスク装置２０〜２８を使って所定のＲＡＩＤタイプのディスクアレイを提供する。ここで、ディスク装置２０〜２８は全て同じ記憶容量を持つ。
【００７１】
ディスクアレイコントローラ１１は、例えば、図１のブロック内に図示されるようなハードウェア構成を有する。インタフェースチップ１２は、ディスクアレイコントローラ１１をホストコンピュータ１０と汎用バス１８で接続するインタフェース、インタフェースチップ１５は、ディスクアレイコントローラ１１を複数のディスク装置２０〜２８と汎用バス１９で接続するインタフェースである。それらのインタフェースチップ１２、１５の間には、リードデータおよびライトデータを格納するバッファメモリ１３と、それを制御するメモリコントローラ１４と、それらを総括的に制御するマイクロプロセッサ１６と、マイクロコードや各種の制御情報を格納するローカルメモリ１７とが設けられている。
【００７２】
ホストコンピュータ１０がディスクアレイのデータをリードする際は、以下のような動作が概ね実行される。ホストコンピュータ１０は、汎用バス１８を介してリードコマンドをインタフェースチップ１２に送信し、インタフェースチップ１２はそれをメモリコントローラ１４を通じてマイクロプロセッサ１６に伝える。マイクロプロセッサ１６は、メモリコントローラ１４およびインタフェースチップ１５を介して該当するディスク装置にリードコマンドを発行し、同時にインタフェースチップ１５に対してリードデータをバッファメモリ１３のどのアドレスに転送するかを指定する。リードコマンドを受信したディスク装置はリードデータをインタフェースチップ１５に送り、インタフェースチップ１５は指定されたバッファメモリ１３のアドレスにデータを転送し、データ転送が完了したことをマイクロプロセッサ１６に通知する。マイクロプロセッサ１６は、インタフェースチップ１２にデータ転送を指示し、バッファメモリ１３からメモリコントローラ１４とインタフェースチップ１２を介してリードデータをホストコンピュータ１０に転送し、インタフェースチップ１２はデータ転送の完了をマイクロプロセッサ１６に通知する。最後にマイクロプロセッサ１６は、インタフェースチップ１２を介してホストコンピュータ１０にリードコマンドの完了を報告する。
【００７３】
ホストコンピュータ１０がディスクアレイのデータをライトする際は、以下のような動作が概ね実行される。ホストコンピュータ１０は、汎用バス１８を介してライトコマンドをインタフェースチップ１２に送信し、インタフェースチップ１２はそれをメモリコントローラ１４を通じてマイクロプロセッサ１６に伝える。マイクロプロセッサ１６は、インタフェースチップ１２にデータ転送を指示し、ホストコンピュータ１０からインタフェースチップ１２とメモリコントローラ１４を介してバッファメモリ１３にライトデータを転送し、インタフェースチップ１２はデータ転送の完了をマイクロプロセッサ１６に通知する。マイクロプロセッサ１６は、メモリコントローラ１４およびインタフェースチップ１５を介して該当するディスク装置にライトコマンドを発行し、同時に、インタフェースチップ１５に対してライトデータをバッファメモリ１３のどのアドレスから転送するかを指定する。ライトコマンドを受信したディスク装置はライトデータをインタフェースチップ１５に要求し、インタフェースチップ１５は指定されたバッファメモリ１３のアドレスからデータを転送し、データ転送が完了したことをマイクロプロセッサ１６に通知する。最後にマイクロプロセッサ１６は、インタフェースチップ１２を介してホストコンピュータ１０にライトコマンドの完了を報告する。
【００７４】
なお、ディスクアレイコントローラ１１のハードウェア構成は図示した例に限定されず、種々の構成が採用可能である。
【００７５】
本実施の形態にかかるディスクアレイ装置は、所定のＲＡＩＤタイプのディスクアレイを最低限必要な台数のディスク装置だけ使用して初期生成した後、運用を開始し、その後、初期のＲＡＩＤタイプを維持しながらディスク装置を追加して、ディスクアレイの記憶容量を適宜に拡張していく。以下、ディスクアレイの記憶容量の拡張処理を中心に本実施の形態の動作を説明する。
【００７６】
先ず、初期生成するディスクアレイについて説明する。本実施の形態では、ＲＡＩＤタイプの最小構成台数Ｎのディスク装置を使い、その記憶領域をＮ等分した各分割領域を１つのパーティションとし、それぞれ異なるディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを含むディスクアレイを初期生成する。この初期生成に使ったＮ台のディスク装置を、後に追加するディスク装置と区別するために「当初ディスク装置」と呼ぶ。
【００７７】
例えば、所定のＲＡＩＤタイプをＲＡＩＤ５（３Ｄ＋Ｐ）とすると、そのタイプの最小構成台数Ｎは４台なので、図２に示すように、４台のディスク装置２０〜２３を当初ディスク装置に使い、各ディスク装置２０〜２３の記憶領域を４等分し、各々の分割領域をそれぞれ１つのパーティションに定義する。例えば、各ディスク装置２０〜２３の記憶容量を８０ＭＢとすると、１つのパーティションは２０ＭＢになる。次に、それぞれ異なるディスク装置のパーティションをＮ個組み合わせたＮ個の冗長グループを作るが、その方法としては、例えば図２に示すように、ディスク装置２０の最上段のパーティション１００とディスク装置２１の２段目のパーティション１０１とディスク装置２２の３段目のパーティション１０２とディスク装置２３の４段目のパーティション１０３の合計４つの斜め位置のパーティションを組み合わせて第１の冗長グループとし、同様に、パーティション１１０、１１１、１１２および１１３で第２の冗長グループとし、パーティション１２０、１２１、１２２および１２３で第３の冗長グループとし、パーティション１３０、１３１、１３２および１３３で第４の冗長グループとする方法が利用できる。
【００７８】
こうして初期生成したディスクアレイを使ってシステムの運用を開始する。例えば、図２のＲＡＩＤ５（３Ｄ＋Ｐ）の初期状態のディスクアレイにおいては、第１〜第４の合計４つの冗長グループがあるので、各冗長グループ毎に、その冗長グループを構成する４つのパーティションを所定幅のストライプに分割し、ストライプ単位でパリティを４台のディスク装置２０〜２３に分散配置する。
【００７９】
さて、システムの運用が継続され、ディスクアレイの記憶容量を拡張する必要が生じた場合、ディスクアレイに１台のディスク装置を追加し、その記憶容量を拡張する。まず、追加するディスク装置も、当初ディスク装置と同じく記憶領域をＮ等分し、その各々の分割領域を１つのパーティションとしてＮ個のパーティションを定義する。次に、運用中のディスクアレイにおけるＮ個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択し、この選択したＮ個のパーティションをコピー元パーティションに設定し、増設ディスク装置のＮ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。次に、そのコピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する。
【００８０】
例えば図２に示したＲＡＩＤ５（３Ｄ＋Ｐ）の初期状態のディスクアレイに１台のディスク装置２４を追加して容量を拡張する場合、増設ディスク装置２４の記憶領域を当初ディスク装置２０〜２３と同じく４等分して４個のパーティションを定義し、運用中のディスクアレイにおける４個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択し、この選択した４個のパーティションをコピー元パーティションに設定し、増設ディスク装置２４の４個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。
【００８１】
運用中のディスクアレイにおける４個の冗長グループから、それぞれ当初ディスク装置の異なる１つのパーティションを選択する方法としては、図２に示したように斜め方向のパーティションを組み合わせて各冗長グループを構成している場合、図３に示すように各ディスク装置２０〜２３の先頭のパーティション１００、１１０、１２０、１３０を選択する方法が利用できる。この場合、ディスク装置２０の最上段のパーティション１００に格納されているデータをディスク装置２４のパーティション１０４にコピーし、ディスク装置２１の最上段のパーティション１１０に格納されているデータをディスク装置２４のパーティション１１４にコピーし、ディスク装置２２の最上段のパーティション１２０に格納されているデータをディスク装置２４のパーティション１２４にコピーし、ディスク装置２３の最上段のパーティション１３０に格納されているデータをディスク装置２４のパーティション１３４にコピーする。
【００８２】
これらのコピーは、コピー元パーティションとなるディスク装置２０〜２３のパーティション１００、１１０、１２０、１３０からデータをバッファメモリ１３にリードし、このバッファメモリ１３上のデータをコピー先パーティションとなるディスク装置２４のパーティション１０４、１１４、１２４、１３４にライトすることで行われる。コピー先のパーティションはコピー元のパーティションの代わりに元の冗長グループに組み入れられるので、パリティの再計算は不要であり、コピー元パーティションのデータをそっくりコピー先パーティションにコピーするだけでよい。
【００８３】
そして、コピー処理が終了すれば、コピー元パーティション１００、１１０、１２０、１３０を元の第１〜第４の冗長グループから外して代わりに対応するコピー先パーティション１０４、１１４、１２４、１３４を第１〜第４の冗長グループに組み込み、元の冗長グループから外したコピー元パーティション１００、１１０、１２０、１３０を４個組み合わせて１個の新たな冗長グループを生成する。この結果、図２のディスクアレイは図４のようになり、追加したディスク装置２４の記憶容量だけディスクアレイの記憶容量が増加する。
【００８４】
拡張後のディスクアレイは、図４に示されるように、パーティション１０４、１０１、１０２および１０３から構成される第１の冗長グループと、パーティション１１４、１１１、１１２および１１３から構成される第２の冗長グループと、パーティション１２４、１２１、１２２および１２３から構成される第３の冗長グループと、パーティション１３４、１３１、１３２および１３３から構成される第４の冗長グループと、パーティション１４０、１４１、１４２および１４３から構成される第５の冗長グループとを有する。ここで、第５の冗長グループが、元の第１〜第４の冗長グループから外されたパーティション１００、１１０、１２０および１３０を定義し直して新たに生成された冗長グループである。各冗長グループの構成パーティション数はすべて４であり、ＲＡＩＤ５（３Ｄ＋Ｐ）が維持されている。
【００８５】
更にもう１台のディスク装置を追加してディスクアレイの記憶容量を拡張する場合、基本的には最初の１台を追加した場合と同様の処理を行う。まず、追加する２台目のディスク装置も、最初の１台目の増設ディスク装置と同じく記憶領域をＮ等分し、その各々の分割領域を１つのパーティションとしてＮ個のパーティションを定義する。次に、運用中のディスクアレイに存在する冗長グループのうち、１台目のディスク装置の追加によって生成された新たな冗長グループ以外のＮ個の冗長グループからそれぞれ当初ディスク装置の異なる１つのパーティションを選択して、この選択したＮ個のパーティションをコピー元パーティションに設定し、増設ディスク装置のＮ個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。そして、そのコピー完了時、コピー元パーティションを元の冗長グループから外して代わりに対応するコピー先パーティションを組み込み、元の冗長グループから外したコピー元パーティションをＮ個組み合わせて１個の新たな冗長グループを生成する。
【００８６】
例えば図４に示したＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイに更に１台のディスク装置２５を追加して容量を拡張する場合、増設ディスク装置２５の記憶領域を当初ディスク装置２０〜２３と同じく４等分して４個のパーティションを定義し、運用中のディスクアレイにおける５個の冗長グループのうち、過去の増設によって新たに生成された第５の冗長グループを除く第１〜第４の４個の冗長グループから、それぞれ当初ディスク装置２０〜２３の異なる１つのパーティションを選択し、この選択した４個のパーティションをコピー元パーティションに設定し、増設ディスク装置２５の４個のパーティションをコピー先パーティションに設定し、コピー元パーティションに記憶されているデータをコピー先パーティションにコピーする。第１〜第４の４個の冗長グループから、それぞれ当初ディスク装置２０〜２３の異なる１つのパーティションを選択する方法は、例えば図５に示すように各ディスク装置２０〜２３の２番目のパーティション１３１、１０１、１１１、１２１を選択する方法が利用できる。この場合、ディスク装置２０の２番目のパーティション１３１に格納されているデータをディスク装置２５のパーティション１３５にコピーし、ディスク装置２１の２番目のパーティション１０１に格納されているデータをディスク装置２５のパーティション１０５にコピーし、ディスク装置２２の２番目のパーティション１１１に格納されているデータをディスク装置２５のパーティション１１５にコピーし、ディスク装置２３の２番目のパーティション１２１に格納されているデータをディスク装置２５のパーティション１２５にコピーする。そして、コピー処理が終了すれば、コピー元パーティション１３１、１０１、１１１、１２１を第１〜第４の冗長グループから外して代わりに対応するコピー先パーティション１３５、１０５、１１５、１２５を第１〜第４の冗長グループに組み込み、第１〜第４の冗長グループから外したコピー元パーティション１３１、１０１、１１１、１２１を４個組み合わせて１個の新たな冗長グループを生成する。この結果、図４のディスクアレイは図６のようになり、追加したディスク装置２５の記憶容量だけディスクアレイの記憶容量が更に増加する。
【００８７】
拡張後のディスクアレイは、図６に示されるように、パーティション１０４、１０５、１０２および１０３から構成される第１の冗長グループと、パーティション１１４、１１５、１１２および１１３から構成される第２の冗長グループと、パーティション１２４、１２５、１２２および１２３から構成される第３の冗長グループと、パーティション１３４、１３５、１３２および１３３から構成される第４の冗長グループと、パーティション１４０、１４１、１４２および１４３から構成される第５の冗長グループと、パーティション１５０、１５１、１５２および１５３から構成される第６の冗長グループとを有する。ここで、第６の冗長グループが、元の第１〜第４の冗長グループから外されたパーティション１３１、１０１、１１１、１２１を定義し直して新たに生成された冗長グループである。各冗長グループの構成パーティション数はすべて４であり、ＲＡＩＤ５（３Ｄ＋Ｐ）が維持されている。
【００８８】
更に、ディスク装置２６、２７を増設する場合は、ディスク装置２５を追加した場合と同様の要領でディスク装置２０、２１、２２および２３の３段目のパーティションをディスク装置２６に、４段目のパーティションをディスク装置２７にコピーして、図７に示すように、第１〜第４の冗長グループを構成するパーティションを再定義すると共に、それぞれの元の位置にパーティション１６０、１６１、１６２および１６３の第７の冗長グループと、パーティション１７０、１７１、１７２および１７３の第８の冗長グループを定義する。
【００８９】
このように本実施の形態のディスクアレイ装置によれば、ディスクアレイの初期のＲＡＩＤタイプを変えずに、ディスク装置を追加してディスクアレイの記憶容量を拡張することができる効果がある。また、本実施の形態にかかるディスクアレイ装置においては、次のような効果も得ることができる。
（Ａ）ディスクアレイ装置の運用中にオンラインでディスク増設による記憶容量の拡張が行える。
（Ｂ）ホストコンピュータ１０から指示されるディスクアレイに対するＩＯ処理プロセス（リードコマンド処理およびライトコマンド処理）においてディスク増設に伴うデータコピーの進捗状況を認識しなくても良い。
（Ｃ）ディスク装置の増設を続けていくとＲＡＩＤ構成が独立した２つのＲＡＩＤ構成に分かれるため、信頼性が倍増する。
（Ｄ）更にその後も１台ずつのディスク増設が可能である。
以下、（Ａ）〜（Ｄ）の各効果について説明する。
【００９０】
先ず、オンライン中に実行可能であるという効果について説明する。これは、ディスク増設に伴うデータのコピーはバックグラウンドで実行し、その間は、ＩＯ処理によるライトでコピー元のパーティションにライトすべきデータをコピー先のパーティションにもライトすることで可能である。例えば、図３に示したディスク装置２４の増設時、ディスクアレイコントローラ１１は、パーティション１００、１１０、１２０および１３０のデータをパーティション１０４、１１４、１２４および１３４にコピーする処理をバックグラウンドで実行し、ＩＯ処理によるライトでパーティション１００にライトするべきデータをパーティション１０４にもライトし、パーティション１１０にライトするべきデータをパーティション１１４にもライトし、パーティション１２０にライトするべきデータをパーティション１２４にもライトし、パーティション１３０にライトするべきデータをパーティション１３４にもライトする。こうすることで、ディスク増設に伴うデータのコピー中にＩＯ処理でライトされたデータは全て新しいパーティションの方にも書き込まれるため、オンライン中にディスク増設が実行可能になる。オンライン中に実行可能であるということは、ユーザは業務を停止せずに記憶容量を増やすことができることを意味する。
【００９１】
次に、ＩＯ処理プロセスがディスク増設に伴うデータコピーの進捗状況を認識しなくても良いという効果について説明する。前述のようにディスク増設に伴うデータコピー中はＩＯ処理によるライトを新しいパーティションにも書き込むことによって、既にデータコピー済みの領域へのＩＯ処理は両方のパーティションにライトすることで新しいパーティションにライトデータが反映されるし、まだデータコピーしていない領域へのＩＯ処理は両方にライトした後にデータコピーが実行されて新しいパーティションへは二度ライトされるけれど同じデータなので問題はない。つまり、ＩＯ処理プロセスはディスク増設に伴うデータコピーの進捗状況を認識しなくても両方のパーティションにライトすればデータが保証される。このため、複数のマイクロプロセッサを持つような大規模シシテムにおいてもプロセス間の同期処理が必要無くなり、障害の発生しにくいシステムが構築可能になるという効果が得られる。
【００９２】
次に、増設を続けていくとＲＡＩＤ構成が独立した２つのＲＡＩＤ構成に分かれるという効果について説明する。図２に示したＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイに対して前述した方法でディスク増設を行うと、４台追加して合計８台になったときには図７のようになる。ここで冗長グループについて見てみると、パーティション１０４、１０５、１０６および１０７の第１の冗長グループと、パーティション１１４、１１５、１１６および１１７の第２の冗長グループと、パーティション１２４、１２５、１２６および１２７の第３の冗長グループと、パーティション１３４、１３５、１３６および１３７の第４の冗長グループと、パーティション１４０、１４１、１４２および１４３の第５の冗長グループと、パーティション１５０、１５１、１５２および１５３の第６の冗長グループと、パーティション１６０、１６１、１６２および１６３の第７の冗長グループと、パーティション１７０、１７１、１７２および１７３の第８の冗長グループになっており、第１から第４の冗長グループはディスク装置２４、２５、２６および２７だけを使用しており、第５から第８の冗長グループはディスク装置２０、２１、２２および２３だけを使用している。つまり、最初から存在していた４台のディスク装置２０〜２３と後で追加した４台のディスク装置２４〜２７間に跨る冗長グループがなくなり、ＲＡＩＤ構成が独立した２つのＲＡＩＤ構成に分かれている。従って、ディスク装置２０〜２３のうちの何れか１台とディスク装置２４〜２７のうちの何れか１台との合計２台までの故障に耐える信頼性が得られる。つまり、ＲＡＩＤ５（７Ｄ＋１）のように８台を１つのＲＡＩＤ構成にするとその中で１台しか縮退できないが、４台のＲＡＩＤ構成２つにすると、それぞれの中で１台ずつ縮退できるので合計２台まで縮退できるようになる。
【００９３】
最後に、更にその後も１台ずつの増設が可能であるという効果について説明する。図７は増設してディスク装置が８台になった場合の構成であるが、ディスク装置２４、２５、２６および２７を使用した第１から第４の冗長グループは、図２に示した最初にＲＡＩＤ構成を定義したときのように斜め位置のパーティションを組み合わせた冗長グループになっている。従って、更にディスクを増設する際には、図８に示すように、最初の増設と同様の方法でディスク装置２４、２５、２６および２７の最上段のパーティション１０４、１３５、１２６および１１７を、増設したディスク装置２８のパーティション１０８、１１８、１２８および１３８にコピーし、コピーが完了すると元の最上段の位置に新たな冗長グループを定義すれば、前述と同様の手順で増設を続けていくことができる。このように更にその後も１台ずつの増設が可能であるということは、ユーザはＲＡＩＤ構成を再構築する必要なく無限に記憶容量を増やすことができるという効果が得られる。なお、後述するように、最初のＲＡＩＤ構成の定義において斜め位置のパーティションを組み合わせずに、各ディスクの同一段のパーティションを組み合わせることもできるため、図８に示されるディスク装置２０〜２３に増設ディスク装置を追加して容量を拡張することも可能である。
【００９４】
[第１の実施の形態の実施例１]
図９を参照すると、本発明の第１の実施の形態にかかるディスクアレイ装置の実施例１は、ディスクアレイコントローラ１１が、ＩＯ処理部３０、読み出し位置検索部３１、書き込み位置検索部３２、排他制御部３３、冗長グループ定義部３４、コピー処理部３５、コピー位置検索部３６、ディスク制御部３７、バッファ管理部３８、構成管理部３９および制御テーブル４０を含んで構成される。制御テーブル４０は、例えば図１のローカルメモリ１７に生成され、各機能手段３０〜３９は、マイクロプロセッサ１６とそれに内蔵されたＲＯＭあるいはローカルメモリ１７に記憶されたプログラムとで実現することができる。つまり、ＲＯＭ等に記憶されたプログラムは、マイクロプロセッサ１６に読み取られ、マイクロプロセッサ１６の動作を制御することにより、マイクロプロセッサ１６上に各機能手段３０〜３９を実現する。
【００９５】
ディスクアレイコントローラ１１において、ホストコンピュータ１０からのコマンドは、ＩＯ処理部３０が中心になって処理し、リードコマンドの場合は読み出し位置検索部３１に、ライトコマンドの場合は書き込み位置検索部３２にディスク番号などを問い合わせてから、ディスク制御部３７を介してディスク装置２０〜２８をアクセスする。ディスク装置の増設に伴うデータ移動は、コピー処理部３５が中心になって処理し、バッファ管理部３８でコピー処理に使用するバッファを確保し、コピー位置検索部３６にコピー元及びコピー先のディスク番号などを問い合わせてから、ディスク制御部３７を介してディスク装置２０〜２８をアクセスし、冗長グループ定義部３４で冗長グループの構成を変更したり新たな冗長グループを作成する。構成などの情報は制御テーブル４０に格納され、各検索部などは構成管理部３９を介して制御テーブル４０の情報を参照もしくは更新する。ＩＯ処理部３０とコピー処理部３５が制御テーブル４０を参照するときの競合を防ぐため、排他制御部３３を有している。 
【００９６】
図１０に、４台のディスク装置２０〜２３を使用してＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイを構築した際に冗長グループ定義部３４によって生成された通常状態の制御テーブル４０の構成例を示す。制御テーブル４０には、通常か増設かを示す状態フラグ４１と、提供するディスクアレイのＲＡＩＤレベルを示すＲＡＩＤタイプ４２と、現在生成されている冗長グループ数４３と、１つの冗長グループを構成するパーティション数４４と、現在までの増設回数４５と、構成管理情報４６とが設定される。また、構成管理情報４６は、通常構成情報４７と増設構成情報４８の２つから構成され、それぞれについて各冗長グループ毎のディスク・パーティション情報が定義される。個々の冗長グループのディスク・パーティション情報は、その冗長グループを構成する各パーティションが存在するディスクの番号４９と、各パーティションがそのディスク上の何番目のパーティションかを示すパーティション位置５０と、そのパーティションの番号５１を含む。この通常状態の制御テーブル４０には以下のように内容がセットされる。
【００９７】
初期状態のディスクアレイの生成過程で、ホストコンピュータ１０からＲＡＩＤタイプと冗長グループ構成パーティション数とディスク台数とディスク番号がディスクアレイコントローラ１１に指示されると、ＩＯ処理部３０を介して冗長グループ定義部３４がその情報を元にして制御テーブル４０の内容を決定する。図１０に示した例では、図２で説明したＲＡＩＤ５（Ｄ３＋Ｐ）のディスクアレイを、４台のディスク２０〜２３で構築した場合を想定しており、状態フラグ４１は「通常」とし、ＲＡＩＤタイプ４２は「ＲＡＩＤ５」とし、冗長グループ数４３は構築するディスク装置の台数分で「４」とし、冗長グループ構成パーティション数４４はデータ３とパリティ１の計で「４」とし、増設回数４５は「０」とする。また、構成管理情報４６は通常構成情報４７だけが設定され、第１の冗長グループのディスク・パーティション情報は、ディスク番号４９にディスク装置２０、２１、２２、２３の番号を昇順に並べて、パーティション位置５０は０から開始して１ディスク毎に一つずつ加算して、０、１、２、３とし、パーティション番号５１に各パーティションの番号を設定する。これによってディスク装置２０のパーティション０とディスク装置２１のパーティション１とディスク装置２２のパーティション２とディスク装置２３のパーティション３の４つのパーティションで構成されていることを示す。第２から第４の冗長グループのディスク・パーティション情報は、ディスク番号４９については自身の前の冗長グループの２番目のディスク番号から昇順に並べていき、パーティション位置５０は０から開始してディスク毎に一つずつ加算していく。
【００９８】
次に、図３および図４で説明したように、図２のディスクアレイに１台のディスク装置２４を追加してディスクアレイ容量を拡張する場合を例に、本実施例のディスクアレイコントローラ１１の動作を説明する。
【００９９】
オペレータなどがホストコンピュータ１０経由でディスクアレイコントローラ１１に対して、記憶容量を拡張しようとするディスクグループ（２０〜２３）の指定と増設するディスク装置２４の指定とを含むディスク増設指示を与えると、ディスクアレイコントローラ１１は、図１１に示されるディスク増設処理を実行する。
【０１００】
先ず、コピー処理部３５は、ホストコンピュータ１０から出されたディスク増設指示を受け取ると（ステップ３００）、排他制御部３３により制御テーブル４０をロックして（ステップ３０１）、制御テーブル４０を更新し（ステップ３０２）、制御テーブル４０の更新を終えた時点で制御テーブル４０のロックを解除する（ステップ３０３）。ここで制御テーブル４０をロックするのは、後で説明するリードコマンド処理及びライトコマンド処理との競合において、更新途中の制御テーブル４０をＩＯ処理部３０に参照させないようにするためである。 
【０１０１】
ステップ３０２の制御テーブル４０の更新処理では、図１０に示した内容の通常状態の制御テーブル４０を図１２に示すような増設状態の制御テーブルに更新する。具体的には、コピー処理部３５は、構成管理部３９を通じて制御テーブル４０をアクセスし、通常構成情報４７を増設構成情報４８にコピーし、増設構成情報４８にコピーした内容のうち、ディスク番号４９部分で置き換えるディスク装置は増設回数４５で示される０の位置として各冗長グループの最初のディスク番号を増設したディスクの番号の２４に更新し、パーティション位置５０については、第１の冗長グループは増設回数である０とし、以降の冗長グループは１ずつ加算して、１、２、３とする。そして、増設回数４５を１加算して「１」にし、状態フラグ４１を「増設」にする。
【０１０２】
次にコピー処理部３５は、バッファ管理部３８によりコピー処理に使うバッファを確保し（ステップ３０４）、コピー対象の冗長グループ番号を第１の冗長グループに設定する（ステップ３０５）。以降のステップ３０６からステップ３１１は、一つの冗長グループ内のコピー処理を示している。先ず、コピー処理部３５は、コピー位置検索部３６によりコピー位置を検索する（ステップ３０６〜３０８）。具体的には、コピー位置検索部３６は、構成管理部３９を通じて制御テーブル４０をアクセスし、コピー対象の冗長グループについて、通常構成情報４７と増設構成情報４８の差異を検索し（ステップ３０６）、ディスク装置２０のパーティション０がディスク装置２４のパーティション０に変わっていることを検出する。次に、コピー位置検索部３６は、ディスク装置２０のパーティション０をコピー元パーティションに決定し（ステップ３０７）、ディスク装置２４のパーティション０をコピー先パーティションに決定する（ステップ３０８）。
【０１０３】
次にコピー処理部３５は、ディスク制御部３７を通じて、コピー元のディスク装置におけるパーティションからバッファサイズ分のデータをバッファにリードし、その後にバッファからコピー先のディスク装置におけるパーティションへライトする（ステップ３０９）。該当パーティション全体のコピーが完了していなければ（ステップ３１０でＮＯ）、コピー位置をバッファサイズ分進めて（ステップ３１１）、コピーを繰り返し（ステップ３０９）、該当パーティションのコピーが完了していれば、その冗長グループのコピーは完了する。
【０１０４】
次にコピー処理部３５は、コピー対象となる全ての冗長グループのコピーが完了したかどうかを判定し（ステップ３１２）、コピー対象となる全ての冗長グループのコピーが完了していなければ、冗長グループ番号を１進めて（ステップ３１３）、ステップ３０６に戻って次の冗長グループのコピーを行う。コピー対象となる全ての冗長グループのコピーが完了すると、コピー処理部３５は、バッファ管理部３８により獲得したバッファを開放し（ステップ３１４）、排他制御部３３により制御テーブル４０をロックしてから（ステップ３１５）、制御テーブル４０を更新し（ステップ３１６）、その更新終了後に制御テーブル４０のロックを解除する（ステップ３１７）。ここで制御テーブル４０をロックするのは、後で説明するリードコマンド処理及びライトコマンド処理との競合において、更新途中の制御テーブル４０をＩＯ処理部３０に参照させないようにするためである。
【０１０５】
ステップ３１６の制御テーブル４０の更新処理では、図１２に示した内容の増設状態の制御テーブル４０を図１３に示した通常状態の制御テーブルに更新する。具体的には、コピー処理部３５は、まず通常構成情報４７および増設構成情報４８に第５の冗長グループのエントリを追加し、通常構成情報４７と増設構成情報４８の差異であるディスク装置２０のパーティション０とディスク装置２１のパーティション０とディスク装置２２のパーティション０とディスク装置２３のパーティション０を第５の冗長グループとして設定する。そして、増設構成情報４８の第１から第４の冗長グループの情報を通常構成情報４７にコピーし、増設構成情報４８はクリアする。また、冗長グループ数４３を１加算して「５」とし、状態フラグ４１を「通常」にする。
【０１０６】
以上は１台目の増設ディスク装置２４を追加した際の動作であるが、２台目のディスク装置２５を追加した際も基本的に同じ動作が行われる。但し、既に１台目のディスク装置２４が追加されて新たな第５の冗長グループが生成されているので、この第５の冗長グループを除いた第１〜第４の冗長グループがコピー対象となる。２台目のディスク装置２５を増設する際にステップ３０２で更新された制御テーブル４０の内容例を図１４に示し、コピー完了後にステップ３１６で構成された制御テーブル４０の内容例を図１５に示す。
【０１０７】
３台目のディスク装置２６、４台目のディスク装置２７を増設する場合も２台目のディスク装置２５と同様の処理が行われる。更に、増設ディスク装置２４〜２７上に形成された第１〜第４の冗長グループと、当初ディスク装置２０〜２３に形成された第５〜第８の冗長グループにＲＡＩＤが分離された後は、増設ディスク装置２４〜２７あるいは当初ディスク装置２０〜２３に対してディスク装置２８を追加していくことも可能である。
【０１０８】
次に、図１６を参照してホストコンピュータ１０からリードコマンドが発行された際のディスクアレイコントローラ１１の動作を説明する。ディスクアレイコントローラ１１のＩＯ処理部３０は、リードコマンドを受けると（ステップ４００）、排他制御部３３により制御テーブル４０をロックして（ステップ４０１）、読み出し位置検索部３１を使用して、リードコマンドで指定された冗長グループについて制御テーブル４０の通常構成情報４７からディスク番号とパーティション位置を取り出し（ステップ４０２）、制御テーブル４０のロックを解除する（ステップ４０３）。そして、読み出し位置検索部３１を使用してステップ４０２で取り出したディスク番号とパーティション位置に基づいて、ＩＯ処理部３０は、ディスク制御部３７を通じてディスクアレイのリードを行う（ステップ４０４）。リードコマンドの処理においては、増設構成情報４８は使用しない。
【０１０９】
例えば、ディスクアレイが図２の状態にある初期状態では、制御テーブル４０は図１０のようになっているため、第１の冗長グループを指定するリードコマンドによるアクセスは、ディスク装置２０のパーティション１００、ディスク装置２１のパーティション１０１、ディスク装置２２のパーティション１０２およびディスク装置２３のパーティション１０３が対象となり、例えば第１番目のパーティションのリードはディスク装置２０のパーティション１００に対して実行される。しかし、ディスク装置２４が追加され、ディスクアレイが図４のように拡張されると、制御テーブル４０は図１３のように更新されているため、第１の冗長グループを指定するリードコマンドによるアクセスは、ディスク装置２４のパーティション１０４、ディスク装置２１のパーティション１０１、ディスク装置２２のパーティション１０２およびディスク装置２３のパーティション１０３が対象となり、例えば第１番目のパーティションのリードはディスク装置２０のパーティション１００でなく、ディスク装置２４のパーティション１０４に対して実行されることになる。
【０１１０】
次に、図１７を参照してホストコンピュータ１０からライトコマンドが発行された際のディスクアレイコントローラ１１の動作を説明する。ディスクアレイコントローラ１１のＩＯ処理部３０は、ライトコマンドを受けると（ステップ５００）、排他制御部３３により制御テーブル４０をロックしてから（ステップ５０１）、書き込み位置検索部３２を使用して書き込み位置を検索する（ステップ５０２〜５０５）。具体的には、書き込み位置検索部３２は、まずライトコマンドで指定された冗長グループについて制御テーブル４０の通常構成情報４７からディスク番号とパーティション位置を取り出す（ステップ５０２）。次に、状態フラグ４１を確認し（ステップ５０３）、増設状態であれば、ライトコマンドで指定された冗長グループについて通常構成情報４７と増設構成情報４８の差異を検索して（ステップ５０４）、その差異の箇所もライトするように追加する（ステップ５０５）。例えば図１２の制御テーブル４０で第１の冗長グループに対するライトコマンドなら、通常構成情報４７のディスク装置２０のパーティション０と増設構成情報４８のディスク装置２４のパーティション０が差異となっているため、ディスク装置２０のパーティション０にライトするデータは、ディスク装置２４のパーティション０にもライトするように追加する。次にＩＯ処理部３０は、制御テーブル４０のロックを解除し（ステップ５０６）、書き込み位置検索部３２によってステップ５０２およびステップ５０５で取り出したディスク番号とパーティション位置へライトコマンドに基づくライトを実行する（ステップ５０７）。
【０１１１】
[他の実施の形態] 
以上の実施の形態および実施例は、ＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイに対して本発明を適用したが、（３Ｄ＋Ｐ）以外のＲＡＩＤ５タイプや、ＲＡＩＤ５以外のＲＡＩＤ１、ＲＡＩＤ２、ＲＡＩＤ３、ＲＡＩＤ４、ＲＡＩＤ６といった他のＲＡＩＤタイプにも適用可能である。例えば、ＲＡＩＤ５（４Ｄ＋Ｐ）なら各ディスク装置の記憶領域を５等分し、ＲＡＩＤ５（５Ｄ＋Ｐ）なら各ディスク装置の記憶領域を６等分し、ＲＡＩＤ１なら各ディスク装置の記憶領域を２等分し、ＲＡＩＤ６（４Ｄ＋Ｐ＋Ｑ）なら各ディスク装置の記憶領域を６等分するというように、そのＲＡＩＤタイプの最小構成台数で等分すれば、本発明のディスク増設方法が実現可能である。
【０１１２】
また、例えばＲＡＩＤ５（３Ｄ＋Ｐ）の場合に４等分しているが、その倍の８等分でも実現可能であるし、更にその倍の１６等分でも実現可能である。つまり、ＲＡＩＤタイプに依存することなく、そのＲＡＩＤタイプの最小構成台数Ｎの倍数ａ×Ｎ（ａは正整数）で各ディスク装置の記憶領域を等分することによって、本発明のディスク増設方法が実現可能である。ここで、ａが２以上の場合、１台ディスク装置を増設する毎にａ個の新たな冗長グループが生成される。
【０１１３】
また、ディスクアレイコントローラ１１に接続する全てのディスク装置２０〜２８は同じ記憶容量を持つものとしたが、必ずしも同じ記憶容量である必要はない。ディスクアレイの初期生成時に使う当初ディスク装置がそれぞれ異なる記憶容量を持つ場合、そのうちの最小の記憶容量をＸとすると、全ての当初ディスク装置の先頭からＸ分の容量をＲＡＩＤの最小構成台数Ｎあるいはその倍数ａ×Ｎで等分すれば、本発明が適用できる。増設するディスク装置についても同様である。つまり、本発明において、ディスク装置の記憶領域をＮ等分あるいはａ×Ｎ等分するとは、そのディスク装置の全記憶領域をＮ等分あるいはａ×Ｎ等分する場合だけを意味せず、前述のように先頭からＸ分の容量の記憶領域をＮ等分あるいはａ×Ｎ等分する場合をも意味するものである。
【０１１４】
また、本発明の他の実施の形態として、最初のＲＡＩＤ構成の定義において斜め位置のパーティションを組み合わせずに、各ディスクの同一段のパーティションを組み合わせることもできる。例えば、図２において、ディスク装置２０の最上段のパーティション１００とディスク装置２１の最上段のパーティション１１０とディスク装置２２の最上段のパーティション１２０とディスク装置２３の最上段のパーティション１３０の４つのパーティションというように同一段のパーティションを組み合わせて第１の冗長グループを定義する。同様に、パーティション１３１、１０１、１１１および１２１で第２の冗長グループを定義し、パーティション１２２、１３２、１０２および１１２で第３の冗長グループを定義し、パーティション１１３、１２３、１３３および１０３で第４の冗長グループを定義する。そして、図３のようにディスク装置２４を増設したとき、ディスク装置２０の最上段のパーティション１００に格納されているデータをディスク装置２４のパーティション１０４にコピーし、ディスク装置２１の２段目のパーティション１０１に格納されているデータをディスク装置２４のパーティション１１４にコピーし、ディスク装置２２の３段目のパーティション１０２に格納されているデータをディスク装置２４のパーティション１２４にコピーし、ディスク装置２３の４段目のパーティション１０３に格納されているデータをディスク装置２４のパーティション１３４にコピーする。コピーが完了すると、パーティション１００、１０１、１０２および１０３を各冗長グループから外して、パーティション１０４、１１０、１２０および１３０の第１の冗長グループと、パーティション１３１、１１４、１１１および１２１の第２の冗長グループと、パーティション１２２、１３２、１２４および１１２の第３の冗長グループと、パーティション１１３、１２３、１３３および１３４の第４の冗長グループに定義し直す。また、冗長グループから外されたパーティション１００、１０１、１０２および１０３を定義し直して新たに第５の冗長グループを定義する。
【産業上の利用可能性】
【０１１５】
以上のように、本発明にかかるディスクアレイ装置および記憶容量拡張方法は、複数のディスク装置で構成されたディスクアレイの記憶容量を拡張する装置および方法として有用であり、特にシステムの運用を停止させずにＲＡＩＤ５タイプなどのディスクアレイの記憶容量を拡張する装置および方法に用いるのに適している。
【図面の簡単な説明】
【０１１６】
【図１】本発明の第１の実施の形態にかかるディスクアレイ装置のブロック図である。
【図２】最小構成台数で構成された初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイの構成図である。
【図３】初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイにディスク装置を１台追加して記憶容量を拡張している様子を示す図である。
【図４】初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）にディスク装置を１台追加して記憶容量を拡張したディスクアレイの構成図である。
【図５】ディスク装置が１台追加されたＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイにディスク装置を更にもう１台追加して記憶容量を拡張している様子を示す図である。
【図６】初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）にディスク装置を２台追加して記憶容量を拡張したディスクアレイの構成図である。
【図７】初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）にディスク装置を４台追加して記憶容量を倍に拡張したディスクアレイの構成図である。
【図８】ディスク装置が４台追加されたＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイにディスク装置を更にもう１台追加して記憶容量を拡張している様子を示す図である。
【図９】本発明の第１の実施の形態の実施例１にかかるディスクアレイ装置のブロック図である。
【図１０】最小構成台数で構成された初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイに対応する制御テーブルの内容例を示す図である。
【図１１】本発明の第１の実施の形態の実施例１にかかるディスクアレイ装置におけるディスク増設処理のフローチャートである。
【図１２】初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイにディスク装置を１台追加して記憶容量を拡張している状態のときの制御テーブルの内容例を示す図である。
【図１３】初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）にディスク装置を１台追加して記憶容量を拡張したディスクアレイに対応する制御テーブルの内容例を示す図である。
【図１４】ディスク装置が１台追加されたＲＡＩＤ５（３Ｄ＋Ｐ）のディスクアレイにディスク装置を更にもう１台追加して記憶容量を拡張している状態のときの制御テーブルの内容例を示す図である。
【図１５】初期状態のＲＡＩＤ５（３Ｄ＋Ｐ）にディスク装置を２台追加して記憶容量を拡張したディスクアレイに対応する制御テーブルの内容例を示す図である。
【図１６】本発明の第１の実施の形態の実施例１にかかるディスクアレイ装置におけるリードコマンド処理のフローチャートである。
【図１７】本発明の第１の実施の形態の実施例１にかかるディスクアレイ装置におけるライトコマンド処理のフローチャートである。
【符号の説明】
【０１１７】
１０…ホストコンピュータ
１１…ディスクアレイコントローラ
１２、１５…インタフェースチップ
１３…バッファメモリ
１４…メモリコントローラ
１６…マイクロプロセッサ
１７…ローカルメモリ
１８、１９…汎用バス
２０〜２８…ディスク装置
３０…ＩＯ処理部
３１…読み出し位置検索部
３２…書き込み位置検索部
３３…排他制御部
３４…冗長グループ定義部
３５…コピー処理部
３６…コピー位置検索部
３７…ディスク制御部
３８…バッファ管理部
３９…構成管理部
４０…制御テーブル
４１…状態フラグ
４２…ＲＡＩＤタイプ
４３…冗長グループ数
４４…冗長グループ構成パーティション数
４５…増設回数
４６…構成情報
４７…通常構成情報
４８…増設構成情報
４９…ディスク番号
５０…パーティション位置
５１…パーティション番号
【図１】
2005099998.tif 000003
【図２】
2005099998.tif 000004
【図３】
2005099998.tif 000005
【図４】
2005099998.tif 000006
【図５】
2005099998.tif 000007
【図６】
2005099998.tif 000008
【図７】
2005099998.tif 000009
【図８】
2005099998.tif 000010
【図９】
2005099998.tif 000011
【図１０】
2005099998.tif 000012
【図１１】
2005099998.tif 000013
【図１２】
2005099998.tif 000014
【図１３】
2005099998.tif 000015
【図１４】
2005099998.tif 000016
【図１５】
2005099998.tif 000017
【図１６】
2005099998.tif 000018
【図１７】
2005099998.tif 000019