(57)【要約】【課題】ユニット内の複数のドライブを別々に取り扱い、自由にＲＡＩＤグループを構成しても、ユニットを容易に交換することができるストレージ装置を提供する。【解決手段】複数のドライブが着脱可能に搭載されたユニットが複数個着脱可能に実装されている複数のドライブ筐体と、ディスク制御部が設けられているコントローラ筐体と、を含むストレージ装置において、前記ディスク制御部は、前記複数ディスクによってＲＡＩＤを作成するＲＡＩＤグループ作成部と、前記ユニットの交換の際に、前記ユニットに搭載されたディスクのデータを再構築又は複製することによって、当該ユニットが交換可能になったことを報知する交換指示部と、を有する。【選択図】  図１
2005293547.tif 000002
【特許請求の範囲】
【請求項１】
複数のドライブが着脱可能に搭載されたユニットが複数個着脱可能に実装されている複
数のドライブ筐体と、ディスク制御部が設けられているコントローラ筐体と、を含み、複
数の前記ユニットに搭載されたディスクによってＲＡＩＤが構成されるストレージ装置に
おいて、
前記ディスク制御部は、
前記ドライブの状態を記録するドライブ状態管理テーブルと、前記ＲＡＩＤグループの
状態を記録するＲＡＩＤグループ状態管理テーブルと、ＲＡＩＤによるデータ再構築処理
中か及びドライブ間のデータ複製処理中か否かを示すバックグラウンド処理数と、を保持
し、
前記ドライブの障害が検出されると、前記ドライブ状態管理テーブルの当該障害ドライ
ブの状態を「障害」に変更し、前記ＲＡＩＤグループ状態管理テーブルの当該障害ドライ
ブが属するＲＡＩＤグループの状態を「障害」に変更する障害検出部と、
当該障害ドライブが属するＲＡＩＤグループの冗長度が、設定される１以上の要求値よりも小さく、かつ０以上か否かを判定すると共に、当該障害ドライブが搭載されたユニットに搭載された他のドライブが属するＲＡＩＤグループの冗長度が、設定される１以上の要求値よりも小さく、かつ０以上か否かを判定する判定部と、
当該障害ドライブが属するＲＡＩＤグループの冗長度が、設定される１以上の要求値よりも小さく、かつ０以上であれば、当該障害ドライブが搭載されたユニット以外のユニットから検索されたスペアドライブの状態を「再構築」に変更し、当該スペアドライブに当該障害ドライブのデータを再構築し、この再構築処理中は前記バックグラウンド処理数に１を加算するデータ再構築部と、
当該他のドライブが属するＲＡＩＤグループの冗長度が設定される1以上の要求値よりも小さく、かつ０以上であれば、当該他のドライブが搭載されたユニット以外のユニットから検索されたスペアドライブの状態を「退避」に変更し、当該スペアドライブに当該他のドライブのデータを複製し、このデータ複製処理中は前記バックグラウンド処理数に１を加算するデータ複製部と、
前記バックグラウンド処理数に基づいて前記データ再構築部及び前記データ複製部によ
る処理が終了したか否かを判定し、これらの処理が終了すると、当該障害ドライブが搭載
されたユニット及び当該障害ドライブが交換可能になったことを報知する交換指示部と、
を有するストレージ装置。
【請求項２】
前記データ再構築部は、前記ユニットが装着された際に、前記ユニットに搭載されたド
ライブが属すべきＲＡＩＤグループの冗長度が正常時冗長度より小さければ、当該装着さ
れたユニットに搭載されたドライブに当該ＲＡＩＤグループのデータを再構築し、
前記交換指示部は、前記データ再構築処理に伴って、当該挿入されたユニットに関する
交換可能報知を停止する請求項１に記載のストレージ装置。
【請求項３】
複数のドライブが着脱可能に搭載されたユニットが複数個着脱可能に実装されている複
数のドライブ筐体と、ディスク制御部が設けられているコントローラ筐体と、を含み、複
数の前記ユニットに搭載されたディスクによってＲＡＩＤが構成されるストレージ装置に
おいて、
前記ディスク制御部は、前記複数ディスクによってＲＡＩＤを作成するＲＡＩＤグルー
プ作成部を有し
前記ＲＡＩＤグループ作成部は、
前記ユニット内の使用されていないスペアドライブ数ｓ、当該ＲＡＩＤグループに属す
る当該ユニット内のドライブ数ａ、及び当該ＲＡＩＤグループの冗長度ｒを取得する情報
取得部と、
当該ユニット取り外し処理に要するドライブ数（ａ−ｒ＋１）と当該ユニット取り外し処理に使用可能なスペアドライブ残数（全スペアドライブ数−ｓ）とを比較することによって、当該ユニットが取り外された場合にスペアドライブが不足するか否かを判定し、障害発生時のディスク交換可否を、ディスク交換を実行する前に判定する判定部と、を有し、
さらに前記ディスク制御部は、前記判定部によって前記スペアドライブが不足すると判
定された場合に、その旨を報知する報知部を有するストレージ装置。
【請求項４】
複数のドライブが着脱可能に搭載されたユニットが複数個着脱可能に実装されている複
数のドライブ筐体と、ディスク制御部が設けられているコントローラ筐体と、を含むスト
レージ装置において、
前記ディスク制御部は、
前記複数ディスクによってＲＡＩＤを作成するＲＡＩＤグループ作成部と、
前記ユニットの交換の際に、前記ユニットに搭載されたディスクのデータを再構築又は
複製することによって、当該ユニットが交換可能になったことを報知する交換指示部と、
を有するストレージ装置。
【請求項５】
前記ディスク制御部は、
前記ユニットの交換時に、障害が検出されている前記ユニット内のドライブが属するＲ
ＡＩＤグループの冗長度が所定値を維持しているか否かを判定する判定部と、
当該障害ドライブが属するＲＡＩＤグループの冗長度が所定値を維持していなければ、
当該障害ドライブが搭載されたユニット以外のユニットから検索された空きドライブに当
該障害ドライブのデータを再構築するデータ再構築部と、を有する請求項４に記載のスト
レージ装置。
【請求項６】
前記データ再構築部は、前記ユニットが装着された際に、前記ユニットに搭載されたド
ライブが属すべきＲＡＩＤグループの冗長度が正常時冗長度より小さければ、当該装着さ
れたユニットに搭載されたドライブに当該ＲＡＩＤグループのデータを再構築する請求項
５に記載のストレージ装置。
【請求項７】
前記ディスク制御部は、
前記ユニットの交換時に、障害が検出されていない前記ユニット内のドライブが属する
ＲＡＩＤグループの冗長度が所定値を維持しているか否かを判定する判定部と、
当該ドライブが属するＲＡＩＤグループの冗長度が所定値を維持していなければ、当該
他のドライブが搭載されたユニット以外のユニットから検索された空きドライブに当該他
のドライブのデータを複製するデータ複製部と、を有する請求項４に記載のストレージ装
置。
【請求項８】
前記ディスク制御部は、
ＲＡＩＤグループ作成時に、前記ユニット内の使用されていないスペアドライブ数、当
該ＲＡＩＤグループに属する当該ユニット内のドライブ数、及び当該ＲＡＩＤグループの
冗長度に基づいて、当該ユニットが取り外された場合にスペアドライブが不足するか否か
を判定する判定部を有する請求項４に記載のストレージ装置。
【請求項９】
前記ディスク制御部は、
前記ドライブの状態を記録するドライブ状態管理テーブルと、前記ＲＡＩＤグループの
状態を記録するＲＡＩＤグループ状態管理テーブルと、を保持し、
前記ドライブ状態管理テーブル及び前記ＲＡＩＤグループ状態管理テーブルに基づいて
、前記ドライブの状態及び前記ＲＡＩＤグループの状態を表示するための情報を出力する
情報出力部を有する請求項４に記載のストレージ装置。
【請求項１０】
前記交換指示部は、
前記ユニットに搭載されたドライブが交換可能になったことを報知するドライブ交換指
示表示部と、
前記ドライブ交換指示表示部の表示を制御するドライブ交換指示部と、
前記ユニットが前記ストレージ装置から取り外されても、前記ドライブ交換指示表示部
及び前記ドライブ交換指示部の動作に必要な電源を供給する電源部と、を前記ユニットに
備える請求項４に記載のストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤを構成するストレージ装置に関し、特に複数のドライブを一つのユ
ニットとし、該ユニットを複数実装したディスクアレイ装置に関する。
【背景技術】
【０００２】
省スペースでドライブを高密度実装する方法として、複数の物理ドライブを一つのユニ
ット（ディスクブレード）に搭載し、このユニットを複数実装するディスクアレイ装置が
提案されている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】特開平９−１６３４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前述した従来のディスクアレイ装置では一つのユニット内の複数のドライブを一つのド
ライブとして見せていた。しかし、このような構成では１ユニットを１ドライブとして取
り扱うため、１ユニット上に複数のＲＡＩＤグループを構成することができず、構成の自
由度が低いという問題があった。
【０００５】
さらに、１ユニット上に複数のＲＡＩＤグループを構成することは技術的には可能であ
るが、ユニットとユニット内のドライブとの関係を管理することは考慮されていなかった
ので、障害発生時にユニットを交換すると、他のＲＡＩＤグループにどのような影響が生
じるかが分からず、ユニットの保守交換が困難であった。
【０００６】
本発明は、ユニット内の複数のドライブを別々に取り扱い、自由にＲＡＩＤグループを
構成しても、ユニットを容易に交換することができるストレージ装置を提供することを目
的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数のドライブが着脱可能に搭載されたユニットが複数個着脱可能に実装さ
れている複数のドライブ筐体と、ディスク制御部が設けられているコントローラ筐体と、
を含むストレージ装置において、前記ディスク制御部は、前記複数ディスクによってＲＡ
ＩＤを作成するＲＡＩＤグループ作成部と、前記ユニットの交換の際に、前記ユニットに
搭載されたディスクのデータを再構築又は複製することによって、当該ユニットが交換可
能になったことを報知する交換指示部と、を有する。
【発明の効果】
【０００８】
本発明によると、一つのユニットに搭載された複数の物理ドライブを別々に取り扱うこ
とができ、自由にＲＡＩＤグループを組むことができる。また、ユニット毎の取り外し、
交換が容易になる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面を参照して説明する。
【００１０】
図１は、本発明の実施の形態のディスクアレイ装置の構成を示すブロック図である。
【００１１】
本発明の実施の形態のディスクアレイ装置１は、複数のドライブ筐体１０ａ、１０ｂ、
コントローラ筐体１９を含んで構成されている。ディスクアレイ装置１は、管理用ＬＡＮ
５を介して管理用端末装置２に接続されている。また、ディスクアレイ装置１は、ＳＡＮ
４を介して複数のＳＡＮホスト３に接続されている。
【００１２】
ドライブ筐体１０ａには、複数のユニット（ディスクブレード）１０１、１０２、１０
３、１０４・・・が実装されている。各ディスクブレードには複数（本実施の形態では４
台）のドライブが搭載されている。例えば、ディスクブレード１０１には、ディスクＡ０
〜Ａ３が搭載されている。ディスクブレード１０１等によってドライブ筐体１０に実装さ
れたディスクＡ０等は接続インターフェース１８０に接続され、ディスクアレイコントロ
ーラ１９１等との間でデータを送受信することができる。この接続インターフェース１８
０には、ＡＴＡ（AT Attachment）、ＳＡＳ（Serial Attached SCSI）、ファイバチャネル等のインターフェースを用いることができる。
【００１３】
コントローラ筐体１９には、ディスクアレイコントローラ１９１、１９２が設けられて
いる。ディスクアレイコントローラ１９１等では制御プログラムが動作しており、ディス
クＡ０等に対するデータの入出力を制御する。また、ディスクアレイ装置１に実装された
ディスクＡ０等によって構成されるＲＡＩＤの構成を管理する。また、コントローラ筐体
１９には、ディスクアレイコントローラ１９１、１９２が複数設けられており、ＳＡＮ４
との間で同時に多くのデータを入出力できるようにしている。
【００１４】
なお、装置構成によっては、ディスクアレイコントローラ１９１は単数でもよいし、ま
たコントローラ筐体１９とドライブ筐体１０ａとが一つの筐体となっていてもよい。
【００１５】
管理用端末装置２は、ＣＰＵ、メモリ、記憶装置、インターフェース、入力装置及び表
示装置が備わるコンピュータ装置である。管理用端末装置２では管理プログラムが動作し
ており、該管理プログラムによってディスクアレイ装置１の動作状態を把握し、ディスク
アレイ装置１の動作を制御する。なお、管理用端末装置２ではｗｅｂブラウザ等のクライ
アントプログラムが動作しており、ディスクアレイ装置１から供給される管理プログラム
（Common Gateway InterfaceやJava（登録商標）等）によってディスクアレイ装置１の動作を制御するようにしてもよい。
【００１６】
ＳＡＮホスト３は、ＣＰＵ、メモリ、記憶装置及びインターフェースが備わるコンピュ
ータ装置であり、ディスクアレイ装置１から提供されるデータを利用して、データベース
サービスやウェブサービス等を利用可能にする。
【００１７】
ＳＡＮ４は、例えばファイバチャネルプロトコルのような、データの転送に適するプロ
トコルで通信可能なネットワークである。
【００１８】
管理用ＬＡＮ５は、例えば、ＴＣＰ／ＩＰプロトコルによって、コンピュータ間でデー
タや制御情報を通信可能であり、例えばイーサネット（登録商標、以下同じ）が用いられ
る。
【００１９】
図２は、本発明の実施の形態のディスクアレイ装置の構成を示す外観図である。
【００２０】
本実施の形態のディスクアレイ装置１は、１９インチラック内に収容されており、ディ
スクアレイ装置１の上部には、ディスクを搭載したディスクブレードを複数収めたドライ
ブ筐体（エンクロージャ）が複数段設けられている。ドライブ筐体１０ａ〜１０ｉの背面
側には当該筐体内のドライブに電力を供給する電源ユニット（図示省略）と、接続インタ
ーフェース１８０が収められている。接続インターフェース１８０と各ディスクブレード
は、筐体内部に設けられた配線基板（バックプレーン）を介して物理的に接続され、図１
に示すように、ディスクアレイコントローラ１９１等や、ドライブ筐体１０ａ等と接続さ
れる。
【００２１】
ドライブ筐体の下方には、ディスクアレイコントローラ１９１、１９２を収めたコント
ローラ筐体１９、及び、当該ディスクアレイコントローラを冷却するための冷却用ファン
ユニットが設けられている。
【００２２】
図３は、本発明の実施の形態のディスクアレイ装置を構成するドライブ筐体１０ａの斜
視図である。
【００２３】
ドライブ筐体１０ａには複数のディスクブレード１０１〜１１３が装着可能である。こ
のディスクブレードはドライブ筐体に設けられたレールに沿ってスライドすることによっ
てドライブ筐体に収められる。
【００２４】
ディスクブレード１０１〜１１３の上部のドライブ筐体１０ａには、ユニット交換指示
ＬＥＤ１２１〜１３３が設けられている。ディスクブレードが取り外し可能な状態となっ
たときに、ディスクブレードに対応するユニット交換指示ＬＥＤが点灯してその旨を報知
し、保守交換作業を容易にしている。
【００２５】
図４は、本発明の実施の形態のディスクアレイ装置を構成するディスクブレード１０１
の構成を説明する図である。
【００２６】
ディスクブレード１０１には、複数のドライブ２０１０〜２０４０が取り付けられてい
る。このドライブ２０１０〜２０４０は、ディスクブレード１０１に着脱可能な保持枠（
キャニスター）に取り付けられており、キャニスターと共にディスクブレード１０１から
取り外せるように構成されている。ドライブ２０１０〜２０４０の後端にはコネクタが設
けられている。このコネクタはディスクブレード１０１に設けられたコネクタ２１１０と
嵌合して、ドライブ２０１０〜２０４０とディスクブレード１０１との間を接続する。
【００２７】
ディスクブレード１０１にはドライブ交換指示ＬＥＤ２２１０が設けられている。ドラ
イブ（キャニスター）２０１０〜２０４０が取り外し可能な状態となったときに、ドライ
ブに対応するドライブ交換指示ＬＥＤ２２１０が点灯してその旨を報知し、保守交換作業
を容易にしている。ドライブ交換指示ＬＥＤ２２１０はＬＥＤ制御回路２３００によって
駆動されている。ＬＥＤ制御回路２３００は、ディスクアレイコントローラ１９１、１９
２からの指示に基づいてドライブ交換指示ＬＥＤ２２１０を点灯させる。
【００２８】
また、ドライブ交換指示ＬＥＤ２２１０は、ディスクブレード１０１をドライブ筐体１
０ａから取り外した後も（すなわち、ディスクアレイ装置１からの電源の供給が途絶した
後も）点灯可能となっている。このため、ＬＥＤ制御回路２３００は、ディスクアレイコ
ントローラ１９１、１９２からの指示を維持する記憶回路（例えば、フリップフロップ）
、及び、ドライブ交換指示ＬＥＤ２２１０に印加する電源を供給する電源回路（例えば、
二次電池、蓄電器）を備えている。このように、ディスクブレード１０１をドライブ筐体
１０ａから取り外した後もドライブ交換ＬＥＤ２２１０が点灯するので、ディスクブレー
ド１０１をドライブ筐体１０ａから取り外した後も交換すべきドライブを確認することが
できる。
【００２９】
ディスクブレード１０１の奥端にはコネクタ２４００が取り付けられており、このコネ
クタ２４００がバックプレーンに設けられたコネクタと嵌合することによって、ディスク
ブレード１０１とバックプレーンとが接続される。
【００３０】
ディスクブレード１０１にはロータリースイッチ２５００が設けられている。このロー
タリースイッチ２５００を用いてユニットＩＤを設定することによって、同じドライブ筐
体内に装着されたディスクブレードを電気的に識別することができる。このようにロータ
リースイッチ２５００はユニットＩＤ設定部として機能する。
【００３１】
図５は、本発明の実施の形態のディスクアレイコントローラ１９１の構成を示すブロッ
ク図である。
【００３２】
ディスクアレイコントローラ１９１には、ＣＰＵ１９０１、メモリ１９０２、データ転
送コントローラ１９０４、フロントエンド接続インターフェースコントローラ１９０５、
バックエンド接続インターフェースコントローラ１９０６、データバッファ１９０７、及
びＬＡＮインターフェースコントローラ１９０８が設けられている。
【００３３】
メモリ１９０２には制御プログラム１９０３（図６参照）が記憶されており、ＣＰＵ１
９０１が制御プログラム１９０３を呼び出して実行することによって各種処理が行われる。
【００３４】
データ転送コントローラ１９０４は、ＣＰＵ１９０１、フロントエンド接続インターフ
ェースコントローラ１９０５、バックエンド接続インターフェースコントローラ１９０６
、及びデータバッファ１９０７の間でデータを転送する。
【００３５】
フロントエンド接続インターフェースコントローラ１９０５は、ＳＡＮ４に対するイン
ターフェースであって、例えば、ファイバチャネルプロトコルによって、ＳＡＮホスト３
との間でデータや制御信号を送受信する。
【００３６】
バックエンド接続インターフェースコントローラ１９０６は、接続インターフェース１
０９に対するインターフェースであって、例えば、ＡＴＡ、ＳＡＳ、ファイバチャネル等
のインターフェースによって、ディスクとの間でデータや制御信号を送受信する。
【００３７】
データバッファ１９０７には、フロントエンド接続インターフェースコントローラ１９
０５とバックエンド接続インターフェースコントローラ１９０６との間で送受信されるデ
ータが一時的に記憶されるキャッシュが設けられている。
【００３８】
すなわち、データ転送コントローラ１９０４は、ＳＡＮ４を介してディスクに読み書き
されるデータをインターフェース１９０５、１９０６間で転送する。さらに、これらのデ
ィスクに読み書きされるデータをデータバッファ１９０７に転送している。
【００３９】
ＬＡＮ接続インターフェースコントローラ１９０８は、管理用ＬＡＮ５に対するインタ
ーフェースであって、例えば、イーサネットプロトコルによって、管理用端末装置２との
間でデータや制御信号を送受信することができる。
【００４０】
図６は、本発明の実施の形態の制御プログラム１９０３の説明図である。
【００４１】
ＲＡＩＤグループ設定プログラム１９１１、ＲＡＩＤグループ管理プログラム１９１２
、障害処理プログラム１９１３、及びＩ／Ｏ制御プログラム１９１４によって構成されて
いる。またこれらのプログラムの動作のために、ドライブ設定保持テーブル１９１５、ド
ライブ状態管理テーブル１９１６、ＲＡＩＤグループ状態管理テーブル１９１７、及びバ
ックグラウンド処理数管理テーブル１９１８が記憶されている。
【００４２】
ＲＡＩＤグループ設定プログラム１９１１は、ディスクアレイ装置１に実装されたドラ
イブによってＲＡＩＤを設定する処理を実行する（例えば、図１３参照）。
【００４３】
ＲＡＩＤグループ管理プログラム１９１２は、ＲＡＩＤグループ設定プログラム１９１
１によって設定されＲＡＩＤを維持管理する。
【００４４】
障害処理プログラム１９１３は、ディスクアレイ装置１に実装されたドライブに発生す
る障害を監視し、障害が発生したドライブ及び当該障害ドライブと同じユニットに搭載さ
れたドライブに関する処理を行う（例えば、図１４、図１５、図１６参照）。
【００４５】
Ｉ／Ｏ制御プログラム１９１４は、ディスクアレイ装置１に実装されたドライブからの
データの読み出し、これらのドライブに対するデータの書き込みに関する処理を行う。
【００４６】
次に、制御プログラムの動作時に用いられる各種テーブルについて説明する。
【００４７】
図７は、本発明の実施の形態のディスクアレイ装置１に装着されたディスクによって生
成されたＲＡＩＤの構成の説明図である。
【００４８】
例えば、ＲＡＩＤグループ１は、ドライブＡ０（ユニットＩＤがＡ、ドライブ番号が０
番のドライブ）、ドライブＡ１、ドライブＢ１、ドライブＢ２及びドライブＣ２の５個の
ドライブによって、レベル５のＲＡＩＤが構成されている。また、ＲＡＩＤグループ４は
、ドライブＡ３、ドライブＢ３、ドライブＣ３、ドライブＤ３、ドライブＥ３及びドライ
ブＦ３の６個のドライブによって、レベル６のＲＡＩＤが構成されている。
【００４９】
図８は、本発明の第１の実施の形態のドライブ設定内容保持テーブル１９１５の説明図
である。
【００５０】
ドライブ設定内容保持テーブル１９１５には、ディスクブレードに搭載されたドライブ
に設定された状態が、ドライブ毎に記録されている。具体的には、ドライブの記憶容量と
、そのドライブの使用状態（「使用中」か、未使用の「スペア」か）と、そのドライブが
属するＲＡＩＤの番号が記録されている。具体的には、ドライブＡ０、ドライブＡ１、ド
ライブＢ１、ドライブＢ２及びドライブＣ２の５個のドライブのＲＡＩＤ番号欄には「１
」が記録されているので、これらのドライブはＲＡＩＤグループ１に属する。
【００５１】
図９は、本発明の第１の実施の形態のドライブ状態管理テーブル１９１６の説明図であ
る。
【００５２】
ドライブ状態管理テーブル１９１６には、ディスクブレードに搭載されたドライブの現
在の状態がドライブ毎に記録されている。具体的には、ドライブの記憶容量と、そのドラ
イブの状態（「使用中」か、「障害」が発生しているか、「再構築」処理を実行中か、「退避」処理を実行中か、未使用の「スペア」か）と、そのドライブが属するＲＡＩＤの番号が記録されている。例えば、ドライブＢ０はＲＡＩＤグループ２に属するドライブであるが、ドライブＢ０には障害が発生している。
【００５３】
図１０は、本発明の第１の実施の形態のＲＡＩＤグループ状態管理テーブル１９１７の
説明図である。
【００５４】
ＲＡＩＤグループ状態管理テーブル１９１７には、設定されたＲＡＩＤグループ毎に、
総記憶容量、ＲＡＩＤレベル（どの種類のＲＡＩＤが構成されているか）、正常時の冗長
度、現在の冗長度、このＲＡＩＤを構成するドライブの識別記号、及びＲＡＩＤの状態が
記録されている。
【００５５】
例えば、ＲＡＩＤグループ１を構成するドライブはＡ０、Ａ１、Ｂ１、Ｂ２及びＣ２の
５個のドライブであり、これらのドライブは（すなわち、ＲＡＩＤグループ１は）正常に
動作している。一方、ＲＡＩＤグループ２を構成するドライブはＢ０、Ｃ０、Ｄ０、Ｅ０
及びＦ０の５個のドライブであるが、ドライブ状態管理テーブル１９１６（図９）に示す
ように、ドライブＢ０に障害が発生しているので、このＲＡＩＤグループ２は「障害」状
態となっている。これによってＲＡＩＤグループ２は正常時の冗長度が１であるのに対し
、現在の冗長度が０に低下している。
【００５６】
図１１は、本発明の第１の実施の形態のバックグラウンド処理数管理テーブル１９１８
の説明図である。
【００５７】
バックグラウンド処理数管理テーブル１９１８には、ディスクブレード（ユニットＩＤ
）と、そのディスクブレードに搭載されたディスクにおいて実行されているバックグラウ
ンド処理数を示す。すなわち、後述するように、バックグラウンド処理数は、ディスクに
障害が発生したときの再構築処理の開始時に加算され（図１４のＳ１３０）、再構築処理
の終了時に減算されて（図１５のＳ１６７）、更新される。また、ディスクに障害が発生
したときのデータコピー処理の開始時に加算され（図１４のＳ１４１）、データコピー処
理の終了時に減算されて（図１６のＳ１７６）、更新される。また、図１４のＳ１４５に
おいて、バックグラウンド処理数管理テーブル１９１８は、ユニットを取り外してもよい
かの判定にも用いられる（すなわち、バックグラウンド処理が継続しているユニットは取り外すことができない）。
【００５８】
図１２は、本発明の第１の実施の形態の管理用端末装置２に表示されるＲＡＩＤグルー
プ管理画面の説明図である。
【００５９】
このＲＡＩＤグループ管理画面は、ＲＡＩＤグループを選択することによって表示され
る。選択されたＲＡＩＤグループは、ＲＡＩＤグループ管理画面の左下に設けられた「選
択グループ情報」欄に表示される。ＲＡＩＤグループ管理画面には、各ディスクブレード
に搭載されたディスク毎にその状態が表示される。
【００６０】
そして、管理者は、ＲＡＩＤグループを構成するドライブを選択することによってＲＡ
ＩＤグループを構成することができる。また、選択したドライブを、ＲＡＩＤグループを構成しない「スペア」として設定することもできる。
【００６１】
図１３は、本発明の第１の実施の形態のＲＡＩＤグループ作成処理のフローチャートで
あり、ＲＡＩＤグループ設定プログラム１９１１によって実行される。
【００６２】
ＲＡＩＤグループ設定プログラム１９１１は、管理用端末装置２からＲＡＩＤグループ
作成要求を受け付けると（Ｓ１０１）と、ドライブの設定内容保持テーブル１９１５、ド
ライブ状態管理テーブル１９１６及びＲＡＩＤグループ状態管理テーブル１９１７に要求
があったＲＡＩＤグループを仮に登録する（Ｓ１０２）。
【００６３】
その後、ドライブの設定内容保持テーブル１９１５に最初に記載されているユニットを
参照して（Ｓ１０３）、当該ユニット内でスペアとなっているドライブ数ｓを取得する（
Ｓ１０４）。そして、当該ユニット内の使用ドライブ台数ａが最も大きいＲＡＩＤグルー
プｎを検索する（Ｓ１０５）。その後、ＲＡＩＤグループ状態管理テーブル１９１７を参
照して、当該検索されたＲＡＩＤグループｎの冗長度ｒを取得する（Ｓ１０６）。
【００６４】
その後、当該ユニット取り外し処理に要するドライブ数（ａ−ｒ＋１）と、当該ユニット取り外し処理で使用可能スペアドライブ残数（全スペアドライブ数−ｓ）とを比較して、ユニットを取り外した時に最小限の冗長性を保つために必要なドライブ数がスペアとして残っているか否かを判定する（Ｓ１０７）。すなわち、ディスクに障害が発生した際、当該障害発生ユニットを取り外し、障害ディスクを交換することが可能であるか否かの判定を行う。
【００６５】
その判定の結果、処理に要するドライブ数が使用可能スペアドライブ残数より多ければ、ユニットを取り外した時には最小限の冗長性を保つために必要なスペアドライブが不足するため、ディスク障害発生時の交換が不可能であると判定し、スペアドライブ不足による作成エラーを通知する（Ｓ１１１）。そして、ステップＳ１０２で作成した各管理テーブルの仮登録を削除する（Ｓ１１２）。
【００６６】
一方、処理に要するドライブ数が利用可能スペアドライブ残数以下であれば、ユニットを取り外した時にも最小限の冗長性を保つために必要なスペアドライブが足りている、すなわち障害発生時にディスク交換が可能であると判定する。そして、この調査を全ユニットに対して行った否かを判定する（Ｓ１０８）。
【００６７】
その結果、全ユニットの調査が終了していなければ、ステップＳ１１３に移行し、次に
調査するユニットを選択して、当該ユニットを取り外した時の影響を調査する（Ｓ１０４
〜Ｓ１０７）。
【００６８】
一方、全ユニットの調査が終了していれば、ステップＳ１０２で作成した各管理テーブ
ルの仮登録を、各テーブルに正式に登録する（Ｓ１０９）。そして、管理用端末装置２に
ＲＡＩＤグループの作成成功を通知する（Ｓ１１０）。
【００６９】
図１４は、本発明の第１の実施の形態のドライブ障害発生時のユニット交換処理のフロ
ーチャートであり、障害処理プログラム１９１３によって実行される。
【００７０】
ドライブの障害が検出されると（Ｓ１２１）、ドライブ状態管理テーブル１９１６を参
照して、障害ドライブのユニットＩＤ（α）、ドライブ番号ｋ、所属ＲＡＩＤグループ番
号ｎを取得する（Ｓ１２２）。そして、ドライブ状態管理テーブル１９１６に記録された
ドライブｋの状態を「障害」に変更し、ＲＡＩＤグループ状態管理テーブル１９１７に記
録されたＲＡＩＤグループｎの状態を「障害」に変更する（Ｓ１２３）。そして、ＲＡＩ
Ｄグループ状態管理テーブル１９１７のＲＡＩＤグループｎのＲＡＩＤグループの現冗長
度から１を減じる（Ｓ１２４）。
【００７１】
そして、ＲＡＩＤグループｎの現冗長度が１より小さいか（すなわち、０になったか）
否かを判定する（Ｓ１２５）。
【００７２】
その結果、ＲＡＩＤグループｎの現冗長度が１以上であれば、最低限必要な冗長度は維
持されていると判定して、障害ドライブと同じユニットに搭載されているドライブについ
て調査するために、ドライブ番号の変数ｉを初期化する（Ｓ１３２）。一方、ＲＡＩＤグ
ループｎの現冗長度が１より小さければ、ステップＳ１２６へ進む。
【００７３】
ステップＳ１２６では、ＲＡＩＤグループｎの現冗長度が０より小さいか（すなわち、
負の数になったか）否かを判定する。
【００７４】
その結果、ＲＡＩＤグループｎの現冗長度が０より小さければ、ＲＡＩＤが構成されて
おらずデータが消失している可能性がある旨をユーザに通知する（Ｓ１５１）。
【００７５】
一方、ＲＡＩＤグループｎの現冗長度が０以上であれば、ユニットＩＤがα以外のユニ
ットからスペアとなっているドライブを検索する（Ｓ１２７）。この検索の結果、スペア
ドライブが検索されなければ（Ｓ１２８）、スペアドライブを追加するようユーザに通知
する（Ｓ１５２）。一方、スペアドライブが検索されたならば（Ｓ１２８）、ドライブ状
態管理テーブル１９１６のこのスペアドライブの状態を「再構築」に変更する。また、Ｒ
ＡＩＤグループ状態管理テーブル１９１７の構成ドライブ情報へ障害ドライブに代わり当
該ドライブを加える（Ｓ１２９）。そして、バックグラウンド処理数管理テーブル１９１
８に記録されるユニットＩＤがαのバックグラウンド処理数に１を加算する（Ｓ１３０）
。その後、バックグラウンド処理にてＲＡＩＤグループｎのデータ再構築を実行する（Ｓ
１３１）。そして、ステップＳ１３２に進み、ドライブ番号の変数ｉを初期化する。
【００７６】
ステップＳ１３２において変数ｉの初期設定がされると、変数ｉとステップＳ１２２で
取得した障害ドライブのドライブ番号ｋとを比較する（Ｓ１３３）。その結果、ｉ＝ｋで
あれば、このドライブは障害が発生したドライブであると判定し、ステップＳ１３１に進
み、ドライブ番号の変数ｉに１を加算して、次のドライブに進む。一方、ｉ≠ｋであれば
、このドライブは障害が発生したドライブではないと判定し、ドライブαｉ（ユニットＩ
Ｄがα、ドライブ番号がｉのドライブ）の所属ＲＡＩＤグループ番号ｍを取得する（Ｓ１
３４）。そして、ＲＡＩＤグループ状態管理テーブル１９１７のＲＡＩＤグループ番号ｍ
のＲＡＩＤグループの現冗長度から１を減じる（Ｓ１３５）。
【００７７】
そして、ＲＡＩＤグループｍの現冗長度が１より小さいか（すなわち、０になったか）
否かを判定する（Ｓ１３６）。
【００７８】
その判定の結果、ＲＡＩＤグループｍの現冗長度が１以上であれば、最低限必要な冗長
度は維持されていると判定して、次のドライブについて調査するために、ドライブ番号の
変数ｉに１を加算する（Ｓ１４３）。一方、ＲＡＩＤグループｎの現冗長度が１より小さ
ければ、ステップＳ１３７へ進む。
【００７９】
ステップＳ１３７では、ＲＡＩＤグループｍの現冗長度が０より小さいか（すなわち、
負の数になったか）否かを判定する。
【００８０】
このＳ１３６、Ｓ１３７の処理によって、ユニットＩＤがαのユニット上に搭載された
ドライブによるＲＡＩＤの状態の変化を推定することができる。すなわち、ユニットＩＤ
がαのユニットを取り外したときの、障害発生ドライブ以外のドライブが属するＲＡＩＤ
グループへの影響を推定する。
【００８１】
この結果、ＲＡＩＤグループｍの現冗長度が０より小さければ、ＲＡＩＤが構成されて
おらずデータが消失している可能性がある旨をユーザに通知する（Ｓ１５１）。
【００８２】
一方、ＲＡＩＤグループｍの現冗長度が０以上であれば、ユニットＩＤがα以外のユニ
ットからスペアとなっているドライブを検索する（Ｓ１３８）。この検索の結果、スペア
ドライブが検索されなければ（Ｓ１３９）、スペアドライブを追加するようユーザに通知
する（Ｓ１５２）。一方、この検索の結果、スペアドライブが検索されたならば（Ｓ１３
９）、ドライブ状態管理テーブル１９１６に記録されている当該スペアドライブの状態を
「退避」に変更する（Ｓ１４０）。そして、バックグラウンド処理数管理テーブル１９１
８に記録されるユニットＩＤがαのバックグラウンド処理数に１を加算する（Ｓ１４１）
。その後、バックグラウンド処理にてドライブαｉのデータコピーを実行する（Ｓ１４２
）。そして、ステップＳ１４３に進み、ドライブ番号の変数ｉに１を加算する。
【００８３】
ステップＳ１４３において変数ｉが更新されると、変数ｉがドライブ番号の最大値を超
えているか否かを判定する（Ｓ１４４）。その結果、変数ｉがドライブ番号の最大値より
小さければ、ステップＳ１３２に戻り次のドライブについて調査する。一方、変数ｉがド
ライブ番号の最大値を超えていれば、全てのドライブについての調査が終了したので、バ
ックグラウンド処理数管理テーブル１９１８を参照してユニットＩＤがαのバックグラウ
ンド処理数が０であるか否かを判定する（Ｓ１４５）。その結果、ユニットＩＤがαのバ
ックグラウンド処理数が０でなければ、ユニットＩＤがαのユニットに関するバックグラ
ウンド処理が継続しているので、一定時間の経過を待ち（Ｓ１４６）、再度、ステップＳ
１４５の判定を行う。一方、ユニットＩＤがαのバックグラウンド処理数が０であれば、
ユニットＩＤがαのユニットに関するバックグラウンド処理が行われていないので、ステ
ップＳ１４７に進む。
【００８４】
ステップＳ１４７では、ドライブ状態管理テーブル１９１６に記録されている、ユニッ
トＩＤがαの障害が発生していないドライブの状態を「未使用」に変更する（Ｓ１４７）
。そして、ユニットＩＤがαのユニットのユニット交換指示ＬＥＤを点灯させ（Ｓ１４８
）、ドライブＩＤがαｋのドライブのドライブ交換指示ＬＥＤを点灯させる（Ｓ１４９）
。その後、ユニットＩＤがαのユニットの交換をユーザに指示する（Ｓ１５０）。
【００８５】
図１５は、本発明の第１の実施の形態のＲＡＩＤグループのデータ再構築処理のフロー
チャートであり、障害処理プログラム１９１３によって実行される。また、図１４のステ
ップＳ１３１にて開始し、バックグラウンドにおいて実行される。
【００８６】
ＲＡＩＤグループｎを構成する全ての正常なドライブからデータを読み出す（Ｓ１６１
）。そして、これら読み出したデータのパリティ（排他的論理和）を計算することによっ
て、障害が発生したドライブに記憶されていたものと同じデータを算出し、データを復元
する（Ｓ１６２）。そして、図１４のステップＳ１２７において検索されたスペアドライ
ブに、復元したデータを書き込む（Ｓ１６３）。
【００８７】
そして、全てのデータを書き込んだか否かを判定する（Ｓ１６４）。その結果、全ての
データの書き込みが終了していなければ、ステップＳ１６１に戻り、さらに、ＲＡＩＤグ
ループｎを構成する全ての正常なドライブからデータを読み出してデータの再構築を行う
。一方、全てのデータの書き込みが終了していれば、ドライブ状態管理テーブル１９１６
に記録されている当該スペアドライブの状態を「使用中」に変更する。そして、ＲＡＩＤ
グループ状態管理テーブル１９１７に記録されたドライブの構成を更新し、ＲＡＩＤグル
ープｎの状態を「正常」に変更する（Ｓ１６５）。そして、ＲＡＩＤグループ状態管理テ
ーブル１９１７のＲＡＩＤグループ番号ｎのＲＡＩＤグループの現冗長度に１を加算する
（Ｓ１６６）。さらに、バックグラウンドにおけるデータ再構築処理が終了したので、バ
ックグラウンド処理数管理テーブル１９１８に記録されるユニットＩＤがαのバックグラ
ウンド処理数から１を減算する（Ｓ１６７）。
【００８８】
図１６は、本発明の第１の実施の形態のドライブのデータコピー処理のフローチャート
であり、障害処理プログラム１９１３によって実行される。また、図１４のステップＳ１
４２にて開始し、バックグラウンドにおいて実行される。
【００８９】
まず、ドライブαＮ（ユニットＩＤがα、ドライブ番号がＮのドライブ）からデータを
読み出す（Ｓ１７１）。そして、図１４のステップＳ１３８において検索されたスペアド
ライブに、読み出したデータを書き込む（Ｓ１７２）。
【００９０】
そして、全てのデータを書き込んだか否かを判定する（Ｓ１７３）。その結果、全ての
データの書き込みが終了していなければ、ステップＳ１７１に戻り、さらに、データを読
み出してデータコピーを行う。一方、全てのデータの書き込みが終了していれば、ドライ
ブ状態管理テーブル１９１６に記録されている構成ドライブを更新し、当該スペアドライ
ブの状態を「使用中」に変更する（Ｓ１７４）。そして、ＲＡＩＤグループ状態管理テー
ブル１９１７のＲＡＩＤグループ番号ｎのＲＡＩＤグループの現冗長度に１を加算する（
Ｓ１７５）。さらに、バックグラウンドにおけるデータコピー処理が終了したので、バッ
クグラウンド処理数管理テーブル１９１８に記録されるユニットＩＤ（α）のバックグラ
ウンド処理数から１を減算する（Ｓ１７６）。
【００９１】
図１７は、本発明の第１の実施の形態の交換ユニット挿入時処理のフローチャートであ
る。
【００９２】
ディスクブレードの挿入が確認されると（Ｓ１８１）、挿入されたディスクブレードに
設定されたユニットＩＤが正しいかによって、正しいユニットが挿入されたかを判定する
（Ｓ１８２）。具体的には、挿入されたディスクブレードに設定されたユニットＩＤが取
り外されたディスクブレードに設定されていたユニットのＩＤと等しいかや、挿入された
ディスクブレードに設定されたユニットＩＤが既に実装済みの他のユニットのＩＤと重複
しないか等の方法によって確認することができる。
【００９３】
正しいユニットであることが確認できたら、挿入されたユニットのユニット交換指示Ｌ
ＥＤを消灯させる（Ｓ１８３）。
【００９４】
そして、ドライブ設定内容保持テーブル１９１５を参照して、挿入されたユニットのド
ライブが属していたＲＡＩＤグループｎを選択する（Ｓ１８４）。
【００９５】
その後、ＲＡＩＤグループ状態管理テーブル１９１７を参照して、ＲＡＩＤグループｎ
の正常時の冗長度と、現在の冗長度とを取得する（Ｓ１８５）。そして、正常時冗長度と
現冗長度を比較する（Ｓ１８６）。その結果、現冗長度が正常時冗長度より小さければ、
ＲＡＩＤグループｎを構成するドライブの数が正常時より不足しているので、再構築後の
データを書き込むドライブを選択し、ドライブ状態管理テーブル１９１６に記録されてい
る当該ドライブの状態を「再構築」に変更する。その後、バックグラウンド処理にてＲＡ
ＩＤグループｎのデータ再構築を実行する（Ｓ１８７）。
【００９６】
その後、挿入されたユニットのドライブが属していた全てのＲＡＩＤグループについて
の調査が終了したか否かを判定する（Ｓ１８８）。その結果、全てのＲＡＩＤグループに
ついての調査が終了していなければ、次のＲＡＩＤグループを選択し（Ｓ１８９）、ステ
ップＳ１８５に戻り、さらにＲＡＩＤグループの冗長度を調査する。一方、全てのＲＡＩ
Ｄグループについての調査が終了していれば、未使用ドライブ（すなわち、ステップＳ１
８７でデータ再構築に使用されなかったドライブ）の状態を「スペア」に変更する（Ｓ１
９０）。
【００９７】
図１８から図２９は、ドライブＢ０に障害が発生し、ユニットＢが交換されるまでの、
ドライブ状態管理テーブル１９１６の変化を示す。
【００９８】
ドライブＢ０（ユニットＩＤがＢ、ドライブ番号が０番のドライブ）に障害が発生する
前は、ドライブＢ０の状態は「使用中」である（図１８）。
【００９９】
ドライブＢ０に障害が発生すると、ドライブＢ０の状態は「障害」になる（図１４のＳ
１２３）。そして、検索されたスペアドライブＡ２の状態を「再構築」に変更し（図１４
のＳ１２９）、スペアドライブＡ２にドライブＢ０のデータの再構築を開始する（図１４
のＳ１３１）。このドライブＢ０のデータ再構築中の状態を図１９に示す。そして、デー
タ再構築が終了すると、ドライブＡ２の状態は「使用中」に変更され、ドライブＡ２はＲ
ＡＩＤグループ２を構成するドライブとして使用される（図２０）。
【０１００】
障害ドライブのデータ再構築処理の後（または、この処理と並行して）、ドライブＢ１
〜Ｂ３のデータ退避処理が行われる。ドライブＢ１はＲＡＩＤグループ１に属し、ＲＡＩ
Ｄグループ１のＲＡＩＤレベルはＲＡＩＤ５なので、その冗長度は１である。よって、ド
ライブＢ１を取り除くと冗長度が０になってしまうので、ドライブＢ１のデータを退避す
るコピー処理を開始する。
【０１０１】
すなわち、検索されたスペアドライブＤ２の状態を「退避」に変更し（図１４のＳ１４
０）、スペアドライブＤ２にドライブＢ１のデータのコピーを開始する（図１４のＳ１４
２）。このドライブＢ１のデータ退避の状態を図２１に示す。そして、データコピーが終
了すると、ドライブＤ２の状態は「使用中」に変更され、ドライブＤ２はＲＡＩＤグルー
プ１を構成するドライブとして使用される（図２２）。
【０１０２】
次にドライブＢ２のデータ退避処理が行われる。ドライブＢ２はＲＡＩＤグループ１に
属する。よって、ドライブＢ２を取り除くと冗長度が０になってしまうので、ドライブＢ
２のデータを退避するコピー処理を開始する。具体的には、検索されたスペアドライブＥ
２の状態を「退避」に変更し（図１４のＳ１４０）、スペアドライブＥ２にドライブＢ２
のデータのコピーを開始する（図１４のＳ１４２）。このドライブＢ２のデータ退避中の
状態を図２３に示す。そして、データコピーが終了すると、ドライブＥ２の状態は「使用
中」に変更され、ドライブＥ２はＲＡＩＤグループ１を構成するドライブとして使用され
る（図２４）。
【０１０３】
次にドライブＢ３のデータ退避処理が行われる。ドライブＢ３はＲＡＩＤグループ４に
属し、ＲＡＩＤグループ４のＲＡＩＤレベルはＲＡＩＤ６なので、その冗長度は２である
。よって、ドライブＢ３を取り除いても冗長度は１が維持されるので、ドライブＢ３のデ
ータを退避する必要はないと判断する（図１４のＳ１３６）。このドライブＢ３のデータ
退避中の状態を図２５に示す。
【０１０４】
なお、退避処理中に書き込みが発生した場合、書き込みデータは退避元ドライブと退避
先ドライブの両方に書き込まれる。このため、退避処理中にデータの書き込みが発生して
も、退避元ドライブと退避先ドライブの内容が異なることはない。
【０１０５】
以上の処理によって、ユニットＢの全てのドライブの処理が終了したので、ユニット交
換処理（図１４）が終了する。この状態を図２６に示す。
【０１０６】
その後、ユニットＢが取り外され、新たなディスクブレードが取り付けられると、ユニ
ットＢに搭載された全てのドライブの状態は「未使用」となる（図２７）。その後、再構
築されたデータが書き込まれるドライブＢ３の状態は「再構築」に変更され、データの再
構築が開始する（図２８）。再構築が終了すると、再構築されたデータが書き込まれたド
ライブＢ３の状態は「使用中」に変更され、未使用ドライブ（Ｂ０〜Ｂ２）の状態が「ス
ペア」に変更される（図２９）。
【０１０７】
以上説明したように第１の実施の形態では、ユニット（ディスクブレード）を取り外す
際に、当該ユニットに関係するＲＡＩＤグループの最低限の冗長度が維持されるようにデ
ータ再構築及びデータコピーを行う。そして、これらの処理の終了後にユニット及びドラ
イブの交換を指示するので、容易にユニットを交換することができる。
【０１０８】
次に、本発明の第２の実施の形態について説明する。第２の実施の形態では、ＲＡＩＤ
グループ毎に保証冗長度を設定することによって、ドライブに障害が発生しても、そのＲ
ＡＩＤグループの冗長度が保証冗長度より低下しないように制御する。なお、第２の実施
の形態では前述した第１の実施の形態と異なる処理のみを説明し、第１の実施の形態と共
通する処理の説明は省略する。
【０１０９】
図３０は、本発明の第２の実施の形態のＲＡＩＤグループ状態管理テーブル１９１７ｂ
の説明図である。
【０１１０】
ＲＡＩＤグループ状態管理テーブル１９１７ｂには、第１の実施の形態のＲＡＩＤグル
ープ状態管理テーブル１９１７と同じデータ（ＲＡＩＤグループ番号、総記憶容量、ＲＡ
ＩＤレベル、正常時の冗長度、現在の冗長度、構成ドライブ識別記号、及びＲＡＩＤの状
態）の他、保証冗長度が記録されている。保証冗長度は、そのＲＡＩＤグループにおいて
保証される最低の冗長度であって、そのＲＡＩＤグループに属するドライブに障害が発生
しても、そのＲＡＩＤグループの冗長度が保証冗長度より小さくならないように制御して
いる。なお、第１の実施の形態のＲＡＩＤグループ状態管理テーブル１９１７と同じデー
タの説明は省略する。
【０１１１】
図３１は、本発明の第２の実施の形態のＲＡＩＤグループ管理画面の説明図である。
【０１１２】
この第２の実施の形態のＲＡＩＤグループ管理画面は、前述した第１の実施の形態のＲ
ＡＩＤグループ管理画面（図１２）と異なり、「冗長度ポリシー」ボタンが設けられてい
る。この「冗長度ポリシー」ボタンが操作されると、図３１（ｂ）に示す冗長度ポリシー
設定画面が開く。冗長度ポリシー設定画面では、ＲＡＩＤグループ毎に、常に完全な冗長
性を維持するか、最低限の冗長性を維持するか、ユニット交換時は一時的な冗長性の欠落
を許容するか、を選択することができる。
【０１１３】
図３２は、本発明の第２の実施の形態の保証冗長度設定処理のフローチャートであり、
ＲＡＩＤグループ設定プログラム１９１１において実行される。
【０１１４】
まず、「常に完全な冗長性を維持」することが選択された場合には（Ｓ２６１）、ＲＡ
ＩＤグループ状態管理テーブル１９１７ｂの保証冗長度には正常時の冗長度と同じ値が設
定される（Ｓ２６２）。また、「最低限の冗長性を維持」することが選択された場合には
（Ｓ２６３）、ＲＡＩＤグループ状態管理テーブル１９１７ｂの保証冗長度には１が設定
される（Ｓ２６４）。また、ユニット交換時は「一時的な冗長性の欠落を許容」すること
が選択された場合には（Ｓ２６５）、ＲＡＩＤグループ状態管理テーブル１９１７ｂの保
証冗長度には０が設定される（Ｓ２６６）。
【０１１５】
図３３は、本発明の第２の実施の形態のＲＡＩＤグループ作成処理のフローチャートで
あり、ＲＡＩＤグループ設定プログラム１９１１によって実行される。この第２の実施の
形態のＲＡＩＤグループ作成処理は、Ｓ２０６を除いて第１の実施の形態のＲＡＩＤグル
ープ作成処理（図１３）と同じであり、これと同一の処理の説明は省略する。
【０１１６】
ステップＳ１０５において当該ユニット内の使用ドライブ台数ａが最も大きいＲＡＩＤ
グループｎを検索した後、ＲＡＩＤグループ状態管理テーブル１９１７を参照して、当該
検索されたＲＡＩＤグループｎの保証冗長度ｒを取得する（Ｓ２０６）。
【０１１７】
その後、当該ユニット取り外し処理に要するなドライブ数（ａ−ｒ＋１）と、当該ユニット取り外し処理時に利用可能なスペアドライブ残数（全スペアドライブ数−ｓ）とを比較して、ユニットを取り外した時に最小限の冗長性を保つために必要なドライブ数がスペアとして残っているかを判定する（Ｓ１０７）。すなわち、ディスクに障害が発生した際、当該障害発生ユニットを取り外し、障害ディスクを交換することが可能であるか否かの判定を行う。
【０１１８】
その判定の結果、処理に必要なドライブ数が使用可能スペアドライブ残数より多ければ、ユニットを取り外した時にはＲＡＩＤグループｎに設定された保証冗長度ｒを保つために必要なスペアドライブが不足すると判定し、スペアドライブ不足による作成エラーを通知する（Ｓ１１１）。そして、ステップＳ１０２で作成した各管理テーブルの仮登録を削除する（Ｓ１１２）。
【０１１９】
一方、処理に要するドライブ数が使用可能スペアドライブ残数以下であれば、ユニットを取り外した時にもＲＡＩＤグループｎに設定された保証冗長度ｒを保つために必要なスペアドライブが足りていると判定する。
【０１２０】
図３４は、本発明の第２の実施の形態のドライブ障害発生時のユニット交換処理のフロ
ーチャートであり、障害処理プログラム１９１３によって実行される。この第２の実施の
形態のユニット交換処理は、Ｓ２２５、Ｓ２３６を除いて第１の実施の形態のユニット交
換処理（図１４）と同じであり、これと同一の処理の説明は省略する。
【０１２１】
ステップＳ１２４においてＲＡＩＤグループ状態管理テーブル１９１７のＲＡＩＤグル
ープｎのＲＡＩＤグループの現冗長度から１を減じた後、ＲＡＩＤグループｎの現冗長度
が保証冗長度より小さいか否かを判定する（Ｓ２２５）。
【０１２２】
その判定の結果、ＲＡＩＤグループｎの現冗長度が保証冗長度以上であれば、ドライブ
番号の変数ｉを初期化する（Ｓ１３２）。一方、ＲＡＩＤグループｎの現冗長度が１より
小さければ、ステップＳ１２６へ進む。ステップＳ１２６では、ＲＡＩＤグループｎの現
冗長度が０より小さいか否かを判定する。
【０１２３】
また、ステップＳ１３５においてＲＡＩＤグループ状態管理テーブル１９１７のＲＡＩ
Ｄグループ番号ｍのＲＡＩＤグループの現冗長度から１を減じた後、ＲＡＩＤグループｍ
の現冗長度が保証冗長度より小さいか否かを判定する（Ｓ２３６）。
【０１２４】
その判定の結果、ＲＡＩＤグループｍの現冗長度が保証冗長度以上であれば、ドライブ
番号の変数ｉに１を加算する（Ｓ１４３）。一方、ＲＡＩＤグループｎの現冗長度が１よ
り小さければ、ステップＳ１３７へ進む。ステップＳ１３７では、ＲＡＩＤグループｍの
現冗長度が０より小さいか否かを判定する。このＳ２３６、Ｓ１３７の処理によって、ユ
ニットＩＤがαのユニット上に搭載されたドライブによるＲＡＩＤの状態の変化を推定す
ることができる。すなわち、ユニットＩＤがαのユニットを取り外したときの、障害発生
ドライブ以外のドライブが属するＲＡＩＤグループへの影響を推定する。
【０１２５】
以上説明したように第２の実施の形態では、ＲＡＩＤグループ毎に保証冗長度を設定し
、ドライブに障害が発生しても当該ＲＡＩＤグループの冗長度が保証冗長度より低下しな
いように制御するので、ＲＡＩＤグループ毎の要求性能（すなわち、保存されるデータの
重要性）に応じて冗長度を管理することができる。
【０１２６】
次に、本発明の第３の実施の形態について説明する。第３の実施の形態では、ドライブ
の保守情報を提供するものであり、前述した第１及び第２の実施の形態に附加的に適用す
ることができる。
【０１２７】
図３５は、本発明の第３の実施の形態のＲＡＩＤグループ管理画面の説明図である。第
３の実施の形態のＲＡＩＤグループ管理画面は、ドライブの保守情報の表示欄が画面下部
に設けられている。
【０１２８】
図３６は、本発明の第３の実施の形態の保守緊急度通知判断処理のフローチャートであ
り、ＲＡＩＤグループ管理画面に表示されるドライブの保守情報を選択する。
【０１２９】
その後、ドライブの設定内容保持テーブル１９１５に最初に記載されているユニットを
参照して（Ｓ３０１）、当該ユニット内でスペアとなっているドライブ数ｓを取得する（
Ｓ３０２）。そして、当該ユニット内の使用ドライブ台数ａが最も大きいＲＡＩＤグルー
プｎを検索する（Ｓ３０３）。その後、ＲＡＩＤグループ状態管理テーブル１９１７を参
照して、当該検索されたＲＡＩＤグループｎに設定された保証冗長度ｒを取得する（Ｓ３
０４）。
【０１３０】
その後、当該ユニット取り外し処理に要するなドライブ数（ａ−ｒ＋１）と、当該ユニット取り外し処理に使用可能なスペアドライブ残数（全スペアドライブ数−ｓ）とを比較して、ユニットを取り外した時に最小限の冗長性を保つために必要なドライブ数がスペアとして残っているかを判定する（Ｓ３０５）。すなわち、ディスクに障害が発生した際、当該障害発生ユニットを取り外し、障害ディスクを交換することが可能であるか否かの判定を行う。
【０１３１】
その判定の結果、処理に要するドライブ数が使用可能スペアドライブ残数より多ければ、ドライブに故障が発生すると保証冗長度を維持できないので、ドライブ障害発生時にもＲＡＩＤグループｎに設定された保証冗長度ｒを保つために必要なスペアドライブが不足すると判定し、保守緊急度は高い旨（速やかに障害ドライブの交換や、ドライブの追加をする必要がある旨）を通知する（Ｓ３０９）。
【０１３２】
一方、処理に要するドライブ数が使用可能スペアドライブ残数以下であれば、ユニットを取り外した時にもＲＡＩＤグループｎに設定された保証冗長度ｒを保つために必要なスペアドライブが足りていると判定する。そして、全ユニットを調べたか否かを判定する（Ｓ３０６）。
【０１３３】
その結果、全ユニットの調査が終了していなければ、ステップＳ３０７に移行し、次に
調査するユニットを選択して、ステップＳ３０２に戻り次のユニットの調査を継続する。
【０１３４】
一方、全ユニットの調査が終了していれば、１台のドライブに故障が生じても保証冗長
度を維持することができるので保守緊急度は低い旨を通知する（Ｓ３０８）。
【０１３５】
以上説明した第３の実施の形態の保守緊急度通知判断処理は、前述した第２の実施の形
態に適用可能なものであるが、ステップＳ３０４、Ｓ３０５において保証冗長度ではなく
、ＲＡＩＤグループｎの現冗長度を用いることによって、第１の実施の形態に適用するこ
とができる。
【０１３６】
以上説明したように第３の実施の形態では、ＲＡＩＤグループの冗長度を維持するため
のドライブ保守情報を提供するので、ＲＡＩＤグループの冗長度が期待の値より低下する
ことを未然に防ぐことができる。また、緊急度判定によって、緊急度が低い保守の実施を
割愛できるので、従来ならば複数回行わなければならなかった保守を一度にまとめて実施
することができ、保守に要していたコストや時間を低減することができる。
【図面の簡単な説明】
【０１３７】
【図１】本発明の実施の形態のディスクアレイ装置の構成を示すブロック図である。
【図２】本発明の実施の形態のディスクアレイ装置の構成を示す外観図である。
【図３】本発明の実施の形態のディスクアレイ装置を構成するドライブ筐体の斜視図である。
【図４】本発明の実施の形態のディスクアレイ装置を構成するディスクブレードの構成図である。
【図５】本発明の実施の形態のディスクアレイコントローラの構成を示すブロック図である。
【図６】本発明の実施の形態の制御プログラムの説明図である。
【図７】本発明の実施の形態のＲＡＩＤ構成の説明図である。
【図８】本発明の第１の実施の形態のドライブ設定内容保持テーブルの説明図である。
【図９】本発明の第１の実施の形態のドライブ状態管理テーブルの説明図である。
【図１０】本発明の第１の実施の形態のＲＡＩＤグループ状態管理テーブルの説明図である。
【図１１】本発明の第１の実施の形態のバックグラウンド処理数管理テーブルの説明図である。
【図１２】本発明の第１の実施の形態の管理用端末装置に表示されるＲＡＩＤグループ管理画面の説明図である。
【図１３】本発明の第１の実施の形態のＲＡＩＤグループ作成処理のフローチャートである。
【図１４】本発明の第１の実施の形態のユニット交換処理のフローチャートでである。
【図１５】本発明の第１の実施の形態のＲＡＩＤグループのデータ再構築処理のフローチャートである。
【図１６】本発明の第１の実施の形態のドライブのデータコピー処理のフローチャートである。
【図１７】本発明の第１の実施の形態の交換ユニット挿入時処理のフローチャートである。
【図１８】本発明の実施の形態のドライブ状態管理テーブル（障害発生前）の説明図である。
【図１９】本発明の実施の形態のドライブ状態管理テーブル（データ再構築中）の説明図である。
【図２０】本発明の実施の形態のドライブ状態管理テーブル（データ再構築後）の説明図である。
【図２１】本発明の実施の形態のドライブ状態管理テーブル（データコピー中）の説明図である。
【図２２】本発明の実施の形態のドライブ状態管理テーブル（データ退避後）の説明図である。
【図２３】本発明の実施の形態のドライブ状態管理テーブル（データコピー中）の説明図である。
【図２４】本発明の実施の形態のドライブ状態管理テーブル（データ退避後）の説明図である。
【図２５】本発明の実施の形態のドライブ状態管理テーブル（退避処理中）の説明図である。
【図２６】本発明の実施の形態のドライブ状態管理テーブル（ユニット交換処理終了後）の説明図である。
【図２７】本発明の実施の形態のドライブ状態管理テーブル（ユニット交換後）の説明図である。
【図２８】本発明の実施の形態のドライブ状態管理テーブル（データ再構築中）の説明図である。
【図２９】本発明の実施の形態のドライブ状態管理テーブル（データ再構築後）の説明図である。
【図３０】本発明の第２の実施の形態のＲＡＩＤグループ状態管理テーブルの説明図である。
【図３１】本発明の第２の実施の形態のＲＡＩＤグループ管理画面の説明図である。
【図３２】本発明の第２の実施の形態の保証冗長度設定処理のフローチャートである。
【図３３】本発明の第２の実施の形態のＲＡＩＤグループ作成処理のフローチャートである。
【図３４】本発明の第２の実施の形態のユニット交換処理のフローチャートである。
【図３５】本発明の第３の実施の形態のＲＡＩＤグループ管理画面の説明図である。
【図３６】本発明の第３の実施の形態の保守緊急度通知判断処理のフローチャートである。
【符号の説明】
【０１３８】
１  ディスクアレイ装置
２  管理用端末装置
３  ＳＡＮホスト
４  ＳＡＮ
５  管理用ＬＡＮ
１０ａ〜１０ｉ  ドライブ筐体
１９  コントローラ筐体
１０１〜１１３  ドライブブレード
１２１〜１３３  ユニット交換指示ＬＥＤ
１９１  ディスクアレイコントローラ
１９０１  ＣＰＵ
１９０２  メモリ
１９０３  制御プログラム
１９０４  データ転送コントローラ
１９０５  フロントエンド接続インターフェースコントローラ
１９０６  バックエンド接続インターフェースコントローラ
１９０７  データバッファ
１９０８  ＬＡＮインターフェースコントローラ
１９１１  ＲＡＩＤグループ設定プログラム
１９１２  ＲＡＩＤグループ管理プログラム
１９１３  障害処理プログラム
１９１４  Ｉ／Ｏ制御プログラム
１９１５  ドライブ設定保持テーブル
１９１６  ドライブ状態管理テーブル
１９１７  ＲＡＩＤグループ状態管理テーブル
１９１８  バックグラウンド処理数管理テーブル
２０１０、２０２０、２０３０、２０４０  ドライブ（キャニスター）
２１１０、２１２０、２１３０、２１４０  コネクタ
２２１０、２２２０、２２３０、２２４０  ドライブ交換指示ＬＥＤ
２４００  コネクタ
２５００  ロータリースイッチ（ＩＤ設定部）
【図１】
2005293547.tif 000003
【図２】
2005293547.tif 000004
【図３】
2005293547.tif 000005
【図４】
2005293547.tif 000006
【図５】
2005293547.tif 000007
【図６】
2005293547.tif 000008
【図７】
2005293547.tif 000009
【図８】
2005293547.tif 000010
【図９】
2005293547.tif 000011
【図１０】
2005293547.tif 000012
【図１１】
2005293547.tif 000013
【図１２】
2005293547.tif 000014
【図１３】
2005293547.tif 000015
【図１４】
2005293547.tif 000016
【図１５】
2005293547.tif 000017
【図１６】
2005293547.tif 000018
【図１７】
2005293547.tif 000019
【図１８】
2005293547.tif 000020
【図１９】
2005293547.tif 000021
【図２０】
2005293547.tif 000022
【図２１】
2005293547.tif 000023
【図２２】
2005293547.tif 000024
【図２３】
2005293547.tif 000025
【図２４】
2005293547.tif 000026
【図２５】
2005293547.tif 000027
【図２６】
2005293547.tif 000028
【図２７】
2005293547.tif 000029
【図２８】
2005293547.tif 000030
【図２９】
2005293547.tif 000031
【図３０】
2005293547.tif 000032
【図３１】
2005293547.tif 000033
【図３２】
2005293547.tif 000034
【図３３】
2005293547.tif 000035
【図３４】
2005293547.tif 000036
【図３５】
2005293547.tif 000037
【図３６】
2005293547.tif 000038