(57)【特許請求の範囲】
【請求項１】
記憶装置に対するアクセスへの応答に際して前記記憶装置内部における記録媒体へのリトライ要因となるエラー数と前記記憶媒体に対するアクセス数とを計数する計数手段と、
前記計数手段の計数結果に基づいて単位アクセス数あたりの前記エラー数の上昇量を算出し、算出結果と規定値とを比較することにより前記記憶装置が異常であるか否かを判定する異常判定手段と、
を備え、
前記異常判定手段は、前記算出結果が規定値を上回り、かつ、所定期間内における前記記憶媒体へのアクセス数が所定数以上の場合に、前記記憶装置が異常であると判定することを特徴とする異常判定装置。
【請求項２】
所定期間内における前記記憶媒体へのアクセス数が所定数未満の場合に、前記記憶媒体に対するアクセス数を上昇させるアクセス数上昇手段を更に備えたことを特徴とする請求項１に記載の異常判定装置。
【請求項３】
前記記憶媒体へのアクセス数は、上位装置から前記記憶媒体に対して実行されるアクセス数と、前記記憶装置自身が前記記憶媒体に起因するエラーをテストする場合に実行するアクセス数とを含んでいることを特徴とする請求項１または２に記載の異常判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ＨＤＤ（Hard  Disk  Drive）のエラー数を検出する異常判定装置に関し、特に、記録媒体に起因せず、記憶装置内部における記録媒体へのリトライ要因となるエラー数の上昇量に基づいて、異常なＨＤＤを確実に検出することができる異常判定装置に関するものである。
【背景技術】
【０００２】
各種のサービスを提供する企業の情報システム（例えば、各携帯電話の事業者間接続に伴う通信設備の使用料を管理するシステム）は、サービス提供時に利用するデータの信頼性を高めるべく、ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）等のストレージシステムにデータを格納している。このストレージシステムは、様々なデータ保護機能を備えており、例えば、ストレージシステムに備えられた各ＨＤＤ（Hard  Disk  Drive）のエラーを定期的に検査することにより、データ損失などの問題を未然に防止している。
【０００３】
従来のストレージシステムに発生するエラーは、ＨＤＤの記録媒体に起因するエラーと、記録媒体に起因しないエラーとが存在する。記録媒体に起因するエラーを検出する方法は、例えば、記録媒体にテストデータを書込み、書込んだテストデータを適切に読み出せる否かによってエラーを検出している。
【０００４】
一方、記録媒体に起因しないエラーの検出方法には、処理負荷の低いＨＤＤのＩ／Ｏ（Input／Output）に着目し、かかるＨＤＤにレスポンス時間の遅延が発生した場合には、レスポンス遅延の発生したＨＤＤにエラーが発生したと判定する方法や、ＲＡＩＤグループ内のＨＤＤ対するＩ／Ｏアクセスに偏りがある場合に、エラーが発生したと判定する方法等がある。
【０００５】
なお、特許文献１では、エラーの発生回数、発生頻度、発生間隔から、エラーの発生した部分を閉寒するか否かを判定して、エラーを回避する方法が開示されており、特許文献２では、複数の検査項目に対して検査を実施し、検査結果の組合せからディスクに発生し得るエラーを予測するという技術が開示されている。
【０００６】
【特許文献１】特開平５−２９８１３２号公報
【特許文献２】特開２００１−２６５５３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、ＨＤＤの記録媒体に起因しないエラーを誤検出してしまい、誤って正常なＨＤＤを異常ＨＤＤとして検出するという問題があった。
【０００８】
例えば、レスポンス時間の遅延に基づいてエラーを検出する方法においては、ＨＤＤが有する自己診断処理とデータアクセスが競合した場合、自己診断後にデータ処理が行なわれる場合があり、結果的に、レスポンス遅延が発生したと誤認し、正常なＨＤＤを異常ＨＤＤとして検出してしまう場合があった。
【０００９】
また、Ｉ／Ｏアクセスの偏りによってエラーを検出する方法においては、ランダムＩ／Ｏの場合に、一時的に、特定のＨＤＤにデータアクセスが集中してしまう場合もあり得るため、レスポンス遅延が発生したと誤認し、正常なＨＤＤを異常ＨＤＤとして検出してしまっていた。
【００１０】
なお、レスポンス遅延と判定する閾値を変更することで、上述のような正常なＨＤＤを異常なＨＤＤとして誤検出することを軽減可能であるが、この場合には、逆に異常なＨＤＤを確実に検出することが難しくなる。
【００１１】
このように従来の技術では、ＨＤＤの記録媒体に起因しないエラーを正確に検出することができないため、ＨＤＤが正常であるか否かを適切に判定することができないのが現状である。
【００１２】
この発明は、上述した従来技術による課題を解消するためになされたものであり、記録媒体に起因しないようなエラーを正確に検出することで、正常なＨＤＤか否かについて判定することができる異常判定装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述した課題を解決し、目的を達成するため、異常判定装置は、記憶装置に対するアクセスへの応答に際して前記記憶装置内部における記録媒体へのリトライ要因となるエラー数と前記記憶媒体に対するアクセス数とを計数する計数手段と、前記計数手段の計数結果に基づいて単位アクセス数あたりの前記エラー数の上昇量を算出し、算出結果と規定値とを比較することにより前記記憶装置が異常であるか否かを判定する異常判定手段と、を備え、前記異常判定手段は、前記算出結果が規定値を上回り、かつ、所定期間内における前記記憶媒体へのアクセス数が所定数以上の場合に、前記記憶装置が異常であると判定することを要件とする。
【発明の効果】
【００１４】
この異常判定装置によれば、ＨＤＤ自身が記録している記録媒体に起因せず、記憶装置内部における記録媒体へのリトライ要因となるエラー数を正確に検出することで、正常なＨＤＤか否についてエラー判定することができる。結果として、これまで性能エラーとみなすことができなかったＨＤＤについてのエラー判定をすることができる。
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照して、この発明に係る異常判定装置の好適な実施の形態を詳細に説明する。尚、本実施例では、異常判定装置の一例として、ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）装置を例に挙げて説明する。
【実施例１】
【００１６】
（用語の説明）
最初に、以下の実施例１で用いる主要な用語を説明する。「ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）」とは、複数のＨＤＤをまとめて１台のディスクとして管理する技術であり、データ処理の高速化やデータ損失を未然に防ぐ対策等が図られている。
【００１７】
「ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ」とは、記憶媒体に起因しないエラーを示し、例えば、ＨＤＤのリトライ動作終了までに、１００ミリ秒以上要してしまうエラーを示す。そして、「ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ」は、ＨＤＤ自身が収集しているＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲの数を示す。
【００１８】
「アクセス数」とは、ＣＰＵ(Central  Processing  Unit)がメモリやＨＤＤに対して、データの書込み（ＩＮＰＵＴ）や読出し（ＯＵＴＰＵＴ）を行った回数を示す。
【００１９】
「ＩＯＰＳ（Input  Output  Per  Second）」は、１秒間あたりのアクセス数を示し、ＨＤＤのデータ処理能力を表す。
【００２０】
（ＲＡＩＤ装置の概要及び特徴）
次に、本実施例１にかかるＲＡＩＤ装置の概要及び特徴について説明する。本実施例１にかかるＲＡＩＤ装置は、ＨＤＤの単位アクセス数に対するＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が規定値を超えていて、さらに、そのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が、許容エラー数を超えている場合、異常があるＨＤＤと判定する。また、ＲＡＩＤ装置は、ＨＤＤに対する所定期間のアクセス数が、異常ＨＤＤを検出する条件に達していない場合は、そのアクセス数を適切に上昇させる。
【００２１】
このように、本実施例１にかかるＲＡＩＤ装置は、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量に基づいて、異常ＨＤＤの判定を適切に行うことができる。結果として、これまで異常なＨＤＤとして検出することができなかったＨＤＤを適切に検出することができ、ストレージシステムから切り離すことができる。
（ＲＡＩＤ装置の構成：実施例１）
【００２２】
続いて、本実施例１にかかるＲＡＩＤ装置１００の構成について説明する。図１は、本実施例１にかかるＲＡＩＤ装置１００の構成を示す機能ブロック図である。図１に示すように、このＲＡＩＤ装置１００は、ＨＤＤ２００ａ、ＨＤＤ２００ｂ、ＨＤＤ２００ｃ、ＨＤＤ２００ｄ、・・・、といったＲＡＩＤグループを構成する複数のＨＤＤを搭載し、チャンネルインターフェース３００、ＨＤＤ制御装置４００を有する。尚、ＨＤＤ制御装置は、複数存在し、冗長性が確保されている。
【００２３】
ＲＡＩＤグループを構成するＨＤＤ２００ａ、ＨＤＤ２００ｂ、ＨＤＤ２００ｃ、ＨＤＤ２００ｄ、・・・、といった複数のＨＤＤは、ＲＡＩＤ装置１００が有するＨＤＤであるため、高速性や安全性のレベルに応じて、データが振り分けられている。
【００２４】
次に、ＲＡＩＤグループ内の各々のＨＤＤについて、ＨＤＤ２００ａを例として説明する。図２は、ＨＤＤの構成の一例を示す機能ブロック図である。図２に示すように、ＨＤＤ２００ａは、データの書込みやプログラムを記憶する記憶媒体（ディスク）２２０と制御部２１０を有する。
【００２５】
制御部２１０は、特に本発明に密接に関連するものとして、データ処理部２１０ａと、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ部２１０ｂと有する。
【００２６】
データ処理部２１０ａは、ＨＤＤ制御装置４００からの処理命令に応じて、記憶媒体２２０に対するデータの書込みや読出しを行う手段である。
【００２７】
また、ＨＤＤ制御装置４００からのＤｉｓｋ  Ｐａｔｒｏｌの実行命令に応じて、アクセス数が少ないＨＤＤのアクセス数を上昇させる手段である。
【００２８】
ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ部２１０ｂは、ＨＤＤ２００ａ自身が記録しているＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴを記録する手段である。
【００２９】
ここで、図１の説明に戻り、チャンネルインターフェース３００について説明する。チャンネルインターフェース３００は、ホスト５０とＨＤＤ制御装置４００とのデータの送受信を制御する手段である。
【００３０】
次に、ＨＤＤ制御装置４００について説明する。図１に示すように、ＨＤＤ制御装置４００は、ＨＤＤ制御装置間通信部４１０と、ＲＡＭ（Random  Access  Memory）４２０と、ＣＰＵ(Central  Processing  Unit)４３０と、ディスクインターフェース群４４０とを有する。
【００３１】
ＨＤＤ制御装置間通信部４１０は、ＨＤＤ制御装置４００と異なるＨＤＤ制御装置とのデータの送受信を制御する手段である。
【００３２】
ＲＡＭ４２０は、ＲＡＩＤグループを構成する各々のＨＤＤに書込むデータ等を一時的に記憶する手段で、ユーザデータ４２０ａと制御テーブル４２０ｂを有する。
【００３３】
ユーザデータ４２０ａは、ホスト５０からの書込み対象となるユーザデータやＲＡＩＤグループを構成する各々のＨＤＤから読取ったデータを記憶する手段である（詳細なデータ構造は省略）。
【００３４】
制御テーブル４２０ｂは、ＲＡＩＤグループ内のＨＤＤが有するＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ部が記録している値とＨＤＤ制御装置が記録しているアクセス数を記憶する手段である。
【００３５】
図３は、制御テーブルのデータ構造の一例を示す図である。図３に示すように、制御テーブル４２０ｂは、ＲＡＩＤグループ内のＨＤＤの識別情報、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ、アクセス数、及びそれらの値を収集した期間を記憶する手段である。
【００３６】
具体的に、図４を用いながら説明する。図４は、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲの発生の一例を示す図である。図４に示している期間の一例を示す「Ａ」は、時刻Ｔ０から時刻Ｔ１までの期間を示す。尚、一例として、Ｔ０は、ホストからＨＤＤへのアクセスが開始する時刻等を示す。
【００３７】
一方、期間の一例である「Ｂ」は、期間Ａの終了時刻である時刻Ｔ１を計測開始時刻として、時刻Ｔ２までの期間を示す。そして、期間「Ｃ」は、期間「Ｂ」の終了時刻Ｔ２を計測開始時刻として、時刻Ｔ３までの期間を示す。
【００３８】
以下、期間「Ｄ」以降に関しても、アルファベット順に応じて、１つ前のアルファベットでの終了時刻であるＴｎを計測開始時刻として、時刻Ｔｎ＋１までの期間を示す。例えば、期間「Ｅ」においては、１つ前のアルファベットであるＤ期間の終了時刻Ｔ４を計測開始時刻として、時刻Ｔ５までの期間を示す。
【００３９】
以上のことから、図３において、「Ａ」は、時刻Ｔ０から時刻Ｔ１までの期間に対応し、「Ｂ」以降については、１つ前のアルファベットの期間の終了時刻であるＴｎを計測開始時刻として、時刻Ｔｎ＋１までの期間を記憶する。
【００４０】
そして、制御テーブル４２０ｂは、各種アルファベットを例として示される期間ごとに、ＲＡＩＤグループ内のＨＤＤの識別情報、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ、アクセス数を記憶する。
【００４１】
したがって、図３において、ＨＤＤ（Ａ）は、期間Ａまでに、アクセス数が２０００００アクセスあり、その発生したアクセス数に対して、累計２００コマンドのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴが発生していることを示す。
【００４２】
加えて、期間Ｂ内では、アクセス数が１７０００アクセス発生し、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴが、累計３５０コマンド発生していることを示す。
【００４３】
したがって、期間Ｂまでに、３５０コマンドのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴが発生していることから、期間Ａから期間Ｂまでの間に、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴは１５０コマンド分上昇していることになる。
【００４４】
また、ＨＤＤ制御装置４００が、期間Ｂの終了時刻Ｔ２において、ＨＤＤ（Ａ）を異常ＨＤＤと判定し、検出した場合は、ＲＡＩＤ装置１００からＨＤＤ（Ａ）を取り除き、期間Ｃ以降のＨＤＤ（Ａ）のＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴとアクセス数は記録されない。
【００４５】
次に、ＣＰＵ４３０について説明する。図１に示すように、ＣＰＵ４３０は、ＨＤＤ制御部４３０ａ、情報収集部４３０ｂ、エラー判定処理部４３０ｃ、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄを有する。
【００４６】
ＨＤＤ制御部４３０ａは、ホスト５０からＲＡＩＤ装置１００内の各ＨＤＤに対するデータの書込み命令処理やその書込んだデータに対する読出し命令処理をデータ処理部２１０ａに対して行う手段である。
【００４７】
情報収集部４３０ｂは、ＲＡＩＤグループ内の各ＨＤＤが記録しているＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴを制御テーブル４２０ｂに登録する手段である。
【００４８】
加えて、情報収集部４３０ｂは、各ＨＤＤに対するアクセス数（例えば、Ｄｉｓｋ  Ｐａｔｒｏｌの実行により発行されるアクセス数等）を記録する手段で、その記録したアクセス数を制御テーブル４２０ｂに登録する手段でもある。
【００４９】
次に、エラー判定処理部４３０ｃが行う処理について説明する。エラー判定処理部４３０ｃは、制御テーブル４２０ｂを参照して、ＲＡＩＤグループ内の各ＨＤＤに対する単位アクセス数あたりのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量（以下、エラー判定係数とする）が、正常なＨＤＤの規定値（以下、エラー監視係数とする）を超えていて、さらに、そのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が、許容エラー数を超えている場合、異常なＨＤＤとして判定する手段である。また、エラー判定処理部４３０ｃは、アクセス負荷が少ないＨＤＤについては、異常ＨＤＤか否かを判定しない。
【００５０】
また、許容エラー数とは、エラー判定処理部４３０ｃが、異常ＨＤＤか否かを判定することができる最低アクセス数の０．５％に相当する任意のアクセス数を示す。
【００５１】
まず、正常なＨＤＤと異常なＨＤＤの違いをＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量に基づいて説明する。
【００５２】
一般に、正常なＨＤＤのアクセス処理は、５％までのレスポンス低下を許容範囲としている観点がある。尚、この５％に相当するアクセス数をエラー監視係数とし、詳細については、以下に示す。
【００５３】
そして、レスポンス低下に係るアクセス数は、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量と一致している観点がある。
【００５４】
例えば、あるアクセス数において、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が７コマンドであれば、７アクセスに相当するレスポンス低下が発生したことになる。
【００５５】
また、正常なＨＤＤが１アクセスを処理した時のレスポンス時間は、１アクセス当たり１０［ｍｓ］（単位：ミリ秒）であるのに対し、異常なＨＤＤが１アクセスを処理したときのレスポンス時間は、１アクセス当たり１００［ｍｓ］になることが分かっている。
【００５６】
以上の点を踏まえた上で、異常ＨＤＤを判定する具体的な計算式の例を示す。
【００５７】
正常なＨＤＤが、１０００アクセスを処理した場合のレスポンス時間は、以下の通りである。
１０００アクセス×１０［ｍｓ］＝１０［ｓ］（単位：秒）。
【００５８】
そして、正常なＨＤＤの有する処理能力は、
１０００アクセス／１０．００［ｓ］＝１００［ＩＯＰＳ］となる。
【００５９】
一方、あるＨＤＤ（例えばＨＤＤ１）が、１０００アクセスを処理した場合において、正常に処理したアクセス数として９９３、異常に処理したアクセス数として７、それぞれ処理した場合のレスポンス時間は、以下の通りである。
【００６０】
９９３アクセス×１０［ｍｓ］＋７アクセス×１００［ｍｓ］＝１０．６３［ｓ］となり、正常なＨＤＤの処理のみから得られるレスポンス時間と比較とすると０．６３［ｓ］の遅延が発生している。
【００６１】
そして、ＨＤＤ１が有する処理能力は、
１０００アクセス／１０．６３［ｓ］＝９４［ＩＯＰＳ］となる。
【００６２】
以上より、正常なＨＤＤが有する処理能力を１００［ＩＯＰＳ］とすると、ＨＤＤ１が有する処理能力は、９４［ＩＯＰＳ］であるから、ＨＤＤ１は、ＩＯＰＳを基準単位として、６％の性能低下が発生していることになる。
【００６３】
したがって、正常なＨＤＤとしての許容範囲である５％の性能低下を超えていることから、ＨＤＤ１は、異常ＨＤＤとして判定される。
【００６４】
また、正常なＨＤＤとしての許容範囲である５％を基準として、正常なＨＤＤであるか否かを判定したが、レスポンス低下に係るアクセス数とＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が一致していることから、この許容範囲５％をアクセス数に換算すると０．５％になる。この０．５％で示される規定値をエラー監視係数とする。
【００６５】
例えば、ＩＯＰＳを基準単位として、ＨＤＤに７％の性能低下が発生しているのであれば、ＨＤＤが処理した１０００アクセスに対して、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴが７コマンド発生していることになり、このアクセス数に占めるＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴは０．７％となる。
【００６６】
したがって、ＩＯＰＳの低下が７％である場合、この値をアクセス数に換算する計算は、以下の通りである。
７コマンド／１０００アクセス＝０．７％
【００６７】
同様に、ＨＤＤに５％の性能低下が発生している場合は、１０００アクセスに対して、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴが５コマンド発生していることになり、そのアクセス数に占めるＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴは０．５％（エラー監視係数に相当）となる。
【００６８】
エラー監視係数を算出する具体的な計算式は以下の通りである。
５コマンド／１０００アクセス＝０．５％（エラー監視係数）
【００６９】
以上より、エラー判定処理部４３０ｃは、エラー判定係数とエラー監視係数を比較して、ＨＤＤが正常か否かを判定する。
【００７０】
しかし、所定期間内のアクセス数が極端に少なかった場合において、上述した規定値０．５％で異常ＨＤＤと判定してしまうと、アクセス負荷が少ないＨＤＤを異常ＨＤＤとして判定する頻度が多くなってしまうことが予想される。
【００７１】
ここで、上述したアクセス負荷が少ないＨＤＤについて説明する。通常、一般的なＨＤＤに発生する一日あたりのアクセス数は、数十万回発生することから、１時間あたり１０００程度のアクセスしか発生していない場合、アクセス負荷が少ないＨＤＤとみなされる。
【００７２】
したがって、本実施例では、１時間あたりのアクセス数が１０００以下になるＨＤＤをアクセス負荷が少ないＨＤＤとする。
【００７３】
そして、このアクセス負荷が少ないＨＤＤを、エラー判定処理部４３０ｃが、エラー監視係数０．５％で異常ＨＤＤと判定してしまうと、異常ＨＤＤとして判定する頻度が多くなり、適切な異常判定を行うことができず、交換を要求していないＨＤＤを無駄に交換することになる。
【００７４】
以上のことから、エラー判定処理部４３０ｃは、アクセス負荷が少ないＨＤＤを判定した場合、エラー判定係数がエラー監視係数の０．５％を超えていても、異常ＨＤＤとは判定しない。
【００７５】
次に、エラー判定処理部４３０ｃが行う処理の具体例を図３及び図４を用いながら説明する。例として、図３に示したＨＤＤ（Ａ）及び図４に示す期間Ａ、期間Ｂ（便宜的に、１時間とする）を条件として、エラー判定処理部４３０ｃが行うエラー判定処理について説明する。
【００７６】
まず、ＨＤＤ制御部４３０ａが、データ処理部２１０ａ（図２参照）に対して、ＨＤＤのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴや情報収集部４３０ｂが記録しているアクセス数のデータ取得の処理命令をする。
【００７７】
続いて、エラー判定処理部４３０ｃは、ＨＤＤ制御部４３０ａからのエラー処理命令を受けて、制御テーブル４２０ｂに記憶されているＨＤＤ（Ａ）のＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ、及びアクセス数の読込みを行う。
【００７８】
次に、エラー判定処理部４３０ｃは、期間Ｂ内にＨＤＤ（Ａ）で発生したアクセス数「１７０００」及び期間ＢまでのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの累計数を示す「３５０」を取得する。
【００７９】
期間Ｂまでの、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの累計数が３５０コマンドであるため、期間Ｂ内におけるＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量は、１５０コマンドになる。
【００８０】
したがって、期間Ｂに、ＨＤＤ（Ａ）で発生した１７０００アクセスに対して、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴは、１５０コマンド上昇したことになる。
【００８１】
これらの条件に基づいて、エラー判定処理部４３０ｃは、ＨＤＤ（Ａ）のエラー判定を行う。
【００８２】
ＨＤＤ（Ａ）のエラー判定係数を算出する具体的な式は、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量／アクセス数となることから、
１５０コマンド／１７０００アクセス＝０．９％（ＨＤＤ（Ａ）のエラー判定係数）
となる。
【００８３】
したがって、ＨＤＤ（Ａ）のエラー判定係数は、０．９％となり、エラー監視係数である０．５％を超えている。
【００８４】
また、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量は、１５０コマンドであるから、許容エラー数を超えていれば、エラー判定処理部４３０ｃは、ＨＤＤ（Ａ）を異常ＨＤＤと判定する。
【００８５】
尚、期間Ｂを便宜的に１時間としたのは、エラー監視係数を、所定期間に発生したアクセス数に対するＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量で算出していることから、何十万回に及ぶアクセス数が発生する時間を収集期間として、判定を行っても、検出までの時間に、非常に長い時間を費やしたことになってしまう。
【００８６】
結果として、異常ＨＤＤを何時間も放置していたことになり、適切な異常検出を行うことができない。したがって、期間Ｂを適切な収集期間に相当する１時間とした。
【００８７】
次に、エラー判定処理部４３０ｃが、アクセス負荷が少ないＨＤＤについて、エラー判定をした具体例を以下に示す。
【００８８】
図３において、ＨＤＤ（Ｂ）、期間Ｃ（便宜的に、１時間とする）を例にして説明する。図３より、期間Ｃにおいて、ＨＤＤ（Ｂ）に対するアクセス数が、１時間あたり１０００アクセスであるから、ＨＤＤ（Ｂ）は、アクセス負荷が少ないＨＤＤとみなされる。
【００８９】
また、図３では、期間Ｃにおいて、ＨＤＤ（Ｂ）にＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴが、２０コマンド分上昇したことを示している。
【００９０】
上述した条件をもとに、アクセス負荷が少ないＨＤＤ（Ｂ）をエラー判定処理部４３０ｃが判定した場合、以下の通りになる。
【００９１】
具体的な計算式の例を示す。
ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が２０コマンドで、アクセス数が１０００アクセスとなることから、
２０コマンド／１０００アクセス＝２％（ＨＤＤ（Ｂ）のエラー判定係数）
となる。
【００９２】
したがって、ＨＤＤ（Ｂ）のエラー判定係数が２％となり、エラー監視係数である０．５％を超えているが、ＨＤＤ（Ｂ）はアクセス負荷が少ないＨＤＤであるため、エラー判定処理部４３０ｃは、異常ＨＤＤとは判定しない。
【００９３】
上述したように、エラー判定処理部４３０ｃは、アクセス負荷の少ないＨＤＤを判定した場合、エラー判定係数が、エラー監視係数の０．５％を超えていても、異常ＨＤＤと判定しない。
【００９４】
次に、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄについて、図２、図３、図４を用いながら説明する。Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、アクセス負荷が少ないＨＤＤのアクセス数を強制的に上昇させる手段である。
【００９５】
まず、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、ＲＡＩＤグループを構成する各々のＨＤＤのデータ処理部２１０ａに対して、Ｄｉｓｋ  Ｐａｔｒｏｌの実行命令を行う。
【００９６】
続いて、データ処理部２１０ａは、ＨＤＤ内のユーザ域の媒体診断を実施するために１秒間に１アクセス、書込み領域における読込み／書込みの比較診断が２秒間に２アクセス実行され、その結果、２秒間に計４アクセス（媒体診断×２回、書込み×１回、読込み×１回）実行する。
【００９７】
したがって、データ処理部２１０ａは、１時間あたりに７２００回のアクセス数をＨＤＤに対して発生させることができる。
【００９８】
具体的に、ＨＤＤ（Ｂ）を例にして説明する。期間Ｄ内の時刻Ｄ１（例えば、Ｔ３から３０分程度経過した時刻）において、アクセス数が５００程度の場合は、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、ＨＤＤ（Ｂ）をアクセス数が少ないと判断し、期間ＤにおけるＨＤＤ（Ｂ）のアクセス数を上昇させることができる。
【００９９】
結果として、期間Ｄにおいて、ＨＤＤ（Ｂ）で発生するアクセス数は、１０００アクセス程度に留まるはずであったが、Ｄｉｓｋ  Ｐａｔｒｏｌを実行することで、４６００アクセスまでアクセス数を上昇させる。
【０１００】
ところで、エラー判定処理部４３０ｃは、アクセス負荷の少ないＨＤＤを判定した場合、エラー判定係数が、エラー監視係数の０．５％を超えていても、異常ＨＤＤと判定しない。
【０１０１】
例えば、ＨＤＤ（Ｂ）においては、期間Ｃに１０００、期間Ｄに１０００（Ｄｉｓｋ  Ｐａｔｒｏｌの実行は考慮しない）アクセスしか発生しておらず、エラー判定処理部４３０ｃは、期間Ｃ、Ｄの間において、ＨＤＤ（Ｂ）をアクセス負荷が少ないＨＤＤとみなし、異常判定を行っていなかった（期間Ｃ、Ｄは、便宜的に１時間とする）。
【０１０２】
しかし、Ｄｉｓｋ  ＰａｔｒｏｌをＨＤＤ（Ｂ）に実行すると、ＨＤＤ（Ｂ）に発生するアクセス数が強制的に上昇するので、アクセス負荷の少ないＨＤＤについても異常か否かを判定することができる。
【０１０３】
例えば、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、図４に示す期間Ｅ（便宜的に、１時間とする）において、ＨＤＤ（Ｂ）に対し、７２００のアクセス数を発生させる。
【０１０４】
そして、正常なＨＤＤの許容範囲を示すエラー監視係数は、そのアクセス数の０．５％に相当すること、ＨＤＤのデータ処理部２１０ａ（図２参照）が１時間あたり７２００アクセスを発生させることを踏まえた上で、以下のように許容エラー数の一例を示すことができる。
【０１０５】
Ｄｉｓｋ  Ｐａｔｒｏｌが発行する７２００アクセスの０．５％に相当するアクセス数をＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量とすると、
許容エラー数についての算出式は、
７２００アクセス×０．００５＝３６（許容エラー数）
となる。
【０１０６】
したがって、エラー判定処理部４３０ｃは、許容エラー数を用いてアクセス負荷の少なかったＨＤＤについても異常か否かを判定することができる。
【０１０７】
上述した例では、期間Ｅに、ＨＤＤ（Ｂ）にＤｉｓｋ  Ｐａｔｒｏｌを実行することで、７２００アクセス発生し、この間、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴは、５０コマンド上昇したことになり、許容エラー数３６を超えていることになり、エラー判定処理部４３０ｃは、ＨＤＤ（Ｂ）を異常と判定とする。
【０１０８】
上記の場合において、ＨＤＤ（Ｂ）のエラー判定係数を算出する式は以下のとおりである。
【０１０９】
期間Ｅにおいて、ＨＤＤ（Ｂ）に発生するアクセス数は７２００で、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量は５０コマンドであるから、ＨＤＤ（Ｂ）のエラー判定係数は、
５０コマンド／７２００アクセス＝０．７％（ＨＤＤ（Ｂ）のエラー判定係数）
となる。
【０１１０】
したがって、０．５％のエラー監視係数を超え、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が５０コマンドであることから、許容エラー数３６も超えることになり、エラー判定処理部４３０ｃは、ＨＤＤ（Ｂ）を異常と判定とする。
【０１１１】
ここで、図１の説明に戻り、ディスクインターフェース群４４０について説明する。ディスクインターフェース群４４０は、ＨＤＤ制御装置４００と、ＲＡＩＤグループ内の各ＨＤＤのデータの送受信を制御する手段である。
【０１１２】
次に、エラー判定処理部４３０ｃのエラー判定手順について説明する。図５は、エラー判定処理部４３０ｃの処理を示すフローチャートである。
【０１１３】
次に、エラー判定処理部４３０ｃは、グループ内の先頭のＨＤＤを選択し（ステップＳ１００）、判定実行可能な状態であるかを確認し（ステップＳ１０１）、判定実行可能状態であれば（ステップＳ１０２、Ｙｅｓ）、ＨＤＤ内のＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴを制御テーブル４２０ｂから取得する（ステップＳ１０３）。
【０１１４】
尚、判定可能な状態であるとは、本判定処理をＨＤＤに実施しても、ＨＤＤの基本機能であるデータの読込みや書出し等の機能に支障がない状態を示す。
【０１１５】
次に、エラー判定処理部４３０ｃは、所定期間内のアクセス数を、制御テーブル４２０ｂから取得し（ステップＳ１０４）、アクセス負荷が少ないかを判定する（ステップＳ１０５）。
【０１１６】
アクセス負荷が多い場合（ステップＳ１０６、Ｎｏ）、エラー判定処理部４３０ｃは、エラー判定係数が、エラー監視係数よりも小さいかを判定する（ステップＳ１０７）。
【０１１７】
一方、アクセス負荷が少ない場合（ステップＳ１０６、Ｙｅｓ）、ステップＳ１０１に移行する。
【０１１８】
次に、エラー判定処理部４３０ｃは、エラー判定係数が、エラー監視係数よりも大きい場合（ステップＳ１０８、Ｎｏ）、そのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が、許容エラー数よりも小さいかを判定する（ステップＳ１０９）。
【０１１９】
一方、エラー監視係数よりも、小さい場合（ステップＳ１０８、Ｙｅｓ）は、正常なＨＤＤと判定する（ステップＳ１１２）。
【０１２０】
次に、ステップＳ１０９において、エラー判定処理部４３０ｃは、ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が許容エラー数よりも大きい場合（ステップＳ１１０、Ｎｏ）、異常なＨＤＤと判定し（ステップＳ１１１）、エラー情報をホスト５０に送信する（ステップＳ１１３）。
【０１２１】
尚、エラー情報とは、ＨＤＤのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が規定値と比較した結果、性能異常ＨＤＤであること示し、ＨＤＤの交換が必要である旨をホスト５０に示す情報をいう。
【０１２２】
一方、許容エラー数よりも小さい場合（ステップＳ１１０、Ｙｅｓ）、エラー判定処理部４３０ｃは、正常なＨＤＤと判定する（ステップＳ１１２）。
【０１２３】
そして、エラー判定処理部４３０ｃは、全てのＨＤＤについての判定が終了しているかを判定し、全てのＨＤＤについて判定が終了している場合（ステップＳ１１４、Ｙｅｓ）は、判定が終了する。
【０１２４】
一方、全てのＨＤＤについて判定が終了していない場合（ステップＳ１１４、Ｎｏ）は、エラー判定処理部４３０ｃは、次のＨＤＤを選択し（ステップＳ１１５）、ステップＳ１０１に移行する。
【０１２５】
また、エラー判定処理部４３０ｃは、ステップＳ１０２において、判定実行が可能な状態でなければ（ステップＳ１０２、Ｎｏ）、全てのＨＤＤについて判定が終了しているかを判定する（ステップＳ１１４）。
【０１２６】
そして、エラー判定処理部４３０ｃは、全てのＨＤＤについて判定が終了しているとした場合（ステップＳ１１４、Ｙｅｓ）、判定を終了させる。
【０１２７】
一方、全てのＨＤＤについて判定が終了していない場合（ステップＳ１１４、Ｎｏ）、ステップＳ１１５に処理を移行し、次の判定するＨＤＤを選択する（ステップＳ１１５）。
【０１２８】
次に、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄが行う処理について説明する。図６は、Ｄｉｓｋ  Ｐａｔｒｏｌの処理を示すフローチャートである。
【０１２９】
まず、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、Ｄｉｓｋ  Ｐａｔｒｏｌを実行するＨＤＤを選択する（ステップＳ２００）。
【０１３０】
次に、選択したＨＤＤのアクセス数を取得し（ステップＳ２０１）、アクセス数が所定のアクセス数よりも少ない場合（ステップＳ２０２、Ｙｅｓ）、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、ＨＤＤのデータ処理部２１０ａに対して実行命令を行う。
【０１３１】
そして、実行命令を受けたＨＤＤのデータ処理部２１０ａは、Ｄｉｓｋ  Ｐａｔｒｏｌを実行する（ステップＳ２０３）。
【０１３２】
一方、アクセス数が所定のアクセス数よりも大きい場合（ステップＳ２０２、Ｎｏ）、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、ステップＳ２０４へ移行する。
【０１３３】
次に、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、実行を終了させる場合（ステップＳ２０４、Ｙｅｓ）、Ｄｉｓｋ  Ｐａｔｒｏｌを終了する。
【０１３４】
一方、終了させない場合（ステップＳ２０４、Ｎｏ）、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄは、次のＨＤＤを選択する（ステップＳ２０５）。
【０１３５】
上述してきたように、本実施例１に係るＲＡＩＤ装置１００は、エラー判定処理部４３０ｃが、エラー判定係数をエラー監視係数と比較判定して、エラー判定係数がエラー監視係数よりも超えており、さらに、そのＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴの上昇量が、許容エラー数を超えている場合、異常なＨＤＤとして検出することで、これまで性能エラーとみなすことができなかったＨＤＤについてのエラー判定をすることができる。
【０１３６】
また、エラー判定処理部４３０ｃは、アクセス負荷が少なかったＨＤＤを判定した場合、エラー判定係数がエラー監視係数を超えていても、異常ＨＤＤとは判定しない。結果として、無駄な異常判定をすることなく、交換が要求されていないＨＤＤの無駄な交換を防ぐことができる。
【０１３７】
加えて、Ｄｉｓｋ  Ｐａｔｒｏｌ実行部４３０ｄが、ＨＤＤのデータ処理部２１０ａにＤｉｓｋ  Ｐａｔｒｏｌを実行させることにより、アクセス負荷の少なかったＨＤＤのアクセス数を強制的に上昇させて、異常か否かの判定をしていなかったＨＤＤの判定をすることができる。
【０１３８】
上記の実施例１を含む実施形態に関し、更に以下の付記を開示する。
【０１３９】
（付記１）記憶装置が備える記憶媒体に起因しないエラー数を計数する計数手段と、
前記計数手段の計数結果に基づいて前記エラー数の上昇量を算出し、当該エラー数の上昇量に基づいて前記記憶装置が異常であるか否かを判定する異常判定手段と、
を備えたことを特徴とする異常判定装置。
【０１４０】
（付記２）前記計数手段は、前記記憶媒体に対するアクセス数を更に計数し、前記異常判定手段は、前記計数手段の計数結果に基づいて、単位アクセス数あたりの前記エラー数の上昇量を算出し、算出結果と規定値とを比較することにより前記記憶装置が異常であるか否かを判定することを特徴とする付記１に記載の異常判定装置。
【０１４１】
（付記３）前記異常判定手段は、前記算出結果が規定値を上回り、かつ、所定期間内におけるアクセス数が所定数以上の場合に、前記記憶装置が異常であると判定することを特徴とする付記２に記載の異常判定装置。
【０１４２】
（付記４）所定期間内におけるアクセス数が所定数未満の場合に、前記記憶媒体に対するアクセス数を上昇させるアクセス数上昇手段を更に備えたことを特徴とする付記１、２または３に記載の異常判定装置。
【０１４３】
（付記５）前記アクセス数は、上位装置から前記記憶媒体に対して実行されるアクセス数と、前記記憶装置自身が前記記憶媒体に起因するエラーをテストする場合に実行するアクセス数とを含んでいることを特徴とする付記１〜４のいずれか一つに記載の異常判定装置。
【０１４４】
（付記６）前記記録媒体に起因しないエラーは、アクセス遅延エラーであることを特徴とする付記１〜５のいずれか一つに記載の異常判定装置。
【０１４５】
（付記７）異常判定装置が、
記憶装置の備える記憶媒体に起因しないエラー数を計数して当該記憶装置に保管するステップと、
前記記憶装置に保管した前記エラー数の計数結果に基づいて当該エラー数の上昇量を算出し、その上昇量に基づいて当該記憶装置が異常であるか否かを判定するステップと、
を実行することを特徴とする異常判定方法。
【０１４６】
（付記８）前記記憶媒体に対するアクセス数を更に計数して前記記憶装置に保管し、前記記憶装置に保管した前記エラー数とアクセス数に基づいて、単位アクセス数あたりの当該エラー数の上昇量を算出し、算出結果と規定値とを比較することにより当該記憶装置が異常であるか否かを判定することを特徴とする付記７に記載の異常判定方法。
【０１４７】
（付記９）前記算出結果と規定値を比較して、当該算出結果が規定値を上回り、かつ、所定期間内におけるアクセス数が所定数以上の場合に、前記記憶装置が異常であると判定することを特徴とする付記８に記載の異常判定方法。
【０１４８】
（付記１０）所定期間内におけるアクセス数が所定数未満の場合に、前記記憶媒体に対するアクセス数を上昇させるステップを更に備えたことを特徴とする付記７、８または９に記載の異常判定方法。
【０１４９】
（付記１１）前記アクセス数は、上位装置から前記記憶媒体に対して実行されるアクセス数と、前記記憶装置自身が前記記憶媒体に起因するエラーをテストする場合に実行するアクセス数とを含んでいることを特徴とする付記７〜１０のいずれか一つに記載の異常判定方法。
【０１５０】
（付記１２）前記記録媒体に起因しないエラーは、アクセス遅延エラーであることを特徴とする付記７〜１１のいずれか一つに記載の異常判定方法。
【図面の簡単な説明】
【０１５１】
【図１】本実施例１に係るＲＡＩＤ装置の構成を示す機能ブロック図である。
【図２】本実施例１に係るＨＤＤの構成の一例を示す機能ブロック図である。
【図３】本実施例１に係る制御テーブルのデータ構造の一例を示す図である。
【図４】本実施例１に係るＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲの発生の一例を示す図である。
【図５】本実施例１におけるＨＤＤのエラー処理を示すフローチャートである。
【図６】本実施例１におけるＤｉｓｋ  Ｐａｔｒｏｌの処理を示すフローチャートである。
【符号の説明】
【０１５２】
５０  ホスト
１００  ＲＡＩＤ装置
２００ａ、ｂ、ｃ、ｄ  ＨＤＤ
２１０  制御部
２１０ａ  データ処理部
２１０ｂ  ＮＯＮ  ＭＥＤＥＩＵＭ  ＥＲＲＯＲ  ＣＯＵＮＴ部
２２０  記憶媒体（ディスク）
３００  チャンネルインターフェース
４００  ＨＤＤ制御装置
４１０  ＨＤＤ制御装置間通信部
４２０  ＲＡＭ
４２０ａ  ユーザデータ
４２０ｂ  制御テーブル
４３０  ＣＰＵ
４３０ａ  ＨＤＤ制御部
４３０ｂ  情報収集部
４３０ｃ  エラー判定処理部
４３０ｄ  Ｄｉｓｋ  Ｐａｔｒｏｌ実行部
４４０  ディスクインターフェース群
【図１】
0004627327.tif 000002
【図２】
0004627327.tif 000003
【図３】
0004627327.tif 000004
【図４】
0004627327.tif 000005
【図５】
0004627327.tif 000006
【図６】
0004627327.tif 000007