(57)【要約】【課題】故障している可能性が高いディスク装置を適切に特定することが可能なディスクアレイ制御装置を提供する。【解決手段】エラー情報管理部７は、識別情報と記憶部４にて関連づけられたエラー発生回数と、記憶部４に記憶されたエラー発生回数と、にそれぞれ重みを付加する。エラー情報管理部７は、ディスク装置のエラー数を、各重みが付加されたエラー発生回数の和をとして算出する。また、エラー情報管理部７は、そのエラー数が基準数以上か否かを判断する。スペアディスク診断部９は、エラー情報管理部７にてエラー数が基準数以上と判断されると、そのエラー数のディスク装置が故障しているか否かを診断する。【選択図】図１
2007241837.tif 000002
【特許請求の範囲】
【請求項１】
ランクを構成する複数の記憶装置と接続されたディスクアレイ制御装置であって、
前記記憶装置を特定する識別情報と、該記憶装置のエラー発生回数と、を前記識別情報ごとに関連づけて記憶する装置エラー記憶部と、
前記ランクのエラー発生回数を記憶するランクエラー記憶部と、
前記記憶装置のエラー発生回数に付加する重みと、前記ランクのエラー発生回数に付加する重みとを記憶する重み記憶部と、
基準数を記憶する基準記憶部と、
前記記憶装置のエラー数を、該記憶装置を特定する識別情報と前記装置エラー記憶部にて関連づけられたエラー発生回数と、前記ランクエラー記憶部に記憶されたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出し、該エラー数が前記基準数以上か否かを判断するエラー管理部と、
前記エラー管理部にて前記エラー数が前記基準数以上と判断されると、該エラー数の記憶装置が故障しているか否かを診断する診断部と、を含むディスクアレイ制御装置。
【請求項２】
請求項１に記載のディスクアレイ制御装置において、
前記ランクは、複数あり、
前記識別情報と、該識別情報にて特定される記憶装置のランクと、を前記識別情報ごとに関連づけて記憶するランク管理記憶部をさらに含み、
前記ランクエラー記憶部は、前記ランクと、該ランクのエラー発生回数と、を前記ランクごとに関連づけて記憶し、
前記エラー管理部は、前記記憶装置のエラー数を、前記記憶装置を特定する識別情報に前記装置エラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出する、ディスクアレイ制御装置。
【請求項３】
請求項２に記載のディスクアレイ制御装置において、
前記識別情報と、該識別情報にて特定される記憶装置のポートと、を前記識別情報ごとに関連づけて記憶するポート管理記憶部と、
前記ポートと、該ポートのエラー発生回数と、を前記ポートごとに関連づけて記憶するポートエラー記憶部と、をさらに含み、
前記重み記憶部は、前記ポートのエラー発生回数に付加する重みをさらに記憶し、
前記エラー管理部は、前記記憶装置のエラー数を、該記憶装置を特定する識別情報に前記装置エラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出する、ディスクアレイ制御装置。
【請求項４】
請求項３に記載のディスクアレイ制御装置において、
前記装置エラー記憶部は、前記識別情報と、該識別情報にて特定される記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記識別情報ごとに関連づけて記憶し、
前記ランクエラー記憶部は、前記ランクと、該ランクの記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記ランクごとに関連づけて記憶し、
前記ポートエラー記憶部は、前記ポートと、該ポートの記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記ポートごとに関連づけて記憶し、
前記重み記憶部は、前記記憶装置、前記ランクおよび前記ポートに付加する重みを前記エラーの種別ごとに記憶し、
前記エラー管理部は、前記記憶装置のエラー数を、該記憶装置を特定する識別情報と前記装置エラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記装置エラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、かつ、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記ランクエラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、かつ、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記ポートエラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、各重みが付加されたエラー発生回数の和として算出する、ディスクアレイ制御装置。
【請求項５】
請求項４に記載のディスクアレイ制御装置において、
前記エラー管理部は、前記診断部にて前記記憶装置が故障と診断されると、該故障と診断された記憶装置を特定する識別情報と前記装置エラー記憶部にて関連づけられたエラーの種別およびエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラーの種別およびエラー発生回数と、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラーの種別およびエラー発生回数とに基づいて、前記重み記憶部に記憶された重みを変更する、ディスクアレイ制御装置。
【請求項６】
請求項１ないし５のいずれか１項に記載のディスクアレイ制御装置において、
前記エラー管理部は、前記記憶装置のエラー数を、前記記憶装置ごとに算出し、各エラー数が前記基準数以上か否かを判断し、
前記診断部は、前記エラー管理部にて前記基準数以上と判断されたエラー数の中で最も大きいエラー数の記憶装置から順に、該記憶装置が故障しているか否かを診断する、ディスクアレイ制御装置。
【請求項７】
ランクを構成する記憶装置を特定する識別情報と該記憶装置のエラー発生回数とを前記識別情報ごとに関連づけて記憶する装置エラー記憶部と、前記ランクのエラー発生回数を記憶するランクエラー記憶部と、前記記憶装置のエラー発生回数に付加する重みと前記ランクのエラー発生回数に付加する重みとを記憶する重み記憶部と、基準数を記憶する基準記憶部と、を含み、各記憶装置と接続されたディスクアレイ制御装置が行う故障診断方法であって、
前記記憶装置のエラー数を、識別情報と前記装置エラー記憶部にて関連づけられたエラー発生回数と、前記ランクエラー記憶部に記憶されたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出する算出ステップと、
前記エラー数が前記基準数以上か否かを判断する判断ステップと、
前記エラー数が前記基準数以上と判断されると、該エラー数の記憶装置が故障しているか否かを診断する診断ステップと、を含む故障診断方法。
【請求項８】
請求項７に記載の故障診断方法において、
前記ランクは、複数あり、
前記ディスクアレイ制御装置は、前記識別情報と、該識別情報にて特定される記憶装置のランクと、を前記識別情報ごとに記憶するランク管理記憶部をさらに含み、
前記ランクエラー記憶部は、前記ランクと、該ランクのエラー発生回数と、を前記ランクごとに関連づけて記憶し、
前記記憶装置のエラー数を、前記記憶装置を特定する識別情報に前記装置エラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出する計算ステップと、をさらに含む故障診断方法。
【請求項９】
請求項８に記載の故障診断方法において、
前記ディスクアレイ制御装置は、前記識別情報と、該識別情報にて特定される記憶装置のポートと、を前記識別情報ごとに関連づけて記憶するポート管理記憶部と、
前記ポートと、該ポートのエラー発生回数と、を前記ポートごとに関連づけて記憶するポートエラー記憶部と、をさらに含み、
前記重み記憶部は、前記ポートのエラー発生回数に付加する重みをさらに記憶し、
前記記憶装置のエラー数を、該記憶装置を特定する識別情報に前記装置エラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出するポート算出ステップと、をさらに含む故障診断方法。
【請求項１０】
請求項９に記載の故障診断方法において、
前記装置エラー記憶部は、前記識別情報と、該識別情報にて特定される記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記識別情報ごとに関連づけて記憶し、
前記ランクエラー記憶部は、前記ランクと、該ランクの記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記ランクごとに関連づけて記憶し、
前記ポートエラー記憶部は、前記ポートと、該ポートの記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記ポートごとに関連づけて記憶し、
前記重み記憶部は、前記記憶装置、前記ランクおよび前記ポートに付加する重みを前記エラーの種別ごとに記憶し、
前記記憶装置のエラー数を、該記憶装置を特定する識別情報と前記装置エラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記装置エラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、かつ、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記ランクエラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、かつ、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記ポートエラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、各重みを付加したエラー発生回数の和として算出する種別算出ステップと、をさらに含む故障診断方法。
【請求項１１】
請求項１０に記載の故障診断方法において、
前記記憶装置が故障と診断されると、該故障と診断された記憶装置を特定する識別情報と前記装置エラー記憶部にて関連づけられたエラーの種別およびエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラーの種別およびエラー発生回数と、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラーの種別およびエラー発生回数とに基づいて、前記重み記憶部に記憶された重みを変更する変更ステップ、をさらに含む故障診断方法。
【請求項１２】
請求項７ないし１１のいずれか１項に記載の故障診断方法において、
前記識別情報ごとに、前記記憶装置のエラー数を、前記記憶装置ごとに算出する個別算出ステップと、
各エラー数が前記基準数以上か否かを判断する判定ステップと、
前記基準回数以上と判断されたエラー数の中で最も大きいエラー数の記憶装置から順に、該記憶装置の故障診断を行う順次診断ステップと、をさらに含む故障診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶装置に並列的にデータを転送するディスクアレイ制御装置および故障診断方法に関する。
【背景技術】
【０００２】
従来、複数の記憶装置と、制御装置とを含むシステムが知られている。制御装置は、ホストからデータの転送（読み書き）が指示されると、そのデータを各記憶装置に並列的に転送する。これにより、１台の記憶装置にデータが転送される場合に比べて、データを転送する速度を向上させることが可能になっている。
【０００３】
このようなシステムは、ディスクアレイシステムと呼ばれる。ディスクアレイシステムには、例えば、ＲＡＩＤがある。また、記憶装置として、例えば、ディスク装置が用いられる。
【０００４】
また、記憶装置が故障して障害が発生すると、その記憶装置のデータを読み出すことができない。
【０００５】
ディスクアレイシステムでは、ホストから転送が指示されたデータに加え、パリティデータなどの冗長データがさらに記憶装置に記憶される。制御装置は、記憶装置の一つに障害が発生して、その記憶装置に記憶されたデータを読み出せなくても、その記憶装置に記憶されたデータを、冗長データを用いて、復元することが可能である。このため、ディスクアレイシステムでは、記憶装置の耐障害性を向上させることが可能になっている。
【０００６】
しかしながら、ディスクアレイシステムでは、記憶装置の二つ以上に障害が発生すると、データを復元することができない。このため、記憶装置に障害が発生する前に故障している記憶装置を発見するために、制御装置が、記憶装置の故障診断（故障しているか否かの診断）を行う技術が数多く提案されている。
【０００７】
しかしながら、制御装置が全ての記憶装置の故障診断を行うと、故障している記憶装置を発見する効率が悪い。このため、制御装置が、故障している可能性が高い記憶装置を、故障診断を行う前に予想し、その故障している可能性が高いと予想された記憶装置の故障診断だけを行うことが望ましい。
【０００８】
特許文献１（特開２００４−２２７４４９号公報）には、故障診断を行うディスク装置を、そのディスク装置の動作履歴に基づいて特定するディスクアレイ装置が記載されている。このディスクアレイ装置では、各ディスク装置の動作履歴に基づいて、ディスク装置のエラー発生回数（および、その増加率）が、ディスク装置ごとに算出される。そのエラー発生回数（増加率）が所定の上限値以上であると、ディスクアレイ装置は、故障している可能性が高いと判断する。また、そのディスク装置の故障診断が行われる。
【０００９】
これにより、故障している記憶装置を発見する効率が向上されている。
【特許文献１】特開２００４−２２７４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
個々の記憶装置のエラー発生回数が少なくても、ランクのエラー発生回数（ランクに所属する記憶装置のエラー発生回数の和）が多いと、そのランクに所属する記憶装置が故障している可能性が高い。
【００１１】
特許文献１に記載のディスクアレイ装置では、個々のディスク装置のエラー発生回数が所定の上限値より小さいと、ランクのエラー発生回数が多くても、そのランクのディスク装置の故障診断は、行われない。
【００１２】
このため、障害の発生を事前に防ぐことができない場合がある。
【００１３】
本発明の目的は、故障している可能性が高い記憶装置を適切に特定することが可能なディスクアレイ制御装置および故障診断方法を提供することである。
【課題を解決するための手段】
【００１４】
前記目的を達成するために、本発明のディスクアレイ制御装置は、ランクを構成する複数の記憶装置と接続されたディスクアレイ制御装置であって、前記記憶装置を特定する識別情報と、該記憶装置のエラー発生回数と、を前記識別情報ごとに関連づけて記憶する装置エラー記憶部と、前記ランクのエラー発生回数を記憶するランクエラー記憶部と、前記記憶装置のエラー発生回数に付加する重みと、前記ランクのエラー発生回数に付加する重みとを記憶する重み記憶部と、基準数を記憶する基準記憶部と、前記記憶装置のエラー数を、識別情報と前記装置エラー記憶部にて関連づけられたエラー発生回数と、前記ランクエラー記憶部に記憶されたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出し、該エラー数が前記基準数以上か否かを判断するエラー管理部と、前記エラー管理部にて前記エラー数が前記基準数以上と判断されると、該エラー数の記憶装置が故障しているか否かを診断する診断部と、を含む。
【００１５】
また、本発明の故障診断方法は、ランクを構成する記憶装置を特定する識別情報と該記憶装置のエラー発生回数とを前記識別情報ごとに関連づけて記憶する装置エラー記憶部と、前記ランクのエラー発生回数を記憶するランクエラー記憶部と、前記記憶装置のエラー発生回数に付加する重みと前記ランクのエラー発生回数に付加する重みとを記憶する重み記憶部と、基準数を記憶する基準記憶部と、を含み、各記憶装置と接続されたディスクアレイ制御装置が行う故障診断方法であって、前記記憶装置のエラー数を、識別情報と前記装置エラー記憶部にて関連づけられたエラー発生回数と、前記ランクエラー記憶部に記憶されたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出する算出ステップと、前記エラー数が前記基準数以上か否かを判断する判断ステップと、前記エラー数が前記基準数以上と判断されると、該エラー数の記憶装置が故障しているか否かを診断する診断ステップと、を含む。
【００１６】
上記の発明によれば、記憶装置のエラー発生回数と、ランクのエラー発生回数とにそれぞれ重みが付加される。記憶装置のエラー数が、重みが付加されたエラー発生回数の和として算出される。また、そのエラー数が基準数以上であると、その記憶装置が故障しているか否かが診断される。
【００１７】
このため、記憶装置の（重みが付加された）エラー発生回数が基準数未満でも、ランクのエラー発生回数が多くて、エラー数が基準数以上になると、その記憶装置が故障しているか否かが診断される。よって、故障している可能性が高く、かつ、エラー発生回数が少ない記憶装置でも、その記憶装置が故障している可能性が高いと判断することが可能になる。したがって、故障している可能性が高い記憶装置を適切に特定することが可能になる。
【００１８】
また、前記ランクは、複数あり、前記識別情報と、該識別情報にて特定される記憶装置のランクと、を前記識別情報ごとに記憶するランク管理記憶部をさらに含み、前記ランクエラー記憶部は、前記ランクと、該ランクのエラー発生回数と、を前記ランクごとに関連づけて記憶し、前記エラー管理部は、前記記憶装置のエラー数を、前記識別情報に前記装置エラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出することが望ましい。
【００１９】
上記の発明によれば、記憶装置のエラー発生回数と、該記憶装置のランクのエラー発生回数とに重みが付加される。また、記憶装置のエラー数が、重みが付加されたエラー発生回数の和として算出される。
【００２０】
このため、ランクが複数ある場合でも、故障している可能性が高い記憶装置を適切に特定することが可能になる。
【００２１】
また、前記識別情報と、該識別情報にて特定される記憶装置のポートと、を前記識別情報ごとに関連づけて記憶するポート管理記憶部と、前記ポートと、該ポートのエラー発生回数と、を前記ポートごとに関連づけて記憶するポートエラー記憶部と、をさらに含み、前記重み記憶部は、前記ポートのエラー発生回数に付加する重みをさらに記憶し、前記エラー管理部は、前記記憶装置のエラー数を、該記憶装置を特定する識別情報に前記装置エラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数と、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラー発生回数と、にそれぞれ前記重みを付加し、各重みを付加したエラー発生回数の和として算出することが望ましい。
【００２２】
個々の記憶装置のエラー発生回数が少なくても、ポートのエラー発生回数（同じポートの記憶装置のエラー発生回数の和）が多いと、そのポートの記憶装置が故障している可能性が高い。
【００２３】
上記の発明によれば、記憶装置のエラー発生回数と、該記憶装置のランクのエラー発生回数と、該記憶装置のポートのエラー発生回数にそれぞれ重みが付加される。また、記憶装置のエラー数が、重みが付加されたエラー発生回数の和として算出される。
【００２４】
このため、記憶装置およびランクの（重みが付加された）エラー発生回数の和が基準数未満でも、ポートのエラー発生回数が多くて、エラー数が基準数以上になると、その記憶装置の故障診断が行われる。よって、故障している可能性が高く、かつ、エラー発生回数の少ない記憶装置でも、故障している可能性が高いと判断することが可能になる。したがって、故障している可能性が高い記憶装置を適切に特定することが可能になる。
【００２５】
また、前記装置エラー記憶部は、前記識別情報と、該識別情報にて特定される記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記識別情報ごとに関連づけて記憶し、前記ランクエラー記憶部は、前記ランクと、該ランクの記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記ランクごとに関連づけて記憶し、前記ポートエラー記憶部は、前記ポートと、該ポートの記憶装置で発生したエラーの種別と、該種別のエラー発生回数と、を前記ポートごとに関連づけて記憶し、前記重み記憶部は、前記記憶装置、前記ランクおよび前記ポートに付加する重みを前記エラーの種別ごとに記憶し、前記エラー管理部は、前記記憶装置のエラー数を、該記憶装置を特定する識別情報と前記装置エラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記装置エラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、かつ、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記ランクエラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、かつ、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラー発生回数を、該エラー発生回数と前記ポートエラー記憶部にて関連づけられたエラーの種別ごとに前記重みを付加し、その後、各重みが付加されたエラー発生回数の和として算出することが望ましい。
【００２６】
同じエラー発生回数でも、エラーの種別に応じて、エラーの発生した記憶装置が故障している可能性は異なる。
【００２７】
上記の発明によれば、識別情報と関連づけられたエラー発生回数に、該エラー発生回数と関連づけられたエラーの種別ごとに重みが付加される。また、該識別情報と関連づけられたランクと関連づけられたエラー発生回数に、該エラー発生回数と関連づけられたエラーの種別ごとに重みが付加される。さらに、該識別情報と関連づけられたポートと関連づけられたエラー発生回数を、該エラー発生回数と関連づけられたエラーの種別ごとに重みが付加される。その後、記憶装置のエラー数が、各重みが付加されたエラー発生回数の和として算出される。
【００２８】
このため、エラーの種別に応じて、故障している可能性の高い記憶装置を特定するのに適切な重みが設定されていれば、故障している可能性が高い記憶装置を適切に特定することが可能になる。
【００２９】
また、エラー管理部は、前記診断部にて前記記憶装置が故障と診断されると、該故障と診断された記憶装置を特定する識別情報と前記装置エラー記憶部にて関連づけられたエラーの種別および発生回数と、該識別情報と前記ランク管理記憶部にて関連づけられたランクと前記ランクエラー記憶部にて関連づけられたエラーの種別および発生回数と、該識別情報と前記ポート管理記憶部にて関連づけられたポートと前記ポートエラー記憶部にて関連づけられたエラーの種別および発生回数とに基づいて、前記重み記憶部に記憶された重みを変更することが望ましい。
【００３０】
故障していると判断された記憶装置において、特定の種別のエラー発生回数が多い場合、その種別のエラーは、重大なエラーであると考えられる。
【００３１】
上記の発明によれば、故障と診断された記憶装置を特定する識別情報と関連づけられたエラーの種別およびエラー発生回数と、該識別情報と関連づけられたランクと関連づけられたエラーの種別およびエラー発生回数と、該識別情報と関連づけられたポートと関連づけられたエラーの種別およびエラー発生回数に基づいて、重みが変更される。
【００３２】
このため、例えば、故障と診断された記憶装置において、エラー発生回数が最も多いエラーの種別に対する重みを上げ、エラー発生回数の最も少ないエラーの種別に対する重みを下げるなどすれば、エラー数を算出するための重みを、故障している可能性の高い記憶装置を特定するのに適切な値に調整することが可能になる。
【００３３】
また、前記エラー管理部は、前記記憶装置のエラー数を、前記記憶装置ごとに算出し、各エラー数が前記基準数以上か否かを判断し、前記診断部は、前記エラー管理部にて前記基準数以上と判断されたエラー数の中で最も大きいエラー数の記憶装置から順に、該記憶装置が故障しているか否かを診断することが望ましい。
【００３４】
上記発明によれば、基準数以上と判断されたエラー数の中で最も大きいエラー数の記憶装置から順に、記憶装置が故障しているか否かが判断される。
【００３５】
このため、例えば、エラーが多く発生しているランクの記憶装置の中で、最もエラーの多く発生している記憶装置から順に故障診断を行うことが可能になる。よって、故障している記憶装置を効率良く発見することが可能になる。
【発明の効果】
【００３６】
本発明によれば、故障している可能性が高い記憶装置を適切に特定することが可能になる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施例について図面を参照して説明する。
【００３８】
図１は、本発明の一実施例のディスクアレイシステムを示したブロック図である。図１において、ディスクアレイシステムは、ディスク装置群１と、ディスクアレイ制御装置２を含む。ディスク装置群１およびディスクアレイ制御装置２は、相互に接続される。また、ディスクアレイ制御装置２は、ホスト３と相互に接続される。
【００３９】
ディスク装置群１は、複数のディスク装置を含む。
【００４０】
以下、ディスク装置の数は、（ｎ＋１）×（ｍ＋１）個とする。なお、ｎおよびｍは、２以上の自然数である。また、図１には、９個のディスク装置（ディスク装置００、０１、０ｎ、１０、１１、１ｎ、ｍ０、ｍ１およびｍｎ）が示されている。
【００４１】
ディスク装置およびディスクアレイ制御装置２を接続するポートは、複数ある。また、同一のポートで、複数のディスク装置がディスクアレイ制御装置２と接続されている。
【００４２】
以下、ポートの数は、ｍ＋１とする。また、同一のポートでディスクアレイ制御装置２に接続されるディスク装置の数は、ｎ＋１とする。
【００４３】
さらに言えば、ディスク装置００ないし０ｎ、ディスク装置１０ないし１ｎ、ないし、ディスク装置ｍ０ないしｍｎは、それぞれ、同一のポートでディスクアレイ制御装置２に接続されるとする。
【００４４】
図２は、ディスク装置とポートとの関係を示した図である。
【００４５】
また、ディスク装置は、ランクを構成するディスク装置と、ランクを構成しないディスク装置とがある。ランクとは、冗長コードを共有する複数のディスク装置のグループ、換言すれば、ＲＡＩＤを構成するディスク装置のグループである。なお、本実施例では、ＲＡＩＤレベルは、限定されない。また、ランクは、同一のポートのディスク装置で構成されても良いし、異なるポートのディスク装置で構成されても良い。
【００４６】
以下、ランクの数を、ｎとする。また、ディスク装置００ないしｍ０、ディスク装置０１ないしｍ１、ないし、ディスク装置０ｎ−１ないしｍｎ−１が、それぞれ、ランクを構成することにする。
【００４７】
図３は、ディスク装置とランクとの関係を示した図である。
【００４８】
以下、ランクを構成していないディスク装置０ｎないし０ｍを、スペアディスク装置という。スペアディスク装置は、ランクを構成するディスク装置の予備として用いられる。
【００４９】
ディスク装置００ないしｍｎは、ディスクアレイ制御装置２にて読み出しおよび書き込みが制御される。
【００５０】
具体的には、ディスク装置００ないしｍｎは、ディスクアレイ制御装置２から、データを読み出す旨の読み出し指示を受け付けると、その読み出し指示にて読み出しが指示されたデータをディスクアレイ制御装置２に出力する。
【００５１】
また、ディスク装置００ないしｍｎは、ディスクアレイ制御装置２から、データを書き込む旨の書き込み指示を受け付けると、その書き込み指示にて書き込みが指示されたデータを書き込む（記憶する）。ディスク装置００ないしｍｎは、データの書き込みが完了すると、データの書き込みが完了した旨の完了情報をディスクアレイ制御装置２に出力する。
【００５２】
なお、ディスク装置００ないしｍｎは、データ処理（データの読み出し、または、データの書き込み）を実行している間に、エラーを検知すると、エラーを検知した旨のステータスをディスクアレイ制御装置２に出力する。以下、エラーを検知した旨のステータスを、チェックコンディションステータスという。
【００５３】
ディスクアレイ制御装置２は、ランクを構成するディスク装置に並列的にデータを転送する。
【００５４】
ディスクアレイ制御装置２は、記憶部４と、ＲＡＩＤ情報管理部５と、ディスク処理制御部６と、エラー情報管理部７と、スペアディスク制御部８と、スペアディスク診断部９とを含む。
【００５５】
図４は、記憶部４の構成の一例を示したブロック図である。図４において、記憶部４は、管理記憶部４ａと、重み記憶部４ｃと、基準記憶部４ｄと、判断記憶部４ｅと、エラー記憶部４ｂとを含む。
【００５６】
管理記憶部４ａは、ランク管理記憶部４ａ１と、スペア管理記憶部４ａ２と、ポート管理記憶部４ａ３を含む。
【００５７】
ランク管理記憶部４ａは、ランク情報を記憶する。ランク情報では、ランクを構成するディスク装置を特定する識別情報と、該ディスク装置のランク（該ディスク装置が所属するランク）と、が識別情報ごとに関連づけられている。
【００５８】
スペア管理記憶部４ａ２は、スペアディスク装置を特定する識別情報を記憶する。
【００５９】
ポート管理記憶部４ａ３は、ポート情報を記憶する。ポート情報では、識別情報と、該識別情報のディスク装置のポートと、が識別情報ごとに関連づけられている。
【００６０】
エラー記憶部４ｂは、装置エラー記憶部４ｂ１と、ランクエラー記憶部４ｂ２と、ポートエラー記憶部４ｂ３と、集計エラー記憶部４ｂ４とを含む。
【００６１】
装置エラー記憶部４ｂ１は、装置エラー情報を記憶する。装置エラー情報では、識別情報と、該識別情報のディスク装置で発生したエラーの種別と、該種別のエラー発生回数（該種別のエラーが発生した回数）とが、識別情報ごとに関連づけられている。
【００６２】
ランクエラー記憶部４ｂ２は、ランクエラー情報を記憶する。ランクエラー情報では、ランクと、該ランクのディスク装置で発生したエラーの種別と、該種別のエラー発生回数とが、ランクごとに関連づけられている。
【００６３】
ポートエラー記憶部４ｂ３は、ポートエラー情報を記憶する。ポートエラー情報では、ポートと、該ポートのディスク装置で発生したエラーの種別と、該種別のエラー発生回数とが、ポートごとに、関連づけられている。
【００６４】
なお、エラーの種別は、タイムアウト、チェックコンディション、および、他のエラーを示す。
【００６５】
タイムアウトは、ディスクアレイ制御装置２が処理指示（読み出し指示、または、書き込み指示）をディスク装置に送信した後で、所定の時間が経過しても、そのディスク装置から応答がなかったことを示す。
【００６６】
チェックコンディションは、ディスク装置がデータの処理を実行している間にエラーを検知したことを示す。換言すれば、チェックコンディションは、ディスクアレイ制御装置２が、ディスク装置からチェックコンディションステータスを受け付けたことを示す。
【００６７】
他のエラーは、タイムアウトおよびチェックコンディションと異なるエラーが発生したことを示す。なお、タイムアウトおよびチェックコンディションと異なるエラーは、例えば、リセットである。
【００６８】
集計エラー記憶部４ｂ４は、エラー集計情報を記憶する。エラー集計情報では、識別情報と、該識別情報のディスク装置のエラー数と、が識別情報ごとに関連づけられている。
【００６９】
ディスク装置のエラー数は、そのディスク装置を特定する識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラー発生回数と、該識別情報とランク記憶部４ａ１にて関連づけられたランクとランクエラー記憶部４ｂ２にて関連づけられたエラー発生回数と、該識別情報とポート記憶部４ａ３にて関連づけられたポートとポートエラー記憶部４ｂ２にて関連づけられたエラー発生回数と、にそれぞれエラーの種別ごとに重みが付加され、その後、各重みが付加されたエラー発生回数の和として算出される。
【００７０】
換言すれば、エラー数は、数式１により算出される。
【００７１】
【数１】
2007241837.tif 000003
【００７２】
数式１において、Ｅは、エラー数である。また、Ｗｘｙは、重みである。また、ｘおよびｙは、１ないし３の自然数である。
【００７３】
また、Ｃ１は、ディスク装置でチェックコンディションが発生した回数であり、Ｃ２は、該ディスク装置と同じポートのディスク装置でチェックコンディションが発生した回数であり、Ｃ３は、そのディスク装置と同じランクのディスク装置でチェックコンディションが発生した回数である。
【００７４】
また、Ｔ１は、ディスク装置でタイムアウトが発生した回数であり、Ｔ２は、該ディスク装置と同じポートのディスク装置でタイムアウトが発生した回数であり、Ｔ３は、該ディスク装置と同じランクでタイムアウトが発生した回数である。
【００７５】
さらに、Ｅ１は、ディスク装置で他のエラーが発生した回数であり、Ｅ２は、該ディスク装置と同じポートで他のエラーが発生した回数であり、Ｅ３は、該ディスク装置と同じランクで他のエラーが発生した回数である。
【００７６】
図５は、数式１および数式１のパラメータ（エラー数および重み）を示した図である。
【００７７】
重み記憶部４ｃは、エラーの発生回数の重みを記憶する。具体的には、重み記憶部４ｃは、ディスク装置のエラー発生回数に付加する重みと、ランクのエラー発生回数に付加する重みと、ポートのエラー発生回数に付加する重みと、をエラーの種別ごとに記憶する。換言すれば、数式１におけるＷｘｙを記憶する。
【００７８】
基準記憶部４ｄは、基準数を記憶する。
【００７９】
判断記憶部４ｅは、判断回数を記憶する。
【００８０】
ＲＡＩＤ情報管理部５は、ランクを構成するディスク装置を管理する。
【００８１】
ＲＡＩＤ情報管理部５は、ホスト３からデータを転送する旨のコマンドを受け付けると、受け付けたコマンドに応じて、ランクを構成するディスク装置に並列的にデータを転送する。その後、ＲＡＩＤ情報管理部５は、そのデータの転送が終了すると、転送結果をホストに出力する。
【００８２】
なお、コマンドは、データを読み込む旨のリードコマンド（読み込むべきデータのアドレスおよびサイズを含む）と、データを書き込む旨のライトコマンド（書き込むべきデータを含む）とがある。
【００８３】
例えば、ＲＡＩＤ情報管理部５は、ホスト３からリードコマンドを受け付けると、そのリードコマンドが読み込みを指示するデータを（分散して）記憶するディスク装置から、そのデータを読み出す。
【００８４】
具体的には、先ず、ＲＡＩＤ情報管理部５は、そのリードコマンドが読み込みを指示するデータを分散して記憶するディスク装置を特定する。ＲＡＩＤ情報管理部５は、特定したディスク装置に、その分散されたデータを読み出す旨の読み出し指示を、ディスク処理制御部６を介して出力し、その後、それらのディスク装置からデータを受け付ける。
【００８５】
続いて、ＲＡＩＤ情報管理部５は、分散されたデータを読み出すと、そのデータを一つに結合し、結合したデータを（転送結果として）ホスト３に出力する。
【００８６】
また、ＲＡＩＤ情報管理部５は、ホスト３からライトコマンドを受け付けると、そのライトコマンドが書き込みを指示するデータの冗長データを作成する。ＲＡＩＤ情報管理部５は、そのデータおよび冗長データを、同じランクに所属するディスク装置に書き込む。
【００８７】
具体的には、先ず、ＲＡＩＤ情報管理部５は、書き込みが指示されたデータを所定の数に分割し、かつ、そのデータの冗長データを作成する。ＲＡＩＤ情報管理部５は、その分割されたデータおよび冗長データのすくなくともどちらか１方を書き込むべきディスク装置を特定する。
【００８８】
続いて、ＲＡＩＤ情報管理部５は、そのディスク装置に、その分割されたデータを書き込む旨の書き込み指示を、ディスク処理制御部６を介して出力する。その後、ＲＡＩＤ情報管理部５は、それらのディスク装置の全てから完了情報を受け付けると、データの書き込みが終了したと判断する。
【００８９】
さらにＲＡＩＤ情報管理部５は、データをディスク装置に書き込むと、換言すれば、データの書き込みが終了すると、データの書き込みが終了した旨の終了情報を（転送結果として）ホスト３に出力する。
【００９０】
また、ＲＡＩＤ情報管理部５は、ホスト３からコマンドを受け付けても、そのコマンドに応じた処理の実行が完了できない場合、換言すれば、データの読み出しおよび書き込みができない場合、ディスク装置に障害が発生したと判断する。
【００９１】
例えば、ＲＡＩＤ情報管理部５は、処理指示をディスク装置に出力した後で、ディスク処理制御部６がその処理指示に対してタイムアウトを検知すると、その処理指示をディスク装置に再び出力する（リトライする）。その後、ディスク処理制御部６がその処理指示に対して所定の回数以上タイムアウトを検知すると、ＲＡＩＤ情報管理部５は、コマンドに応じた処理が実行できないと判断し、そのディスク装置に障害が発生したと判断する。
【００９２】
ＲＡＩＤ情報管理部５は、ディスク装置に障害が発生したと判断すると、障害が発生したディスク装置に記憶されているデータを復旧（復元）する旨の復旧指示をスペアディスク制御部８に出力する。なお、復旧指示は、復旧すべきデータを記憶するディスク装置の識別情報を含む。
【００９３】
ディスク処理制御部６は、ディスク装置群１とのデータの転送を制御する。
【００９４】
また、ディスク処理制御部６は、ディスク装置群１とのデータの転送中に、エラーが発生したか否かを検知する。
【００９５】
例えば、ディスク処理制御部６は、ディスク装置に処理指示を出力した後で、所定の時間が経過してもその処理指示の処理結果を受け付けないと、エラー（タイムアウト）が発生したことを検知する。
【００９６】
また、ディスク処理制御部６は、ディスク装置からチェックコンディションステータスを受け付けると、エラー（チェックコンディション）が発生したことを検知する。
【００９７】
また、ディスク処理制御部６は、ディスク装置への処理指示がリセットされると、エラー（リセット）が発生したことを検知する。
【００９８】
エラー情報管理部７は、ディスク処理制御部６がエラーの発生を検知すると、そのエラーが発生したディスク装置を特定する識別情報およびそのエラーの種別に基づいて、エラー記憶部４ｂに記憶された、装置エラー情報、ランクエラー情報、および、ポートエラー情報を更新する。
【００９９】
具体的には、先ず、エラー情報管理部７は、エラーが発生したディスク装置の識別情報とランク管理記憶部４ａ１にて関連づけられたランクと、その識別情報とポート管理記憶部４ａ３にて関連づけられたポートと、を取得する。
【０１００】
続いて、エラー情報管理部７は、その識別情報および発生したエラーの種別の両方に装置エラー記憶部４ｂ１にて関連づけられたエラー発生回数と、そのランクおよびエラーの種別の両方にランクエラー記憶部４ｂ２にて関連づけられたエラー発生回数と、そのポートおよびエラーの種別の両方にポートエラー記憶部４ｂ３にて関連づけられたエラー発生回数と、にそれぞれ１を加える。
【０１０１】
例えば、図２、図３および図５において、ディスク装置ｍｎ−１にてタイムアウトが発生した場合、エラー情報管理部７は、ディスク装置ｍｎ−１のタイムアウト（Ｔ１）と、ポートｍのタイムアウト（ポートｍのディスク装置ｍ０ないしｍｎのタイムアウト；Ｔ２）と、ランクｎ−１のタイムアウト（ランクｎ−１のディスク装置０ｎ−１ないしｍｎ−１のタイムアウト；Ｔ３）と、を更新する。
【０１０２】
エラー情報管理部７は、装置エラー情報、ランクエラー情報、および、ポートエラー情報を更新すると、その装置エラー情報、ランクエラー情報およびポートエラー情報に基づいて、集計エラー記憶部に記憶されたエラー数を更新する。
【０１０３】
具体的には、エラー情報管理部７は、特定の識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラー発生回数を、該エラー発生回数と装置エラー記憶部４ｂ１にて関連づけられたエラーの種別ごとに重み記憶部４ｃに記憶された重みを付加する。
【０１０４】
また、エラー情報管理部７は、その識別情報とランク管理記憶部４ａ１にて関連づけられたランクとランクエラー記憶部４ｂ２にて関連づけられたエラー発生回数を、該エラー発生回数とランクエラー記憶部４ｂ２にて関連づけられたエラーの種別ごとに重み記憶部４ｃに記憶された重みを付加する。
【０１０５】
さらに、エラー情報管理部７は、その識別情報とポート管理記憶部４ａ３にて関連づけられたポートとポートエラー記憶部４ｂ３にて関連づけられたエラー発生回数を、該エラー発生回数とポートエラー記憶部４ｂ３にて関連づけられたエラーの種別ごとに重み記憶部４ｃに記憶された重みを付加する。
【０１０６】
エラー情報管理部７は、それらの重みが付加されたエラー発生回数の和を、その識別情報にて特定されるディスク装置のエラー数として算出する。
【０１０７】
なお、エラー情報管理部７は、同様な処理を全てのディスク装置に対して行い、エラー数をディスク装置（識別情報）ごとに算出する。
【０１０８】
エラー情報管理部７は、集計エラー記憶部４ｂ４に記憶されたエラー数を、その算出されたエラー数に更新する。
【０１０９】
エラー情報管理部７は、エラー数を算出（更新）すると、エラー数が基準記憶部４ｄに記憶された基準数以上か否かをディスク装置ごとに判断する。
【０１１０】
エラー情報管理部７は、基準数以上のエラー数がないと、動作を終了する。
【０１１１】
一方、エラー情報管理部７は、基準数以上と判断されたエラー数のディスク装置が少なくとも１以上あると、スペアディスク制御部８に空きのディスク装置が２以上あるか否かを確認させる。空きのスペアディスク装置は、現在、データの読み書きを行っていないスペアディスク装置である。
【０１１２】
また、エラー情報管理部７は、スペアディスク制御部８が空きのスペアディスク装置が２以上あることを確認すると、基準数以上と判断されたエラー数に基づいて、そのエラー数のディスク装置を特定する識別情報に優先順位を付ける。具体的には、エラー情報管理部７は、エラー数が多い順に、そのエラー数のディスク装置を特定する識別情報に優先順位を付ける。
【０１１３】
また、エラー情報管理部７は、スペアディスク診断部９がディスク装置を故障と診断すると、故障と診断されたディスク装置に関するエラー発生回数（ディスク装置のエラー発生回数、ディスク装置のランクのエラー発生回数およびディスク装置のポートのエラー発生回数）に基づいて、重み記憶部４ｃに記憶された重みを変更する。
【０１１４】
具体的には、エラー情報管理部７は、そのディスク装置を特定する識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラーの種別およびエラー発生回数と、その識別情報とランク管理記憶部４ａ１にて関連づけられたランクとランクエラー記憶部４ｂ１にて関連づけられたエラーの種別およびエラー発生回数と、その識別情報とポート管理記憶部４ａ３にて関連づけられたポートとポートエラー記憶部４ｂ３にて関連づけられたエラーの種別およびエラー発生回数とに基づいて、重み記憶部４ｃに記憶された重みを変更する。
【０１１５】
例えば、エラー情報管理部７は、そのディスク装置を特定する識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラーの種別およびエラー数を確認する。エラー情報管理部７は、最も大きいエラー発生回数と関連づけられたエラーの種別の重みを上げ、最も小さいエラー発生回数と関連づけられたエラーの種別の重みを下げる。
【０１１６】
また、エラー情報管理部７は、そのディスク装置のランクとエラー記憶部４ｂにて関連づけられたエラーの種別およびエラー発生回数を確認する。エラー情報管理部７は、最も大きいエラー発生回数と関連づけられたエラーの種別の重みを上げ、最も小さいエラー発生回数と関連づけられたエラーの種別の重みを下げる。
【０１１７】
さらに、エラー情報管理部７は、そのディスク装置のポートと記憶部にて関連づけられたエラーの種別およびエラー発生回数を確認する。エラー情報管理部７は、最も大きいエラー発生回数と関連づけられたエラーの種別の重みを上げ、最も小さいエラー発生回数と関連づけられたエラーの種別の重みを下げる。
【０１１８】
スペアディスク制御部８は、スペアディスク装置を制御する。また、スペアディスク制御部８は、スペアディスク装置が現在読み書きを行っているかを、スペアディスク装置ごとに管理する。
【０１１９】
スペアディスク制御部８は、ＲＡＩＤ情報管理部５から識別情報および復旧指示を受け付けると、その復旧指示にて復旧が指示されたデータを復旧する。
【０１２０】
具体的には、先ず、スペアディスク制御部８は、その復旧指示が含む識別情報と関連づけられたランクと同じのランクに関連づけられた識別情報を、ランク管理記憶部４ａ１から取得する。スペアディスク制御部８は、取得した識別情報にて特定されるディスク装置から、そのディスク装置に記憶されたデータ（冗長データを含む）を読み出す。
【０１２１】
続いて、スペアディスク制御部８は、読み出したデータに基づいて、その復旧指示が含む識別情報のディスク装置が記憶しているデータを作成する。スペアディスク制御部８は、作成したデータをスペアディスク装置に書き込む。
【０１２２】
さらに、スペアディスク制御部８は、ランク管理記憶部４ａ１に記憶され、かつ、その復旧指示が含む識別情報を、データを書き込んだスペアディスク装置の識別情報に変更する。その後、スペアディスク制御部８は、データを書き込んだスペアディスク装置の識別情報を、スペア管理記憶部４ａ２から削除する。
【０１２３】
また、スペアディスク制御部８は、エラー情報管理部７にてエラー数が基準数以上と判断されると、空きのスペアディスク装置の数が２以上か否かを判断する
また、スペアディスク制御部８は、エラー情報管理部７が識別情報に優先順位を付けると、その優先順位が最も高い識別情報にて特定されるディスク装置に記憶されているデータをスペアディスク装置に移動（コピー）する。
【０１２４】
具体的には、スペアディスク制御部８は、その識別情報のディスク装置に記憶されたデータを読み出し、読み出したデータをスペアディスク装置に書き込む。
【０１２５】
さらに言えば、スペアディスク制御部８は、そのデータを読み出す旨の読み出し指示をそのディスク装置にディスク処理制御部６を介して出力し、その後、そのデータをディスク装置から受け付ける。スペアディスク制御部８は、受け付けたデータを書き込む旨の書き込み指示をスペアディスク装置に出力する。
【０１２６】
以下、データを読み出したディスク装置を移動元のディスク装置といい、データを書き込んだディスク装置（スペアディスク装置）を移動先のディスク装置という。
【０１２７】
スペアディスク制御部８は、データを移動すると、移動元のディスク装置の識別情報をスペア管理記憶部４ａ２に記憶する。また、スペアディスク制御部８は、ランク管理記憶部４ａ１にて記憶された移動元のディスク装置の識別情報を、移動先のディスク装置の識別情報に変更する。
【０１２８】
また、スペアディスク制御部８は、スペアディスク診断部９が移動元のディスク装置が故障しているか否かを診断すると、その診断結果に応じて以下の処理を行う。
【０１２９】
スペアディスク制御部８は、スペアディスク診断部９が移動元のディスク装置の故障していないと診断すると、次に優先順位の高いディスク装置に記憶されたデータをスペアディスク装置に移動する。
【０１３０】
一方、スペアディスク制御部８は、スペアディスク診断部９が移動元のディスク装置が故障していると診断すると、移動元のディスク装置を縮退させる（切り離す）。具体的には、スペアディスク制御部８は、移動元のディスク装置の識別情報を、スペア管理記憶部４ａ２から削除する。スペアディスク制御部８は、その識別情報を削除すると、次に優先順位の高いディスク装置に記憶されたデータをスペアディスク装置に移動する。
【０１３１】
スペアディスク診断部９は、エラー情報管理部７にてエラー数が基準数以上と判断されると、換言すれば、スペアディスク制御部８がデータを移動すると、基準数以上のエラー数のディスク装置（移動元のディスク装置）が故障しているか否かを診断（判断）する。
【０１３２】
具体的には、先ず、スペアディスク診断部９は、そのディスク装置にデータパターンの読み書きを行い、その読み書きでエラーが発生した診断エラー回数を算出する。
【０１３３】
なお、スペアディスク診断部９は、データパターンとして、全て０を読み書きするだけでなく、ランダムデータで読み書きを行う、または、一回目の読み書きには、データパターンとして全て１を使用し、二回目の読み書きには、データパターンとして全て２を使用するなど、様々なデータパターンで読み書きを行う。
【０１３４】
続いて、スペアディスク診断部９は、診断エラー回数を算出すると、判断記憶部４ｅに記憶された判断回数を確認し、その診断エラー回数が判断回数以上か否かを判断する。
【０１３５】
そのエラーが発生した回数が判断回数未満であると、スペアディスク診断部９は、故障診断を行ったディスク装置が故障していないと判断する。一方、そのエラーが発生した回数が判断回数以上であると、スペアディスク診断部９は、故障診断を行ったディスク装置が故障していると判断する。
【０１３６】
スペアディスク診断部９は、スペアディスク制御部８がデータを移動するたびに、その移動元のディスク装置が故障しているか否かを診断する。また、スペアディスク制御部８が、優先順位の高いディスク装置から順に、換言すれば、エラー数の最も大きいディスク装置から順に、データを移動する。このため、スペアディスク制御部８は、エラー数の最も大きいディスク装置から順にそのディスク装置が故障しているか否かを診断する。
【０１３７】
次に動作を説明する。
【０１３８】
図６は、ディスクアレイシステムの動作を説明するためのフローチャートである。具体的には、ディスクアレイシステムが行う故障検出処理を説明するためのフローチャートである。
【０１３９】
ディスク処理制御部６は、ディスク装置群１とのデータの転送中にエラーの発生を確認すると、ステップＳ６０１を実行する。
【０１４０】
ステップＳ６０１では、ディスク処理制御部６は、発生されたエラーに応じたエラー情報を作成する。エラー情報は、具体的には、エラーが発生したディスク装置の識別情報と、そのエラーの種別とを含む。
【０１４１】
例えば、ディスク装置１０でタイムアウトが発生した場合、ディスク処理制御部６は、ディスク装置１０を特定する識別情報と、タイムアウトを示すエラーの種別と、を含むエラー情報を作成する。
【０１４２】
また、ディスク装置１０でリセットが発生した場合、ディスク処理制御部６は、ディスク装置１０を特定する識別情報と、他のエラーを示すエラーの種別と、を含むエラー情報を作成する。
【０１４３】
ディスク処理制御部６は、エラー情報を作成すると、そのエラー情報をエラー情報管理部７に出力する。エラー情報管理部７は、エラー情報を受け付けると、ステップＳ６０２を実行する。
【０１４４】
ステップＳ６０２では、エラー情報管理部７は、そのエラー情報に基づいて、エラー記憶部４ｂに記憶された、装置エラー情報、ランクエラー情報、および、ポートエラー情報を更新する。
【０１４５】
エラー情報管理部７は、装置エラー情報、ランクエラー情報、および、ポートエラー情報を更新すると、集計エラー記憶部４ｂ４に記憶されたエラー数を更新する。エラー情報管理部７は、エラー数を更新すると、ステップＳ６０３を実行する。
【０１４６】
ステップＳ６０３では、エラー情報管理部７は、基準記憶部４ｄに記憶された基準数を確認し、そのエラー数が基準数以上か否を判断する。エラー情報管理部７は、そのエラー数が基準数以上であると、ステップＳ６０４を実行し、そのエラー数が基準数未満であると、動作を終了する。
【０１４７】
ステップＳ６０４では、エラー情報管理部７は、空きのスペアディスク装置が２以上あるか否かを確認する旨の確認指示をスペアディスク制御部８に出力する。
【０１４８】
スペアディスク制御部８は、確認指示を受け付けると、空きのスペアディスクの数が２以上あるか否かを確認する。スペアディスク制御部８は、空きのスペアディスクの数が２以上であると、ステップＳ６０５を実行し、空きのスペアディスクの数が２未満であると、ステップＳ６０４を実行する。
【０１４９】
ステップＳ６０５では、スペアディスク制御部８は、未使用のスペアディスクの数が２以上ある旨の確認情報を作成し、その確認情報を、エラー情報管理部７に出力する。
【０１５０】
エラー情報管理部７は、確認情報を受け付けると、基準数以上と判断されたエラー数に基づいて、そのエラー数のディスク装置を特定する識別情報に優先順位を付ける。
【０１５１】
エラー情報管理部は、その優先順位が付けられた識別情報にて特定されるディスク装置に記憶されているデータをスペアディスク装置に移動する旨の交換指示を作成する。なお、交換指示は、優先順位が付けられた識別情報を含む。
【０１５２】
エラー情報管理部７は、交換指示を作成すると、その交換指示をスペアディスク制御部８に出力する。スペアディスク制御部８は、交換指示を受け付けると、ステップＳ６０６を実行する。
【０１５３】
ステップＳ６０６では、スペアディスク制御部８は、その交換指示が含む（優先順位が最も高い）識別情報にて特定されるディスク装置に記憶されているデータをスペアディスク装置に移動する。スペアディスク制御部８は、データを移動すると、ステップＳ６０７を実行する。
【０１５４】
ステップＳ６０７では、スペアディスク制御部８は、移動元のディスク装置の識別情報をスペア管理記憶部４ａ２に記憶する。また、スペアディスク制御部８は、ランク管理記憶部４ａ１にて記憶された移動元のディスク装置の識別情報を、移動先のディスク装置の識別情報に変更する。スペアディスク制御部８は、識別情報を変更すると、ステップＳ６０８を実行する。
【０１５５】
ステップＳ６０８では、スペアディスク制御部８は、識別情報を変更すると、その移動元のディスク装置の故障診断を行う旨の診断指示を作成し、その診断指示をスペアディスク診断部９に出力する。なお、診断指示は、移動元のディスク装置を特定する識別情報を含む。
【０１５６】
スペアディスク診断部９は、診断指示を受け付けると、その診断指示が含む識別情報にて特定されるディスク装置が故障しているか否かを診断し、その診断結果をスペアディスク制御部８に出力する。スペアディスク制御部８は、その診断結果を受け付けると、ステップＳ６０９を実行する。
【０１５７】
ステップＳ６０９では、スペアディスク制御部８は、その診断結果がディスク装置の故障を示すか否かを確認する。スペアディスク制御部８は、その診断結果がディスク装置の故障を示すと、ステップＳ６１０を実行し、その診断結果がディスク装置の故障を示さないと、ステップＳ６１２を実行する。
【０１５８】
ステップＳ６１０では、スペアディスク制御部８は、移動元のディスク装置を縮退させる。スペアディスク制御部８は、移動元のディスク装置を移動させると、ステップＳ６１１を実行する。
【０１５９】
ステップＳ６１１では、スペアディスク制御部８は、重みを変更する旨の重み変更指示をエラー情報管理部７に出力する。なお、重み変更指示は、故障と判断された（縮退された）ディスク装置の識別情報を含む。
【０１６０】
エラー情報管理部７は、重み変更指示を受け付けると、その重み変更指示が含む識別情報にて特定されるディスク装置に関するエラー発生回数に基づいて、重み記憶部４ｃに記憶された重みを変更する。
【０１６１】
一方、スペアディスク制御部８は、重み変更指示を出力すると、ステップＳ６１２を実行する。
【０１６２】
ステップＳ６１２では、スペアディスク制御部８は、交換指示が含む識別情報にて特定される全てのディスク装置のデータの移動が終了したか否かを確認する。スペアディスク制御部８は、全てのディスク装置のデータの移動が終了すると、動作を終了し、一方、全てのディスク装置のデータの移動が終了していないと、ステップＳ６１３を実行する。
【０１６３】
ステップＳ６１３では、スペアディスク制御部８は、次に優先順位の高い識別情報にて特定されるディスク装置に記憶されているデータをスペアディスク装置に移動する。スペアディスク制御部８は、データを移動すると、ステップＳ６０７を実行する。
【０１６４】
本実施例によれば、エラー情報管理部７は、識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラー発生回数と、ランクエラー記憶部４ｂ２に記憶されたエラー発生回数と、にそれぞれ重み記憶部４ｃに記憶された重みを付加する。エラー情報管理部７は、ディスク装置のエラー数を、各重みが付加されたエラー発生回数を和として算出する。また、エラー情報管理部７は、そのエラー数が前記基準数以上か否かを判断する。スペアディスク診断部９は、エラー情報管理部７にてエラー数が基準数以上と判断されると、そのエラー数のディスク装置が故障しているか否かを診断する。
【０１６５】
この場合、ディスク装置のエラー発生回数と、ランクのエラー発生回数とにそれぞれ重みが付加される。ディスク装置のエラー数が、重みが付加されたエラー発生回数の和として算出される。また、そのエラー数が基準数以上であると、そのディスク装置が故障しているか否かが診断される。
【０１６６】
このため、ディスク装置の（重みが付加された）エラー発生回数が基準数未満でも、ランクのエラー発生回数が多くて、エラー数が基準数以上になると、そのディスク装置が故障しているか否かが診断される。よって、エラー発生回数が少ないディスク装置でも、故障している可能性が高いと判断することが可能になる。したがって、故障している可能性が高いディスク装置を適切に特定することが可能になる。
【０１６７】
また、本実施例では、エラー情報管理部７は、識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラー発生回数と、該識別情報とランク管理記憶部４ａ１にて関連づけられたランクとランクエラー記憶部４ｂ２にて関連づけられたエラー発生回数と、にそれぞれ重みを付加する。エラー情報管理部７は、ディスク装置のエラー数を、各重みが付加されたエラー発生回数の和として算出する。
【０１６８】
よって、ランクが複数ある場合でも、故障している可能性が高いディスク装置を適切に特定することが可能になる。
【０１６９】
また、本実施例では、エラー情報管理部７は、識別情報に装置エラー記憶部４ｂ１にて関連づけられたエラー発生回数と、該識別情報とランク管理記憶部４ａ１にて関連づけられたランクとランクエラー記憶部４ｂ１にて関連づけられたエラー発生回数と、該識別情報とポート管理記憶部４ａ３にて関連づけられたポートとポートエラー記憶部４ｂ３にて関連づけられたエラー発生回数と、にそれぞれ重みを付加する。エラー情報管理部７は、ディスク装置のエラー数は、各重みが付加されたエラー発生回数の和として算出する。
【０１７０】
この場合、ディスク装置のエラー発生回数と、該ディスク装置のランクのエラー発生回数と、該ディスク装置のポートのエラー発生回数にそれぞれ重みが付加される。また、ディスク装置のエラー数が、重みが付加されたエラー発生回数の和として算出される。
【０１７１】
このため、ディスク装置およびランクの（重みが付加された）エラー発生回数の和が基準数未満でも、ポートのエラー発生回数が多くて、エラー数が基準数以上になると、そのディスク装置の故障診断が行われる。よって、故障している可能性が高く、かつ、エラー発生回数の少ないディスク装置でも、故障している可能性が高いと判断することが可能になる。したがって、故障している可能性が高いディスク装置を適切に特定することが可能になる。
【０１７２】
また、本実施例では、エラー情報管理部７は、識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラー発生回数を、該エラー発生回数と装置エラー記憶部４ｂ１にて関連づけられたエラーの種別ごとに重み記憶部４ｃに記憶された重みを付加する。
【０１７３】
また、エラー情報管理部７は、その識別情報とランク管理記憶部４ａ１にて関連づけられたランクとランクエラー記憶部４ｂ２にて関連づけられたエラー発生回数を、該エラー発生回数とランクエラー記憶部４ｂ２にて関連づけられたエラーの種別ごとに重み記憶部４ｃに記憶された重みを付加する。
【０１７４】
さらに、エラー情報管理部７は、その識別情報とポート管理記憶部４ａ３にて関連づけられたポートとポートエラー記憶部４ｂ３にて関連づけられたエラー発生回数を、該エラー発生回数とポートエラー記憶部４ｂ３にて関連づけられたエラーの種別ごとに重み記憶部４ｃに記憶された重みを付加する。
【０１７５】
エラー情報管理部７は、ディスク装置のエラー数を、それらの重みが付加されたエラー発生回数の和として算出する。
【０１７６】
この場合、識別情報と関連づけられたエラー発生回数に、該エラー発生回数と関連づけられたエラーの種別ごとに重みが付加される。また、該識別情報と関連づけられたランクと関連づけられたエラー発生回数に、該エラー発生回数と関連づけられたエラーの種別ごとに重みが付加される。さらに、該識別情報と関連づけられたポートと関連づけられたエラー発生回数を、該エラー発生回数と関連づけられたエラーの種別ごとに重みが付加される。その後、各重みが付加されたエラー発生回数が合計されて、ディスク装置のエラー数が算出される。
【０１７７】
このため、エラーの種別に応じて、故障している可能性の高いディスク装置を特定するのに適切な重みが設定されていれば、故障している可能性が高いディスク装置を適切に特定することが可能になる。
【０１７８】
また、本実施例では、エラー情報管理部７は、スペアディスク診断部９にてディスク装置が故障と診断されると、該故障と診断されたディスク装置を特定する識別情報と装置エラー記憶部４ｂ１にて関連づけられたエラーの種別および発生回数と、該識別情報とランク管理記憶部４ａ１にて関連づけられたランクとランクエラー記憶部４ｂ２にて関連づけられたエラーの種別および発生回数と、該識別情報とポート管理記憶部４ａ３にて関連づけられたポートとポートエラー記憶部４ｂ３にて関連づけられたエラーの種別および発生回数とに基づいて、重み記憶部４ｃに記憶された重みを変更する。
【０１７９】
この場合、故障と診断されたディスク装置を特定する識別情報と関連づけられたエラーの種別および発生回数と、該識別情報と関連づけられたランクと関連づけられたエラーの種別および発生回数と、該識別情報と関連づけられたポートと関連づけられたエラーの種別および発生回数に基づいて、重みが変更される。
【０１８０】
このため、例えば、故障と診断されたディスク装置において、エラー発生回数が最も多いエラーの種別に対する重みを上げ、エラー発生回数の最も少ないエラーの種別に対する重みを下げるなどすれば、エラー数を算出するための重みを、故障している可能性の高いディスク装置を特定するのに適切な値に調整することが可能になる。
【０１８１】
また、エラー情報管理部７は、ディスク装置のエラー数を、ディスク装置ごとに算出し、各エラー数が基準数以上か否かを判断する。スペアディスク診断部９は、エラー情報管理部７にて基準回数以上と判断されたエラー数の中で、最も大きいディスク装置から順に、該ディスク装置が故障しているか否かを診断する。
【０１８２】
この場合、例えば、エラーが多く発生しているランクのディスク装置の中で、最もエラーの多く発生しているディスク装置から順に故障診断を行うことが可能になる。よって、故障しているディスク装置を効率良く発見することが可能になる。
【０１８３】
以上説明した実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【０１８４】
例えば、エラー発生回数に付加する重みは、ディスク装置の種類ごとに設定されても良い。
【０１８５】
この場合、識別情報には、該識別情報のディスク装置の種類が付けられる。
【０１８６】
また、重み記憶部４ｃは、各重みが、ディスク装置の種類ごとに記憶される。
【０１８７】
エラー情報管理部７は、ディスク装置、ランクおよびポートのエラー発生回数に、ディスク装置の種類に応じた重みを付加し、その重みが付加されたエラー発生回数の和としてエラー数を算出する。
【０１８８】
ディスク装置の種類に応じて、発生するエラーの種類または頻度などが異なる。よって、エラー発生回数に付加する重みがディスク装置の種類ごとに設定（記憶）されると、故障している可能性が高いディスク装置を適切に特定することが可能になる。
【０１８９】
また、スペアディスク診断部９が、エラー情報管理部７にてエラー数が基準数以上と判断されると、スペアディスク制御部８がそのエラー数のディスク装置に記憶されたデータをスペアディスク装置に移動せずに、そのディスク装置が故障しているか否かを診断してもよい。
【図面の簡単な説明】
【０１９０】
【図１】本発明の一実施例のディスクアレイシステムを示したブロック図である。
【図２】ディスク装置とポートとの関係を示した説明図である。
【図３】ディスク装置とランクとの関係を示した説明図である。
【図４】記憶部の構成の一例を示したブロック図である。
【図５】重み付けの一例を示した説明図である。
【図６】ディスクアレイシステムの動作例を説明するためのフローチャートである。
【符号の説明】
【０１９１】
１        ホスト
２        ディスク装置群
３        ディスクアレイ制御装置
４        記憶部
４ａ      管理記憶部
４ａ１    ランク管理記憶部
４ａ２    スペア管理記憶部
４ａ３    ポート管理記憶部
４ｂ      エラー記憶部
４ｂ１    装置エラー記憶部
４ｂ２    ランクエラー記憶部
４ｂ３    ポートエラー記憶部
４ｂ４    集計エラー記憶部
４ｃ      重み記憶部
４ｄ      基準記憶部
４ｅ      判断記憶部
５        ＲＡＩＤ情報管理部
６        ディスク処理制御部
７        エラー情報管理部
８        スペアディスク制御部
９        スペアディスク診断部
【図１】
2007241837.tif 000004
【図２】
2007241837.tif 000005
【図３】
2007241837.tif 000006
【図４】
2007241837.tif 000007
【図５】
2007241837.tif 000008
【図６】
2007241837.tif 000009