(57)【特許請求の範囲】
【請求項１】
複数のディスク装置の各々について異常かどうか診断を行う診断部と、
前記診断部によって異常と診断されると、該異常が所定の異常であるか否かを判定する判定部と、
前記所定の異常であると前記判定部が判定すると、前記複数のディスク装置のうちで、該所定の異常と判定されたディスク装置である異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を、前記診断部による診断対象から除外する除外部と、
前記診断部により診断された異常が前記所定の異常であると前記判定部が判定したときに、前記除外部が診断対象から除外しなかったディスク装置のうちで、ディスク装置に付されている属性情報が前記異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する前記診断部による診断の頻度を高く変更する診断頻度変更部と、
を備え、
前記診断頻度変更部は、前記異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない
ディスク制御装置。
【請求項２】
前記属性情報は、ディスク装置に付されている製造番号である請求項１に記載のディスク制御装置。
【請求項３】
前記診断頻度変更部は、前記診断部により診断された異常が前記所定の異常ではないと前記判定部が判定したときには、前記複数のディスク装置のうちで、該所定の異常ではない異常と判定されたディスク装置である軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置に対する該診断部による診断の頻度を高くする請求項１又は２に記載のディスク制御装置。
【請求項４】
複数のディスク装置の各々について異常かどうか診断を行う診断部と、
前記診断部によって異常と診断されると、該異常が所定の異常であるか否かを判定する判定部と、
前記所定の異常であると前記判定部が判定すると、前記複数のディスク装置のうちで、該所定の異常と判定されたディスク装置である異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を、前記診断部による診断対象から除外する除外部と、
前記診断部により診断された異常が前記所定の異常であると前記判定部が判定したときに、前記除外部が診断対象から除外しなかったディスク装置のうちで、ディスク装置に付されている属性情報が前記異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する前記診断部による診断の頻度を高く変更する診断頻度変更部と、
を備え、
前記診断頻度変更部は、
前記診断部により診断された異常が前記所定の異常ではないと前記判定部が判定したときには、前記複数のディスク装置のうちで、該所定の異常ではない異常と判定されたディスク装置である軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置に対する該診断部による診断の頻度を高くし、
前記軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置によって該軽度異常ディスク装置との間で冗長性が確保されているディスク装置に対しては、前記異常の診断の頻度の変更を行わない
ディスク制御装置。
【請求項５】
前記診断部により診断された異常が前記所定の異常であると前記判定部が判定したときに、該判定の結果を表している警告を出力する出力部を更に備える請求項１から４のうちのいずれか一項に記載のディスク制御装置。
【請求項６】
複数のディスク装置の各々について診断を行い、
前記診断の結果異常が検出されたときに、該検出された異常が所定の異常であるか否かを判定し、
前記検出された異常が前記所定の異常であると判定されたときに、前記複数のディスク装置のうち、該所定の異常が検出されたディスク装置である異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を診断対象から除外し、
前記複数のディスク装置のうち診断対象から除外されていない残りのディスク装置の各々に対して前記診断を継続し、
前記診断により診断された異常が前記所定の異常であると前記判定において判定されたときに前記診断対象から除外されていない残りのディスク装置のうちで、ディスク装置に付されている属性情報が前記異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する前記診断の継続における診断の頻度を高く変更し、
前記診断の頻度の変更において、前記異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない
ディスク装置異常検出方法。
【請求項７】
複数のディスク装置の各々について診断を行い、
前記診断の結果異常が検出されたときに、該検出された異常が所定の異常であるか否かを判定し、
前記検出された異常が前記所定の異常であると判定されたときに、前記複数のディスク装置のうち、該所定の異常が検出されたディスク装置である異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を診断対象から除外し、
前記複数のディスク装置のうち診断対象から除外されていない残りのディスク装置の各々に対して前記診断を継続し、
前記診断により診断された異常が前記所定の異常であると前記判定において判定されたときに前記診断対象から除外されていない残りのディスク装置のうちで、ディスク装置に付されている属性情報が前記異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する前記診断の継続における診断の頻度を高く変更する、
処理を演算処理装置に実行させ、
前記診断の頻度の変更の処理において、前記異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で議論される実施態様は、データを記憶するディスク装置に対する異常診断の技術に関するものである。
【背景技術】
【０００２】
ディスク装置を複数備えたディスクアレイ装置において、複数のディスク装置を組み合わせて仮想的な１台のデータストレージとして利用できるようにする技術として、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）が知られている。ＲＡＩＤには、ディスク装置の組み合わせの仕組みの違いにより幾つかの種類がある。ＲＡＩＤは、ディスク装置を冗長化構成として、１のディスク装置に異常が発生しても、当該１のディスク装置の記憶データを、他のディスク装置の記憶データを利用して復元可能とする。また、このような冗長化構成を備えていないものをＲＡＩＤに含める場合もある。
【０００３】
また、このようなディスクアレイ装置を構成している複数のディスク装置の各々に対して、ホストからのアクセスとは無関係に一定の頻度で周期的に巡回してアクセスを行ってディスク装置を診断し、その異常を検出する技術が知られている。この技術は、ディスクパトロールなどとも称されている。更に、このディスクパトロール中に読み取りエラーが発生したときには、エラーが発生したディスク装置から所定量のデータの読み取りを行って当該データの検査を優先して行うという技術が知られている。
【０００４】
また、消費電力の低減のためにオフにしていた長期間アクセスされないディスクドライブの電源を、当該オフ後から所定期間経過後には、故障の検査のためにアクセス状況とは関係なくオンとするという技術が知られている。
【０００５】
更に、効率良く故障検出を行うという技術が知られている。この技術は、まず、装置の故障間隔の長さを基準にして複数の点検プログラムをグループ分けし、かつ、故障間隔の長さに応じて各グループの各点検プログラムの実行間隔を決めておく。この技術では、ここで、同じグループの複数の点検プログラムの各実行時においてひとつの点検プログラムでも点検結果が不良のときは、そのグループの点検動作を終了するようにする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−４０７８号公報
【特許文献２】特開２００７−２１３７２１号公報
【特許文献３】特開平１１−８５５５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したディスクパトロールを用いて行うディスク装置の異常の検出において、その異常の検出をより早期に行うためには、各ディスク装置に対して行う、診断のためのアクセスの頻度を高めればよい。しかし、診断のためのアクセスの頻度を単純に高めれば、それだけホストからのアクセスを停滞させる可能性が高まり、本来のアクセス性能を低下させてしまう。
【０００８】
本明細書で後述するディスク制御装置は、ディスクアレイ装置を構成している複数のディスク装置の各々について異常の検出を早期に行えるようにする。
【課題を解決するための手段】
【０００９】
本明細書で後述するディスク制御装置のひとつに、検出部と、判定部と、除外部と、診断頻度変更部とを備えるというものがある。ここで、検出部は、複数のディスク装置の各々についての異常の検出を巡回して繰り返し行う。判定部は、検出部によって異常が検出されたときに、当該異常が所定の重度の異常であるか否かを判定する。そして、除外部は、検出部により検出された異常が所定の重度の異常であると判定部が判定したときに、当該複数のディスク装置のうちで重度異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を、検出部による異常の検出の対象から除外する。なお、重度異常ディスク装置とは、当該所定の重度の異常が検出されたディスク装置である。診断頻度変更部は、診断部により診断された異常が所定の異常であると判定部が判定したときに、除外部が診断対象から除外しなかったディスク装置のうちで、ディスク装置に付されている属性情報が異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する診断部による診断の頻度を高く変更する。この構成において、診断頻度変更部は、異常ディスク装置との間で属性情報が所定の類似関係を有しているディスク装置のうちで、異常ディスク装置との間で属性情報が所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、診断の頻度の変更を行わないようにする。
【００１０】
また、本明細書で後述するディスク装置異常検出方法のひとつは、まず、複数のディスク装置の各々について異常の検出を行う。次に、この異常が検出されたときに、当該検出された異常が所定の重度の異常であるか否かを判定する。次に、検出された異常が所定の重度の異常であると判定されたときに、複数のディスク装置のうちから、当該所定の重度の異常が検出されたディスク装置である重度異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を、異常の検出の対象から除外する。そして、複数のディスク装置のうちから除外されていない残りのディスク装置の各々に対して、上述の異常の検出を継続する。ここで、上述の診断により診断された異常が所定の異常であると上述の判定において判定されたときに診断対象から除外されていない残りのディスク装置のうちで、ディスク装置に付されている属性情報が異常ディスク装置との間で所定の類似関係を有しているディスク装置に対しては、上述の診断の継続における診断の頻度を高く変更する。なお、上述の診断の頻度の変更において、異常ディスク装置との間で属性情報が所定の類似関係を有しているディスク装置のうちで、異常ディスク装置との間で属性情報が所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、診断の頻度の変更を行わない。
【００１１】
また、本明細書で後述するプログラムのひとつは、以下の処理をコンピュータに行わせる。この処理は、まず、複数のディスク装置の各々について異常の検出を行う。次に、この異常が検出されたときに、当該検出された異常が所定の重度の異常であるか否かを判定する。次に、検出された異常が所定の重度の異常であると判定されたときに、複数のディスク装置のうちから、当該所定の重度の異常が検出されたディスク装置である重度異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を、異常の検出の対象から除外する。そして、複数のディスク装置のうちから除外されていない残りのディスク装置の各々に対して、上述の異常の検出を継続する。ここで、上述の診断により診断された異常が所定の異常であると上述の判定において判定されたときに診断対象から除外されていない残りのディスク装置のうちで、ディスク装置に付されている属性情報が異常ディスク装置との間で所定の類似関係を有しているディスク装置に対しては、上述の診断の継続における診断の頻度を高く変更する。なお、上述の診断の頻度の変更の処理において、異常ディスク装置との間で属性情報が所定の類似関係を有しているディスク装置のうちで、異常ディスク装置との間で属性情報が所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、診断の頻度の変更を行わない。
【発明の効果】
【００１２】
本明細書で後述するディスク制御装置は、ホストからのアクセス性能の低下を抑制しつつ、ディスクアレイ装置を構成している複数のディスク装置の各々について異常の検出を早期に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】ディスク制御装置の一実施例の機能ブロック図である。
【図２】ディスク制御装置の別の一実施例の機能ブロック図である。
【図３】エラー評価テーブルの一例である。
【図４】ディスク制御装置のハードウェア構成図である。
【図５】ディスクパトロール制御処理の処理内容を図解したフローチャートである。
【図６】ディスク制御装置によるディスクパトロール動作を説明する図（その１）である。
【図７】ディスク制御装置によるディスクパトロール動作を説明する図（その２）である。
【図８】ディスク制御装置によるディスクパトロール動作を説明する図（その３）である。
【図９】ディスク制御装置によるディスクパトロール動作を説明する図（その４）である。
【図１０】ディスク制御装置によるディスクパトロール動作を説明する図（その５）である。
【発明を実施するための形態】
【００１４】
まず図１について説明する。図１は、ディスク制御装置の一実施例の機能構成図である。
【００１５】
ディスク制御装置１は、複数のディスク装置２−１、２−２、…、２−ｎの制御を行う。なお、ディスク装置２−１、２−２、…、２−ｎは、データを記憶しておく記憶装置である。
【００１６】
なお、以下の説明では、特に区別する必要がない場合には、ディスク装置２−１、２−２、…、２−ｎを、単に「ディスク装置２」と称することとする。
【００１７】
ディスク制御装置１は、診断部１１、判定部１２、及び除外部１３を備えている。
診断部１１は、複数のディスク装置２の各々について異常かどうか診断を行う。
【００１８】
判定部１２は、診断部１１によって異常と診断されたときに、当該異常が所定の異常であるか否かを判定する。なお、所定の異常とは、例えば、複数のディスク装置２のうちの幾つかにより前述の冗長化構成が実現されている場合において、その冗長化構成により得られている記憶データの冗長性が失われてしまうような重度の異常である。
【００１９】
除外部１３は、診断部１１によって診断された異常が上述の所定の異常であると判定部１２が判定したときに、複数のディスク装置２のうちで異常ディスク装置との間でＲＡＩＤを構成しているディスク装置２を、診断部１１による診断対象から除外する。なお、異常ディスク装置とは、判定部１２によって当該所定の異常と判定されたディスク装置２である。
【００２０】
異常と診断されたディスク装置２が異常ディスク装置であった場合には、当該異常ディスク装置を用いて構成されているＲＡＩＤでは、記憶データの消失を防ぐための作業を早急に行うべき状況にある。つまり、異常ディスク装置の発見後は、異常ディスク装置との間でＲＡＩＤを構成しているディスク装置２に対しては異常かどうかの診断を繰り返し行うような状況ではない。そこで、このような場合には、除外部１３が、複数のディスク装置２のうちで、異常ディスク装置との間でＲＡＩＤを構成しているディスク装置２を、診断部１１による診断対象から除外する。このようにすることで、除外部１３により除外されずに残されたディスク装置２に対する診断処理の頻度を高めることができるので、当該残されたディスク装置２についての異常の検出が早期に行える。
【００２１】
なお、ディスク制御装置１は、更に、診断頻度変更部１４を備えてもよい。
診断頻度変更部１４は、複数のディスク装置２から除外部１３が除外しなかったディスク装置２のうちの一部のものに対する診断部１１による診断の頻度を高く変更する。診断頻度変更部１４は、この頻度の変更を、診断部１１により診断された異常が前述の所定の異常であると判定部１２が判定したときに行う。また、診断頻度変更部１４は、この頻度の変更を、複数のディスク装置２から除外部１３が除外しなかったディスク装置２のうちで、付されている属性情報が異常ディスク装置との間で所定の類似関係を有しているものに対して行う。
【００２２】
異常ディスク装置との間で所定の類似関係を有している属性情報が付されているディスク装置２は、異常の発生時期についても、異常ディスク装置と類似していると推定することができる。従って、このようなディスク装置２は異常の発生が差し迫っていると推定される。なお、この属性情報とは、例えば、ディスク装置２に付与されている製造番号である。製造番号が所定の範囲内にあるディスク装置２同士は、異常の発生時期が類似していると推定することができる。そこで、診断頻度変更部１４は、複数のディスク装置２から除外部１３が除外しなかったもののうちで、属性情報が異常ディスク装置との間で類似関係を有しているものについては、診断部１１による診断の頻度を高く変更する。このようにすることで、異常の発生が差し迫っていると推定されるディスク装置２についての異常の検出が早期に行える。
【００２３】
なお、ここで、診断頻度変更部１４は、異常ディスク装置との間で属性情報が前述の所定の類似関係を有しているディスク装置２のうちの一部のものに対しては、診断の頻度の変更を行わないようにしてもよい。より具体的には、診断頻度変更部１４は、異常ディスク装置との間では属性情報が前述の所定の類似関係を有していないディスク装置２との間で冗長性が確保されているディスク装置２に対しては、診断の頻度の変更を行わないようにしてもよい。
【００２４】
異常ディスク装置との間で属性情報が所定の類似関係を有していないディスク装置２との間で冗長性が確保されているディスク装置２であれば、実際に異常が発生して記憶データを失っても、その記憶データの復旧は可能である。そこで、このようなディスク装置２に対しては、前述のように異常の発生が差し迫っていると推定されるものであっても、診断頻度変更部１４による診断の頻度の変更を行わないようにする。このようにすることで、異常の発生が差し迫っていると推定され、且つ、異常の発生が発生すると記憶データの復旧に支障が生じる可能性のあるディスク装置２についての異常の検出が早期に行える。
【００２５】
また、診断頻度変更部１４は、診断部１１により診断された異常が前述の所定の異常ではないと判定部１２が判定したときには、複数のディスク装置２のうちの一部に対する診断部１１による診断の頻度を高くするようにしてもよい。ここで、診断頻度変更部１４は、複数のディスク装置２のうちで軽度異常ディスク装置との間で属性情報が前述の所定の類似関係を有しているものに対する診断の頻度を高くする。なお、軽度異常ディスク装置とは、複数のディスク装置２のうちで、診断部１１により異常があると診断されたが、当該異常が前述の所定の異常ではないと判定部１２により判定されたディスク装置２である。
【００２６】
軽度異常ディスク装置との間で属性情報が所定の類似関係を有しているディスク装置２についても、異常の発生時期は、軽度異常ディスク装置と類似していると推定することができる。従って、このようなディスク装置２は異常の発生が差し迫っていると推定される。そこで、診断頻度変更部１４は、複数のディスク装置２のうちで属性情報が軽度異常ディスク装置との間で所定の類似関係を有しているものについては、診断部１１による診断の頻度を変更して高くする。このようにすることで、異常の発生が差し迫っていると推定されるディスク装置２についての異常の検出が早期に行える。
【００２７】
なお、ここで、診断頻度変更部１４は、軽度異常ディスク装置との間で属性情報が前述の所定の類似関係を有しているディスク装置２のうちの一部のものに対しては、診断の頻度の変更を行わないようにしてもよい。この一部のディスク装置２とは、より具体的には、軽度異常ディスク装置との間で属性情報が前述の所定の類似関係を有していないディスク装置２との間で冗長性が確保されているディスク装置２である。
【００２８】
軽度異常ディスク装置との間で属性情報が所定の類似関係を有していないディスク装置２との間で冗長性が確保されているディスク装置２であれば、実際に異常が発生して記憶データを失っても、その記憶データの復旧は可能である。そこで、このようなディスク装置２に対しては、前述のように異常の発生が差し迫っていると推定されるものであっても、診断頻度変更部１４による診断の頻度の変更を行わないようにする。このようにすることで、異常の発生が差し迫っていると推定され、且つ、異常の発生が発生すると記憶データの復旧に支障が生じる可能性のあるディスク装置２についての異常の検出が早期に行える。
【００２９】
また、ディスク制御装置１は、更に、出力部１５を備えてもよい。
出力部１５は、診断部１１により診断された異常が前述の所定の異常であると判定部１２が判定したときに、当該判定の結果を表している警告を出力する。
【００３０】
前述したように、異常が検出されたディスク装置２が異常ディスク装置であった場合には、当該異常ディスク装置を用いて構成されているＲＡＩＤは、記憶データの消失を防ぐための作業を早急に行うべき状況にある。出力部１５は、このような状況が生じたことを表している所定の警告を出力する。従って、この警告の出力によって、上述した状況の発生が直ちに報知されるので、当該作業を迅速に開始することができる。
【００３１】
次に図１について説明する。図２は、ディスク制御装置の別の一実施例の機能構成図である。
【００３２】
ディスク制御装置１００−１及び１００−２は、ディスクアレイ２００−１、…、２００−ｎの制御を行う。ホストシステム３００は、このディスク制御装置１００−１及び１００−２とディスクアレイ２００−１、…、２００−ｎとで構成されるストレージシステムを使用するシステムである。
【００３３】
なお、ディスク制御装置１００−１及び１００−２は、同一の構成を有しており、二重化による冗長化が施されている。本実施例では、ディスク制御装置１００−１及び１００−２のうちの一方を運用系として常時使用し、他方を予備系として待機させておく。なお、以下の説明では、ディスク制御装置１００−１及び１００−２を総称して「ディスク制御装置１００」と称することとし、このディスク制御装置１００について説明する。
【００３４】
ディスク制御装置１００は、ホストＩ／Ｆ１１０−１及び１１０−２、ディスクＩ／Ｆ１２０−１及び１２０−２、ディスク管理テーブル１３０、エラー評価テーブル１４０、並びに制御部１５０を備えている。
【００３５】
ホストＩ／Ｆ１１０−１及び１１０−２は、ホストシステム３００との間で各種のデータの授受を行うインタフェース装置である。
【００３６】
ディスクＩ／Ｆ１２０−１及び１２０−２は、ディスクアレイ２００−１、…、２００−ｎとの間で各種のデータの授受を行うインタフェース装置である。
【００３７】
なお、ホストＩ／Ｆ１１０−１及び１１０−２並びにディスクＩ／Ｆ１２０−１及び１２０−２は、同一の構成を有しており、二重化による冗長化が施されている。本実施例では、ホストＩ／Ｆ１１０−１及び１１０−２並びにディスクＩ／Ｆ１２０−１及び１２０−２のうちのそれぞれ一方を運用系として常時使用し、他方を予備系として待機させておく。
【００３８】
ディスク管理テーブル１３０は、ディスクアレイ２００−１、…、２００−ｎが各々備えているディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４の各々の属性情報を管理しておくテーブルである。
【００３９】
エラー評価テーブル１４０は、ディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４において検出されるエラーの重症度を表す評価点が、エラーの種別毎に対応付けられたテーブルである。図３は、このエラー評価テーブル１４０の一例である。
【００４０】
制御部１５０は、ディスク制御装置１００が備えている各部の動作の制御を行うものであり、特に、ディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４の各々に対して前述のディスクパトロールを実施するための制御を行う。この制御部１５０は、Ｉ／Ｏ制御部１５１、診断スケジュール制御部１５２、及びディスク診断制御部１５３を備えている。
【００４１】
Ｉ／Ｏ制御部１５１は、ホストＩ／Ｆ１１０−１及び１１０−２並びにディスクＩ／Ｆ１２０−１及び１２０−２の動作制御を行う。
【００４２】
診断スケジュール制御部１５２は、ディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４の各々に対する診断（異常の検出及び検出された異常の重症度の判定）の実施スケジュールを作成するための制御を行う。
【００４３】
ディスク診断制御部１５３は、ディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４の各々に対する診断を、診断スケジュール制御部１５２により作成されるスケジュールに従って実施するための制御を行う。
【００４４】
ディスク診断制御部１５３は、ディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４の各々に対してディスクアクセスを行い、その応答としてエラーメッセージを受信することによって、ディスクエラーの検出を行う。このエラーメッセージにはエラー種別を示す情報が含まれており、ディスク診断制御部１５３は、エラー評価テーブル１４０において、このエラー種別に対応付けられている評価点に基づいて、ディスクエラーの重症度の判定を行う。
【００４５】
なお、ディスク制御装置１００においては、ディスク診断制御部１５３が図１における診断部１１及び判定部１２に相当する機能を提供し、診断スケジュール制御部１５２が図１における除外部１３及び診断頻度変更部１４に相当する機能を提供する。そして、ホストＩ／Ｆ１１０−１及び１１０−２が図１における出力部１５に相当する機能を提供する。
【００４６】
ディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４は、いずれもハードディスク記憶装置である。なお、本実施例では、ディスクアレイ２００−１、…、２００−ｎにおいて、各々４台ずつ備えられているディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４によりＲＡＩＤ５が構成されている。なお、以下の説明では、ディスクアレイ２００−１、…、２００−ｎの各々において構成されているＲＡＩＤのグループをそれぞれ、グループ１、…、ｎと称することとする。
【００４７】
なお、ディスク管理テーブル１３０では、ディスク２００−１−１、…、２００−１−４、…、２００−ｎ−１、…、２００−ｎ−４が各々属しているＲＡＩＤのグループについての情報も管理されている。
【００４８】
次に図４について説明する。図４は、ディスク制御装置１００のハードウェア構成図である。
【００４９】
このディスク制御装置１００は、ＭＰＵ４０１、ＲＯＭ４０２、ＲＡＭ４０３、インタフェース装置４０４、及び表示装置４０５を備えて構成されている。なお、これらの各構成要素は、いずれもバスライン４０６に接続されており、ＭＰＵ４０１の管理の下で各種のデータを相互に授受することができるように構成されている。
【００５０】
ＭＰＵ（Micro Processing Unit）４０１は、ディスク制御装置１００全体の動作を制御する演算処理装置であり、図２におけるＩ／Ｏ制御部１５１、診断スケジュール制御部１５２、及びディスク診断制御部１５３として機能する。
【００５１】
ＲＯＭ（Read Only Memory）４０２は、後述するディスクパトロール制御処理をＭＰＵ４０１に行わせるプログラムを含む所定の制御プログラムが予め記録されている不揮発性半導体メモリであり、例えばフラッシュメモリである。ＭＰＵ４０１は、この制御プログラムをディスク制御装置１００の起動時に読み出して実行することにより、ディスク制御装置１００の各構成要素の動作制御が可能になり、上述した図２の各部の機能の提供が可能になる。
【００５２】
ＲＡＭ（Random Access Memory）４０３は、ＭＰＵ４０１が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。
【００５３】
インタフェース装置４０４は、ディスク制御装置１００に接続される各種機器との間での各種データの授受の管理を行うものであり、図２におけるホストＩ／Ｆ１１０−１及び１１０−２並びにディスクＩ／Ｆ１２０−１及び１２０−２として機能する。
【００５４】
表示装置４０５は、例えば液晶ディスプレイやＬＥＤ（Light Emitting Diode）素子であり、ＭＰＵ４０１からの指示に従って各種の表示を行う。この表示装置４０５が図１における出力部１５に相当する機能を提供するようにしてもよい。
【００５５】
以上のように、ディスク制御装置１００は、標準的な構成のコンピュータと同様の構成を有している。
【００５６】
なお、ＭＰＵ４０１にディスク制御装置１００の各構成要素の動作制御を行わせるための前述の制御プログラムは、可搬型記録媒体４０７に記録されているものであってもよい。可搬型記録媒体４０７には、例えば、ＵＳＢ（Universal Serial Bus）規格のコネクタが備えられているフラッシュメモリ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disc Read Only Memory）が利用可能である。なお、このようにする場合には、可搬型記録媒体４０７に記録されているデータを読み出すデータ読出装置４０８をディスク制御装置１００に備えてバスライン４０６に接続しておくようにする。ＭＰＵ４０１は、データ読出装置４０８によって可搬型記録媒体４０７に記録されている制御プログラムを読み出せる状態となったときに、当該制御プログラムをデータ読出装置４０８に読み出させてＲＯＭ４０２に格納させる処理を行うようにする。このようにすることで、可搬型記録媒体４０７に記録されていた制御プログラムをＭＰＵ４０１が実行できるようになり、ディスク制御装置１００の各構成要素の動作制御が可能になる。
【００５７】
次に図５について説明する。図５は、ディスクパトロール制御処理の処理内容を図解したフローチャートである。この処理は図４のＭＰＵ４０１によって行われて、図２における制御部１５０が有する各種の機能が提供される。
【００５８】
なお、この図５の処理の開始前には、ディスク診断の実施スケジュールとして、前述した、ＲＡＩＤのグループ１、…、グループｎが、この順序で初期設定されているものとする。また、各グループ内では、図２に付した符号の順序でディスク診断が行われるものとする。すなわち、例えばグループ１においては、ディスク２００−１−１、…、ディスク２００−１−４の順序でディスク診断が行われるものとする。
【００５９】
図５の処理は、ディスクパトロールの開始を示す所定の指示をＭＰＵ４０１が受け取ると開始される。
【００６０】
図５において、まず、Ｓ１０１では、現在設定されている実施スケジュールの順序に従ったディスク診断の実施を繰り返してディスクエラーを検出する処理をディスク診断制御部１５３が行う。なお、ディスクエラーは、例えば、ディスクアクセスに対する応答として、エラーメッセージを受信することによって検出される。この処理を実行するディスク診断制御部１５３は、図１における診断部１１に相当する機能を提供する。
【００６１】
次に、Ｓ１０２では、Ｓ１０１の処理で実施されたディスク診断において、ディスクエラーが検出されたか否かを判定する処理をディスク診断制御部１５３が行う。ここで、ディスク診断制御部１５３は、ディスクエラーを検出したと判定したとき（判定結果がＹｅｓのとき）にはＳ１０３に処理を進める。一方、ディスク診断制御部１５３は、ここで、ディスクエラーを検出しないと判定したとき（判定結果がＮｏのとき）にはＳ１０１へ処理を戻して、ディスクエラーを検出する処理を継続する。
【００６２】
以降の説明においては、上述したようにしてディスク診断制御部１５３によってディスクエラーが検出されたディスクを、「エラー検出ディスク」と称することとする。
【００６３】
まず、Ｓ１０３では、ディスク管理テーブル１３０を参照して、エラー検出ディスクについての属性情報を取得する処理を診断スケジュール制御部１５２が行う。
【００６４】
次に、Ｓ１０４では、ディスク管理テーブル１３０を更に参照して、属性情報がエラー検出ディスクと類似しているディスクを抽出し、抽出されたディスクからなるグループを作成する処理を診断スケジュール制御部１５２が行う。この処理により作成されるグループを、「類似ディスクグループ」と称することとする。
【００６５】
次に、Ｓ１０５では、エラー検出ディスクで検出されたエラーが所定の重度のものであるか否かを判定する処理をディスク診断制御部１５３が行う。この処理を実行するディスク診断制御部１５３は、図１における判定部１２に相当する機能を提供する。
【００６６】
本実施例では、このＳ１０５の処理では、まず、エラー評価テーブル１４０（図３）を参照して、エラー検出ディスクで検出されたエラーについての評価点を取得し、この評価点と所定の閾値点との大小比較を行う。ここで、評価点が閾値点以上であれば、当該エラーが重度であるとの判定を下し、評価点が閾値点未満であれば、当該エラーが軽度であるとの判定を下す。なお、エラー検出ディスクで検出されたエラーが複数であった場合には、各エラーについての評価点の合計と、所定の閾値点との大小比較を行うようにする。従って、この判定処理は、エラー検出ディスクから複数検出されたエラーの各々は軽度のものであっても、そのエラー検出ディスクは重度のエラーの状態におかれているとの判定を下す場合もある。
【００６７】
ディスク診断制御部１５３は、このＳ１０５の判定処理において、エラー検出ディスクで検出されたエラーが重度のものであると判定したとき（判定結果がＹｅｓのとき）にはＳ１０６に処理を進める。一方、エラー検出ディスクで検出されたエラーが軽度のものであると判定したとき（判定結果がＮｏのとき）にはＳ１１０に処理を進める。
【００６８】
次に、Ｓ１０６では、ディスク診断の実施スケジュールから、エラー検出ディスクが含まれているＲＡＩＤのグループを除外する処理を診断スケジュール制御部１５２が行う。この処理では、エラー検出ディスクが含まれているＲＡＩＤのグループの情報をディスク管理テーブル１３０から取得し、取得されたグループを実施スケジュールから除外する処理が行われる。この処理を実行するディスク診断制御部１５３は、図１における除外部１３に相当する機能を提供する。
【００６９】
次に、Ｓ１０７では、重度のエラーの発生が検出されたことを表している所定の警告を、ホストＩ／Ｆ１１０−１及び１１０−２からホストシステム３００へ出力する処理をＩ／Ｏ制御部１５１が行う。この処理に従って所定の警告を出力するＩ／Ｏ制御部１５１は、図１における出力部１５に相当する機能を提供する。なお、この処理によって出力される警告には、エラー検出ディスクを特定する情報を添付してもよく、また、Ｓ１０６の処理によってディスク診断の実施スケジュールから除外されたＲＡＩＤのグループを特定する情報を添付してもよい。また、この処理において、所定の警告の出力を、図４の表示装置４０５に表示させて行うようにしてもよい。
【００７０】
次に、Ｓ１０８では、この時点で類似ディスクグループに属しているディスクに、当該グループ外のディスクによって冗長性が確保されているものがあるか否かを判定する処理を診断スケジュール制御部１５２が行う。この処理では、まず、類似ディスクグループに属しているディスクが含まれているＲＡＩＤのグループの情報をディスク管理テーブル１３０から取得する。そして、取得されたグループに含まれており且つ類似ディスクグループには属していないディスクによって、類似ディスクグループに属しているディスクの冗長性が確保されているか否かが判定される。但し、類似ディスクグループに属しているディスクが含まれているＲＡＩＤのグループにエラー検出ディスク自体が属していた場合には、そのエラーの発生によって、上述の冗長性が確保されなくなったとの判定を下す。
【００７１】
診断スケジュール制御部１５２は、このＳ１０８の判定処理において、上述の冗長性が確保されているものがあると判定したとき（判定結果がＹｅｓのとき）にはＳ１０９に処理を進める。一方、診断スケジュール制御部１５２は、このＳ１０８の判定処理において、上述の冗長性が確保されているものがないと判定したとき（判定結果がＮｏのとき）にはＳ１１３に処理を進める。
【００７２】
次に、Ｓ１０９では、Ｓ１０８の判定処理において上述の冗長性が確保されていると判定されたディスクを、類似ディスクグループから除外する処理を診断スケジュール制御部１５２が行い、その後はＳ１１３に処理を進める。
【００７３】
ところで、Ｓ１０５の判定処理においてエラー検出ディスクで検出されたエラーが軽度のものであると判定したときには、Ｓ１１０の処理が行われる。Ｓ１１０では、エラー検出ディスクを含んでいるＲＡＩＤのグループに含まれている全てのディスクを、類似ディスクグループに追加する処理が行われる。
【００７４】
次に、Ｓ１１１では、この時点で類似ディスクグループに属しているディスクに、当該グループ外のディスクによって冗長性が確保されているものがあるか否かを判定する処理を診断スケジュール制御部１５２が行う。この処理は、前述したＳ１０８と同様の処理である。
【００７５】
診断スケジュール制御部１５２は、このＳ１１１の判定処理において、上述の冗長性が確保されているものがあると判定したとき（判定結果がＹｅｓのとき）にはＳ１１２に処理を進める。一方、診断スケジュール制御部１５２は、このＳ１１１の判定処理において、上述の冗長性が確保されているものがないと判定したとき（判定結果がＮｏのとき）にはＳ１１３に処理を進める。
【００７６】
次に、Ｓ１１２では、Ｓ１１１の判定処理において上述の冗長性が確保されていると判定されたディスクを、類似ディスクグループから除外する処理を診断スケジュール制御部１５２が行い、その後はＳ１１３に処理を進める。
【００７７】
次に、Ｓ１１３では、この時点でのディスク診断の実施スケジュールを変更して、この時点での類似ディスクグループを追加する処理を診断スケジュール制御部１５２が行う。この処理による類似ディスクグループの実施スケジュールへの追加により、この時点で類似ディスクグループに含まれていたディスクに対するディスク診断の頻度が高くなる。
【００７８】
以上のＳ１０８からＳ１１３までの処理を実行する診断スケジュール制御部１５２は、図１における診断頻度変更部１４に相当する機能を提供する。
【００７９】
上述のＳ１１３の処理が完了した後はＳ１０１に処理が戻り、変更後のスケジュールの下でのディスク診断が行われる。
【００８０】
以上までの処理がディスクパトロール制御処理である。
次に、図２のディスク制御装置１００において上述したディスクパトロール制御処理が行われることによって実現されるディスクパトロール動作について、図６から図１０の各図を用いて説明する。
【００８１】
まず図６について説明する。
図６の例において、「グループ１」及び「グループ２」は、それぞれＲＡＩＤのグループを表している。このうち、「グループ１」は、名称がそれぞれＤｉｓｋ＃０１００、Ｄｉｓｋ＃０１０１、Ｄｉｓｋ＃０１０２、及びＤｉｓｋ＃０１０３である４台のディスクを含むグループであり、この４台のディスクによってＲＡＩＤ５が構成されている。また、「グループ２」は、名称がそれぞれＤｉｓｋ＃０２００、Ｄｉｓｋ＃０２０１、Ｄｉｓｋ＃０２０２、及びＤｉｓｋ＃０２０３である４台のディスクを含むグループであり、この４台のディスクによってＲＡＩＤ５が構成されている。なお、ＲＡＩＤ５では、グループ内の１台のディスクに故障が発生してもデータの復旧は可能であり、グループ内の２台以上のディスクに故障が発生した場合にはデータを復旧できなくなる。従って、ＲＡＩＤ５では、グループ内の１台のディスクの故障に対する冗長性が確保されている。
【００８２】
図６の例では、ディスク制御装置１００は、「グループ１」を構成しているディスク及び「グループ２」を構成しているディスクに対するディスクパトロールを行う。
【００８３】
ディスク制御装置１００が保持しているディスク管理テーブル１３０では、「ディスク名称」と、「製造番号」と、「グループ」とが対応付けられている。ここで、「ディスク名称」は、ディスクの名称である。また、「製造番号」は、「ディスク名称」で特定されるディスクの製造時に付された製造番号である。なお、製造番号はディスクの属性情報の一例である。また、「グループ」は、「ディスク名称」で特定されるディスクが属しているＲＡＩＤのグループを表している。
【００８４】
また、図６の例では、ディスク診断の実施スケジュールとして、「グループ１」と「グループ２」とが交互に実施される初期スケジュールが、予め設定されているものとする。
【００８５】
前述した図５のディスクパトロール制御処理の実行が開始されると、Ｓ１０１及びＳ１０２の処理の繰り返しによりディスクパトロールが実施されてディスクエラーの検出が行われる。図６の例は、このディスクパトロールによってＤｉｓｋ＃０１０２のエラーが検出された状態を表している。このエラーが検出されると、処理はＳ１０３に進み、エラーが検出されたＤｉｓｋ＃０２０１の製造番号「３ＫＴ００ＮＪＳ０４１６」が、属性情報として、ディスク管理テーブル１３０から取得される。
【００８６】
次に、Ｓ１０４において類似ディスクグループを作成する処理が行われ、続くＳ１０５において、Ｄｉｓｋ＃０１０２のエラーが重度のものであるか否かを判定する処理が行われる。ここで、Ｄｉｓｋ＃０１０２のエラーが重度であった場合の例を図解したものが図７である。
【００８７】
図７の例では、Ｓ１０４の処理により、Ｄｉｓｋ＃０１０２に製造番号が類似するディスクとして、Ｄｉｓｋ＃０２０２とＤｉｓｋ＃０２０３とがディスク管理テーブル１３０から抽出されて類似ディスクグループが作成されたことを表している。図７では、この類似ディスクグループを、便宜上「グループ３」と表記している。
【００８８】
なお、図７から図１０の各図の例では、各ディスクに付与されている１２桁の製造番号のうちで、文字がＤｉｓｋ＃０１０２の製造番号と同一である桁が８桁以上であることを、属性情報の類似の判断基準として採用している。
【００８９】
図７の例では、Ｄｉｓｋ＃０１０２のエラーが重度であったことから、図５のディスクパトロール制御処理では、次にＳ１０６の処理が行われる。そして、Ｓ１０６の処理により、Ｄｉｓｋ＃０１０２が含まれているＲＡＩＤのグループである、「グループ１」がディスク診断の実施スケジュールから除外される。従って、この除外後の実施スケジュールは、「グループ２」のみとなり、「グループ１」に含まれている各ディスクに対するディスク診断は、この後は行われなくなる。従って、「グループ２」に含まれている各ディスクに対するディスク診断の頻度が高くなる。
【００９０】
その後、Ｓ１０７の処理によって所定の警告が出力され、続くＳ１０８の処理によって、類似ディスクグループに含まれているディスクに、類似ディスクグループ外のディスクによって冗長性が確保されているものがあるか否かが判定される。
【００９１】
図７の例では、Ｄｉｓｋ＃０２０２とＤｉｓｋ＃０２０３との両者が、ＲＡＩＤ５である「グループ２」に含まれている。従って、この２台のディスクは、「グループ２」において類似ディスクグループには属していないＤｉｓｋ＃０２００及びＤｉｓｋ＃０２０１による冗長性は確保されていない。従って、Ｓ１０８の判定結果は「Ｎｏ」となり、Ｄｉｓｋ＃０２０２とＤｉｓｋ＃０２０３とは、どちらも類似ディスクグループから削除されることなく、処理はＳ１１３に進む。
【００９２】
Ｓ１１３では、ディスク診断の実施スケジュールに、この時点での類似ディスクグループを追加する処理が行われる。この処理の直前の実施スケジュールは、Ｓ１０６の処理によって「グループ２」のみとなっているので、これに類似ディスクグループである「グループ３」がＳ１１３の処理によって追加される。この結果、以降のディスク診断の実施スケジュールは「グループ２」と「グループ３」との繰り返しとなる。ここで、Ｄｉｓｋ＃０２０２とＤｉｓｋ＃０２０３とは、「グループ２」と「グループ３」とのどちらにも含まれている。従って、これらのディスクに対するディスク診断の頻度は、Ｄｉｓｋ＃０１０２のエラーの検出前に比べて高くなる。
【００９３】
次に図８の例について説明する。
図８の例は、図６及び図７の例に、ＲＡＩＤのグループである「グループ３」が追加されている。この「グループ３」は、名称がそれぞれＤｉｓｋ＃０３００、Ｄｉｓｋ＃０３０１、Ｄｉｓｋ＃０３０２、及びＤｉｓｋ＃０３０３である４台のディスクを含むグループであり、この４台のディスクによってＲＡＩＤ５が構成されている。また、ディスク管理テーブル１３０には、これらのＤｉｓｋ＃０３００、Ｄｉｓｋ＃０３０１、Ｄｉｓｋ＃０３０２、及びＤｉｓｋ＃０３０３に関する情報も格納されている。なお、ここで、Ｄｉｓｋ＃０３０２が、Ｄｉｓｋ＃０１０２と製造番号が類似していることを表している。
【００９４】
また、図８の例では、ディスク診断の実施スケジュールとして、「グループ１」、「グループ２」、及び「グループ３」が、この順序で繰り返し実施される初期スケジュールが、予め設定されているものとする。
【００９５】
前述した図５のディスクパトロール制御処理の実行が開始されると、Ｓ１０１及びＳ１０２の処理の繰り返しによりディスクパトロールが実施されてディスクエラーの検出が行われる。図８の例においても、このディスクパトロールによってＤｉｓｋ＃０１０２のエラーが検出された状態を表している。このエラーが検出されると、処理はＳ１０３に進み、エラーが検出されたＤｉｓｋ＃０２０１の製造番号が、属性情報として、ディスク管理テーブル１３０から取得される。
【００９６】
次に、Ｓ１０４において類似ディスクグループを作成する処理が行われ、続くＳ１０５において、Ｄｉｓｋ＃０１０２のエラーが重度のものであるか否かを判定する処理が行われる。図８の例は、Ｄｉｓｋ＃０１０２のエラーが重度であった場合を想定している。
【００９７】
図８の例では、Ｓ１０４の処理により、Ｄｉｓｋ＃０１０２に製造番号が類似するディスクとして、Ｄｉｓｋ＃０２０２、Ｄｉｓｋ＃０２０３、及びＤｉｓｋ＃０３０２がディスク管理テーブル１３０から抽出されて類似ディスクグループが一旦作成される。ここでは、この類似ディスクグループを、便宜上「グループ４」と表記することとする。
【００９８】
Ｄｉｓｋ＃０１０２のエラーが重度であったことから、図５のディスクパトロール制御処理では、次にＳ１０６の処理が行われる。そして、Ｓ１０６の処理により、Ｄｉｓｋ＃０１０２が含まれているＲＡＩＤのグループである、「グループ１」がディスク診断の実施スケジュールから除外される。従って、この除外後の実施スケジュールは、「グループ２」と「グループ３」とが交互に実施されるものとなり、「グループ１」に含まれている各ディスクに対するディスク診断は、この後は行われなくなる。従って、「グループ２」及び「グループ３」のどちらかに含まれている各ディスクに対するディスク診断の頻度が高くなる。
【００９９】
その後、Ｓ１０７の処理によって所定の警告が出力され、続くＳ１０８の処理によって、類似ディスクグループに含まれているディスクに、類似ディスクグループ外のディスクによって冗長性が確保されているものがあるか否かが判定される。
【０１００】
図８の例において、Ｄｉｓｋ＃０２０２とＤｉｓｋ＃０２０３との両者が、ＲＡＩＤ５のグループである「グループ２」に含まれている点は、図７の例と同様である。従って、この２台のディスクは、「グループ２」において類似ディスクグループには属していないＤｉｓｋ＃０２００及びＤｉｓｋ＃０２０１による冗長性は確保されていない。これに対し、Ｄｉｓｋ＃０３０２は、ＲＡＩＤ５のグループである「グループ３」に含まれている。従って、Ｄｉｓｋ＃０３０２は、「グループ３」において類似ディスクグループには属していないＤｉｓｋ＃０３００、Ｄｉｓｋ＃０３０１、及びＤｉｓｋ＃０３０３によって冗長性が確保されている。従って、Ｓ１０８の判定結果は「Ｙｅｓ」となり、処理はＳ１０９に進む。
【０１０１】
Ｓ１０９では、上述した冗長性が確保されているＤｉｓｋ＃０３０２が、類似ディスクグループから除外される処理が行われる。この結果、類似ディスクグループである「グループ４」に属するディスクは、Ｄｉｓｋ＃０２０２及びＤｉｓｋ＃０２０３となる。
【０１０２】
Ｓ１１３では、ディスク診断の実施スケジュールに、この時点での類似ディスクグループを追加する処理が行われる。この処理の直前の実施スケジュールは、Ｓ１０６の処理によって「グループ２」と「グループ３」とが交互に実施されるものとなっているので、これに類似ディスクグループである「グループ４」がＳ１１３の処理によって追加される。この結果、以降のディスク診断の実施スケジュールは「グループ２」、「グループ３」、「グループ４」がこの順序で繰り返し実施されるものとなる。ここで、重度のエラーが検出されたＤｉｓｋ＃０１０２と製造番号が類似しているＤｉｓｋ＃０２０２とＤｉｓｋ＃０２０３とは、「グループ２」と「グループ４」とのどちらにも含まれている。従って、これらのディスクに対するディスク診断の頻度は、Ｄｉｓｋ＃０１０２のエラーの検出前に比べて高くなる。これに対し、Ｄｉｓｋ＃０３０２は、Ｄｉｓｋ＃０１０２と製造番号が類似しているが、「グループ３」による冗長化が確保されているので、Ｄｉｓｋ＃０２０２及びＤｉｓｋ＃０２０３のようなディスク診断の頻度の変更は行われない。
【０１０３】
次に図９の例について説明する。
前述した図７の例は、Ｄｉｓｋ＃０１０２のエラーが重度であった場合を図解したものであったのに対し、図９の例は、Ｄｉｓｋ＃０１０２のエラーが軽度であった場合を表している。
【０１０４】
なお、図９の例においても、ディスク診断の実施スケジュールとして、「グループ１」と「グループ２」とが交互に実施される初期スケジュールが、予め設定されているものとする。
【０１０５】
前述した図５のディスクパトロール制御処理の実行が開始されると、Ｓ１０１及びＳ１０２の処理の繰り返しによりディスクパトロールが実施されてディスクエラーの検出が行われて、Ｄｉｓｋ＃０１０２のエラーが検出される。すると、処理はＳ１０３に進み、エラーが検出されたＤｉｓｋ＃０２０１の製造番号が、属性情報として、ディスク管理テーブル１３０から取得される。
【０１０６】
次に、Ｓ１０４において類似ディスクグループを作成する処理が行われる。図９の例でも、Ｓ１０４の処理により、Ｄｉｓｋ＃０１０２に製造番号が類似するディスクとして、Ｄｉｓｋ＃０２０２、Ｄｉｓｋ＃０２０３、及びＤｉｓｋ＃０３０２がディスク管理テーブル１３０から抽出されて類似ディスクグループが一旦作成される。ここでは、この類似ディスクグループを、便宜上「グループ３」と表記することとする。
【０１０７】
次にＳ１０５において、Ｄｉｓｋ＃０１０２のエラーが重度のものであるか否かを判定する処理が行われる。図９の例では、Ｄｉｓｋ＃０１０２のエラーが軽度であったことから、次にＳ１１０の処理が行われる。そして、Ｓ１１０の処理により、Ｄｉｓｋ＃０１０２が含まれているＲＡＩＤのグループである、「グループ１」に含まれている全てのディスクを、類似ディスクグループに追加する処理が行われる。従って、「グループ１」に含まれているＤｉｓｋ＃０１００、Ｄｉｓｋ＃０１０１、Ｄｉｓｋ＃０１０２、及びＤｉｓｋ＃０１０３の４台のディスクが、「グループ３」に追加される。
【０１０８】
次に、Ｓ１１１の処理によって、類似ディスクグループに含まれるディスクに、類似ディスクグループ外のディスクによって冗長性が確保されているものがあるか否かが判定される。
【０１０９】
図９の例では、Ｄｉｓｋ＃０２０２及びＤｉｓｋ＃０２０３が、ＲＡＩＤ５である「グループ２」に含まれており、Ｄｉｓｋ＃０１００、Ｄｉｓｋ＃０１０１、Ｄｉｓｋ＃０１０２、及びＤｉｓｋ＃０１０３が、ＲＡＩＤ５である「グループ１」に含まれている。しかし、これらのディスクは、各グループにおいて類似ディスクグループには属していないディスクによる冗長性は確保されていない。従って、Ｓ１１１の判定結果は「Ｎｏ」となり、類似ディスクグループからいずれのディスクも削除されることなく、処理はＳ１１３に進む。
【０１１０】
Ｓ１１３では、ディスク診断の実施スケジュールに、この時点での類似ディスクグループを追加する処理が行われる。この処理の直前の実施スケジュールは、「グループ１」と「グループ２」とが交互に実施される初期スケジュールのままであるので、これに類似ディスクグループである「グループ３」がＳ１１３の処理によって追加される。この結果、以降のディスク診断の実施スケジュールは「グループ１」、「グループ２」、「グループ３」がこの順序で繰り返し実施されるものとなる。ここで、類似ディスクグループである「グループ３」に含まれているディスクは、いずれも、「グループ１」及び「グループ２」のどちらかに含まれている。従って、これらのディスクに対するディスク診断の頻度は、Ｄｉｓｋ＃０１０２のエラーの検出前に比べて高くなる。
【０１１１】
次に図１０の例について説明する。
前述した図８の例は、Ｄｉｓｋ＃０１０２のエラーが重度であった場合を図解したものであったのに対し、図１０の例は、Ｄｉｓｋ＃０１０２のエラーが軽度であった場合を表している。
【０１１２】
なお、図１０の例でも、ディスク診断の実施スケジュールとして、「グループ１」、「グループ２」、及び「グループ３」が、この順序で繰り返し実施される初期スケジュールが、予め設定されているものとする。
【０１１３】
前述した図５のディスクパトロール制御処理の実行が開始されると、Ｓ１０１及びＳ１０２の処理の繰り返しによりディスクパトロールが実施されてディスクエラーの検出が行われる。図８の例においても、このディスクパトロールによってＤｉｓｋ＃０１０２のエラーが検出された状態を表している。このエラーが検出されると、処理はＳ１０３に進み、エラーが検出されたＤｉｓｋ＃０２０１の製造番号が、属性情報として、ディスク管理テーブル１３０から取得される。
【０１１４】
次に、Ｓ１０４において類似ディスクグループを作成する処理が行われる。図８の例では、この処理により、Ｄｉｓｋ＃０１０２に製造番号が類似するディスクとして、Ｄｉｓｋ＃０２０２、Ｄｉｓｋ＃０２０３、及びＤｉｓｋ＃０３０２がディスク管理テーブル１３０から抽出されて類似ディスクグループが一旦作成される。ここでは、この類似ディスクグループを、便宜上「グループ４」と表記することとする。
【０１１５】
次に、Ｓ１０５において、Ｄｉｓｋ＃０１０２のエラーが重度のものであるか否かを判定する処理が行われる。図１０の例では、Ｄｉｓｋ＃０１０２のエラーが軽度であったことから、次にＳ１１０の処理が行われる。そして、Ｓ１１０の処理により、Ｄｉｓｋ＃０１０２が含まれているＲＡＩＤのグループである、「グループ１」に含まれている全てのディスクを、類似ディスクグループに追加する処理が行われる。従って、「グループ１」に含まれているＤｉｓｋ＃０１００、Ｄｉｓｋ＃０１０１、Ｄｉｓｋ＃０１０２、及びＤｉｓｋ＃０１０３の４台のディスクが、「グループ４」に追加される。
【０１１６】
次に、Ｓ１１１の処理によって、類似ディスクグループに含まれるディスクに、類似ディスクグループ外のディスクによって冗長性が確保されているものがあるか否かが判定される。
【０１１７】
図１０の例では、Ｄｉｓｋ＃０２０２及びＤｉｓｋ＃０２０３が、ＲＡＩＤ５である「グループ２」に含まれており、Ｄｉｓｋ＃０１００、Ｄｉｓｋ＃０１０１、Ｄｉｓｋ＃０１０２、及びＤｉｓｋ＃０１０３が、ＲＡＩＤ５である「グループ１」に含まれている。しかし、これらのディスクは、各グループにおいて類似ディスクグループには属していないディスクによる冗長性は確保されていない。これに対し、Ｄｉｓｋ＃０３０２は、ＲＡＩＤ５のグループである「グループ３」に含まれている。従って、Ｄｉｓｋ＃０３０２は、「グループ３」において類似ディスクグループには属していないＤｉｓｋ＃０３００、Ｄｉｓｋ＃０３０１、及びＤｉｓｋ＃０３０３によって冗長性が確保されている。従って、Ｓ１１１の判定結果は「Ｙｅｓ」となり、処理はＳ１１２に進む。
【０１１８】
Ｓ１１２では、上述した冗長性が確保されているＤｉｓｋ＃０３０２が、類似ディスクグループから除外する処理が行われる。この結果、類似ディスクグループである「グループ４」に属するディスクは、Ｄｉｓｋ＃０２０２及びＤｉｓｋ＃０２０３と、Ｄｉｓｋ＃０１００、Ｄｉｓｋ＃０１０１、Ｄｉｓｋ＃０１０２、及びＤｉｓｋ＃０１０３とになる。
【０１１９】
Ｓ１１３では、ディスク診断の実施スケジュールに、この時点での類似ディスクグループを追加する処理が行われる。この処理の直前の実施スケジュールは、この処理の直前の実施スケジュールは、「グループ１」、「グループ２」、及び「グループ３」が、この順序で繰り返し実施される初期スケジュールのままである。従って、この初期スケジュールに、類似ディスクグループである「グループ４」がＳ１１３の処理によって追加される。この結果、以降のディスク診断の実施スケジュールは「グループ１」、「グループ２」、「グループ３」、「グループ４」がこの順序で繰り返し実施されるものとなる。ここで、類似ディスクグループである「グループ４」に含まれているディスクは、いずれも、「グループ１」及び「グループ２」のどちらかに含まれている。従って、これらのディスクに対するディスク診断の頻度は、Ｄｉｓｋ＃０１０２のエラーの検出前に比べて高くなる。これに対し、Ｄｉｓｋ＃０３０２は、Ｄｉｓｋ＃０１０２と製造番号が類似しているが、「グループ３」による冗長化が確保されているので、「グループ４」に含まれているディスクのようなディスク診断の頻度の変更は行われない。
【０１２０】
以上のように、図２のディスク制御装置１００では、異常が検出されたディスクの異常の程度が重度であった場合には、当該ディスク装置との間でＲＡＩＤを構成しているものを、異常の巡回検出の対象から除外する。このようにすることで、異常の巡回検出の対象から除外されずに残されたディスクに対する異常検出の頻度が高まるので、当該残されたディスクについての異常の検出が早期に行えるようになる。
【０１２１】
なお、上述した実施例では、ディスクの属性情報として、ディスクに付与されている製造番号を使用したが、他の情報も利用可能である。例えば、ディスクのメーカ名、記憶容量、製造年月日、製造ロット番号、インタフェース形式名や、これらの組み合わせが、利用可能な属性情報として利用可能である。
【０１２２】
なお、以上までに説明した実施形態に関し、更に以下の付記を開示する。
（付記１）
複数のディスク装置の各々について異常かどうか診断を行う診断部と、
前記診断部によって異常と診断されると、該異常が所定の異常であるか否かを判定する判定部と、
前記所定の異常であると前記判定部が判定すると、前記複数のディスク装置のうちで、該所定の異常と判定されたディスク装置である異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を、前記診断部による診断対象から除外する除外部と、
を備えるディスク制御装置。
（付記２）
前記診断部により診断された異常が前記所定の異常であると前記判定部が判定したときに、前記除外部が診断対象から除外しなかったディスク装置のうちで、ディスク装置に付されている属性情報が前記異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する前記診断部による診断の頻度を高く変更する診断頻度変更部を更に備える付記１に記載のディスク制御装置。
（付記３）
前記属性情報は、ディスク装置に付されている製造番号である付記２に記載のディスク制御装置。
（付記４）
前記診断頻度変更部は、前記異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない付記２又は３に記載のディスク制御装置。
（付記５）
前記診断頻度変更部は、前記診断部により診断された異常が前記所定の異常ではないと前記判定部が判定したときには、前記複数のディスク装置のうちで、該所定の異常ではない異常と判定されたディスク装置である軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置に対する該診断部による診断の頻度を高くする付記２から４のうちのいずれか一項に記載のディスク制御装置。
（付記６）
前記診断頻度変更部は、前記軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置によって該軽度異常ディスク装置との間で冗長性が確保されているディスク装置に対しては、前記異常の診断の頻度の変更を行わない付記５に記載のディスク制御装置。
（付記７）
前記診断部により診断された異常が前記所定の異常であると前記判定部が判定したときに、該判定の結果を表している警告を出力する出力部を更に備える付記１から６のうちのいずれか一項に記載のディスク制御装置。
（付記８）
複数のディスク装置の各々について診断を行い、
前記診断の結果異常が検出されたときに、該検出された異常が所定の異常であるか否かを判定し、
前記検出された異常が前記所定の異常であると判定されたときに、前記複数のディスク装置のうち、該所定の異常が検出されたディスク装置である異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を診断対象から除外し、
前記複数のディスク装置のうち診断対象から除外されていない残りのディスク装置の各々に対して前記診断を継続する、
ディスク装置異常検出方法。
（付記９）
前記検出された異常が前記所定の異常であると判定されたときに、診断対象から除外されなかったディスク装置のうちで、ディスク装置に付されている属性情報が前記異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する前記診断の頻度を高くする付記８に記載のディスク装置異常検出方法。
（付記１０）
前記異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない付記９に記載のディスク装置異常検出方法。
（付記１１）
前記検出された異常が前記所定の異常ではないと判定されたときには、前記複数のディスク装置のうちで、該所定の異常ではない異常と判定されたディスク装置である軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置に対する前記診断の頻度を高くする付記９又は１０に記載のディスク装置異常検出方法。
（付記１２）
前記軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置によって該軽度異常ディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない付記１１に記載のディスク装置異常検出方法。
（付記１３）
複数のディスク装置の各々について診断を行い、
前記診断の結果異常が検出されたときに、該検出された異常が所定の異常であるか否かを判定し、
前記検出された異常が前記所定の異常であると判定されたときに、前記複数のディスク装置のうち、該所定の異常が検出されたディスク装置である異常ディスク装置との間でＲＡＩＤを構成しているディスク装置を診断対象から除外し、
前記複数のディスク装置のうち診断対象から除外されていない残りのディスク装置の各々に対して前記診断を継続する、
処理を演算処理装置に実行させるプログラム。
（付記１４）
前記検出された異常が前記所定の異常であると判定されたときに、診断対象から除外されなかったディスク装置のうちで、ディスク装置に付されている属性情報が前記異常ディスク装置との間で所定の類似関係を有しているディスク装置に対する前記診断の頻度を高くする処理を前記演算処理装置に更に実行させる付記１３に記載のプログラム。
（付記１５）
前記異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない付記１４に記載のプログラム。
（付記１６）
前記検出された異常が前記所定の異常ではないと判定されたときには、前記複数のディスク装置のうちで、該所定の異常ではない異常と判定されたディスク装置である軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置に対する前記診断の頻度を高くする付記１４又は１５に記載のプログラム。
（付記１７）
前記軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有しているディスク装置のうちで、該軽度異常ディスク装置との間で前記属性情報が前記所定の類似関係を有していないディスク装置によって該軽度異常ディスク装置との間で冗長性が確保されているディスク装置に対しては、前記診断の頻度の変更を行わない付記１６に記載のプログラム。
【符号の説明】
【０１２３】
１、１００、１００−１、１００−２  ディスク制御装置
２、２−１、２−２、２−ｎ  ディスク装置
１１  診断部
１２  判定部
１３  除外部
１４  診断頻度変更部
１５  出力部
１１０−１、１１０−２  ホストＩ／Ｆ
１２０−１、１２０−２  ディスクＩ／Ｆ
１３０  ディスク管理テーブル
１４０  エラー評価テーブル
１５０  制御部
１５１  Ｉ／Ｏ制御部
１５２  診断スケジュール制御部
１５３  ディスク診断制御部
２００−１、２００−２  ディスクアレイ
２００−１−１、２００−１−２、２００−１−３、２００−１−４、
２００−ｎ−１、２００−ｎ−２、２００−ｎ−３、２００−ｎ−４  ディスク
３００  ホストシステム
４０１  ＭＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０４  インタフェース装置
４０５  表示装置
４０６  バスライン
４０７  可搬型記録媒体
４０８  データ読出装置
【図１】
0005849491.tif 000002
【図２】
0005849491.tif 000003
【図３】
0005849491.tif 000004
【図４】
0005849491.tif 000005
【図５】
0005849491.tif 000006
【図６】
0005849491.tif 000007
【図７】
0005849491.tif 000008
【図８】
0005849491.tif 000009
【図９】
0005849491.tif 000010
【図１０】
0005849491.tif 000011