(57)【要約】【課題】セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる技術を提供することである。【解決手段】ディスクドライブ装置の動作状況と、ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得し、テスト処理実行指示のタイミング決定処理を実行し、決定されたタイミングに従ってテスト処理の実行指示を行い、テスト処理の結果を取得する。ここで、タイミングを、稼働情報の少なくとも一部の第１稼働情報に基づいて決定する。【選択図】図３
2007122108.tif 000002
【特許請求の範囲】
【請求項１】
データの読み書きが可能な記憶領域をホストコンピュータに提供するストレージシステムであって、
ディスクドライブ装置であって、前記記憶領域と、前記ディスクドライブ装置の動作のテスト処理を実行するテスト実行部と、を有するディスクドライブ装置と、
前記テスト実行部に前記テスト処理の実行指示を送信するテスト指示部と、
前記テスト処理の結果を取得する結果取得部と、
前記ディスクドライブ装置の動作状況と、前記ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得する稼働情報取得部と、
を備え、
前記テスト指示部は、前記テスト処理実行指示のタイミング決定のモードであるタイミングモードとして、前記稼働情報の少なくとも一部の第１稼働情報に基づいて前記タイミングを決定する第１タイミングモードを有する、
ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記テスト指示部は、さらに、前記タイミングモードとして、
前記第１タイミングモードとは異なるタイミングを決定する第２タイミングモードを有し、
前記テスト指示部は、前記タイミングモードの選択の契機に応じて、前記稼働情報の少なくとも一部の第２稼働情報が、与えられた第１タイミング条件を満たしているか否かを判断し、
（ｉ）前記第１タイミング条件が満たされている場合には、前記第１タイミングモードに従って前記テスト処理の実行指示のタイミングを決定し、
（ｉｉ）前記第１タイミング条件が満たされていない場合には、前記第２タイミングモードに従って前記テスト処理の実行指示のタイミングを決定する、
ストレージシステム。
【請求項３】
請求項１に記載のストレージシステムであって、さらに、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記稼働情報の少なくとも一部の第３稼働情報は、前記ディスクドライブ装置の現行の動作モードを含み、
前記結果取得部は、前記テスト処理結果の参照要求に応じて前記ディスクドライブ装置の現行の動作モードが前記アップ動作モードであるか否かを判断するとともに、
（Ａ）前記動作モードが前記アップ動作モードである場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、
（Ｂ）前記動作モードが前記アップ動作モードでない場合には、さらに、前記第３稼働情報が、与えられた実行可能条件を満たしているか否かを判断し、
（Ｂ１）前記実行可能条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、
（Ｂ２）前記実行可能条件が満たされていない場合には、前記テスト処理の実行指示を前記テスト実行部に送信せずに、前記テスト指示部の指示に従って実行されたテスト処理の結果であって取得済みの結果を、提供する、
ストレージシステム。
【請求項４】
請求項１に記載のストレージシステムであって、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記第１稼働情報は、前記ディスクドライブ装置の動作モードの前記アップ動作モードから前記ダウン動作モードへの移行の契機であるダウン契機を含み、
前記テスト指示部は、前記第1タイミングモードとして、ダウンタイミングモードを有し、
前記テスト指示部は、前記ダウンタイミングモードにおいて、
前記ダウン契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行前に前記テスト処理を実行させる、
ストレージシステム。
【請求項５】
請求項１に記載のストレージシステムであって、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記第１稼働情報は、前記ディスクドライブ装置の動作モードの前記ダウン動作モードから前記アップ動作モードへの移行の契機であるアップ契機を含み、
前記テスト指示部は、前記第1タイミングモードとして、アップタイミングモードを有し、
前記テスト指示部は、前記アップタイミングモードにおいて、
前記アップ契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行後に前記テスト処理を実行させる、
ストレージシステム。
【請求項６】
請求項１に記載のストレージシステムであって、
前記第１稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機を含み、
前記テスト指示部は、前記第1タイミングモードとして、アクセスタイミングモードを有し、
前記テスト指示部は、前記アクセスタイミングモードにおいて、
前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信する、
ストレージ制御装置。
【請求項７】
請求項１に記載のストレージシステムであって、
前記テスト指示部は、前記第1タイミングモードとして、状況実行タイミングモードを有し、
前記テスト指示部は、前記状況実行タイミングモードにおいて、
前記テスト処理の指示の要否確認の契機に応じて、前記第１稼働情報が、与えられた状況実行条件を満たしているか否かを判断し、
（ｉ）前記状況実行条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、
（ｉｉ）前記状況実行条件が満たされていない場合には、前記テスト処理の実行指示を送信せずに、次の前記要否確認契機を待つ、
ストレージシステム。
【請求項８】
請求項１に記載のストレージシステムであって、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記第１稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機と、前記ディスクドライブ装置の現行の動作モードと、を含み、
前記テスト指示部は、前記第1タイミングモードとして、状況判定モードを有し、
前記テスト指示部は、前記状況判定モードにおいて、
前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置の現行の動作モードが前記ダウン動作モードであるか否かを判断し、
（Ａ）前記動作モードが前記ダウン動作モードではない場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、
（Ｂ）前記動作モードが前記ダウン動作モードである場合には、さらに、前記第１稼働情報が、与えられた状況判定条件を満たしているか否かを判断し、
（Ｂ１）前記状況判定条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、
（Ｂ２）前記状況判定条件が満たされていない場合には、前記テスト処理の実行指示の送信を保留し、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信する、
ストレージ制御装置。
【請求項９】
請求項１に記載のストレージシステムであって、
前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、
前記結果取得部は前記ストレージ制御部に設けられており、
前記テスト指示部と前記稼働情報取得部とは前記ディスクドライブ装置に設けられている、
ストレージシステム。
【請求項１０】
データの読み書きが可能な記憶領域を有するディスクドライブ装置と、前記ディスクドライブ装置を制御する制御部と、を有するとともに前記記憶領域をホストコンピュータに提供するストレージシステムの制御方法であって、
前記ディスクドライブ装置は、前記ディスクドライブ装置の動作のテスト処理を実行するテスト実行部を有し、
前記制御方法は、
（Ａ）前記制御部が、前記ディスクドライブ装置の動作状況と、前記ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得する工程と、
（Ｂ）前記制御部が、前記テスト処理実行指示のタイミング決定処理を実行する工程と、
（Ｃ）前記制御部が、前記決定されたタイミングに従って前記テスト実行部に前記テスト処理の実行指示を送信する工程と、
（Ｄ）前記制御部が、前記テスト処理の結果を取得する工程と、
を備え、
前記タイミング決定処理は、前記稼働情報の少なくとも一部の第１稼働情報に基づいて前記タイミングを決定する第１タイミングモードを有し、
前記工程（Ｂ）は、前記第１タイミングモードによるタイミング決定処理を実行する工程を含む、
制御方法。
【請求項１１】
請求項１０に記載の制御方法であって、
前記タイミング決定処理は、さらに、前記第１タイミングモードとは異なるタイミングを決定する第２タイミングモードを有し、
前記工程（Ｂ）は、
前記制御部が、前記タイミングモードの選択の契機に応じて、前記稼働情報の少なくとも一部の第２稼働情報が、与えられた第１タイミング条件を満たしているか否かを判断する工程と、
（ｉ）前記第１タイミング条件が満たされている場合には、前記第１タイミングモードに従って前記タイミングを決定し、
（ｉｉ）前記第１タイミング条件が満たされていない場合には、前記第２タイミングモードに従って前記タイミングを決定する工程と、を含む、
制御方法。
【請求項１２】
請求項１０に記載の制御方法であって、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記稼働情報の少なくとも一部の第３稼働情報は、前記ディスクドライブ装置の現行の動作モードを含み、
前記制御方法は、さらに、
（Ｅ）前記制御部が、前記テスト処理結果の参照要求に応じて前記ディスクドライブ装置の現行の動作モードが前記アップ動作モードであるか否かを判断する工程と、
（Ｆ）前記動作モードが前記アップ動作モードである場合には、前記制御部が、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供する工程と、
（Ｇ）前記動作モードが前記アップ動作モードでない場合には、前記制御部が、さらに、前記第３稼働情報が、与えられた実行可能条件を満たしているか否かを判断する工程と、
（Ｈ）前記実行可能条件が満たされている場合には、前記制御部が、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供する工程と、
（Ｉ）前記実行可能条件が満たされていない場合には、前記制御部が、前記テスト処理の実行指示を前記テスト実行部に送信せずに、前記テスト指示部の指示に従って実行されたテスト処理の結果であって取得済みの結果を、提供する工程と、
を含む、制御方法。
【請求項１３】
請求項１０に記載の制御方法であって、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記第１稼働情報は、前記ディスクドライブ装置の動作モードの前記アップ動作モードから前記ダウン動作モードへの移行の契機であるダウン契機を含み、
前記タイミング決定処理は、前記第１タイミングモードとして、前記ダウン契機に応じたタイミングを決定することによって、前記テスト実行部に前記動作モードの移行前に前記テスト処理を実行させる工程を含むダウンタイミングモードを有し、
前記工程（Ｂ）は、前記制御部が、前記ダウンタイミングモードによるタイミング決定処理を実行する工程を含む、
制御方法。
【請求項１４】
請求項１０に記載の制御方法であって、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記第１稼働情報は、前記ディスクドライブ装置の動作モードの前記ダウン動作モードから前記アップ動作モードへの移行の契機であるアップ契機を含み、
前記タイミング決定処理は、前記第１タイミングモードとして、前記アップ契機に応じたタイミングを決定することによって、前記テスト実行部に前記動作モードの移行後に前記テスト処理を実行させる工程を含むアップタイミングモードを有し、
前記工程（Ｂ）は、前記制御部が、前記アップタイミングモードによるタイミング決定処理を実行する工程を含む、
制御方法。
【請求項１５】
請求項１０に記載の制御方法であって、
前記第１稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機を含み、
前記タイミング決定処理は、前記第１タイミングモードとして、前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置を対象とする読み書きの契機に応じたタイミングを決定する工程を含むアクセスタイミングモードを有し、
前記工程（Ｂ）は、前記制御部が、前記アクセスタイミングモードによるタイミング決定処理を実行する工程を含む、制御方法。
【請求項１６】
請求項１０に記載の制御方法であって、
前記タイミング決定処理は、前記第１タイミングモードとして、
前記テスト処理の指示の要否確認の契機に応じて、前記第１稼働情報が、与えられた状況実行条件を満たしているか否かを判断する工程と、
（ｉ）前記状況実行条件が満たされている場合には、前記要否確認の契機に応じたタイミングを決定し、
（ｉｉ）前記状況実行条件が満たされていない場合には、前記タイミングを決定せずに、次の前記要否確認契機を待つ工程と、を含む状況実行タイミングモードを有し、
前記工程（Ｂ）は、前記制御部が、前記状況実行タイミングモードによるタイミング決定処理を実行する工程を含む、制御方法。
【請求項１７】
請求項１０に記載の制御方法であって、
前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、
前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、
前記第１稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機と、前記ディスクドライブ装置の現行の動作モードと、を含み、
前記タイミング決定処理は、前記第１タイミングモードとして、
前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置の現行の動作モードが前記ダウン動作モードであるか否かを判断する工程と、
（Ｅ）前記動作モードが前記ダウン動作モードではない場合には、前記要否確認の契機に応じたタイミングを決定する工程と、
（Ｆ）前記動作モードが前記ダウン動作モードである場合には、さらに、前記第１稼働情報が、与えられた状況判定条件を満たしているか否かを判断する工程と、
（Ｇ）前記状況判定条件が満たされている場合には、前記要否確認の契機に応じたタイミングを決定する工程と、
（Ｈ）前記状況判定条件が満たされていない場合には、前記タイミングの決定を保留し、前記ディスクドライブ装置を対象とする読み書きの契機に応じたタイミングを決定する工程と、を含む状況判定モードを有し、
前記工程（Ｂ）は、前記制御部が、前記状況判定モードによるタイミング決定処理を実行する工程を含む、制御方法。
【請求項１８】
請求項１０に記載の制御方法であって、
前記制御部は、
前記ディスクドライブ装置に設けられるとともに前記ディスクドライブ装置を制御するドライブ制御部と、
前記ホストコンピュータと前記ドライブ制御部とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部と、を含み、
前記工程（Ａ）（Ｂ）（Ｃ）のそれぞれは、前記ドライブ制御部によって実行され、
前記工程（Ｄ）は、前記ストレージ制御部によって実行される、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セルフチェック機能を有するディスクドライブ装置を用いたストレージシステムの制御技術に関する。
【背景技術】
【０００２】
従来より、ディスクドライブ装置を用いたストレージシステムが利用されている。ディスクドライブ装置の中には、セルフチェック（セルフテスト）機能を有するものがある。このような機能（技術）としては、S.M.A.R.T.(Self Monitoring Analysis and Reporting Technology)が知られている。このようなセルフチェック機能は、例えば、ディスクドライブの交換に利用されている（特許文献１参照）。
【０００３】
【特許文献１】米国特許出願公開第２００４／０２６０９６７号明細書
【０００４】
ところで、従来のストレージシステムでは、そのストレージシステムに設けられた複数のディスクドライブ装置の動作状態は、基本的にスピンアップ状態である。従って、セルフチェックに伴って、ディスクドライブ装置がスピンアップされることは少なかった。一方、近年では、MAID（Massive Array of Inactive Disk）技術を適用したストレージシステムが利用される場合がある。MAIDでは、複数のディスクドライブ装置の中の、アクセスの無いディスクドライブ装置の中の少なくとも一部がスピンダウンされる。このようなMAIDを用いることによって、消費電力を抑え、ストレージシステムの高密度化（省スペース化）を実現し、さらには、ディスクドライブ装置の長寿命化を実現することも可能となる。ここで、ディスクドライブ装置の最新の状態を取得するためには、セルフチェックが繰り返し実行される。ところが、セルフチェックの実行によって、ディスクドライブ装置に負荷がかかる。その結果、セルフチェックに起因してディスクドライブ装置の寿命が短縮される可能性があった。特に、MAID技術を適用したストレージシステムでは、セルフチェックに伴ってスピンアップやスピンダウンが実行される場合があり、その結果、ディスクドライブ装置に大きな負荷がかかる可能性があった。
【０００５】
なお、このような問題は、セルフチェックに伴ってスピンアップやスピンダウンが実行される場合に限らず、スピンアップやスピンダウンを伴わないセルフチェックが実行される場合にも共通する問題であった。また、このような問題は、MAIDのように一部のディスクドライブ装置がスピンダウンされるストレージシステムに限らず、ディスクドライブ装置がスピンダウンされないストレージシステムにも共通する問題であった。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、上記の課題を解決するためになされたものであり、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる技術を提供することである。
【課題を解決するための手段】
【０００７】
上述の課題の少なくとも一部を解決するため、本発明のストレージシステムは、データの読み書きが可能な記憶領域をホストコンピュータに提供するストレージシステムであって、ディスクドライブ装置であって、前記記憶領域と、前記ディスクドライブ装置の動作のテスト処理を実行するテスト実行部と、を有するディスクドライブ装置と、前記テスト実行部に前記テスト処理の実行指示を送信するテスト指示部と、前記テスト処理の結果を取得する結果取得部と、前記ディスクドライブ装置の動作状況と、前記ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報を取得する稼働情報取得部と、を備え、前記テスト指示部は、前記テスト処理実行指示のタイミング決定のモードであるタイミングモードとして、前記稼働情報の少なくとも一部の第１稼働情報に基づいて前記タイミングを決定する第１タイミングモードを有する。
【０００８】
このストレージシステムによれば、テスト処理のタイミングが、ディスクドライブ装置の動作状況と、ディスクドライブ装置の動作履歴と、の少なくとも一方に関する稼働情報の少なくとも一部の第１稼働情報に基づいて決定されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【０００９】
上記ストレージシステムにおいて、前記テスト指示部は、さらに、前記タイミングモードとして、前記第１タイミングモードとは異なるタイミングを決定する第２タイミングモードを有し、前記テスト指示部は、前記タイミングモードの選択の契機に応じて、前記稼働情報の少なくとも一部の第２稼働情報が、与えられた第１タイミング条件を満たしているか否かを判断し、（ｉ）前記第１タイミング条件が満たされている場合には、前記第１タイミングモードに従って前記テスト処理の実行指示のタイミングを決定し、（ｉｉ）前記第１タイミング条件が満たされていない場合には、前記第２タイミングモードに従って前記テスト処理の実行指示のタイミングを決定することとしてもよい。
【００１０】
この構成によれば、稼働情報の少なくとも一部の第２稼働情報に基づいて、タイミングを決定するモードが選択されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【００１１】
上記ストレージシステムにおいて、前記テスト指示部は、前記第２タイミングモードにおいて、一定時間間隔毎に前記テスト処理の実行指示を送信することとしてもよい。
【００１２】
この構成によれば、第２タイミングモードでは、一定時間間隔でテスト処理が実行されるので、セルフチェックの結果の利用時点での信頼性を高めることができる。
【００１３】
上記各ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第２稼働情報は、前記ディスクドライブ装置の動作モードが前記アップ動作モードから前記ダウン動作モードへ切り替わった回数と、前記ディスクドライブ装置の動作モードが前記ダウン動作モードから前記アップ動作モードへ切り替わった回数と、前記ディスクドライブ装置の電源がＯＮからＯＦＦへ切り替わった回数と、前記ディスクドライブ装置の電源がＯＦＦからＯＮへ切り替わった回数と、前記ディスクドライブ装置を対象として読み書きされたデータ量に正の相関のある値と、の中の少なくとも一部のパラメータを含み、前記第１タイミング条件は、前記第２稼働情報に含まれる各パラメータの少なくとも一部がそれぞれの閾値を超えていることを含むことが好ましい。
【００１４】
アップ／ダウンの回数と、電源ＯＮ／ＯＦＦの回数と、読み書きされたデータ量に正の相関のある値とは、ディスクドライブ装置２００の寿命との関連性が特に強い。従って、この構成によれば、タイミングモード選択の条件に、これらのパラメータの少なくとも一部が用いられるので、ディスクドライブ装置の状態の適した選択を行うことができる。
【００１５】
上記ストレージシステムにおいて、さらに、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記稼働情報の少なくとも一部の第３稼働情報は、前記ディスクドライブ装置の現行の動作モードを含み、前記結果取得部は、前記テスト処理結果の参照要求に応じて前記ディスクドライブ装置の現行の動作モードが前記アップ動作モードであるか否かを判断するとともに、（Ａ）前記動作モードが前記アップ動作モードである場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、（Ｂ）前記動作モードが前記アップ動作モードでない場合には、さらに、前記第３稼働情報が、与えられた実行可能条件を満たしているか否かを判断し、（Ｂ１）前記実行可能条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信することによって新たな前記テスト処理の結果を取得するとともに、取得した前記テスト処理の結果を提供し、（Ｂ２）前記実行可能条件が満たされていない場合には、前記テスト処理の実行指示を前記テスト実行部に送信せずに、前記テスト指示部の指示に従って実行されたテスト処理の結果であって取得済みの結果を、提供することとしてもよい。
【００１６】
この構成によれば、テスト処理結果の参照要求が発行された場合に、新たなテスト処理の結果を提供するか、取得済みのテスト結果を提供するかが、稼働情報の少なくとも一部の第３稼働情報（ディスクドライブ装置の現行の動作モードを含む）に基づいて決定されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【００１７】
上記ストレージシステムにおいて、前記第３稼働情報は、さらに、前記ディスクドライブ装置の動作モードが前記アップ動作モードから前記ダウン動作モードへ切り替わった回数と、前記ディスクドライブ装置の動作モードが前記ダウン動作モードから前記アップ動作モードへ切り替わった回数と、前記ディスクドライブ装置の電源がＯＮからＯＦＦへ切り替わった回数と、前記ディスクドライブ装置の電源がＯＦＦからＯＮへ切り替わった回数と、前記ディスクドライブ装置を対象として読み書きされたデータ量に正の相関のある値と、の中の少なくとも一部のパラメータを含み、前記実行可能条件は、前記第３稼働情報に含まれる各パラメータがそれぞれの閾値以下であることを含む、ことが好ましい。
【００１８】
アップ／ダウンの回数と、電源ＯＮ／ＯＦＦの回数と、読み書きされたデータ量に正の相関のある値とは、ディスクドライブ装置２００の寿命との関連性が特に強い。従って、この構成によれば、テスト結果の選択の条件に、これらのパラメータの少なくとも一部が用いられるので、ディスクドライブ装置の状態の適した選択を行うことができる。
【００１９】
上記ストレージシステムにおいて、前記結果取得部は、与えられた閾値設定要求に応じて前記閾値を設定することとしてもよい。
【００２０】
この構成によれば、閾値が要求に応じて設定されるので、結果取得部は、ストレージシステムの利用状況に適した閾値を用いることができる。
【００２１】
上記各ストレージシステムにおいて、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記テスト指示部と前記結果取得部と前記稼働情報取得部とは前記ストレージ制御部に設けられており、前記ディスクドライブ装置は、第１と第２のディスクドライブ装置を含み、前記実行可能条件は、第１と第２の実行可能条件を含み、前記結果取得部は、前記第１実行可能条件を用いて前記第１ディスクドライブ装置に対する処理を行い、前記第２実行可能条件を用いて前記第２ディスクドライブ装置に対する処理を行うこととしてもよい。
【００２２】
この構成によれば、結果取得部は、各ディスクドライブ装置に適した結果を取得することができる。
【００２３】
上記ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第１稼働情報は、前記ディスクドライブ装置の動作モードの前記アップ動作モードから前記ダウン動作モードへの移行の契機であるダウン契機を含み、前記テスト指示部は、前記第1タイミングモードとして、ダウンタイミングモードを有し、前記テスト指示部は、前記ダウンタイミングモードにおいて、前記ダウン契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行前に前記テスト処理を実行させることとしてもよい。
【００２４】
この構成によれば、動作モードがアップ動作モードからダウン動作モードへの移行の契機に応じてテスト処理が実行されるので、テスト結果の利用時点での信頼性の低下を抑制しつつ、取得済みのテスト結果を、新たなテスト処理の結果の代わりに利用することができる。
【００２５】
上記ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第１稼働情報は、前記ディスクドライブ装置の動作モードの前記ダウン動作モードから前記アップ動作モードへの移行の契機であるアップ契機を含み、前記テスト指示部は、前記第1タイミングモードとして、アップタイミングモードを有し、前記テスト指示部は、前記アップタイミングモードにおいて、前記アップ契機に応じて、前記テスト処理を実行する旨の指示を前記テスト実行部に送信することによって、前記テスト実行部に前記動作モードの移行後に前記テスト処理を実行させることとしてもよい。
【００２６】
この構成によれば、動作モードがダウン動作モードからアップ動作モードへの移行の契機に応じてテスト処理が実行されるので、テスト結果の利用時点での信頼性の低下を抑制しつつ、取得済みのテスト結果を、新たなテスト処理の結果の代わりに利用することができる。
【００２７】
上記ストレージシステムにおいて、前記第１稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機を含み、前記テスト指示部は、前記第1タイミングモードとして、アクセスタイミングモードを有し、前記テスト指示部は、前記アクセスタイミングモードにおいて、前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信することとしてもよい。
【００２８】
この構成によれば、テスト処理がアクセスに同期して実行されるので、テスト処理の実行に起因するディスクドライブ装置の寿命の短縮を抑えることができる。
【００２９】
上記ストレージシステムにおいて、前記テスト指示部は、前記第１タイミングモードとして、状況実行タイミングモードを有し、前記テスト指示部は、前記状況実行タイミングモードにおいて、前記テスト処理の指示の要否確認の契機に応じて、前記第１稼働情報が、与えられた状況実行条件を満たしているか否かを判断し、（ｉ）前記状況実行条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、（ｉｉ）前記状況実行条件が満たされていない場合には、前記テスト処理の実行指示を送信せずに、次の前記要否確認契機を待つこととしてもよい。
【００３０】
この構成によれば、第１稼働情報が、与えられた状況実行条件を満たしているか否かに応じて、テスト処理が実行されるか否かが決定されるので、セルフチェックの結果の利用時点での信頼性と、テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【００３１】
上記ストレージシステムにおいて、前記第１稼働情報は、前記ディスクドライブ装置を対象とする読み書きの頻度に相関のある頻度パラメータを含み、前記状況実行条件は、前記頻度パラメータが表す頻度が閾値未満であることを含むこととしてもよい。
【００３２】
この構成によれば、現時点での読み書きの頻度が比較的高い場合にはテスト処理が実行されないので、テスト処理の実行に起因するディスクドライブ装置の寿命の短縮を抑えることができる。
【００３３】
上記ストレージシステムにおいて、前記ディスクドライブ装置は、アップ動作モードとダウン動作モードとを含む複数の動作モードを有し、前記アップ動作モードは、前記ダウン動作モードと比べて、前記ディスクドライブ装置の読み書きの実行時の状態に近い状態で動作する動作モードであり、前記第１稼働情報は、前記ディスクドライブ装置を対象とする読み書きの契機と、前記ディスクドライブ装置の現行の動作モードと、を含み、前記テスト指示部は、前記第1タイミングモードとして、状況判定モードを有し、前記テスト指示部は、前記状況判定モードにおいて、前記テスト処理の指示の要否確認の契機に応じて、前記ディスクドライブ装置の現行の動作モードが前記ダウン動作モードであるか否かを判断し、（Ａ）前記動作モードが前記ダウン動作モードではない場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、（Ｂ）前記動作モードが前記ダウン動作モードである場合には、さらに、前記第１稼働情報が、与えられた状況判定条件を満たしているか否かを判断し、（Ｂ１）前記状況判定条件が満たされている場合には、前記テスト処理の実行指示を前記テスト実行部に送信し、（Ｂ２）前記状況判定条件が満たされていない場合には、前記テスト処理の実行指示の送信を保留し、前記ディスクドライブ装置を対象とする読み書きの契機に応じて前記テスト処理の実行指示を前記テスト実行部に送信することとしてもよい。
【００３４】
この構成によれば、テスト処理の実行タイミングが、ディスクドライブ装置を対象とする読み書きの契機と、ディスクドライブ装置の現行の動作モードと、を含む第１稼働情報に基づいて決定されるので、セルフチェックの結果の利用時点での信頼性と、セルフチェックに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【００３５】
上記ストレージシステムにおいて、前記第１稼働情報は、前記ディスクドライブ装置の動作モードが前記アップ動作モードから前記ダウン動作モードへ切り替わった回数と、前記ディスクドライブ装置の動作モードが前記ダウン動作モードから前記アップ動作モードへ切り替わった回数と、前記ディスクドライブ装置の電源がＯＮからＯＦＦへ切り替わった回数と、前記ディスクドライブ装置の電源がＯＦＦからＯＮへ切り替わった回数と、前記ディスクドライブ装置を対象として読み書きされたデータ量に正の相関のある値と、の中の少なくとも一部のパラメータを含み、前記状況判定条件は、前記第１稼働情報に含まれる各パラメータがそれぞれの閾値以下であることを含むことが好ましい。
【００３６】
アップ／ダウンの回数と、電源ＯＮ／ＯＦＦの回数と、読み書きされたデータ量に正の相関のある値とは、ディスクドライブ装置２００の寿命との関連性が特に強い。従って、この構成によれば、テスト処理のタイミングの決定に、これらのパラメータの少なくとも一部が用いられるので、ディスクドライブ装置の状態に適したタイミングを決定することができる。
【００３７】
上記各ストレージシステムにおいて、さらに、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記テスト指示部と前記結果取得部と前記稼働情報取得部とは前記ストレージ制御部に設けられており、前記ディスクドライブ装置は、第１と第２のディスクドライブ装置を含み、前記条件は、第１ドライブ用と第２ドライブ用の条件を含み、前記テスト指示部は、前記第１ドライブ用条件を用いて前記第１ディスクドライブ装置に対する処理を行い、前記第２ドライブ用条件を用いて前記第２ディスクドライブ装置に対する処理を行うこととしてもよい。
【００３８】
この構成によれば、テスト指示部は、各ディスクドライブ装置に適したタイミングで指示を行うことができる。
【００３９】
上記各ストレージシステムにおいて、前記テスト指示部は、与えられた閾値設定要求に応じて前記閾値を設定することとしてもよい。
【００４０】
この構成によれば、閾値が要求に応じて設定されるので、テスト指示部は、ストレージシステムの利用状況に適した閾値を用いることができる。
【００４１】
上記各ストレージシステムにおいて、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記結果取得部は前記ストレージ制御部に設けられており、前記テスト指示部と前記稼働情報取得部とは前記ディスクドライブ装置に設けられており、前記ストレージ制御部は、さらに、与えられた閾値設定要求に応じて前記テスト指示部に前記閾値設定要求を送信する閾値設定部を有し、前記テスト指示部は、受信した前記閾値設定要求に応じて前記閾値を設定することとしてもよい。
【００４２】
この構成によれば、閾値が要求に応じて設定されるので、テスト指示部は、ストレージシステムの利用状況に適した閾値を用いることができる。
【００４３】
上記ストレージシステムにおいて、前記ホストコンピュータと前記ディスクドライブ装置とに接続されるとともに、前記ホストコンピュータの要求に応じて前記ディスクドライブ装置を制御するストレージ制御部を備え、前記結果取得部は前記ストレージ制御部に設けられており、前記テスト指示部と前記稼働情報取得部とは前記ディスクドライブ装置に設けられていることとしてもよい。
【００４４】
この構成によれば、ストレージ制御部の構成を簡略化することができる。
【００４５】
上記ストレージシステムにおいて、前記テスト指示部は、前記テスト処理の完了に応じて、完了通知を前記ストレージ制御部に送信し、前記結果取得部は、前記完了通知を受信したことに応じて、前記テスト処理の結果を前記ディスクドライブ装置から取得することとしてもよい。
【００４６】
この構成によれば、結果取得部は、適切に、テスト処理の結果を取得することができる。
【００４７】
上記ストレージシステムにおいて、前記結果取得部は、前記完了通知を受信しない状態が、与えられた待ち時間以上続いた場合に、前記テスト実行部に前記テスト処理の実行指示を送信することが好ましい。
【００４８】
この構成によれば、ディスクドライブ装置に不具合が生じているにも拘わらず、結果取得部がその旨の情報を有していない状態が過剰に長く続くことを抑制できる。
【００４９】
なお、本発明は、種々の形態で実現することが可能であり、例えば、セルフチェックの制御方法および装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００５０】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．第５実施例：
Ｆ．第６実施例：
Ｇ．第７実施例：
Ｈ．第８実施例：
Ｉ．第９実施例：
Ｊ．変形例：
【００５１】
Ａ．第１実施例：
図１は、本発明の一実施例としてのデータ処理システムの構成を示す概略図である。このデータ処理システム１０は、互いに接続されたホストコンピュータ４００とストレージシステム３００とを有している。ストレージシステム３００は、データの記憶領域をホストコンピュータ４００に提供する。ホストコンピュータ４００は、提供された記憶領域を利用しつつ、所定の機能を実現する。ホストコンピュータ４００の機能としては、例えば、データファイルをクライアント装置（図示せず）に提供するファイルサーバとしての機能や、種々のデータを管理するデータベースサーバとしての機能がある。
【００５２】
ストレージシステム３００は、ストレージコントローラ１００と、ストレージコントローラ１００に接続された複数のディスクドライブ装置２００、２００ａ、２００ｂと、を有している。ストレージコントローラ１００は、ホストコンピュータ４００の要求に応じて、各ディスクドライブ装置２００、２００ａ、２００ｂを対象とするデータの読み書きを実行する。
【００５３】
ストレージコントローラ１００は、ホストインターフェース（Ｉ／Ｆ）１３０と、キャッシュメモリ１４０と、メモリ１５０と、ストレージディスクコントローラ１１０と、スイッチ１６０と、を有している。
【００５４】
ホストＩ／Ｆ１３０は、ホストコンピュータ４００との接続のためのインターフェースである。キャッシュメモリ１４０は、ホストコンピュータ４００と、ディスクドライブ装置２００、２００ａ、２００ｂとの間で転送されるデータを一時的に記憶するための半導体メモリである。メモリ１５０は、ストレージシステム３００内の制御情報や管理情報を格納する半導体メモリである。ストレージディスクコントローラ１１０は、ディスクドライブ装置２００、２００ａ、２００ｂとの接続のためのインターフェースとして機能する。スイッチ１６０は、上述の各構成要素１１０、１３０、１４０、１５０のそれぞれと接続されており、これらの各構成要素間のデータ通信を中継する。
【００５５】
ストレージディスクコントローラ１１０は、ＣＰＵ（中央処理装置）１１２と、メモリ１１４と、を有している。メモリ１１４は、指示モジュール１２０と、結果取得モジュール１２１と、データ中継モジュール１２２と、稼働情報取得モジュール１２３と、閾値管理テーブル１２６と、チェック間隔設定テーブル１２８と、を格納している。各モジュール１２０、１２１、１２２、１２３は、ＣＰＵ１１２によって実行されるコンピュータプログラムである。各モジュールの詳細については後述する。
【００５６】
データ中継モジュール１２２は、ホストコンピュータ４００の要求に応じて、各ディスクドライブ装置２００、２００ａ、２００ｂとホストコンピュータ４００との間のデータ転送を中継する。具体的には、データ中継モジュール１２２は、ホストコンピュータ４００からのリードコマンドやライトコマンドに応じて、各ディスクドライブ装置２００、２００ａ、２００ｂにリードコマンドやライトコマンドを、それぞれ送信する。また、第１実施例では、データ中継モジュール１２２は、複数のディスクドライブ装置２００、２００ａ、２００ｂを用いてＲＡＩＤ（Redundant Array of Inexpensive Disks）システムを構成する。ただし、ＲＡＩＤシステムを用いなくてもよい。
【００５７】
ディスクドライブ装置２００は、ドライブコントローラ２１０と、ドライブコントローラ２１０に接続されたディスクドライブ機構コントローラ２５０と、ディスクドライブ機構コントローラ２５０に接続されたディスクドライブ機構２６０と、を有している。ドライブコントローラ２１０は、ストレージディスクコントローラ１１０の要求に応じて、ディスクドライブ機構コントローラ２５０を制御することによって、ディスクドライブ機構２６０を対象とするデータの読み書きを実行する。なお、本実施例では、ドライブコントローラ２１０は、ＡＴＡ（AT Attachment）規格に従った制御を行うこととしている。ただし、他の規格（例えば、ＳＣＳＩ）に従った制御を行うこととしてもよい。
【００５８】
ディスクドライブ機構２６０は、記憶領域としてのディスク２６２と、ヘッド２６４と、を有している。ヘッド２６４は、回転するディスク２６２を対象としてデータを読み書きする。ディスクドライブ機構コントローラ２５０は、ディスク２６２を回転させるスピンドルモータ（図示省略）と、ヘッド２６４を移動させるアクチュエータ（図示省略）とを有している。ディスクドライブ機構コントローラ２５０は、ドライブコントローラ２１０の要求に応じて、ディスクドライブ機構２６０を駆動する。
【００５９】
また、ドライブコントローラ２１０は、ドライブインターフェース（Ｉ／Ｆ）２１２と、ＣＰＵ２１４と、キャッシュメモリ２１６と、メモリ２１８と、を有している。メモリ２１８は、自己テストモジュール２２０と、モード制御モジュール２２２と、データ中継モジュール２２４と、を格納している。これらのモジュール２２０、２２２、２２４は、ＣＰＵ２１４によって実行されるコンピュータプログラムである。自己テストモジュール２２０は、ディスクドライブ装置２００の動作をテストする。モード制御モジュール２２２は、ドライブコントローラ２１０の動作モードを制御する。データ中継モジュール２２４は、ストレージディスクコントローラ１１０の要求に応じた、ディスクドライブ機構２６０を対象とするデータの読み書きを行う。各モジュールの詳細については後述する。
【００６０】
以上、ディスクドライブ装置２００の構成について説明したが、他のディスクドライブ装置２００ａ、２００ｂの構成も、ディスクドライブ装置２００の構成と同じである。
【００６１】
図２は、図１のディスクドライブ装置２００の電力管理に関する動作状態（動作モード）の遷移を示す状態遷移図である。例えば、ＡＴＡ規格では、以下の４つの動作状態（動作モード）が規定されている。
（１）Activeモード（Ｓｔ１１０）：
（２）Idleモード（Ｓｔ１２０）：
（３）Standbyモード（Ｓｔ１３０）：
（４）Sleepモード（Ｓｔ１４０）：
【００６２】
Activeモードは、データ中継モジュール２２４（図１）が、すぐに、リードコマンドやライトコマンドに応答することができる動作モードである。このActiveモードでは、ディスク２６２とヘッド２６４とは稼働状態にある。リードコマンドとライトコマンドとに対する応答時間は、後述する他のモードのいずれよりも短い。ただし、ディスクドライブ装置２００は、後述する他の動作モードと比べて、より多くの電力を消費する。
【００６３】
Idleモードは、ベンダ（製造者）独自の電力管理が行われる動作モードである。このIdleモードでは、モード制御モジュール２２２（図１）は、例えば、ヘッド２６４の所定の退避位置への退避や、一部の電子回路への電力供給の停止などを行う。これにより、Idleモードでのディスクドライブ装置２００の電力消費量は、Activeモードよりも少なくなる。ただし、Activeモードと比べると、リードコマンドとライトコマンドとに対する応答時間は長くなる。これは、Activeモードへの切り替えに時間がかかるからである。
【００６４】
Standbyモードは、Idleモードよりもさらに電力消費量を小さくする動作モードである。このStandbyモードでは、モード制御モジュール２２２（図１）は、例えば、スピンドルモータ（図示省略）を停止させる。ただし、ActiveモードとIdleモードとのいずれよりも、リードコマンドとライトコマンドとに対する応答時間は長くなる。これは、Activeモードへの切り替えに時間がかかるからである。
【００６５】
Sleepモードは、Standbyモードよりもさらに電力消費量を小さくする動作モードである。このSleepモードでは、モード制御モジュール２２２（図１）は、他のモードよりも多くの電子回路への電力供給を停止する。その結果、Sleepモードでの電力消費量は、４つのモードの中で最小である。ただし、Sleepモードでは、データ中継モジュール２２４は、リードコマンドとライトコマンドとに応答することができない。この代わり、モード制御モジュール２２２は、外部からのリセット要求に応じて、動作モードを、SleepモードからStandbyモードに移行させる（Ｃ１４２）。リセット要求としては、例えば、ハードウェアリセットや、ストレージディスクコントローラ１１０からのDEVICE RESETコマンドを採用可能である。
【００６６】
ドライブコントローラ２１０（図１）が、Standbyモード、あるいは、Idleモードで動作している状態で、リードコマンドやライトコマンドをストレージディスクコントローラ１１０から受信すると、モード制御モジュール２２２は、動作モードをActiveモードに移行させる（Ｃ１３２、Ｃ１２２）。動作状態がActive状態に移行した後、データ中継モジュール２２４が、ストレージディスクコントローラ１１０からのコマンドに応じてリード処理とライト処理とを、それぞれ実行する。
【００６７】
また、ドライブコントローラ２１０（図１）が、Activeモードで動作している状態で、モード切替要求をストレージディスクコントローラ１１０から受信すると、モード制御モジュール２２２は、要求に従って、動作モードをIdleモードやStandbyモード、Sleepモードに移行させる（Ｃ１１２、Ｃ１１４、Ｃ１１６）。このような要求としては、例えば、IDLEコマンドやIDLE IMMEDIATEコマンド、STANDBYコマンド、STANDBY IMMEDIATEコマンド、SLEEPコマンドがある。なお、モード切替要求に応じたモードの切り替えは、ドライブコントローラ２１０が他のモードで動作している場合も同様である（Ｃ１２４、Ｃ１３４、Ｃ１３６、Ｃ１２６）。また、モード制御モジュール２２２が自発的に動作モードを切り替える構成を採用してもよい。例えば、ドライブコントローラ２１０が、リードコマンドとライトコマンドとを所定の一定時間受信しなかった時に、モード制御モジュール２２２が、自発的に動作モードをStandbyモードに移行させることとしてもよい。
【００６８】
以上説明したように、ディスクドライブ装置２００の複数の動作モードの、読み書きの実行時の状態に近い順は、Activeモード、Idleモード、Standbyモード、Sleepモードの順である。なお、複数の動作モードの順番に関しては、リードコマンドとライトコマンドとに対する応答時間の短い順と、読み書きの実行時の状態に近い順とは、同じである。また、通常は、読み書きの実行時の状態から遠い動作モードほど、電力の供給が止められている構成要素（電子回路）の割合が高いので、電力消費量の大きい順と、読み書きの実行時の状態に近い順とは、同じである。
【００６９】
図３は、第１実施例における自己テストのタイミング制御処理の手順を示すフローチャートである。図３の例では、指示モジュール１２０は、ダウンタイミングモードに従って自己テストの実行タイミングを制御する。ダウンタイミングモードとは、タイミング制御処理のモード（以下「タイミングモード」とも呼ぶ）の一つである。このダウンタイミングモードでは、ディスクドライブ装置２００の動作モードがActiveモードから非Activeモードに切り替えられる契機に応じて、その切り替え前に自己テストが実行される。なお、図３の例では、ディスクドライブ装置２００の現行の動作モードがActiveモードであることとしている。
【００７０】
最初のステップＳ１００では、稼働情報取得モジュール１２３は、ディスクドライブ装置２００の動作状態（動作モード）がActiveから非Active（例えば、IdleモードやStandbyモード）へ移行するタイミングであるか否かを判断する。この判断は、動作状態の切り替えの契機に応じて行われる。
【００７１】
第１実施例では、ストレージディスクコントローラ１１０がディスクドライブ装置２００への読み書き要求を受信しない状態が所定の一定時間続くという条件が満たされたことを契機に、データ中継モジュール１２２は、ドライブコントローラ２１０に、動作モードをActiveから非Activeに切り替えるコマンド（例えば、STANDBYコマンド）を送信する。データ中継モジュール１２２は、ストレージディスクコントローラ１１０のタイマ（図示せず）を用いることによって、このような制御を行う。また、このような制御は、他のディスクドライブ装置２００ａ、２００ｂに対しても行われる。その結果、アクセス頻度の少ないディスクドライブ装置の動作モードが非Activeに切り替えられるので、ストレージシステム３００の消費電力を低下させることが可能となる。また、ストレージシステム３００全体の発熱量も小さくなるので、ディスクドライブ装置の高密度実装が可能となり、ストレージシステム３００の小型化を図ることもできる。また、単位時間（例えば、１週間）あたりの動作時間（Active状態の時間）が短くなるので、ディスクドライブ装置の寿命を延ばす効果も得られる。なお、このようなストレージシステムは、MAID（Massive Array of Inactive Disk）とも呼ばれる。なお、動作モードが非Activeに切り替えられるディスクドライブ装置としては、アクセス頻度の少ないディスクドライブ装置に限らず、任意のものを採用可能である。例えば、予め選択された所定のディスクドライブ装置の動作モードが、アクセスが無い場合に非Activeに切り替えられることとしてもよい。また、このように、アクセスの無いディスクドライブ装置の中の少なくとも一部の動作モードを、読み書きの実行時の状態に近い動作モードから遠い動作モードへ（例えば、Activeモードから非Activeへ）切り替える処理を実行するダウン制御部としては、データ中継モジュール１２２に限らず、任意の構成を採用可能である。また、ストレージシステムの構成としては、このようなダウン制御部を有する構成に限らず、アクセスの無いディスクドライブ装置の中の少なくとも一部の動作モードが、読み書きの実行時の状態に近い動作モードから遠い動作モードへ切り替えられるような任意の構成を採用可能である。
【００７２】
稼働情報取得モジュール１２３は、データ中継モジュール１２２の動作をモニタすることにより、データ中継モジュール１２２が動作モードを切り替えようとしていることを検知して、その旨を指示モジュール１２０に通知する。指示モジュール１２０は、この通知に応じて、動作モード切替コマンドの送信前に、現時点が移行タイミングであると判断する（Ｓ１００：Ｙｅｓ）。
【００７３】
なお、モード制御モジュール２２２（図１）が自発的に動作モードをActiveから非Activeに切り替える構成を採用することもできる。この場合には、モード制御モジュール２２２が、動作状態を切り替える前に、切り替える旨の通知をストレージディスクコントローラ１１０に送信し、稼働情報取得モジュール１２３が、この通知を受信して、その旨を指示モジュール１２０に通知する。指示モジュール１２０は、この通知に応じてステップＳ１００の判断を行う。この判断の後、ストレージディスクコントローラ１１０とドライブコントローラ２１０とは、図３の手順に従って、処理を進行させる。なお、動作状態の切り替えの契機としては、上述したものに限らず、任意のものを採用可能である。例えば、ユーザの指示を契機として用いてもよい。
【００７４】
現時点が移行タイミングではない場合には、ステップＳ１０５で、ストレージディスクコントローラ１１０は、通常の処理（例えば、ホストコンピュータ４００からのリードコマンドとライトコマンドとに応じた読み書き処理）を継続する。
【００７５】
現時点が移行タイミングである場合には、次のステップＳ１１０で、指示モジュール１２０は、ディスクドライブ装置２００に自己テストの実行指示を送信する。すると、自己テストモジュール２２０は、指示に応じて自己テストを開始する（ステップＳ１１５）。自己テストとは、ディスクドライブ装置２００自身の機能を診断する処理である。自己テスト処理としては、種々の処理を採用可能である。例えば、データの読み書きを試行する処理や、ヘッド２６４やスピンドルモータ（図示せず）の駆動を試行する処理を採用可能である。また、種々の機能を診断するために、自己テストは、しばしば、リード処理やライト処理の実行時と同じ動作モード（図２の例では、Activeモード）で実行される。なお、自己テストの内容は、一般的には、ベンダ（製造者）が独自に定めることができる。また、ドライブコントローラ２１０に対する自己テスト実行指示の形式としては、種々の形式を採用可能である。例えば、ＡＴＡで規定されているSMART EXECUTE OFF-LINE IMMEDIATEコマンドを送信する形式を採用してもよい。
【００７６】
次に、結果取得モジュール１２１は、自己テストの進捗状況を繰り返しチェックし（ステップＳ１２０）、自己テストの終了を待つ（ステップＳ１２５）。結果取得モジュール１２１は、例えば、ＡＴＡで規定されているREAD DATAコマンドをドライブコントローラ２１０に送信することによって、ドライブコントローラ２１０（自己テストモジュール２２０）から進捗状況を取得できる。ただし、進捗状況の取得方法としては、他の種々の方法を採用可能である。
【００７７】
自己テストモジュール２２０は、自己テストが終了したことに応じて（ステップＳ１３０）、次のステップＳ１３５で、テスト結果をドライブコントローラ２１０のメモリ２１８に保存し、結果取得モジュール１２１に送信される進捗状況を「実行中」から「完了」に切り替える。
【００７８】
結果取得モジュール１２１は、「完了」であることを示す進捗状況を取得すると（ステップＳ１２５：Ｙｅｓ）、次のステップＳ１４０で、ドライブコントローラ２１０からテスト結果を取得し、取得したテスト結果をメモリ１１４に保存する。テスト結果の取得は、進捗状況の取得と同様に行われる。
【００７９】
ここで、正常な自己テスト結果が届かない場合（例えば、不具合のある旨のテスト結果が届いた場合や、テスト結果が届かない場合）には、結果取得モジュール１２１は、異常通知を行うことが好ましい。ここで、通知の相手と形式としては、任意のものを採用可能である。例えば、データ中継モジュール１２２に異常を通知してもよい。また、ホストコンピュータ４００に異常を通知してもよい。また、ストレージシステム３００に接続された管理端末のモニタ（図示せず）にエラーメッセージを表示させてもよく、管理端末のスピーカ（図示せず）に警告音を鳴らせても良い。これらは、後述する他の実施例についても同様である。
【００８０】
次のステップＳ１４５では、データ中継モジュール１２２は、動作状態を遷移させる指示（モード切替要求）をドライブコントローラ２１０に送信する。このような要求としては、例えば、STANDBYコマンドやIDLEコマンドが用いられ得る。次のステップＳ１５０では、モード制御モジュール２２２は、受信したモード切替要求に従って、動作モードを移行させる。
【００８１】
なお、自己テストモジュール２２０が、動作モードの移行前に自己テストを実行する方法としては、任意の方法を採用可能である。例えば、データ中継モジュール１２２が、自己テストの完了に応じて、モード切替要求を送信することとすればよい。
【００８２】
以後、ディスクドライブ装置２００の動作モードが移行したことに応じて、ストレージディスクコントローラ１１０とドライブコントローラ２１０とは、タイミング制御処理を終了する。なお、図３のタイミング制御処理は、動作モードがActiveから非Activeに移行される毎に実行される。
【００８３】
図４は、自己テストデータ（自己テスト結果）の選択処理の手順を示すフローチャートである。結果取得モジュール１２１は、自己テスト結果の参照要求に応じて、図４の手順に従って、提供すべき自己テスト結果を選択する。選択肢としては、新たな自己テストによる自己テスト結果と、メモリ１１４に格納済みの自己テスト結果と、がある。結果取得モジュール１２１は、ディスクドライブ装置の現時点での動作モードと、ディスクドライブ装置の動作履歴を表すパラメータ値と、に従って選択を行う。
【００８４】
なお、自己テスト結果の参照要求としては、任意の要求を採用可能である。例えば、ストレージディスクコントローラ１１０が、不具合の生じる可能性が高いディスクドライブ装置を、自己テスト結果を用いて検知する処理を実行することとしてもよい。また、結果取得モジュール１２１が、ユーザの要求に応じて、自己テスト結果をユーザに提供することとしてもよい。例えば、結果取得モジュール１２１は、ストレージコントローラ１００に接続された管理端末（図示せず）からユーザの指示を受信し、この管理端末のモニタ（図示せず）に、自己テスト結果を表示させてもよい。
【００８５】
図５は、閾値管理テーブル１２６の一例を示す説明図である。図５の例では、パラメータとして、「Spin-up」と、「Spin-down」と、「Power-on」と、「Power-off」と、「リード／ライト（R/W）」と、の各処理の回数と頻度とが用いられている。また、パラメータとして、連続稼働時間も用いられている。これらのパラメータは、いずれも、ディスクドライブ装置２００の動作履歴を表すパラメータである。閾値管理テーブル１２６は、これらのパラメータの現在の値と閾値とを格納している。
【００８６】
「Spin-up」は、ディスクドライブ装置２００の動作状態を、読み書きを行う状態により近い状態に移行させる処理を意味する。「Spin-up」の例としては、ディスク２６２（スピンドルモータ）の回転速度を、読み書きのための所定の回転速度に上げる処理や、退避位置に退避されたヘッド２６４を、ディスク２６２上に配置する処理がある。第１実施例では、動作状態を、非Active状態からActive状態へ移行することを「Spin-up」として扱うこととしている。例えば、Spin-up回数は、ディスクドライブ装置２００の電源が投入されたときと、動作状態が非Active状態からActive状態へ移行したときに、「１」増える。
【００８７】
「Spin-down」は、上述した「Spin-up」とは逆の処理を意味する。「Spin-down」の例としては、ディスク２６２（スピンドルモータ）を停止させる処理や、ディスク２６２上に配置されたヘッド２６４を、退避位置に退避する処理がある。第１実施例では、動作状態を、Active状態から非Active状態へ移行することを「Spin-down」として扱うこととしている。
【００８８】
「Power-on」は、ディスクドライブ装置２００の電源をＯＮにする処理を意味する。第１実施例では、Power-on回数は、ディスクドライブ装置２００の電源が投入されたときと、ディスクドライブ装置２００の動作モードがSleepモードから非Sleepモード（例えば、StandbyやActive）に移行したときに、「１」増える。
【００８９】
「Power-off」は、「Power-on」とは逆の処理を意味する。第１実施例では、Power-off回数は、ディスクドライブ装置２００の電源がＯＦＦにされたときと、ディスクドライブ装置２００の動作モードが非Sleepモード（例えば、ActiveやIdle）からSleepモードに移行したときに、「１」増える。
【００９０】
「R/W」とは、ディスクドライブ装置２００に対するリードとライトとのそれぞれの処理を意味する。
【００９１】
なお、図５の閾値管理テーブル１２６において、「頻度」としては、現時点に至る所定の一定時間内における処理回数が用いられている。例えば、「Spin-up頻度」としては、最近の一定時間内にディスクドライブ装置２００がスピンアップされた回数が用いられる。一定時間としては、種々の時間を採用可能であり、例えば、数時間から数日を採用可能である。なお、頻度のパラメータとしては、頻度に相関のある任意のパラメータを採用可能である。例えば、最後に処理を実行してからの経過時間を頻度のパラメータとして用いてもよい。
【００９２】
また、「連続稼働時間」は、ディスクドライブ装置２００への電力供給が開始されてから現時点までの経過時間を意味している。単位は「分」である。
【００９３】
なお、上述した各パラメータの閾値は、予め設定された値である。また、上述した各パラメータの現在の値は、ストレージディスクコントローラ１１０の動作をモニタする稼働情報取得モジュール１２３によって、適宜更新される。
【００９４】
ところで、閾値管理テーブル１２６のパラメータとしては、各パラメータ毎に定められた処理が実行された回数と頻度と、連続稼働時間と、が用いられている。従って、各パラメータ値が大きいほど、近い将来にディスクドライブ装置２００に不具合が生じる可能性が高いと推定される。換言すれば、各パラメータ値が大きいほど、ディスクドライブ装置２００の余命が短いと推定される。そこで、結果取得モジュール１２１は、図４の選択処理において、各パラメータ値の大きさに応じて、提供する自己テスト結果、すなわち、自己テストを実行するか否かを選択する。
【００９５】
図４の最初のステップＳ１７０では、結果取得モジュール１２１は、ディスクドライブ装置２００の動作状態が、Active状態であるか否かを判断する。指示モジュール１２０は、稼働情報取得モジュール１２３を介して、ドライブコントローラ２１０から、現行の動作状態を取得する。
【００９６】
動作状態がActive状態である場合には、結果取得モジュール１２１は、現時点が自己テストを指示すべきタイミングであると判断する。そして、次のステップＳ１８０で、結果取得モジュール１２１は、自己テストの実行指示をドライブコントローラ２１０に送信し、その自己テストの結果をドライブコントローラ２１０から取得する。ステップＳ１８０の処理は、図３のステップＳ１１０〜Ｓ１４０の処理と同様である。結果取得モジュール１２１は、こうして得られた自己テスト結果を採用し、選択処理を終了する。
【００９７】
動作状態がActive状態である場合には、自己テストモジュール２２０は、動作モードを切り替えることなく自己テストを実行できる。従って、結果取得モジュール１２１は、動作モードの切り替えに起因するディスクドライブ装置２００の寿命の短縮を抑制しつつ、新しい自己テスト結果を得ることができる。
【００９８】
一方、動作状態がActive状態ではない場合には、結果取得モジュール１２１は、ステップＳ１７５に移行し、閾値管理テーブル１２６を参照して、閾値を超えているパラメータの有無を判断する。閾値を超えているパラメータがある場合には、結果取得モジュール１２１は、ステップＳ１８５に移行し、ディスクドライブ装置２００に新たな自己テストを実行させることなく、メモリ１１４に保存済みの自己テスト結果を採用する。
【００９９】
閾値を超えているパラメータがある場合に、メモリ１１４に保存済みの自己テスト結果が採用される理由は以下の通りである。ディスクドライブ装置２００の動作モードが非Activeモードである場合には、自己テストモジュール２２０が自己テストを実行すると、自己テストの実行に伴ってディスクドライブ装置２００の動作モードが非ActiveモードからActiveモードに切り替えられる可能性がある。このような動作モードの切り替えは、ディスクドライブ装置２００に対する負荷が特に高く、ディスクドライブ装置２００の寿命を短縮させてしまう可能性が高い。そこで、結果取得モジュール１２１は、閾値を超えているパラメータがある場合には（図４：Ｓ１７５：Ｙｅｓ）、ディスクドライブ装置２００に新たな自己テストを実行させることなく、メモリ１１４に格納済みの自己テスト結果を採用する。その結果、自己テストの実行に伴う動作モードの切り替えに起因するディスクドライブ装置２００の寿命の短縮を抑えることができる。また、この場合には、自己テストの完了を待たずに迅速に自己テスト結果を提供することが可能となる。
【０１００】
なお、格納済みの結果は、動作モードが非Activeに切り替えられる直前に実行された自己テストの結果である（図３）。ここで、この自己テストの実行後には動作モードはActiveモードに切り替えられていないので、自己テストの実行時点と現時点との間のディスクドライブ装置２００の劣化の度合いの差は十分に小さいと推定される。すなわち、自己テスト結果の利用時点での信頼性の低下を抑制しつつ、格納済みの自己テスト結果を、新たな自己テストの結果の代わりに利用することができる。
【０１０１】
一方、閾値を超えているパラメータが無い場合には（図４：Ｓ１７５：Ｎｏ）、結果取得モジュール１２１は、現時点が自己テストを指示すべきタイミングであると判断し、ステップＳ１８０に移行する。ステップＳ１８０では、結果取得モジュール１２１は、自己テストモジュール２２０に自己テストを実行させ、得られた自己テスト結果を採用する。なお、モード制御モジュール２２２は、自己テストのために、動作モードをActiveモードに切り替える。この場合には、ディスクドライブ装置２００の余命が長いと推定されるので、自己テストの実行による最新の自己テスト結果の取得が優先されている。
【０１０２】
以上説明したように、ダウンタイミングモード（図３）では、指示モジュール１２０は、ディスクドライブ装置２００の動作モードがActiveモードから非Activeモードに切り替えられる契機、すなわち、スピンダウンの契機に応じて、動作モードの切り替え前に、自己テストモジュール２２０に自己テストを実行させる。この自己テストの結果は、次に動作モードが非ActiveモードからActiveモードに切り替えられるまでの間は、すなわち、次のスピンアップまでの間は、現時点でのディスクドライブ装置２００の状態を表すものとして、利用することが可能である。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【０１０３】
また、第１実施例では、図４に示すように、結果取得モジュール１２１は、テスト結果の参照要求に応じて、ディスクドライブ装置２００の動作モードとパラメータとに基づいて自己テストを実行するか否かを選択する。従って、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。なお、ステップＳ１７５における、自己テストを実行すると判断するための条件としては、近い将来の不具合の可能性が比較的低いことを示す任意の条件を採用可能である。例えば、パラメータとして、図５に示すパラメータの任意の一部のみを用いることとしてもよい。
【０１０４】
Ｂ．第２実施例：
図６は、第２実施例におけるタイミング制御処理の手順を示すフローチャートである。図３に示す第１実施例との差違は、指示モジュール１２０が、ダウンタイミングモードの代わりに、アップタイミングモードに従ってタイミング制御処理を実行する点である。アップタイミングモードでは、ディスクドライブ装置２００の動作モードが非ActiveモードからActiveモードに切り替えられたことに応じて、自己テストが実行される。データ処理システムの構成は、図１に示すデータ処理システム１０と同じである。
【０１０５】
最初のステップＳ２００では、データ中継モジュール１２２（図１）が、動作モードを非ActiveモードからActiveモードに遷移させる指示（モード切替要求）をドライブコントローラ２１０に送信する。第２実施例では、ディスクドライブ装置２００の動作モードが非Activeモードである状態でストレージディスクコントローラ１１０がディスクドライブ装置２００に対する読み書き要求を受信したことを契機に、データ中継モジュール１２２は、ドライブコントローラ２１０に、動作モードを非ActiveからActiveに切り替えるコマンドを送信する。
【０１０６】
なお、動作モードの切り替えの契機としては、任意のものを採用可能である。例えば、ユーザの指示を契機として用いてもよい。
【０１０７】
次のステップＳ２０５では、モード制御モジュール２２２は、受信したモード切替要求に従って、動作モードを移行させる。
【０１０８】
稼働情報取得モジュール１２３は、ストレージディスクコントローラ１１０（データ中継モジュール１２２）の動作をモニタすることにより、データ中継モジュール１２２がモード切替要求を送信したことを検知して、その旨を指示モジュール１２０に通知する。指示モジュール１２０は、この通知に応じて、自己テストの実行指示をドライブコントローラ２１０に送信し、結果取得モジュール１２１は、その自己テストの結果をドライブコントローラ２１０から取得する（Ｓ２１０〜Ｓ２４０）。これらのステップＳ２１０〜Ｓ２４０の処理は、図３のステップＳ１１０〜Ｓ１４０の処理と、それぞれ同様である。結果取得モジュール１２１が自己テスト結果をメモリ１１４に保存したことに応じて、タイミング制御処理は終了する。図６に示すタイミング制御処理は、動作モードが非ActiveからActiveに移行される毎に実行される。
【０１０９】
なお、自己テストの実行は、動作モードのActiveモードへの移行後の、読み書き処理の実行前に、行われることが好ましい。こうすれば、ディスクドライブ装置２００に不具合のある状態で読み書き処理が実行されることを抑制できる。このようなタイミングで自己テストを実行する方法としては、任意の方法を採用可能である。例えば、データ中継モジュール１２２が、自己テストの完了に応じて、読み書き処理を実行することとすればよい。
【０１１０】
ところで、結果取得モジュール１２１は、第１実施例と同様に、自己テスト結果の参照要求に応じて、図４の手順に従って、提供すべき自己テスト結果を選択する。ここで、ステップＳ１８５では、メモリ１１４に格納済みの自己テスト結果が用いられる。この格納済みの自己テスト結果は、最後に動作モードが非ActiveモードからActiveモードに切り替えられたときに実行された自己テストの結果である。ここで、この自己テストの実行後には動作モードはActiveモードに切り替えられていないので、自己テストの実行時点と現時点との間のディスクドライブ装置２００の状態の差は十分に小さいと推定される。従って、自己テスト結果の利用時点での信頼性の低下を抑制しつつ、格納済みの自己テスト結果を、現時点でのディスクドライブ装置２００の状態を表すものとして、利用することが可能である。
【０１１１】
以上のように、アップタイミングモード（図６）では、指示モジュール１２０は、ディスクドライブ装置２００の動作モードが非ActiveモードからActiveモードに切り替えられる契機、すなわち、スピンアップの契機に応じて、動作モードの切り替え後に、自己テストモジュール２２０に自己テスト実行の指示を送信する。従って、図４のステップＳ１８５では、結果取得モジュール１２１は、ドライブコントローラ２１０に自己テストを実行させることなく、適切な自己テスト結果を利用することができる。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【０１１２】
Ｃ．第３実施例：
図７は、第３実施例におけるタイミングモードを選択する処理の手順を示すフローチャートである。上述の第１と第２の実施例との差違は、指示モジュール１２０が、タイミングモードとして、一定間隔モードとアクセスタイミングモードとの２つのモードを有している点である。データ処理システムの構成は、図１に示すデータ処理システム１０と同じである。
【０１１３】
一定間隔モードでは、指示モジュール１２０は、所定の一定時間間隔毎にドライブコントローラ２１０に自己テストを実行させる。アクセスタイミングモードでは、指示モジュール１２０は、ディスクドライブ装置へのアクセス状況に応じて、自己テストを実行させるか否かを決定する。このように、２つのタイミングモード間では、自己テストの実行タイミング（チェックタイミング）が互いに異なっている。なお、各モードの詳細については後述する。また、以下、ディスクドライブ装置２００が対象であることとして説明する。ただし、他のディスクドライブ装置２００ａ、２００ｂを対象とする場合についても処理内容は同様である。
【０１１４】
指示モジュール１２０は、図７の手順に従って、タイミングモードを選択する。この選択処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。選択処理を実行するタイミングとしては、任意のタイミングを採用可能である。例えば、指示モジュール１２０が、所定の一定時間毎に選択処理を実行することとしてもよい。また、ユーザの指示を契機として用いてもよい。なお、第３実施例では、指示モジュール１２０は、タイミングモードの初期値として一定間隔モードを採用する。ただし、他のモードを初期値として採用してもよい。
【０１１５】
最初のステップＳ３００、Ｓ３０４では、指示モジュール１２０は、現行のタイミングモードを確認し、アクセスタイミングモードであるか否かを判断する。現行のタイミングモードがアクセスタイミングモードである場合には、指示モジュール１２０は、選択処理を終了する。
【０１１６】
現行のタイミングモードがアクセスタイミングモードではない場合、すなわち、一定間隔モードである場合には、次のステップＳ３０８で、指示モジュール１２０は、閾値管理テーブル１２６（図５）を参照して、閾値を超えているパラメータの有無を判断する。
【０１１７】
閾値を超えているパラメータがない場合には、指示モジュール１２０は、ステップＳ３１２に移行し、一定間隔モードを選択（維持）して、選択処理を終了する。
【０１１８】
閾値を超えているパラメータがある場合には、指示モジュール１２０は、ステップＳ３１６に移行し、アクセスタイミングモードを選択して、選択処理を終了する。
【０１１９】
指示モジュール１２０は、タイミングモードの選択の契機がある毎に、上述の選択処理を実行する。
【０１２０】
図８は、一定間隔モードにおけるタイミング制御処理の手順を示すフローチャートである。このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。最初のステップＳ３５０では、指示モジュール１２０は、チェック間隔設定テーブル１２８（図１）を参照することによって、現時点が自己テストの実行タイミングであるか否かを判断する。図９は、チェック間隔設定テーブル１２８の一例を示す説明図である。閾値は、ディスクドライブ装置の状態のチェック（自己テスト）を行う時間間隔を意味している。図９の例では、予め１４４０分（２４時間）に設定されている。ただし、これとは異なる値に設定されていてもよい。現在の値は、最後の自己テストの実行時点から現時点までの経過時間である。以下、この現在の値（チェック間隔の現在の値）のことを「チェック経過時間」とも呼ぶ。指示モジュール１２０は、ストレージディスクコントローラ１１０のタイマ（図示せず）を用いることによって、このチェック経過時間を更新する。
【０１２１】
チェック経過時間が閾値以下である場合には、指示モジュール１２０は、実行タイミングではないと判断し、チェック経過時間が閾値を超えることを待つ。
【０１２２】
チェック経過時間が閾値を超えている場合には、指示モジュール１２０は、自己テストの実行指示をドライブコントローラ２１０に送信し、結果取得モジュール１２１は、その自己テストの結果をドライブコントローラ２１０から取得する（Ｓ３５５〜Ｓ３６５）。これらのステップＳ３５５、Ｓ３６０、Ｓ３６５のそれぞれの処理は、図３のステップＳ１１０、Ｓ１２０−Ｓ１２５、Ｓ１４０のそれぞれの処理と同じである（ステップＳ３６０の処理は、ステップＳ１２０、Ｓ１２５の処理と同じである）。なお、一定間隔モードでは、自己テストは、ディスクドライブ装置２００の現行の動作モードに拘わらずに実行される。
【０１２３】
指示モジュール１２０は、自己テスト結果が読み出されてメモリ１１４に保存されたことに応じて、チェック経過時間をゼロにリセットし、次の実行タイミングを待つ。なお、チェック経過時間のリセットのタイミングとしては、自己テストの実行に応じて定まる任意のタイミングを採用可能である。例えば、図８のステップＳ３５５でチェック経過時間がリセットされることとしてもよい。これは、後述する他の実施例についても同様である。
【０１２４】
図１０は、アクセスタイミングモードにおけるタイミング制御処理の手順を示すフローチャートである。図８に示す一定間隔モードとの差違は、チェック経過時間が閾値を超えている場合に、指示モジュール１２０が、さらに、ディスクドライブ装置２００に対する読み書き要求を待って、ドライブコントローラ２１０に自己テストを実行させる点である。具体的には、ステップＳ３５０とステップＳ３５５との間に、読み書き要求を待つステップＳ３５２が設けられている。また、ステップＳ３６５の後に、読み書き要求に応じた読み書き処理を実行するステップＳ３７０が設けられている。他のステップＳ３５０、Ｓ３５５、Ｓ３６０、Ｓ３６５の処理は、図８の例と同じである。
【０１２５】
チェック経過時間が閾値を超えている場合には（ステップＳ３５０：Ｙｅｓ）、指示モジュール１２０は、ステップＳ３５２に移行する。ステップＳ３５２では、稼働情報取得モジュール１２３は、データ中継モジュール１２２の動作をモニタすることにより、データ中継モジュール１２２（コントローラ１１０）がリードコマンドやライトコマンドを受信したことを検知して、その旨を指示モジュール１２０に通知する。指示モジュール１２０は、この通知に応じて、現時点が自己テストを指示すべきタイミングであると判断し、ステップＳ３５５に移行して、自己テストの実行指示をドライブコントローラ２１０に送信する。そして、結果取得モジュール１２１は、その自己テストの結果をドライブコントローラ２１０から取得して、メモリ１１４に保存する（Ｓ３６０、Ｓ３６５）。これらのステップＳ３５５、Ｓ３６０、Ｓ３６５の処理は、データ中継モジュール１２２がホストコンピュータ４００からのリードコマンドやライトコマンドに応じたリード処理やライト処理を実行する前に、実行される。
【０１２６】
自己テストの完了に応じて、次のステップＳ３７０で、データ中継モジュール１２２は、ディスクドライブ装置２００にリードコマンドやライトコマンドを送信する。送信されるコマンドは、ホストコンピュータ４００の要求に応じたものである。
【０１２７】
以上のようにして、自己テスト結果がメモリ１１４に保存される。この自己テスト結果は、図４と同じ手順に従って利用される。
【０１２８】
以上のように、アクセスタイミングモードでは、指示モジュール１２０は、ディスクドライブ装置２００に対する読み書き要求に同期して、自己テストモジュール２２０に自己テストを実行させる。従って、アクセスタイミングモードでは、自己テスト実行のみのためにディスクドライブ装置２００の動作モードが非ActiveモードからActiveモードに切り替えられることが抑制される。その結果、自己テストの実行に起因するディスクドライブ装置２００の寿命の短縮を抑えることができる。
【０１２９】
また、第３実施例では、指示モジュール１２０は、ディスクドライブ装置２００の動作履歴を表すパラメータに基づいて自己テスト実行のタイミングを切り替えている（図７）。具体的には、指示モジュール１２０は、パラメータに基づいて、近い将来にディスクドライブ装置２００に不具合が生じる可能性の高さを判断する。そして、指示モジュール１２０は、可能性が比較的高いと判断した場合には、アクセスタイミングモードを選択し、可能性が比較的低いと判断した場合には、一定間隔モードを選択する。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【０１３０】
なお、図７のステップＳ３０８における、アクセスタイミングモードを選択するための条件としては、近い将来の不具合の可能性が比較的高いことを示す任意の条件を採用可能である。例えば、パラメータとして、図５に示すパラメータの任意の一部のみを用いることとしてもよい。
【０１３１】
また、アクセスタイミングモードの代わりに用いられるタイミングモードとしては、一定間隔モードに限らず、任意のタイミングモードを利用可能である。ただし、ディスクドライブ装置２００の動作状況と動作履歴とに拘わらずに自己テストの実行を指示するモードを採用することが好ましい。こうすれば、自己テスト結果の利用時点での信頼性を高めることができる。例えば、所定のスケジュールに従って自己テストの実行を指示するモードを採用してもよい。ただし、一定間隔モードを採用すれば、定期的にテスト結果が更新されるので、テスト結果の利用時点での信頼性を効果的に高めることができる。
【０１３２】
Ｄ．第４実施例：
図１１は、タイミング制御処理の別の例の手順を示すフローチャートである。図８に示す一定間隔モードとの差違は、このアクセス頻度モードでは、チェック経過時間が閾値を超えている場合に、さらに、指示モジュール１２０が、ディスクドライブ装置への現時点でのアクセス頻度に応じて、自己テストを実行するか否かを判断する点である。なお、このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。また、以下、ディスクドライブ装置２００が対象であることとして説明する。ただし、他のディスクドライブ装置２００ａ、２００ｂを対象とする場合についても処理内容は同様である。
【０１３３】
最初のステップＳ４００では、稼働情報取得モジュール１２３が、データ中継モジュール１２２の動作をモニタすることにより、閾値管理テーブル１２６の「R/W頻度」の現在の値を更新する。第４実施例では、「R/W頻度」として、最後のディスクドライブ装置２００に対するリード処理あるいはライト処理の実行時点からの経過時間を採用している。以下、R/W頻度の現在の値を「アクセス経過時間」とも呼ぶ。
【０１３４】
次のステップＳ４１０では、指示モジュール１２０は、チェック間隔設定テーブル１２８（図９）を参照することによって、チェック経過時間が閾値以下であるか否かを判断する。このステップＳ４１０の処理は、図８のステップＳ３５０の処理と同じである。
【０１３５】
チェック経過時間が閾値以下である場合には（Ｓ４１０：Ｎｏ）、指示モジュール１２０は、実行タイミングではないと判断し、チェック経過時間が閾値を超えることを待つ。この間も、稼働情報取得モジュール１２３は、適切に、アクセス経過時間（「R/W頻度」の現在の値）を更新する。
【０１３６】
チェック経過時間が閾値を超えている場合には（Ｓ４１０：Ｙｅｓ）、指示モジュール１２０は、ステップＳ４２０で閾値管理テーブル１２６（図５）を参照し、ステップＳ４３０で、アクセス経過時間が閾値を超えているか否かを判断する。ここで、アクセス経過時間が閾値を超えていることは、アクセスの頻度が閾値で表される頻度未満であることを意味している。
【０１３７】
アクセス経過時間が閾値を超えていない場合には、指示モジュール１２０は、ディスクドライブ装置２００に新たな自己テストを実行させることなく、チェック経過時間をゼロにリセットし、次の実行タイミングを待つ。
【０１３８】
アクセス経過時間が閾値を超えている場合には、指示モジュール１２０は、現時点が自己テストを指示すべきタイミングであると判断して、自己テストの実行指示をドライブコントローラ２１０に送信する。結果取得モジュール１２１は、その自己テストの結果をドライブコントローラ２１０から取得する（Ｓ４５５〜Ｓ４６５）。これらのステップＳ４５５、Ｓ４６０、Ｓ４６５の処理は、図８のステップＳ３５５、Ｓ３６０、Ｓ３６５の処理と、それぞれ同じである。指示モジュール１２０は、自己テスト結果が読み出されてメモリ１１４に保存された後、チェック経過時間をゼロにリセットし、次の実行タイミングを待つ。
【０１３９】
このように、自己テスト結果がメモリ１１４に保存される。この自己テスト結果は、図４と同じ手順に従って利用される。
【０１４０】
以上のように、アクセス頻度モードでは、指示モジュール１２０は、現時点でのアクセス経過時間が閾値以下である場合、すなわち、現時点でのアクセス頻度が閾値によって表される頻度よりも高い場合には、ディスクドライブ装置２００に自己テストを実行させない。この理由は、以下の通りである。現時点でのアクセス頻度が高いことは、ディスクドライブ装置２００が頻繁な読み書き要求に応じて正常に動作していることを意味している。従って、近い将来にディスクドライブ装置２００に不具合が生じる可能性の現時点までの変化は十分に小さいと推定される。換言すれば、格納済みの自己テスト結果を取得した時点と現時点との間のディスクドライブ装置２００の劣化の度合いの差は十分に小さいと推定される。そこで、アクセス頻度モードでは、現時点でのアクセス頻度が比較的高い場合には自己テストは実行されず、格納済みの自己テスト結果が引き続き利用される。この場合でも、上述したように、自己テスト結果の利用時点での信頼性の低下が抑制される。また、自己テストの実行に起因するディスクドライブ装置２００の寿命の短縮を抑えることができる。
【０１４１】
なお、アクセス頻度モードに従った処理の実施形態としては、種々の形態を採用可能である。例えば、指示モジュール１２０が、アクセス頻度モードに従った処理を継続することとしてもよい。この代わりに、図７に示す手順において、アクセスタイミングモードの代わりにアクセス頻度モードを用いることとしてもよい。
【０１４２】
Ｅ．第５実施例：
図１２は、タイミング制御処理の別の例の手順を示すフローチャートである。図８に示す一定間隔モードとの差違は、この状況判定モードでは、チェック経過時間が閾値を超えている場合に、さらに、指示モジュール１２０が、ディスクドライブ装置の動作状態と、スピンアップとスピンダウンとのそれぞれの回数と、に応じて、自己テスト実行のタイミングを切り替える点である。なお、このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。また、以下、ディスクドライブ装置２００が対象であることとして説明する。ただし、他のディスクドライブ装置２００ａ、２００ｂを対象とする場合についても処理内容は同様である。
【０１４３】
最初のステップＳ５００では、指示モジュール１２０は、チェック間隔設定テーブル１２８（図９）を参照することによって、チェック経過時間が閾値以下であるか否かを判断する。このステップＳ５００の処理は、図８のステップＳ３５０の処理と同じである。
【０１４４】
次のステップＳ５１０では、指示モジュール１２０は、稼働情報取得モジュール１２３を介して、ディスクドライブ装置２００の動作モードが非Activeモードであるか否かを判断する。
【０１４５】
動作モードがActiveモードである場合には、指示モジュール１２０は、現時点が自己テストを指示すべきタイミングであると判断して、自己テストの実行指示をドライブコントローラ２１０に送信する（Ｓ５５５）。結果取得モジュール１２１は、その自己テストの結果をドライブコントローラ２１０から取得する（Ｓ５６０〜Ｓ５６５）。これらのステップＳ５５５、Ｓ５６０、Ｓ５６５の処理は、図８のステップＳ３５５、Ｓ３６０、Ｓ３６５の処理と、それぞれ同様である。指示モジュール１２０は、自己テスト結果が読み出されてメモリ１１４に保存された後、チェック経過時間をゼロにリセットして、次の実行タイミングを待つ。
【０１４６】
動作モードが非Activeモードである場合（Activeモードでない場合）には、指示モジュール１２０は、ステップＳ５２０に移行する。このステップＳ５２０では、指示モジュール１２０は、図４のＳ１７５や図７のＳ３０８と同様に、近い将来にディスクドライブ装置２００に不具合が生じる可能性の高さを判断する。具体的には、指示モジュール１２０は、「Spin-up回数」と「Spin-down回数」とのそれぞれが、それぞれの閾値に基づく基準値以上か否かを判断する。ここで、基準値としては、閾値よりも小さい種々の値を採用可能である。例えば、閾値よりも所定値（例えば「１」）だけ小さい値を採用可能である。判断の基準値として閾値よりも小さい値が用いられる理由については後述する。
【０１４７】
「Spin-up回数」と「Spin-down回数」と両方が、それぞれの判断基準値よりも小さい場合には、指示モジュール１２０が、現時点が自己テストを指示すべきタイミングであると判断する。そして、指示モジュール１２０と結果取得モジュール１２１とは、ステップＳ５５５、Ｓ５６０、Ｓ５６５の処理を実行することによって、新たな自己テストによる自己テスト結果をメモリ１１４に格納する。
【０１４８】
「Spin-up回数」と「Spin-down回数」との少なくとも一方が、それぞれの判断基準値以上である場合には、指示モジュール１２０は、ステップＳ５３０に移行する。このステップＳ５３０の処理は、図１０のステップＳ３５２の処理と同じである。ストレージディスクコントローラ１１０がリードコマンドやライトコマンドを受信したことに応じて、指示モジュール１２０は、現時点が自己テストを指示すべきタイミングであると判断する。そして、指示モジュール１２０は、ステップＳ５５５に移行し、自己テストの実行指示をドライブコントローラ２１０に送信する。そして、結果取得モジュール１２１は、その自己テストの結果をドライブコントローラ２１０から取得して、メモリ１１４に保存する（Ｓ５６０、Ｓ５６５）。これらのステップＳ５５５、Ｓ５６０、Ｓ５６５の処理は、図１０の例と同様に、データ中継モジュール１２２がホストコンピュータ４００からのリードコマンドやライトコマンドに応じたリード処理やライト処理を実行する前に、実行される。また、この場合には、データ中継モジュール１２２は、自己テストの完了に応じて、リード処理やライト処理を実行する（図示省略）。なお、データ中継モジュール１２２によるリード処理やライト処理の実行タイミングとしては、自己テストの完了後の任意のタイミングを採用可能である。例えば、ステップＳ５６０とステップＳ５６５との間でもよく、ステップＳ５６５の後でもよい。
【０１４９】
以上のようにして、自己テスト結果がメモリ１１４に保存される。この自己テスト結果は、図４と同じ手順に従って利用される。
【０１５０】
以上のように、状況判定モードでは、指示モジュール１２０は、ディスクドライブ装置２００の現行の動作モードと、ディスクドライブ装置２００の動作履歴を表すパラメータと、の両方に基づいて自己テスト実行のタイミングを切り替えている。具体的には、動作モードがActiveモードである場合には、チェック経過時間で決まるタイミングで自己テストが実行される。この場合には、図４のステップＳ１７０、Ｓ１８０と同様に、動作モードの切り替えに起因するディスクドライブ装置２００の寿命の短縮を抑制しつつ、新しい自己テスト結果が取得される。
【０１５１】
また、現行の動作モードが非Activeモードであっても、「Spin-up回数」と「Spin-down回数」と両方が、それぞれの判断基準値よりも小さい場合には、チェック経過時間で決まるタイミングで自己テストが実行される。この場合には、ディスクドライブ装置２００の余命が長いと推定されるので、自己テストの実行による最新の自己テスト結果の取得が優先されている。
【０１５２】
一方、現行の動作モードが非Activeモードであり、かつ、「Spin-up回数」と「Spin-down回数」との少なくとも一方が、それぞれの判断基準値以上である場合には、ディスクドライブ装置２００に対する読み書き要求に同期して、自己テストが実行される。従って、この場合には、自己テスト実行のみのために動作モードが非ActiveモードからActiveモードに切り替えられることが抑制される。その結果、自己テストの実行に伴う動作モードの切り替えに起因するディスクドライブ装置２００の寿命の短縮を抑えることができる。
【０１５３】
なお、ステップＳ５２０の判断で用いるパラメータとしては、「Spin-up回数」と「Spin-down回数」とに限らず、他の種々のパラメータを採用可能である。例えば、図５に示す閾値管理テーブル１２６の全てのパラメータに関して、それぞれの判断基準値以上のパラメータが有る場合に、指示モジュール１２０がステップＳ５３０に移行することとしてもよい。なお、判断基準値として閾値よりも小さい値が用いられるのは、パラメータ値が自己テストの実行によって閾値を超えてしまうことを抑制するためである。ただし、判断基準値として閾値をそのまま用いてもよい。また、ステップＳ５２０における、読み書き要求の有無に拘わらずに自己テストを指示するための条件としては、近い将来の不具合の可能性が比較的低いことを示す任意の条件を採用可能である。
【０１５４】
また、状況判定モードに従った処理の実施形態としては、種々の形態を採用可能である。例えば、指示モジュール１２０が、状況判定モードに従った処理を継続することとしてもよい。この代わりに、図７に示す手順において、アクセスタイミングモードの代わりに状況判定モードを用いることとしてもよい。
【０１５５】
また、ステップＳ５１０とＳ５２０の間に、指示モジュール１２０が、ディスクドライブ装置２００が非Active状態となる直前に自己テストが実行されたか否かを判断することとしてもよい。ここで、このような自己テストの結果が結果取得モジュール１２１によって取得されている場合には、指示モジュール１２０は、自己テスト指示をせずに、チェック経過時間をゼロにリセットして、次の実行タイミングを待つこととしてもよい。こうすれば、自己テストの実行に起因するディスクドライブ装置２００の寿命の短縮を抑制できる。
【０１５６】
Ｆ．第６実施例：
Ｆ１．装置構成：
図１３は、第６実施例におけるストレージシステム３００ｆの構成を示す説明図である。図１に示すストレージシステム３００との差違は、タイミング制御処理、すなわち、自己テストの実行タイミングの決定が、ストレージディスクコントローラ１１０の代わりに、ドライブコントローラ２１０の指示モジュール１２０ｆによって行われる点である。そのために、ストレージシステム３００ｆでは、指示モジュール１２０ｆと、稼働情報取得モジュール１２３ｆと、閾値管理テーブル１２６と、チェック間隔設定テーブル１２８とが、ストレージディスクコントローラ１１０の代わりに、ドライブコントローラ２１０のメモリ２１８に格納されている。他の構成は、図１のストレージシステム３００と同じである。
【０１５７】
なお、図１３では、ストレージコントローラ１００の構成要素として、ストレージディスクコントローラ１１０のメモリ１１４と、結果取得モジュール１２１ｆと、のみが示されており、他の構成要素は図示が省略されている。また、ディスクドライブ装置２００の構成要素として、ドライブコントローラ２１０のメモリ２１８と、指示モジュール１２０ｆと、稼働情報取得モジュール１２３ｆと、閾値管理テーブル１２６と、チェック間隔設定テーブル１２８と、自己テストモジュール２２０ｆと、のみが示されており、他の構成要素は図示が省略されている。なお、図１３には示されていない他のディスクドライブ装置２００ａ、２００ｂ（図１）の構成も、図１３のディスクドライブ装置２００と同じである。
【０１５８】
Ｆ２．タイミング制御処理：
図１４は、第６実施例におけるタイミング制御処理の手順を示すフローチャートである。図１４の例では、指示モジュール１２０ｆは、図８と同様の一定間隔モードに従ってタイミング制御処理を実行する。このタイミング制御処理は、自己テスト結果の参照要求の有無に拘わらずに実行される。また、以下、ディスクドライブ装置２００が対象であることとして説明する。ただし、他のディスクドライブ装置２００ａ、２００ｂを対象とする場合についても処理内容は同様である。
【０１５９】
最初のステップＳ６００では、ストレージディスクコントローラ１１０が、チェック間隔設定テーブル１２８の閾値を、ドライブコントローラ２１０に送信する。すると、指示モジュール１２０ｆは、受信した閾値をチェック間隔設定テーブル１２８に格納する。以後、指示モジュール１２０ｆは、実行タイミングであるか否かを判断するために、この閾値と、チェック経過時間（チェック間隔の現在の値）とを用いる。なお、ストレージディスクコントローラ１１０は、予め設定された所定の閾値を送信する。また、このステップＳ６００は、ディスクドライブ装置２００がストレージコントローラ１００に接続された後に１回だけ実行されればよい。なお、予め所定の閾値をチェック間隔設定テーブル１２８に格納しておくこととしてもよい。この場合には、このステップＳ６００を省略してもよい。
【０１６０】
次のステップＳ６０５では、指示モジュール１２０ｆが、現時点が自己テストの実行タイミングであるか否かを判断する。この処理は、図８のステップＳ３５０と同じである。また、指示モジュール１２０ｆは、ドライブコントローラ２１０のタイマ（図示せず）を用いることによって、チェック経過時間（チェック間隔の現在の値）を更新する。
【０１６１】
チェック経過時間が閾値以下である場合には、指示モジュール１２０ｆは、実行タイミングではないと判断し、チェック経過時間が閾値を超えることを待つ。
【０１６２】
チェック経過時間が閾値を超えている場合には、指示モジュール１２０ｆは、次のステップＳ６１５で、自己テストの実行を自己テストモジュール２２０ｆに指示する。自己テストモジュール２２０ｆは、自己テストが終了したことに応じて（ステップＳ６３０）、ステップＳ６３５に移行する。ステップＳ６３５では、自己テストモジュール２２０ｆは、テスト結果をドライブコントローラ２１０のＲＡＭ（図示せず）に保存し、さらに、ストレージディスクコントローラ１１０に、テスト完了の通知を送信する。
【０１６３】
一方、結果取得モジュール１２１ｆは、ドライブコントローラ２１０からの通知の有無を確認する（Ｓ６１０）。通知が無い場合には、結果取得モジュール１２１ｆはステップＳ６１２に移行して通知を待つ。また、ストレージディスクコントローラ１１０は、通常の処理（例えば、ホストコンピュータ４００からのリードコマンドとライトコマンドとに応じた読み書き処理）を継続する。
【０１６４】
結果取得モジュール１２１ｆは、ドライブコントローラ２１０から自己テスト完了通知を受信することに応じて（Ｓ６１０：Ｙｅｓ）、次のステップＳ６４０に移行する。このステップＳ６４０では、結果取得モジュール１２１ｆは、ドライブコントローラ２１０に、テスト結果の読み出しコマンドを送信する。すると、ステップＳ６４５で、自己テストモジュール２２０ｆは、受信したコマンドに応じて、テスト結果をストレージディスクコントローラ１１０に送信する。結果取得モジュール１２１ｆは、次のステップＳ６５０で、受信したテスト結果をメモリ１１４に保存する。以後、指示モジュール１２０ｆと自己テストモジュール２２０ｆとは、図１４の処理を繰り返し実行する。
【０１６５】
以上、ディスクドライブ装置２００に関するタイミング制御処理について説明したが、他のディスクドライブ装置２００ａ、２００ｂについても同様に処理が実行される。
【０１６６】
以上のように、第６実施例では、ドライブコントローラ２１０（指示モジュール１２０ｆと自己テストモジュール２２０ｆ）は、ストレージディスクコントローラ１１０からの指示を用いずに、自発的に、自己テストを実行している。従って、ストレージディスクコントローラ１１０とドライブコントローラ２１０との間で交換されるコマンドの量を低減し、これらのコントローラ１１０、２１０間の接続ラインの負荷を低減することができる。また、第６実施例では、自己テストの実行タイミング制御が、ストレージディスクコントローラ１１０の代わりにドライブコントローラ２１０によって行われるので、ストレージディスクコントローラ１１０の構成を簡略化することができる。これらの利点は、ストレージコントローラ１００に接続されるディスクドライブ装置の数が多いほど顕著である。
【０１６７】
なお、自己テストモジュール２２０ｆによって実行されるタイミング制御処理のモード（タイミングモード）としては、一定間隔モードに限らず、他の種々のタイミングモードを採用可能である。例えば、上述の各実施例で説明した各タイミングモードを採用可能である。この際、指示モジュール１２０ｆは、図１４のステップＳ６０５の代わりに、上述の各タイミングモードにおいて自己テストの実行指示に至るまでに指示モジュール１２０によって実行された処理を実行すればよい。
【０１６８】
例えば、図１０に示すアクセスタイミングモードを採用してもよい。この場合には、指示モジュール１２０ｆは、図１４のステップＳ６０５の代わりに、図１０のステップＳ３５０、Ｓ３５２と同様の処理を実行すればよい。ステップＳ３５２では、指示モジュール１２０ｆは、ドライブコントローラ２１０の動作をモニタする稼働情報取得モジュール１２３ｆを介して、ドライブコントローラ２１０がストレージコントローラ１００からリードコマンドやライトコマンドを受信したことを検知する。
【０１６９】
また、図３に示すダウンタイミングモードを採用してもよい。この場合には、指示モジュール１２０ｆは、稼働情報取得モジュール１２３ｆを介して、モード制御モジュール２２２（図１）が動作モードをActiveから非Activeに切り替える旨を検知し、その切り替え前に、自己テストの実行を指示すればよい。
【０１７０】
また、図６に示すアップタイミングモードを採用してもよい。この場合には、指示モジュール１２０ｆは、モード制御モジュール２２２（図１）が動作モードを非ActiveからActiveに切り替えたことに応じて、自己テストの実行を指示すればよい。
【０１７１】
また、図１１に示すアクセス頻度モードを採用してもよい。この場合には、指示モジュール１２０ｆと稼働情報取得モジュール１２３ｆとが、図１４のステップＳ６０５の代わりに、図１１のステップＳ４００、Ｓ４１０、Ｓ４２０、Ｓ４３０と同様の処理を実行すればよい。
【０１７２】
また、図１２に示す状況判定モードを採用してもよい。この場合には、指示モジュール１２０ｆと稼働情報取得モジュール１２３ｆとは、図１４のステップＳ６０５の代わりに、図１２のステップＳ５００、Ｓ５１０、Ｓ５２０、Ｓ５３０と同様の処理を実行すればよい。
【０１７３】
また、自己テストモジュール２２０ｆが、図７に示す処理に従って、タイミングモードを選択することとしてもよい。この場合も、上述した各実施例と同様に、アクセスタイミングモードの代わりに、他のタイミングモードを採用可能である。
【０１７４】
なお、自己テストモジュール２２０ｆが一定間隔モードのみを実行する場合には、メモリ２１８（図１３）から閾値管理テーブル１２６を省略してもよい。また、結果取得モジュール１２１ｆが、図４の手順に従って、提供すべき自己テスト結果を選択することとしてもよい。この場合には、メモリ１１４にも稼働情報取得モジュール１２３（図１）と閾値管理テーブル１２６とが格納される。なお、この場合には、稼働情報取得モジュール１２３と稼働情報取得モジュール１２３ｆとの全体が、本発明における「稼働情報取得部」に相当する。
【０１７５】
Ｆ３．自己テスト完了通知の無い状態が続いた場合の処理：
図１５は、結果取得モジュール１２１ｆ（図１３）が自己テスト完了通知を受信しない状態が続いた場合に実行される処理の手順を示すフローチャートである。最初のステップＳ６００は、図１４のステップＳ６００と同じである。その後、結果取得モジュール１２１ｆは、ドライブコントローラ２１０からの自己テスト完了通知を待つ。ここで、結果取得モジュール１２１ｆは、最後に自己テストの完了通知を受けてからの経過時間（以下、「通知経過時間」とも呼ぶ）をストレージディスクコントローラ１１０のタイマ（図示せず）を用いて計測する。
【０１７６】
通知経過時間が、ステップＳ６００で設定された閾値を越えるまでにテスト完了通知が届いた場合には（Ｓ６１０ａ：Ｙｅｓ）、結果取得モジュール１２１ｆは、通知経過時間をゼロにリセットするとともに図１４のステップＳ６４０に移行し、図１４と同じ処理を実行する。
【０１７７】
テスト完了通知が届かない状態で通知経過時間が閾値を越えた場合には（Ｓ６１０ａ：Ｎｏ）、結果取得モジュール１２１ｆは、さらに閾値と同じ時間だけ、自己テスト完了通知を待つ。すなわち、結果取得モジュール１２１ｆは、閾値の２倍の時間、通知を待つ。この間にテスト完了通知が届いた場合には（Ｓ６１０ｂ：Ｙｅｓ）、結果取得モジュール１２１ｆは、通知経過時間をゼロにリセットするとともに図１４のステップＳ６４０に移行し、図１４と同じ処理を実行する。
【０１７８】
閾値の２倍の時間内にテスト完了通知が届かない場合には（Ｓ６１０ｂ：Ｎｏ）、結果取得モジュール１２１ｆは、自己テストの実行指示をドライブコントローラ２１０に送信し、その自己テストの結果をドライブコントローラ２１０から取得する（Ｓ６６０〜Ｓ６９０）。これらのステップＳ６６０、Ｓ６７０、Ｓ６７５、Ｓ６９０の処理は、図３のステップＳ２１０、Ｓ２２０、Ｓ２２５、Ｓ２４０の処理と、それぞれ同様である。ここで、正常な自己テスト結果が届かない場合には、結果取得モジュール１２１ｆは、異常通知を行うことが好ましい。
【０１７９】
以上のように、第６実施例では、ディスクドライブ装置２００が自発的に自己テストを実行する場合であっても、自己テスト完了通知が届かない状態が続く場合には、結果取得モジュール１２１ｆは、ディスクドライブ装置２００に自己テストの実行指示を送信する。その結果、ディスクドライブ装置２００に不具合が生じているにも拘わらず、ストレージコントローラ１００がその旨の情報を有していない状態が過剰に長く続くことを抑制できる。
【０１８０】
なお、結果取得モジュール１２１ｆが最後に自己テストの完了通知を受けてから自己テスト実行指示を送信するまでの待ち時間としては、閾値の２倍の時間に限らず、任意の時間を採用可能である。ただし、この待ち時間が、通常時の自己テストの繰り返し時間間隔よりも長いことが好ましい。こうすれば、過剰な回数の自己テストの実行に起因するディスクドライブ装置２００の寿命の短縮を抑制できる。このような待ち時間としては、所定の値を採用可能である。
【０１８１】
Ｇ．第７実施例：
上記各実施例において、指示モジュールが、閾値設定要求に応じて各テーブル１２６、１２８の閾値を設定することとしてもよい。図１６は、このようなストレージシステム３００ｇの構成の一例を示す説明図である。図１に示すストレージシステム３００との差違は、ストレージコントローラ１００ｇが、管理インターフェース（Ｉ／Ｆ）１７０を有している点である。この管理Ｉ／Ｆ１７０には、管理端末５００が接続されている。他の構成は、図１のストレージシステム３００と同じである。なお、図１６では、ストレージシステム３００ｇの構成要素として、ストレージコントローラ１００ｇの一部（管理Ｉ／Ｆ１７０と、スイッチ１６０と、ストレージディスクコントローラ１１０と、メモリ１１４と、指示モジュール１２０ｇと、閾値管理テーブル１２６と、チェック間隔設定テーブル１２８）のみが示されており、他の構成要素は図示が省略されている。
【０１８２】
管理端末５００は、キーボードや操作パネル等の入力部（図示せず）を有しており、ユーザは、この管理端末５００（入力部）を操作することによって、各テーブル１２６、１２８の閾値Ｔｈを指定できる。ここで、閾値Ｔｈの指定方法としては、種々の方法を採用可能である。例えば、ユーザが直接に閾値Ｔｈを入力する方法や、ユーザが閾値Ｔｈを格納するデータファイルを指定する方法を採用可能である。管理端末５００は、入力されたユーザの指示に従って、閾値を指定閾値Ｔｈに設定する旨の要求をストレージコントローラ１００ｇに送信する。指示モジュール１２０ｇは、受信した要求に応じて、各テーブル１２６、１２８の閾値を、受信した指定閾値Ｔｈに設定する。
【０１８３】
このように、第７実施例では、指示モジュール１２０ｇは、閾値設定要求に応じて閾値を設定することが可能である。従って、指示モジュール１２０ｇは、タイミング制御処理の実行に、ストレージシステム３００ｇの利用状況に適した閾値を用いることができる。例えば、ディスクドライブ装置に適した閾値の利用が可能となる。この利点は、ストレージコントローラ１００ｇに接続されるディスクドライブ装置が、仕様が異なる他の種類のディスクドライブ装置に交換される場合に、特に顕著となる。
【０１８４】
同様に、指示モジュール１２０ｇが、図１５の実施例で用いられる待ち時間を、設定要求に応じて設定することとしてもよい。なお、閾値管理テーブル１２６とチェック間隔設定テーブル１２８とのそれぞれの閾値の内の一部の閾値（例えば、チェック間隔設定テーブル１２８の閾値のみ）のみを設定可能としてもよい。
【０１８５】
Ｈ．第８実施例：
上記各実施例において、指示モジュールが、閾値設定要求に応じて各テーブル１２６、１２８の閾値を設定することとしてもよい。図１７は、このようなストレージシステム３００ｈの構成の一例を示す説明図である。図１３に示すストレージシステム３００ｆとの差違は２点ある。１つ目の差違は、ストレージコントローラ１００ｈが、管理インターフェース（Ｉ／Ｆ）１７０を有している点である。この管理Ｉ／Ｆ１７０には、管理端末５００が接続されている。２つ目の差違は、メモリ１１４が閾値設定モジュール１２３ｈを格納している点である。他の構成は、図１３のストレージシステム３００ｆと同じである。なお、図１７では、ストレージシステム３００ｈの構成要素として、ストレージコントローラ１００ｈの一部（管理Ｉ／Ｆ１７０と、スイッチ１６０と、ストレージディスクコントローラ１１０と、メモリ１１４と、閾値設定モジュール１２３ｈ）と、ディスクドライブ装置２００の一部（ドライブコントローラ２１０と、メモリ２１８と、指示モジュール１２０ｈと、閾値管理テーブル１２６と、チェック間隔設定テーブル１２８）と、のみが示されており、他の構成要素は図示が省略されている。
【０１８６】
管理端末５００の構成と機能とは、図１６で説明した管理端末５００と同じである。管理端末５００は、入力されたユーザの指示に従って、閾値を指定閾値Ｔｈに設定する旨の要求をストレージコントローラ１００に送信する。閾値設定モジュール１２３ｈは、受信した要求に応じて、各テーブル１２６、１２８の閾値を、受信した指定閾値Ｔｈに設定する旨の要求をドライブコントローラ２１０に送信する。すると、指示モジュール１２０ｈは、受信した要求に応じて、各テーブル１２６、１２８の閾値を、受信した指定閾値Ｔｈに設定する。
【０１８７】
このように、第８実施例では、指示モジュール１２０ｈは、閾値設定要求に応じて閾値を設定することができる。また、閾値設定モジュール１２３ｈは、閾値設定要求に応じて、同じ閾値の設定要求をドライブコントローラ２１０（指示モジュール１２０ｈ）に送信することができる。従って、指示モジュール１２０ｈは、タイミング制御処理の実行に、ストレージシステム３００ｈの利用状況に適した閾値を用いることができる。例えば、ディスクドライブ装置に適した閾値の利用が可能となる。
【０１８８】
Ｉ．第９実施例：
上記各実施例では、複数のディスクドライブ装置のそれぞれに対して、共通の閾値（各テーブル１２６、１２８の閾値）が用いられていたが、互いに独立な閾値が、それぞれ用いられてもよい。図１８は、このようなストレージシステム３００ｉの構成の一例を示す説明図である。図１に示すストレージシステム３００との差違は、少なくとも一部のパラメータの閾値が互いに異なる、第１テーブルセット１２６ｉ１、１２８ｉ１と第２テーブルセット１２６ｉ２、１２８ｉ２とが、メモリ１１４に格納されている点である。またストレージコントローラ１００には、２つのディスクドライブ装置２００ｉ１、２００ｉ２が接続されている。他の構成は、図１のストレージシステム３００と同じである。なお、図１８では、ストレージシステム３００ｉの構成要素として、ストレージコントローラ１００の一部（ストレージディスクコントローラ１１０と、メモリ１１４と、指示モジュール１２０ｉと、閾値管理テーブル１２６ｉ１、１２６ｉ２と、チェック間隔設定テーブル１２８ｉ１、１２８ｉ２）と、ディスクドライブ装置２００ｉ１、２００ｉ２と、のみが示されており、他の構成要素は図示が省略されている。
【０１８９】
指示モジュール１２０ｉは、各ディスクドライブ装置２００ｉ１、２００ｉ２に対して、上述の各実施例と同様のタイミング制御処理を実行する。ここで、指示モジュール１２０ｉは、第１ディスクドライブ装置２００ｉ１の制御には、第１閾値管理テーブル１２６ｉ１と第１チェック間隔設定テーブル１２８ｉ１とを利用する。また、指示モジュール１２０ｉは、第２ディスクドライブ装置２００ｉ２の制御には、第２閾値管理テーブル１２６ｉ２と第２チェック間隔設定テーブル１２８ｉ２とを利用する。
【０１９０】
以上のように、第９実施例では、指示モジュール１２０ｉは、２つのディスクドライブ装置２００ｉ１、２００ｉ２に対するタイミング制御処理を、互いに独立な閾値をそれぞれ用いることによって、実行する。従って、指示モジュール１２０ｉは、各ディスクドライブ装置２００ｉ１、２００ｉ２に適したタイミング制御処理を実行することができる。
【０１９１】
以上、指示モジュール１２０ｉについて説明したが、結果取得モジュール（図示せず）も、同様に、２つのディスクドライブ装置２００ｉ１、２００ｉ２に対するテスト結果の選択処理を（図４）、互いに独立な閾値をそれぞれ用いることによって、実行してもよい。こうすれば、結果取得モジュールも、各ディスクドライブ装置２００ｉ１、２００ｉ２に適したテスト結果を取得することができる。
【０１９２】
なお、ストレージコントローラ１００に接続されるディスクドライブ装置の総数としては、２以上の任意の数を採用可能である。ここで、各ディスクドライブ装置毎に、独立な閾値が用いられることとしてもよい。また、複数のディスクドライブ装置を複数のグループに分割し、各グループ毎に、独立な閾値が用いられることとしてもよい。この場合には、１つのグループのディスクドライブ装置に対しては、共通の閾値が用いられる。なお、グループを構成する方法としては、種々の方法を採用可能である。例えば、仕様が同じである１以上のディスクドライブ装置を１つのグループにまとめる方法を採用できる。
【０１９３】
また、図１６に示す実施例と同様に、指示モジュール１２０ｉが、閾値設定要求に応じて閾値を設定することとしてもよい。
【０１９４】
Ｊ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０１９５】
変形例１：
上記各実施例において、ディスクドライブ装置の動作モードが、アクセス頻度に応じて制御されないこととしてもよい。ただし、上記各実施例の利点は、MAIDのようにアクセスの無いディスクドライブ装置の少なくとも一部の動作モードを積極的に非Activeモードに切り替えるストレージシステムにおいて、特に顕著である。ここで、ストレージシステムに設けられたディスクドライブ装置の総数としては、「１」を採用してもよく、また、２以上の任意の数を採用してもよい。ただし、MAID技術の効果は、複数のディスクドライブ装置を利用する場合に、特に顕著である。
【０１９６】
変形例２：
上述した第１と第２の実施例では、チェック間隔設定テーブル１２８（図１）は使用されていないので、チェック間隔設定テーブル１２８を省略してもよい。
【０１９７】
変形例３：
上記各実施例において、ディスクドライブ装置の動作履歴を表すパラメータとしては、図５に示したパラメータに限らず、種々のパラメータを用いることができる。例えば、読み書きされたデータ量に正の相関のある種々のパラメータ（「データ量パラメータ」とも呼ぶ）を採用可能である。データ量パラメータとしては、例えば、上述した「R/W回数」や、リードコマンドとライトコマンドとで要求されたデータブロック（セクタ）の総数を採用可能である。
【０１９８】
なお、「Spin-up」と、「Spin-down」と、「Power-on」と、「Power-off」と、のそれぞれの回数と、「データ量パラメータ」とは、ディスクドライブ装置２００によって実行された処理の総量を表すパラメータであるので、ディスクドライブ装置２００の寿命との関連性が特に強い。従って、近い将来にディスクドライブ装置２００に不具合が生じる可能性の高さの判断（例えば、図４のＳ１７５、図７のＳ３０８、図１２のＳ５２０）には、これらのパラメータの少なくとも一部を利用することが好ましい。
【０１９９】
また、各パラメータの頻度としては、所定の一定時間内における回数に限らず、頻度に相関のある種々の値を採用可能である。例えば、最後に処理を実行してからの経過時間を採用してもよい。例えば、「Spin-up頻度」として、ディスクドライブ装置２００が最後にスピンアップされてからの経過時間を採用してもよい。他のパラメータの頻度についても同様である。
【０２００】
変形例４：
上記各実施例において、メモリ１１４に格納済みの自己テスト結果を利用するための条件としては、図４に示す条件に限らず、種々の条件を採用可能である。例えば、常に、メモリ１１４に格納済みの自己テスト結果を利用することとしてもよい。ただし、図４に示す実施例のように、ディスクドライブ装置の動作履歴を表すパラメータに基づいて、近い将来にディスクドライブ装置に不具合が生じる可能性の高さを判断し、可能性が比較的高いと判断した場合には、自己テストを実行せずにメモリ１１４に格納済みの結果を利用し、可能性が比較的低いと判断した場合には、新たな自己テストの結果を利用することが好ましい。こうすれば、自己テストの実行時点と自己テスト結果の利用時点との時間差が過剰に大きくなることを抑制できる。その結果、自己テストの結果の利用時点での信頼性と、自己テストに起因するディスクドライブ装置の寿命の短縮抑制と、のバランスをとることができる。
【０２０１】
また、図４に示す実施例のように、ディスクドライブ装置の動作モードが、動作モードを切り替えずに自己テストの実行が可能なモード（例えば、Activeモード）である場合には、新たな自己テストによる自己テスト結果を利用することが好ましい。こうすれば、動作モードの切り替えに起因するディスクドライブ装置２００の寿命の短縮を抑制しつつ、新しい自己テスト結果を得ることができる。
【０２０２】
変形例５：
図１０、図１１、図１２に示す実施例において、自己テストの指示の要否を確認するタイミングとしては、一定時間間隔のタイミングに限らず、任意のタイミングを採用可能である。例えば、ユーザの指示を契機として、要否を確認することとしてもよい。また、所定のスケジュールに従って、要否を確認することとしてもよい。
【０２０３】
変形例６：
図１６、図１７に示す実施例において、閾値設定要求を発行する装置としては、管理端末５００に限らず、任意の装置を採用可能である。例えば、ホストコンピュータ４００（図１）が、閾値の設定要求をストレージコントローラ１００ｇ、１００ｈに送信することとしてもよい。また、ストレージコントローラ１００ｇ、１００ｈに接続された外部の装置に限らず、ストレージディスクコントローラ１１０が、閾値設定要求を発行することとしてもよい。
【０２０４】
変形例７：
上記各実施例では、指示モジュール１２０と結果取得モジュール１２１とが、共通の閾値（例えば、閾値管理テーブル１２６）を利用していたが、互いに異なる閾値を利用することとしてもよい。また、結果取得モジュール１２１が、図１６に示す実施例の指示モジュール１２０ｇと同様に、閾値設定要求に応じて、図４のステップＳ１７５で利用する閾値（例えば、メモリ１１４の閾値管理テーブル１２６の閾値）を設定することとしてもよい。
【０２０５】
変形例８：
上記各実施例において、ストレージコントローラとドライブコントローラとの接続形態としては、種々の形態を採用可能である。例えば、データの転送ラインと、コマンドやステータス情報（例えば、動作モード情報）の転送ラインとが、独立に設けられていてもよい。
【０２０６】
変形例９：
上記各実施例において、自己テスト結果を格納するメモリとして、不揮発性メモリを採用することが好ましい。こうすれば、ストレージコントローラ１００やディスクドライブ装置２００の電源がＯＦＦにされた場合にも、自己テスト結果が不揮発性メモリによって保持される。その結果、電源がＯＮにされた後に、すぐに自己テスト結果を利用することが可能となる。
【０２０７】
また、自己テスト結果を、メモリ１５０（図１）に格納することとしてもよい。こうすれば、１つのストレージコントローラ１００に複数のストレージディスクコントローラ１１０が設けられる場合であっても、各コントローラ１１０によって取得された自己テスト結果のそれぞれが共通のメモリ１５０に格納される。その結果、各コントローラ１１０へのアクセスの代わりに、このメモリ１５０のみへのアクセスによって、各自己テストを参照することができるので、自己テストを参照する処理の簡素化を図ることができる。
【０２０８】
変形例１０：
上記各実施例では、各ディスクドライブ装置毎にタイミング制御処理が実行されているが、複数のディスクドライブ装置のグループ毎にタイミング制御処理が実行されることとしてもよい。この場合には、１つのグループの複数のディスクドライブ装置に対しては、同じタイミングで自己テストが実行されることとなる。このようなグループとしては、任意のグループを採用可能である。例えば、複数のディスクドライブ装置を用いることによって１つの論理的な記憶領域（論理ボリュームとも呼ばれる）が形成される場合がある。このような場合には、１つの論理ボリュームを形成する複数のディスクドライブ装置を１つのグループとして扱えばよい。
【０２０９】
変形例１１：
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。例えば、データ中継モジュール１２２（図１）の機能を、論理回路を有するハードウェア回路によって実現することとしてもよい。
【図面の簡単な説明】
【０２１０】
【図１】本発明の一実施例としてのデータ処理システムの構成を示す概略図である。
【図２】ディスクドライブ装置２００の電力管理に関する動作状態（動作モード）の遷移を示す状態遷移図である。
【図３】第１実施例における自己テストのタイミング制御処理の手順を示すフローチャートである。
【図４】自己テストデータ（自己テスト結果）の選択処理の手順を示すフローチャートである。
【図５】閾値管理テーブル１２６の一例を示す説明図である。
【図６】第２実施例におけるタイミング制御処理の手順を示すフローチャートである。
【図７】第３実施例におけるタイミングモードを選択する処理の手順を示すフローチャートである。
【図８】一定間隔モードにおけるタイミング制御処理の手順を示すフローチャートである。
【図９】チェック間隔設定テーブル１２８の一例を示す説明図である。
【図１０】アクセスタイミングモードにおけるタイミング制御処理の手順を示すフローチャートである。
【図１１】タイミング制御処理の別の例の手順を示すフローチャートである。
【図１２】タイミング制御処理の別の例の手順を示すフローチャートである。
【図１３】第６実施例におけるストレージシステム３００ｆの構成を示す説明図である。
【図１４】第６実施例におけるタイミング制御処理の手順を示すフローチャートである。
【図１５】結果取得モジュール１２１ｆ（図１３）が自己テスト完了通知を受信しない状態が続いた場合に実行される処理の手順を示すフローチャートである。
【図１６】ストレージシステムの構成の一例を示す説明図である。
【図１７】ストレージシステムの構成の一例を示す説明図である。
【図１８】ストレージシステムの構成の一例を示す説明図である。
【符号の説明】
【０２１１】
１０…データ処理システム
１００、１００ｇ、１００ｈ…ストレージコントローラ
１１０…ストレージディスクコントローラ
１１２…ＣＰＵ
１１４…メモリ
１２０、１２０ｆ、１２０ｇ、１２０ｈ、１２０ｉ…指示モジュール
１２１、１２１ｆ…結果取得モジュール
１２２…データ中継モジュール
１２３、１２３ｆ…稼働情報取得モジュール
１２３ｈ…閾値設定モジュール
１２６、１２６ｉ１、１２６ｉ２…閾値管理テーブル
１２８、１２８ｉ１、１２８ｉ２…チェック間隔設定テーブル
１３０…ホストＩ／Ｆ
１４０…キャッシュメモリ
１５０…メモリ
１６０…スイッチ
１７０…管理Ｉ／Ｆ
２００、２００ａ、２００ｉ１、２００ｉ２…ディスクドライブ装置
２１０…ドライブコントローラ
２１４…ＣＰＵ
２１６…キャッシュメモリ
２１８…メモリ
２２０、２２０ｆ…自己テストモジュール
２２２…モード制御モジュール
２２４…データ中継モジュール
２５０…ディスクドライブ機構コントローラ
２６０…ディスクドライブ機構
２６２…ディスク
２６４…ヘッド
３００、３００ｆ、３００ｇ、３００ｈ、３００ｉ…ストレージシステム
４００…ホストコンピュータ
５００…管理端末
【図１】
2007122108.tif 000003
【図２】
2007122108.tif 000004
【図３】
2007122108.tif 000005
【図４】
2007122108.tif 000006
【図５】
2007122108.tif 000007
【図６】
2007122108.tif 000008
【図７】
2007122108.tif 000009
【図８】
2007122108.tif 000010
【図９】
2007122108.tif 000011
【図１０】
2007122108.tif 000012
【図１１】
2007122108.tif 000013
【図１２】
2007122108.tif 000014
【図１３】
2007122108.tif 000015
【図１４】
2007122108.tif 000016
【図１５】
2007122108.tif 000017
【図１６】
2007122108.tif 000018
【図１７】
2007122108.tif 000019
【図１８】
2007122108.tif 000020