(57)【要約】【課題】ディスク容量の使用許容範囲を設けてディスクアレイの使用性を向上させる。【解決手段】１つの論理ディスクを複数の物理ディスクから構築し、データを冗長化して前記論理ディスクに記憶するディスクアレイ制御装置において、前記論理ディスクを構成する複数の物理ディスクの構成を管理するディスク構成管理部と、前記複数の物理ディスクのディスク容量を取得し、取得した複数のディスク容量のうち、最小のディスク容量を基準にして全てのディスク容量の使用許容範囲を設定するディスク容量設定部とを有することにより、上記課題を解決する。【選択図】図４
2009238003.tif 000002
【特許請求の範囲】
【請求項１】
１つの論理ディスクを複数の物理ディスクから構築し、データを冗長化して前記論理ディスクに記憶するディスクアレイ制御装置において、
前記論理ディスクを構成する複数の物理ディスクの構成を管理するディスク構成管理部と、
前記複数の物理ディスクのディスク容量を取得し、取得した複数のディスク容量のうち、最小のディスク容量を基準にして全てのディスク容量の使用許容範囲を設定するディスク容量設定部とを有することを特徴とするディスクアレイ制御装置。
【請求項２】
前記複数のディスクのうち、少なくとも１つの故障を検知する故障ディスク検知部と、
前記故障ディスク検知部により検知された故障ディスクに対して予め設定された予備ディスクを割り当てて論理ディスクの再構築を行うディスク再構築部とを有することを特徴とする請求項１に記載のディスクアレイ制御装置。
【請求項３】
前記ディスク再構築部は、
前記予備ディスクのディスク容量を取得し、取得したディスク容量と、前記ディスク容量設定部にて設定されたディスク容量の使用許容範囲とを比較して、前記予備ディスクのディスク容量が前記使用許容範囲内に含まれる場合に、前記予備ディスクを用いて論理ディスクの再構築を行うことを特徴とする請求項１又は２に記載のディスクアレイ制御装置。
【請求項４】
１つの論理ディスクを複数の物理ディスクから構築し、データを冗長化して前記論理ディスクに記憶するディスクアレイ制御方法において、
前記論理ディスクを構成する複数の物理ディスクの構成を管理するディスク構成管理ステップと、
前記複数の物理ディスクのディスク容量を取得し、取得した複数のディスク容量のうち、最小のディスク容量を基準にして全てのディスク容量の使用許容範囲を設定するディスク容量設定ステップとを有することを特徴とするディスクアレイ制御方法。
【請求項５】
前記複数のディスクのうち、少なくとも１つの故障を検知する故障ディスク検知ステップと、
前記故障ディスク検知ステップにより検知された故障ディスクに対して予め設定された予備ディスクを割り当てて論理ディスクの再構築を行うディスク再構築ステップとを有することを特徴とする請求項４に記載のディスクアレイ制御方法。
【請求項６】
前記ディスク再構築ステップは、
前記予備ディスクのディスク容量を取得し、取得したディスク容量と、前記ディスク容量設定ステップにて設定されたディスク容量の使用許容範囲とを比較して、前記予備ディスクのディスク容量が前記使用許容範囲内に含まれる場合に、前記予備ディスクを用いて論理ディスクの再構築を行うことを特徴とする請求項４又は５に記載のディスクアレイ制御方法。
【請求項７】
請求項４乃至６の何れか１項に記載のディスクアレイ制御方法をコンピュータにより実行させるためのディスクアレイ制御プログラム。
【請求項８】
請求項７に記載のディスクアレイ制御プログラムが記録されたコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体に係り、特に、ディスク容量の使用許容範囲を設けてディスクアレイの使用性を向上させるためのディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来、複数の物理ディスクを１つの論理ドライブとして構築し、それらの複数の物理ディスクに、データ損失がないようにデータを冗長化して記憶するディスク装置として、例えば、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ（Ｉｎｄｅｐｅｎｄｅｎｔ）  Ｄｉｓｋｓ）が知られている。
【０００３】
冗長化構成のＲＡＩＤでは、複数の物理ディスクのうち、何れかのディスクに障害が発生してデータを読み出すことができなくなった場合でも、他の物理ディスクから読み出されるデータにより、データを復旧することができる。
【０００４】
なお、上述した冗長化構成のディスク装置では、物理ディスクに障害が発生すると、データの読み出しは可能なものの、データの冗長化は失われることになる。したがって、このような事態に備えて、ディスク装置は、論理ディスクを構成する物理ディスクの他に、スペアとして定義された物理ディスクを有している。また、ディスク装置は、論理ディスクを構成する物理ディスクに障害が発生し、データの冗長化が失われると、スペア（予備）として定義された物理ディスクに、障害が発生した物理ディスクが記憶していた内容を記憶させて、冗長化を回復する。このような機能は、ホットスワップ機能と呼ばれている。
【０００５】
また、ＲＡＩＤのレベルは、例えばＲＡＩＤ０〜ＲＡＩＤ６等があり、ＲＡＩＤ制御装置やソフトウェアによって使用できるレベルが限定されている場合が多い。なお、ＲＡＩＤ０は、耐故障性のないディスクアレイ（ストライピング）を行うものであり、ＲＡＩＤ１は、複数台のハードディスクに同時に同一の内容を書き込む二重化（ミラーリング）を行うものであり、ＲＡＩＤ０とＲＡＩＤ１を組み合わせたＲＡＩＤシステムも存在する。
【０００６】
更に、ＲＡＩＤ２は、ビット単位での専用誤り訂正符号ドライブ（ＥＣＣ）を有する構成からなり、ＲＡＩＤ３は、ビット又はバイト単位での専用パリティドライブを有する構成からなり、ＲＡＩＤ４は、ブロック単位での専用パリティドライブを有する構成からなり、ＲＡＩＤ５は、ブロック単位でのパリティを分散記録する構成を有するものであり、ＲＡＩＤ６は、ブロック単位で複数パリティを分散記録する構成を有するものである。
【０００７】
ここで、例えば、ＲＡＩＤ５等において、ディスクアレイ装置を構成する複数のディスク装置のうち、ある１台のディスク装置が故障すると、ＲＡＩＤシステム内の制御装置（コントローラ）が残されている全てのディスク装置の中から冗長データを引き出し、もとのデータを再構成する。更に、この途中にディスクアレイ装置を構成する複数のディスクのうち、何れかのディスク装置が更に追加して故障した場合は冗長データが失われ、データ全体に致命的な影響がある。したがって、故障したディスク装置は、直ちに別のディスクユニットに交換して冗長データを生成し、冗長データを個ディスク間に分散してデータを再構築しなければならない。
【０００８】
また、例えばＲＡＩＤ１の場合には、新しいディスクユニットにデータをコピーしなければならない。このとき、故障前のディスクの容量よりも新しいディスクの方が容量が少なかった場合には、容量不足のため正しい再構築ができない。したがって、例えば物理ディスクの使用可能な容量の全てにデータが入っているＲＡＩＤシステムの場合、何れかのディスクを他の容量の小さいディスクに交換すると、データを全部保存しきれなくなる恐れがある。そこで、このような場合には、ＲＡＩＤシステムの制御装置においてデータ容量が減少するようなディスクとはディスク交換を許可せず、ユーザに対してエラーメッセージ等を表示してシステムの稼働を停止してしまう。
【０００９】
したがって、停止することがないように、従来では、その障害（故障）の発生したディスクドライブの容量よりも小さな容量の複数のスペアディスクドライブに、分散してデータを復元させることが可能なことを特徴とする冗長性を有するディスク記憶装置が存在する（例えば、特許文献１参照。）。
【特許文献１】特開２００２−２９７３２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述の構成にした場合には、現在使用中のディスクの容量よりも大きいスペアディスクを用意して置かなければならず、無駄な空き容量が発生してしまい、運用上好ましくない。
【００１１】
また、例えば、製造メーカーが公表しているディスクの仕様では、容量２５０ＧＢｙｔｅと記載されているディスクであっても、ディスクの内部構造に違いにより、実際に使用できる論理ブロックアドレスが、機種毎又は同一機種でも製品バージョン等によって異なっている。
【００１２】
具体的に説明すると、例えばＭａｘｔｏｒ社製の全容量が２５０ＧＢｙｔｅと仕様で示されたＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）に対して、機種名「７Ｙ２５０Ｍ」では論理ブロックアドレス（ＬＢＡ：Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）が４８８３９７１６８ブロックであり、機種名「４Ａ２５０Ｊ」では論理ブロックアドレスが４９０２３４７５２ブロックである。これは、ディスクの内部構造等の違い等に起因するものであるが、何れも表記上では公称容量が２５０ＧＢでありながら、ＬＢＡが異なる品種が複数種類存在している。
【００１３】
更に、近年では、ディスクユニットに限らずコンピュータ用部品ユニットのライフサイクルが短く、数ヶ月単位で新製品に変更されることが頻繁に起こり、全く同じ製品の入手が不可能となることがよく起きる。
【００１４】
したがって、ＲＡＩＤ装置に含まれるディスクユニットが故障した場合には、使用されているディスクユニットと全く同じか、それより大きいＬＢＡを持つディスクユニットを入手し、交換する必要がある。しかしながら、上述したように全く同じＬＢＡ数を持つ製品が入手できなかった場合には、そのＬＢＡ数が僅かでも元のディスクユニットよりも少なければＲＡＩＤシステム内の制御装置（コントローラ）が、新たに装着したディスクユニットの接続を拒否してしまう。
【００１５】
したがって、ユーザから見れば、例えば２５０ＧＢｙｔｅのディスクユニットが故障したので、２５０ＧＢｙｔｅと表示された同一の容量の新しいディスクユニットを購入したものの、上述した理由でディスク制御装置により接続を拒否され、購入したディスクユニットが使用できないという経済的損失を被ることになる。
【００１６】
本発明は、上記の問題点に鑑みてなされたものであって、ディスク容量の使用許容範囲を設けてディスクアレイの使用性を向上させるためのディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１８】
請求項１に記載された発明は、１つの論理ディスクを複数の物理ディスクから構築し、データを冗長化して前記論理ディスクに記憶するディスクアレイ制御装置において、前記論理ディスクを構成する複数の物理ディスクの構成を管理するディスク構成管理部と、前記複数の物理ディスクのディスク容量を取得し、取得した複数のディスク容量のうち、最小のディスク容量を基準にして全てのディスク容量の使用許容範囲を設定するディスク容量設定部とを有することを特徴とする。
【００１９】
請求項１記載の発明によれば、ディスク容量の使用許容範囲を設けてディスクアレイの使用性を向上させることができる。
【００２０】
請求項２に記載された発明は、前記複数のディスクのうち、少なくとも１つの故障を検知する故障ディスク検知部と、前記故障ディスク検知部により検知された故障ディスクに対して予め設定された予備ディスクを割り当てて論理ディスクの再構築を行うディスク再構築部とを有することを特徴とする。
【００２１】
請求項２記載の発明によれば、迅速にディスク故障を把握し、新たなディスクを割り当てることができる。
【００２２】
請求項３に記載された発明は、前記ディスク再構築部は、前記予備ディスクのディスク容量を取得し、取得したディスク容量と、前記ディスク容量設定部にて設定されたディスク容量の使用許容範囲とを比較して、前記予備ディスクのディスク容量が前記使用許容範囲内に含まれる場合に、前記予備ディスクを用いて論理ディスクの再構築を行うことを特徴とする。
【００２３】
請求項３記載の発明によれば、購入したディスクユニットが使用できないという経済的損失を被ることがなく、容量制限機能を設けてディスクアレイの使用性を向上させることができる。
【００２４】
請求項４に記載された発明は、１つの論理ディスクを複数の物理ディスクから構築し、データを冗長化して前記論理ディスクに記憶するディスクアレイ制御方法において、前記論理ディスクを構成する複数の物理ディスクの構成を管理するディスク構成管理ステップと、前記複数の物理ディスクのディスク容量を取得し、取得した複数のディスク容量のうち、最小のディスク容量を基準にして全てのディスク容量の使用許容範囲を設定するディスク容量設定ステップとを有することを特徴とする。
【００２５】
請求項４記載の発明によれば、ディスク容量の使用許容範囲を設けてディスクアレイの使用性を向上させることができる。
【００２６】
請求項５に記載された発明は、前記複数のディスクのうち、少なくとも１つの故障を検知する故障ディスク検知ステップと、前記故障ディスク検知ステップにより検知された故障ディスクに対して予め設定された予備ディスクを割り当てて論理ディスクの再構築を行うディスク再構築ステップとを有することを特徴とする。
【００２７】
請求項５記載の発明によれば、迅速にディスク故障を把握し、新たなディスクを割り当てることができる。
【００２８】
請求項６に記載された発明は、前記ディスク再構築ステップは、前記予備ディスクのディスク容量を取得し、取得したディスク容量と、前記ディスク容量設定ステップにて設定されたディスク容量の使用許容範囲とを比較して、前記予備ディスクのディスク容量が前記使用許容範囲内に含まれる場合に、前記予備ディスクを用いて論理ディスクの再構築を行うことを特徴とする。
【００２９】
請求項６記載の発明によれば、購入したディスクユニットが使用できないという経済的損失を被ることがなく、容量制限機能を設けてディスクアレイの使用性を向上させることができる。
【００３０】
請求項７に記載された発明は、請求項４乃至６の何れか１項に記載のディスクアレイ制御方法をコンピュータにより実行させるためのディスクアレイ制御プログラムである。
【００３１】
請求項７記載の発明によれば、ディスク容量の使用許容範囲を設けてディスクアレイの使用性を向上させることができる。また、プログラムをインストールすることにより、容易にディスクアレイ制御処理を実現することができる。
【００３２】
請求項８に記載された発明は、請求項７に記載のディスクアレイ制御プログラムが記録されたコンピュータ読み取り可能な記録媒体である。
【００３３】
請求項８記載の発明によれば、記録媒体により他の複数のコンピュータに容易にディスクアレイ制御プログラムをインストールすることができる。また、ディスクアレイ制御プログラムをインストールすることで、容易にディスクアレイ制御処理を実現することができる。
【発明の効果】
【００３４】
本発明によれば、ディスク容量の使用許容範囲を設けてディスクアレイの使用性を向上させることができる。
【発明を実施するための最良の形態】
【００３５】
＜本発明の概要＞
本発明は、容量のディスクを始めから１００％使い切るのではなく、例えば全体の９０〜９５％等、予め使用する許容範囲分のディスク容量を設定しておく。したがって、各メーカー毎等に異なる仕様に表記されたディスク容量と実際のディスク容量（ＬＢＡ等）との誤差により、予備ディスク（例えば、ホットスペア用のディスク）がディスクユニットを構成する他のディスクよりもある程度少ない場合であっても、システムが停止することを防止する。このように、ディスク容量の使用許容範囲を設けることにより、ディスクアレイの使用性を向上させる。ここで、本発明の概要について図を用いて説明する。
【００３６】
図１は、本発明の概要の一例を説明するための図である。図１に示すディスク例では、ＲＡＩＤディスクの構成として、例えば、ディスク０〜ディスク４の５つのディスク装置が存在し、そのうちのある１つのディスク（例えば、ディスク４）が予備ディスクであるとする。なお、これらのディスクは、ディスク制御装置（コントローラ）により制御されている。
【００３７】
また、図１に示すデータにおいては、Ａ０〜Ａ２，ＡＰ（データブロックＡ０〜Ａ２から生成した各データブロックのパリティ（誤り訂正符号データ））、Ｂ０〜Ｂ２、ＢＰ（データブロックＢ０〜Ｂ２から生成した誤り訂正符号データ）、Ｃ０〜Ｃ２，ＣＰ（データブロックＣ０〜Ｃ２から生成した誤り訂正符号データ）、Ｄ０〜Ｄ２，ＤＰ（データブロックＤ０〜Ｄ２から生成した誤り訂正符号データ）、Ｅ０〜Ｅ２，ＥＰ（データブロックＥ０〜Ｅ２から生成した誤り訂正符号データ）を有している。つまり、図１では、ディスク構成の一例として複数のハードディスクに誤り訂正符号データと共に分散させて記録するＲＡＩＤ５の構成を示している。
【００３８】
ここで、パリティを使用してデータを復元する際、通常では、図１（ａ）に示すように、ホットスペアとして待機している予備用のディスク４を除いてディスク０〜ディスク３に対してデータがブロック毎に分散して蓄積されている。ここで、ディスク制御装置は、例えばディスク３が故障したことを検知すると、図１（ｂ）に示すように、予備ディスク４に対し、ディスク０〜ディスク２に残されたパリティ（具体的には、ＡＰ、ＣＰ、ＤＰ、ＥＰ）を用いて元のデータを計算して予備ディスク４に書き込む（スワップ）。
【００３９】
ここで、図１（ｃ）に示すように、ディスク３よりもディスク４の容量が小さい場合、全てのデータを復元して書き込むことができない。そのため、ディスク制御装置によって、小さいディスクユニットの接続は拒否される。
【００４０】
したがって、本発明では、図１（ｄ）に示すように、各ディスクユニットに所定のディスク使用量の制限を予め設定しておく。このように、各ディスクユニットに使用量の制限を設けることで、図１（ｅ）に示すように、全体の記憶容量は小さくなるが他のディスクユニットよりもある程度小さな容量のディスクユニットをホットスペア（予備）として追加することができる。また、スペック値のディスク容量と実際のディスク容量との誤差がある場合にも対応することができる。これにより、本発明では、容量制限機能を設けてディスクアレイの使用性を向上させることができる。
【００４１】
次に、本発明におけるディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体を好適に実施した形態について、図面を用いて説明する。
【００４２】
＜ディスクアレイ制御システム：第１の実施形態＞
図２は、ディスクアレイ制御システムの第１の実施形態の一例を示す図である。図２に示すディスクアレイ制御システム１０は、外部記憶装置１１と、ホスト装置１２とにより構成されている。また、外部記憶装置１１は、複数のディスク装置２１−１〜２１−ｎと、ディスクアレイ制御装置２２と、インタフェース装置２３とを有するよう構成されている。
【００４３】
また、ホスト装置１２は、入力装置３１と、出力装置３２と、ドライブ装置３３と、補助記憶装置３４と、メモリ装置３５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６と、ネットワーク接続装置３７とを有するよう構成されており、これらはバスＢにより相互にデータの送受信が可能な状態で接続されている。
【００４４】
まず、外部記憶装置１１において、複数のディスク装置２１−１〜２１−ｎは、例えばＲＡＩＤ等のような複数のハードディスクを組み合わせることで、仮想的な一台のハードディスクとして運用するために冗長化データベースを構成するディスクユニットがディスクアレイ制御装置２２の管理のもとに配列されている。
【００４５】
ディスクアレイ制御装置２２は、物理的なディスク装置２１−１〜２１−ｎの全ての稼働状況を管理する。具体的には、ディスクアレイ制御装置２２は、各ディスク装置２１−１〜２１−（ｎ−１）のディスクユニットに対して、パリティの生成やデータの振り分けを行う。このとき、ディスク２１−ｎは、ホットスペア用として待機させている予備ディスクを示す。なお、予備ディスクの台数は、本発明においては１台に限定されるものではなく、少なくとも１台が設けられていればよい。
【００４６】
また、ディスクアレイ制御装置２２は、ディスク構成等を管理し、冗長化を行って、何れかのディスク装置が不能（故障）になった場合、対象とするディスクの代わりに予備ディスク装置に対して、他の故障していないディスク装置に含まれているパリティデータから、故障したディスクに格納されていたディスクの再構築を行う。
【００４７】
また、ディスクアレイ制御装置２２は、仕様では同一のディスク容量でも、ディスクの内部構造等の違いやディスク装置の機種の違い等の技術的或いは将来的なものにより容量が変わることで、故障したディスクと交換される予備ディスクに対してシステムが容量不足を判断されないように、ＲＡＩＤを構成する各ディスクの使用できる許容範囲（使用許容範囲）を設ける。具体的には、ディスクユニットを構成する複数のディスク装置に対して、それぞれのディスクの９０〜９５％まで使用可能とするといった容量制限を設ける。つまり、それぞれのディスク２１−１〜２１−（ｎ−１）が同一の容量となるように、ディスク毎に９０〜９５％の範囲内で調整される。なお、この場合、仕様上では、どのディスクも同一の容量（例えば、２５０ＧＢｙｔｅ等）で使用される。また、ディスクユニットを構成する複数のディスク装置のうち、最小のディスク容量を基準として、他のディスク装置のディスク容量を設定してもよい。
【００４８】
更に、上述の内容を組み合わせて、例えばＲＡＩＤを構成する複数のディスクのうち、最小のディスク容量を基準として、そのディスクの容量の９０〜９５％の範囲に属する値と同等の値となるように各ディスクのディスク容量の許容範囲を設定してもよい。
【００４９】
なお、上述した複数のディスク装置における使用許容範囲は、バイトを基準にしてもよく、また論理ブロックを基準にしてもよい。なお、ディスクアレイ制御装置２２の詳細については後述する。
【００５０】
インタフェース装置２３は、ホスト装置１２とのデータの送受信を行うための装置である。具体的には、インタフェース装置２３は、ホスト装置１２本体と、例えばＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）等で接続されている場合には、ＳＣＳＩケーブルによりホスト装置１２と接続される。
【００５１】
また、インタフェース装置２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）コネクタや、ＩＥＥＥ１３９４コネクタ等により接続する場合には、それに対応したインタフェースを有する。また、インタフェース装置２３は、ホスト装置１２本体と、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信ネットワークを介して相互にデータの送受信が可能な状態で接続されてもよい。
【００５２】
次に、ホスト装置１２において、入力装置３１は、ユーザが操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザからのプログラム等の処理の実行指示等、各種操作信号を入力する。出力装置３２は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、ＣＰＵ３６が有する制御プログラムにより実行経過や結果等を表示することができる。
【００５３】
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体３８等により提供される。プログラムを記録した記録媒体３８は、ドライブ装置３３にセット可能であり、記録媒体３８に含まれる実行プログラムが、記録媒体３８からドライブ装置３３を介して補助記憶装置３４にインストールされる。
【００５４】
また、ドライブ装置３３は、本発明に係る実行プログラムを記録媒体３８に記録することができる。これにより、その記録媒体３８を用いて、他の複数のコンピュータに容易にインストールすることができ、容易に印刷処理における情報処理を実現することができる。
【００５５】
補助記憶装置３４は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラム等を蓄積し、必要に応じて入出力を行うことができる。また、メモリ３５は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等からなり、本発明における処理に必要となる各種データの保存等を行う。
【００５６】
ＣＰＵ３６は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラム、及びメモリ３５により読み出され格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して、ディスクアレイ制御処理における情報処理を実現することができる。また、プログラムの実行中に必要な各種情報等は、補助記憶装置３４から取得することができ、また格納することもできる。
【００５７】
ネットワーク接続装置３７は、上述したＳＣＳＩケーブルやＵＳＢケーブル、ＬＡＮケーブル等により通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラムを他の端末等に提供することができる。
【００５８】
つまり、上述した第１の実施形態は、外部記憶装置１１をホスト装置１２により管理するＲＡＩＤシステムの一例を示している。ディスクアレイ制御システム１０は、データの読み出し時には、ディスクユニットから読み出したデータ（０〜（ｎ−１）、うち１つ以上はパリティ）を使ってエラー訂正を行い、インタフェースを通じてコンピュータ本体（ホスト装置１２）へ送る。
【００５９】
ここで、ディスクアレイ制御システム１０は、ｎ台あるディスクユニットのうち、少なくとも１台はホットスペア（予備ディスク）であり、故障時に、その故障ディスクと交換させるために待機させておく。
【００６０】
ここで、ディスクアレイ制御システム１０は、ディスクユニットのうち、何れか１台が故障した場合、ホットスペアとしての予備ディスクの容量を確認し、予備ディスクのディスク容量が稼働中の全てのディスクの容量の許容使用範囲内にある場合、ディスクアレイ制御装置２２が故障ユニットを（論理的に）切り離し、他のユニットに残されたデータとパリティを使って故障ユニットに蓄積されていたデータを再生し、ホットスワップユニットである予備ディスクに書き込む。以後、読み出し及び書き込みは故障ユニットの代わりに予備ディスクを使用する。
【００６１】
上述した第１の実施形態におけるシステム構成により、ディスク容量の使用許容範囲を設けることにより、使用できるディスクの種類を条件を緩和させることができる。そのため、ディスクアレイの使用性を向上させることができる。
【００６２】
＜ディスクアレイ制御システム：第２の実施形態＞
ここで、上述した第１の実施形態におけるシステム構成では、ＲＡＩＤディスクを構成する外部記憶装置１１と、ホスト装置１２とを別体の構成としたが、本発明においてはこの限りではなく、例えば外部記憶装置１１とホスト装置１２とを一体としたディスクアレイ制御システムとしてもよい。以下に、上述したシステム構成を第２の実施形態として説明する。
【００６３】
図３は、ディスクアレイ制御システムの第２の実施形態の一例を示す図である。なお、上述した第１の実施形態と略同様の処理を行う機能構成については、同名の機能構成とし、同一の符号を付与するものとする。
【００６４】
図３に示すディスクアレイ制御システム４０は、複数のディスク装置２１−１〜２１−ｎと、ディスクアレイ制御装置２２と、入力装置３１と、出力装置３２と、ドライブ装置３３と、補助記憶装置３４と、メモリ装置３５と、ＣＰＵ３６と、ネットワーク接続装置３７、記録媒体３８とを有するよう構成されており、これらはバスＢにより相互にデータの送受信が可能な状態で接続されている。
【００６５】
つまり、第２の実施形態におけるディスクアレイ制御システム４０では、ＳＣＳＩ等のインタフェース装置が存在せず、ディスクアレイ制御装置２２と他の機能構成とのデータのやり取りは、内部バスを通じて行う。なお、一般的には、内部バスとしてＰＣＩバス等を用いることができる。
【００６６】
上述した第２の実施形態におけるシステム構成により、第１の実施形態と同様に、ディスク容量の使用許容範囲を設けることで、使用できるディスクの種類を条件を緩和させることができる。そのため、ディスクアレイの使用性を向上させることができる。
【００６７】
＜ディスクアレイ制御装置２２：機能構成例＞
次に、上述したディスクアレイ制御装置２２における具体的な機能構成例について図を用いて説明する。図４は、本実施形態におけるディスクアレイ制御装置の機能構成の一例を示す図である。
【００６８】
図４に示すディスクアレイ制御装置２２は、ディスク構成管理部５１と、ディスク容量管理部５２と、ディスク容量設定部５３と、故障ディスク検出部５４と、ディスク再構築部５５とを有するよう構成されている。
【００６９】
ディスク構成管理部５１は、ＲＡＩＤを構成するディスクの数や、各ディスク毎に設定された使用許容範囲等の設定を行う。また、ディスク構成管理部５１は、どのディスクを幾つホットスペアにするか、ディスクの種類、各ディスクに格納されるデータの内容、又は、ＲＡＩＤレベル等の各ディスク構成内容を管理する。
【００７０】
また、ディスク構成管理部５１は、ホットスペアのディスクが使用できないディスクである場合等のエラー発生時に、その旨を示すエラーメッセージを生成し、画面表示や音声出力を行うための処理を行う。
【００７１】
更に、ディスク構成管理部５１は、故障ディスク検出部５４から得られる故障ディスクがあることを知らせる通知を受けて、ＲＡＩＤを構成するディスクの中から、故障を検出したディスク装置を切り離す。また同時に、ディスク構成管理部５１は、他のディスク装置に格納されたパリティから冗長データを生成し、正常なホットスペア用の予備ディスクに冗長データを格納する。
【００７２】
また、ディスク容量管理部５２は、各ディスク装置の容量を管理する。つまり、ディスク容量管理部５２は、予め設定されたディスクの使用可能な容量を超えないようにディスク容量制御を行う。また、ディスク容量管理部５２は、ＲＡＩＤとして構成される複数のディスク装置についてのディスク容量を取得し、それを蓄積して、それぞれのディスクの管理を行う。
【００７３】
また、ディスク容量設定部５３は、ディスク容量管理部５２により取得された各ディスクのディスク容量に基づいて、各ディスクが同一の容量となるように使用許容範囲のディスク容量を設定する。具体的には、ディスク容量設定部５３は、例えばＲＡＩＤを構成する複数のディスクのうち、最小のディスク容量を基準として、そのディスクの容量の９０〜９５％の範囲に属する値と同等の値となるようにディスク容量の許容範囲を設定する。
【００７４】
なお、この許容範囲は、上述した範囲に限定されるものではなく、例えば、２５０ＧＢｙｔｅの仕様のディスクに対して２００ＧＢｙｔｅとして容量を指定したり、論理ブロックアドレス（ＬＢＡ）数を指定してもよい。
【００７５】
具体的には、仕様（スペック）に表記されたディスク容量と実際のディスク容量との誤差を含む程度に設定することが好ましい。つまり、各ディスクの全容量にデータを格納するのではなく、所定の冗長領域を持たせる。これにより、ディスクが交換又は追加された場合にも、その許容範囲内で容易に対応することができる。
【００７６】
これにより、本発明によりディスク容量が実際に仕様等に記載された内容と誤差がある場合にも他のディスク装置の仕様許容範囲内であれば、使用することができる。
【００７７】
故障ディスク検出部５４は、ＲＡＩＤを構成する各ディスクに故障があるかどうかの検出を行う。また、故障ディスク検出部５４は、故障したディスクを表す故障ディスク通知をディスク構成管理部５１に出力する。
【００７８】
また、ディスク再構築部５５は、例えば、ＲＡＩＤのあるディスクが故障した際、ホットスペア用の予備ディスクを、故障したディスクと置き換えを行い、データの再構築を行う。つまり、ディスク再構築部５５は、予備ディスクのディスク容量を確認し、その容量に合うように、他のディスクの容量を調整してデータの再構築を行い、そのデータをディスク構成管理部５１に出力して管理させる。
【００７９】
このように、本実施形態におけるディスクアレイ制御装置２２では、ディスク容量を１００％使い切るのではなく、各メーカー毎等に異なるスペック（仕様）にしめされたディスク容量と実際のディスク容量との誤差により、予備ディスクが使用できなくなることを防止するために、予め設定された許容範囲分のディスク容量を空けて、他のディスク容量と同一の容量を設定する。これにより、ディスク容量の使用許容範囲を設けることで、ディスクアレイの使用性を向上させることができる。
【００８０】
＜ディスクアレイ制御処理手順＞
次に、本実施形態におけるディスクアレイ制御処理手順について、フローチャートを用いて説明する。図５は、本実施形態におけるディスクアレイ制御処理手順の一例を示すフローチャートである。図５に示すフローチャートにおいて、まずＲＡＩＤを構成する複数のディスクのうち、全てのディスクの容量を確認し（Ｓ０１）、例えば最小の容量のディスクを基準として、予め設定された使用許容範囲を設定する（Ｓ０２）。
【００８１】
次に、使用許容範囲内でディスクをＲＡＩＤ構成で使用する（Ｓ０３）。ここで、何れかのディスクで故障があるか否かを判断し（Ｓ０４）、故障がある場合（Ｓ０４において、ＹＥＳ）、まずホットスペアのディスク容量を確認する（Ｓ０５）。次に、ホットスペアのディスク容量は、最小容量のディスクの許容範囲内にあるか否かを判断する（Ｓ０６）。
【００８２】
ここで、ホットスペアのディスク容量は、最小容量のディスクの許容範囲内にある場合（Ｓ０６において、ＹＥＳ）、そのホットスペアディスクを使用して（Ｓ０７）、ホットスワップ処理を行い、データの再構築を行う（Ｓ０８）。また、Ｓ０６の処理において、ディスクの許容範囲内にない場合（Ｓ０６において、ＮＯ）、管理者等にエラーに対応する所定のエラーメッセージを通知したり、システムを停止させる等のエラー処理を行う（Ｓ０９）。
【００８３】
また、Ｓ０４の処理において、何れかのディスクで故障がない場合（Ｓ０４において、ＮＯ）、又はＳ０８の処理或いはＳ０９の処理が終了後、ディスクアレイ制御処理を終了するか否かを判断し（Ｓ１０）、ディスクアレイ制御処理を終了しない場合（Ｓ１０において、ＮＯ）、Ｓ０３に戻り、後続の処理を継続して行う。また、ディスクアレイ制御処理を終了する場合（Ｓ１０において、ＹＥＳ）、処理を終了する。
【００８４】
上述したように、ディスクアレイ制御処理を行うことにより、ディスク容量の使用許容範囲を設ける等の容量制限機能を設けてディスクアレイの使用性を向上させることができる。また、記録媒体により他の複数のコンピュータに容易にディスクアレイ制御プログラムをインストールすることができる。また、ディスクアレイ制御プログラムをインストールすることで、容易にディスクアレイ制御処理を実現することができる。
【００８５】
上述したように本発明によれば、ディスク容量の使用許容範囲を設ける等の容量制限機能を設けてディスクアレイの使用性を向上させることができる。なお、上述した実施形態では、ＲＡＩＤ５のディスクアレイ構成を用いて説明しているが、本発明においてはこの限りではなく、他のＲＡＩＤ構成（例えば、ＲＡＩＤ６等）にも適用することができ、更に複数のディスクを並列に配置し、それらにデータの入出力を行うような構成でＲＡＩＤに限定されなくてもよい。
【００８６】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【００８７】
【図１】本発明の概要の一例を説明するための図である。
【図２】ディスクアレイ制御システムの第１の実施形態の一例を示す図である。
【図３】ディスクアレイ制御システムの第２の実施形態の一例を示す図である。
【図４】本実施形態におけるディスクアレイ制御装置の機能構成の一例を示す図である。
【図５】本実施形態におけるディスクアレイ制御処理手順の一例を示すフローチャートである。
【符号の説明】
【００８８】
１０，４０  ディスクアレイ制御システム
１１  外部記憶装置
１２  ホスト装置
２１  ディスク装置
２２  ディスクアレイ制御装置
２３  インタフェース装置
３１  入力装置
３２  出力装置
３３  ドライブ装置
３４  補助記憶装置
３５  メモリ装置
３６  ＣＰＵ
３７  ネットワーク接続装置
３８  記録媒体
【図１】
2009238003.tif 000003
【図２】
2009238003.tif 000004
【図３】
2009238003.tif 000005
【図４】
2009238003.tif 000006
【図５】
2009238003.tif 000007