(57)【要約】  媒体エラー状態生成部（１２）が媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、この第１テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定部（１３）と、エラー非発生状態における高負荷状態の検査対象ストレージ装置（６０）に対して複数の第２テストコマンドを発行し、これらの複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定部（１４）と、複数種類のストレージ装置（６０）のそれぞれについて、コマンド遅延時間と応答間隔とを加算することにより、ストレージ装置種類毎に基準時間を算出し、エラー判定を効率的にできるようにする。
2012049760.tif 000002
【特許請求の範囲】
【請求項１】
複数種類のストレージ装置に接続可能なストレージ制御装置であって、  該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択部と、  該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成部と、  該媒体エラー状態生成部が該媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該第１テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定部と、  エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定部と、  該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する基準時間算出部と、  該基準時間算出部によって算出された該基準時間に基づいて、該ストレージ装置に対するコマンド発行にかかる異常検知を行なう異常検知部とをそなえることを特徴とする、ストレージ制御装置。
【請求項２】
該媒体エラー状態生成部，該ストレージ装置選択部，該コマンド遅延時間測定部及び該基準時間算出部が、当該ストレージ制御装置の起動処理時に各処理を行なうことを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
該コマンドを発行する対象としてのコマンド発行対象ストレージ装置へ該コマンドを発行するコマンド発行部をそなえるとともに、  該コマンド発行部が該コマンド発行対象ストレージ装置へコマンド発行を行なう際において、当該ストレージ制御装置に接続された該複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出する全体平均応答間隔算出部と、  該コマンド発行部が該コマンド発行対象ストレージ装置へコマンド発行を行なう際において、該コマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出する平均コネクション回数算出部と、  当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出する全体平均コネクション回数算出部と、  該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出する応答遅延係数算出部と、  該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出する運用応答間隔算出部と、  該運用応答間隔算出部が算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする基準時間変更部とをそなえることを特徴とする、請求項１又は請求項２記載のストレージ制御装置。
【請求項４】
当該ストレージ制御装置の運用時において該コマンド発行対象ストレージ装置においてエラーが検出された際に、  該エラー発生時におけるコマンド応答の遅延時間をエラー時コマンド遅延測定時間として測定するエラー時コマンド遅延時間測定部と、  エラー時コマンド遅延測定時間に基づいて、エラー時コマンド遅延時間を算出するエラー時コマンド遅延時間算出部とをそなえ、  該基準時間変更部が、  該エラー時コマンド遅延時間算出部が算出した該エラー時コマンド遅延時間を新たな該コマンド遅延時間として、当該新たなコマンド遅延時間と該応答間隔とを加算することにより、当該エラーが検出されたコマンド発行対象ストレージ装置についての新たな基準時間を算出することを特徴とする、請求項３記載のストレージ制御装置。
【請求項５】
複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定方法であって、  該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択ステップと、  該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成ステップと、  該媒体エラー状態生成ステップにより該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定ステップと、  エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定ステップと、  該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する基準時間算出ステップとをそなえることを特徴とする、基準時間設定方法。
【請求項６】
該媒体エラー状態生成ステップ，該ストレージ装置選択ステップ，該コマンド遅延時間測定ステップ及び該基準時間算出ステップを、該ストレージ制御装置の起動処理時に行なうことを特徴とする、請求項５記載の基準時間設定方法。
【請求項７】
該ストレージ装置へコマンド発行を行なう際に、  該ストレージ制御装置に接続された複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出する全体平均応答間隔算出ステップと、  当該コマンドを発行する対象としてのコマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出する平均コネクション回数算出ステップと、  当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出する全体平均コネクション回数算出ステップと、  該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出する応答遅延係数算出ステップと、  該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出する運用応答間隔算出ステップと、  該運用応答間隔算出ステップにおいて算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする基準時間変更ステップとをそなえることを特徴とする、請求項５又は請求項６記載の基準時間設定方法。
【請求項８】
当該ストレージ制御装置の運用時において該コマンド発行対象ストレージ装置においてエラーが検出された際に、  該エラー発生時におけるコマンド応答の遅延時間をエラー時コマンド遅延測定時間として測定するエラー時コマンド遅延時間測定ステップと、  該コマンド遅延時間と該エラー時コマンド遅延測定時間とに基づいて、エラー時コマンド遅延時間を算出するエラー時コマンド遅延時間算出ステップとをそなえ、  該基準時間変更ステップが、  該エラー時コマンド遅延時間算出ステップにおいて算出した該エラー時コマンド遅延時間を新たな該コマンド遅延時間として、当該新たなコマンド遅延時間と該応答間隔とを加算することにより、当該エラーが検出されたコマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を当該コマンド発行対象ストレージ装置の基準時間とすることを特徴とする、請求項７記載の基準時間設定方法。
【請求項９】
複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定機能をコンピュータに実行させるための基準時間設定プログラムであって、  該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択し、  該検査対象ストレージ装置に媒体エラー状態を発生させ、  該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定し、  エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定し、  該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する処理を該コンピュータに実行させる基準時間設定プログラム。
【請求項１０】
前期媒体エラー状態の発生と、前記ストレージ装置の選択と、前記コマンド遅延時間の測定と、前記基準時間の算出とを、該ストレージ制御装置の起動処理時に、該コンピュータに実行させることを特徴とする、請求項９記載の基準時間設定プログラム。
【請求項１１】
該ストレージ装置へコマンド発行を行なう際に、  該ストレージ制御装置に接続された複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出し、  当該コマンドを発行する対象としてのコマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出し、  当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出し、  該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出し、  該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出し、  前記算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする処理を該コンピュータに実行させることを特徴とする、請求項９又は請求項１０記載の基準時間設定プログラム。
【請求項１２】
当該ストレージ制御装置の運用時において該コマンド発行対象ストレージ装置においてエラーが検出された際に、  該エラー発生時におけるコマンド応答の遅延時間をエラー時コマンド遅延測定時間として測定し、  該コマンド遅延時間と該エラー時コマンド遅延測定時間とに基づいて、エラー時コマンド遅延時間を算出し、  前記算出した該エラー時コマンド遅延時間を新たな該コマンド遅延時間として、当該新たなコマンド遅延時間と該応答間隔とを加算することにより、当該エラーが検出されたコマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を当該コマンド発行対象ストレージ装置の基準時間とする処理を該コンピュータに実行させることを特徴とする、請求項１１記載の基準時間設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本件は、ストレージ装置の異常を検知する技術に関する。
【背景技術】
【０００２】  複数種類のＨＤＤ（Hard Disk Drive）をそなえたデータストレージシステムにおいて、バックエンド（BackEnd）の負荷が高くなると、データの伝送路が混み合いコマンドの完了時間に影響を与える。  一般に、データストレージシステムにおいては、タイムアウト時間とよばれる基準時間を設定し、ＨＤＤに対して発行したコマンドに対する応答待ちの時間がこのタイムアウト時間を越えた場合にエラー判定を行なう。【０００３】  そして、従来のデータストレージシステムにおいては、システム内にそなえられた全てのＨＤＤで共通のタイムアウト時間を設定している（例えば、特許文献１）。【特許文献１】特開２００４−１３９４８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】  しかしながら、このような従来のデータストレージシステムにおいては、システム内にそなえられた全てのＨＤＤで共通のタイムアウト時間を設定しているので、複数種類のＨＤＤがそなえられている場合に、応答能力が最も低いＨＤＤに合わせてタイムアウト時間を決定している。又、タイムアウト時間は、データストレージシステムの運用中に動的に変化する伝送路負荷が最大の値に基づいて設定されている。【０００５】  従って、タイムアウト時間が大きな値に設定されるので、システム運用時のエラー判定に時間がかかり過ぎてしまうという課題がある。  また、タイムアウト時間をあえて小さな値に設定した場合には、コマンドの完了時間が遅延した場合に、伝送路高負荷要因による遅延なのか、ＨＤＤの故障要因による遅延なのかを判断することができず、データストレージシステムを効率的に運用することができないという課題がある。【０００６】  本件の目的の一つは、このような課題に鑑み創案されたもので、エラー判定を効率的にできるようにすることである。  なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
【課題を解決するための手段】
【０００７】  このため、このストレージ制御装置は、複数種類のストレージ装置に接続可能なストレージ制御装置であって、該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択部と、該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成部と、該媒体エラー状態生成部が該媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該第１テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定部と、エラー非発生状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定部と、該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する基準時間算出部と、該基準時間算出部によって算出された該基準時間に基づいて、該ストレージ装置に対するコマンド発行にかかる異常検知を行なう異常検知部とをそなえる。【０００８】  また、この基準時間設定方法は、複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定方法であって、該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択ステップと、該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成ステップと、該媒体エラー状態生成ステップにより該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定ステップと、エラー非発生状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定ステップと、該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する基準時間算出ステップとをそなえる。【０００９】  さらに、この基準時間設定プログラムは、複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定機能をコンピュータに実行させるための基準時間設定プログラムであって、該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択し、該検査対象ストレージ装置に媒体エラー状態を発生させ、該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定し、エラー非発生状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定し、該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する処理を該コンピュータに実行させる。【００１０】  また、このコンピュータ読取可能な記録媒体は、上述した基準時間設定プログラムを記録したものである。
【発明の効果】
【００１１】  開示の技術によれば、以下の少なくともいずれか１つの効果ないし利点が得られる。  （１）ストレージ装置種類毎に基準時間を算出することにより、異常検出に要する時間を短縮することができ、これにより、処理効率を向上させることができる。  （２）基準時間の算出に際して、媒体エラー状態を発生させた状態でのコマンド応答の遅延時間を用いることにより、ストレージ装置の処理性能に応じたタイムアウト時間を設定することができる。【００１２】  （３）基準時間の算出に際して、エラー非発生状態における高負荷状態の検査対象ストレージ装置に対する複数の第２テストコマンドに対する各コマンド応答の間隔を用いることにより、実際にディスクアクセス処理に要する時間と応答データの送信に要する時間とだけを反映させたタイムアウト時間を設定することができる。  （４）コマンドの完了時間が遅延した場合に、伝送路高負荷要因による遅延なのか、ストレージ装置故障要因による遅延なのかを容易に判断することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態の一例としてのストレージシステムの機能構成例を模式的に示す図である。
【図２】実施形態の一例としてのストレージシステムのハードウェア構成例を模式的に示す図である。
【図３】実施形態の一例としてのストレージシステムにおけるストレージ制御装置のハードウェア構成を模式的に示す図である。
【図４】実施形態の一例としてのストレージシステムにおけるディスク種別情報を例示する図である。
【図５】実施形態の一例としてのストレージシステムにおけるディスク情報を例示する図である。
【図６】実施形態の一例としてのストレージシステムにおけるレスポンス間隔を説明するための図である。
【図７】実施形態の一例としてのストレージシステムの起動時におけるタイムアウト時間の算出手法を説明するためのフローチャートである。
【図８】実施形態の一例としてのストレージシステムの運用時におけるタイムアウト時間の算出手法を説明するためのフローチャートである。
【図９】実施形態の一例としてのストレージシステムの運用時におけるタイムアウト時間を表す図である。
【図１０】実施形態の一例としてのストレージシステムにおける、複数のディスク種のそれぞれに設定されたタイムアウト時間を示す図である。
【図１１】実施形態の一例としてのストレージシステムの運用時において媒体エラーが検出された際のタイムアウト時間の算出手法を説明するためのフローチャートである。
【符号の説明】
【００１４】  １    ストレージシステム  ２    コントローラエンクロージャ  ４    上位装置  １０    タイムアウト時間設定部    １１    ストレージ選択部  １２    媒体エラー状態生成部  １３    コマンド遅延時間測定部  １４    応答間隔測定部  １５    タイムアウト時間算出部  １６    全体平均応答遅延係数算出部  １７    基準時間変更部  １８    エラー時コマンド遅延時間測定部  １９    エラー時コマンド遅延時間算出部  ２１    コマンド発行部  ２２    異常検知部  ２４    平均コネクション回数算出部    ２５    応答遅延係数算出部  ２６    運用応答間隔算出部  ３０    ストレージ制御装置  ４０，４０ａ，４０ｂ    コントローラモジュール  ４１    エキスパンダモジュール  ６０，６０−１〜６０−４    ＨＤＤ（ストレージ装置）  ７０    ワイドリンク  ２５０    ＳＡＳエキスパンダ      ３０１    プロセッサ  ３０２    メモリ  ３０３    制御プログラム  ３０４，３０５    ＳＡＳコントローラ  Ｄ１    ディスク種別情報  Ｄ２    ディスク情報  Ｄ３    バス情報
【発明を実施するための最良の形態】
【００１５】  以下、図面を参照して本発明の実施の形態を説明する。  図１は実施形態の一例としてのストレージシステム１の機能構成例を模式的に示す図であり、図２はそのハードウェア構成例を模式的に示す図である。又、図３は実施形態の一例としてのストレージシステム１におけるストレージ制御装置３０のハードウェア構成を模式的に示す図である。【００１６】  本実施形態のストレージシステム１は、図１に示すように、１以上（図１に示す例では１つ）の上位装置４に接続され、この上位装置４に対して記憶領域を提供する。上位装置４は、例えば、サーバ機能をそなえたコンピュータ（ホストコンピュータ）である。  本ストレージシステム１は、図２に示すように、コントローラエンクロージャ２をそなえており、このコントローラエンクロージャ２は上位装置４に接続される。又、コントローラエンクロージャ２は、コントローラモジュール４０ａ，４０ｂをそなえるとともに、複数（図２に示す例では４つ）のＨＤＤ（Hard Disk Drive：ストレージ装置）６０−１，６０−２，６０−３，６０−４をそなえている。【００１７】  ＨＤＤ６０−１，６０−２，６０−３，６０−４はデータを読み書き可能に格納する記憶装置（ストレージ装置）であり、ストレージ制御装置３０から送信されるコマンドを順次処理することにより、記録媒体（図示省略）に対してデータの書き込みや読み出しを行なう。又、各ＨＤＤ６０−１，６０−２，６０−３，６０−４は、コントローラモジュール４０ａ，４０ｂの各ＳＡＳエキスパンダ２５０にそれぞれ通信可能に接続されている。【００１８】  なお、以下、ＨＤＤを示す符号としては、複数のＨＤＤのうち１つを特定する必要があるときには符号６０−１〜６０−４を用いるが、任意のＨＤＤを指すときには符号６０を用いる。  また、以下、ＨＤＤを表す符号６０−１，６０−２，６０−３，６０−４におけるハイフン（−）以下の数字をディスク番号という場合がある。更に、以下、ＨＤＤ６０をこのディスク番号を用いて表現する場合があり、例えば、ＨＤＤ６０−１をディスク１，ＨＤＤ６０−２をディスク２と表現する。【００１９】  本実施形態においては、ＨＤＤ６０として複数種類のＨＤＤが用いられるものとし、例えば、ディスク種としてＡ，Ｂ，Ｃの３種類（機種）があるものとする。そして、これらのディスク種毎でＨＤＤ６０の特性が異なる。例えば、ディスク種毎で、バーストレングスやＨＤＤ６０の媒体エラー状態発生時のコマンド遅延時間が異なる。  ここでバーストレングスとは、１回のコネクションに転送されるデータ量であり、バスのオープン（Open）、データ転送（DataTx）及びクローズ（Close）からなる１回のサイクルで転送されるデータ量である。このバーストレングスは、一般的には、例えばＨＤＤ６０にそなえられるデータ転送バッファのサイズや入出力性能によって変わり、ディスク種毎に異なる。【００２０】  また、ＨＤＤ６０はキューイング機能をそなえており、ストレージ制御装置３０から送信されるコマンドを、一旦、図示しないキュー（バッファ）に格納する。ＨＤＤ６０においては、これらのコマンドを一度に１つしか処理することができず、このキューに格納されたコマンドを順次処理する。  ＳＡＳ（Serial Attached SCSI）デバイスの場合、バス（ＳＡＳ）の負荷が上昇すると、バス使用権の優先順位はコネクション単位で均等化される。これにより、バーストレングスが小さいディスク種は、バーストレングスが大きいディスク種に比べてレスポンスの遅延率が大きくなる。すなわち、バーストレングスが大きいディスク種においては、同じサイズのデータを処理しても、バーストレングスが小さいディスク種と比べて、早く処理を完了させることが可能となる。【００２１】  また、本実施形態においては、ＨＤＤ６０−１がディスク種Ａ、ＨＤＤ６０−２とＨＤＤ６０−４とがディスク種Ｂ、ＨＤＤ６０−３がディスク種Ｃであるものとする。  コントローラモジュール４０ａ，４０ｂはそれぞれ種々の制御を行なうものであり、上位装置４からのストレージアクセス要求に従って、ＨＤＤ６０−１〜６０−４へのアクセス制御等の各種制御を行なう。又、コントローラモジュール４０ａ，４０ｂは互いにほぼ同様の構成を有しており、それぞれ、ストレージ制御装置３０およびエキスパンダモジュール４１をそなえている。【００２２】  なお、以下、コントローラモジュールを示す符号としては、複数のコントローラモジュールのうち１つを特定する必要があるときには符号４０ａ，４０ｂを用いるが、任意のコントローラモジュールを指すときには符号４０を用いる。  また、コントローラエンクロージャ２において、コントローラモジュール４０ａのストレージ制御装置３０とコントローラモジュール４０ｂのストレージ制御装置３０とは、互いに通信可能に接続されている。【００２３】  さらに、各ストレージ制御装置３０は、同一のコントローラモジュール４０ａ（３０ｂ）内のＳＡＳエキスパンダ２５０と、他のコントローラモジュール３０ｂ（３０ａ）のＳＡＳエキスパンダ２５０とにそれぞれ接続されている。  ＳＡＳエキスパンダ２５０は、ストレージ制御装置３０とＨＤＤ６０とを中継するものであり、上位装置４からのストレージアクセス要求に基づくデータ転送を行なう。又、ＳＡＳエキスパンダ２５０は、図示しないドライブエンクロージャとの間のデータ中継も行なう。【００２４】  ストレージ制御装置３０は、ＨＤＤ６０に対するデータのアクセス制御やＲＡＩＤの実現等、種々の制御を行なうものであり、例えば、ＲＡＩＤコントローラである。このストレージ制御装置３０は、図３に示すように、プロセッサ３０１，メモリ３０２，およびＳＡＳコントローラ３０４，３０５をそなえている。  メモリ３０２は種々のプログラムやデータを記録する記憶装置であり、又、プロセッサ３０１が演算処理を行なうに際して、データ等が一時的に記録・展開される。又、このメモリ３０２には、ディスク種別情報Ｄ１，ディスク情報Ｄ２及びバス情報Ｄ３が格納される。【００２５】  また、このメモリ３０２には、後述する制御プログラム３０３や基準時間設定プログラム３０６が格納される（図３参照）。  図４は実施形態の一例としてのストレージシステム１におけるディスク種別情報Ｄ１を例示する図、図５はそのディスク情報Ｄ２を例示する図である。  ディスク種別情報Ｄ１は、ＨＤＤ６０の各ディスク種類の特性を表す情報であり、本実施形態においては、各ディスク種類に対して、媒体エ��ー状態発生時のコマンド遅延時間（平均値）ｔａｖｇ及びバーストレングスｂｌを対応させたテーブルとして表している。【００２６】  なお、図４に示す例においては、媒体エラー状態発生時のコマンド遅延時間を表す符号ｔａｖｇに“−（ハイフン）”とともにディスク種類を表す符合（Ａ，Ｂ，Ｃのいずれか）を付すことにより、そのディスク種類に対応する媒体エラー状態発生時のコマンド遅延時間を表す。同様に、バーストレングスを表す符号ｂｌに“−（ハイフン）”とともにディスク種類を表す符合（Ａ，Ｂ，Ｃのいずれか）を付すことにより、そのディスク種類に対応するバーストレングスを表す。【００２７】  すなわち、図４に示す例においては、ディスク種類Ａに対して、媒体エラー状態発生時のコマンド遅延時間ｔａｖｇ−Ａ及びバーストレングスｂｌ−Ａを対応させている。同様に、ディスク種類Ｂに対して、媒体エラー状態発生時のコマンド遅延時間ｔａｖｇ−Ｂ及びバーストレングスｂｌ−Ｂを、又、ディスク種類Ｃに対して、媒体エラー状態発生時のコマンド遅延時間ｔａｖｇ−Ｃ及びバーストレングスｂｌ−Ｃを、それぞれ対応付けている。【００２８】  なお、以下、媒体エラー状態発生時のコマンド遅延時間を示す符号としては、複数のコマンド遅延時間のうち１つを特定する必要があるときには符号ｔａｖｇ−Ａ〜ｔａｖｇ−Ｃを用いるが、任意のコマンド遅延時間を指すときには符号ｔａｖｇを用いる。同様に、以下、バーストレングスを示す符号としては、複数のバーストレングスのうち１つを特定する必要があるときには符号ｂｌ−Ａ〜ｂｌ−Ｃを用いるが、任意のバーストレングスを指すときには符号ｂｌを用いる。【００２９】  ディスク情報Ｄ２は、各ＨＤＤ６０の特性を表す情報であり、本実施形態においては、各ＨＤＤ６０のディスク番号に対応させて、ディスク種，バーストレングスｂｌ，総データ量／コマンド数ｄｐｃ，平均レスポンス間隔Ｒ，平均コネクション回数Ｃ，レスポンス遅延係数ＤＫ，媒体エラー状態発生時のコマンド遅延時間（平均値）ｔａｖｇ，レスポンス間隔ｔｒ及びタイムアウト時間（基準時間）Ｔｏｕｔを、それぞれ関連付けたテーブルとして表している。【００３０】  ここで、総データ量／コマンド数ｄｐｃとは、１コマンドあたりのデータ量（サイズ）の平均値であり、例えば、後述する平均コネクション回数算出部２４によって算出される。  平均レスポンス間隔Ｒとは、本ストレージシステム１の運用時において、ＨＤＤ６０から受信する複数のレスポンスの間隔の平均値であり、後述する応答間隔測定部１４によって算出される。【００３１】  平均コネクション回数Ｃとは、本ストレージシステム１の運用時における１コマンドあたりの平均コネクション回数である。すなわち、平均コネクション回数は、そのＨＤＤ６０において、１つのコマンドに関して発生するコネクションの回数の平均値である。この平均コネクション回数Ｃは、後述する平均コネクション回数算出部２４によって算出される。【００３２】  レスポンス遅延係数ＤＫとは、本ストレージシステム１の運用時において求められた平均コネクション回数に基づいて求められる係数であり、本ストレージシステム１の運用時におけるレスポンス間隔ｔｒ（後述）の���正に用いられる。このレスポンス遅延係数ＤＫは、後述する応答遅延係数算出部２５によって求められる。  レスポンス間隔ｔｒとは、ストレージ装置３０の起動処理時において、媒体エラー非発生状態のＨＤＤ６０に発行したコマンドに対して行なわれる各応答（レスポンス）の間隔である。このレスポンス間隔ｔｒは、後述する応答間隔測定部１４によって測定される。【００３３】  タイムアウト時間Ｔｏｕｔとは、後述する異常検知部２２がＨＤＤ６０のエラー（タイムアウトエラー）を判断するための基準となる値（時間）であり、後述するタイムアウト時間設定部１０によって設定される  なお、図５に示す例においては、例えば、レスポンス間隔を表す符号ｔｒに“−（ハイフン）”とともにディスク番号（１〜４のいずれか）を付すことにより、そのディスク番号に対応する正常時のレスポンス間隔を表す。同様に、タイムアウト時間を表す符号Ｔｏｕｔに“−（ハイフン）”とともにディスク番号（１〜４のいずれか）を付すことにより、そのディスク番号に対応するタイムアウト時間を表す。【００３４】  また、同様に、総データ量／コマンド数，平均レスポンス間隔，平均コネクション回数レスポンス遅延係数及びタイムアウト時間をそれぞれ表す符号ｄｐｃ，Ｒ，Ｃ，ＤＫ及びＴｏｕｔに対しても、“−”とともにディスク番号を付すことにより、そのディスク番号に対応する、総データ量／コマンド数，平均レスポンス間隔，平均コネクション回数，レスポンス遅延係数及びタイムアウト時間をそれぞれ表す。【００３５】  すなわち、図５に示す例においては、例えば、ディスク番号１に対して、そのディスク種Ａ，バーストレングスｂｌ−Ａ，総データ量／コマンド数ｄｐｃ−１，平均レスポンス間隔Ｒ−１，平均コネクション回数Ｃ−１，レスポンス遅延係数ＤＫ−１，媒体エラー状態発生時のコマンド遅延時間ｔａｖｇ−Ａ，レスポンス間隔ｔｒ−１及びタイムアウト時間Ｔｏｕｔ−１を、それぞれ対応付けている。【００３６】  なお、以下、レスポンス間隔を示す符号としては、複数のレスポンス間隔のうち１つを特定する必要があるときには符号ｔｒ−１〜ｔｒ−４を用いるが、任意のレスポンス間隔を指すときには符号ｔｒを用いる。同様に、以下、タイムアウト時間を示す符号としては、複数のタイムアウト時間のうち１つを特定する必要があるときには符号Ｔｏｕｔ−１〜Ｔｏｕｔ−４を用いるが、任意のタイムアウト時間を指すときには符号Ｔｏｕｔを用いる。【００３７】  バス情報Ｄ３は、本ストレージシステム１において用いられているバス（本実施形態ではＳＡＳ）の性能（特性）に関する情報であって、本実施形態においては、バス全体での平均のレスポンス間隔Ｒａｖｇである。このバス全体での平均のレスポンス間隔Ｒａｖｇは、後述する全体平均応答間隔算出部１６によって算出される。又、このバス全体での平均のレスポンス間隔Ｒａｖｇの算出手法の詳細についても後述する。【００３８】  ＳＡＳコントローラ３０４，３０５は、ＳＡＳに関する種々の制御を行なうものである。例えば、ＳＡＳコントローラ３０４は同一のコントローラモジュール４０ａ（４０ｂ）内のＳＡＳエキスパンダ２５０との通信を制御し、ＳＡＳコントローラ３０５は他のコントローラモジュール４０ｂ（４０ａ）内のＳＡＳエキスパンダ２５０との通信を制御する。【００３９】  すなわち、コントローラモジュール４０ａのストレージ制御装置３０は、そのストレージ制御装置３０を搭載したコントローラモジュール４０ａのＳＡＳエキスパンダ２５０と、他のコントローラモジュール４０ｂのＳＡＳエキスパンダ２５０との両方に対して接続可能に構成されている。同様に、コントローラモジュール４０ｂのストレージ制御装置３０は、そのストレージ制御装置３０を搭載したコントローラモジュール４０ｂのＳＡＳエキスパンダ２５０と、他のコントローラモジュール４０ａのＳＡＳエキスパンダ２５０との両方に対して接続可能に構成されている。【００４０】  また、コントローラエンクロージャ２には、ワイドリンク７０，７０を介して図示しないドライブエンクロージャが接続可能に構成されている。すなわち、コントローラエンクロージャ２のコントローラモジュール４０ａのＳＡＳエキスパンダ２５０や、コントローラモジュール４０ｂのＳＡＳエキスパンダ２５０には、ワイドリンク７０を介して複数のドライブエンクロージャがカスケード接続される。ドライブエンクロージャは、１以上のＨＤＤ６０をそなえ、これらのＨＤＤ６０の記憶領域を利用可能に提供する装置である。【００４１】  プロセッサ３０１は、種々の演算や制御を行なうものであり、メモリ３０２に格納された制御プログラム３０３を実行することにより、本ストレージシステム１における各種機能を実現する。  例えば、プロセッサ３０１は、ＲＡＩＤの実現や上位装置４からのホストＩ／Ｏに応じたＨＤＤ６０へのアクセス制御等、既知のＲＡＩＤコントローラとしての種々の機能を実現する。【００４２】  また、本ストレージシステム１においては、ストレージ制御装置３０は、ＨＤＤ６０における異常を検知する異常検知機能をそなえている。  具体的には、プロセッサ３０１は、基準時間設定プログラム３０６を実行することにより、後述する、コマンド発行部２１，タイムアウト時間設定部１０及び異常検知部２２として機能する。【００４３】  なお、これらの各機能を実現するためのプログラム（制御プログラム３０３，基準時間設定プログラム３０６）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。【００４４】  コマンド発行部２１，タイムアウト時間設定部１０及び異常検知部２２としての機能を実現する際には、内部記憶装置（本実施形態ではストレージ制御装置３０のメモリ３０２）に格納された制御プログラム３０３がコンピュータのマイクロプロセッサ（本実施形態ではプロセッサ３０１）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。【００４５】  なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ストレージ制御装置３０がコンピュータとしての機能を有しているのである。【００４６】  コマンド発行部２１は、上位装置４からのホストＩ／Ｏに基づいて、コマンド発行対象ストレージとしてのＨＤＤ６０に対してディスクアクセスを伴うコマンド（以下、単にコマンドという）を発行する。なお、このコマンド発行部２１としての機能は、既知の種々の手法により実現することができ、その詳細な説明は省略する。  なお、以下、本ストレージシステム１の運用時において、コマンド発行部２１がコマンドを発行する対象のＨＤＤ６０をコマンド発行対象ＨＤＤ６０という場合がある。【００４７】  異常検知部２２は、ＨＤＤ６０における異常（エラー）を検知するものである。この異常検知部２２は、コマンド発行部２１によりＨＤＤ６０に対するコマンドを発行してから、そのコマンドに対する応答がＨＤＤ６０から返るまでの応答時間（コマンド完了時間）を測定する。そして、この応答時間をタイムアウト時間と比較し、応答時間がタイムアウト時間よりも大きくなった時に、タイムアウトエラーとしてＨＤＤ６０における異常を検知する。【００４８】  そして、本ストレージシステム１においては、この異常検知部２２は、後述するタイムアウト時間設定部１０によって算出されたタイムアウト時間（基準時間）に基づいて、ＨＤＤ６０に対するコマンド発行にかかる異常検知を行なう。  タイムアウト時間設定部（基準時間算出部）１０は、異常検知部２２による異常検知の基準となるタイムアウト時間Ｔｏｕｔを設定する。このタイムアウト時間設定部１０は、本ストレージシステム１の起動時（パワーオン時）や、ＨＤＤ６０の組み込み時にタイムアウト時間Ｔｏｕｔの設定を行なう。【００４９】  このタイムアウト時間設定部１０は、ＨＤＤ６０のディスク種毎にタイムアウト時間Ｔｏｕｔを設定する。  本ストレージシステム１においては、同じディスク種類のＨＤＤ６０が使用されている（例えば、ＨＤＤ６０−２とＨＤＤ６０−４）ので、必ずしも全てのＨＤＤ６０を対象としてコマンド遅延時間を求める必要はない。そこで、タイムアウト時間設定部１０は、ディスク種類毎に数台の検査対象ＨＤＤ６０を選択し、これらの数台の検査対象ＨＤＤ６０に基づいて、ディスク種毎に共通のタイムアウト時間Ｔｏｕｔを算出する。【００５０】  すなわち、タイムアウト時間設定部１０は、ディスク種類毎にタイムアウト時間Ｔｏｕｔを設定する。  このタイムアウト時間設定部１０���、図１に示すように、ストレージ選択部１１，媒体エラー状態生成部１２，コマンド遅延時間測定部１３，応答間隔測定部１４，タイムアウト時間算出部１５，全体平均応答間隔算出部１６，基準時間変更部１７，エラー時コマンド遅延時間測定部１８，エラー時コマンド遅延時間算出部１９，平均コネクション回数算出部２４，応答遅延係数算出部２５及び運用応答間隔算出部２６をそなえている。【００５１】  ストレージ選択部１１は、本ストレージ制御装置３０の起動処理時やＨＤＤ６０の組み込み時に、複数種類のＨＤＤ６０のそれぞれから、タイムアウト時間Ｔｏｕｔを決定するための検査対象となる検査対象ＨＤＤ（検査対象ストレージ装置）６０を選択する。すなわち、ストレージ選択部１１は、本ストレージシステム１にそなえられている全てのＨＤＤ６０の中からＨＤＤ種毎に検査対象ＨＤＤ６０を選択する。【００５２】  なお、以下、ストレージ制御装置３０の電源投入時や再起動処理時、ＨＤＤ６０の組み込み処理時等、ストレージ制御装置３０において起動プロセスが実行される処理のことを、単に起動処理時という。  ストレージ選択部１１は、ストレージシステム１中において、ディスク種類が同じＨＤＤ６０が複数そなえられている場合には、これらの同じディスク種類の複数のＨＤＤ６０の中から、所定台数の検査対象ＨＤＤ６０を選択する。【００５３】  すなわち、ストレージ選択部１１は、ディスク種類毎に所定台数の検査対象ＨＤＤ６０を選択する。なお、ディスク種類毎に選択される検査対象ＨＤＤ６０の数は予め規定しておくことが望ましい。  媒体エラー状態生成部１２は、ストレージ選択部１１によって選択された検査対象ＨＤＤ６０に媒体エラー状態を発生させる。この媒体エラー状態生成部１２は、例えば、検査対象ＨＤＤ６０における特定のセクターのチェックコードとして格納されているデータを破壊（データ破壊）することにより、検査対象ＨＤＤ６において媒体エラー状態を発生させる。なお、このチェックコードのデータ破壊は、既知の種々の手法を用いて実現することができ、その詳細な説明は省略する。又、以下、ＨＤＤ６０が媒体エラー状態となっていない状態を媒体エラー非発生状態という。【００５４】  また、媒体エラー状態生成部１２は、例えば、データ破壊を行なったチェックコードを、正常な値のチェックコードで上書きすることにより、生成した媒体エラー状態を復旧することもできる。  そして、媒体エラー状態生成部１２は、後述するコマンド遅延時間測定部１３が、媒体エラー状態時のコマンド遅延時間ｔａｖｇの測定を行なった後に、生成した媒体エラー状態の復旧を行ない媒体エラー非発生状態（正常状態）にする。【００５５】  コマンド遅延時間測定部１３は、コマンド発行部２１に、媒体エラー状態生成部１２が媒体エラー状態を発生させたＨＤＤ６０に対してデータアクセスを生じさせるテストコマンド（第１テストコマンド）を発行させる。  そして、コマンド遅延時間測定部１３は、テストコマンドが発行されてから、そのテストコマンドに対するエラー応答（コマンド応答）がＨＤＤ６０から返ってくるまでの時間（応答時間）を、媒体エラー状態時のコマンド遅延時間ｔａｖｇとして測定する。なお、以下、この媒���エラー状態時のコマンド遅延時間ｔａｖｇを、単にコマンド遅延時間ｔａｖｇという場合がある。【００５６】  すなわち、コマンド遅延時間測定部１３は、媒体エラー状態生成部１２が媒体エラー状態を生成した検査対象ＨＤＤ６０に対してテストコマンドを発行し、このテストコマンドに対するコマンド応答に要する時間（遅延時間）を媒体エラー状態時のコマンド遅延時間ｔａｖｇとして測定する。  この媒体エラー状態時のコマンド遅延時間ｔａｖｇは、ＨＤＤ６０におけるリトライ回数や、ディスクアクセス速度等の、媒体エラー発生状態におけるそのＨＤＤ６０固有の応答能力を表す。【００５７】  なお、コマンド遅延時間測地部１３は、コマンド遅延時間ｔａｖｇの測定には、例えば、図示しないタイマ等を用いる。  応答間隔測定部１４は、ストレージ制御装置３０の起動時において、コマンド発行部２１に、ストレージ選択部１１によって選択された媒体エラー非発生状態の検査対象ＨＤＤ６０に複数のコマンドを発行させることにより、ＨＤＤ６０の高負荷状況を作り出す。【００５８】  ここで、高負荷状況とは、ストレージ制御装置３０とＨＤＤ６０との間における単位時間（例えば１秒）あたりのデータ転送量が頭打ちになった状態をいう。  すなわち、具体的には、応答間隔測定部１４は、ＨＤＤ６０との間における１秒あたりのデータ転送量が頭打ちの状態となるまで、複数の入出力データを、検査対象ＨＤＤ６０と接続されるバス上に集中的に発行させる。【００５９】  そして、応答間隔測定部１４は、このようにして作り出した高負荷状況下において、コマンド発行部２１に対して、媒体エラー非発生状態の検査対象ＨＤＤ６０に複数のテストコマンド（第２テストコマンド）を発生させる。そして、これらの複数のテストコマンドに対する各コマンド応答の間隔をレスポンス間隔（応答間隔）ｔｒとして測定する。  なお、レスポンス間隔ｔｒとは、媒体エラー非発生状態（正常時）であり、且つ、高負荷状況のＨＤＤ６０に複数のコマンドを発行した場合に、これらのコマンドに対してＨＤＤ６０から行なわれる各コマンド応答（レスポンス）の間隔である。【００６０】  図６は実施形態の一例としてのストレージシステム１におけるレスポンス間隔を説明するための図である。  コマンド発行部２１によって発行されたコマンドは、ＳＡＳエキスパンダ２５０等を介してＨＤＤ６０に送信される。ＨＤＤ６０においては、受信したコマンドをキューに格納する。図６に示す例では、コマンドＣ１〜Ｃ４の４個のコマンドが発行されている状態を示している。【００６１】  ＨＤＤ６０においては、一度に１つのコマンドを処理することにより、キューに格納されたコマンドｃ１〜ｃ４を順次処理する。又、ＨＤＤ６０は、一つのコマンドの処理が完了する毎にストレージ制御装置３０に対してコマンド応答を行なう。  図６に示す例においては、ＨＤＤ６０において、キューから取得したコマンドＣ１を処理してレスポンスＲ１を送信し、その後、コマンドＣ２を処理してレスポンスＲ２を送信する。以下、同様に、コマンドｃ３を処理してレスポンスＲ３を送信し、その後、コマンドｃ４を処理してレスポンスＲ４を送信する。【００６２】  そして、本実施形態においては、レスポンス��隔とは、ＨＤＤ６０から先のレスポンスを受信してから、ＨＤＤ６０において次のコマンドが処理され、更に、この処理されたコマンドについてのレスポンスを受信するまでの間隔をいう（図６中のｔＲ参照）。  このようなレスポンス間隔を測定することにより、ＨＤＤ６０が１つのコマンドを処理するために要する時間を把握することができる。本実施形態においては、ＨＤＤ６０がキューイング機能をそなえ、一旦、キューに格納されたコマンドを順次処理する。これにより、レスポンス間隔がコマンドの発行間隔の影響を受けることはない。【００６３】  また、応答間隔測定部１４は、ストレージ制御訴追３０の起動後のシステム運用時においては、コマンド発行部２１がＨＤＤ６０に対してコマンドを発行する際に、ＨＤＤ６０毎にレスポンス間隔の平均値である平均レスポンス間隔Ｒを算出する。この算出されたＨＤＤ６０毎の平均レスポンス間隔Ｒは、前述したディスク情報Ｔ２に登録される。  タイムアウト時間算出部（基準時間算出部）１５は、複数種類のＨＤＤ６０のそれぞれについて、タイムアウト時間Ｔｏｕｔを算出する。【００６４】  具体的には、タイムアウト時間算出部１５は、以下の式（１）に基づいてタイムアウト時間Ｔｏｕｔを算出する。  タイムアウト時間Ｔｏｕｔ＝コマンド遅延時間ｔａｖｇ＋レスポンス間隔ｔｒ                                                    ・・・（１）  ストレージシステムにおいて、１つのコマンドを完了させるまでの処理にかかる時間は、「コマンドデータ転送時間」と「コマンドのＨＤＤ６０への処理（リード／ライト）時間」の和として表すことができる。【００６５】  ここで、「コマンドのＨＤＤ６０への処理（リード／ライト）時間」の最大遅延時間は、「強制媒体エラー時のコマンド遅延時間ｔａｖｇ」として求められる。  また、「コマンドデータ転送時間の最大遅延時間」は、「高負荷状態での媒体エラー非発生状態のレスポンス間隔ｔｒ」として求められる。  すなわち、「強制媒体エラー時のコマンド遅延時間ｔａｖｇ」と「高負荷状態での正常時のレスポンス間隔ｔｒ」との和である時間を超えてもＨＤＤ６０からレスポンスが返ってこない場合に、そのＨＤＤ６０は異常ＨＤＤ６０であると判断することができる。【００６６】  タイムアウト時間算出部１５は、ストレージ制御装置３０の起動時に初期値としてのタイムアウト時間Ｔｏｕｔを算出する。又、タイムアウト時間算出部１５は、ストレージ制御装置３０の起動完了後、本ストレージシステム１の運用時に、コマンド発行部２１からコマンド対象ＨＤＤ６０に対してコマンドを発行する度にもタイムアウト時間Ｔｏｕｔの算出を行なう。更に、タイムアウト時間算出部１５は、本ストレージシステム１の運用時において、ＨＤＤ６０へのアクセスにおいて媒体エラーの発生が検出された場合にも、タイムアウト時間Ｔｏｕｔの算出を行なう。【００６７】  全体平均応答間隔算出部１６は、本ストレージシステム１にそなえられた複数のＨＤＤ６０への全てのバスにおける、レスポンス間隔の平均値をバス全体での平均のレスポンス間隔（全体平均応答間隔）Ｒａｖｇとして算出する。この全体平均応答間隔算出部１６は、本ストレージシステム１の運用時において、コマンド発行部２１がＨＤＤ６０に対してコマンドを発行する際に、本ストレージシステム１中の全てのＨＤＤ６０へのバスを対象とするレスポンス間隔の平均値を算出する。又、全体平均応答間隔算出部１６は、算出したバス全体での平均のレスポンス間隔Ｒａｖｇをバス情報Ｄ３に登録する。【００６８】  平均コネクション回数算出部２４は、本ストレージシステム１の運用時において、コマンド発行部２１がコマンド発行対象ＨＤＤ６０に対してコマンドを発行する際に、総データ量／コマンド数ｄｐｃを算出する。  具体的には、平均コネクション回数算出部２４は、ストレージ制御装置３０とそのＨＤＤ６０との間で送受信されたデータ量を、ストレージ制御装置３０とそのＨＤＤ６０との間で送受信されたコマンドの総数で除算することにより、総データ量／コマンド数ｄｐｃを求める。すなわち、この総データ量／コマンド数ｄｐｃは、１コマンドあたりの平均データサイズを表す。【００６９】  本実施形態においては、このデータサイズをブロックで表すものとし、総データ量／コマンド数ｄｐｃをコマンド平均ブロック数ｄｐｃと表現する場合もある。  なお、データサイズの単位はブロックに限定されるものではなく、例えばビットを用いてもよく、種々変形して実施することができる。  また、平均コネクション回数算出部２４は、コマンド発行対象ＨＤＤ６０について、コマンド当りの平均コネクション回数Ｃを取得する。具体的には、平均コネクション回数算出部２４は、以下の式（２）に基づいて平均コネクション回数Ｃを算出する。【００７０】  平均コネクション回数Ｃ＝（総データ量／コマンド数ｄｐｃ）      ÷バーストレングスｂｌ                            ・・・（２）  なお、平均コネクション回数Ｃの算出に際しては、ディスク情報Ｄ２において、算出の対象とするＨＤＤ６０に対応する総データ量／コマンド数ｄｐｃやバーストレングスｂｌを用いる。【００７１】  また、平均コネクション回数算出部（全体平均コネクション回数算出部）２４は、本ストレージシステム１にそなえられた全てのＨＤＤ６０における、コマンド当りの平均コネクション回数Ｃの平均値を算出する。以下、本ストレージシステム１にそなえられた全てのＨＤＤ６０における、コマンド当りの平均コネクション回数Ｃの平均値を、全ＨＤＤの平均コネクション回数という。【００７２】  応答遅延係数算出部２５は、本ストレージシステム１の運用時において、応答遅延係数ＤＫを算出する。この応答遅延係数算出部２５は、コマンド発行対象ＨＤＤ６０についての平均コネクション回数Ｃと、ストレージ制御装置３０に接続されたＨＤＤ６０全ＨＤＤの平均コネクション回数とに基づいてレスポンス遅延係数（応答遅延係数）ＤＫを算出する。【００７３】  具体的には、応答遅延係数算出部２５は、以下の式（３）によりレスポンス遅延係数ＤＫを算出する  レスポンス遅延係数ＤＫ＝（コマンド発行対象ＨＤＤの平均コネクション回数Ｃ）÷（全ＨＤＤの平均コネクション回数）            ・・・（３）  運用応答間隔算出部２６は、全体平均応答間隔算出部１６によって算出されたバス全体での平均のレスポンス間隔（全体平均応答間隔）Ｒａｖｇに応答遅延係数算出部２５によって取得されたレスポンス遅延係数ＤＫを適用（乗���）することにより、予想されるレスポンス間隔（運用応答間隔）を算出する（式（４）参照）。【００７４】  予想されるレスポンス間隔ｔｒ＝バス全体での平均のレスポンス間隔Ｒａｖｇ×レスポンス遅延係数ＤＫ                            ・・・（４）  エラー時コマンド遅延時間測定部１８は、本ストレージシステム１の運用時において、コマンド発行対象ＨＤＤ６０において実際に媒体エラーが発生した場合に、そのコマンド応答の遅延時間を、エラー時コマンド遅延測定時間Ｔｅｒｒｏｒとして測定する。【００７５】  本ストレージ制御装置３０においては、基本的にＨＤＤ６０に対してコマンドを発行する際に、その応答時間を測定する機能をそなえる。エラー時コマンド遅延時間測定部１８は、異常検知部２２により媒体エラーが検出されると、その検出されたエラーにかかるコマンドのコマンド応答時間をエラー時コマンド遅延測定時間Ｔｅｒｒｏｒとして取得する。【００７６】  すなわち、エラー時コマンド遅延測定時間Ｔｅｒｒｏｒは、媒体エラーが検出された場合に、その媒体エラーにかかるコマンドが発行されてから、そのコマンドに対するエラー応答（コマンド応答）がＨＤＤ６０から返ってくるまでの応答時間である。  エラー時コマンド遅延時間算出部１９は、エラー時コマンド遅延時間測定部１８によって測定されたエラー時コマンド遅延測定時間Ｔｅｒｒｏｒと、コマンド遅延時間測定部１３によって測定されたコマンド遅延時間ｔａｖｇとに基づいて、エラー時コマンド遅延時間Ｔａｖｇ′を算出する。【００７７】  具体的には、エラー時コマンド遅延時間算出部１９は、以下の式（５）によりエラー時コマンド遅延時間Ｔａｖｇ′を算出する。  エラー時コマンド遅延時間Ｔａｖｇ′＝（エラー時コマンド遅延測定時間Ｔｅｒｒｏｒ＋コマンド遅延時間ｔａｖｇ）÷２            ・・・（５）  また、算出されたエラー時コマンド遅延時間Ｔａｖｇ′は、例えば、メモリ３０２の所定の領域等に格納される。【００７８】  基準時間変更部１７は、前述した式（１）において、レスポンス間隔ｔｒとして、運用応答間隔算出部２６が算出した予想されるレスポンス間隔を用いることにより、タイムアウト時間Ｔｏｕｔを算出する。  すなわち、基準時間変更部１７は、本ストレージシステム１の運用時において、コマンド発行部２１がコマンドを発行する度に、予想される運用レスポンス間隔ｔｒとコマンド遅延時間ｔａｖｇとを加算することにより、コマンド発行対象ＨＤＤ６０についての新たなタイムアウト時間Ｔｏｕｔを算出（変更）する。【００７９】  また、基準時間変更部１７は、本ストレージシステム１の運用時において、異常検知部２２により媒体エラーが検出された場合に、エラー時コマンド遅延時間算出部１９が算出したエラー時コマンド遅延時間Ｔａｖｇ′を新たなコマンド遅延時間として、この新たなコマンド遅延時間Ｔａｖｇ′と応答間隔ｔａｖｇとを加算することにより、媒体エラーが検出されたＨＤＤ６０についての新たなタイムアウト時間Ｔｏｕｔを算出する。【００８０】  すなわち、基準時間変更部１７は、エラーが検出されたコマンド発行対象ＨＤＤ６０についての新たなタイムアウト時間Ｔｏｕｔを算出する。  基準時間変更部１７は、算出した新たなタイムアウト時間Ｔｏｕｔをコマンド発行対象ＨＤＤ６０のタイムアウト時間とするのである。  上述の如く構成された実施形態の一例としてのストレージシステム１の起動時におけるタイムアウト時間の算出手法を、図７に示すフローチャート（ステップＡ１０〜Ａ３０）に従って説明する。【００８１】  コントローラエンクロージャ２の電源が投入され、コントローラモジュール４０にも電源が供給され、ひいてはストレージ制御装置３０にも電源が供給される。これにより、ストレージ制御装置３０の起動処理が開始される。  ストレージ制御装置３０においては、媒体エラー状態時のコマンド遅延時間ｔａｖｇを測定する（ステップＡ１０）。【００８２】  具体的には、先ず、ストレージ選択部１１が、複数種類のＨＤＤ６０のそれぞれから、タイムアウト時間Ｔｏｕｔを決定するための検査対象となる検査対象ＨＤＤ（検査対象ストレージ装置）６０を選択する。  次ぎに、媒体エラー状態生成部１２が、選択された検査対象ストレージ装置６０のチェックコードとして格納されているデータを破壊することにより、検査対象ＨＤＤ６において媒体エラー状態を発生させる。そして、コマンド発行部２１が、媒体エラー状態生成部１２により媒体エラー状態が発生させられたＨＤＤ６０に対してデータアクセスを生じさせるテストコマンドを発行する。コマンド遅延時間測定部１３は、このテストコマンドに対するレスポンスに基づき、検査対象ＨＤＤ６０における媒体エラー状態時のコマンド遅延時間ｔａｖｇを測定する。【００８３】  その後、媒体エラー状態生成部１２は、生成した媒体エラー状態の復旧を行ない媒体エラー非発生状態（正常状態）にする。  次に、ストレージ選択部１１によって選択された検査対象ＨＤＤ６０の媒体エラー非発生状態におけるレスポンス間隔ｔｒの測定を行なう（ステップＡ２０）。  具体的には、先ず、コマンド発行部２１が、ストレージ選択部１１によって選択された媒体エラー非発生状態の検査対象ＨＤＤ６０に複数のコマンドを発行することにより、ＨＤＤ６０の高負荷状況を作り出す。【００８４】  また、このような高負荷状況下の検査対象ＨＤＤ６０に対して、コマンド発行部２１が、更に、複数のテストコマンド（第２テストコマンド）を発行する。そして、応答間隔測定部１４は、これらの複数のテストコマンドに対する各コマンド応答の間隔をレスポンス間隔ｔｒとして測定する。  タイムアウト時間算出部１５は、ステップＡ１０において取得した媒体エラー状態時のコマンド遅延時間ｔａｖｇと、ステップＡ２０において取得したレスポンス間隔ｔｒとを加算することにより、タイムアウト時間の初期値を算出する（ステップＡ３０）。【００８５】  次に、上述の如く構成された実施形態の一例としてのストレージシステム１の運用時におけるタイムアウト時間の算出手法を、具体的な数値を例示しながら、図８に示すフローチャート（ステップＢ１０〜Ｂ８０）に従って説明する。  本ストレージシステム１の運用時においては、ディスク情報Ｄ２やバス情報Ｄ３の各値がタイムアウト時間設定部１０により算出された値により順次更新され、タイムアウト時間Ｔｏｕｔの値も適宜更新される。【００８６】  本例においては、ディスク種Ａのバーストレング���ｂｌ−Ａ＝10，ディスク種Ｂのバーストレングスｂｌ−Ｂ＝20，ディスク種Ｃのバーストレングスｂｌ−Ｃ＝30とする。  また、本例においては、コマンド発行部２１が、ＨＤＤ６０−２（ディスクＢ）に対して、４０［ブロック］Read→２０［ブロック］Read→２０［ブロック］Read→４０［ブロック］Readの順で、各コマンドを発行したものとする。同様に、コマンド発行部２１は、ＨＤＤ６０−３（ディスク種Ｃ）に対して、３０［ブロック］Read→３０［ブロック］Read→３０［ブロック］Readの順でコマンドを発行したものとする。更に、コマンド発行部２１は、ＨＤＤ６０−４（ディスク種Ｂ）に対して、１００［ブロック］Read→２０［ブロック］Readの順でコマンドを発行したものとする。【００８７】  コマンド発行部２１がコマンド発行対象ＨＤＤ６０に対してコマンド発行を行なうと（ステップＢ１０）、平均コネクション回数算出部２４が、各ＨＤＤ６０に対するコマンド平均ブロック数ｄｐｃの算出を行なう（ステップＢ２０）  具体的には、平均コネクション回数算出部２４が、ストレージ制御装置３０からＨＤＤ６０へ発行しているコマンドの総データ量を、そのＨＤＤ６０に発行しているコマンドの総数で除算することにより、総データ量／コマンド数ｄｐｃ、すなわちコマンド平均ブロック数ｄｐｃを求める。【００８８】  （ａ）ディスク２について     ディスク２へ発行しているコマンドの総データ量=１２０［ブロック］     コマンド数＝４     ディスク２へのコマンド平均ブロック数ｄｐｃ−２                  ＝ディスク２へ発行しているコマンドの総データ量／コマンド数                  ＝１２０／４                  ＝３０［ブロック］  （ｂ）ディスク３について     ディスク３へ発行しているコマンドの総データ量=９０［ブロック］     コマンド数＝３     ディスク３へのコマンド平均ブロック数ｄｐｃ−３                  ＝ディスク２へ発行しているコマンドの総データ量／コマンド数                  ＝９０／３                  ＝３０［ブロック］  （ｃ）ディスク４について     ディスク４へ発行しているコマンドの総データ量=１２０［ブロック］     コマンド数＝２     ディスク２へのコマンド平均ブロック数ｄｐｃ−４                  ＝ディスク２へ発行しているコマンドの総データ量／コマンド数                  ＝１２０／２                  ＝６０［ブロック］  上述の如く算出した、ＨＤＤ６０毎の各コマンド平均ブロック数ｄｐｃは、ディスク情報Ｄ２に格納される。すなわち、ディスク情報Ｄ２の総データ量／コマンド数ｄｐｃは、算出された新たな総データ量／コマンド数ｄｐｃにより上書き更新される。【００８９】  次に、応答間隔測定部１４がＨＤＤ６０毎に平均レスポンス間隔Ｒを算出する（ステップＢ３０）。  （ａ）ディスク２について    １つ目のコマンド応答と２つ目のコマンド応答とのレスポンス間隔＝２［秒］    ２つ目のコマンド応答と３つ目のコマンド応答とのレスポンス間隔＝２［秒］    ３つ目のコマンド応答と４つ目のコマンド応答とのレスポンス間隔＝５［秒］であったとすると、    平均レスポンス間隔Ｒ−２＝（２＋２＋５）／３＝３［秒］  （ｂ）ディスク３について    １つ目のコマンド応答と２つ目のコマンド応答とのレスポンス間隔＝３［秒］    ２つ目のコマンド応��と３つ目のコマンド応答とのレスポンス間隔＝４［秒］であったとすると、    平均レスポンス間隔Ｒ−３＝（３＋４）／２＝３．５［秒］  （ｃ）ディスク４について    １つ目のコマンド応答と２つ目のコマンド応答とのレスポンス間隔＝2.5［秒］であったとすると、    平均レスポンス間隔Ｒ−４＝２．５［秒］  上述の如く算出した、ＨＤＤ６０毎の平均レスポンス間隔Ｒも、ディスク情報Ｄ２に格納される。すなわち、ディスク情報Ｄ２の平均レスポンス間隔Ｒは、算出された新たな平均レスポンス間隔Ｒにより上書き更新される。【００９０】  次に、全体平均応答間隔算出部１６が、本ストレージシステム１にそなえられた複数のＨＤＤ６０への全てのバスにおける、バス全体での平均のレスポンス間隔（全体平均応答間隔）Ｒａｖｇを算出する（ステップＢ４０）。  本例においては、  バス全体のレスポンス間隔Ｒａｖｇ＝（３＋３．５＋２．５）／３＝３［秒］である。【００９１】  また、このようにして算出したバス全体のレスポンス間隔Ｒａｖｇはバス情報Ｄ３に格納される。すなわち、バス情報Ｄ３のレスポンス間隔Ｒａｖｇは、算出された新たなレスポンス間隔Ｒａｖｇにより上書き更新される。  次に、平均コネクション回数算出部２４が、各ＨＤＤ６０についての１コマンドあたりの平均コネクション回数Ｃを算出する（ステップＢ５０）。【００９２】  （ａ）ディスク２について    ディスク２の平均コネクション回数Ｃ−２＝（総データ量／コマンド数ｄｐｃ−２）÷バーストレングスｂｌ−２                          ＝（１２０／４）÷２０                          ＝１．５［回］  （ｂ）ディスク３について    ディスク３の平均コネクション回数Ｃ−３＝（総データ量／コマンド数ｄｐｃ−３）÷バーストレングスｂｌ−３                            ＝（９０／３）÷３０                            ＝１［回］  （ｃ）ディスク４について    ディスク２の平均コネクション回数Ｃ−４＝（総データ量／コマンド数ｄｐｃ−４）÷バーストレングスｂｌ−４                          ＝（１２０／２）÷２０                          ＝３［回］  また、このようにして算出した平均コネクション回数Ｃは、そのＨＤＤ６０に対応させてディスク情報Ｄ２に格納される。すなわち、ディスク情報Ｄ２の平均コネクション回数Ｃは、算出された新たな平均コネクション回数Ｃにより上書き更新される。【００９３】  また、応答遅延係数算出部２５は、各ＨＤＤ６０についてのレスポンス遅延係数ＤＫを算出する（ステップＢ６０）  なお、全ＨＤＤの平均コネクション回数＝（１．５＋１＋３）／３である。  （ａ）ディスク２について  ディスク２のレスポンス遅延係数ＤＫ−２    ＝ディスク２の平均コネクション回数Ｃ−２／全ＨＤＤの平均コネクション回数    ＝１．５／（（１．５＋１＋３）／３）≒０．８２  （ｂ）ディスク３について  ディスク２のレスポンス遅延係数ＤＫ−３    ＝ディスク３の平均コネクション回数Ｃ−３／全ＨＤＤの平均コネクション回数    ＝１／（（１．５＋１＋３）／３）≒０．５５  （ｃ）ディスク４について  ディスク４のレスポンス遅延係数ＤＫ−４    ＝ディスク４の平均コネクション回数Ｃ−２／全ＨＤＤの平均コネクション回数    ＝３／（（１．５＋１＋３）／３）≒１．６４  また、このようにして算出したレスポンス遅延係数ＤＫは、そのＨＤＤ６０に対応させてディスク情報Ｄ２に格納される。すなわち、ディスク情報Ｄ２のレスポンス遅延係数ＤＫは、算出された新たなレスポンス遅延係数ＤＫにより上書き更新される。【００９４】  運用応答間隔算出部２６は、予想されるレスポンス間隔ｔｒを算出する（ステップＢ７０）。  （ａ）ディスク２について  ディスク２のレスポンス間隔ｔｒ−２      ＝バス全体の平均レスポンス間隔Ｒａｖｇ×レスポンス遅延係数ＤＫ−２      ＝３［ｓ］×０．８２      ＝２．４６［ｓ］  （ｂ）ディスク３について  ディスク３のレスポンス間隔ｔｒ−３      ＝バス全体の平均レスポンス間隔Ｒａｖｇ×レスポンス遅延係数ＤＫ−３      ＝３［ｓ］×０．５５      ＝１．６５［ｓ］  （ｃ）ディスク４について  ディスク４のレスポンス間隔ｔｒ−４      ＝バス全体の平均レスポンス間隔Ｒａｖｇ×レスポンス遅延係数ＤＫ−４      ＝３［ｓ］×１．６４      ＝４．９２［ｓ］  また、このようにして算出された予想されるレスポンス間隔ｔｒは、新たなレスポンス間隔ｔｒとして、ＨＤＤ６０に対応させてディスク情報Ｄ２に格納される。すなわち、ディスク情報Ｄ２のレスポンス間隔ｔｒは、算出された予想されるレスポンス間隔ｔｒにより上書き更新される。【００９５】  基準時間変更部１７は、運用応答遅延係数算出部２５によって算出された予想されるレスポンス間隔を、前述した式（１）におけるレスポンス間隔ｔｒとして用いることにより、新たなタイムアウト時間Ｔｏｕｔを算出する（ステップＢ８０）。  例えば、コマンド遅延時間ｔａｖｇ−Ａ＝３［ｓ］，コマンド遅延時間ｔａｖｇ−Ｂ＝４［ｓ］，コマンド遅延時間ｔａｖｇ−Ｃ＝５［ｓ］とする。【００９６】  （ａ）ディスク２について    ディスク２のタイムアウト時間Ｔｏｕｔ−２        ＝コマンド遅延時間ｔａｖｇ−Ｂ＋レスポンス間隔ｔｒ−２        ＝４＋２．４６        ＝６．４６［ｓ］  （ｂ）ディスク３について    ディスク３のタイムアウト時間Ｔｏｕｔ−３        ＝コマンド遅延時間ｔａｖｇ−Ｃ＋レスポンス間隔ｔｒ−３        ＝５＋１．６５        ＝６．６５［ｓ］  （ｃ）ディスク４について    ディスク４のタイムアウト時間Ｔｏｕｔ−４        ＝コマンド遅延時間ｔａｖｇ−Ｂ＋レスポンス間隔ｔｒ−４        ＝４＋４．９２        ＝８．９２［ｓ］  算出された各タイムアウト時間Ｔｏｕｔは、そのＨＤＤ６０に対応させてディスク情報Ｄ２に格納される。すなわち、ディスク情報Ｄ２のタイムアウト時間Ｔｏｕｔは、算出された新たなタイムアウト時間Ｔｏｕｔにより上書き更新される。【００９７】  そして、異常検知部２２は、コマンド発行が行なわれたＨＤＤ６０のディスク情報Ｄ２を参照し、コマンド完了時間をそのＨＤＤ６０のタイムアウト時間Ｔｏｕｔと比較することにより、タイムアウトエラーの検出を行なう。すなわち、コマンド完了時間がタイムアウト時間Ｔｏｕｔよりも大きくなった時に、タイムアウトエラーの発生を検知し、そのＨＤＤ６０における異常を検知する。【００９８】  上述した例においては、ディスク４のタイムアウトエラーの検出には８．９２［ｓ］かかるが、ディスク３のタイムアウトエラーは６．６５［ｓ］で検出することができる。  図９��実施形態の一例としてのストレージシステム１の運用時におけるタイムアウト時間を表す図である。この図９に示す例においては、基準時間変更部１７によって算出されたタイムアウト時間，運用時におけるコマンド完了時間及び従来手法により設定されたタイムアウト時間間とを示している。【００９９】  本ストレージシステム１においては、この図９に示すように、算出されるタイムアウト時間が、ＨＤＤ６０の負荷により動的に変化する。異常検知部２２は、コマンド完了時間がタイムアウト時間よりも大きくなったことが検出されると、何らかの異常が発生した旨の判断を行なう（図９のＮＧ参照）。  また、本ストレージシステム１におけるタイムアウト時間は、図９に示すように、伝送路負荷が最大の状態で求められた、固定値であった従来手法によるタイムアウト時間よりも小さい。本ストレージシステム１においては、従来手法に比べて、タイムアウト時間を小さくすることができ、これにより、異常検知部位２２によるエラー検出を迅速に行なうことができる。【０１００】  図１０は実施形態の一例としてのストレージシステム１における、複数のディスク種のそれぞれに設定されたタイムアウト時間を示す図である。本ストレージシステム１においては、この図１０に示すように、ディスク１〜４のそれぞれにタイムアウト時間が設定される。ただし、この図１１に示す例においては、ディスク２とディスク４とが同じディスク種であり、共通のタイムアウト時間であることを示している。【０１０１】  このように、ディスク種毎に適切なタイムアウト時間を設定することで、従来手法のように全ディスクに対して一律のタイムアウト時間を設定する場合に比べて、きめの細かいエラー検知を行なうことができ、ディスク種毎に迅速にエラー検知を行なうことができる。すなわち、エラー検知を効率的に行なうことができるのである。  次に、上述の如く構成された実施形態の一例としてのストレージシステム１の運用時において媒体エラーが検出された際のタイムアウト時間の算出手法を、具体的な数値を例示しながら、図１１に示すフローチャート（ステップＣ１０〜Ｃ３０）に従って説明する。【０１０２】  本ストレージシステム１の運用時において、コマンド発行対象ＨＤＤ６０において実際に媒体エラーが発生した場合に、エラー時コマンド遅延時間測定部１８が、そのコマンド応答の遅延時間を、エラー時コマンド遅延測定時間Ｔｅｒｒｏｒとして測定する（ステップＣ１０）。  その後、エラー時コマンド遅延時間算出部１９が、エラー時コマンド遅延時間測定部１８によって測定されたエラー時コマンド遅延測定時間Ｔｅｒｒｏｒと、コマンド遅延時間測定部１３によって測定されたコマンド遅延時間ｔａｖｇとに基づいて、エラー時コマンド遅延時間Ｔａｖｇ′を算出する（ステップＣ２０）。【０１０３】  そして、基準時間変更部１７が、前述した式（１）において、コマンド遅延時間として、エラー時コマンド遅延時間算出部１９が算出したエラー時コマンド遅延時間Ｔａｖｇ′を用いることにより、エラーが検出されたコマンド発行対象ＨＤＤ６０の新たなタイムアウト時間Ｔｏｕｔを算出する(ステップＣ３０)。  すなわち、  エラーが検出されたコマンド発行対象ＨＤＤ６０の���イムアウト時間Ｔｏｕｔ＝コマンド遅延時間Ｔａｖｇ′＋レスポンス間隔ｔｒ  算出した新たなタイムアウト時間Ｔｏｕｔは、ディスク情報Ｄ２に格納される。すなわち、ディスク情報Ｄ２におけるタイムアウト時間Ｔｏｕｔは上書き更新される。【０１０４】  異常検知部２２は、コマンド発行が行なわれたＨＤＤ６０のディスク情報Ｄ２を参照し、コマンド完了時間をそのＨＤＤ６０の新たなタイムアウト時間Ｔｏｕｔと比較することにより、タイムアウトエラーの検出を行なう。  このように、実施形態の一例としてのストレージシステム１によれば、ディスク種毎に異なるタイムアウト時間Ｔｏｕｔを設定することにより、タイムアウトエラーの検出に要する時間を短縮することができる。これにより、ストレージシステム１における処理効率を向上させることができる。【０１０５】  そして、タイムアウト時間を、媒体エラー状態でのコマンド完了時間と、媒体エラー非発生時における高負荷状態でのレスポンス間隔とに基づいて設定することにより、ＨＤＤ６０の処理性能に応じたタイムアウト時間を設定することができる。すなわち、ＨＤＤ６０毎に適切なタイムアウト時間を設定することができる。そして、コマンドの完了時間が遅延した場合に、伝送路高負荷要因による遅延なのか、ＨＤＤ６０故障要因による遅延なのかを判断することができる。【０１０６】  タイムアウト時間の設定に、媒体エラー状態時のコマンド遅延時間を用いることにより、ＨＤＤ６０におけるリトライ回数やアクセス速度等の、媒体エラー状態時におけるＨＤＤ６０固有の応答能力をタイムアウトの判断に反映させることができる。  また、タイムアウト時間の設定に、媒体エラー非発生時における高負荷状態でのレスポンス間隔を用いることにより、実際にディスクアクセス処理に要する時間と応答データの送信に要する時間とだけを反映させ、これにより、処理待ちの時間等のようにディスク性能に直接には無関係な要素を除外できる。【０１０７】  本実施形態においては、タイムアウト時間として、媒体エラー状態時のコマンド遅延時間媒体エラー非発生時における高負荷状態でのレスポンス間隔との和を用いる。これは、１コマンドを完了させるまでの処理にかかる時間は、コマンドデータ転送時間とコマンドのＨＤＤ６０への処理（リード／ライト）時間との和で表すことができるからである。  コマンドのＨＤＤ６０への処理（リード／ライト）時間の最大遅延時間を媒体エラー状態時のコマンド遅延時間から求め、コマンドデータ転送時間の最大遅延時間を媒体エラー非発生時における高負荷状態でのレスポンス間隔から求める。そして、異常検知部２２は、これらの和であるタイムアウト時間を超えてもＨＤＤ６０からレスポンスが返ってこない場合に、そのＨＤＤ６０はエラー状態であると判断することができる。【０１０８】  すなわち、媒体エラー状態時のコマンド遅延時間と、媒体エラー非発生時における高負荷状態でのレスポンス間隔との和が、タイムアウト時間として最適な値であるといえる。  また、本ストレージシステム１の運用時に、ストレージ制御装置３０からコマンドを発行する毎に、基準時間変更部１７がバス上のデータの転送状況に応じてタイムアウト時間Ｔｏｕｔを動的に変更する。こ��により、バス上のデータの転送状況に応じたタイムアウト時間が設定され、伝送路負荷によるデータ遅延の影響を取り除くことができ、ＨＤＤ６０のエラーを迅速、且つ確実に判断することができる。【０１０９】  すなわち、システムの運用中に動的に変化する伝送路負荷に応じた最適なタイムアウト時間Ｔｏｕｔが設定され、効率的なシステム運用が可能となる。  さらに、本ストレージシステム１の運用時において、媒体エラーが検出された際に、エラー時コマンド遅延時間測定部１８及びエラー時コマンド遅延時間算出部１９により、媒体エラーによるコマンド完了遅延がタイムアウト時間に反映される。すなわち、システム運用中に用いられた遅延時間と、実際に媒体エラーが発生した際のコマンド完了遅延時間との平均値を算出してタイムアウト時間の算出に用いる。これにより、ストレージシステム１の運用時間が長くなるほど、システムの使用状況に合ったタイムアウト時間Ｔｏｕｔが設定され、効率的なシステム運用が実現される。【０１１０】  また、起動時において、媒体エラー状態発生時のコマンド応答の遅延時間を測定してタイムアウト時間の設定に用いることにより、ＨＤＤ６０の媒体エラーリカバリ（リトライ）処理性能をタイムアウト時間に反映させることができる。すなわち、ＨＤＤ６０の性能に合ったタイムアウト時間を設定することができる。  さらに、システム運用時において、ストレージ制御装置３０からコマンドを発行する毎に、基準時間変更部１７がバス上のデータの転送状況に応じてタイムアウト時間Ｔｏｕｔを動的に変更する。これにより、バス上のデータの転送状況に応じたタイムアウト時間が設定され、伝送路負荷によるデータ遅延の影響を取り除くことができ、ＨＤＤ６０のエラーを確実且つ容易に判断することができる。【０１１１】  また、本ストレージシステム１においては、システム内にそなえられた全てのＨＤＤ６０に対して遅延時間を求めるのではなく、ディスク種ごとに数台分だけ求める。すなわち、同種のＨＤＤ６０については共通のタイムアウト時間を設定することにより、処理を効率化している。  なお、ストレージ選択部１１が、ディスク種毎に複数台の検査対象ＨＤＤ６０を選択し、これらの遅延時間の平均値を用いることにより、そのディスク種のおおよその遅延時間は求めることができる。【０１１２】  ストレージ選択部１１がディスク種ごとに１台の検査対象ＨＤＤ６０を選択してもよい。しかしながら、ディスク種毎に１台の検査対象ＨＤＤ６０を選択した場合に、選択されたＨＤＤ６０が異常を有するＨＤＤ６０であることも想定される。この場合、一般的ではないタイムアウト時間が導出されてしまうおそれがある。そのため、ディスク種ごとに複数台の検査態様ＨＤＤ６０を選択し、これらの各遅延時間の平均値を求めて用いることが望ましい。【０１１３】  また、複数台のＨＤＤ６０の中で、遅延時間の誤差が他のＨＤＤ６０と比べて大きく異なる場合（例えば、誤差が５割以上）については、そのＨＤＤ６０を検査対象ＨＤＤ６０から除外し、ストレージ選択部１１が、更に他のＨＤＤ６０を選択することが望ましい。  さらに、ストレージ選択部１１は、バス上における上位装置４からの距離を考慮して検査対象ＨＤＤ６０��選択することが望ましい。例えば、上位装置４からバス上の距離が短いデバイスエンクロージャに接続されているＨＤＤ６０と、上位装置４からバス上の距離が遠いデバイスエンクロージャに接続されているＨＤＤ６０との両方を選択することが望ましい。これにより、上位装置４からの距離による誤差を軽減することが可能となり、システムの信頼性を向上させることができる。【０１１４】  また、本ストレージシステム１においては、応答間隔測定部１４が、ストレージ制御装置３０の起動時において、コマンド発行部２１に、ストレージ選択部１１によって選択された媒体エラー非発生状態の検査対象ＨＤＤ６０に複数のコマンドを発行させることにより、ＨＤＤ６０の高負荷状況を作り出している。  ここで、タイムアウト時間はＨＤＤ６０のエラー検出（故障の切り分け）に用いる。バスが高負荷状況になると、媒体エラー非発生状態のＨＤＤ６０であっても負荷によりコマンド完了が遅延する。この際、この負荷が高いほど、コマンドの完了は遅延する。【０１１５】  従って、高負荷ではない状況下でディスク正常時（媒体エラー非発生状態）のＨＤＤ６０のレスポンス間隔を測定して設定したタイムアウト時間では、正常なＨＤＤ６０が故障と誤検出されてしまうおそれがある。このため、本ストレージシステム１においては、応答間隔測定部１４が、ＨＤＤ６０の高負荷状況を作り出しているのである。  そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。【０１１６】  例えば、上述した実施形態においては、ストレージ装置としてＨＤＤ６０を用いているが、これに限定されるものではなく、例えば、ＳＳＤ（Solid State Drive）等の他の記憶装置であってもよい。  また、上述した実施形態においては、ストレージシステム１に４つのＨＤＤ６０がそなえられている例について説明したが、これに限定されるものではない。ＨＤＤ６０は３つ以下もしくは５つ以上そなえてもよく、実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、ワイドリンク７０を介して接続された１以上のドライブエンクロージャに、更にＨＤＤ６０をそなえてもよい。【０１１７】  さらに、上述した実施形態においては、ＨＤＤ６０のディスク種がＡ，Ｂ，Ｃの３種類である例について説明したが、これに限定されるものではなく、２種類以下、もしくは４種類以上のディスク種のＨＤＤ６０を用いてもよい。  また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【図１】
2012049760.tif 000003
【図２】
2012049760.tif 000004
【図３】
2012049760.tif 000005
【図４】
2012049760.tif 000006
【図５】
2012049760.tif 000007
【図６】
2012049760.tif 000008
【図７】
2012049760.tif 000009
【図８】
2012049760.tif 000010
【図９】
2012049760.tif 000011
【図１０】
2012049760.tif 000012
【図１１】
2012049760.tif 000013
【手続補正書】
【提出日】平成25年5月22日(2013.5.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数種類のストレージ装置に接続可能なストレージ制御装置であって、
該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択部と、
該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成部と、
該媒体エラー状態生成部が該媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該第１テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定部と、
エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定部と、
該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に基準時間を算出する基準時間算出部と、
該基準時間算出部によって算出された該基準時間に基づいて、該ストレージ装置に対するコマンド発行にかかる異常検知を行なう異常検知部とをそなえることを特徴とする、ストレージ制御装置。
【請求項２】
該媒体エラー状態生成部，該ストレージ装置選択部，該コマンド遅延時間測定部及び該基準時間算出部が、当該ストレージ制御装置の起動処理時に各処理を行なうことを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
該コマンドを発行する対象としてのコマンド発行対象ストレージ装置へ該コマンドを発行するコマンド発行部をそなえるとともに、
該コマンド発行部が該コマンド発行対象ストレージ装置へコマンド発行を行なう際において、当該ストレージ制御装置に接続された該複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出する全体平均応答間隔算出部と、
該コマンド発行部が該コマンド発行対象ストレージ装置へコマンド発行を行なう際において、該コマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出する平均コネクション回数算出部と、
当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出する全体平均コネクション回数算出部と、
該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出する応答遅延係数算出部と、
該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出する運用応答間隔算出部と、
該運用応答間隔算出部が算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする基準時間変更部とをそなえることを特徴とする、請求項１又は請求項２記載のストレージ制御装置。
【請求項４】
当該ストレージ制御装置の運用時において該コマンド発行対象ストレージ装置においてエラーが検出された際に、
該エラー発生時におけるコマンド応答の遅延時間をエラー時コマンド遅延測定時間として測定するエラー時コマンド遅延時間測定部と、
エラー時コマンド遅延測定時間に基づいて、エラー時コマンド遅延時間を算出するエラー時コマンド遅延時間算出部とをそなえ、
該基準時間変更部が、
該エラー時コマンド遅延時間算出部が算出した該エラー時コマンド遅延時間を新たな該コマンド遅延時間として、当該新たなコマンド遅延時間と該応答間隔とを加算することにより、当該エラーが検出されたコマンド発行対象ストレージ装置についての新たな基準時間を算出することを特徴とする、請求項３記載のストレージ制御装置。
【請求項５】
複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定方法であって、
該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択ステップと、
該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成ステップと、
該媒体エラー状態生成ステップにより該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定ステップと、
エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定ステップと、
該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する基準時間算出ステップとをそなえることを特徴とする、基準時間設定方法。
【請求項６】
該ストレージ装置へコマンド発行を行なう際に、
該ストレージ制御装置に接続された複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出する全体平均応答間隔算出ステップと、
当該コマンドを発行する対象としてのコマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出する平均コネクション回数算出ステップと、
当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出する全体平均コネクション回数算出ステップと、
該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出する応答遅延係数算出ステップと、
該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出する運用応答間隔算出ステップと、
該運用応答間隔算出ステップにおいて算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする基準時間変更ステップとをそなえることを特徴とする、請求項５記載の基準時間設定方法。
【請求項７】
複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定機能をコンピュータに実行させるための基準時間設定プログラムであって、
該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択し、
該検査対象ストレージ装置に媒体エラー状態を発生させ、
該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定し、
エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定し、
該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する処理を該コンピュータに実行させる基準時間設定プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
このため、このストレージ制御装置は、複数種類のストレージ装置に接続可能なストレージ制御装置であって、該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択部と、該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成部と、該媒体エラー状態生成部が該媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該第１テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定部と、エラー非発生状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定部と、該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に基準時間を算出する基準時間算出部と、該基準時間算出部によって算出された該基準時間に基づいて、該ストレージ装置に対するコマンド発行にかかる異常検知を行なう異常検知部とをそなえる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
図６は実施形態の一例としてのストレージシステム１におけるレスポンス間隔を説明するための図である。
コマンド発行部２１によって発行されたコマンドは、ＳＡＳエキスパンダ２５０等を介してＨＤＤ６０に送信される。ＨＤＤ６０においては、受信したコマンドをキューに格納する。図６に示す例では、コマンドｃ１〜ｃ４の４個のコマンドが発行されている状態を示している。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
ＨＤＤ６０においては、一度に１つのコマンドを処理することにより、キューに格納されたコマンドｃ１〜ｃ４を順次処理する。又、ＨＤＤ６０は、一つのコマンドの処理が完了する毎にストレージ制御装置３０に対してコマンド応答を行なう。
図６に示す例においては、ＨＤＤ６０において、キューから取得したコマンドｃ１を処理してレスポンスＲ１を送信し、その後、コマンドｃ２を処理してレスポンスＲ２を送信する。以下、同様に、コマンドｃ３を処理してレスポンスＲ３を送信し、その後、コマンドｃ４を処理してレスポンスＲ４を送信する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
応答遅延係数算出部２５は、本ストレージシステム１の運用時において、応答遅延係数ＤＫを算出する。この応答遅延係数算出部２５は、コマンド発行対象ＨＤＤ６０についての平均コネクション回数Ｃと、ストレージ制御装置３０に接続された全ＨＤＤ６０の平均コネクション回数とに基づいてレスポンス遅延係数（応答遅延係数）ＤＫを算出する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
図１０は実施形態の一例としてのストレージシステム１における、複数のディスク種のそれぞれに設定されたタイムアウト時間を示す図である。本ストレージシステム１においては、この図１０に示すように、ディスク１〜４のそれぞれにタイムアウト時間が設定される。ただし、この図１０に示す例においては、ディスク２とディスク４とが同じディスク種であり、共通のタイムアウト時間であることを示している。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１１７
【補正方法】変更
【補正の内容】
【０１１７】
さらに、上述した実施形態においては、ＨＤＤ６０のディスク種がＡ，Ｂ，Ｃの３種類である例について説明したが、これに限定されるものではなく、２種類以下、もしくは４種類以上のディスク種のＨＤＤ６０を用いてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）  複数種類のストレージ装置に接続可能なストレージ制御装置であって、
該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択部と、
該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成部と、
該媒体エラー状態生成部が該媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該第１テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定部と、
エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定部と、
該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に基準時間を算出する基準時間算出部と、
該基準時間算出部によって算出された該基準時間に基づいて、該ストレージ装置に対するコマンド発行にかかる異常検知を行なう異常検知部とをそなえることを特徴とする、ストレージ制御装置。
（付記２）  該媒体エラー状態生成部，該ストレージ装置選択部，該コマンド遅延時間測定部及び該基準時間算出部が、当該ストレージ制御装置の起動処理時に各処理を行なうことを特徴とする、付記１記載のストレージ制御装置。
（付記３）  該コマンドを発行する対象としてのコマンド発行対象ストレージ装置へ該コマンドを発行するコマンド発行部をそなえるとともに、
該コマンド発行部が該コマンド発行対象ストレージ装置へコマンド発行を行なう際において、当該ストレージ制御装置に接続された該複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出する全体平均応答間隔算出部と、
該コマンド発行部が該コマンド発行対象ストレージ装置へコマンド発行を行なう際において、該コマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出する平均コネクション回数算出部と、
当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出する全体平均コネクション回数算出部と、
該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出する応答遅延係数算出部と、
該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出する運用応答間隔算出部と、
該運用応答間隔算出部が算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする基準時間変更部とをそなえることを特徴とする、付記１又は付記２記載のストレージ制御装置。
（付記４）  当該ストレージ制御装置の運用時において該コマンド発行対象ストレージ装置においてエラーが検出された際に、
該エラー発生時におけるコマンド応答の遅延時間をエラー時コマンド遅延測定時間として測定するエラー時コマンド遅延時間測定部と、
エラー時コマンド遅延測定時間に基づいて、エラー時コマンド遅延時間を算出するエラー時コマンド遅延時間算出部とをそなえ、
該基準時間変更部が、
該エラー時コマンド遅延時間算出部が算出した該エラー時コマンド遅延時間を新たな該コマンド遅延時間として、当該新たなコマンド遅延時間と該応答間隔とを加算することにより、当該エラーが検出されたコマンド発行対象ストレージ装置についての新たな基準時間を算出することを特徴とする、付記３記載のストレージ制御装置。
（付記５）  複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定方法であって、
該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択するストレージ装置選択ステップと、
該検査対象ストレージ装置に媒体エラー状態を発生させる媒体エラー状態生成ステップと、
該媒体エラー状態生成ステップにより該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定するコマンド遅延時間測定ステップと、
エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定する応答間隔測定ステップと、
該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する基準時間算出ステップとをそなえることを特徴とする、基準時間設定方法。
（付記６）  該媒体エラー状態生成ステップ，該ストレージ装置選択ステップ，該コマンド遅延時間測定ステップ及び該基準時間算出ステップを、該ストレージ制御装置の起動処理時に行なうことを特徴とする、付記５記載の基準時間設定方法。
（付記７）  該ストレージ装置へコマンド発行を行なう際に、
該ストレージ制御装置に接続された複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出する全体平均応答間隔算出ステップと、
当該コマンドを発行する対象としてのコマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出する平均コネクション回数算出ステップと、
当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出する全体平均コネクション回数算出ステップと、
該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出する応答遅延係数算出ステップと、
該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出する運用応答間隔算出ステップと、
該運用応答間隔算出ステップにおいて算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする基準時間変更ステップとをそなえることを特徴とする、付記５又は付記６記載の基準時間設定方法。
（付記８）  当該ストレージ制御装置の運用時において該コマンド発行対象ストレージ装置においてエラーが検出された際に、
該エラー発生時におけるコマンド応答の遅延時間をエラー時コマンド遅延測定時間として測定するエラー時コマンド遅延時間測定ステップと、
該コマンド遅延時間と該エラー時コマンド遅延測定時間とに基づいて、エラー時コマンド遅延時間を算出するエラー時コマンド遅延時間算出ステップとをそなえ、
該基準時間変更ステップが、
該エラー時コマンド遅延時間算出ステップにおいて算出した該エラー時コマンド遅延時間を新たな該コマンド遅延時間として、当該新たなコマンド遅延時間と該応答間隔とを加算することにより、当該エラーが検出されたコマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を当該コマンド発行対象ストレージ装置の基準時間とすることを特徴とする、付記７記載の基準時間設定方法。
（付記９）  複数種類のストレージ装置に接続されたストレージ制御装置における、該ストレージ装置に対するコマンド実行時の異常検知に用いる基準時間を設定する基準時間設定機能をコンピュータに実行させるための基準時間設定プログラムであって、
該複数種類のストレージ装置のそれぞれから検査対象ストレージ装置を選択し、
該検査対象ストレージ装置に媒体エラー状態を発生させ、
該検査対象ストレージ装置に媒体エラー状態を発生させた状態で、第１テストコマンドを発行し、当該テストコマンドに対するコマンド応答の遅延時間をコマンド遅延時間として測定し、
エラー非発生状態における高負荷状態の該検査対象ストレージ装置に対して複数の第２テストコマンドを発行し、当該複数の第２テストコマンドに対する各コマンド応答の間隔を応答間隔として測定し、
該複数種類のストレージ装置のそれぞれについて、該コマンド遅延時間と該応答間隔とを加算することにより、ストレージ装置種類毎に該基準時間を算出する処理を該コンピュータに実行させる基準時間設定プログラム。
（付記１０）  前期媒体エラー状態の発生と、前記ストレージ装置の選択と、前記コマンド遅延時間の測定と、前記基準時間の算出とを、該ストレージ制御装置の起動処理時に、該コンピュータに実行させることを特徴とする、付記９記載の基準時間設定プログラム。
（付記１１）  該ストレージ装置へコマンド発行を行なう際に、
該ストレージ制御装置に接続された複数のストレージ装置全体における、該応答間隔の平均値を全体平均応答間隔として算出し、
当該コマンドを発行する対象としてのコマンド発行対象ストレージ装置について、コマンド当りの平均コネクション回数を算出し、
当該ストレージ制御装置に接続された該複数のストレージ装置全体における、コマンド当りの平均コネクション回数を算出し、
該コマンド発行対象ストレージ装置についての該平均コネクション回数と、当該ストレージ制御装置に接続された該複数のストレージ装置全体のコマンド当りの平均コネクション回数とに基づいて応答遅延係数を算出し、
該全体平均応答間隔に対して該応答遅延係数を適用することにより、運用応答間隔を算出し、
前記算出した該運用応答間隔を新たな該応答間隔として、当該新たな応答間隔と該コマンド遅延時間とを加算することにより、該コマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を該コマンド発行対象ストレージ装置の基準時間とする処理を該コンピュータに実行させることを特徴とする、付記９又は付記１０記載の基準時間設定プログラム。
（付記１２）  当該ストレージ制御装置の運用時において該コマンド発行対象ストレージ装置においてエラーが検出された際に、
該エラー発生時におけるコマンド応答の遅延時間をエラー時コマンド遅延測定時間として測定し、
該コマンド遅延時間と該エラー時コマンド遅延測定時間とに基づいて、エラー時コマンド遅延時間を算出し、
前記算出した該エラー時コマンド遅延時間を新たな該コマンド遅延時間として、当該新たなコマンド遅延時間と該応答間隔とを加算することにより、当該エラーが検出されたコマンド発行対象ストレージ装置についての新たな基準時間を算出し、算出した該新たな基準時間を当該コマンド発行対象ストレージ装置の基準時間とする処理を該コンピュータに実行させることを特徴とする、付記１１記載の基準時間設定プログラム。
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2012049760.tif 000014
【国際調査報告】
2012049760.tif 000015
2012049760.tif 000016
2012049760.tif 000017
2012049760.tif 000018
2012049760.tif 000019
2012049760.tif 000020