(57)【要約】【課題】正常なディスクドライブに存在するメディアエラーを事前に、或いはできるだけ迅速に解消することにより、復元失敗の発生を防止できるようにする。【解決手段】アレイコントローラ２０において、ＨＤＤ故障予知部２４は論理ディスク１０を構成するＨＤＤ１１-0〜１１-2の各々の故障を予知する。ＨＤＤ健全性確認部２５はＨＤＤ１１-0〜１１-2のいずれかの故障が予知された場合、ＨＤＤ１１-0〜１１-2のうち、故障が予知されたＨＤＤ以外の全てのＨＤＤの内容を検査してメディアエラーの有無を確認するための健全性確認処理を実行する。メディアエラー修復部２６はＨＤＤ健全性確認部２５によってメディアエラーが検出された場合、ＨＤＤ１１-0〜１１-2のうち、当該メディアエラーが発生しているＨＤＤを除く全てのＨＤＤのデータまたは冗長データを利用して当該メディアエラーが発生している箇所のデータの欠損を修復する。【選択図】      図１
2006268502.tif 000002
【特許請求の範囲】
【請求項１】
論理ディスクを構成する複数のディスクドライブへのアクセスを制御することによりホストから要求されたデータと当該データの冗長データとを前記複数のディスクドライブに分散して配置するアレイコントローラにおいて、
前記論理ディスクを構成する前記複数のディスクドライブの各々の故障を予知するディスクドライブ故障予知手段と、
前記論理ディスクを構成する前記複数のディスクドライブのうち前記ディスクドライブ故障予知手段によって故障が予知されたディスクドライブを除く全てのディスクドライブの内容を検査してメディアエラーの有無を確認するための健全性確認処理を実行する健全性確認手段と、
前記健全性確認手段によって、メディアエラーが検出された場合に、前記論理ディスクを構成する前記複数のディスクドライブのうち当該メディアエラーが発生しているディスクドライブを除く全てのディスクドライブのデータまたは冗長データを利用して当該メディアエラーが発生している箇所のデータの欠損を修復するメディアエラー修復手段と
を具備することを特徴とするアレイコントローラ。
【請求項２】
前記健全性確認手段による前記健全性確認処理の完了後に、前記故障が予知されたディスクドライブのデータをスペアのディスクドライブにコピーするためのデータコピー処理を実行するデータコピー手段と、
前記データコピー手段による前記データコピー処理の完了後に、前記故障が予知されたディスクドライブを前記スペアのディスクドライブに代替させて、前記故障が予知されたディスクドライブを前記論理ディスクから切り離す論理ディスク復元手段と
を更に具備することを特徴とする請求項１記載のアレイコントローラ。
【請求項３】
前記データコピー手段は、通常は前記故障が予知されたディスクドライブのデータを前記スペアのディスクドライブにコピーし、前記故障が予知されたディスクドライブのデータを正常に読み出すことができなかった場合には当該データを前記論理ディスクを構成する前記複数のディスクドライブのうち前記故障が予知されたディスクドライブを除く全てのディスクドライブのデータまたは冗長データから復元して、その復元されたデータを前記スペアのディスクドライブにコピーすることを特徴とする請求項２記載のアレイコントローラ。
【請求項４】
前記データコピー手段は、前記故障が予知されたディスクドライブのデータを、前記論理ディスクを構成する前記複数のディスクドライブのうち前記故障が予知されたディスクドライブを除く全てのディスクドライブのデータまたは冗長データから復元して、その復元されたデータを前記スペアのディスクドライブにコピーすることを特徴とする請求項２記載のアレイコントローラ。
【請求項５】
前記故障が予知されたディスクドライブのデータをスペアのディスクドライブにコピーするためのデータコピー処理を前記健全性確認手段による前記健全性確認処理が進行するアドレスの方向とは逆方向に実行するデータコピー手段と、
前記データコピー手段による前記データコピー処理の完了後に、前記故障が予知されたディスクドライブを前記スペアのディスクドライブに代替させて、前記故障が予知されたディスクドライブを前記論理ディスクから切り離す論理ディスク復元手段と
を更に具備し、
前記健全性確認手段は、前記データコピー手段による前記データコピー処理が完了した領域に対応するアドレスまで前記健全性確認処理を実行し終えた段階で当該健全性確認処理を終了する
ことを特徴とする請求項１記載のアレイコントローラ。
【請求項６】
前記データコピー手段は、前記データコピー処理を前記健全性確認手段による前記健全性確認処理の開始時に開始することを特徴とする請求項５記載のアレイコントローラ。
【請求項７】
前記ディスクドライブ故障予知手段は、前記論理ディスクを構成する前記複数のディスクドライブの各々が標準的に有する、当該ディスクドライブの信頼性悪化に関係する状態を当該ディスクドライブ自身が監視して分析し、その結果を当該ディスクドライブを利用する装置に報告する機能を利用して、前記複数のディスクドライブの各々の故障を予知することを特徴とする請求項１記載のアレイコントローラ。
【請求項８】
前記ディスクドライブ故障予知手段は、前記論理ディスクを構成する前記複数のディスクドライブの各々に対するアクセスでエラーリトライまたは回復可能なエラーが発生した回数をカウントし、当該複数のディスクドライブの各々のカウント値に基づいて当該複数のディスクドライブの各々の故障を予知することを特徴とする請求項１記載のアレイコントローラ。
【請求項９】
論理ディスクを構成する複数のディスクドライブへのアクセスを制御することによりホストから要求されたデータと当該データの冗長データとを前記複数のディスクドライブに分散して配置するアレイコントローラに適用されるメディアエラー修復方法であって、
前記論理ディスクを構成する前記複数のディスクドライブの各々の故障を予知するステップと、
前記複数のディスクドライブのうちのいずれかのディスクドライブの故障が予知された場合、前記論理ディスクを構成する前記複数のディスクドライブのうち前記故障が予知されたディスクドライブを除く全てのディスクドライブの内容を検査してメディアエラーの有無を確認するための健全性確認処理を実行するステップと、
前記健全性確認処理によってメディアエラーが検出された場合に、前記論理ディスクを構成する前記複数のディスクドライブのうち当該メディアエラーが発生しているディスクドライブを除く全てのディスクドライブのデータまたは冗長データを利用して当該メディアエラーが発生している箇所のデータの欠損を修復するステップと
を具備することを特徴とするメディアエラー修復方法。
【請求項１０】
論理ディスクを構成する複数のディスクドライブへのアクセスを制御することによりホストから要求されたデータと当該データの冗長データとを前記複数のディスクドライブに分散して配置するアレイコントローラに実行させるためのプログラムであって、
前記アレイコントローラに、
前記論理ディスクを構成する前記複数のディスクドライブの各々の故障を予知するステップと、
前記複数のディスクドライブのうちのいずれかのディスクドライブの故障が予知された場合、前記論理ディスクを構成する前記複数のディスクドライブのうち前記故障が予知されたディスクドライブを除く全てのディスクドライブの内容を検査してメディアエラーの有無を確認するための健全性確認処理を実行するステップと、
前記健全性確認処理によってメディアエラーが検出された場合に、前記論理ディスクを構成する前記複数のディスクドライブのうち当該メディアエラーが発生しているディスクドライブを除く全てのディスクドライブのデータまたは冗長データを利用して当該メディアエラーが発生している箇所のデータの欠損を修復するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディスクドライブから構成される冗長性を持つディスクアレイを制御するアレイコントローラに係り、特にディスクドライブのメディアエラーを迅速に解消するのに好適な、アレイコントローラ、メディアエラー修復方法及びプログラムを提供することにある。
【背景技術】
【０００２】
冗長データを持つことによりデータの信頼性を向上させる技術として、複数のディスクドライブ（ＨＤＤ）を用いて構成される冗長性を持つディスクアレイ（冗長化ディスクアレイ）、つまりＲＡＩＤ（Redundant Array of Inexpensive Disks、またはRedundant Array of Independent Disks）が知られている。ＲＡＩＤには幾つかのレベル（ＲＡＩＤレベル）が定義されており、ＲＡＩＤ１（ミラーリング）やＲＡＩＤ５（パリティ付きストライピング）などが知られている。いずれも複数のＨＤＤを用いて構成される冗長化ディスクアレイにデータ及び冗長データを配置することにより、いずれかのＨＤＤが故障してもデータの復元を可能にする技術である。
【０００３】
ディスクアレイと当該ディスクアレイを制御するアレイコントローラとから構成される装置は、ディスクアレイ装置と呼ばれる。ディスクアレイは、ディスクアレイ装置を外部記憶装置として利用するホスト（ホストコンピュータ）からは、１つの記憶領域を有する１つの論理ディスク（論理ユニット）として認識される。このため、ディスクアレイは、論理ディスク（論理ユニット）と呼ばれることもある。
【０００４】
ディスクアレイ装置では、ディスクアレイ（論理ディスク）を構成する複数のＨＤＤのいずれかが故障した場合、その故障したＨＤＤ（故障ＨＤＤ）を別の正常なＨＤＤ（スペアＨＤＤ）に交換するのが一般的である（例えば、特許文献１参照）。アレイコントローラは、ディスクアレイを構成している複数のＨＤＤのうち、故障ＨＤＤを除くＨＤＤのデータにより、当該ディスクアレイにおけるデータの冗長性を利用して、故障ＨＤＤのデータを復元する。復元されたデータは、交換されたＨＤＤに格納される。このようにして故障ＨＤＤのデータが、交換されたＨＤＤに復元される。するとディスクアレイ装置は、ＨＤＤの故障発生前と同様に動作を継続することができる。
【特許文献１】特開平８−１９０４６０号公報（段落００２０乃至００２７）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記したように従来技術においては、ディスクアレイを構成する複数のＨＤＤのいずれかが故障した場合、その故障したＨＤＤ（故障ＨＤＤ）のデータを、残りのＨＤＤのデータから復元することができる。
【０００６】
ところが、故障ＨＤＤ以外の、ディスクアレイを構成する複数のＨＤＤのいずれかにメディアエラーが存在することがある。メディアエラーとは、ＨＤＤのディスク媒体（ディスクメディア）に起因して、データを読み出しまたは書き込むことができないエラーを指す。もし、メディアエラーが存在する場合、故障ＨＤＤのデータを復元するのに必要なデータまたは冗長データを、当該メディアエラーが存在するＨＤＤから読み出すことができなくなるおそれがある。このような場合、メディアエラーが存在する領域に対応する故障ＨＤＤのデータを復元できなくなる。
【０００７】
例えばＨＤＤ＃１及び＃２から構成されるＲＡＩＤ１レベルの論理ディスクにおいて、ＨＤＤ＃１が故障した場合を考える。この場合、故障したＨＤＤ＃１を新たなＨＤＤ＃３に交換する。この状態で、アレイコントローラは、正常なＨＤＤ＃２からデータをリードし、新たなＨＤＤ＃３へそのリードデータのライトを行うことで、データを復元する。ところが、ＨＤＤ＃２からのデータリードで当該ＨＤＤ＃２にメディアエラーが発生すると、その部分のデータを読み出すことができず、ＨＤＤ＃３へデータをライトすることができない。この結果、メディアエラーの発生部分に格納されていたデータは失われ、復元は失敗となる。  
このように従来の技術では、故障したＨＤＤ（ディスクドライブ）のデータを復元する際、正常なＨＤＤ（ディスクドライブ）のメディアエラーにより復元失敗となる場合がある。
【０００８】
本発明は上記事情を考慮してなされたものでその目的は、正常なディスクドライブに存在するメディアエラーを事前に、或いはできるだけ迅速に解消することにより、復元失敗の発生を防止できるアレイコントローラ、メディアエラー修復方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の１つの観点によれば、論理ディスクを構成する複数のディスクドライブへのアクセスを制御することによりホストから要求されたデータと当該データの冗長データとを上記複数のディスクドライブに分散して配置するアレイコントローラが提供される。このアレイコントローラは、上記論理ディスクを構成する複数のディスクドライブの各々の故障を予知するディスクドライブ故障予知手段と、上記論理ディスクを構成する複数のディスクドライブのうち上記ディスクドライブ故障予知手段によって故障が予知されたディスクドライブを除く全てのディスクドライブの内容を検査してメディアエラーの有無を確認するための健全性確認処理を実行する健全性確認手段と、この健全性確認手段によって、メディアエラーが検出された場合に、上記論理ディスクを構成する複数のディスクドライブのうち当該メディアエラーが発生しているディスクドライブを除く全てのディスクドライブのデータまたは冗長データを利用して当該メディアエラーが発生している箇所のデータの欠損を修復するメディアエラー修復手段とから構成される。
【００１０】
このような構成においては、論理ディスクを構成する複数のディスクドライブのいずれかが近い将来に故障することがディスクドライブ故障予知手段によって予知された場合に、当該複数のディスクドライブのうち、故障が予知されたディスクドライブ以外の全てのディスクドライブの内容が健全性確認手段によって検査される。この検査で、データが正常に読み出せないメディアエラーが検出された場合、上記論理ディスクを構成する複数のディスクドライブのうち当該メディアエラーが発生しているディスクドライブを除く全てのディスクドライブ（つまり故障が予測されたディスクドライブを含むディスクドライブ）のデータまたは冗長データを利用して当該メディアエラーが発生している箇所のデータの欠損が修復される。
【００１１】
このように上記の構成においては、論理ディスクを構成する複数のディスクドライブの中から近い将来に故障する可能性のあるディスクドライブを予知して、当該故障する可能性のあるディスクドライブが実際に故障する前に、つまり当該故障する可能性のあるディスクドライブのデータまたは冗長データを正常に読み出すことができて論理ディスクの冗長性が保たれている間に、論理ディスクを構成する他のディスクドライブのメディアエラーが発生している箇所が、当該故障する可能性のあるディスクドライブのデータまたは冗長データをも利用して修復される。これにより、その後、上記故障する可能性のあるディスクドライブが実際に故障したとしても、論理ディスクを構成する残りのディスクドライブのデータまたは冗長データを利用して、当該故障したディスクドライブのデータを復元できる。
【００１２】
ここで、上記健全性確認手段による健全性確認処理の完了後に、上記故障が予知されたディスクドライブのデータをスペアのディスクドライブにコピーするためのデータコピー処理を実行するデータコピー手段と、このデータコピー手段によるデータコピー処理の完了後に、上記故障が予知されたディスクドライブを上記スペアのディスクドライブに代替させて、上記故障が予知されたディスクドライブを論理ディスクから切り離す論理ディスク復元手段とを追加すると良い。このようにすると、近い将来故障する可能性のあるディスクドライブが実際に故障する前に、当該ディスクドライブを確実にスペアのディスクドライブに代替させることができる。また、データコピー手段によるデータコピー処理の実行中に、故障が予想されていたディスクドライブが実際に故障してしまった場合でも、論理ディスクを構成する他のディスクドライブのデータの健全性が既に確認されていることで、より安全にスペアディスクへのデータコピーを行うことができる。
【００１３】
また、上記のデータコピー手段に代えて、上記データコピー処理を上記健全性確認手段による健全性確認処理が進行するアドレスの方向とは逆方向に実行するデータコピー手段を用い、このデータコピー手段によるデータコピー処理が完了した領域に対応するアドレスまで上記健全性確認処理が実行された段階で当該健全性確認処理を終了する構成とすると良い。このようにすると、上記健全性確認手段による健全性確認処理の完了を待ってデータコピー手段によるデータコピー処理を開始する必要がないため、故障する可能性のあるディスクドライブを検出してからデータコピー手段によるデータコピー処理が完了するまでの時間を短縮でき、しかも健全性確認手段による健全性確認処理も無駄なく効率的に行える。この効果は、データコピー手段によるデータコピー処理を、健全性確認手段による健全性確認処理の開始時に開始する場合に最も高くなる。
【発明の効果】
【００１４】
本発明によれば、故障する可能性のあるディスクドライブが実際に故障する前に、論理ディスクを構成する他のディスクドライブのメディアエラーが発生している箇所を、当該故障する可能性のあるディスクドライブのデータまたは冗長データをも利用して修復することにより、当該故障する可能性のあるディスクドライブが実際に故障したとしても、論理ディスクを構成する残りのディスクドライブのデータまたは冗長データを利用して、当該故障したディスクドライブのデータを復元することができ、メディアエラーによるデータ修復不能を回避することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係るディスクアレイ装置の構成を示すブロック図である。図１のディスクアレイ装置は、主として論理ディスク（ディスクアレイ）１０と当該論理ディスク１０を制御するコントローラ（アレイコントローラ）とから構成される。論理ディスク１０は当該ディスク１０の信頼性の向上に必要な冗長データを保持するために、複数のディスクドライブ、例えば３台の磁気ディスクドライブ（ＨＤＤ）１１-0（＃０）〜１１-2（＃２）から構成されるものとする。つまり論理ディスク１０は冗長性を持つ論理ユニットである。この冗長性のレベルとして、ＲＡＩＤ１，ＲＡＩＤ１０，ＲＡＩＤ３，ＲＡＩＤ５などが知られている。ここでは、論理ディスク１０がＲＡＩＤ５を適用するディスクアレイであるものとする。ＲＡＩＤ５では、データは複数のＨＤＤに分散して書き込まれると共に、そのデータのパリティデータが冗長データとして別のＨＤＤに書き込まれる。また、ＲＡＩＤ５では、冗長データ（パリティデータ）の書き込み先となるＨＤＤは固定されていない。したがって、論理ディスク１０がＲＡＩＤ５を適用するものとすると、当該論理ディスク１０を構成するＨＤＤ１１-0〜１１-2は、いずれもデータ並びに冗長データ（パリティデータ）の格納用に用いられ、冗長データ（パリティデータ）は各ＨＤＤ１１-0〜１１-2に分散して格納される。
【００１６】
図１のディスクアレイ装置は更に、論理ディスク１０を構成するＨＤＤ１１-0〜１１-2のいずれかが故障した場合に、その故障したＨＤＤに代えて用いられるスペアのＨＤＤ（ＳＨＤＤ）１１-3（＃３）を有する。このＨＤＤ１１-3を含むＨＤＤ群、即ちＨＤＤ１１-0〜１１-3は、例えばＳＣＳＩインタフェースによりアレイコントローラ２０と接続されている。
【００１７】
アレイコントローラ２０は、構成管理部２１と、アクセス制御部２２と、論理ディスク復元部２３と、ＨＤＤ故障予知部２４と、ＨＤＤ健全性確認部２５と、メディアエラー修復部２６と、データコピー部２７とを有する。
【００１８】
構成管理部２１は、主として論理ディスク１０の構成を管理する。アクセス制御部２２は、図１のディスクアレイ装置を外部記憶装置として利用するホスト（ホストコンピュータ）からの読み出し／書き込み要求を受けて論理ディスク１０に対するアクセスを制御する。ここではアクセス制御部２２は、ホストからの読み出し／書き込み要求を、実際にデータを読み出し／書き込みすべき個々のＨＤＤに対する読み出し／書き込み要求に変換し、その変換された読み出し／書き込み要求を該当するＨＤＤに発行する。例えば、ホストからのデータＤの書き込み要求の場合、アクセス制御部２２は当該データＤをデータＤ１及びＤ２に分割し、例えばＨＤＤ１１-0に対してはデータＤ１の書き込み要求を、ＨＤＤ１１-1に対してはデータＤ２の書き込み要求を、そしてＨＤＤ１１-2に対してはデータＤ１及びＤ２の排他的論理和データ（パリティデータ）、つまりデータＤ１及びＤ２の冗長データの書き込み要求を、それぞれ発行する。論理ディスク復元部２３は、論理ディスク１０を構成するＨＤＤ群（ＨＤＤ１１-0〜１１-2）のいずれかが故障した場合に、その故障したＨＤＤ（故障ＨＤＤ）をスペアのＨＤＤ（ＳＨＤＤ）１１-4で代替する。このとき論理ディスク復元部２３は、論理ディスク１０内の正常なＨＤＤのデータから故障ＨＤＤのデータを復元してＨＤ１１-4に格納する。このような構成管理部２１、アクセス制御部２２及び論理ディスク復元部２３の各機能は、アレイコントローラ２０が一般に有する従来からよく知られている機能である。
【００１９】
ＨＤＤ故障予知部２４は、論理ディスク１０を構成するＨＤＤ１１-0〜１１-2の故障を予知する。この故障予知の手法については後述する。ＨＤＤ健全性確認部２５は、論理ディスク１０を構成するＨＤＤ１１-0〜１１-2のうち、ＨＤＤ故障予知部２４によって故障が予知されたＨＤＤ以外の全てのＨＤＤの内容を検査してメディアエラーの有無を検出するためのＨＤＤ健全性確認処理を、例えば一定のサイズのデータブロック（ここでは６４ＫＢのデータブロック）を単位に実行する。ＨＤＤ健全性確認部２５は、健全性の確認で、メディアエラーが発生したデータブロックを検出した場合、そのデータブロックをメディアエラー修復部２６により修復させる。データコピー部２７は、ＨＤＤ故障予知部２４によって故障が予知されたＨＤＤのデータを例えば一定のサイズのデータブロック（ここでは６４ＫＢのデータブロック）を単位にスペアのＨＤＤ１１-3にコピーする。
【００２０】
次に、図１のディスクアレイ装置におけるアレイコントローラ２０の動作について、（１）故障ＨＤＤの予知、（２）故障ＨＤＤの予知に基づく処理、（３）ＨＤＤ健全性確認処理に分けて順に説明する。
【００２１】
（１）故障ＨＤＤの予知
まず、アレイコントローラ２０のＨＤＤ故障予知部２４による、論理ディスク１０を構成するＨＤＤ１１-i（ｉ＝０，１，２）の故障の予知（予測）について説明する。
【００２２】
近年のＨＤＤは、ＳＭＡＲＴ（Self-Monitoring, Analysis and Reporting Technology）と呼ばれる機能を有しているものが多い。このＳＭＡＲＴ機能は、例えばＨＤＤが自身の信頼性悪化に関係する状態を監視して分析し、その結果をホストに報告する機能である。このＳＭＡＲＴ機能を、ＨＤＤ１１-iも有しているものとする、ＨＤＤ故障予知部２４は、このＨＤＤ１１-iのＳＭＡＲＴ機能、つまりＨＤＤ１１-iが持つ当該ＨＤＤ１１-i自身の故障を予知する機能を利用することで、簡単に当該ＨＤＤ１１-iの故障を予知することができる。
【００２３】
さて、ＨＤＤ１１-iの故障の危険性に関係する事象として、
a) アレイコントローラ２０のアクセス制御部２２からＨＤＤ１１-iへのリクエストでエラーを起こし、アレイコントローラ２０でエラーリトライが発生した場合
b) ＨＤＤ１１-iへのリクエストで回復可能なエラー（ＨＤＤ１１-iの備えるエラー回復機能により回復されたエラー）が発生した場合
がある。
【００２４】
明らかなように、ＨＤＤ１１-iが近い将来故障する危険性がある場合、ＨＤＤ１１-iへのリクエストで上記 a)または b)の事象が発生する回数は増加する。そこでＨＤＤ故障予知部２４は、ＨＤＤ１１-iへのリクエストで上記 a)または b)の事象が発生する回数をカウントし、当該事象が予め定められた時間内に予め定められた回数を超えて発生した場合に、当該ＨＤＤ１１-iの故障を予知する。なお、上記 a)または b)の事象が、単に予め定められた回数を超えて発生した場合に、ＨＤＤ１１-iの故障を予知するようにしても構わない。
【００２５】
（２）故障ＨＤＤの予知に基づく処理、
次に、ＨＤＤ故障予知部２４によってＨＤＤ１１-iの故障が予知された場合の処理について、図２のフローチャートを参照して説明する。
【００２６】
今、ＨＤＤ故障予知部２４が、ＨＤＤ１１-0〜１１-2のうちのいずれかのＨＤＤ１１-i、例えばＨＤＤ１１-0の故障を予知（予測）したものとする。この場合、ＨＤＤ故障予知部２４は、ＨＤＤ１１-0の故障を予知したことをＨＤＤ健全性確認部２５及びデータコピー部２７に通知して、当該ＨＤＤ健全性確認部２５及びデータコピー部２７をそれぞれ起動する（ステップＳ１，Ｓ２）。
【００２７】
すると、ＨＤＤ健全性確認部２５はＨＤＤ健全性確認処理を実行して、その時点において論理ディスク１０を構成しているＨＤＤ１１-0〜１１-2のうち、ＨＤＤ故障予知部２４によって故障が予知されたＨＤＤ１１-0を除く全てのＨＤＤ（つまりＨＤＤ１１-1及び１１-2）に実装されているディスク媒体（メディア）の健全性を確認する。ＨＤＤ健全性確認部２５は、このＨＤＤ健全性確認処理でメディアエラーが発生している箇所を検出した場合、メディアエラー修復部２６により、その箇所のデータを修復させる。この修復には、論理ディスク１０を構成するＨＤＤ１１-0〜１１-2のうち、メディアエラーが発生しているＨＤＤを除く全てのＨＤＤ（つまり、故障が予知されたＨＤＤ１１-0を含むＨＤＤ）のデータまたは冗長データが用いられる。
【００２８】
このＨＤＤ健全性確認部２５及びメディアエラー修復部２６の動作は、ＨＤＤ故障予知部２４によりＨＤＤ１１-0の故障が予知されたことで、当該ＨＤＤ１１-0が近い将来に本当に故障するおそれがあることを考慮して行われる。つまり、ＨＤＤ１１-0が実際に故障して当該ＨＤＤ１１-0のメディアにアクセスできなくなる前に、故障が予知されていない他のＨＤＤ１１-1及び１１-2のメディアエラーを検出し、そのメディアエラーの箇所のデータを、論理ディスク１０を構成するＨＤＤ１１-0〜１１-2のうち、メディアエラーが発生しているＨＤＤを除く全てのＨＤＤのデータまたは冗長データを用いて修復する。
【００２９】
もし、故障が予知されたＨＤＤ１１-0が近い将来に本当に故障した場合には、上述のようなＨＤＤ１１-1及び１１-2のメディアエラーの箇所の修復ができなくなってしまう。これに対して本実施形態では、ＨＤＤ１１-0の故障が予知された段階で、故障が予知されていない他のＨＤＤ１１-1及び１１-2のメディアエラー箇所を修復するため、その修復に当該ＨＤＤ１１-0（つまり、この段階では未だ故障していないＨＤＤ１１-0）のデータまたは冗長データを利用できる。
【００３０】
一方、データコピー部２７は、ＨＤＤ故障予知部２４によって故障が予知されたＨＤＤ１１-0のデータをスペアのＨＤＤ１１-3に一定のサイズのデータブロックを単位にコピーするためのデータコピー処理を実行する。このデータコピー処理で、ＨＤＤ１１-0からデータが読み出せない箇所（つまりメディアエラーを発生している箇所）が存在した場合、データコピー部２７は、論理ディスク１０を構成する他のＨＤＤ１１-1及び１１-2のデータを用いてＨＤＤ１１-0から読み出すべきデータを復元して、ＨＤＤ１１-3にコピーする。このことは、データコピーが行われたデータブロックは、データの冗長性を保つ健全性が確認されたブロックであることを示す。もし故障が予知されたＨＤＤ１１-0が、データコピー部２７によるデータコピー処理の期間に実際に故障した場合にも、データコピー部２７は上記と同様に、論理ディスク１０を構成する他のＨＤＤ１１-1及び１１-2のデータを用いてＨＤＤ１１-0から読み出すべきデータを復元して、ＨＤＤ１１-3にコピーする。なお、データコピー部２７によるデータコピーの期間に、ホストからデータ書き込みが要求された結果、ＨＤＤ１１-0にデータまたは冗長データを書き込む場合、アクセス制御部２２はＨＤＤ１１-3にも同一のデータまたは冗長データを書き込む。
【００３１】
ここで、データコピー部２７によるデータコピー処理とＨＤＤ健全性確認部２５によるＨＤＤ健全性確認処理とは、処理対象ＨＤＤをＨＤＤ１１-ｊで表すと、当該ＨＤＤ１１-jのアドレス０から最大アドレスの方向に実行されても、最大アドレスからアドレス０の方向に実行されても構わない。しかし本実施形態では、処理の効率化のために、データコピー部２７による処理の方向とＨＤＤ健全性確認部２５による処理の方向とは逆方向となっている。ここでは、ＨＤＤ健全性確認部２５による処理（ＨＤＤ健全性確認処理）は、図３（ａ）において矢印３１で示されるように、ＨＤＤ１１-jの最大アドレスからアドレス０の方向に実行される。これに対して、データコピー部２７による処理（データコピー処理）は、図３（ａ）において矢印３２で示されるように、ＨＤＤ１１-jのアドレス０から最大アドレスの方向に実行される。この処理方向の違いによる効果については後述する。なお本実施形態において、データコピー部２７による処理の対象となるＨＤＤ１１-jはＨＤＤ１１-0及び１１-3であって、ＨＤＤ健全性確認部２５による処理の対象となるＨＤＤ１１-jはＨＤＤ１１-1及び１１-2であるというように、両ＨＤＤ１１-jは相違する。しかし、図３では、便宜的に１つのＨＤＤ１１-jで代表させてある。
【００３２】
さて、ＨＤＤ故障予知部２４は、ＨＤＤ健全性確認部２５及びデータコピー部２７を起動すると、データコピー部２７によるデータコピー処理の完了を待つ（ステップＳ３）。もし、データコピー部２７によるデータコピー処理が完了すると、ＨＤＤ故障予知部２４は論理ディスク復元部２３を起動する（ステップＳ４）。すると論理ディスク復元部２３は、ＨＤＤ故障予知部２４によって故障が予知されたＨＤＤ１１-0をスペアのＨＤＤ１１-3で代替させ、当該ＨＤＤ１１-0を論理ディスク１０から切り離す。このときスペアのＨＤＤ１１-3には、上記ステップＳ２のデータコピー部２７によるデータコピー処理でＨＤＤ１１-0のデータがコピーされている。したがって論理ディスク復元部２３は、ＨＤＤ１１-0が実際に故障したために当該ＨＤＤ１１-0をスペアのＨＤＤ１１-3で代替させる場合と異なり、ＨＤＤ１１-0のデータを論理ディスク１０の他のＨＤＤ１１-1及び１１-2のデータまたは冗長データで復元する処理を行う必要はない。論理ディスク１０内のＨＤＤ１１-0がスペアのＨＤＤ１１-3で代替されて、当該ＨＤＤ１１-1がＨＤＤ１１-0から切り離されると、構成管理部２１は論理ディスク１０の構成管理情報を更新する。
【００３３】
（３）ＨＤＤ健全性確認処理
次に、ＨＤＤ健全性確認部２５によるＨＤＤ健全性確認処理の詳細について、図４のフローチャートを参照して説明する。
【００３４】
ＨＤＤ健全性確認部２５は、健全性確認の対象とすべきデータブロック（論理ブロック）を指定するアドレス（論理ブロックアドレス）から、ＨＤＤ１１-ｊ（ここではＨＤＤ１１-1及び１１-2）の全領域をスキャン（つまり健全性を確認）したかを判定する（ステップＳ１１）。もし、スキャン（健全性を確認）すべき領域が残っているならば、ＨＤＤ健全性確認部２５は、健全性確認の対象とすべきアドレスが、故障が予知されたＨＤＤ１１-0からスペアのＨＤＤ１１-3へのデータコピーが完了している領域に含まれているかを判定する（ステップＳ１２）。
【００３５】
もし、健全性確認の対象とすべきアドレスが、ＨＤＤ１１-0からスペアのＨＤＤ１１-3へのデータコピーが完了している領域に含まれていないならば、ＨＤＤ健全性確認部２５は、当該アドレスの指定する領域（データブロック）を検査して当該領域の健全性を確認するための例えばリードコマンドをＨＤＤ１１-1及び１１-2に発行する（ステップＳ１３）。ＨＤＤ健全性確認部２５は、このリードコマンドに対するＨＤＤ１１-1及び１１-2からの応答に基づき、当該ＨＤＤ１１-1または１１-2でメディアエラーが発生したかを判定する（ステップＳ１４）。もし、メディアエラーが発生していないならば、ＨＤＤ健全性確認部２５は健全性確認の対象とすべきアドレスを次のデータブロックを指定するように更新してステップＳ１１に戻る。
【００３６】
これに対し、ＨＤＤ１１-1またはＨＤＤ１１-2でメディアエラーが発生しているならば、ＨＤＤ健全性確認部２５はそのメディアエラーが発生している箇所（データブロック）をメディアエラー修復部２６により修復させる（ステップＳ１５）。今、ＨＤＤ１１-2でメディアエラーが発生しているものとすると、そのメディアエラー発生箇所の修復は、当該メディアエラー発生箇所（データブロック）に対応するＨＤＤ１１-0及び１１-1のデータまたは冗長データで、当該メディアエラー発生箇所のデータを復元し、その復元されたデータをメディアエラーが発生したデータブロック（アドレス）に書き込むことで実現される。もし、ＨＤＤ１１-0が実際に故障した後であれば、ＨＤＤ１１-2でのメディアエラーは修復できず、したがってＨＤＤ１１-1及び１１-2からＨＤＤ１１-0のデータを復元することもできなくなる。なお、メディアエラー修復部２６により修復で、ＨＤＤ１１-2内部で代替処理が行われることがある。この場合、復元されたデータが書き込まれる物理位置は、メディアエラーが発生した物理位置とは異なる。但し、代替先の物理位置は、メディアエラーが発生したアドレスでリンク付けされており、当該アドレスで正しくアクセスされる。
【００３７】
ＨＤＤ健全性確認部２５は、メディアエラー発生箇所をメディアエラー修復部２６により修復させると、健全性確認の対象とすべきアドレスを次のデータブロックを指定するように更新してステップＳ１１に戻る。
【００３８】
以上のようにして、論理ディスク１０を構成するＨＤＤ１１-0〜１１-2のうち、故障が予知されたＨＤＤ１１-0を除く全てのＨＤＤ１１-ｊ（ＨＤＤ１１-1及び１１-2）を対象とする健全性の確認処理が進んだ結果、次に健全性確認の対象とすべきアドレスが、図３（ｂ）に示すＡｃとなったものとする。このとき、データコピー部２７によるＨＤＤ１１-0からスペアＨＤＤ１１-3へのデータコピー処理は、アドレス０から上記アドレスＡｃまで完了しているものとする。つまり、次に健全性確認の対象とすべきアドレスが、スペアＨＤＤ１１-3へのデータコピー完了領域に到達した、更に詳細に述べるならば、当該データコピー完了領域に相当するＨＤＤ１１-ｊ（ＨＤＤ１１-1及び１１-2）の領域に到達したものとする。
【００３９】
ＨＤＤ健全性確認部２５は、ＨＤＤ１１-ｊ（ＨＤＤ１１-1及び１１-2）の全領域の健全性を確認（スキャン）し終えない場合でも（ステップＳ１１）、次に健全性確認の対象とすべきアドレスが上記データコピー完了領域に到達したならば（ステップＳ１２）、健全性確認処理を終了する。その理由は、既に述べたように、ＨＤＤ１１-3のデータコピー完了領域（アドレス０〜Ａｃまでの領域）に相当するＨＤＤ１１-1または１１-2の領域に、仮にメディアエラーが発生する箇所が含まれいて、その箇所が修復されなかったとしても、その箇所のデータは、新たな論理ディスク１０を構成する、ＨＤＤ１１-3を含む他のＨＤＤのデータから復元可能であるためである。なお、健全性確認処理をＨＤＤ１１-ｊ（ＨＤＤ１１-1及び１１-2）の全領域について実行しても構わない。
【００４０】
上記実施形態では、ＨＤＤ故障予知部２４によりＨＤＤ１１-0の故障が予知されてから、当該ＨＤＤ１１-0からスペアＨＤＤ１１-3へのデータコピーが完了するまでに要する時間を短縮できるように、ＨＤＤ健全性確認部２５による健全性確認処理とデータコピー部２７によるコピー処理とがほぼ同時に、且つアドレスを更新する方向が相互に逆順となるようにしている。しかし、故障が予知されたＨＤＤ１１-0のデータを当該ＨＤＤ１１-0が実際に故障する前にスペアＨＤＤ１１-3にコピーすると共に、当該ＨＤＤ１１-0のデータを利用して残りのＨＤＤ１１-1及び１１-2のメディアエラーを修復するという観点からは、この手法に限らない。例えば、ＨＤＤ健全性確認部２５によるＨＤＤ１１-1及び１１-2の全領域を対象に健全性確認処理を先に行い、しかる後にデータコピー部２７によるコピー処理を行うようにしても良い。また、ＨＤＤ１１-0のデータまたは冗長データを利用して残りのＨＤＤ１１-1及び１１-2のメディアエラーを修復するという観点だけに着目するならば、データコピー部２７によるコピー処理は必ずしも必要ない。この場合には、ＨＤＤ１１-0をスペアＨＤＤ１１-3で代替する際に、論理ディスク復元部２３が、ＨＤＤ１１-0のデータをＨＤＤ１１-1及び１１-2のデータで復元してＨＤＤ１１-3に書き込めばよい。
【００４１】
また上記実施形態では、データコピー部２７は、故障が予知されたＨＤＤ１１-0からデータが読み出せない場合を除いて、当該ＨＤＤ１１-0のデータをそのままスペアＨＤＤ１１-3にコピーしている。しかし、論理ディスク１０を構成するＨＤＤ１１-0〜１１-2のうち、残りのＨＤＤ１１-1及び１１-2のデータまたは冗長データを用いてＨＤＤ１１-0のデータを復元して、その復元されたデータをＨＤＤ１１-3にコピーするようにしても構わない。
【００４２】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００４３】
【図１】本発明の一実施形態に係るディスクアレイ装置の構成を示すブロック図。
【図２】ＨＤＤ故障予知部２４によってＨＤＤ１１-iの故障が予知された場合の処理の手順を示すフローチャート。
【図３】ＨＤＤ健全性確認部２５によるＨＤＤ健全性確認処理とデータコピー部２７によるデータコピー処理の各々の処理が進行するアドレスの方向と、ＨＤＤ健全性確認処理が終了するアドレスとを示す図。
【図４】ＨＤＤ健全性確認部２５によるＨＤＤ健全性確認処理の詳細な手順を示すフローチャート。
【符号の説明】
【００４４】
１０…論理ディスク、１１-0〜１１-2…ＨＤＤ（磁気ディスクドライブ）、１１-3…スペアのＨＤＤ（磁気ディスクドライブ）、２０…アレイコントローラ、２１…構成管理部、２２…アクセス制御部、２３…論理ディスク復元部、２４…ＨＤＤ故障予知部、２５…ＨＤＤ健全性確認部、２６…メディアエラー修復部、２７…データコピー部。
【図１】
2006268502.tif 000003
【図２】
2006268502.tif 000004
【図３】
2006268502.tif 000005
【図４】
2006268502.tif 000006