(57)【要約】【課題】接続されたディスクの使用効率を向上させること。【解決手段】障害が発生したディスクを検知した場合（Ｓ２０１）、このディスクアレイが修復可能な構成であるか否か（Ｓ２０３）、スペアディスクが存在する否かのチェックを行う（Ｓ２０４）。スペアディスクが存在しない場合、一台でディスクアレイを構成しているディスクを検索し（Ｓ２０９）、このディスク（Ｆｒｅｅディスク）が存在する場合、Ｆｒｅｅディスクをスペアディスクとして利用可能であるか否かを判断し（Ｓ２１０）、使用可能である場合、Ｆｒｅｅディスクをスペアディスクとして用い、データを修復する（Ｓ２０６）。【選択図】　図２
2004021318.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び１つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知手段と、
当該検知手段が注目ディスクの障害を検知した場合、前記１つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復手段とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記１台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とするディスクアレイ装置。
【請求項２】
更に、前記複数のディスクを管理するための管理テーブルを格納する格納手段を備え、
当該管理テーブルには、夫々のディスクが属するディスクアレイを特定する情報、当該ディスクアレイのモードを特定する情報、夫々のディスクを接続するスロットを特定する情報、そして夫々のディスクの状態を示す情報が格納、管理されていることを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
前記検知手段は、前記管理テーブルにおいて前記夫々のディスクの状態を示す情報を参照することで、夫々のディスクの障害の有無を検知することを特徴とする請求項２に記載のディスクアレイ装置。
【請求項４】
更に前記１つのディスクにより構成されるディスクアレイを検索する検索手段と、
当該検索手段により検索したディスクアレイを構成する１つのディスクが使用可能であるか否かを判断する判断手段と
を備えることを特徴とする請求項２に記載のディスクアレイ装置。
【請求項５】
前記判断手段は、前記検索手段により検索した１つのディスクが使用されているか否かを判断し、使用されていない場合、当該１つのディスクが使用可能であると判断することを特徴とする請求項４に記載のディスクアレイ装置。
【請求項６】
前記判断手段は、前記検索手段により検索した１つのディスクの使用容量と、前記注目ディスクの空き容量とを比較し、前記注目ディスクの空き容量の方が大きい場合、前記１つのディスクが保持するデータを前記注目ディスクにコピーし、コピー後、前記１つのディスクが保持する全てのデータを消去することを特徴とする請求項４に記載のディスクアレイ装置。
【請求項７】
更に前記管理テーブルにおいて、前記判断手段により使用可能であると判断されたディスクの状態を示す情報を、当該ディスクへのアクセスが不可能であることを示す情報に変更する変更手段を備えることを特徴とする請求項１乃至６のいずれか１項に記載のディスクアレイ装置。
【請求項８】
複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び１つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置の制御方法であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知工程と、
当該検知工程で注目ディスクの障害を検知した場合、前記１つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復工程とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記１台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とするディスクアレイ装置の制御方法。
【請求項９】
更に、前記複数のディスクを管理するための管理テーブルをメモリに格納しておき、
当該管理テーブルには、夫々のディスクが属するディスクアレイを特定する情報、当該ディスクアレイのモードを特定する情報、夫々のディスクを接続するスロットを特定する情報、そして夫々のディスクの状態を示す情報が格納、管理されていることを特徴とする請求項８に記載のディスクアレイ装置の制御方法。
【請求項１０】
更に前記１つのディスクにより構成されるディスクアレイを検索する検索工程と、
当該検索工程で検索したディスクアレイを構成する１つのディスクが使用可能であるか否かを判断する判断工程と
を備えることを特徴とする請求項９に記載のディスクアレイ装置の制御方法。
【請求項１１】
更に前記管理テーブルにおいて、前記判断工程で使用可能であると判断されたディスクの状態を示す情報を、当該ディスクへのアクセスが不可能であることを示す情報に変更する変更工程を備えることを特徴とする請求項８乃至１０のいずれか１項に記載のディスクアレイ装置の制御方法。
【請求項１２】
コンピュータを請求項１乃至７のいずれか１項に記載のディスクアレイ装置として機能させることを特徴とするプログラム。
【請求項１３】
コンピュータに請求項８乃至１１のいずれか１項に記載のディスクアレイ装置の制御方法を実行させるためのプログラム。
【請求項１４】
請求項１２または１３に記載のプログラムを格納する記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はディスクアレイ装置、及びその制御方法に関するものである。
【０００２】
【従来の技術】
ディスクアレイ装置は、アレイ構成された複数のディスクを並列アクセスすることによりアクセススピード等の性能の向上を図り、さらに冗長データを付加して、１台のディスク故障に対して消失データの自動回復が可能な、高性能、高信頼性ディスクシステムである。
【０００３】
ディスクアレイ装置の構成例としては、Ｐａｔｅｒｓｏｎ等の論文によりＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ　Ａｒｒａｙｓ　ｏｆ　Ｉｎｅｘｐｅｎｓｉｖｅ　Ｄｉｓｋｓ）と呼ばれるディスクアレイ形態が提示されている。なかでも、冗長データを付加して、１台のディスク故障に対して消失データの自動回復が可能な構成として、ＲＡＩＤ１、ＲＡＩＤ５と呼ばれる種類が広く知られている。また、ディスクが故障した場合の回復処理（リカバリ）を、システムを停止することなく実行するために、ホットスタンバイのスペアディスク（ホットスペアディスク）を常備していることが多い。
【０００４】
この種のディスクアレイ装置は、ＲＡＩＤ５を例にとると図５に示す構成を備える。図５は従来のディスクアレイ装置の基本構成を示すブロック図である。同図のディスクアレイ装置は、ディスクアレイ装置１０を制御するためのディスクアレイコントローラ１１と、データを格納するためのディスク４１〜４４とから構成されている。ディスクアレイコントローラ１１は、ホストコンピュータ（図示せず）と接続するためのホストインタフェース１２、ディスクアレイコントローラ１１を制御するためのＣＰＵ１３、制御手続きを記憶したＲＯＭ１４、データの一時記憶などに用いられるＲＡＭ１５、ディスクを接続するためのディスクインタフェース１６、ディスクアレイの構成情報を記憶した制御用フラッシュメモリ２０とから構成されている。また制御用フラッシュメモリ２０には、ディスクアレイの構成情報であるディスク管理テーブル２１が格納されている。
【０００５】
ディスク管理テーブル２１は、ディスクアレイを指し示すためのアレイ番号２２、ＲＡＩＤのモードを示すモード２３、アレイを構成するディスクを装填するためのスロット番号２４、ディスクの状態を示すＨＤＤ状態２５とからなる。
【０００６】
アレイ番号２２はディスクアレイを指し示すためのものであり、ディスクアレイが一つ構成されていればＡＲＹ１、二つ構成されていれば「ＡＲＹ１」、「ＡＲＹ２」というように設定される。モード２３は、ＲＡＩＤ１、ＲＡＩＤ５などＲＡＩＤのモードや、スペアディスクであることを示す「Ｓｐａｒｅ」が設定される。スロット番号２４は、ディスクを装填するためのスロット番号を示す。ＨＤＤ状態２５は、スロットにディスクが装填されているか否かの状態、またディスクにエラーが生じたときにその状態を表す。同図では「有」となっているが、これは何のトラブルも生じていないことを示す。
【０００７】
図５に示すディスクアレイ装置は、ディスク４１〜４４の、４つのディスクからなるディスクアレイ４０「ＡＲＹ１」が１つ構成されており、スロット番号ＨＤ１〜３に接続されたディスク４１〜４３の３つのディスクがＲＡＩＤ５、スロット番号ＨＤ４に接続されたディスク４４がスペアディスクとなっている。この構成において、ディスク４１〜４３のうちの１つのディスクに障害が発生すると、スペアディスクとなっているディスク４４を使用してディスクに記憶されたデータの回復処理が行われる。
【０００８】
この回復処理の動作について、図６のフローチャートに従って説明する。図６は上記構成を備えるディスクアレイ装置が行う、障害が発生したディスクに記憶されたデータの回復処理のフローチャートである。
【０００９】
ＣＰＵ１３は常にディスク４１，４２，４３に障害が発生しているか否かを監視し、障害の発生を検知した場合（ステップＳ６０１）、ディスク管理テーブル２０内の該当するディスクのＨＤＤ状態を「エラー」に変更する（ステップＳ６０２）。次に、障害が発生したディスクアレイが修復可能な構成であるか否か、すなわち障害の発生したディスクを含むディスクアレイのモードがＲＡＩＤ１またはＲＡＩＤ５であるか否かを判断し（ステップＳ６０３）、修復可能な構成（ＲＡＩＤ１またはＲＡＩＤ５）であれば、修復に利用するためのスペアディスクが存在するか否かの判断を行う（ステップＳ６０４）。スペアディスクが存在すれば、ホストコンピュータに対して「データディスクに障害が発生し、スペアディスクを用いてデータの修復を行う」旨を通知し（ステップＳ６０５）、データの修復を行う（ステップＳ６０６）。データの修復が完了したら、ディスク管理テーブル２０において障害が発生したディスクのＨＤＤ状態を「有」に変更し（ステップＳ６０７）、ホストコンピュータに対してデータの修復が完了したことを通知し（ステップＳ６０８）、修復処理を終了する。
【００１０】
また、ステップＳ６０３において、障害が発生したディスクアレイが修復不可能な構成、すなわち、モードがＦｒｅｅまたはＲＡＩＤ０であった場合は、ホストコンピュータに対して障害が発生したことを通知し（ステップＳ６０８）、処理を終了する。
【００１１】
【発明が解決しようとする課題】
上述したように、データディスクとは別にホットスペアディスクを備えた従来のディスクアレイシステムでは、ＲＡＩＤを構成するデータディスクに障害が発生しても、その障害ディスクに代えてホットスペアディスクを用いることで、システムを停止することなく対処できる。
【００１２】
しかし、ホットスペアディスクは、他のディスクに障害が発生しない状態では何ら利用されず、またホットスペアディスクの実装スロットも有効に利用されていない。
【００１３】
このように従来のディスクアレイ装置では、ホットスペアディスクは、そのホットスペアディスク本来の目的のみにしか使用されないため、他のディスクに障害が発生しない通常の状態では全く利用されず、またホットスペアディスクの実装スロットも有効に利用されないことから無駄であるという問題があった。
【００１４】
そこで、ホットスペアディスクを有効に利用するための方法として、特開平１０−２６０７８８号公報で提案されているディスクアレイシステムでは、ホットスペアディスクに、データディスクより記憶容量が大きいディスクを用いて、その記憶容量が多い部分（データディスクの記憶容量とスペアディスクの記憶容量との差分）の領域を、ディスクアレイコントローラの動作に必要なファームウェアをバージョンアップするためのバージョンアップ用コントローラファームウェアの格納領域として利用する方法が提案されている。しかし、上記の方法ではホットスペアディスクに記憶容量の大きいディスクを用いなければならないという制約があり、また記憶容量が多い部分の領域のみを活用することしかできず、ホットスペアディスク全体を有効に活用しているとは言いがたい部分があった。
【００１５】
本発明は以上の問題を鑑みてなされたものであり、接続されたディスクの使用効率を向上させることを目的とする。
【００１６】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明のディスクアレイ装置は以下の構成を備える。
【００１７】
すなわち、複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び１つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知手段と、
当該検知手段が注目ディスクの障害を検知した場合、前記１つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復手段とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記１台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とする。
【００１８】
また好ましくは更に、前記複数のディスクを管理するための管理テーブルを格納する格納手段を備え、
当該管理テーブルには、夫々のディスクが属するディスクアレイを特定する情報、当該ディスクアレイのモードを特定する情報、夫々のディスクを接続するスロットを特定する情報、そして夫々のディスクの状態を示す情報が格納、管理されていることを特徴とする。
【００１９】
また好ましくは更に前記１つのディスクにより構成されるディスクアレイを検索する検索手段と、
当該検索手段により検索したディスクアレイを構成する１つのディスクが使用可能であるか否かを判断する判断手段と
を備えることを特徴とする。
【００２０】
また好ましくは前記判断手段は、前記検索手段により検索した１つのディスクが使用されているか否かを判断し、使用されていない場合、当該１つのディスクが使用可能であると判断することを特徴とする。
【００２１】
また好ましくは前記判断手段は、前記検索手段により検索した１つのディスクの使用容量と、前記注目ディスクの空き容量とを比較し、前記注目ディスクの空き容量の方が大きい場合、前記１つのディスクが保持するデータを前記注目ディスクにコピーし、コピー後、前記１つのディスクが保持する全てのデータを消去することを特徴とする。
【００２２】
また好ましくは更に前記管理テーブルにおいて、前記判断手段により使用可能であると判断されたディスクの状態を示す情報を、当該ディスクへのアクセスが不可能であることを示す情報に変更する変更手段を備えることを特徴とする。
【００２３】
本発明の目的を達成するために、例えば本発明のディスクアレイ装置の制御方法は以下の構成を備える。
【００２４】
すなわち、複数のディスクを含むディスクアレイであって、ディスクの夫々には自身以外のディスクが格納するデータを修復するための冗長データが記憶されているディスクアレイ、及び１つのディスクにより構成されるディスクアレイ、の夫々をスロット部を介して接続可能なディスクアレイ装置の制御方法であって、
夫々の前記ディスクアレイに含まれるディスクの障害の有無を検知する検知工程と、
当該検知工程で注目ディスクの障害を検知した場合、前記１つのディスクに、当該注目ディスクが属する注目ディスクアレイにおける当該注目ディスク以外のディスクが格納する前記冗長データをコピーし、前記注目ディスクが障害の発生の従前に格納していたデータを修復する修復工程とを備え、
前記注目ディスクアレイにおける前記注目ディスク以外のディスクと、前記１台のディスクとで新たに前記注目ディスクアレイを構成することを特徴とする。
【００２５】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２６】
［第１の実施形態］
図１は本発明の第１の実施形態に係るディスクアレイ装置の基本構成を示すブロック図である。本実施形態に係るディスクアレイ装置１００はＲＡＩＤ５を構成するものであり、ディスクアレイコントローラ１０１と、ディスクアレイコントローラ１０１内のディスクインタフェース１０６に接続されたディスク１４２〜１４５とから構成されている。また、ディスク１４２〜１４４の３つのディスクでディスクアレイ１４０が組まれ、ディスク１４５の１つでディスクアレイ１４１が組まれている。また「ＨＤ１」、「ＨＤ２」、「ＨＤ３」、「ＨＤ４」は夫々のディスクをディスクインタフェース１０６に接続するためのスロットの番号である。
【００２７】
ディスクアレイコントローラ１０１は、ホストコンピュータ（図示せず）と接続するためのホストインタフェース１０２、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、ディスクを接続するためのディスクインタフェース１０６、ディスクアレイの構成情報と状態を記憶するための制御用フラッシュメモリ１２０とから構成されている。
【００２８】
制御用フラッシュメモリ１２０には、ディスクアレイの構成情報と状態を記憶するためのディスク管理テーブル１２１が格納されている。ディスク管理テーブル１２１には、ディスクアレイの番号を管理するためのアレイ番号１２２と、ディスクアレイのモードを管理するためのモード１２３と、ディスクスロットの番号を管理するためのスロット番号１２４と、ディスクの状態を表すためのＨＤＤ状態１２５が格納され、管理されている。
【００２９】
アレイ番号１２２における「ＡＲＹ１」、「ＡＲＹ２」とは、ディスクアレイコントローラ１０１に２つのディスクアレイが設定されていることを示している。ここでは「ＡＲＹ１」がディスクアレイ１４０に、「ＡＲＹ２」がディスクアレイ１４１に相当する。
【００３０】
「ＡＲＹ１」は、モード１２３で示されるように「ＲＡＩＤ５」を構成し、ＨＤ１〜ＨＤ３のスロット番号に装着されたディスク１４２〜１４４が接続されていることを示している。ＨＤＤ状態１２５が「有」とは、正常に動作するディスクが装着されていることを示している。
【００３１】
「ＡＲＹ２」のディスクアレイのモード「Ｆｒｅｅ」とは、一つのディスクが独立して使用されることを示している。本実施形態に係るディスクアレイ装置１０１では、一つのディスクを独立して使用する場合も、一つのディスクアレイ（ここでは「ＡＲＹ２」）として取り扱う。
【００３２】
各ディスクアレイは、オペレーティングシステムに対して、一つのディスクアレイがあたかも一つのディスクであるかのように動作する。例えばオペレーティングシステムがＷｉｎｄｏｗｓ（登録商標）であった場合、「ＡＲＹ１」を「Ｃドライブ」として、「ＡＲＹ２」を「Ｄドライブ」としてＷｉｎｄｏｗｓ（登録商標）から扱うことができる。
【００３３】
また、ディスクスロットＨＤ１〜ＨＤ４は、ディスクの活線挿抜が可能な構造になっており、オペレーティングシステムの動作中に抜き差しが可能なリムーバブルメディアと接続することができる。
【００３４】
次に、ディスクアレイコントローラ１０１に接続されたＲＡＩＤ５を構成するディスク（ディスク１４２，１４３，１４４）の中の一つに障害が発生した場合にディスクアレイ装置が行う処理について、同処理のフローチャートを示す図２と、同処理の進行に伴って書き換えられるディスク管理テーブル１２１の状態遷移を示す図３とを用いて以下説明する。なお、ディスクの障害とは、ここでは物理的にディスクが破損したレベルの障害であって、使用不可能となるレベルを指す。また、図２に示したフローチャートに従った回復処理のプログラムはＲＯＭ１０４に格納されており、ＲＡＭ１０５に読み出され、ＣＰＵ１０３により実行されることで、本実施形態に係るディスクアレイ装置は以下の回復処理を行うことができる。
【００３５】
まず、全てのディスクが正常に動作している場合のディスク管理テーブル１２１の様子は図３（ａ）に示すとおりである。すなわち同図のテーブルは図１に示したディスク管理テーブル１２１の状態と一致している。
【００３６】
この状態においてＣＰＵ１０３はディスクインタフェース１０６に接続されているディスクを常にチェックしており、全てのディスクが正常に動作しているかを監視している。そして障害が発生したディスクを検知した場合（ステップＳ２０１）、まずディスク管理テーブル１２１において障害が発生したディスクのスロット番号を特定し、このスロット番号に対応するディスクのＨＤＤ状態を「有」から「エラー」に変更する（ステップＳ２０２）。例えば、スロットＨＤ３に接続されたディスク１４４に障害が発生した場合、図３（ｂ）に示すように、ＨＤ３のＨＤＤ状態を「エラー」に変更する。以下、ＨＤ３のディスクに障害が発生したものとして説明するが、これに限定されるものではなく、他のディスクでも良いことは以下の説明より明白である。
【００３７】
次に、障害が発生したディスクアレイが修復可能な構成であるか否か、すなわち障害の発生したディスクを含むディスクアレイのモードがＲＡＩＤ１またはＲＡＩＤ５であるか否かを判断し（ステップＳ２０３）、修復可能な構成（ＲＡＩＤ１またはＲＡＩＤ５）であれば、修復に利用するためのスペアディスクがディスクインタフェース１０６に接続されているか否かのチェックを行う（ステップＳ２０４）。そしてディスクインタフェース１０６にスペアディスクが接続されている場合、ステップＳ２０５からステップＳ２０８までの処理を行うが、各ステップにおける処理の内容は、上記ステップＳ６０５からステップＳ６０８までの各ステップにおける処理の内容と同じであるので、説明を省略する。すなわち、ディスクに障害が発生した場合に、スペアディスクが存在する場合には、従来と同様の処理を行う。
【００３８】
一方、ステップＳ３０４においてのチェックで、ディスクインタフェース１０６にスペアディスクが接続されていない場合、ディスクインタフェース１０６に一台でディスクアレイを構成しているディスクを検索する（ステップＳ２０９）。すなわちディスク管理テーブル１２１を参照して、モード１２３が「Ｆｒｅｅ」となっているディスク（Ｆｒｅｅディスク）を検索する。本実施形態ではこのＦｒｅｅディスクはディスク１４５となる。なお、ディスクインタフェース１０６にＦｒｅｅディスクが１台のみである場合には、本ステップでは検索は行わずに、このディスクを特定する処理を行う。
【００３９】
そしてモード１２３が「Ｆｒｅｅ」であるディスク（ディスク１４５）が存在する場合、更にＦｒｅｅディスクをスペアディスクとして利用可能であるか否かを判断する（ステップＳ２１０）。Ｆｒｅｅディスクをスペアディスクとして利用可能であるという条件としては、Ｆｒｅｅディスクが使用されていない（データを格納していない）ことが条件となる。他にも例えばオペレーティングシステムがＷｉｎｄｏｗｓ（登録商標）ＸＰであった場合、
・　ハードディスクが全くフォーマットされていない。
【００４０】
・　「ＦＡＴ」または「ＮＴＦＳ」フォーマットで、フォルダやファイルが存在しない。
の場合にＦｒｅｅディスクが使用されていないと判断する。
【００４１】
逆にＦｒｅｅディスクが使用されているという判断には、
・　「ＦＡＴ」または「ＮＴＦＳ」フォーマットで、フォルダやファイルが存在する。
【００４２】
・　「ＦＡＴ」または「ＮＴＦＳ」フォーマット以外のフォーマットである。ことが挙げられる。
【００４３】
そしてＦｒｅｅディスクが使用可能であるとステップＳ２１０で判断された場合、処理をステップＳ２１１に進め、ディスク管理テーブル１２１におけるＦｒｅｅディスクのＨＤＤ状態を「なし」に変更する（ステップＳ２１１）。ＨＤＤ状態が「なし」とは、ＣＰＵ１０３からは接続されていないディスク（アクセス不可能なディスク）と判断される状態を示す。これはステップＳ２１１でＨＤＤ状態を「なし」に変更しないと、ステップＳ２１０で使用されていないディスクを見つけても、このディスクをスペアディスクとして用いる前にこのディスクが使用されてしまうかもしれないからである。よって、ステップＳ２１１により、使用されていないディスクを確保することができると共に、ホストコンピュータに対して、ホストコンピュータの動作に影響を与えることなくＦｒｅｅディスク（すなわちＡＲＹ２を構成しているディスク１４５）が存在しないようにすることができる。ステップＳ２１１で行われる上記処理の結果のディスク管理テーブル１２１を図３（ｃ）に示す。
【００４４】
次に、ＦｒｅｅディスクをＡＲＹ１のスペアディスクとしてディスク管理テーブル１２１を変更する（ステップＳ２１２）。このときのディスク管理テーブル１２１を図３（ｄ）に示す。以上のステップの処理により、常に使用されることのないスペアディスクを予め設定しなくても、必要に応じてスペアディスクを用意することができるので、ディスク全体の使用効率を上記従来よりも向上させることができる。
【００４５】
そして処理をステップＳ２０５に進め、ステップＳ２０５では「ＲＡＩＤを構成しているディスクに障害が発生したので、使用していなかったＦｒｅｅディスクをスペアディスクに割り当て障害の回復を開始する」旨を示す信号をホストコンピュータに対して送信（通知）する。
【００４６】
そしてステップＳ２０６では、データの修復を行う。本実施形態ではモードはＲＡＩＤ５であるので、周知の通り、ＨＤ３のディスクと同じディスクアレイ（ＡＲＹ１）内でＨＤ３のディスク以外のディスクには、ＨＤ３のディスクが格納するデータを修復するための冗長データが格納されている。本実施形態ではＨＤ３のディスクであるディスク１４４に格納されたデータを修復するための冗長データはディスク１４２，１４３に格納されているので、これらのディスク１４２，１４３に格納された冗長データをからディスク１４４が格納していたデータを修復することができる。
【００４７】
具体的にはＦｒｅｅディスクのモードをディスク１４２，１４３と同様の「ＲＡＩＤ５」に変更すると共に、ＨＤ３のディスクのモードを「Ｅｒｒｏｒ」に変更する。このようにすることで、ＲＡＩＤ５を構成していたＨＤ３のディスクの変わりにＦｒｅｅディスクを用いることができる。そしてこのＦｒｅｅディスクをＡＲＹ１のスペアディスクとして用い、Ｆｒｅｅディスクにディスク１４２，１４３に格納された冗長データをコピーし、従来の方法と同様にディスク１４４の格納するデータを修復する。修復開始と共にＣＰＵ１０３は、ディスク管理テーブル１２１においてＦｒｅｅディスクのＨＤＤ状態を「修復中」と変更する。ステップＳ２０６によって変更されたディスク管理テーブル１２１を図３（ｅ）に示す。
【００４８】
そしてデータの修復が完了すると、ＣＰＵ１０３は更にディスク管理テーブル１２１においてＦｒｅｅディスクのＨＤＤ状態を「有」と変更する（ステップＳ２０７）。ステップＳ２０６により変更されたディスク管理テーブル１２１を図３（ｆ）に示す。以上の処理の結果、ＡＲＹ１を構成するディスクはディスク１４２，１４３，１４５となり、ディスク１４５はスペアディスクとして用いられると共に、障害が発生したディスク１４４の変わりとして用いられることになる。そして修復が完了したことをホストコンピュータに対して通知し（ステップＳ２０８）、障害からの回復処理を終了する。
【００４９】
以上の説明により、本実施形態に係るディスクアレイ装置によって、特定の状況のみに使用され、比較的使用頻度の低いスペアディスクを予め設けなくても、必要に応じてスペアディスクとして機能するディスクを用意することができるので、結果としてディスク全体の使用効率を向上させることができる。
【００５０】
なお、本実施形態では障害のレベルとしてディスクが使用不可能なレベルとしたが、例えばデータのみが破損してディスクは使用可能である場合、上記処理により修復したデータをデータが破損したディスクに戻す処理を行う。
【００５１】
［第２の実施形態］
上記第１の実施形態では、Ｆｒｅｅディスクが使用されていない場合にのみこのＦｒｅｅディスクを使用していたが、本実施形態ではＦｒｅｅディスクが使用されている場合についても同様の処理を行うディスクアレイ装置について説明する。しか資本実施形態におけるディスクの障害のレベルは、格納するデータが破損してはいるが、ディスクそのものは機能するレベルを指すものとする。なお本実施形態係るディスクアレイ装置の基本構成は図１と同じものとする。
【００５２】
ディスクアレイコントローラ１０１に接続されたＲＡＩＤ５を構成するディスク（ディスク１４２，１４３，１４４）の中の一つに障害が発生した場合に、本実施形態に係るディスクアレイ装置が行う処理について、図４に示す同処理のフローチャートを参照して説明する。
【００５３】
ステップＳ４０１〜ステップＳ４０９までの各ステップの処理は、上記ステップＳ２０１〜ステップＳ２０９までの各ステップの処理と同じであるため、その詳細な説明は省略する。
【００５４】
ＲＡＩＤを構成するディスクに障害が発生し（ステップＳ４０１）、装置にＦｒｅｅディスクが存在する場合（ステップＳ４０９）、障害が発生したＲＡＩＤディスクの空き容量と、Ｆｒｅｅディスクの使用容量とを比較し（ステップＳ４１０）、ＲＡＩＤディスクの空き容量の方が大きければ、Ｆｒｅｅディスクを書き込み禁止とした後、Ｆｒｅｅディスクの内容（即ち、使用しているデータ）をＲＡＩＤディスクにコピーし、コピー後、Ｆｒｅｅディスクが保持する全てのデータを消去する（ステップＳ４１１）。このようにすることで、Ｆｒｅｅディスクを第１の実施形態におけるＦｒｅｅディスクと同様に、「使用されていないディスク」とすることができる。そしてステップＳ４１２，Ｓ４１３ではステップＳ２１１，Ｓ２１２と同様に、Ｆｒｅｅディスクの状態を「なし」に設定し（ステップＳ４１２）、ＦｒｅｅディスクをＡＲＹ１のスペアディスクとしてディスク管理テーブル１２１を変更する（ステップＳ４１３）。
【００５５】
以降の処理は第１の実施形態と同じであるが最後に、ステップＳ４１１でＲＡＩＤディスクにコピーされたデータをＦｒｅｅディスクに戻す処理を行う。
【００５６】
以上の説明により、本実施形態に係るディスクアレイ装置によって、Ｆｒｅｅディスクが使用されている場合でも、特定の状況のみに使用され、比較的使用頻度の低いスペアディスクを予め設けなくても、必要に応じてスペアディスクとして機能するディスクを用意することができるので、結果としてディスク全体の使用効率を向上させることができる。
【００５７】
［他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
【００５８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることが出来る。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００６１】
【発明の効果】
以上説明したように、本発明によって、接続されたディスクの使用効率を向上させることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るディスクアレイ装置の基本構成を示すブロック図である。
【図２】ディスクアレイコントローラ１０１に接続されたＲＡＩＤ５を構成するディスク（ディスク１４２，１４３，１４４）の中の一つに障害が発生した場合に、本発明の第１の実施形態に係るディスクアレイ装置が行う処理のフローチャートである。
【図３】図３に示したフローチャートに従った処理の進行に伴って書き換えられるディスク管理テーブル１２１の状態遷移を示す図である。
【図４】ディスクアレイコントローラ１０１に接続されたＲＡＩＤ５を構成するディスク（ディスク１４２，１４３，１４４）の中の一つに障害が発生した場合に、本発明の第２の実施形態に係るディスクアレイ装置が行う処理のフローチャートである。
【図５】従来のディスクアレイ装置の基本構成を示すブロック図である。
【図６】図５に示したディスクアレイ装置が行う回復処理のフローチャートである。
【図１】
2004021318.tif 000003
【図２】
2004021318.tif 000004
【図３】
2004021318.tif 000005
【図４】
2004021318.tif 000006
【図５】
2004021318.tif 000007
【図６】
2004021318.tif 000008