(57)【要約】【課題】エラーが発生したディスク装置に関係なく、ホスト等からディスク装置へアクセスすることができ、再構築の時間を短縮できるようにすること。【解決手段】情報を格納する複数のディスク装置Ｄ１〜Ｄ６と、前記複数のディスク装置Ｄ１〜Ｄ６へのアクセスを制御するコントローラ３とを備えたディスクアレイ装置１であって、前記コントローラ３は、前記ディスク装置Ｄ２にエラーが発生したことを検出した場合、該エラーを起こした領域のデータをディスクアレイ装置１内の未使用領域４に格納し、以降の該エラーを起こした領域へのアクセスは、前記未使用領域４にアクセスすることで、前記エラーを起こしたディスク装置Ｄ２の運用を継続する。【選択図】図１
2010267037.tif 000002
【特許請求の範囲】
【請求項１】
情報を格納する複数のディスク装置と、
前記複数のディスク装置へのアクセスを制御するコントローラとを備えたディスクアレイ装置であって、
前記コントローラは、前記ディスク装置のいずれかにエラーが発生したことを検出した場合、該エラーを起こした領域のデータをディスクアレイ装置内の未使用領域に格納し、以降の該エラーを起こした領域へのアクセスは、前記未使用領域にアクセスすることで、前記エラーを起こしたディスク装置の運用を継続することを特徴としたディスクアレイ装置。
【請求項２】
前記コントローラは、前記エラーを起こした領域のデータが、ライト処理であった場合、該ライト処理で書き込まれるべきデータを前記未使用領域に格納することを特徴とした請求項１記載のディスクアレイ装置。
【請求項３】
前記コントローラは、前記エラーを起こした領域のデータが、リード処理であった場合、該リード処理のデータを他のディスクから復元して前記未使用領域に格納することを特徴とした請求項１記載のディスクアレイ装置。
【請求項４】
前記コントローラは、負荷の低い時間帯に、前記エラーを起こしたディスク装置のデータ及び前記未使用領域のデータから、前記エラーを起こしたディスク装置のデータの再構築を行うことを特徴とした請求項１〜３のいずれかに記載のディスクアレイ装置。
【請求項５】
前記コントローラは、前記未使用領域に、複数のディスク装置のエラー領域のデータが格納されている場合、一つのディスク装置毎に再構築を行うことを特徴とした請求項４記載のディスクアレイ装置。
【請求項６】
前記コントローラは、前記ディスク装置において、リードに失敗する障害が発生して該ディスク装置の交代領域に前記リードに失敗したデータを書き込む回数が、規定値を超えた場合、該ディスク装置にエラーが発生していると判断することを特徴とした請求項３〜５のいずれかに記載のディスクアレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置に関する。特に、ディスク装置にエラーが発生した場合に継続運用を可能とするディスクアレイ装置に関する。
【背景技術】
【０００２】
ディスクアレイ (装置）は、複数のディスク装置（以下、単にディスクという）を搭載し、大容量ディスクとして扱う装置である。ディスクアレイは、装置の信頼性や処理能力を向上させるＲＡＩＤ（Redundant Arrays of Inexpensive Disks ）技術が採用されているため、ＲＡＩＤ（レイド）装置とも呼ばれる。
【０００３】
ＲＡＩＤ装置は、ディスクへのデータ配置や、データの冗長化（多重化）方法により、ＲＡＩＤ０〜ＲＡＩＤ５の６つのレベルに分類定義されている。ＲＡＩＤ０は、データをブロック単位に分割し、複数のディスクにわたって分散してデータが記録される。このためディスクをまたがってデータが帯状に配置されることからストライピングとも呼ばれる。ＲＡＩＤ１は、データを２台のディスクに同時に書き込むもので、ミラーリングとも呼ばれる。ＲＡＩＤ２は、データの誤りを検出・訂正するために、主記憶装置などで使用されるＥＣＣ（Error Correction Code ）を使用する。ＲＡＩＤ３は、データがブロック単位やビットまたはバイト単位に分割され、データ専用の複数のディスクへ同時に書き込まれる。そして、パリティを分割されたデータから生成し、パリティ専用のディスクに書き込まれる。ＲＡＩＤ４は、ＲＡＩＤ０のストライピングに、パリティ専用ディスクを追加してデータを再構築（再生成）する機能を持たせたものである。ＲＡＩＤ５は、ＲＡＩＤ４におけるパリティディスクへのＩ／Ｏ（入出力）集中を回避するための手法であり、パリティデータをすべてのディスクに分散して配置するものである。
【０００４】
ＲＡＩＤ３〜ＲＡＩＤ５では、パリティデータを格納することにより、万一、１台のディスクが故障しても、他のディスクから故障したディスクのデータを再構築（再現）することができる。
【０００５】
（１）：再構築（Reconstruction）の説明
ＲＡＩＤ５にてボリューム（記憶媒体の領域）を作成しているディスクにてライトエラー（Write Error ；ディスクへのデータの書き込みの失敗) が発生し、ディスクフェイル（Fail）が発生すると、ＲＡＩＤ装置はホットスペアディスク（Hot Spare Disk；未使用のデータ退避用ディスク) 又は正常ディスクの空き領域にフェイル（Fail）したディスク以外のディスク（正常ディスク）よりフェイルしたディスクのデータを再構築（Reconstruction）する（特許文献１、２参照）。
【０００６】
この再構築（Reconstruction）を行っている間、フェイルド（failed）状態のディスクを含む、ＲＡＩＤ５（又はＲＡＩＤ５内の各ボリューム（Volume））へのアクセス性能の低下が起こり、また、扱うデータ量の増大により再構築（Reconstruction）にかかる時間も増大の傾向にある。
【０００７】
図６は従来例の説明図である。図６において、ＲＡＩＤ装置１がホスト（ＨＯＳＴ）２と接続されている。ＲＡＩＤ装置１には、ＲＡＩＤグループ（Group ）”Ａ”を構成するディスクＤ１、Ｄ２、Ｄ３、Ｄ４とホットスペアディスクＤ６が設けてある。ホスト（ＨＯＳＴ）２には、カード２１が設けてある。なお、カード２１は、ファイバチャネル（Fibre Channel ）、アイスカジー（iSCSI ）、サス（SAS ）等のホストとストレージ間を接続するためのホストバスアダプタ（Host Bus Adapter）である。
【０００８】
・再構築（Reconstruction）動作の説明
(1) ＲＡＩＤ装置１のＲＡＩＤグループ”Ａ”内のディスクＤ２にライトエラーが発生する。なお、ライトエラーとなるのは、通常ディスクに備わっている交代領域がなくなった場合である。
【０００９】
(2) ＲＡＩＤ装置１は、ホットスペアディスクＤ６にフェイルしたディスクＤ２以外のディスクＤ１、Ｄ３、Ｄ４よりフェイルしたディスクＤ２のデータを再構築する。
【００１０】
(3) ホスト２は、ＲＡＩＤグループ（Volume Group）”Ａ”内のボリュームに対してのアクセス性能の低下が発生する（ＲＡＩＤ装置１が再構築中であるため）。
【００１１】
（２）：他のもう 1本のディスクで読み取り不可の領域がある場合の説明
ＲＡＩＤ５を組んでいるうちの１本のディスクのライトエラー（Write Error ）にてフェイル状態になった上に、他のもう1 本のディスクで媒体エラー等が間欠発生し、データが読みとり不可の領域がある場合、現状のデータ復旧方法では、フェイルしたディスク以外のディスクより再構築を行うため、上記の場合、データのリード（read）に失敗し、再構築不可となる。
【００１２】
図７は従来のライトエラーと他のディスクで読み取り不可の領域がある場合の説明図である。図６と同じものは同じ符号で示してある。
【００１３】
・再構築（Reconstruction）動作の説明
(1) ＲＡＩＤ装置１のＲＡＩＤグループ（Group ）”Ａ”を構成するディスクＤ２にライトエラーが発生する。
【００１４】
(2) ＲＡＩＤ装置１は、ホットスペアディスクＤ６に、フェイルしたディスクＤ２以外のディスクＤ１、Ｄ３、Ｄ４よりフェイルしたディスクＤ２のデータの再構築を開始する。
【００１５】
(3) ディスクＤ３の媒体エラーにて、ディスク内に読み取り不可の領域が間欠発生する。
【００１６】
(4) ＲＡＩＤ装置１は、ディスクＤ３の媒体エラーにてディスク内の間欠障害により、データの再構築に失敗する。
【００１７】
また、従来、ディスクのセクタ障害が発生した際、一時的に不揮発記憶手段に交代処理を実施し、高速な交代処理の実現と応答時間の短縮をするディスクアレイ装置があった（特許文献３参照）。これはセクタ障害が発生時の交代処理であり、ディスクのライトエラー発生時のデータの再生成を行うものではなかった。
【先行技術文献】
【特許文献】
【００１８】
【特許文献１】特開平６−３５６２５号公報
【特許文献２】特開平６−２３０９０３号公報
【特許文献３】特開平１１−２４８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１９】
上記従来のものは、次のような課題があった。
【００２０】
（１）ライトエラーが発生し、ホットスペアディスク又は正常ディスクの空き領域に再構築を行うと、再構築を行なっているＲＡＩＤグループ内のボリュームに対してのアクセス性能の低下が発生するものであった。
【００２１】
（２）ＲＡＩＤを組んでいるうちの１本のディスクがライトエラーにてフェイル状態になった上に、他のもう1 本のディスクでデータが読みとり不可の領域がある場合、データの再構築に失敗するものであった。
【００２２】
ここで説明するディスクアレイ装置では、ディスクのエラーが発生した場合、未使用領域を用意して、エラーが発生したディスクの対象データを用意した未使用領域にライトしてシステムを継続運用できるようにすることを目的とする。
【課題を解決するための手段】
【００２３】
情報を格納する複数のディスク装置と、前記複数のディスク装置へのアクセスを制御するコントローラとを備えたディスクアレイ装置であって、前記コントローラは、前記ディスク装置にエラーが発生したことを検出した場合、該エラーを起こした領域のデータをディスクアレイ装置内の未使用領域に格納し、以降の該エラーを起こした領域へのアクセスは、前記未使用領域にアクセスすることで、前記エラーを起こしたディスク装置の運用を継続する。
【発明の効果】
【００２４】
ここで開示のディスクアレイ装置は、次のような効果がある。
【００２５】
ホスト等からエラーが発生したディスク装置に関係なく、ディスク装置へアクセスすることができ、また、エラーを起こしたディスク装置と未使用領域からのコピーでホットスペアディスク等へ再構築を行えるため、再構築の時間を短縮することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の未使用領域に未使用ディスクを使用する場合の説明図である。
【図２】本発明のエラーデータを書き込んだ場所の説明図である。
【図３】本発明のライトエラーが発生した場合の処理の説明図である。
【図４】本発明の複数のディスクにライトエラーが発生した場合の説明図である。
【図５】本発明の複数のディスクにライトエラーが発生した場合の処理の説明図である。
【図６】従来例の説明図である。
【図７】従来のライトエラーと他のディスクで読み取り不可の領域がある場合の説明図である。
【発明を実施するための形態】
【００２７】
ここで説明するディスクアレイ装置は、ディスクにエラーが発生した場合、未使用のディスク又は空き領域等に未使用領域を用意して、エラーが発生した領域のディスクのデータを用意した未使用領域にライトしてシステムを継続運用できるようにするものである。ここでディスクとして、ハードディスクドライブ（HDD ）、ソリッドステートドライブ（SSD ）等を使用することができる。
【００２８】
先ず、ディスクアレイ装置に未使用領域を用意する。この未使用領域としては、コントローラのメモリ、未使用のディスク、ホットスペア（Hot Spare ）ディスク或いは、既にＲＡＩＤを組んでいるディスクの空き領域でもよい。
【００２９】
以下のエラー条件（ａ）〜（ｃ）が起こった際、コントローラは、始めにディスク内の他の領域がリード（Read）可能か判断するために診断用リード（Read）を行う。コントローラが診断用リードでリード可能と判断したときのみ、ライトエラー等が発生したデータを上記未使用領域に書き込む。どこにデータを書き込んだかの情報（図２参照）は、ディスクアレイ装置のコントローラのメモリ上に持つこととする。
【００３０】
（エラー条件（ａ）〜（ｃ））
（ａ）ディスク媒体エラーによるライトエラー（Write Error ）が発生した場合（ディスクの交代領域がなくなった場合であり、交代領域がある場合はエラーとはならない。）。
【００３１】
（ｂ）データのリード（Read）（バックグラウンドで実施するディスク監視機能（Media Scan）も含む）に失敗し、リードデータを他のディスクから再構成し、ディスクにリライト（Rewrite ）したが再度リードに失敗した場合 (通常はそのまま同じディスクの交代領域に配置（allocate）してリライトしたデータをリードする) 。
【００３２】
（ｃ）媒体エラー等のリカバードエラー（Recovered Error ）にてリードに失敗する障害が発生し、該リードに失敗したデータを他のディスクから再構築して交代領域に書く回数がある一定値（規定値を設けておく) を超えた場合。
【００３３】
上記エラー条件（ａ）〜（ｃ）が発生した際、従来は該エラーが発生したディスクをアクセス不可とし、そのディスクのステータスを“フェイルド（Failed）”として使用不可としていた。しかし、このディスクアレイ装置では、そのままリード／ライト可能（エラーを起こしたディスクはステータス“リードオンリ（Read only ）”) とする。ここでリードオンリとする理由は、エラーを起こしている領域以外ではリード可能であり、そのリード可能なデータを有効に利用するためである。
【００３４】
上記エラー条件（ａ）〜（ｃ）によりライト又はリードエラーした領域のデータを用意した未使用領域に保存する。その後通常運用を継続する。もし、エラー条件（ａ）〜（ｃ）のエラーが発生したディスクの領域にライト処理が発生した場合に、コントローラはメモリ上の情報（どこにデータを書き込んだか）を参照して未使用領域にライトを実行する。そして、負荷の低い時間帯などにホットスペアディスクにエラーをしたディスク内のデータの再構築（Reconstruction）を実施すれば、装置の効率的な運用が可能となる。
【００３５】
負荷の低い時間帯は、例えば、次の(1)(2)のようにして判断する。(1) 管理者がアクセスの少ない時間帯を判断（設定）するもので、プログラム等で設定された開始時間に再構築を行う。(2) コントローラがアクセスするデータ量を監視するもので、例えば３０分ぐらいアクセスがないと判断すると自動で再構築を開始する。
【００３６】
（１）：再構築の説明
再構築（Reconstruction）の実施方法は、エラーが発生したディスクのリード可能な領域のデータをそのまま（エラー条件（ａ）〜（ｃ）の発生したディスクから）ホットスペアディスクにコピー（Copy）し、未使用領域に保存したデータに関しても、そのままホットスペアディスクにコピーする。
【００３７】
ディスクのエラーが発生している領域のデータは、未使用領域に格納し、以降のエラーが発生している領域へのアクセスはこの格納した未使用領域のデータにアクセスすることで、エラーが発生しているディスクの運用を継続する。このため、他のディスクからデータを再構築する必要はなく、ホスト等からエラーが発生しているディスクへのアクセスを可能としているため、データを単にコピーするだけの運用であり、通常のホットスペアディスクへの再構築（他のディスクからデータを再構築）より大幅に時間を短縮することが可能となる。
【００３８】
図１は未使用領域に未使用ディスクを使用する場合の説明図である。図１において、  ディスクアレイ装置１がホスト（ＨＯＳＴ）２と接続されている。ディスクアレイ装置１には、コントローラ３、ＲＡＩＤ５を構成するディスク (ディスク装置）Ｄ１、Ｄ２、Ｄ３、Ｄ４、未使用ディスク (ディスク装置）Ｄ５、ホットスペアディスク (ディスク装置）Ｄ６が設けてある。ホスト（ＨＯＳＴ）２には、カード２１が設けてある。
【００３９】
なお、４は未使用領域である。この未使用領域４は、コントローラのメモリ、未使用ディスクＤ５、ホットスペアディスクＤ６或いは、既にＲＡＩＤを組んでいるディスクＤ１、Ｄ２、Ｄ３、Ｄ４の空き領域であってもよい。
【００４０】
ディスクアレイ装置１は、複数のディスク装置で構成されたＲＡＩＤを用いることで、単体のディスクに比べ高い信頼性を実現するストレージシステムである。ホスト２は、ディスクアレイ装置１にアクセスする上位装置となるホストコンピュータである。コントローラ３は、ディスクＤ１、Ｄ２、Ｄ３、Ｄ４、未使用ディスクＤ５、ホットスペアディスクＤ６等へのリード／ライトの制御等を行うディスクアレイ装置の制御手段である。
【００４１】
未使用領域４は、使用予定はないがデータを書き込むことができる領域であり、ホストから認識されている格納領域である。未使用領域の把握は、まず、コントローラはディスクのＳＣＳＩ（Small Computer System Interface ）コマンド等を使用して、使用しているＲＡＩＤボリュームに割り当てられていない未使用のボリュームを把握し、コントローラのメモリ内にその情報を保持する。それと同時に未使用領域に割り当てる際の優先順位についても、設定する。例として、(1) ディスクＤ１、Ｄ２、Ｄ３、Ｄ４の空き領域→(2) コントローラのメモリの未割り当て領域→(3) ホットスペアディスクＤ６というように優先付けをする。
【００４２】
カード２１は、ファイバチャネル（Fibre Channel ）、アイスカジー（iSCSI ）、サス（SAS ）等のホストとストレージ間を接続するためのホストバスアダプタ（Host Bus Adapter）である。
【００４３】
ディスクＤ１、Ｄ２、Ｄ３、Ｄ４は、ＲＡＩＤ５のＲＡＩＤグループを構成するディスクである。未使用ディスクＤ５は、ＲＡＩＤを組んでない未使用のディスクである。ホットスペアディスクＤ６は、未使用のディスクであり、データ退避用である。
【００４４】
図２はエラーデータを書き込んだ場所の説明図である。ディスクアレイ装置において、媒体エラーが発生した際、コントローラは、ＳＣＳＩコマンド等を使用してディスクのエラーが発生しているデータを特定し、そのデータを先に把握した未使用のデータ領域に割り当て、書き込む。また、この際どこに書き込んだのかという情報（エラーデータを書き込んだ場所の情報）をコントローラのメモリ内に保持する。このメモリ内に保持する情報の例（記述例）を図２に示してある。
【００４５】
図２において、上段にはエラー（障害）が発生したデータ（Defect data ）の情報が、下段には上段の障害データを再割り当てしたデータ（Reassign data ）の情報が示されている。上段のエラー（障害）が発生したデータ（Defect data ）の情報には、エラーが発生しているディスク名（Device Name ）、エラー発生の場所（Logical Block Address ）、データ長（Transfer Length ）が設けてある。下段の再割り当てしたデータ（Reassign data ）の情報には、再割り当てした未使用領域のディスク名（Device Name ）、再割り当てした場所（Logical Block Address ）、データ長（Transfer Length ）が設けてある。
【００４６】
・フローチャートによる説明
図３はライトエラーが発生した場合の処理の説明図である。以下、図３の未使用ディスクＤ５に再構築を行う動作を処理Ｓ１〜Ｓ３に従って説明する。
【００４７】
Ｓ１：コントローラ３は、ＲＡＩＤ５を組んでいるディスクＤ２にライトエラーが発生したことを検出する。ライトエラーとなるのは、通常ディスクに備わっている交代領域がなくなった場合である。
【００４８】
Ｓ２：コントローラ３は、エラーを起こした領域に書き込もうとしていたデータ（ライトエラーのデータ）を未使用領域４にライトする。以降のエラーを起こしている領域へのアクセスはこの未使用領域のデータにアクセスすることで、ライトエラーを起こしているディスクＤ２の運用は継続する。ここで未使用領域４とは、未使用ディスクＤ５、ホットスペアディスクＤ６、コントローラ３のメモリ、既にＲＡＩＤを組んでいるディスクの空き領域等の未使用の領域である。図１の例では、未使用ディスクＤ５の領域を未使用領域４として使用する。なお、未使用領域４として交代領域は含めない。
【００４９】
Ｓ３：コントローラ３は、ディスクアレイ装置の負荷の低い時間帯などに、ライトエラーを起こしているディスクＤ２からリード可能な領域のデータを未使用ディスクＤ５にコピーして再構築（Reconstruction）を行う。なお、未使用領域４として、未使用ディスクＤ５以外を使用している場合は、未使用領域４にエラーが発生しなければディスクＤ２に格納すべきであったデータが存在するため、未使用領域４からもデータを未使用ディスクＤ５にコピーして、ディスクＤ２のデータの再構築を行う。
【００５０】
このように、ホスト（ＨＯＳＴ）２からは、ディスクのライトエラーに関係なくディスクアレイ装置１へアクセスすることができる。そして、アクセス頻度の低い時間帯に未使用ディスクＤ５、ホットスペアディスクＤ６等への再構築を行う。
【００５１】
（２）：複数のディスクにライトエラーが発生した場合の説明
同じＲＡＩＤ５の複数のディスクにおいて、前記エラー条件（ａ）〜（ｃ）のエラーが発生した場合にも以下の説明のように有効である。
【００５２】
同一ＲＡＩＤ５内の複数ディスクにて前記エラー条件（ａ）〜（ｃ）のエラーが発生した場合、前記エラー条件（ａ）〜（ｃ）のエラーが発生しライトに失敗したデータを未使用領域にライトする。それぞれのディスクについてどの領域にデータを保存したかの情報（図２参照）をコントローラのメモリ上にて管理する。もし、ホットスペアディスクを１本設定している場合には、ホットスペアディスクに前記エラー条件（ａ）〜（ｃ）のエラーが発生した１本目のディスクからホットスペアディスクにリード可能な領域をコピー＋未使用領域からコピーし（ホットスペアディスクに再構築）、障害ディスク交換、データのコピーバック（copy back ）を終了してから前記１本目のディスクと同様に、次の２本目のディスクのリード可能な領域をコピー＋未使用領域からのコピーを行う。このホットスペアディスクへのデータの退避（再構築）の順番はどのディスクが先でもかまわない。
【００５３】
この場合に、１本目のディスクの再構築中に、再構築を行っていない片方（２本目）のディスクについて未使用領域へのライトに失敗する場合がある。このライトに失敗したデータは、ＲＡＩＤを組んでいる１本目のディスクのエラー領域と同じデータの領域でなければ、ＲＡＩＤを組んでいる他のディスクからデータ再構築を行うことが可能でありデータは保護される（通常の再構築の方法が適用される。）。
【００５４】
また、前記エラー条件（ａ）〜（ｃ）以外の媒体エラー（Unrecovered Read Error）を含んだ場合の複数のディスクのエラーにも有効である。
【００５５】
前記エラー条件（ａ）〜（ｃ）の条件でリードオンリ（Read Only ）状態になったディスクを従来の手順、つまり、エラーディスク以外のディスクからのデータ再構築する手法にてホットスペアディスクに再構築を行っている最中に、他のディスク（２本目のディスク）でリード不可の領域が検出された場合、再構築に失敗してしまう。なお、他のディスクでリード不可の領域が検出された場合の例として、データ領域のリードエラーがリトライで救えなかった場合、ＥＣＣで修正できなかったなどの媒体エラー（Unrecovered Read Error）がある。前記エラー条件（ａ）〜（ｃ）の条件とは異なる。
【００５６】
しかし、このディスクアレイ装置では2 本目のディスクのリード不可領域の情報を取得し、前記エラー条件（ａ）〜（ｃ）のディスク（１本目のディスク）より２本目のディスクのリード不可領域に該当するデータをリードすることが可能なので、再構築を継続できる。
【００５７】
逆に１本目で媒体エラーが発生し、他のディスクからの通常の再構築を実施している間に、２本目として前記エラー条件（ａ）〜（ｃ）のエラーが発生する場合がある。このような場合にも、このディスクアレイ装置では、１本目のディスクをリード可能とすることにより、再構築を継続することが可能である。この１本目のディスクがリード可能であるのは、１本目のディスクの媒体エラー領域のデータを未使用領域に格納し、以降この媒体エラー領域へのアクセスは未使用領域にアクセスすることで１本目のディスクをアクセス可能、すなわち、１本目のディスクをリード可能とするものである。
【００５８】
２本以上で媒体エラーが起こった場合においても、ＲＡＩＤを組んでいるデータ領域において、２本以上のディスクでリード不可領域のデータが重ならなければ、このディスクアレイ装置によりデータの再構築は継続でき、貴重なデータを失う確率を削減することができる。再構築の継続は、未使用領域のデータと媒体エラーが発生してリードオンリ（ステータス）となったディスクからのデータを読み込むことにより行われる。
【００５９】
図４は複数のディスクにライトエラーが発生した場合の説明図である。図４において、ディスクアレイ装置１であるＲＡＩＤ装置には、ＲＡＩＤグループ”Ａ”のディスクＤ１、Ｄ２、Ｄ３、及び、ホットスペアディスクＤ６が設けてある。なお、図４ではホスト、コントローラ等は省略してある。
【００６０】
このＲＡＩＤ装置において、(1) ディスクＤ２にライトエラーが発生すると、(2) ディスクＤ１の未使用領域にデータをライトし、(3) ディスクＤ２の運用を継続する。さらに、(4) ディスクＤ３の媒体エラーにてディスクＤ３内に読み取り不可が間欠発生（ディスクＤ３内の交代領域の使用等でリカバリは出来ている状態）があり、(5) ディスクＤ３内の読み取り不可となった回数が、ある一定の閾値を超えたらディスクＤ１の未使用領域にデータをライトし、(6) ディスクＤ３の運用を継続する。(7) 負荷の低い時間帯などに、ホットスペアディスクＤ６に再構築を開始する。この再構築は、ディスクＤ２、Ｄ３のどちらか一方ずつ次の手順で実施する。
【００６１】
イ）ディスク（Ｄ２又はＤ３）のリード可能な領域からディスク（Ｄ２又はＤ３）のデータをホットスペアディスクＤ６にコピーする。
【００６２】
ロ）ディスクＤ１の未使用領域に書き込んだデータをホットスペアディスクＤ６にコピーする。
【００６３】
・フローチャートによる説明
図５は複数のディスクにライトエラーが発生した場合の処理の説明図である。以下、図５に従ってホットスペアディスクＤ６に再構築を行う動作を処理Ｓ１１〜Ｓ１７により説明する。
【００６４】
Ｓ１１：コントローラ３は、ＲＡＩＤグループ”Ａ”を組んでいるディスクＤ２にライトエラーが発生したことを検出する。
【００６５】
Ｓ１２：コントローラ３は、エラーを起こした領域に書き込もうとしていたデータ（ライトエラーを起こしている領域のデータ）をディスクＤ１の未使用領域にライトする。
【００６６】
Ｓ１３：コントローラ３は、ライトエラーを起こしているディスクＤ２の運用を継続する。
【００６７】
Ｓ１４：コントローラ３は、ディスクＤ３の媒体エラーにてディスクＤ３内に読み取り不可の間欠発生（ディスクＤ３内の交代領域の使用等でリカバリは出来ている状態）を検出する。
【００６８】
Ｓ１５：コントローラ３は、ディスクＤ３内で間欠発生した読み取り不可が、ある一定の閾値（予め決めておく）を超えたらディスクＤ１の未使用領域にその読み取り不可のデータをライト（他のディスクから再構築してライト）する。
【００６９】
Ｓ１６：コントローラ３は、ディスクＤ３の運用を継続する。
【００７０】
Ｓ１７：コントローラ３は、負荷の低い時間帯などに、ホットスペアディスクＤ６に再構築を開始する。この再構築は、ディスクＤ２、Ｄ３のどちらか一方ずつ実施する。
【００７１】
例えば、ディスクＤ２の再構築は、ディスクＤ２のリード可能な領域からディスクＤ２のデータをホットスペアディスクＤ６にコピーし、さらに、ディスクＤ１の未使用領域からディスクＤ２の書き込んだデータをホットスペアディスクＤ６にコピーする。この後、障害ディスクＤ２交換、データのコピーバックを終了する。
【００７２】
次いで、ディスクＤ３のリード可能な領域からディスクＤ３のデータをホットスペアディスクＤ６にコピーし、さらに、ディスクＤ１の未使用領域からディスクＤ３の書き込んだデータをホットスペアディスクＤ６にコピーする。この後、障害ディスクＤ３を交換し、交換したディスクに対しデータのコピーバックを終了する。
【００７３】
なお、未使用領域としてホットスペアディスクＤ６の未使用領域を使用し、ホットスペアディスクＤ６にディスクＤ２の再構築を行う場合において、未使用領域に障害ディスクＤ２、Ｄ３のデータが書き込まれていることがある。このときのディスクＤ２の再構築においては、障害ディスクＤ３のデータを他の未使用領域に退避させる必要がある。
【００７４】
このように、このディスクアレイ装置では、上記エラー条件（ａ）〜（ｃ）の条件を設定したこと、今までフェイルド（failed）としてアクセス不可と判断していたが、ハード的には問題なく、媒体エラー、リカバード（Recovered ）エラーに関して、ディスクが問題ない領域についてはそのままアクセス可能とする。そして、負荷が低い時間帯を選択してホットスペアディスク等に再構築を実施し、障害ディスクを交換して再構築したホットスペアディスク等から交換したディスクにコピー（コピーバック；Copy Back ）を実行することができる。このため、ディスクアレイ装置を効率的に運用することが可能となると共に、コピーによる処理であるため再構築の時間を短縮できる。
【００７５】
また、複数のディスクでの媒体エラー、リカバードエラーの多発していた環境での、ディスクフェイルドにより再構築不可に陥る（ディスクマルチデッド) 確率の削減に有効である。
【符号の説明】
【００７６】
１  ディスクアレイ装置
２  ホスト（ＨＯＳＴ）
３  コントローラ
４  未使用領域
Ｄ１、Ｄ２、Ｄ３、Ｄ４  ディスク (ディスク装置）
Ｄ５  未使用ディスク (ディスク装置）
Ｄ６  ホットスペアディスク (ディスク装置）
【図１】
2010267037.tif 000003
【図２】
2010267037.tif 000004
【図３】
2010267037.tif 000005
【図４】
2010267037.tif 000006
【図５】
2010267037.tif 000007
【図６】
2010267037.tif 000008
【図７】
2010267037.tif 000009