(57)【要約】【課題】  ディスクドライブの障害を早期に発見することでデータロストを未然に防ぐ。【解決手段】  ストレージシステム（１０）は、データを格納する一つ以上のディスクドライブ（１５０）と、ディスクドライブ（１５０）へのデータアクセスを制御するディスク制御部（１４０）と、ディスクドライブ（１５０）へのデータアクセス状況に応じてディスクドライブ（１５０）の電源を自律的にオフに制御する一方、電源オフに制御されたディスクドライブ（１５０）の電源をディスクドライブ（１５０）へのデータアクセス状況に関わりなく、電源オフから所定期間経過後に自律的にオンに制御する電源制御部（１４１）と、ディスクドライブ（１５０）へのデータアクセス状況に関わりなく自律的に電源オンに制御されたディスクドライブ（１５０）の障害を検査するメディア検査部（１２）と、を備える。【選択図】      図１
2007213721.tif 000002
【特許請求の範囲】
【請求項１】
データを格納する一つ以上のディスクドライブと、
前記ディスクドライブへのデータアクセスを制御するディスク制御部と、
前記ディスクドライブへのデータアクセス状況に応じて前記ディスクドライブの電源を自律的にオフに制御する一方、電源オフに制御された前記ディスクドライブの電源を前記ディスクドライブへのデータアクセス状況に関わりなく、前記電源オフから所定期間経過後に自律的にオンに制御する電源制御部と、
前記ディスクドライブへのデータアクセス状況に関わりなく自律的に電源オンに制御された前記ディスクドライブの障害を検査するメディア検査部と、
を備えるストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、前記電源制御部は、予め定義されたポリシーに基づいて、前記ディスクドライブへのデータアクセス状況に関わりなく電源オンに制御する前記ディスクドライブを選択する、ストレージシステム。
【請求項３】
請求項２に記載のストレージシステムであって、前記ポリシーは、障害が生じた前記ディスクドライブの属性情報に一致又は近似する属性情報を有するディスクドライブを優先的に選択することである、ストレージシステム。
【請求項４】
請求項２に記載のストレージシステムであって、前記ポリシーは、障害が生じた前記ディスクドライブの属性情報のうち優先順位が高く設定されている属性情報に一致又は近似する属性情報を有するディスクドライブを優先的に選択することである、ストレージシステム。
【請求項５】
請求項２に記載のストレージシステムであって、前記ポリシーは、前記ディスクドライブへのデータアクセス状況に関わりなく、前記ディスクドライブの電源を所定の検査周期で定期的にオンにすることである、ストレージシステム。
【請求項６】
請求項５に記載のストレージシステムであって、前記検査周期は、前記ディスクドライブのディスクドライブタイプに応じて異なる、ストレージシステム。
【請求項７】
請求項２に記載のストレージシステムであって、前記ポリシーは、前記ディスク制御部からの最新のデータアクセスから所定期間経過していない前記ディスクドライブをメディア検査の対象から除外することである、ストレージシステム。
【請求項８】
請求項３に記載のストレージシステムであって、前記属性情報は、前記ディスクドライブのベンダ名、ディスクドライブタイプ、記憶容量、型名、ロット番号、ファームウェアリビジョン、起動回数、総稼働時間、前回検査日時、検査済最終ＬＢＡ、ユーザデータ格納の有無のうち何れかの情報である、ストレージシステム。
【請求項９】
請求項１に記載のストレージシステムであって、前記メディア検査部は、予め定義されたポリシーに基づいて前記ディスクドライブの障害を検査する、ストレージシステム。
【請求項１０】
請求項８に記載のストレージシステムであって、前記ポリシーは、
（１）同一のＲＡＩＤグループに属する全てのディスクドライブの全記憶領域についてリードを行い、障害を検査すること、
（２）同一のＲＡＩＤグループに属する全てのディスクドライブの一部の憶領域についてリードを行い、障害を検査すること、
（３）同一のＲＡＩＤグループに属する全てのディスクドライブがレディ状態になるか否かをチェックすること、
のうち何れかである、ストレージシステム。
【請求項１１】
請求項８に記載のストレージシステムであって、前記ポリシーは、
（１）同一のＲＡＩＤグループに属する全てのディスクドライブの全記憶領域についてリードを行い、障害を検査すること、
（２）同一のＲＡＩＤグループに属する複数のディスクドライブの一部の憶領域についてリードを行い、障害を検査すること、
（３）同一のＲＡＩＤグループに属する複数のディスクドライブがレディ状態になるか否かをチェックすること、
のうち何れかである、ストレージシステム。
【請求項１２】
ＲＡＩＤ構成された複数のディスクドライブと、
前記ディスクドライブへのデータアクセスを制御するディスク制御部と、
前記ディスクドライブへのデータアクセス状況に応じて、前記ディスクドライブの電源を自律的にオフに制御する一方、電源オフに制御された同一のＲＡＩＤグループに属する全てのディスクドライブの電源を前記ディスクドライブへのデータアクセス状況に関わりなく、前記電源オフから所定期間経過後に自律的にオンに制御する電源制御部と、
前記ディスクドライブへのデータアクセス状況に関わりなく自律的に電源オンに制御された同一のＲＡＩＤグループに属する全部又は一部のディスクドライブの障害を検査するメディア検査部と、
を備えるストレージシステム。
【請求項１３】
ディスクドライブへのデータアクセス状況に応じて前記ディスクドライブの電源を自律的にオフに制御するステップと、
電源オフに制御された前記ディスクドライブの電源を前記ディスクドライブへのデータアクセス状況に関わりなく、前記電源オフから所定期間経過後に自律的にオンに制御するステップと、
前記ディスクドライブへのデータアクセス状況に関わりなく自律的に電源オンに制御された前記ディスクドライブの障害を検査するステップと、
を備えるストレージシステムの制御方法。
【請求項１４】
請求項１３に記載のストレージシステムの制御方法であって、
予め定義されたポリシーに基づいて、前記ディスクドライブへのデータアクセス状況に関わりなく電源オンに制御する前記ディスクドライブを選択するステップを更に備える、ストレージシステムの制御方法。
【請求項１５】
請求項１４に記載のストレージシステムの制御方法であって、前記ポリシーは、障害が生じた前記ディスクドライブの属性情報に一致又は近似する属性情報を有するディスクドライブを優先的に選択することである、ストレージシステムの制御方法。
【請求項１６】
請求項１４に記載のストレージシステムの制御方法であって、前記ポリシーは、障害が生じた前記ディスクドライブの属性情報のうち優先順位が高く設定されている属性情報に一致又は近似する属性情報を有するディスクドライブを優先的に選択することである、ストレージシステムの制御方法。
【請求項１７】
請求項１４に記載のストレージシステムの制御方法であって、前記ポリシーは、前記ディスクドライブへのデータアクセス状況に関わりなく、前記ディスクドライブの電源を所定の検査周期で定期的にオンにすることである、ストレージシステムの制御方法。
【請求項１８】
請求項１７に記載のストレージシステムの制御方法であって、前記検査周期は、前記ディスクドライブのディスクドライブタイプに応じて異なる、ストレージシステムの制御方法。
【請求項１９】
請求項１４に記載のストレージシステムの制御方法であって、前記ポリシーは、最新のデータアクセスから所定期間経過していない前記ディスクドライブをメディア検査の対象から除外することである、ストレージシステムの制御方法。
【請求項２０】
請求項１５に記載のストレージシステムの制御方法であって、前記属性情報は、前記ディスクドライブのベンダ名、ディスクドライブタイプ、記憶容量、型名、ロット番号、ファームウェアリビジョン、起動回数、総稼働時間、前回検査日時、検査済最終ＬＢＡ、ユーザデータ格納の有無のうち何れかの情報である、ストレージシステムの制御方法。
【請求項２１】
請求項１３に記載のストレージシステムの制御方法であって、
（１）同一のＲＡＩＤグループに属する全てのディスクドライブの全記憶領域についてリードを行い、障害を検査する第一の検査レベル、
（２）同一のＲＡＩＤグループに属する全てのディスクドライブの一部の憶領域についてリードを行い、障害を検査する第二の検査レベル、
（３）同一のＲＡＩＤグループに属する全てのディスクドライブがレディ状態になるか否かをチェックする第三の検査レベル、
のうち何れかの検査レベルに基づいて前記ディスクドライブの障害を検査するステップを更に備える、ストレージシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステム及びその制御方法に関する。
【背景技術】
【０００２】
近年、ストレージシステムの管理方法として、データライフサイクル管理（ＤＬＣＭ）が注目されている。ＤＬＣＭは、時間と共に変化するデータの価値に応じて、ストレージシステム間のデータマイグレーションを管理することにより、コスト効率のよいデータ管理を実現する概念である。例えば、メールシステムは、企業等の基幹システムに位置付けられているので、高性能かつ高信頼性を有するハイエンドストレージシステムが必要である。数週間経過したメールはアクセス頻度が低下するので、ハイエンドストレージシステムからニアラインストレージシステムにデータを移動させる。ニアラインストレージシステムは、ハイエンドストレージシステムと比較すると、性能や信頼性は劣るものの、低価格というメリットがあり、必要に応じて即時アクセスが可能である。そして、ニアラインストレージシステムにデータを移動してから１〜２年経過した後に、テープ媒体にデータを移動させ、保管庫に保管する。ＤＬＣＭの考えに立脚してデータ管理コストを削減するには、データの移動管理が重要である。
【０００３】
特開２００５−１５７７１０号広報には、ＤＬＣＭの考えを更に一歩進めた技術として長期間アクセスされないディスクドライブを停止させることで、消費電力を低減するＭＡＩＤ（Massive Arrays of Inactive Disks）と称される技術が開示されている。ディスクアレイシステムに要求される記憶容量の増大に伴い、ディスクドライブの搭載数は飛躍的に増加する傾向にあるので、ＭＡＩＤ技術を適用することで、ディスクアレイシステムの消費電力を効果的に低減させることができる。
【特許文献１】特開２００５−１５７７１０号広報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ディスクドライブを停止させている期間は、ディスクドライブの障害を検出することができないので、ディスクドライブの停止期間が長期にわたると、停止していたディスクドライブをホストアクセス契機で稼働させたときに、ディスクドライブが起動しなかったり、或いはデータエラーの発生が検出されたりする等の不都合が生じ得る。複数のディスクドライブがＲＡＩＤ５で管理されている場合には、同一のＲＡＩＤグループ内で２台以上のディスクドライブに障害が生じると、データ復旧が不可能となる。
【０００５】
そこで、本発明は上述の問題を解決し、ディスクドライブの障害を早期に発見することで、データロストを未然に防ぐことを課題とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するため、本発明のストレージシステムは、データを格納する一つ以上のディスクドライブと、ディスクドライブへのデータアクセスを制御するディスク制御部と、ディスクドライブへのデータアクセス状況に応じてディスクドライブの電源を自律的にオフに制御する一方、電源オフに制御されたディスクドライブの電源をディスクドライブへのデータアクセス状況に関わりなく、電源オフから所定期間経過後に自律的にオンに制御する電源制御部と、ディスクドライブへのデータアクセス状況に関わりなく自律的に電源オンに制御されたディスクドライブの障害を検査するメディア検査部と、を備える。
【０００７】
電源制御部は、予め定義されたポリシーに基づいて、ディスクドライブへのデータアクセス状況に関わりなく電源オンに制御するディスクドライブを選択する。ポリシーは、例えば、（１）障害が生じたディスクドライブの属性情報に一致又は近似する属性情報を有するディスクドライブを優先的に選択すること、（２）障害が生じたディスクドライブの属性情報のうち優先順位が高く設定されている属性情報に一致又は近似する属性情報を有するディスクドライブを優先的に選択すること、（３）ディスクドライブへのデータアクセス状況に関わりなく、ディスクドライブの電源を所定の検査周期で定期的にオンにすること（この場合、検査周期は、ディスクドライブタイプに応じて異なるのが望ましい。）、（４）最新のデータアクセスから所定期間経過していないディスクドライブをメディア検査の対象から除外すること、である。
【０００８】
ここで、ディスクドライブの属性情報とは、例えば、ディスクドライブのベンダ名、ディスクドライブタイプ、記憶容量、型名、ロット番号、ファームウェアリビジョン、起動回数、総稼働時間、前回検査日時、検査済最終ＬＢＡ、ユーザデータ格納の有無のうち何れかの情報である。
【０００９】
メディア検査部は、予め定義されたポリシーに基づいてディスクドライブの障害を検査する。ポリシーは、例えば、（１）同一のＲＡＩＤグループに属する全てのディスクドライブの全記憶領域についてリードを行い、障害を検査すること、（２）同一のＲＡＩＤグループに属する複数のディスクドライブの一部の憶領域についてリードを行い、障害を検査すること、（３）同一のＲＡＩＤグループに属する複数のディスクドライブがレディ状態になるか否かをチェックすること、（４）同一のＲＡＩＤグループに属する全てのディスクドライブの一部の憶領域についてリードを行い、障害を検査すること、（５）同一のＲＡＩＤグループに属する全てのディスクドライブがレディ状態になるか否かをチェックすること、（６）同一のＲＡＩＤグループに属する複数のディスクドライブのうち一つのディスクドライブの全記憶領域についてリードを行い、障害を検査すること、（７）同一のＲＡＩＤグループに属する複数のディスクドライブのうち一つのディスクドライブの一部の記憶領域についてリードを行い、障害を検査すること、（８）同一のＲＡＩＤグループに属する複数のディスクドライブのうち一つのディスクドライブがレディ状態になるか否かをチェックすること、のうち何れかである。
【発明の効果】
【００１０】
本発明によれば、データアクセス状況に応じて電源オフに制御されたディスクドライブの電源を、データアクセス状況に関わりなく、自律的にオンに制御し、ディスクドライブの障害を検査するので、障害を早期に発見することが可能となり、データロストを未然に防ぐことができる。
【発明を実施するための最良の形態】
【００１１】
以下、各図を参照しながら本発明の実施形態について説明する。
図１は本実施形態に係るストレージシステム１０のハードウェア構成を示す。ストレージシステム１０は、通信ネットワーク２２を介して、一つ以上のホスト計算機２０に接続している。ストレージシステム１０は、ＲＡＩＤ構成された複数のディスクドライブ１５０を備えるディスクアレイシステムである。
【００１２】
ホスト計算機２０は、ワークステーションシステム、メインフレームコンピュータ、パーソナルコンピュータ等である。ホスト計算機２０は、業務用のアプリケーションプログラム２１を有している。アプリケーションプログラム２１は、例えば、データベースソフトウェア、Ｗｅｂアプリケーションソフトウェア、ストリーミングアプリケーションソフトウェア、Ｅビジネスアプリケーションソフトウェア等である。
【００１３】
通信ネットワーク２２としては、ＳＡＮ（Storage Area Network）、ＬＡＮ(Local Area Network)、ＷＡＮ（Wide Area Network）、インターネット、専用回線、公衆回線等を挙げることができる。ホスト計算機２０がＳＡＮを介してストレージシステム１０に接続する場合、ホスト計算機２０は、ファイバチャネルプロトコル又はｉＳＣＳＩ（internet Small Computer System Interface）等のプロトコルにより、ブロック単位でのデータ入出力をストレージシステム１０に要求する。ホスト計算機２０がＬＡＮを介してストレージシステム１０に接続する場合、ホスト計算機２０は、ＮＦＳ（Network File System）又はＣＩＦＳ（Common Internet File System）等のファイル転送プロトコルにより、ファイル名を指定してファイル単位でのデータ入出力をストレージシステム１０に要求する。ストレージシステム１０がホスト計算機２０からのファイルアクセス要求を受け付けるためには、ストレージシステム１０にＮＡＳ（Network Attached Storage）機能が搭載されている必要がある。
【００１４】
ストレージシステム１０は、ホストインターフェース１１、ＣＰＵ１２、メモリ１３、ディスクインターフェース１４、複数のディスクボックス１５、複数の電源装置１６、及び管理インターフェース１７を備える。ディスクインターフェース１４は、ディスク制御部１４０、及び電源制御部１４１を備える。各ディスクボックス１５には、複数のディスクドライブ１５０が搭載されている。
【００１５】
ホストインターフェース１１は、ストレージシステム１０とホスト計算機２０との間のインターフェースを制御するコントローラであり、例えば、ファイバチャネルプロトコル又はｉＳＣＳＩ等のプロトコルによるブロック単位でのデータ入出力要求を処理したり、或いはＮＦＳ又はＣＩＦＳ等のファイル転送プロトコルによるファイル単位でのデータ入出力要求を処理したりする。尚、ホストインターフェース１１は、チャネルインターフェースと別称することもできる。
【００１６】
ＣＰＵ１２は、ホスト計算機５１からのデータ入出力要求に応答して、複数のディスクドライブ１５０へのＩ／Ｏ処理（ライトアクセス、又はリードアクセス）を制御するプロセッサである。ＣＰＵ１２は、後述するメディア検査処理を実施するメディア検査部として機能する。
【００１７】
メモリ１３には、ディスクドライブ１５０の制御に必要な各種マイクロプログラムがロードされる他、後述する各種のテーブル（ディスクドライブ配列テーブル４０、ＲＡＩＤ構成管理テーブル５０、検査レベル管理テーブル６０、検査処理管理テーブル７０、及びディスクドライブ属性テーブル８０）が格納される。
【００１８】
ディスク制御部１４０は、複数のディスクドライブ１５０をいわゆるＲＡＩＤ方式に規定されるＲＡＩＤレベル（例えば、０，１，５）で制御する。ＲＡＩＤ方式においては、複数のディスクドライブ１５０が一つのＲＡＩＤグループとして管理される。ＲＡＩＤグループ上には、ホスト計算機２０からのアクセス単位である複数の論理ユニットが定義される。それぞれの論理ユニットには、ＬＵＮ（Logical Unit Number）がアサインされる。尚、ディスクインターフェース１４は、ドライブインターフェースと別称することもできる。
【００１９】
電源制御部１４１は、ディスクボックス１５に搭載されている各ディスクドライブ１５０の電源をオン／オフ制御する。電源制御部１４１は、ディスクドライブ１５０へのデータアクセス状況に応じて、ディスクドライブ１５０の電源を自律的にオフに制御する。例えば、ディスクドライブ１５０へのアクセス頻度が低下すると、電源制御部１４１は、ディスクドライブ１５０の電源を自律的にオフに制御する。電源制御部１４１は、電源オフに制御された同一のＲＡＩＤグループに属する全部又は一部のディスクドライブ１５０の電源をディスクドライブ１５０へのデータアクセス状況に関わりなく、後述するメディア検査処理の実施を目的として、電源オフから所定期間経過後に自律的にオンに制御する。
【００２０】
尚、上述の説明では、複数のディスクドライブ５０がＲＡＩＤ構成されている例を示したが、複数のディスクドライブ１５０がＲＡＩＤ構成されてない場合には、電源制御部１４１は、ディスクドライブ１５０毎に電源装置１６のオン／オフを制御してもよい。
【００２１】
ディスクドライブ１５０は、ＦＣ（Fibre Channel）ディスクドライブ、ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクドライブ、ＰＡＴＡ（Parallel Advanced Technology Attachment）ディスクドライブ、ＦＡＴＡ（Fibre Attached Technology Adapted）ディスクドライブ、ＳＡＳ（Serial Attached SCSI）ディスクドライブ或いはＳＣＳＩ（Small Computer System Interface）ディスクドライブ等のストレージデバイスである。ディスクドライブ１５０に替えて、磁気テープドライブ、半導体メモリドライブなどのストレージデバイスを用いてもよい。
【００２２】
ストレージシステム１０は、各ディスクドライブ１５０（又は各ＲＡＩＤグループ）を複数のストレージ階層に分類する。例えば、ある一つのストレージ階層は、高信頼性のＦＣ階層として定義可能である。例えば、複数のＦＣディスクドライブをＲＡＩＤ１で構成してなる一つ以上のＲＡＩＤグループをＦＣ階層として定義可能である。他のストレージ階層は、低コストのＳＡＴＡ階層として定義可能である。例えば、複数のＳＡＴＡディスクドライブ４４をＲＡＩＤ５で構成してなる一つ以上のＲＡＩＤグループをＳＡＴＡ階層として定義可能である。
【００２３】
尚、ストレージ階層の定義は、上述の例に限られるものではなく、ディスクドライブ１５０のスペックに応じてストレージ階層を定義してもよい。例えば、高回転のＦＣディスクドライブと低回転のＦＣディスクドライブとの間でストレージ階層を分けてもよく、大記憶容量のＦＣディスクドライブと小記憶容量のＦＣディスクドライブとの間でストレージ階層を分けてもよい。また、ストレージデバイスの種類（例えば、ハードディスクドライブ、フレキシブルディスクドライブ、磁気テープドライブ、半導体メモリドライブ、光ディスクドライブ等の種類）に応じて、ストレージ階層を分けてもよい。
【００２４】
各電源装置１６は、各ディスクボックス１５に搭載されているディスクドライブ１５０に電力を供給する。電源装置１６は、交流電源（商用電源）を直流電源に変換するＡＣ／ＤＣコンバータと、補助電源としてのバッテリモジュールを含む。
【００２５】
管理インターフェース１７には、サービスプロセッサ３０が接続されている。管理サーバ３１は、管理ＬＡＮ３２を介してサービスプロセッサ３０に接続している。管理ＬＡＮ３２は、例えば、インターネット、或いは専用線等である。管理ＬＡＮ３２を介して行われる、管理サーバ３１とサービスプロセッサ３０との間の通信は、例えば、ＴＣＰ／ＩＰ等の通信プロトコルに基づいて行われる。
【００２６】
サービスプロセッサ３０と管理サーバ３１は、何れもストレージシステム１０を保守管理するための管理端末であり、管理用のユーザインターフェースを備える。システム管理者は、管理サーバ３１を入力操作することにより、ストレージシステム１０を管理するためのコマンドをサービスプロセッサ３０経由でストレージシステム１０に送信する。ストレージシステム１０を管理するためのコマンドとして、例えば、ディスクドライブ１５０の増設或いは減設、又はＲＡＩＤ構成の変更を指示するためのコマンド、ホスト計算機２０とストレージシステム１０との間の通信パスを設定するためのコマンド、ＣＰＵ１２のマイクロプログラムをメモリ１３にインストールするためのコマンド等がある。
【００２７】
次に、ディスクドライブ１５０の障害の有無を検査する処理（以下、メディア検査処理と称する。）の概要について説明を加える。電源制御部１４１は、ディスクドライブ１５０へのデータアクセス頻度が低下すると、ディスクドライブ１５０の電源を自律的にオフに制御する。電源制御部１４１は、電源オフに制御された同一のＲＡＩＤグループに属する全部又は一部のディスクドライブ１５０の電源をディスクドライブ１５０へのデータアクセス状況に関わりなく、メディア検査処理の実施を目的として、電源オフから所定期間経過後に自律的にオンに制御する。ＣＰＵ１２は、ディスクドライブ１５０へのデータアクセス状況に関わりなく自律的に電源オンに制御された同一のＲＡＩＤグループに属する全部又は一部のディスクドライブ１５０の障害を検査する。
【００２８】
ここで、電源制御部１４１は、予め定義されたポリシーに基づいて、データアクセス状況に関わりなく自律的に電源オンに制御するディスクドライブ１５０を選択する。ポリシーとは、メディア検査処理の実施基準をいう。ポリシーの具体例として、例えば、（１）定期的（例えば、１回／月）に全てのディスクドライブ１５０についてメディア検査を実施する、（２）メディア検査により障害が発生したディスクドライブ１５０の属性情報に一致又は近似する属性情報を有するディスクドライブ１５０を優先的に選択する、（３）ディスク制御部１４０からの最新のデータアクセスから所定期間経過していないディスクドライブ１５０をメディア検査の対象から除外する、ことが考えられる。また、後述する検査レベルもポリシーに含まれる。
【００２９】
次に、図２乃至図１６を参照しながらメディア検査処理の詳細について説明を加える。
【００３０】
図２はディスクドライブ配列テーブル４０を示す。ディスクドライブ配列テーブル４０は、各ディスクボックス１５に搭載されているディスクドライブ１５０の物理的な配列位置を示す配列番号を格納する。例えば、ディスクドライブ配列テーブル４０の中の配列番号“Ｍ−Ｎ”は、ディスクドライブ１５０がディスボックスＭの第Ｎ列目に搭載されていることを示す。ここで、ディスクボックスＭは、複数のディスクボックス１５を一列に並べたときにＭ番目に位置するディスクボックス１５である。
【００３１】
図３はＲＡＩＤ構成管理テーブル５０を示す。ＲＡＩＤ構成管理テーブル５０は、各ＲＡＩＤグループの構成情報を管理するためのものであり、ＲＡＩＤグループ番号（以下、ＲＧ番号と称する。）、ＲＡＩＤレベル、ＲＡＩＤグループを構成するディスクドライブ１５０の情報をそれぞれ対応付けて格納している。メディア検査処理は、原則として、ＲＡＩＤグループ単位で実施し、スペアディスクドライブ又は未使用ディスクドライブが存在する場合は、スペアディスクドライブ単位又は未使用ディスクドライブ単位でも実施するものとする。このため、便宜上、スペアディスクドライブの番号（以下、スペアディスク番号と称する。）、及び未使用ディスクドライブの番号（以下、未使用ディスク番号と称する。）もＲＧ番号に含めて管理している。
【００３２】
例えば、同図に示す例では、ＲＡＩＤグループ２には、“２−１”〜“２−５”の５台のディスクドライブ１５０が含まれる。ＲＡＩＤグループ２のＲＡＩＤレベルは、ＲＡＩＤ５である。ＲＡＩＤグループ３には、“３−１”〜“３−４”の４台のディスクドライブ１５０が含まれる。ＲＡＩＤグループ３のＲＡＩＤレベルは、ＲＡＩＤ５である。スペア１には、“３−５”のディスクドライブ１５０がスペアドライブとしてアサインされている。未使用のディスクドライブであることを示す未使用１には、“５−５”のディスクドライブ１５０がアサインされている。
【００３３】
図４は検査レベル管理テーブル６０を示す。検査レベル管理テーブル６０は、各ＲＡＩＤグループの検査レベルの情報を格納する。検査レベルとは、メディア検査処理の精密度を示す指標値である。レベル１は、同一のＲＡＩＤグループに属する全てのディスクドライブ１５０の全ての記憶領域についてデータを読み取り、エラーの有無をチェックすることを示す。レベル２は、同一のＲＡＩＤグループに属する全てのディスクドライブの一部の憶領域についてデータを読み取り、エラーの有無をチェックすることを示す。レベル３は、同一のＲＡＩＤグループに属する全てのディスクドライブのうち一つのディスクドライブの一部の記憶領域についてデータを読み取り、エラーの有無をチェックすることを示す。レベル４は、同一のＲＡＩＤグループに属する全てのディスクドライブがレディ状態になるか否かをチェックすることを示す。
【００３４】
このように、各ＲＡＩＤグループについて複数の検査レベルの中から任意の検査レベルを設定しておくことで、ディスクドライブ１５０の障害の有無を効率的に実施できる。例えば、高信頼性のＦＣディスクドライブからなるＲＡＩＤグループについては、低い検査レベル（例えば、レベル３又はレベル４）を設定しておくことにより、ＦＣディスクドライブからなるＲＡＩＤグループのメディア検査処理を迅速かつ低消費電力で実施することができる。一方、低信頼性のＳＡＴＡディスクドライブからなるＲＡＩＤグループについては、高い検査レベル（例えば、レベル１又はレベル２）を設定しておくことにより、ＳＡＴＡディスクドライブからなるＲＡＩＤグループのメディア検査処理を精密に実施し、ディスクドライブの障害を早期に発見できる。
【００３５】
図５乃至図７は検査処理管理テーブル７０を示す。検査処理管理テーブル７０は、メディア検査処理の検査順序や検査状態を管理するためのものであり、メディア検査処理の検査順序、ＲＧ番号、前回のメディア検査処理で検査された最後のセクタブロックの論理ブロックアドレス（以下、検査済最終ＬＢＡと称する。）、前回のメディア検査処理の完了時刻、最新のホストＩ／Ｏが発生した時刻、及び検査レベルをそれぞれ対応付けて格納している。
【００３６】
尚、図５は初期状態における検査処理管理テーブル７０を示す。図６は検査順順序が確定したときの検査処理管理テーブル７０を示す。図７は検査処理を実施しているときの検査処理管理テーブル７０を示す。
【００３７】
図８はディスクドライブ属性テーブル８０を示す。ディスクドライブ属性テーブル８０は、各ディスクドライブ１５０の属性情報を格納する。ディスクドライブ１５０の属性情報として、ベンダ名、ＨＤＤタイプ、記憶容量、型名、ロット番号、製造番号、ファームウェアリビジョン、起動回数、総稼働時間、前回検査日時、検査済最終ＬＢＡ、ユーザデータ格納の有無などがある。ＨＤＤタイプ（ディスクドライブタイプ）は、ディスクドライブの種別を示す。例えば、ディスクドライブ１５０の種別がＦＣディスクドライブ及びＳＡＴＡディスクドライブの２種類であるときは、ＨＤＤタイプは、ＦＣディスクドライブ又はＳＡＴＡディスクドライブのうち何れかである。ファームウェアリビジョンは、ディスクコントローラ系のファームウェアのリビジョン情報である。起動回数は、ディスクドライブ１５０の電源がオンにされた回数（電源投入回数）である。総稼働時間は、ディスクドライブ１５０の電源がオンになっている期間と、ディスクドライブ１５０の電源がオフになっている期間を合算した期間である。“ＨＤＤＭ−Ｎ”は、ディスボックスＭの第Ｎ列目に搭載されているディスクドライブ１５０を示す。
【００３８】
“優先順位”は、メディア検査処理の優先度を示す。ストレージシステム１０は、優先順位の高いディスクドライブ属性を有するディスクドライブ１５０を優先的に選択してメディア検査処理を実施する。例えば、同図に示す例では、ロット番号の優先順位が一番高く設定されているので、ストレージシステム１０は、障害が発見されたディスクドライブ１５０のロット番号と同一のロット番号を有するディスクドライブ１５０を優先的にメディア検査処理する。ロット番号が同一の複数のディスクドライブ１５０は、同一の製造環境下で製造されたものであるので、障害の早期発見に好適である。
【００３９】
ディスクドライブ１５０の属性情報に基づいてポリシーを定義する具体例として、以下の例を挙げることができる。
（１）ディスクドライブタイプに基づいて、メディア検査処理の実施対象となるディスクドライブ１５０を選択する。例えば、高信頼性ディスクドライブ（例えば、ＦＣディスクドライブ）よりも、低信頼性ディスクドライブ（例えば、ＳＡＴＡディスクドライブ）の優先順位を高く設定する。
（２）総稼働時間に基づいて、メディア検査処理の実施対象となるディスクドライブ１５０を選択する。例えば、総稼働時間の短いディスクドライブ１５０よりも、総稼働時間の長いディスクドライブ１５０の優先順位を高く設定する。
（３）前回検査日時に基づいて、メディア検査処理の実施対象となるディスクドライブ１５０を選択する。例えば、前回検査日時の新しいディスクドライブ１５０よりも、前回検査日時の古いディスクドライブ１５０の優先順位を高く設定する。
（４）この他、複数の属性情報の組み合わせを基に、ディア検査処理の実施対象となるディスクドライブ１５０を選択してもよい。
（５）複数のディスクドライブタイプのディスクドライブ１５０がストレージシステム１０に搭載されている場合には、それぞれのディスクドライブタイプ毎にメディア検査の検査周期を設定してもよい。例えば、高信頼性ディスクドライブ（例えば、ＦＣディスクドライブ）の検査周期は長く設定し、低信頼性ディスクドライブ（例えば、ＳＡＴＡディスクドライブ）の検査周期は短く設定するのが好適である。
【００４０】
図９乃至図１０はメディア検査処理の優先順位を編集するための編集画面９０の表示例を示す。システム管理者は、複数のディスクドライブ属性の中からある一つのディスクドライブ属性を選択し、ボタン９１又は９２を操作することで、選択されたディスクドライブ属性の優先順位を変更することができる。ボタン９１は、優先順位を繰り上げるときに操作され、ボタン９２は、優先順位を繰り下げるときに操作される。例えば、図９に示す例では、ロット番号が選択され、ボタン９１の操作により、ロット番号の優先順位が繰り上げられる様子が示されている。図１０は編集後の編集画面９０を示す。
【００４１】
ここで、判定条件の“＝”は一致条件を示し、“＞”は比較条件を示す。例えば、ベンダ名やＨＤＤタイプは、一致条件により属性情報が一致するか否かが判定される。一方、記憶容量や起動回数は、比較条件により属性情報が一致するか否かが判定される。
【００４２】
尚、システム管理者は、管理端末（例えば、サービスプロセッサ３０又は管理サーバ３０）のユーザインターフェースに表示される編集画面９０を参照して、メディア検査処理の優先順位を編集することができる。システム管理者は、ストレージシステム１０に接続するコンピュータ（例えば、ホスト計算機５１或いはその他の端末装置）のユーザインターフェースに表示される編集画面９０を参照して、メディア検査処理の優先順位を編集してもよい。
【００４３】
上述の説明では、システム管理者がディスクドライブ１５０の属性情報を個々に指定した上で優先順位を決定する例を示したが、システム管理者が抽象的な指示を入力し、抽象的な指示を受けたサービスプロセッサ３０又は管理サーバ３０が優先順位を具体的に設定してもよい。例えば、システム管理者が低信頼性のディスクドライブ１５０の優先順位を高く設定することを要求する抽象的な指示をサービスプロセッサ３０又は管理サーバ３０に入力する。抽象的な指示を受けたサービスプロセッサ３０又は管理サーバ３０は、ＨＤＤタイプがＳＡＴＡディスクドライブであるディスクドライブ１５０の優先順位を高く設定する。システム管理者が抽象的なポリシー管理を行える環境を提供することで、ストレージシステム１０の管理が容易になる。
【００４４】
図１１は検査処理管理テーブル作成処理を示すフローチャートである。検査処理管理テーブル作成処理は、ストレージシステム１０が立ち上がるときを契機として、ＣＰＵ１２により実行される。
【００４５】
検査処理管理テーブル作成処理が起動されると、ＣＰＵ１２は、ディスクドライブ配列テーブル４０をメモリ１３に退避し（Ｓ１０１）、ディスクドライブ配列テーブル４０に格納されている複数の配列番号の中から最小の配列番号を有するディスクドライブ１５０が属するＲＧ番号を検査処理管理テーブル７０の「検査順序」の空欄に登録する（Ｓ１０２）。このとき、最小の配列番号を有するディスクドライブ１５０が未使用ディスク又はスペアディスクである場合には、検査処理管理テーブル７０の「検査順序」の空欄に未使用ディスク番号又はスペアディスク番号を登録する。
【００４６】
次に、ＣＰＵ１２は、検査処理管理テーブル７０の「検査順序」の空欄に登録されたＲＧ番号を有するＲＡＩＤグループに属する全てのディスクドライブ１５０の配列番号をディスクドライブ配列テーブル４０から削除する（Ｓ１０３）。
【００４７】
次に、ＣＰＵ１２は、ディスクドライブ配列テーブル４０が空になったか否かを判定し（Ｓ１０４）、空になっていなければ（Ｓ１０４；ＮＯ）、ＣＰＵ１２は、Ｓ１０２〜Ｓ１０４のループを繰り返し実行する。空になっている場合には（Ｓ１０４；ＹＥＳ）、ＣＰＵ１２は、ディスクドライブ配列テーブル４０を回復する（Ｓ１０５）。
【００４８】
次に、ＣＰＵ１２は、検査レベル管理テーブル６０をメモリ１３に退避し（Ｓ１０６）、検査レベル管理テーブル６０に格納されているそれぞれのＲＡＩＤグループ、スペアディスクドライブ、及び未使用ディスクドライブの検査レベルを検査処理管理テーブル７０の「検査レベル」の空欄に順次に格納する（Ｓ１０７）。
【００４９】
次に、ＣＰＵ１２は、検査処理管理テーブル６０の「検査レベル」の空欄に登録された検査レベルを検査レベル管理テーブル６０から削除する（Ｓ１０８）。
【００５０】
次に、ＣＰＵ１２は、検査処理管理テーブル６０が空になったか否かを判定し（Ｓ１０９）、空になっていなければ（Ｓ１０９；ＮＯ）、ＣＰＵ１２は、Ｓ１０７〜Ｓ１０９のループを繰り返し実行する。空になっている場合には（Ｓ１０９；ＹＥＳ）、ＣＰＵ１２は、検査処理管理テーブル６０を回復する（Ｓ１１０）。
【００５１】
以上の処理ステップを経て、検査処理管理テーブル７０には、ＲＧ番号と検査レベルとが対応付けられて格納される（図５参照）。
【００５２】
図１２はディスクドライブ属性テーブル作成処理を示すフローチャートである。ディスクドライブ属性テーブル作成処理は、ストレージシステム１０が立ち上がるときを契機として、ＣＰＵ１２により実行される。
【００５３】
ディスクドライブ属性テーブル作成処理が起動されると、ＣＰＵ１２は、ディスクドライブ配列テーブル４０をメモリ１３に退避する（Ｓ２０１）。そして、ＣＰＵ１２は、ディスクドライブ配列テーブル４０に格納されている複数の配列番号を順次選択し、選択した配列番号を有するディスクドライブ１５０にinquiryコマンドを発行して、各ディスクドライブ１５０の属性情報を取得し、取得した属性情報をディスクドライブ属性テーブル８０に登録する（Ｓ２０２）。inquiryコマンドの詳細は、ＳＣＳＩプロトコルに規定されており、inquiryコマンドの戻り値には、ディスクドライブ１５０のベンダ名、ＨＤＤタイプ、記憶容量、型名などが含まれる。ディスクドライブ１５０の属性情報は、ディスクドライブ１５０のＳＭＡＲＴ（Self Monitoring and Reporting Technology）機能を用いて取得することも可能である。
【００５４】
次に、ＣＰＵ１２は、属性情報の取得が完了したディスクドライブ１５０の配列番号をディスクドライブ配列テーブル４０から削除する（Ｓ２０３）。
【００５５】
次に、ＣＰＵ１２は、ディスクドライブ配列テーブル４０が空になったか否かを判定し（Ｓ２０４）、空になっていなければ（Ｓ２０４；ＮＯ）、ＣＰＵ１２は、Ｓ２０２〜Ｓ２０４のループを繰り返し実行する。空になっている場合には（Ｓ２０４；ＹＥＳ）、ＣＰＵ１２は、ディスクドライブ配列テーブル４０を回復する（Ｓ２０５）。
【００５６】
図１３はメディア検査処理を示すフローチャートである。メディア検査処理は、ホストアクセスのバックグランドで動作するバックグランドプロセスである。メディア検査処理が実施されるタイミングは、予めポリシーにて定義されるが、ポリシーに定義されてない場合には、デフォルト設定されたタイミング（例えば、１回／月などの定期的なタイミング）で実施される。
【００５７】
メディア検査処理が起動されると、ＣＰＵ１２は、まず、検査処理管理テーブル７０の「検査順序」の欄に登録されているＲＧ番号を検査順序通りに読み取り、読み取ったＲＧ番号を有するＲＡＩＤグループに属する全てのディスクドライブ１５０を起動する（Ｓ３０１）。
【００５８】
次に、ＣＰＵ１２は、ＲＡＩＤグループを構成するディスクドライブ１５０が正常に起動するか否かをチェックする（Ｓ３０２）。ディスクドライブ１５０が正常に起動しないならば（Ｓ３０２；ＮＯ）、ＣＰＵ１２は、ふるい分け処理を実施し（Ｓ３０４）、Ｓ３０１の処理に戻る。ふるい分け処理の詳細については、後述する。
【００５９】
一方、ディスクドライブ１５０が正常に起動するならば（Ｓ３０２；ＹＥＳ）、ＣＰＵ１２は、検査レベルに応じたメディア検査処理を実施する（Ｓ３０３）。
【００６０】
次に、ＣＰＵ１２は、メディア検査の結果、ディスクドライブ１５０にエラーが発生したか否かをチェックする（Ｓ３０５）。ディスクドライブ１５０にエラーが発生したならば（Ｓ３０５；ＹＥＳ）、ＣＰＵ１２は、エラー状況区別処理を実施する（Ｓ３０７）。エラー状況区別処理の詳細については、後述する。
【００６１】
一方、ディスクドライブ１５０にエラーが発生してないならば（Ｓ３０５；ＹＥＳ）、ＣＰＵ１２は、検査処理管理テーブル７０に検査結果（検査済最終ＬＢＡ、及び検査完了時刻）を記録する（Ｓ３０６）。
【００６２】
次に、ＣＰＵ１２は、全てのディスクドライブ１５０についてメディア検査処理を実施したか否かをチェックする（Ｓ３０８）。一部のディスクドライブ１５０について、メディア検査処理を実施してないならば（Ｓ３０８；ＮＯ）、ＣＰＵ１２は、Ｓ３０１の処理に戻る。一方、全てのディスクドライブ１５０について、メディア検査処理が完了しているならば（Ｓ３０８；ＹＥＳ）、ＣＰＵ１２は、メディア検査処理を終了する。
【００６３】
図１４はふるい分け処理を示すフローチャートである。ふるい分け処理は、メディア検査処理（図１３）において、ディスクドライブ１５０が正常に起動しないと判定されたとき（Ｓ３０２；ＮＯ）、又はエラー状態区別処理（図１７）において、エラーカウントが規定値を超えたときに（Ｓ７０５；ＹＥＳ）、実施される。
【００６４】
ふるい分け処理が起動されると、ＣＰＵ１２は、まず、正常に起動しないディスクドライブ１５０又はエラーカウントが規定値を超えたディスクドライブ１５０が属するＲＡＩＤグループの他のディスクドライブ１５０を用いてデータ復旧が可能であるか否かをチェックする（Ｓ４０１）。データ復旧不可能な場合には（Ｓ４０１；ＮＯ）、ＣＰＵ１２は、アラーム処理を実施する（Ｓ４０５）。アラーム処理の詳細については、後述する。
【００６５】
一方、データ復旧可能な場合には（Ｓ４０１；ＹＥＳ）、ＣＰＵ１２は、スペアディスクにコレクションコピーを行い、データを復旧させる（Ｓ４０２）。
【００６６】
次に、ＣＰＵ１２は、検査処理管理テーブル７０に登録されている「検査順序」を再設定し（Ｓ４０３）、検査順序再設定後の検査処理管理テーブル７０に基づいて、メディア検査処理を実施する（Ｓ４０４）。
【００６７】
図１５は検査順序再設定処理を示すフローチャートである。検査順序再設定処理は、ディスクドライブ１５０が正常に起動しないときや、エラーカウント値が規定値を超えるなど、ディスクドライブ１５０に何等かの障害が生じたときに、障害が生じたディスクドライブ１５０の属性情報のうち、ディスクドライブ属性テーブル８０において「優先順位」が高く設定されている属性情報と一致する属性情報を有するディスクドライブ１５０の検査順序を繰り上げるための処理である。
【００６８】
尚、検査順序再設定処理が起動するときに、検査処理管理テーブル７０の「ＲＧ番号」は初期化される（空欄に戻される）ものとする。
【００６９】
検査順序再設定処理が起動されると、ＣＰＵ１２は、まず、ディスクドライブ配列テーブル４０をメモリ１３に退避し（Ｓ５０１）、障害が生じたディスクドライブ１５０の属性情報のうち、ディスクドライブ属性テーブル８０において「優先順位」が高く設定されている属性情報（例えば、優先順位が「１」に設定されている属性情報）と一致する属性情報を有するディスクドライブ１５０以外のディスクドライブ１５０の配列番号をディスクドライブ配列テーブル４０から削除する（Ｓ５０２）。
【００７０】
次に、ＣＰＵ１２は、ディスクドライブ配列テーブル４０に格納されている複数の配列番号の中から最小の配列番号を有するディスクドライブ１５０が属するＲＧ番号を検査処理管理テーブル７０の「検査順序」の空欄に登録する（Ｓ５０３）。このとき、最小の配列番号を有するディスクドライブ１５０が未使用ディスク又はスペアディスクである場合には、検査処理管理テーブル７０の「検査順序」の空欄に未使用ディスク番号又はスペアディスク番号を登録する。
【００７１】
次に、ＣＰＵ１２は、検査処理管理テーブル７０の「検査順序」の空欄に登録されたＲＧ番号を有するＲＡＩＤグループに属する全てのディスクドライブ１５０の配列番号をディスクドライブ配列テーブル４０から削除する（Ｓ５０４）。
【００７２】
次に、ＣＰＵ１２は、ディスクドライブ配列テーブル４０が空になったか否かを判定し（Ｓ５０５）、空になっていなければ（Ｓ５０５；ＮＯ）、ＣＰＵ１２は、Ｓ５０３〜Ｓ５０５のループを繰り返し実行する。空になっている場合には（Ｓ５０５；ＹＥＳ）、ＣＰＵ１２は、ディスクドライブ配列テーブル４０を回復する（Ｓ５０６）。
【００７３】
次に、ＣＰＵ１２は、ＲＡＩＤ構成管理テーブル５０を参照し、検査処理管理テーブル７０の「ＲＧ番号」の欄に登録されたＲＧ番号を有するＲＡＩＤグループに属する全てのディスクドライブ１５０の配列番号をディスクドライブ配列テーブル４０から削除する（Ｓ５０７）。
【００７４】
次に、ＣＰＵ１２は、ディスクドライブ配列テーブル４０に格納されている複数の配列番号の中から最小の配列番号を有するディスクドライブ１５０が属するＲＧ番号を検査処理管理テーブル７０の「検査順序」の空欄に登録する（Ｓ５０８）。このとき、最小の配列番号を有するディスクドライブ１５０が未使用ディスク又はスペアディスクである場合には、検査処理管理テーブル７０の「検査順序」の空欄に未使用ディスク番号又はスペアディスク番号を登録する。
【００７５】
次に、ＣＰＵ１２は、検査処理管理テーブル７０の「検査順序」の空欄に登録されたＲＧ番号を有するＲＡＩＤグループに属する全てのディスクドライブ１５０の配列番号をディスクドライブ配列テーブル４０から削除する（Ｓ５０９）。
【００７６】
次に、ＣＰＵ１２は、ディスクドライブ配列テーブル４０が空になったか否かを判定し（Ｓ５１０）、空になっていなければ（Ｓ５１０；ＮＯ）、ＣＰＵ１２は、Ｓ５０８〜Ｓ５１０のループを繰り返し実行する。空になっている場合には（Ｓ５１０；ＹＥＳ）、ＣＰＵ１２は、ディスクドライブ配列テーブル４０を回復する（Ｓ５１１）。
【００７７】
尚、上述の説明では、障害が生じたディスクドライブ１５０の属性情報のうち、ディスクドライブ属性テーブル８０において「優先順位」が高く設定されている属性情報（例えば、優先順位が「１」に設定されている属性情報）と一致する属性情報を有するディスクドライブ１５０の検査順序を繰り上げ、その他のディスクドライブ１５０の検査順序をディスクドライブ配列テーブル４０内の配列番号に基づいて決定する例を示したが、本実施形態は、これに限られるものではない。例えば、障害が生じたディスクドライブ１５０の属性情報のうち、ディスクドライブ属性テーブル８０において「優先順位」が「１」に設定されている属性情報と一致する属性情報を有するディスクドライブ１５０の検査順序を繰り上げて順位確定し、障害が生じたディスクドライブ１５０の属性情報のうち、ディスクドライブ属性テーブル８０において「優先順位」が「２」に設定されている属性情報と一致する属性情報を有するディスクドライブ１５０の検査順序を繰り上げて順位確定し、障害が生じたディスクドライブ１５０の属性情報のうち、ディスクドライブ属性テーブル８０において「優先順位」が「３」に設定されている属性情報と一致する属性情報を有するディスクドライブ１５０の検査順序を繰り上げて順位確定する、という操作を順次繰り返してもよい。
【００７８】
また、図１３のフローチャートは、ふるい分け処理により検査順序が再設定されると、検査順序が再設定された後の検査処理管理テーブル７０に基づいて、もう一度最初からメディア検査処理が実施されるアルゴリズムになっているので、メディア検査処理が既に実施されたＲＡＩＤグループ、スペアディスクドライブ、及び未使用ディスクドライブについて再検査が実施される。メディア検査処理が既に実施されたＲＡＩＤグループ、スペアディスクドライブ、及び未使用ディスクドライブについては、検査済みフラグを設定しておき、検査済みフラグが設定されているＲＡＩＤグループ、スペアディスクドライブ、及び未使用ディスクドライブの再検査を省略してもよい。
【００７９】
図１６はアラーム処理を示すフローチャートである。アラーム処理は、ふるい分け処理（図１４）において、データ復旧不可能と判定されたとき（Ｓ４０１；ＮＯ）、又はエラー状態区別処理（図１７）において、データ復旧不可能と判定されたときに（Ｓ７０２；ＮＯ）、実施される。
【００８０】
アラーム処理が起動されると、ＣＰＵ１２は、まず、ユーザに障害発生を通知し（Ｓ６０１）、障害が発生したディスクドライブ１５０が属するＲＡＩＤグループを閉塞して（Ｓ６０２）、その他のＲＡＩＤグループについて、メディア検査処理を実施する（Ｓ６０３）。
【００８１】
図１７はエラー状態区別処理を示すフローチャートである。エラー状態区別処理は、メディア検査処理（図１３）において、ディスクドライブ１５０のエラーを検出したときに（Ｓ３０５；ＹＥＳ）、実施される、
【００８２】
エラー状態区別処理が起動されると、ＣＰＵ１２は、まず、エラーが検出されたディスクドライブ１５０がリトライにより回復するか否かをチェックする（Ｓ７０１）。リトライで回復しない場合には（Ｓ７０１；ＮＯ）、ＣＰＵ１２は、そのディスクドライブ１５０がデータ復旧可能か否かをチェックする（Ｓ７０２）。データ復旧不可能な場合には（Ｓ７０２；ＮＯ）、ＣＰＵ１２は、アラーム処理を実施する（Ｓ７０３）。
【００８３】
一方、リトライによりディスクドライブ１５０が回復する場合（Ｓ７０１；ＹＥＳ）、又はディスクドライブ１５０のデータ復旧が可能な場合には（Ｓ７０２；ＹＥＳ）、ＣＰＵ１２は、エラーカウントをインクリメントし（Ｓ７０４）、エラーカウントが規定値を超えたか否かをチェックする（Ｓ７０５）。
【００８４】
エラーカウントが規定値を超えた場合には（Ｓ７０５；ＹＥＳ）、ＣＰＵ１２は、ふるい分け処理を実施する（Ｓ７０７）。エラーカウントが規定値を超えない場合には（Ｓ７０５；ＮＯ）、ＣＰＵ１２は、メディア検査処理を実施する（Ｓ７０６）。
【００８５】
尚、上述の説明では、同一のＲＡＩＤグループに属する全部又は一部のディスクドライブ１５０についてメディア検査処理を実施する例を示したが、同一の論理ユニットに属する全部又は一部のディスクドライブ１５０についてメディア検査処理を実施してもよい。
【００８６】
また、メディア検査処理を頻繁に実施すると、ディスクドライブ１５０の寿命を短くしたり、或いは消費電力を増大させたりする等の不都合が生じ得るので、ディスク制御部１４０からの最新のデータアクセスから所定期間経過していないディスクドライブ１５０をメディア検査の対象から除外するのが好ましい。矛盾
【００８７】
各ディスクボックス１５にディスクドライブ１５０を冷却するための冷却ファンが設けられている場合には、冷却ファンの回転数が規定回転数を超えない程度に、メディア検査処理の対象となるディスクドライブ１５０の電源をオンに設定するのが好ましい。メディア検査処理の対象となるディスクドライブ１５０の数が増大すると、消費電力も増大してしまうので、ストレージシステム１０の補機類の消費電力を考慮した上で、メディア検査処理を実施することで、ストレージシステム１０全体の消費電力を抑えることができる。
【００８８】
また、３Ｄ＋１ＰのＲＡＩＤ構成を有するＲＡＩＤ４のＲＡＩＤグループについては、３Ｄのディスクドライブ１５０についてのみメディア検査処理を実施してもよい。
【００８９】
また、ストレージシステム１００は、必ずしも複数のディスクドライブ１５０を備えている必要はなく、単一のディスクドライブ１５０のみを備えている場合でも、メディア検査処理を適用できる。
【００９０】
本実施形態によれば、データアクセス頻度の低下に基づいて電源オフに制御されたディスクドライブ１５０の電源を、データアクセス状況に関わりなく自律的にオンに制御し、メディア検査処理を実施するので、ディスクドライブの障害を早期に発見することが可能となり、データロストを未然に防ぐことができる。また、メディア検査処理を実施するディスクドライブ１５０をポリシーに基づいて選択することにより、効率的にメディア検査処理を実施できる。
【図面の簡単な説明】
【００９１】
【図１】本実施形態に係るストレージシステムのハードウェア構成図である。
【図２】ディスクドライブ配列テーブルの説明図である。
【図３】ＲＡＩＤ構成管理テーブルの説明図である。
【図４】検査レベル管理テーブルの説明図である。
【図５】初期状態における検査処理管理テーブルの説明図である。
【図６】検査順順序が確定したときの検査処理管理テーブルの説明図である。
【図７】検査処理を実施しているときの検査処理管理テーブルの説明図である。
【図８】ディスクドライブ属性テーブルの説明図である。
【図９】優先順位編集画面の説明図である。
【図１０】優先順位編集画面の説明図である。
【図１１】検査処理管理テーブル作成処理を示すフローチャートである。
【図１２】ディスクドライブ属性テーブル作成処理を示すフローチャートである。
【図１３】メディア検査処理を示すフローチャートである。
【図１４】ふるい分け処理を示すフローチャートである。
【図１５】検査順序再設定処理を示すフローチャートである。
【図１６】アラーム処理を示すフローチャートである。
【図１７】エラー状態区別処理を示すフローチャートである。
【符号の説明】
【００９２】
１０…ストレージシステム  １１…ホストインターフェース  １２…ＣＰＵ  １３…メモリ  １４…ディスクインターフェース  １５…ディスクボックス  １５０…ディスクドライブ  １６…電源装置  １７…管理インターフェース  ３０…サービスプロセッサ  ３１…管理サーバ  ４０…ディスクドライブ配列テーブル  ５０…ＲＡＩＤ構成管理テーブル  ６０…検査レベル管理テーブル  ７０…検査処理管理テーブル  ８０…ディスクドライブ属性テーブル
【図１】
2007213721.tif 000003
【図２】
2007213721.tif 000004
【図３】
2007213721.tif 000005
【図４】
2007213721.tif 000006
【図５】
2007213721.tif 000007
【図６】
2007213721.tif 000008
【図７】
2007213721.tif 000009
【図８】
2007213721.tif 000010
【図９】
2007213721.tif 000011
【図１０】
2007213721.tif 000012
【図１１】
2007213721.tif 000013
【図１２】
2007213721.tif 000014
【図１３】
2007213721.tif 000015
【図１４】
2007213721.tif 000016
【図１５】
2007213721.tif 000017
【図１６】
2007213721.tif 000018
【図１７】
2007213721.tif 000019