(57)【特許請求の範囲】
【請求項１】
ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置であって、
前記ディスク各々の性能に関する情報として、所定の時間内に行われた前記アクセスから導出される当該ディスク各々の稼働率を収集する性能情報収集手段と、
前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のＲＡＩＤグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを、性能に異常があると疑われる被疑ディスクとして検出する被疑ディスク検出手段と、
を備えたことを特徴とするディスクアレイ装置。
【請求項２】
前記被疑ディスク検出手段は、前記ＲＡＩＤグループの種別を判断し、判断した種別が、パリティ構成のＲＡＩＤグループである場合には、前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のＲＡＩＤグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを被疑ディスクとして検出し、前記判断した種別が、ミラーリング構成およびストライピング構成のＲＡＩＤグループである場合には、同一のＲＡＩＤグループを構成しているディスクのうちストライプグループを構成するグループごとに、前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のＲＡＩＤグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを被疑ディスクとして検出し、前記判断した種別が、ミラーリング構成のＲＡＩＤグループである場合には、前記性能情報収集手段によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のＲＡＩＤグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合には、リードアクセスとライトアクセスとの比率をさらに判定し、リードアクセスが過多でないと判定した場合に、当該所定ディスクを被疑ディスクとして検出することを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
前記被疑ディスク検出手段によって被疑ディスクが検出されると、被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信する通知手段をさらに備えたことを特徴とする請求項１または２に記載のディスクアレイ装置。
【請求項４】
前記被疑ディスク検出手段によって被疑ディスクが検出されると、当該被疑ディスクを前記アクセスの対象から排除する排除手段をさらに備えたことを特徴とする請求項１〜３のいずれか一つに記載のディスクアレイ装置。
【請求項５】
前記被疑ディスク検出手段は、被疑ディスクが検出されると、当該被疑ディスクについて当該検出の情報を加点形式で蓄積し、
請求項３の通知手段および請求項４の排除手段は、前記被疑ディスク検出手段によって蓄積された情報の点数が所定の閾値を超過したことを条件として、前記通知情報を出力もしくは送信する、および／または、当該被疑ディスクを排除することを特徴とする請求項３または４に記載のディスクアレイ装置。
【請求項６】
ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御する方法を、コンピュータとしてのディスクアレイ装置に実行させるディスクアレイ装置制御プログラムであって、
前記ディスク各々の性能に関する情報として、所定の時間内に行われた前記アクセスから導出される当該ディスク各々の稼働率を収集する性能情報収集手順と、
前記性能情報収集手順によって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のＲＡＩＤグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを、性能に異常があると疑われる被疑ディスクとして検出する被疑ディスク検出手順と、
をコンピュータに実行させることを特徴とするディスクアレイ装置制御プログラム。
【請求項７】
ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置制御方法であって、
前記ディスク各々の性能に関する情報として、所定の時間内に行われた前記アクセスから導出される当該ディスク各々の稼働率を収集する性能情報収集ステップと、
前記性能情報収集ステップによって収集されたディスク各々の稼働率を用いて、所定ディスクの稼働率と当該所定ディスクと同一のＲＡＩＤグループを構成している他のディスクの稼働率とを比較し、当該所定ディスクの稼働率と他のディスクの稼動率との差が所定閾値を超える場合に、当該所定ディスクを、性能に異常があると疑われる被疑ディスクとして検出する被疑ディスク検出ステップと、
を含んだことを特徴とするディスクアレイ装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法に関する。
【背景技術】
【０００２】
従来より、データ入出力装置は、ディスクを搭載し、上位装置から当該ディスクに対して行われるアクセスを制御するものである。具体的には、データ入出力装置は、上位装置からデータの読み出しを要求されると、要求されたデータをディスクから読み出し、データの書き込みを要求されると、データをディスクに書き込む。また、データ入出力装置の中でも、ディスクアレイ装置は、ディスクを冗長化することで、一つのディスクが故障したとしてもデータをロストしない仕組みとなっている。
【０００３】
具体的には、ディスクアレイ装置は、ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）グループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御する。近年では、ディスクの記憶容量の増大に伴い、ディスクアレイ装置の最大記憶容量はペタバイトオーダーまで増大し、これに比例するように、ＲＡＩＤグループを構成するディスク数も増大している。
【０００４】
このように、ディスクアレイ装置が搭載するディスク数が増大すると、ディスク故障が発生する可能性も増大する。このため、一般的には、ディスクアレイ装置が搭載するディスクについて、定期的に媒体チェックやステータス監視を行い、常にディスクの状態を監視することで、媒体異常や駆動系異常が発生したディスクの早期検出、状態の正常化を図っている。
【０００５】
また、例えば、特許文献１には、データの読み出し動作や書き込み動作などのＩ／Ｏ要求が実行されるにあたり必要とされた経過時間の変化が、閾値を超えているか否かを判定することで、『今にも発生しそうなデータ完全性エラー』を検出する技術が開示されている。
【０００６】
【特許文献１】特開２００５−３２２３９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上記した従来の技術では、性能異常を適切に検出することができないという課題があった。すなわち、上記したように、媒体異常や駆動系異常の場合は従来の技術で検出することができるが、性能異常（ディスクの性能値が異常を示すような障害）の場合、ディスクは、通常状態よりは性能が低下するものの、処理のタイムアウト等は発生しないため上位装置からは異常と認識されない程度の性能で動作可能なため、従来の技術で検出することはできない。しかしながら、いわゆる異常にはならない程度で動作するとは言うものの、性能異常によるデータアクセス遅延が発生すると、従来規定時間内に完了していた処理が規定時間内に完了しなくなる等、システムとして成り立たない事象も想定される。そのため、性能異常のディスクを検出することが必要である。
【０００８】
なお、特許文献１の技術のように、Ｉ／Ｏ要求の経過時間の変化を閾値と比較したとしても、当該変化がディスクの性能異常により発生しているかどうかは、当該ディスクに外部要因などにより一時的に高負荷が発生しているのかどうかといった他の点を併せて判断しなければならないはずであり、かかる判断が複雑かつ困難である以上、性能異常のディスクを適切に検出するとは言い難い。
【０００９】
そこで、この発明は、上記した従来技術の課題を解決するためになされたものであり、性能異常を適切に検出することが可能なディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本発明は、ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置であって、前記ディスク各々の性能に関する情報を収集する性能情報収集手段と、前記性能情報収集手段によって前記ディスク各々について収集された情報を、同一のＲＡＩＤグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出する被疑ディスク検出手段と、を備えたことを特徴とする。
【００１１】
また、本発明は、上記の発明において、前記性能情報収集手段は、前記性能に関する情報として、所定の時間内に行われた前記アクセスから導出される前記ディスク各々の稼働率を収集し、前記被疑ディスク検出手段は、前記稼働率を相対的に比較して前記被疑ディスクを検出することを特徴とする。
【００１２】
また、本発明は、上記の発明において、前記被疑ディスク検出手段は、前記ＲＡＩＤグループの種別を判断し、前記種別に応じて相対的に比較を行うことを特徴とする。
【００１３】
また、本発明は、上記の発明において、前記被疑ディスク検出手段によって被疑ディスクが検出されると、被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信する通知手段をさらに備えたことを特徴とする。
【００１４】
また、本発明は、上記の発明において、前記被疑ディスク検出手段によって被疑ディスクが検出されると、当該被疑ディスクを前記アクセスの対象から排除する排除手段をさらに備えたことを特徴とする。
【００１５】
また、本発明は、上記の発明において、前記被疑ディスク検出手段は、被疑ディスクが検出されると、当該被疑ディスクについて当該検出の情報を加点形式で蓄積し、通知手段および排除手段は、前記被疑ディスク検出手段によって蓄積された情報の点数が所定の閾値を超過したことを条件として、前記通知情報を出力もしくは送信する、および／または、当該被疑ディスクを排除することを特徴とする。
【００１６】
また、本発明は、上記の発明において、ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御する方法を、コンピュータとしてのディスクアレイ装置に実行させるディスクアレイ装置制御プログラムであって、前記ディスク各々の性能に関する情報を収集する性能情報収集手順と、前記性能情報収集手順によって前記ディスク各々について収集された情報を、同一のＲＡＩＤグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出する被疑ディスク検出手順と、をコンピュータに実行させることを特徴とする。
【００１７】
また、本発明は、上記の発明において、ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置制御方法であって、前記ディスク各々の性能に関する情報を収集する性能情報収集ステップと、前記性能情報収集ステップによって前記ディスク各々について収集された情報を、同一のＲＡＩＤグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出する被疑ディスク検出ステップと、を含んだことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、性能異常を適切に検出することが可能になる。
【００１９】
また、本発明によれば、性能異常に対する対処を適切に行うことが可能になる。
【００２０】
また、本発明によれば、性能異常をより正確に検出した上で、性能異常に対する対処を適切に行うことが可能になる。
【発明を実施するための最良の形態】
【００２１】
以下に添付図面を参照して、この発明に係るディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法の実施例を詳細に説明する。なお、以下では、以下の実施例で用いる主要な用語、実施例１に係るディスクアレイ装置の概要および特徴、実施例１に係るディスクアレイ装置の構成、実施例１に係るディスクアレイ装置の処理の手順、実施例１の効果を順に説明し、最後に、他の実施例について説明する。
【実施例１】
【００２２】
［用語の説明］
まず最初に、以下の実施例で用いる主要な用語を説明する。「ディスクアレイ装置」とは、ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）グループを構成する複数のディスクを搭載し、上位装置であるホストから当該ディスク各々に対して行われるアクセスを制御する装置である。また、「ＲＡＩＤ」とは、複数のディスクをまとめて１台のディスクとして管理する技術のことであり、「ディスクアレイ装置」がＲＡＩＤグループを構成する複数のディスクを制御することで、高速性や耐障害性などが向上される。
【００２３】
ここで、「ＲＡＩＤ」は、高速性や耐障害性のレベルによって、レベル分けがなされている。例えば、『ＲＡＩＤ０』は、ストライピング構成のＲＡＩＤであり、複数のディスクに均等にデータを振り分けるものである。また、例えば、『ＲＡＩＤ１』は、ミラーリング構成のＲＡＩＤであり、同一データを２台のディスクに同時にＷｒｉｔｅするものである。また、例えば、『ＲＡＩＤ１＋０』は、ミラーリング構成およびストライピング構成のＲＡＩＤである。また、例えば、『ＲＡＩＤ３』や『ＲＡＩＤ４』、あるいは『ＲＡＩＤ５』は、複数のディスクの内の１台をパリティと呼ばれる誤り訂正符号の記録に割り当て、他のディスクにデータを振り分けるものである。また、例えば、『ＲＡＩＤ６』は、複数のディスクの内の２台をパリティの記録に割り当て（ダブルパリティ）、他のディスクにデータを振り分けるものである。
【００２４】
ところで、「ディスクアレイ装置」は、高速性や耐障害性を要求されるシステムに適していると言える一方で、「ディスクアレイ装置」が制御しなければならないディスク数が増大することで、ディスク故障が発生する可能性も増大するという事態が生じている。このため、ディスク故障を早期に検出し、「ディスクアレイ装置」の状態の正常化を図る仕組みが必要となるが、ディスク故障の中でも、性能異常を早期に検出することが難しい。
【００２５】
この点について簡単に説明すると、性能異常とは、媒体異常や駆動系異常とは異なり、ディスクの性能値が異常を示すような異常であり、いわゆる異常にはならない程度で動作してしまう異常である。具体的に例を挙げて説明すると、ディスクの内部構造において、ディスク（円盤）がわずかに傾いていたとする。回転するディスクに対し、磁気ヘッドがシーク動作によって位置決めをするが、この際、ディスクがわずかに傾いていたとしても、一般に、補正が行われ、結果として、正しい位置決めが行われる。このようなリトライ動作を繰り返すことによって正しいＲｅａｄアクセスやＷｒｉｔｅアクセスが行われてしまうので結果として正常動作しているように見えてしまう。そのため、ディスクのわずかな傾きに起因する性能異常を早期に検出することが難しくなるのである。
【００２６】
しかしながら、このディスクのわずかな傾きのようなディスク内部の要因に起因して、高い確率で性能異常が再発するのであれば、高速性や耐障害性を要求されるシステムにとっては、いずれ致命的な故障となるおそれもあることから、このような性能異常も、媒体異常や駆動系異常と同様、早期に検出しなければならない異常であることにかわりない。
【００２７】
［実施例１に係るディスクアレイ装置の概要および特徴］
続いて、図１を用いて、実施例１に係るディスクアレイ装置の概要および特徴を説明する。図１は、実施例１に係るディスクアレイ装置の概要および特徴を説明するための図である。
【００２８】
実施例１に係るディスクアレイ装置は、上記したように、ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御することを概要とし、性能異常のディスクを適切に検出することを主たる特徴とする。
【００２９】
この主たる特徴について簡単に説明する。ここで、図１は、ディスクアレイ装置の構成を説明の便宜上から簡略化して示すものであり、ディスクアレイ装置のＣＭ（Controller  Module：コントローラ  モジュール）が、ＤＡ（Device  Adapter：デバイス  アダプタ）を経由して複数のディスクと接続することを示すものである。また、図１に示すように、実施例１においては、各ＤＡが、当該ＤＡに接続する複数のディスク各々についてアクセス時間を累積計上している。
【００３０】
このような構成の下、実施例１に係るディスクアレイ装置は、ディスク各々の性能に関する情報を収集する（図１の（１）を参照）。例えば、ディスクアレイ装置のＣＭは、各ＤＡに対して、ＤＡが収集しているアクセス時間を送信するよう指示を行い、当該ＤＡに接続する複数のディスク各々について、アクセス時間を取得する。次に、ＣＭは、取得したアクセス時間等を元に、ディスク各々について、稼働率（Ｂｕｓｙ率）を算出する。
【００３１】
次に、ディスクアレイ装置は、ディスク各々について収集された情報を、同一のＲＡＩＤグループを構成しているディスク間で相対的に比較する（図１の（２）を参照）。例えば、ディスクアレイ装置のＣＭは、ディスク各々について収集された稼働率を、同一のＲＡＩＤグループを構成しているディスク間で、稼動率が最も高い値と二番目に高い値とを比較し、ｎ倍（ｎは、別途設定される所定の値、例えば、２〜５の値など）以上の差分（差分比）があるか否かを判定する。
【００３２】
図１の例で説明すると、ディスクアレイ装置のＣＭは、例えば、ＲＡＩＤグループＮｏ．８が、ディスクＮｏ．『０ｘ００８』、『０ｘ１０８』、『０ｘ２０８』および『０ｘ３０８』で構成されている場合に、これらのディスク間で稼働率を比較し、最も高い稼働率『９５』が、二番目に高い稼働率『２２』の４倍以上であると判定する。
【００３３】
そして、ディスクアレイ装置は、比較の結果に基づいて、被疑ディスクを検出する（図１の（３）を参照）。例えば、ディスクアレイ装置のＣＭは、最も高い値の稼働率のディスク、すなわち、稼働率『９５』のディスク『０ｘ２０８』を、被疑ディスクとして検出する。
【００３４】
このように、実施例１に係るディスクアレイ装置によれば、同一のＲＡＩＤグループを構成しているディスク間で性能に関する情報を相対的に比較することで、性能異常のディスクを適切に検出することが可能になる。
【００３５】
本来、ＲＡＩＤグループを構成するディスクアレイ装置であれば、各ディスクの稼動率（Ｂｕｓｙ率）は、ほぼ均等になるはずである（ＲＡＩＤグループの種別にも拠るが、各ディスクの稼働率がほぼ均等になるようにディスクは選択されるものである）。このため、顕著に稼働率が高いディスクは、通常処理以外の余分な処理（例えば、ディスクの傾き等に起因するリトライ動作など）を行っているはずであり、この様な余分な処理が繰り返されることが、性能異常の要因となるのである。このようなことから、実施例１に係るディスクアレイ装置によれば、同一のＲＡＩＤグループを構成しているディスク間で各ディスクの稼働率を相対的に比較し、顕著に稼働率が高いディスクを検出することで、性能異常のディスクを適切に検出することが可能になるのである。
【００３６】
［実施例１に係るディスクアレイ装置の構成］
次に、図２〜７を用いて、実施例１に係るディスクアレイ装置の構成を説明する。図２は、ディスクアレイ装置の全体構成（概略図）を示すブロック図であり、図３は、ディスクアレイ装置の全体構成を示すブロック図であり、図４は、実施例１に係るディスクアレイ装置の構成を示すブロック図であり、図５は、アクセス監視部を説明するための図であり、図６は、性能情報収集部を説明するための図であり、図７は、被疑ディスク検出部を説明するための図である。
【００３７】
［ディスクアレイ装置の全体構成］
まず、ディスクアレイ装置の全体構成について説明すると、実施例１に係るディスクアレイ装置は、図２に示すように、ディスクアレイ装置を制御する各部や、ディスクアレイ装置と上位装置（ＨＯＳＴ）との間の通信モジュールなどを主に搭載するＣＥ（Controller  Enclosure：コントローラ  エンクロージャ）部と、ディスクを搭載するＤＥ（Device  Enclosure：デバイス  エンクロージャ）部とに、筐体が分けられている。また、ディスクアレイ装置は、図２に示すように、上位装置であるＨＯＳＴとＣＡ（Channel  Adapter：チャネル  アダプタ）経由で接続し、ＤＥ部とＤＡ（Device  Adapter：デバイス  アダプタ）経由で接続している。ここで、ＣＡとは、チャネル側のアダプタの意味であり、ＤＡとは、デバイス側のアダプタという意味である。
【００３８】
なお、ディスクアレイ装置が、複数のディスクを外付けで搭載する場合には、ＤＡはハードウェアで構成され、複数のディスクを内部に搭載する場合には、ＤＡはソフトウェアで構成される。実施例１においては、前者の場合を想定して説明するが、本発明はこれに限られるものではなく、ディスクアレイ装置がディスクを搭載する形態については、いずれでもよい。
【００３９】
また、実施例１に係るディスクアレイ装置は、図２に示すように、運用に使用するＣＭ（Controller  Module：コントローラ  モジュール）が２ＣＭ以上あり、冗長が確保されている構成であるとする。また、図３に示すように、実施例１におけるＤＥ部は、ＤＡから直接、もしくは、ルータ（Router）を経由するなどして、複数個接続することが可能であるとする。
【００４０】
［ＣＭの構成］
次に、実施例１に係るディスクアレイ装置のＣＭについて説明すると、図４に示すように、ＣＭ１００は、ＣＰＵ１１０（図４では、ＣＰＵ０として説明されているが、ＣＰＵについて冗長が確保されている場合には、ＣＰＵ１もほぼ同様に構成されることになる）に、ＩＯ制御部１１１と、Ｓｙｓｔｅｍ制御部１１２と、装置監視部１１３と、性能情報格納領域部１２０と、制御部１３０とを備える。
【００４１】
ＩＯ制御部１１１は、上位装置（ＨＯＳＴ）からのＩ／Ｏ（入出力）を制御する。Ｓｙｓｔｅｍ制御部１１２は、ディスクアレイ装置を制御する。装置監視部１１３は、ディスクアレイ装置の装置状態を監視する。これらの各部は、ディスクアレイ装置に一般的に備えられている部である。
【００４２】
実施例１に係るディスクアレイ装置は、上記したＩＯ制御部１１１、Ｓｙｓｔｅｍ制御部１１２、および装置監視部１１３の他に、制御部１３０を備える。制御部１３０は、ディスクに対するアクセス状況を、記憶、管理、判断等する。具体的には、制御部１３０は、図４に示すように、性能情報収集部１３１と、被疑ディスク検出部１３２と、異常通知・排除部１３３とを備える。
【００４３】
性能情報収集部１３１は、ディスク各々の性能に関する情報を収集する。例えば、性能情報収集部１３１は、ディスクごとや、ＲＡＩＤグループごとに、ディスク各々の性能に関する情報（実施例１においては、所定の時間内に行われたアクセスから導出されるディスク各々の稼働率）を定期的に収集し、収集した性能に関する情報は、性能情報格納領域部１２０に格納された上、被疑ディスク検出部１３２による処理に利用されるなどする。
【００４４】
具体的に例を挙げて説明すると、実施例１においては、図４に示すように、各ＤＡ２００が、アクセス監視部２３０を備え、アクセス監視部２３０が、当該ＤＡ２００に接続する複数のディスクについて、アクセスを監視し、アクセス時間を累積計上している。図５の例で説明すると、各ＤＡ２００のアクセス監視部２３０は、当該ＤＡ２００に接続する複数のディスク『Ｄｉｓｋ  ０ｘ２００』、『Ｄｉｓｋ  ０ｘ２０１』、・・、『Ｄｉｓｋ  ０ｘ２０８』、・・、各々について、アクセス時間『９』、『１３』、・・、『５２』、・・、を累積計上している。
【００４５】
性能情報収集部１３１は、各ＤＡ２００に対して、アクセス時間を送信するよう指示を行い、アクセス監視部２３０から、当該ＤＡ２００に接続する複数のディスク各々について、アクセス時間を取得する。次に、性能情報収集部１３１は、アクセス監視部２３０から取得したアクセス時間等を元に、ディスク各々について、稼働率を算出する。図６の例で説明すると、性能情報収集部１３１は、複数のディスク『Ｄｉｓｋ  ０ｘ２００』、『Ｄｉｓｋ  ０ｘ２０１』、・・、『Ｄｉｓｋ  ０ｘ２０８』、・・、各々について、稼働率（Ｂｕｓｙ率）『２２』、『２１』、・・、『９５』、・・、を算出する。このようにして、性能情報収集部１３１は、ディスク各々の稼働率を収集する。
【００４６】
なお、実施例１においては、各ＤＡ２００のアクセス監視部２３０が、ディスク各々についてアクセス時間を累積計上し、性能情報収集部１３１が、アクセス監視部２３０から取得したアクセス時間等を元に、ディスク各々について稼働率を算出する手法について説明したが、本発明はこれに限られるものではない。例えば、各ＤＡ２００のアクセス監視部２３０が、ディスク各々についてアクセス時間を累積計上するのみならず、稼働率の算出まで行い、性能情報収集部１３１が、アクセス監視部２３０から直接稼働率を取得する手法にも、本発明を同様に適用することができる。また、例えば、ディスク各々のアクセス時間を性能情報収集部１３１が直接収集する手法にも、本発明を同様に適用することができる。後者の手法は、例えば、ディスクアレイ装置が複数のディスクを内部に搭載する場合などに適用される。
【００４７】
被疑ディスク検出部１３２は、性能情報収集部１３１によってディスク各々について収集された情報を、同一のＲＡＩＤグループを構成しているディスク間で相対的に比較し、比較の結果に基づいて、性能に異常があると疑われる被疑ディスクを検出する。
【００４８】
例えば、被疑ディスク検出部１３２は、性能情報収集部１３１によってディスク各々について収集された情報（実施例１においては、稼働率）を、性能情報格納領域部１２０から取得し、同一のＲＡＩＤグループを構成しているディスク間で、稼動率が最も高い値と二番目に高い値とを比較し、ｎ倍（ｎは、別途設定される所定の値、例えば、２〜５の値など）以上の差分（差分比）がある場合に、最も高い値の稼働率のディスクを、被疑ディスクとして検出する。
【００４９】
図７の例で説明すると、被疑ディスク検出部１３２は、例えば、ＲＡＩＤグループＮｏ．８が、ディスクＮｏ．『０ｘ００８』、『０ｘ１０８』、『０ｘ２０８』および『０ｘ３０８』で構成されている場合に、これらのディスク間で稼働率を比較すると、最も高い稼働率『９５』が、二番目に高い稼働率『２２』の４倍以上であるので、稼働率『９５』のディスク『０ｘ２０８』を、被疑ディスクとして検出する。
【００５０】
また、例えば、被疑ディスク検出部１３２は、性能情報収集部１３１によってディスク各々について収集された情報（実施例１においては、稼働率）を、性能情報格納領域部１２０から取得し、同一のＲＡＩＤグループを構成しているディスク各々について、所定のディスクの稼働率と、当該ＲＡＩＤグループを構成するディスクの平均稼働率とを比較し、一定値以上の差分がある場合に、当該ディスクを、被疑ディスクとして検出してもよい。
【００５１】
ところで、この比較は、ＲＡＩＤのレベルを意識して実施される。例えば、ＲＡＩＤ１で構成されているＲＡＩＤグループは、ミラーリング構成のみのＲＡＩＤグループであるといえる。ミラーリング構成のみのＲＡＩＤグループを考えると、同一のＲＡＩＤグループを構成するディスク間で、一方のミラー側のディスク群に対してのみアクセスが発生する可能性があり、Ｒｅａｄアクセスが偏ってしまうおそれがある（適宜Ｒｅａｄアクセスを分散させているシステムでは、このような偏りは生じないと思われるが、一般的には、Ｒｅａｄアクセスが偏ると考えられる）。このため、ＲＡＩＤ１の異常ディスク検出のチェック処理においては、被疑ディスク検出部１３２は、稼働率をディスク間で相対的に比較するのみならず、Ｒｅａｄアクセスの状況も併せて検討した上で、性能に異常があると疑われる被疑ディスクであるか否かを検出することになる。
【００５２】
また、例えば、ＲＡＩＤ１＋０で構成されているＲＡＩＤグループは、ミラーリング構成およびストライピング構成のＲＡＩＤグループであるといえる。このため、被疑ディスク検出部１３２は、ＲＡＩＤ１＋０で構成されているＲＡＩＤグループについては、ストライプグループごとに、稼働率をディスク間で相対的に比較（同一ストライプのディスク群を構成する全ディスクの稼働率を比較）する。
【００５３】
また、例えば、ＲＡＩＤ５で構成されているＲＡＩＤグループは、パリティ構成のＲＡＩＤグループであるといえる。パリティ構成のＲＡＩＤグループについて考えると、ほぼ全ディスクにアクセスが均等に発生するはずである。このため、被疑ディスク検出部１３２は、ＲＡＩＤ５で構成されているＲＡＩＤグループについては、稼働率をディスク間で相対的に比較する。
【００５４】
次に、被疑ディスク検出部１３２は、被疑ディスクが検出されると、被疑ディスクについて、検出の情報を加点形式で蓄積する。図７の例で説明すると、被疑ディスク検出部１３２は、被疑ディスクとしてディスク『０ｘ２０８』が検出されると、ディスク『０ｘ２０８』について、検出の情報を『１』と加点形式で、性能情報格納領域部１２０に蓄積する。
【００５５】
異常通知・排除部１３３は、被疑ディスク検出部１３２によって蓄積された情報の点数が所定の閾値を超過したことを条件として、通知情報（被疑ディスクが検出されたことを通知する通知情報）を所定の出力部に出力（例えば、ディスプレイに出力するなど）もしくは通信部を経由して所定の宛先に送信したり（例えば、ディスクアレイ装置の監視システムにメール送信するなど）、被疑ディスクをアクセスの対象から排除する。言い換えると、異常通知・排除部１３３は、被疑ディスク検出部１３２によって検出された被疑ディスクについて、一定時間内監視を継続し、真に異常であると判断できる状態となった場合に、アラーム通知や被疑ディスクの切り離しを実行するものである。
【００５６】
例えば、異常通知・排除部１３３は、被疑ディスク検出部１３２によって性能情報格納領域部１２０に蓄積された情報の点数をディスクごとに確認し、確認回数と異常加点との割合から異常と判断できる閾値（予め設定された所定の値、例えば、１００回中５０回検出など）を超過した場合に、通知情報の出力送信や、被疑ディスクの切り離しなどを実施する。
【００５７】
なお、異常通知・排除部１３３は、別途設定される設定に従い、通知情報の出力送信のみを行ったり、これと併せて被疑ディスクの切り離しを行う、あるいは、通知情報の出力送信も切り離しも無効にするなど、様々な対応をとることができる。ここで、ディスクアレイ装置においては、一般的に、ディスクの切り離しにあたり、リダンダントコピー処理を行う設定になっている場合がある。しかしながら、ディスクアレイ装置が、被疑ディスクについてのディスクの切り離しにおいてリダンダントコピー処理を行うとすると、性能劣化状態を加速するおそれがある。このようなことから、ディスクアレイ装置が被疑ディスクについてのディスクの切り離しを行う際には、即時に当該ディスクを切り離し、リビルド処理を行うなどするのが好ましい。また、異常通知・排除部１３３は、通知情報とともに、ｓｎｍｐ  ｔｒａｐをあげてもよい。
【００５８】
性能情報格納領域部１２０は、図４に示すように、例えば、ディスク各々について収集された稼働率（Ｄｉｓｋ性能情報）や、同一のＲＡＩＤグループを構成しているディスクについて収集された稼働率（ＲＡＩＤグループ性能情報）、上位装置からディスク各々に対して行われるアクセス状況（Ｈｏｓｔアクセス性能情報）などを格納する。なお、性能情報格納領域部１２０が格納する情報は、上記のものに限られず、運用の形態に応じて適宜変更されるものである。
【００５９】
［実施例１に係るディスクアレイ装置による処理の手順］
次に、図８〜１６を用いて、実施例１に係るディスクアレイ装置による処理を説明する。図８は、運用判定・全体フローを示すフローチャートであり、図９は、性能情報収集開始処理を示すフローチャートであり、図１０は、性能情報値収集処理を示すフローチャートであり、図１１は、性能情報値チェック処理を示すフローチャートであり、図１２は、ディスク性能異常チェック処理を示すフローチャートであり、図１３は、異常検出後処理を示すフローチャートであり、図１４は、ＲＡＩＤ１異常ディスク検出処理（ミラーリング構成）を示すフローチャートであり、図１５は、ＲＡＩＤ１＋０異常ディスク検出処理（ミラーリング＋ストライピング構成）を示すフローチャートであり、図１６は、ＲＡＩＤ５異常ディスク検出処理（パリティ構成）を示すフローチャートである。
【００６０】
［運用判定・全体フロー（図８）］
まず、ＣＭ１００は、ディスク（Ｄｉｓｋ）の異常検出（性能に異常があると疑われる被疑ディスクの検出）の論理が、運用状態にあるか否かのチェックを行う（ステップＳ８０１）。運用状態にない場合には（ステップＳ８０２否定）、すなわち、運用設定がなされていない場合には、ディスクの異常検出の論理が未動作であるので、ＣＭ１００は処理を終了する。一方、運用状態にある場合には（ステップＳ８０２肯定）、ＣＭ１００は、ディスクの異常検出の論理について、運用を開始する（ステップＳ８０３）。
【００６１】
ディスクの異常検出の論理について、運用を開始すると、ＣＭ１００は、まず、性能情報収集開始処理を行う（ステップＳ８０４）。具体的には、ＣＭ１００は、性能情報収集部１３１に対して、ディスク各々の性能情報収集の開始を依頼する。なお、性能情報収集開始処理については、後に、図９を用いて詳述する。
【００６２】
性能情報収集部１３１による性能情報収集処理が開始されると、ＣＭ１００は、図８のループで示される処理の手順を、一定時間間隔で繰り返し実行する。具体的には、まず、性能情報収集部１３１が、ディスク各々の性能情報値を収集する（ステップＳ８０５）。ここで、性能情報値とは、ディスク各々におけるアクセス時間や、アクセス時間等を元に算出された稼働率（Ｄｉｓｋ性能情報）、その他、同一のＲＡＩＤグループを構成しているディスクについて収集された稼働率（ＲＡＩＤグループ性能情報）、上位装置からディスク各々に対して行われるアクセス状況（Ｈｏｓｔアクセス性能情報）などのことである。なお、性能情報値の収集処理については、後に、図１０を用いて詳述する。
【００６３】
次に、被疑ディスク検出部１３２が、性能情報値をチェックする（ステップＳ８０６）。すなわち、被疑ディスク検出部１３２は、性能情報収集部１３１によってディスク各々について収集された情報に基づいて、同一のＲＡＩＤグループを構成しているディスク間で動作状況を相対的に比較し、比較の結果に基づいて、性能に異常があると疑われる被疑ディスクを検出し、当該被疑ディスクについて異常検出加点を行う。なお、性能情報値のチェック処理については、後に、図１１を用いて詳述する。
【００６４】
続いて、異常通知・排除部１３３が、ディスクの性能異常をチェックする（ステップＳ８０７）。すなわち、異常通知・排除部１３３は、被疑ディスク検出部１３２によって蓄積されている異常検出加点に基づいて、異常判定（性能異常が疑われる被疑ディスクとして検出されたディスクが、真に異常であるか否かの絞込み判定）を実施する。なお、ディスク性能異常のチェック処理については、後に、図１２を用いて詳述する。
【００６５】
そして、異常通知・排除部１３３は、性能異常（実施例１においては、被疑ディスクとして検出されたディスクが真に異常であるとさらに判定された場合を指す）を検出したか否かを判定し（ステップＳ８０８）、検出した場合には（ステップＳ８０８肯定）、異常検出後処理を行う（ステップＳ８０９）。すなわち、異常通知・排除部１３３は、ステップＳ８０８における判定の結果に基づいて、障害通知（被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信）、または、リカバリ処理（被疑ディスクをアクセスの対象から排除）を実施する。なお、異常検出後処理については、後に、図１３を用いて詳述する。ステップＳ８０８において、性能異常を検出しない場合には（ステップＳ８０８否定）、異常通知・排除部１３３は、上記したステップＳ８０９の処理を行わない。
【００６６】
次に、ＣＭ１００は、検出回数をチェックし（ステップＳ８１０）、一定周期チェックしたかを判定し（ステップＳ８１１）、一定周期チェックしている場合には（ステップＳ８１１肯定）、検出カウンタを初期化する（ステップＳ８１２）。一方、一定周期チェックしていない場合には（ステップＳ８１１否定）、検出カウンタを初期化しない。
【００６７】
続いて、ＣＭ１００は、ディスクの異常検出の論理が、運用状態にあるか否かのチェックを行う（ステップＳ８１３）。運用状態にない場合には（ステップＳ８１４否定）、すなわち、運用設定が解除された場合には、ＣＭ１００は、各動作処理を終了し（ステップＳ８１５）、処理を終了する。一方、運用状態にある場合には（ステップＳ８１４肯定）、ＣＭ１００は、図８のループで示される処理の手順を繰り返し実行する。
【００６８】
［性能情報収集開始処理（図９）］
次に、図８のステップＳ８０４における性能情報収集開始処理について詳細に説明する。まず、性能情報収集部１３１が、性能情報収集開始処理を開始し（ステップＳ９０１）、性能情報収集の対象となるディスクをチェックする（ステップＳ９０２）。
【００６９】
対象となるディスクのチェックが開始されると、ＣＭ１００は、図９のループで示される処理の手順を、ディスクの数分繰り返し実行する。具体的には、まず、性能情報収集部１３１は、状態をチェックする（ステップＳ９０３）。すなわち、性能情報収集部１３１は、ディスクの実装状態や動作状態等をチェックする。
【００７０】
チェックの結果、状態が良好であれば（ステップＳ９０４肯定）、性能情報収集部１３１は、性能情報収集開始の指示を行う（ステップＳ９０５）。すなわち、性能情報収集部１３１は、モジュールごとに、ディスク各々の性能情報収集を開始するよう指示を行う。ステップＳ９０４において、状態が良好でない場合には（ステップＳ９０４否定）、性能情報収集部１３１は、上記したステップＳ９０５の処理を行わない。
【００７１】
続いて、性能情報収集部１３１は、性能情報収集の対象となるディスクの残数をチェックし（ステップＳ９０６）、残数がなければ（ステップＳ９０７肯定）、性能情報収集開始処理を終了する（ステップＳ９０８）。
【００７２】
［性能情報値収集処理（図１０）］
次に、図８のステップＳ８０５における性能情報値収集処理について詳細に説明する。まず、性能情報収集部１３１が、性能情報収集処理を開始し（ステップＳ１００１）、性能情報収集の対象となるディスクをチェックする（ステップＳ１００２）。
【００７３】
対象となるディスクのチェックが開始されると、ＣＭ１００は、図１０のループで示される処理の手順を、ディスクの数分繰り返し実行する。具体的には、まず、性能情報収集部１３１は、状態をチェックする（ステップＳ１００３）。すなわち、性能情報収集部１３１は、ディスクの実装状態や動作状態等をチェックする。
【００７４】
チェックの結果、状態が良好でない場合には（ステップＳ１００４否定）、すなわち、未実装や故障、電源オフ時などには、性能情報収集部１３１は、対象外のディスクであるとして（ステップＳ１００５）、スキップする。
【００７５】
一方、状態が良好である場合には（ステップＳ１００４肯定）、性能情報収集部１３１は、性能情報収集状態をチェックする（ステップＳ１００６）。すなわち、性能情報収集部１３１は、未実装状態から実装状態になった場合や、故障状態から復帰状態になった場合の再起動処理を行う。
【００７６】
ここで、性能情報収集が動作中となっていない場合には（ステップＳ１００７否定）、性能情報収集部１３１は、性能情報収集開始の指示を行い（ステップＳ１００８）、初期値を設定する（ステップＳ１００９）。一方、性能情報収集がすでに動作中となっている場合には（ステップＳ１００７肯定）、性能情報収集部１３１は、性能情報値を送信するよう指示を行う（ステップＳ１０１０）。すなわち、対象となるディスクについて、性能情報値を性能情報収集部１３１に送信するよう、指示を行う。ここで、性能情報値とは、ディスク各々におけるアクセス時間のことである。
【００７７】
そして、性能情報収集部１３１は、性能情報値を管理メモリに格納する（ステップＳ１０１１）。すなわち、性能情報収集部１３１は、性能情報値を、ＣＭ１００内のキャッシュメモリやその他性能情報格納領域部１２０などに格納する。
【００７８】
続いて、性能情報収集部１３１は、性能情報収集の対象となるディスクの残数をチェックし（ステップＳ１０１２）、残数がなければ（ステップＳ１０１３肯定）、性能情報収集処理を終了する（ステップＳ１０１４）。なお、性能情報収集部１３１は、性能情報値として、性能情報収集部１３１から送信されたアクセス時間の他に、アクセス時間等を元に算出された稼働率（Ｄｉｓｋ性能情報）、その他、同一のＲＡＩＤグループを構成しているディスクについて収集された稼働率（ＲＡＩＤグループ性能情報）や、上位装置からディスク各々に対して行われるアクセス状況（Ｈｏｓｔアクセス性能情報）などを、適宜格納する。これらの性能情報値は、必要に応じて適宜組み合わせるなどして利用される。
【００７９】
［性能情報値チェック処理（図１１）］
次に、図８のステップＳ８０６における性能情報値チェック処理について詳細に説明する。まず、被疑ディスク検出部１３２が、性能情報値チェック処理を開始する（ステップＳ１１０１）。
【００８０】
性能情報値チェック処理が開始されると、被疑ディスク検出部１３２は、図１１のループで示される処理の手順を、ＲＡＩＤグループの数分繰り返し実行する。具体的には、まず、被疑ディスク検出部１３２は、ＲＡＩＤグループをレベル別にチェックし（ステップＳ１１０２）、状態が良好であれば（ステップＳ１１０３肯定）、ＲＡＩＤグループのレベル別に、異常ディスク検出のチェック処理を行う。すなわち、ＲＡＩＤグループが『ＲＡＩＤ１』であれば、ＲＡＩＤ１で構成されているＲＡＩＤグループについて、異常ディスク検出のチェック処理を行い（ステップＳ１１０４）、ＲＡＩＤグループが『ＲＡＩＤ１＋０』であれば、ＲＡＩＤ１＋０で構成されているＲＡＩＤグループについて、異常ディスク検出のチェック処理を行い（ステップＳ１１０５）、ＲＡＩＤグループが『ＲＡＩＤ５』であれば、ＲＡＩＤ５で構成されているＲＡＩＤグループについて、異常ディスク検出のチェック処理を行い（ステップＳ１１０６）。なお、各々のチェック処理については、後に、図１４〜１６を用いて詳述する。
【００８１】
続いて、被疑ディスク検出部１３２は、検出結果を確認し（ステップＳ１１０７）、異常ディスクが検出されていた場合には（ステップＳ１１０８肯定）、対象となる異常ディスクの検出情報を加点する（ステップＳ１１０９）。すなわち、被疑ディスク検出部１３２は、異常が検出されたディスクについて、検出の情報を加点形式で蓄積する。
【００８２】
その後、被疑ディスク検出部１３２は、性能情報値のチェック処理を終了する（ステップＳ１１１０）。
【００８３】
［ディスク性能異常チェック処理（図１２）］
次に、図８のステップ８０７におけるディスク性能異常チェック処理について詳細に説明する。まず、異常通知・排除部１３３が、ディスク性能異常チェック処理を開始する（ステップＳ１２０１）。
【００８４】
ディスク性能異常チェック処理が開始されると、異常通知・排除部１３３は、図１２のループで示される処理の手順を、ディスクの数分繰り返し実行する。具体的には、まず、異常通知・排除部１３３は、ディスク性能異常検出の加点をチェックする（ステップＳ１２０２）。すなわち、被疑ディスク検出部１３２によって検出された異常ディスクについて、検出の情報を加点形式で蓄積した点数をチェックする。
【００８５】
そして、異常通知・排除部１３３は、チェックした点数が所定の閾値以上である場合には（ステップＳ１２０３肯定）、対象となるディスクについて、異常検出フラグをオンにする（ステップＳ１２０４）。閾値以上でない場合には（ステップＳ１２０３否定）、異常通知・排除部１３３は、上記したステップＳ１２０４の処理を行わない。
【００８６】
その後、異常通知・排除部１３３は、ディスク性能異常のチェック処理を終了する（ステップＳ１２０５）。
【００８７】
［異常検出後処理（図１３）］
次に、図８のステップＳ８０９における異常検出後処理について詳細に説明する。まず、異常通知・排除部１３３は、異常検出後処理を開始する（ステップＳ１３０１）。
【００８８】
異常検出後処理が開始されると、異常通知・排除部１３３は、図１３のループで示される処理の手順を、異常ディスクとして検出したディスク（被疑ディスク検出部１３２によって被疑ディスクとして検出されたディスクの内、異常通知・排除部１３３によって異常検出フラグがオンにされたディスク）の数分繰り返し実行する。
【００８９】
具体的には、まず、異常通知・排除部１３３は、ディスクアレイ装置の設定状態に依存することから、処理モードをチェックし（ステップＳ１３０２）、状態が、縮退優先であれば、切り離し処理を行う（ステップＳ１３０３〜１３０４）。すなわち、異常通知・排除部１３３は、異常検出フラグがオンにされた被疑ディスクを、アクセスの対象から排除する。
【００９０】
また、異常通知・排除部１３３は、状態が、通報優先であれば、障害通報処理を行う（ステップＳ１３０５）。すなわち、異常通知・排除部１３３は、異常検出フラグがオンにされた被疑ディスクが検出されたことを通知する通知情報を、所定の出力部に出力したり（例えば、ディスプレイに表示、スピーカに音声出力など）、所定の宛先に送信する（例えば、ディスクアレイ装置の監視システムにメール送信など）。
【００９１】
また、異常通知・排除部１３３は、状態が、縮退優先や通報優先以外であれば、内部情報として保持する（ステップＳ１３０６）。すなわち、異常通知・排除部１３３は、異常検出フラグがオンにされた被疑ディスクについて、内部情報として保持する。
【００９２】
その後、異常通知・排除部１３３は、異常検出後処理を終了する（ステップＳ１３０７）。
【００９３】
［ＲＡＩＤ１異常ディスク検出処理（図１４）］
次に、図１１のステップＳ１１０４におけるＲＡＩＤ１の異常ディスク検出のチェック処理について詳細に説明する。まず、被疑ディスク検出部１３２は、ＲＡＩＤ１で構成されているＲＡＩＤグループについて、異常ディスク検出のチェック処理を開始する（ステップＳ１４０１）。
【００９４】
ここで、ＲＡＩＤ１で構成されているＲＡＩＤグループは、ミラーリング構成のみのＲＡＩＤグループであるといえる。ミラーリング構成のみのＲＡＩＤグループを考えると、同一のＲＡＩＤグループを構成するディスク間で、一方のミラー側のディスク群に対してのみアクセスが発生する可能性があり、Ｒｅａｄアクセスが偏ってしまうおそれがある（適宜Ｒｅａｄアクセスを分散させているシステムでは、このような偏りは生じないと思われるが、一般的には、Ｒｅａｄアクセスが偏ると考えられる）。このため、以下に説明するように、ＲＡＩＤ１の異常ディスク検出のチェック処理においては、稼働率をディスク間で相対的に比較するのみならず、Ｒｅａｄアクセスの状況も併せて検討した上で、性能に異常があると疑われる被疑ディスクであるか否かを検出することになる。
【００９５】
すなわち、被疑ディスク検出部１３２は、まず、ＲＡＩＤグループを構成しているディスク間で、稼働率（Ｂｕｓｙ率）を相対的に比較し（ステップＳ１４０２）、差分がない場合には（ステップＳ１４０３否定）、異常なしと判断して（ステップＳ１４０７）、ＲＡＩＤ１の異常ディスク検出のチェック処理を終了する（ステップＳ１４０８）。すなわち、被疑ディスク検出部１３２は、ディスク間で稼働率を相対的に比較し、例えば、稼働率が最も高い値と二番目に高い値とを比較し、ｎ倍以上の差がない場合には（ｎは、別途設定される所定の値）、被疑ディスクはなしと判断して、チェック処理を終了する。
【００９６】
一方、差分がある場合には（ステップＳ１４０３肯定）、次に、被疑ディスク検出部１３２は、アクセス状況をチェックする（ステップＳ１４０４）。すなわち、被疑ディスク検出部１３２は、稼働率が最も高い値と二番目に高い値とを比較し、ｎ倍以上の差がある場合には、次に、ＲｅａｄやＷｒｉｔｅのアクセス比率等をチェックする。
【００９７】
そして、被疑ディスク検出部１３２は、Ｒｅａｄアクセスが過多である場合には（ステップＳ１４０５肯定）、異常なしと判断して（ステップＳ１４０７）、ＲＡＩＤ１の異常ディスク検出のチェック処理を終了する（ステップＳ１４０８）。一方、Ｒｅａｄアクセスが過多でない場合には（ステップＳ１４０５否定）、異常ありと判断して（ステップＳ１４０６）、ＲＡＩＤ１の異常ディスク検出のチェック処理を終了する（ステップＳ１４０８）。すなわち、被疑ディスク検出部１３２は、稼働率が最も高い値を示すディスクが、被疑ディスクであると判断して、チェック処理を終了する。
【００９８】
［ＲＡＩＤ１＋０異常ディスク検出処理（図１５）］
次に、図１１のステップＳ１１０５におけるＲＡＩＤ１＋０の異常ディスク検出のチェック処理について詳細に説明する。まず、被疑ディスク検出部１３２は、ＲＡＩＤ１＋０で構成されているＲＡＩＤグループについて、異常ディスク検出のチェック処理を開始する（ステップＳ１５０１）。
【００９９】
ここで、ＲＡＩＤ１＋０で構成されているＲＡＩＤグループは、ミラーリング構成およびストライピング構成のＲＡＩＤグループであるといえる。このため、以下に説明するように、ＲＡＩＤ１＋０で構成されているＲＡＩＤグループについては、ストライプグループごとに、稼働率をディスク間で相対的に比較する。
【０１００】
すなわち、被疑ディスク検出部１３２は、異常ディスク検出のチェック処理が開始されると、図１５に示すループ（二重ループの外側ループ）の処理の手順を、ストライプグループ分、繰り返し実行する。具体的には、まず、被疑ディスク検出部１３２は、同一のＲＡＩＤグループを構成しているディスク間で、稼動率を相対的に比較する（ステップＳ１５０２）。すなわち、被疑ディスク検出部１３２は、例えば、所定のディスクの稼働率と同一のＲＡＩＤグループを構成するディスクの平均稼動率とを比較する。
【０１０１】
次に、被疑ディスク検出部１３２は、図１５に示すループ（二重ループの内側ループ）の処理の手順を、ストライプグループを構成するディスクの数分、繰り返し実行する。具体的には、被疑ディスク検出部１３２は、差分があるか否かを判定し（ステップＳ１５０３）、差分がない場合には（ステップＳ１５０３否定）、異常なしと判断する（ステップＳ１５０５）。すなわち、被疑ディスク検出部１３２は、所定のディスクの稼働率と同一のＲＡＩＤグループを構成するディスクの平均稼動率とを比較した結果、一定値以上の差分がない場合には、被疑ディスクはなしと判断する。
【０１０２】
一方、差分がある場合には（ステップＳ１５０３肯定）、異常ありと判断する（ステップＳ１５０４）。すなわち、被疑ディスク検出部１３２は、所定のディスクの稼働率と同一のＲＡＩＤグループを構成するディスクの平均稼動率とを比較した結果、一定値以上の差分がある場合には、当該差分があるディスクが被疑ディスクであると判断する。
【０１０３】
その後、被疑ディスク検出部１３２は、ＲＡＩＤ１＋０の異常ディスク検出のチェック処理を終了する（ステップＳ１５０６）。
【０１０４】
［ＲＡＩＤ５異常ディスク検出処理（図１６）］
次に、図１１のステップＳ１１０６におけるＲＡＩＤ５の異常ディスク検出のチェック処理について詳細に説明する。まず、被疑ディスク検出部１３２は、ＲＡＩＤ５で構成されているＲＡＩＤグループについて、異常ディスク検出のチェック処理を開始する（ステップＳ１６０１）。
【０１０５】
ここで、ＲＡＩＤ５で構成されているＲＡＩＤグループは、パリティ構成のＲＡＩＤグループであるといえる。パリティ構成のＲＡＩＤグループについて考えると、ほぼ全ディスクにアクセスが均等に発生するはずである。このため、以下に説明するように、ＲＡＩＤ５で構成されているＲＡＩＤグループについては、単に、稼働率をディスク間で相対的に比較する。
【０１０６】
すなわち、被疑ディスク検出部１３２は、異常ディスク検出のチェック処理が開始されると、まず、同一のＲＡＩＤグループを構成しているディスク間で、稼動率を相対的に比較する（ステップＳ１６０２）。すなわち、被疑ディスク検出部１３２は、例えば、稼働率が最も高い値と二番目に高い値とを比較する。
【０１０７】
次に、被疑ディスク検出部１３２は、図１６に示すループの処理の手順を、ＲＡＩＤグループを構成するディスクの数分、繰り返し実行する。具体的には、被疑ディスク検出部１３２は、差分があるか否かを判定し（ステップＳ１６０３）、差分がない場合には（ステップＳ１６０３否定）、異常なしと判断する（ステップＳ１６０５）。すなわち、被疑ディスク検出部１３２は、稼働率が最も高い値と二番目に高い値とを比較し、ｎ倍以上の差がない場合には（ｎは、別途設定される所定の値）、被疑ディスクはなしと判断する。
【０１０８】
一方、差分がある場合には（ステップＳ１６０３肯定）、異常ありと判断する（ステップＳ１６０４）。すなわち、被疑ディスク検出部１３２は、稼働率が最も高い値と二番目に高い値とを比較し、ｎ倍以上の差がある場合には、被疑ディスクはありと判断する。
【０１０９】
その後、被疑ディスク検出部１３２は、ＲＡＩＤ５の異常ディスク検出のチェック処理を終了する（ステップＳ１６０６）。
【０１１０】
［実施例１の効果］
上記してきたように、実施例１によれば、ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御するディスクアレイ装置であって、ディスク各々の性能に関する情報を収集し、ディスク各々について収集した情報を、同一のＲＡＩＤグループを構成しているディスク間で相対的に比較し、当該比較の結果に基づいて性能に異常があると疑われる被疑ディスクを検出するので、性能異常を適切に検出することが可能になる。
【０１１１】
また、実施例１によれば、性能に関する情報として、所定の時間内に行われた前記アクセスから導出されるディスク各々の稼働率を収集し、稼働率を相対的に比較して被疑ディスクを検出するので、性能異常を適切に検出することが可能になる。
【０１１２】
本来、ＲＡＩＤグループを構成するディスクアレイ装置であれば、各ディスクの稼動率（Ｂｕｓｙ率）は、ほぼ均等になるはずである（ＲＡＩＤグループの種別にも拠るが、各ディスクの稼働率がほぼ均等になるようにディスクは選択されるものである）。このため、顕著に稼働率が高いディスクは、通常処理以外の余分な処理（例えば、ディスクの傾き等に起因するリトライ動作など）を行っているはずであり、この様な余分な処理が繰り返されることが、性能異常の要因となるのである。このようなことから、実施例１によれば、同一のＲＡＩＤグループを構成しているディスク間で各ディスクの稼働率を相対的に比較し、顕著に稼働率が高いディスクを検出することで、性能異常のディスクを適切に検出することが可能になるのである。
【０１１３】
また、実施例１によれば、ＲＡＩＤグループの種別を判断し、種別に応じて相対的に比較を行うので、ＲＡＩＤグループごとに、性能異常を適切に検出することが可能になる。
【０１１４】
また、実施例１によれば、被疑ディスクを検出すると、被疑ディスクが検出されたことを通知する通知情報を所定の出力部に出力もしくは通信部を経由して所定の宛先に送信するので、性能異常に対する対処を適切に行うことが可能になる。
【０１１５】
また、実施例１によれば、被疑ディスクを検出すると、当該被疑ディスクをアクセスの対象から排除するので、性能異常に対する対処を適切に行うことが可能になる。
【０１１６】
また、実施例１によれば、被疑ディスクを検出すると、当該被疑ディスクについて当該検出の情報を加点形式で蓄積し、蓄積された情報の点数が所定の閾値を超過したことを条件として、通知情報を出力もしくは送信、あるいは、当該被疑ディスクを排除するなどするので、性能異常をより正確に検出した上で、性能異常に対する対処を適切に行うことが可能になる。
【実施例２】
【０１１７】
［他の実施例］
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【０１１８】
実施例１においては、ディスクアレイ装置が、被疑ディスクを検出した後に、検出の情報を加点形式で蓄積し、蓄積した情報の点数が所定の閾値を超過したことを条件として、通報や切り離しが行われる事例（性能異常が疑われる被疑ディスクとして検出されたディスクが真に異常であるか否かをさらに判定する事例）について説明したが、本発明はこれに限られるものではない。例えば、所定の閾値を超過するか否かに関係なく、被疑ディスクを検出した際に、当該被疑ディスクが性能異常のディスクであるとして、直ちに、通報や切り離しを行ってもよい。また、例えば、通報や切り離しを行わずに、被疑ディスクを検出し、その情報を内部情報として保持するのみでもよい。
【０１１９】
［ＲＡＩＤ］
また、実施例１においては、ディスクアレイ装置が搭載する複数のディスクが構成しているＲＡＩＤグループとして、『ＲＡＩＤ１』のグループ、『ＲＡＩＤ１＋０』のグループ、『ＲＡＩＤ５』のグループについて説明したが、本発明はこれに限られるものではない。『ＲＡＩＤ１』のグループは、ミラーリング構成のみのグループを例示するものであり、『ＲＡＩＤ１＋０』のグループは、ミラーリング構成およびストライピング構成のグループを例示するものであり、『ＲＡＩＤ５』は、パリティ構成のグループを例示するものであるにすぎず、本発明は、ＲＡＩＤが、ミラーリング構成のグループであるのか、ストライピング構成のグループであるのか、パリティ構成のグループであるのか、あるいは、これらの組み合わせのグループであるのか、等に応じて、適宜、同様に適用することができるものである。
【０１２０】
［性能異常の検出単位］
また、実施例１においては、ディスクアレイ装置が、ディスク各々の性能情報を収集し、被疑ディスクを検出する手法について説明したが、本発明はこれに限られるものではない。例えば、ＤＡがディスク各々のヘッダを監視することで、アクセス時間をディスクごとかつセクタごとに取得し、ディスクアレイ装置が、ディスク各々かつセクタ各々の性能情報として、セクタごとのアクセス時間を収集すれば、性能に異常があると疑われる被疑セクタを検出することも可能である。すなわち、本発明に係るディスクアレイ装置は、所定の単位の対象ごとに性能情報を収集し、収集した性能情報を、比較に適する対象間で相対的に比較することで、性能に異常があると疑われる対象を検出するものである。
【０１２１】
［システム構成等］
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる（例えば、異常通知・排除部によって利用される閾値は、ディスクアレイ装置の内部処理で自動生成されても、あるいは、ディスクアレイ装置の運用管理者によって入力されてもよい）。この他、上記文書中や図面中で示した処理手順、制御手順（図８〜１５）、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２２】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示（図２〜４）のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１２３】
［プログラム］
また、上記の実施例１で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１７を用いて、上記の実施例１と同様の機能を有するディスクアレイ装置制御プログラムを実行するコンピュータの一例を説明する。図１７は、ディスクアレイ装置制御プログラムを実行するコンピュータを示す図である。
【０１２４】
図１７に示すように、コンピュータ３００は、キャッシュ３０１、ＲＡＭ３０２、ＨＤＤ３０３、ＲＯＭ３０４、およびＣＰＵ３０５をバス３０６で接続して構成される。ここで、ＲＯＭ３０４には、上記の実施例１と同様の機能を発揮するディスクアレイ装置制御プログラム、つまり、図１７に示すように、ＩＯ制御プログラム３０４ａと、Ｓｙｓｔｅｍ制御プログラム３０４ｂと、装置監視プログラム３０４ｃと、性能情報収集プログラム３０４ｄと、被疑ディスク検出プログラム３０４ｅと、異常通知・排除プログラム３０４ｆとが予め記憶されている。
【０１２５】
そして、ＣＰＵ３０５は、これらのプログラム３０４ａ〜３０４ｆ各々を読み出して実行することで、図１７に示すように、各プログラム３０４ａ〜３０４ｆ各々は、ＩＯ制御プロセス３０５ａと、Ｓｙｓｔｅｍ制御プロセス３０５ｂと、装置監視プロセス３０５ｃと、性能情報収集プロセス３０５ｄと、被疑ディスク検出プロセス３０５ｅと、異常通知・排除プロセス３０５ｆとなる。なお、各プロセス３０５ａ〜３０５ｆ各々は、図４に示した、ＩＯ制御部１１１、Ｓｙｓｔｅｍ制御部１１２、装置監視部１１３、性能情報収集部１３１、被疑ディスク検出部１３２、および異常通知・排除部１３３に各々対応する。
【０１２６】
また、ＨＤＤ３０３には、図１７に示すように、性能情報格納テーブル３０３ａが設けられる。なお、テーブル３０３ａは、図４に示した、性能情報格納領域部１２０に対応する。
【０１２７】
ところで、上記した各プログラム３０４ａ〜３０４ｆについては、必ずしもＲＯＭ３０４に記憶させておく必要はなく、例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ３００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」に記憶させておき、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【産業上の利用可能性】
【０１２８】
以上のように、本発明に係るディスクアレイ装置、ディスクアレイ装置制御プログラムおよびディスクアレイ装置制御方法は、ＲＡＩＤグループを構成する複数のディスクを搭載し、上位装置から当該ディスク各々に対して行われるアクセスを制御することに有用であり、特に、性能異常を適切に検出することに適する。
【図面の簡単な説明】
【０１２９】
【図１】実施例１に係るディスクアレイ装置の概要および特徴を説明するための図である。
【図２】ディスクアレイ装置の全体構成（概略図）を示すブロック図である。
【図３】ディスクアレイ装置の全体構成を示すブロック図である。
【図４】実施例１に係るディスクアレイ装置の構成を示すブロック図である。
【図５】アクセス監視部を説明するための図である。
【図６】性能情報収集部を説明するための図である。
【図７】被疑ディスク検出部を説明するための図である。
【図８】運用判定・全体フローを示すフローチャートである。
【図９】性能情報収集開始処理を示すフローチャートである。
【図１０】性能情報値収集処理を示すフローチャートである。
【図１１】性能情報値チェック処理を示すフローチャートである。
【図１２】ディスク性能異常チェック処理を示すフローチャートである。
【図１３】異常検出後処理を示すフローチャートである。
【図１４】ＲＡＩＤ１異常ディスク検出処理（ミラーリング構成）を示すフローチャートである。
【図１５】ＲＡＩＤ１＋０異常ディスク検出処理（ミラーリング＋ストライピング構成）を示すフローチャートである。
【図１６】ＲＡＩＤ５異常ディスク検出処理（パリティ構成）を示すフローチャートである。
【図１７】ディスクアレイ装置制御プログラムを実行するコンピュータを示す図である。
【符号の説明】
【０１３０】
１００  ＣＭ
１１０  ＣＰＵ
１１１  ＩＯ制御部
１１２  Ｓｙｓｔｅｍ制御部
１１３  装置監視部
１２０  性能情報格納領域部
１３０  制御部
１３１  性能情報収集部
１３２  被疑ディスク検出部
１３３  異常通知・排除部
２００  ＤＡ
２３０  アクセス監視部
【図１】
0004456626.tif 000002
【図２】
0004456626.tif 000003
【図３】
0004456626.tif 000004
【図４】
0004456626.tif 000005
【図５】
0004456626.tif 000006
【図６】
0004456626.tif 000007
【図７】
0004456626.tif 000008
【図８】
0004456626.tif 000009
【図９】
0004456626.tif 000010
【図１０】
0004456626.tif 000011
【図１１】
0004456626.tif 000012
【図１２】
0004456626.tif 000013
【図１３】
0004456626.tif 000014
【図１４】
0004456626.tif 000015
【図１５】
0004456626.tif 000016
【図１６】
0004456626.tif 000017
【図１７】
0004456626.tif 000018