(57)【要約】    【課題】ディスク装置の故障時にＲＡＩＤグルーブに含まれる２台以上のディスク装置からデータが読めなくなることを未然に予防し、故障ディスク装置のデータが復元できずにデータロストとなる事態を未然に防ぐ。    【解決手段】Ｎ台のディスク装置２２毎に、検出された異常に応じた点数を加算して統計加点を求め、統計加点が予め定めた故障判定点に近づいた時にパリティの再作成を指示し、統計加点が故障判定点を超えた時にディスク装置の切り離しを指示する故障監視部２６と、故障監視部２６からパリティ再作成の指示を受けた際に、複数のディスク装置の全アドレスにつきアドレス毎に（Ｎ−１）台のディスク装置からユーザデータを読出してパリティデータを再計算して残り１台のディスク装置に書込むパリティ再作成部２８とを設ける。    【選択図】      図１
2006079418.tif 000002
【特許請求の範囲】
【請求項１】
ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り１台の記憶装置に前記複数のユーザデータから計算されたパリティデータを書込む記憶制御装置に於いて、
前記ディスク装置毎に、検出された異常に応じた点数を加算して統計加点を求め、前記統計加点が予め定めた故障判定点に近づいた時にパリティの再作成を指示する故障監視部と、
前記故障監視部からパリティ再作成の指示を受けた際に、前記（ｎ−１）台のディスク装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成部と、
を備えたことを特徴とする記憶制御装置。
【請求項２】
請求項１記載の記憶制御装置に於いて、前記故障監視部は、前記統計加点が前記故障判定点に１未満の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とする記憶制御装置。
【請求項３】
請求項１記載の記憶制御装置に於いて、前記故障監視部は、前記統計加点が前記故障判定点に０．７乃至０．９の範囲の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とする記憶制御装置。
【請求項４】
請求項１記載の記憶制御装置に於いて、前記故障監視部は、前記複数の記憶装置の何れかよりＳＭＡＲＴ機能による自己診断異常が出力された際に、パリティ再作成の開始を指示することを特徴とする記憶制御装置。
【請求項５】
請求項１記載の記憶制御装置に於いて、前記複数の記憶装置はＲＡＩＤ５の冗長構成を有することを特徴とする記憶制御装置。
【請求項６】
請求項１記載の記憶制御装置に於いて、
ホストと接続するチャネルアダプタと、前記複数の記憶装置を接続するデバイスアダプタと、前記チャネルアダプタとデバイスアダプタの間に配置された中央処理モジュールを備え、
前記故障監視部は前記中央処理モジュールに設けられ、前記パリティ再作成部はデバイスアダプタに設けられ、前記中央処理モジュールから前記デバイスアダプタにパリティ再作成を指示して実行させることを特徴とする記憶制御装置。
【請求項７】
ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り１台の記憶装置に前記複数のユーザデータから計算されたパリティデータを書込む記憶制御方法に於いて、
前記記憶装置毎に、検出された異常の度合いに応じてパリティの再作成を指示する故障監視ステップと、
前記故障監視ステップからパリティ再作成の指示を受けた際に、前記（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成ステップと、
を設けたことを特徴とする記憶制御方法。
【請求項８】
請求項７記載の記憶制御方法に於いて、前記故障監視ステップは、前記複数の記憶装置の何れかよりＳＭＡＲＴ機能による自己診断異常が出力された際に、パリティ再作成の開始を指示することを特徴とする記憶制御方法。
【請求項９】
ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り１台の記憶装置に前記複数のユーザデータから計算されたパリティデータを書込む記憶制御装置のコンピュータに、
前記記憶装置毎に、検出された異常に応じた点数を加算して統計加点を求め、前記統計加点が予め定めた故障判定点に近づいた時にパリティの再作成を指示する故障監視ステップと、
前記故障監視ステップからパリティ再作成の指示を受けた際に、前記（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成ステップと、
を実行させることを特徴とするプログラム。
【請求項１０】
請求項９記載のプログラムに於いて、前記パリティ再作成ステップは、前記複数の記憶装置の何れかよりＳＭＡＲＴ機能による自己診断異常が出力された際に、パリティ再作成の開始を指示することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ構成によりデータの冗長性を確保するディスクアレイ等の記憶制御装置、制御方法及びプログラムに関し、特に記憶装置の故障切り離しに対し冗長構成に基づくデータ復元を保証する記憶制御装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ディスクアレイアブシステムにあっては、ディスクアレイに設けた複数のディスク装置についてＲＡＩＤ（ＲＥＤＵＮＤＡＮＴ  ＡＲＲＡＹ  ＯＦ  ＩＮＤＥＰＥＮＤＥＮＴ  ＤＩＳＫＳ）を構成することによりデータの冗長性を高め、ホストからの入出力要求に応答している。
【０００３】
ＲＡＩＤには様々な種類があるが、トランザクション処理に伴うホストからの入出要求に適したＲＡＩＤ５が通常用いられる。ＲＡＩＤ５は、ディクスアレイを構成するＮ台のディスク装置の内、ストライプを構成する同一論理ブロックアドレスとなるＮ−１台にユーザデータを書込み、残り1台にユーザデータの排他論理和（ＸＯＲ）をとることで生成したパリティを書込んでおり、更にパリティを書込むディスク装置をストライプ毎に異ならせることでパリティを分散させている。
【０００４】
このようなＲＡＩＤ５の冗長構成をとるディスクアレイシステムにあっては、ディスク装置の故障が発生して縮退した場合、故障したディスク装置とＲＡＩＤグループを組んでいる残りのディスク装置からユーザデータ及びパリティを読出して排他論理和処理を行うことで故障ディスク装置のユーザデータを復元できる。
【特許文献１】特許第２６１８０７８号
【特許文献２】特開平１０−２７５０６０
【特許文献３】特開２００３−２３３４６８
【特許文献４】特開平１０−２４７１３４
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような従来のＲＡＩＤ５のディスクアレイシステムにあっては、ディスク装置に故障が発生して縮退した際に、故障ディスク装置を含めて２台以上のディスク装置からデータが読めなかった場合には、排他論理和処理が出来なくなってしまうため、データを復元することはできず、データがロストするという最悪な事態になる。
【０００６】
ディスク装置の故障発生時にデータ復元ができなくなる原因としては例えば次のことが考えられる。まず、ディスク装置におけるファームウェアの設計過誤等の何らかの要因でパリティが異常になり、パリティの整合性が崩れてしまった場合である。
【０００７】
また故障ディスク装置以外のディスク装置で媒体に異常が発生した場合がある。さらに、同じストライプ上にある同一論理ブロックアドレスであってもリード及びライトが長い間されていない箇所が出て来る可能性あり、このような箇所について媒体に異常が発生してデータが復元できなくなることも十分に考えられる。
【０００８】
本発明は、記憶装置の故障時にＲＡＩＤグループに含まれる２台以上の記憶装置からデータが読めなくなったり、読取ったパリティが整合性を欠くことを未然に予防し、故障記憶装置のデータが復元できずにデータロストとなる事態を確実に防止する記憶制御装置、制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
図１は本発明の原理説明図である。本発明は、ｎ台の記憶装置２２ａの内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り1台の記憶装置に複数のユーザデータから計算されたパリティデータを書込む記憶制御装置１０ａに於いて、記憶装置毎に、検出された異常に応じた点数を加算して統計加点を求め、統計加点が予め定めた故障判定点に近づいた時にパリティの再作成を指示する故障監視部２６と、故障監視部２６からパリティ再作成の指示を受けた際に、（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成部２８とを設けたことを特徴とする。
【００１０】
ここで、故障監視部は、統計加点が故障判定点に１未満の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示する。また故障監視部は、統計加点が前記故障判定点に例えば０．７乃至０．９の範囲の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示する。
【００１１】
故障監視部は、前記複数の記憶装置の何れかよりＳＭＡＲＴ機能（Ｓｅｌｆ−Ｍｏｎｉｔｏｒｉｎｇ，  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｒｅｐｏｒｔｉｎｇ  Ｔｅｃｈｎｏｌｏｇｙ  自己診断、解析及び報告技術）による自己診断異常が出力された際に、パリティ再作成を開始する。複数の記憶装置はＲＡＩＤ５の冗長構成を有する。なお、ＳＭＡＲＴは、ハードディスクの読出し及び書き込みのエラー率を事前に回収し、この情報を元に自分自身が動作できなくなる時期を判断し、これをユーザに通知することで、動作停止前にバックアップ等を促すもので、ＡＴＡ／ＡＴＡＰＩの規格に組み込まれている。
【００１２】
本発明の記憶制御装置は、ホストと接続するチャネルアダプタと、複数の記憶装置を接続するデバイスアダプタと、チャネルアダプタとデバイスアダプタの間に配置された中央処理モジュールを備え、故障監視部は中央処理モジュールに設けられ、パリティ再作成部はデバイスアダプタに設けられ、中央処理モジュールからデバイスアダプタにパリティ再作成を指示して実行させる。
【００１３】
本発明は記憶制御方法を提供する。本発明は、ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り1台の記憶装置の同一アドレスに複数のユーザデータから計算されたパリティデータを書込む記憶制御方法に於いて、
記憶装置毎に、検出された異常の度合いに応じてパリティの再作成を指示する故障監視ステップと、
故障監視ステップからパリティ再作成の指示を受けた際に、（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成ステップと、
を設けたことを特徴とする。
【００１４】
本発明は、記憶制御プログラムを提供する。本発明は、ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り1台の記憶装置に複数のユーザデータから計算されたパリティデータを書込む記憶制御装置のコンピュータに、
記憶装置毎に、検出された異常に応じた点数を加算して統計加点を求め、統計加点が予め定めた故障判定点に近づいた時にパリティの再作成を指示する故障監視ステップと、
故障監視ステップからパリティ再作成の指示を受けた際に、（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成ステップと、
を実行させることを特徴とする。
【００１５】
なお本発明による記憶制御方法及びプログラムの詳細は、記憶制御装置と基本的に同じとなる。
【発明の効果】
【００１６】
本発明によれば、ＲＡＩＤグループに含まれる記憶装置が故障する直前に、ユーザデータを読み出してパリティを再作成してパリティ用の記憶装置に書き込むようにしているため、特定の記憶装置が故障した際に、パリティの整合性と信頼性を確保し、記憶装置の故障発生時にパリティの不整合から正しいデータが復元できずにデータロストとなる最悪な事態を未然に防止できる。
【００１７】
またパリティを再作成する際に全ての記憶装置からユーザデータを読み出し、また再作成したパリティをパリティ用の記憶装置に書き込んでいるため、全記憶装置について媒体の異常を検出することが可能になり、媒体異常に対しては交代処理で対応しておくことで、記憶装置の故障発生時に故障記憶装置を含めて２台以上の記憶装置から媒体異常に起因してデータが読めなくなってデータロストとなる最悪な事態を確実に防止できる。
【発明を実施するための最良の形態】
【００１８】
図２は、本発明が適用されたディスクアレイシステムの機能構成のブロック図である。図２において、ディスクアレイシステムは、記憶制御装置として機能するディスクアレイ制御装置１０とディスクアレイ１４で構成される。ディスクアレイ制御装置１０には、チャネルアダプタ１６、中央処理モジュール（ＰＭ）１８−１，１８−２、デバイスアダプタ２０−１，２０−２が設けられている。
【００１９】
チャネルアダプタ１６はホスト１２と接続され、ホスト１２からの入出力要求に関するインターフェース制御を処理する。即ちチャネルアダプタ１６は、ホスト１２よりデータのライトオペレーション要求またはリードオペレーション要求を受領すると、中央処理モジュール１８−１，１８−２のいずれか一方に対し処理要求を通知したり、中央処理モジュール１８−１，１８−２に設けているキャッシュメモリに直接アクセスしてホスト１２との間でデータ転送を行う。
【００２０】
中央処理モジュール１８−１，１８−２はディスクアレイ制御装置１０における中核となるモジュールであり、リソース管理、キャッシュメモリ管理及びサービスという３つの処理を実行する。リソース管理は各機能モジュールの資源や有効な制御管理を行う。キャッシュメモリ管理は中央処理モジュール１８−１，１８−２内に設けているメモリ領域に対し、割当管理、キャッシュ制御全般を行う。サービスはメンテナンス用ツールによる各種のサービスを提供する。
【００２１】
デバイスアダプタ２０−１，２０−２は、ディスクアレイ１４に設けている記憶装置としてのディスク装置２２−１〜２２−４及び予備用ディスク装置２４とファイバチャネルインターフェースで接続され、このファイバチャネルインターフェースの制御、ディスク装置に対する入出力制御、更にＲＡＩＤ制御などを行い、この実施形態にあってはＲＡＩＤ５のＲＡＩＤ制御を行う。
【００２２】
ディスクアレイ１４に設けた４台のディスク装置２２−１〜２２−４は、デバイスアダプタ２０−１，２０−２によるＲＡＩＤ５の冗長構成をとる制御に対応したデバイスであり、更にディスク装置のいずれかが故障した際に切り替えられるホットスタンバイとしての予備用ディスク装置２４を設けている。
【００２３】
このようなディスクアレイシステムにつき本発明にあっては、ディスクアレイ制御装置１０の中央処理モジュール１８−１，１８−２に故障監視部２６−１，２６−２を設けると共に、デバイスアダプタ２０−１，２０−２にパリティ再作成部２８−１，２８−２を設けている。
【００２４】
中央処理モジュール１８−１，１８−２に設けた故障監視部２６−１，２６−２は、ディスクアレイ１４に設けているＲＡＩＤ５の冗長構成をとる４台のディスク装置２２−１〜２２−４ごとに、検出された異常に応じた点数を加算して統計加点を求め、統計加点が予め定めた故障判定点に近づいたときにパリティの再作成を指示し、統計加点が故障判定点を越えたときには故障と判定し、故障ディスク装置の切り離しを指示する。
【００２５】
デバイスアダプタ２０−１，２０−２に設けたパリティ再作成部２８−１，２８−２は、故障監視部２６−１または２６−２からパリティ再作成の指示を受けた際に、４台のディスク装置２２−１〜２２−４につき、ディスク装置２２―１〜２２−４のディスク上に構成されるボリューム即ち論理領域における論理ブロックアドレスごとに、３台のディスク装置からユーザデータを読み出して、排他論理和処理によりパリティデータを再計算し、残り１台のディスク装置に書き込むパリティ再作成処理を実行する。
【００２６】
なお図２のディスクアレイシステムにおけるディスクアレイ制御装置１０は、システムの最小構成を示しており、必要に応じてチャネルアダプタ、中央処理モジュール、デバイスアダプタ、更にディスクアレイ１４のディスク装置を増設することができる。
【００２７】
また中央処理モジュール１８−１，１８−２及びデバイスアダプタ２０−１，２０−２は二重化構成をとっており、ホスト１２からの入出力要求については、例えば中央処理モジュール１８−１デバイスアダプタ２０−１側をプライマリ、中央処理モジュール１８−２，デバイスアダプタ２０−２側をセカンダリとし、ホスト１２からの入出力要求に対しシステム設定により例えばプライマリ側を有効とし、障害発生時にセカンダリ側がバックアップするようになる。
【００２８】
図３は、本発明のディスクアレイシステムにおけるディスク装置の故障検出に基づく統計加点とパリティ再作成の説明図である。図３（Ａ）はディスク制御装置１０に対し、ディスクアレイ１４に設けた４台のディスク装置２２−１〜２２−４を示している。
【００２９】
ディスク装置２２−１〜２２−４はＲＡＩＤ５による冗長構成をとるため、ディスク装置２２−１〜２２−４はディスク装置上に構成されるボリューム、即ち論理領域における論理ブロックアドレスＡ０，Ａ１，Ａ２，Ａ３，・・・で分けたストライプとしており、同一論理ブロックアドレス上となるストライプに対し、同時に４台のディスク装置２２−１〜２２−４のデータの入出力を実行することになる。なお、以下の説明は、ストライプＡ０，Ａ１，Ａ２，Ａ３と表現する。
【００３０】
またＲＡＩＤ５の冗長構成にあっては、４台のディスク装置２２−１〜２２−４のうちの３台にユーザデータを格納し、残り１台のディスク装置にパリティデータを格納している。例えば論理ブロックアドレスＡ０のストライプを見ると、ディスク装置２２−１〜２２−３の３台にはユーザデータＤ１，Ｄ２，Ｄ３が格納されており、残り１台のディスク装置２２−４にユーザデータＤ１，Ｄ２，Ｄ３の排他論理和により計算されたパリティＰ１を格納している。
【００３１】
このように４台のディスク装置２２−１〜２２−４につき、ストライプごとに３つのユーザデータと１つのパリティデータを格納する点は全てのストライプについて同じであるが、ストライプごとにパリティデータを格納するディスク装置を異ならせることで、パリティデータを分散させている。
【００３２】
即ち、ストライプＡ１にあってはディスク装置２２−３にパリティデータＰ２が格納され、ストライプＡ２にあってはディスク装置２２−２にパリティデータＰ３が格納され、更にストライプＡ３にあってはディスク装置２２−１にパリティデータＰ４が格納されている。
【００３３】
このようなＲＡＩＤ５の冗長構成をとるディスクアレイシステムにあっては、例えばディスク装置２２−２が故障した場合、ストライプＡ２のユーザデータＤ２を読み出したい場合には正常なディスク装置２２−１，２２−３，２２−４からユーザデータＤ１，Ｄ３及びパリティデータＰ１を読み出し、これら３つのデータの排他論理和を計算することで、故障したディスク装置２２−２のユーザデータＤ２を復元してホストに応答することができる。
【００３４】
またホストから故障したディスク装置２２−２へのユーザデータＤ２の書込みについては次のようになる。まず書込み前のユーザデータＤ１，Ｄ２，Ｄ３及びパリティデータＰ１を、それぞれ旧データＤ１old、Ｄ２old、Ｄ３old、旧パリティＰ１oldとする。またホストからの書込みデータを新データＤ２newとする。
【００３５】
まず、ディスク装置２２−１，２２−３，２２−４から旧データＤ１old、Ｄ３old及び旧パリティＰ１oldを読み出し、故障したディスク装置２２−２の旧データＤ２oldを
Ｄ２old＝Ｄ１old（＋）Ｄ３old（＋）Ｐ１old
として求める。なお、（＋）は排他論理を示す。
【００３６】
続いて旧データＤ２old、新データＤ２new及び旧パリティＰ１oldから新パリティＰ１newを
新パリティ＝旧パリティ（＋）旧データ（＋）新データ
Ｐ１new＝Ｐ１old（＋）Ｄ２old（＋）Ｄ２new
として計算する。
【００３７】
このようにして計算した新パリティＰ１newをディスク装置２２−４に書き込むことで、その後、故障したディスク装置２２−２に対するユーザデータＤ２のリード要求に対し、ユーザデータＤ１，Ｄ３及びパリティＰ１を読み出して排他論理和処理をすることでユーザデータＤ２を復元してリード応答することが可能となる。
【００３８】
このようなＲＡＩＤ５の冗長構成をとるディスク装置２２−１〜２２−４に対しディスク制御装置１０は、図２に示した例えば故障監視部２６−１によりデバイスアダプタ２０−１からエラー通知を受けた際に、通知されたエラー内容に応じた点数をディスク装置２２−１〜２２−４ごとに加算して統計加点を求めている。
【００３９】
この統計加点は予め定めたディスク装置の故障を判定するための故障判定点、例えば２５５点を越えると、ディスク装置は故障したものと見なされ、ディスクアレイシステムから切り離されて使用不可となり、ＲＡＩＤ５による冗長構成によりリード要求及びライト要求に対する処理を行うようになる。
【００４０】
統計加点に使用されるエラー内容としては、リード時の媒体異常、アクチュエータ制御異常、リード系コマンド異常、省電力機能の異常、リード性の低下などがあり、それぞれエラーの程度に応じた点数が予め定められ、これを加算することになる。
【００４１】
ディスク装置２２−１〜２２−４について、エラー通知に対する統計加点の処理に加え、本発明にあっては、ディスク装置を故障と見なす故障点２５５点に統計加点が近づいたことを判別して、パリティ再構成処理をデバイスアダプタ２０−１に指示するようにしている。
【００４２】
この故障判定点２５５点に対し故障直前と判断してパリティ再作成を指示するための閾値としては、例えば２００点が使用される。またパリティ再作成を指示する閾値としては、故障判定点である２５５点に対し例えば０．７〜０．９といった１以下の係数を選択して掛け合わせた点数を使用することになる。
【００４３】
図３（Ａ）にあっては、ディスクアレイ制御装置１０からディスク装置２２−２に対するストライプＡ０を指定したユーザデータＤ２のリードオペレーションで、例えば媒体エラーが３回発生した状態を示しており、このような媒体エラーの発生によりディスク装置２２−２について統計加点が２００点を超えることで、パリティ再作成が指示される。
【００４４】
図３（Ｂ）はディスク装置２２−２の統計加点が閾値を越えた場合のパリティ再作成の処理動作を示している。パリティ再作成処理は、ディスクアレイ１４におけるＲＡＩＤ５のグループを構成する４台のディスク装置２２−１〜２２−４につき、ストライプＡ０，Ａ１，Ａ２，Ａ３，・・・を順次指定しながら、例えばストライプＡ０については４台のディスク装置２２−１〜２２−４のうちのユーザデータＤ１，Ｄ２，Ｄ３を格納しているディスク装置２２−１〜２２−３から、ユーザデータ読出処理３０によりユーザデータＤ１，Ｄ２，Ｄ３を読み出し、パリティ計算処理３２によって３つのユーザデータＤ１，Ｄ２，Ｄ３の排他論理和処理により
Ｐ１＝Ｄ１（＋）Ｄ２（＋）Ｄ３
としてパリティを計算し、パリティ書込処理３４によりストライプＡ０のディスク装置２２−４に対し計算したパリティＰ１を書き込むことで、ストライプＡ０のパリティ再作成を指示する。以下同様に、ストライプＡ１，Ａ２，Ａ３，・・・で示す論理ブロックアドレスごとに同様なパリティ再作成処理を繰り返す。
【００４５】
このようなディスク装置の故障直前におけるパリティ再作成処理により、ディスクアレイ１４における全てのディスク装置２２−１〜２２−４につき、３台のディスク装置についてユーザデータの読出しが行われ、残り１台についてパリティデータの書込みが行われることで、全てのディスク装置の全ストライプ（全論理ブロックアドレス）について、必ずユーザデータについては読出し、パリティデータについては書込みが行われることとなる。
【００４６】
この結果、ディスク装置２２−１〜２２−４の全ストライプ（全論理ブロックアドレス）をチェックし、もし媒体異常などが発生した場合には交代処理により交代領域を確保して、ＲＡＩＤ５により復元したデータまたはパリティを書き込むこととなり、ディスク装置２２−２が故障する前に全てのディスク装置２２−１〜２２−４の全領域について媒体異常のチェックが行われることになる。
【００４７】
また、全ディスク装置２２−１〜２２−４の全ストライプ（全論理ブロックアドレス）につき、分散して格納されているパリティデータが同じストライプのユーザデータの読出しで計算されて書き込まれるため、パリティデータの整合性と有効性を保証することができる。
【００４８】
その結果、統計加点がパリティ再作成後のエラー通知により故障判定点である２５５点を超えて、ディスク装置２２−２が故障ディスク装置として切り離された場合、故障直前のパリティ再作成で媒体異常に対する交代処理によるリカバリと、パリティ整合性の保証が全ディスク装置につき完了しているため、残りの正常なディスク装置２２−１，２２−３，２２−４の３台からＲＡＩＤ５の冗長構成に従ったリードデータの復元及びライトデータの書込みに対応したパリティデータの書替えを正常に行うことができ、故障ディスク装置２２−２を含む２台以上のディスク装置からのデータ読出しができなくなったり、パリティデータの整合性が失われることにより、ＲＡＩＤ５によるデータ復元ができずにデータロストとなる最悪の事態の発生を確実に回避することができる。
【００４９】
図４は、図２の中央処理モジュール１８−１，１８−２に設けた故障監視部２６−１，２６−２による故障監視処理のフローチャートである。図４において、ステップＳ１でデバイスアダプタから通知されたエラー内容により統計加点に加算を行った後、ステップＳ２で統計加点がパリティ再構成を判断するための閾値である２００点を超えたか否かチェックしている。
【００５０】
統計加点が２００点を超えた場合には、ステップＳ３でデバイスアダプタに対しパリティ再作成の指示済みか否かチェックし、指示済みでなければステップＳ４でディスク装置が故障直前と判断し、デバイスアダプタに対しパリティ再作成を指示する。そして、ステップＳ５で統計加点が故障判定点２５５点を超えたか否かチェックし、この場合には超えていないことから処理を終了する。
【００５１】
次にステップＳ４でデバイスアダプタにパリティ再作成を指示した後のデバイスアダプタからのエラー通知で図４の故障監視処理が実行された場合には、ステップＳ３でパリティ再作成済みであることからステップＳ５に進んで統計加点が２５５点を超えたか否かチェックし、もし統計加点が２５５点を超えていた場合には、ステップＳ６でディスク装置の故障と判断し、故障ディスク装置の切り離しを指示する。
【００５２】
図５は、図２の中央処理モジュールによる他の故障監視処理のフローチャートであり、この実施形態にあっては、デバイスアダプタからのエラー通知がＳＭＡＲＴ異常通知であった場合に、ディスク装置が故障と判断してパリティ再作成を指示するようにしたことを特徴とする。
【００５３】
即ち図５の処理にあっては、ステップＳ１でデバイスアダプタからのエラー通知がＳＭＡＲＴ異常通知か否かチェックしている。通常、ディスク装置２２−１〜２２−３にはＳＭＡＲＴシステムが設けられていることから、このＳＭＡＲＴ異常通知であったときにディスク装置が故障直前であると判断して、ステップＳ５でデバイスアダプタにパリティ再作成を指示している。
【００５４】
ステップＳ２〜Ｓ７の処理は、図４における故障監視処理と同様、デバイスアダプタからのエラー通知に対しエラー内容により統計加点を加算し、統計加点が２００点を越えたときにパリティ再作成を指示する処理である。なお、図５にあっては、統計加点が２００点を越えた場合、又はＳＭＡＲＴ異常通知のいずれか早い方でパリティ再作成を指示しているが、統計加点は使用せず、ＳＭＡＲＴ異常通知のみでパリティ再作成を指示するようにしても良い。
【００５５】
図６は、図２のデバイスアダプタによるパリティ再作成処理のフローチャートである。図６において、中央処理モジュールからのパリティ再作成指示に基づいて、このパリティ再計算処理が起動する。まずステップＳ１でストライプとなる論理ブロックアドレスをセットし、ステップＳ２でパリティ用ディスク装置以外のディスク装置からユーザデータを読み込む。
【００５６】
続いてステップＳ３でデータ読込みが成功したか否かチェックする。データ読込みが万一、失敗した場合には、ステップＳ９でパリティ計算不能のためエラー終了処理となる。ステップＳ３でデータ読込みが成功した場合には、ステップＳ４でユーザデータの排他論理和によりパリティを再計算する。
【００５７】
続いてステップＳ５で、再計算したパリティを対応するディスク装置に書き込む。ステップＳ６にあっては、パリティ書込みに成功すれば、ステップＳ７で最終論理ブロックアドレスへの到達の有無をチェックし、最終論理ブロックアドレスでなければステップＳ１に戻って、次の論理ブロックアドレスをセットして同様な処理を繰り返す。最終論理ブロックアドレスに達した場合には一連の処理を終了する。
【００５８】
ステップＳ６でパリティ書込みに失敗した場合には、ステップＳ８で失敗原因が媒体異常であれば交代処理を実行して媒体異常を復旧した後、交代領域に再度パリティを書き込む。
【００５９】
図７は、図２のデバイスアダプタによる他のパリティ再作成処理のフローチャートであり、このパリティ再計算処理にあっては、ユーザデータの読出しに失敗した場合、読出しに失敗したユーザデータが１つの場合には、ＲＡＩＤ５による冗長構成に従って、読出しに失敗したデータを復元してパリティ再作成をするようにしたことを特徴とする。
【００６０】
図７において、ステップＳ１でストライプとしての論理ブロックアドレスをセットした後、ステップＳ２でパリティ用ディスク装置以外のディスク装置からユーザデータを読み込む。続いてステップＳ３でデータ読出しに成功したか否かチェックする。
【００６１】
このときデータ読出しに失敗した場合には、ステップＳ４で読出しに失敗したユーザデータが１つか否かチェックする。失敗したユーザデータが１つであれば、ステップＳ５でパリティを読み出し、正常に読み出している残り２つのユーザデータとの排他論理和から読出しに失敗したユーザデータを復元する。そしてステップＳ６でユーザデータの論理和によりパリティを再計算する。
【００６２】
ステップＳ４で読出しに失敗したユーザデータが２つ以上であった場合には、復元不能であることから、ステップＳ１１でエラー終了処理とする。
【００６３】
ステップＳ６でパリティを再計算した後は、ステップＳ７でパリティを対応するディスク装置に書き込み、ステップＳ８でパリティ書込成功であった場合には、ステップＳ９で最終論理ブロックアドレスか否かチェックし、以下、最終論理ブロックアドレスに達するまで、ステップＳ１からの処理を繰り返す。またステップＳ８でパリティ書込みに失敗した場合には、ステップＳ１０で媒体異常であれば交代処理を実行して媒体異常を復旧した後、交代領域に再度パリティを書き込むようになる。
【００６４】
なお上記の実施形態は、ディスク装置として磁気ディスク装置を例にとるものであったが、適宜の記憶デバイスであっても良い。また本発明は上記の実施形態に限定されず、その目的と利点を損なうことのない適宜の変形を含む。更に本発明は上記の実施形態に示した数値による限定は受けない。
【００６５】
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
【００６６】
（付記）
（付記１）
ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り1台の記憶装置に前記複数のユーザデータから計算されたパリティデータを書込む記憶制御装置に於いて、
前記記憶装置毎に、検出された異常に応じた点数を加算して統計加点を求め、前記統計加点が予め定めた故障判定点に近づいた時にパリティの再作成を指示する故障監視部と、
前記故障監視部からパリティ再作成の指示を受けた際に、前記（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成部と、
を備えたことを特徴とする記憶制御装置。（１）
【００６７】
（付記２）
付記１記載の記憶制御装置に於いて、前記故障監視部は、前記統計加点が前記故障判定点に１未満の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とする記憶制御装置。（２）
【００６８】
（付記３）
付記１記載の記憶制御装置に於いて、前記故障監視部は、前記統計加点が前記故障判定点に０．７乃至０．９の範囲の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とする記憶制御装置。（３）
【００６９】
（付記４）
付記１記載の記憶制御装置に於いて、前記故障監視部は、前記複数の記憶装置の何れかよりＳＭＡＲＴ機能による自己診断異常が出力された際に、パリティ再作成の開始を指示することを特徴とする記憶制御装置。（４）
【００７０】
（付記５）
付記１記載の記憶制御装置に於いて、前記複数の記憶装置はＲＡＩＤ５の冗長構成を有することを特徴とする記憶制御装置。（５）
【００７１】
（付記６）
付記１記載の記憶制御装置に於いて、
ホストと接続するチャネルアダプタと、前記複数の記憶装置を接続するデバイスアダプタと、前記チャネルアダプタとデバイスアダプタの間に配置された中央処理モジュールを備え、
前記故障監視部は前記中央処理モジュールに設けられ、前記パリティ再作成部はデバイスアダプタに設けられ、前記中央処理モジュールから前記デバイスアダプタにパリティ再作成を指示して実行させることを特徴とする記憶制御装置。（６）
【００７２】
（付記７）
ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り1台の記憶装置に前記複数のユーザデータから計算されたパリティデータを書込む記憶制御方法に於いて、
前記記憶装置毎に、検出された異常の度合いに応じてパリティの再作成を指示する故障監視ステップと、
前記故障監視ステップからパリティ再作成の指示を受けた際に、（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成ステップと、
を設けたことを特徴とする記憶制御方法。（７）
【００７３】
（付記８）
付記７記載の記憶制御方法に於いて、前記故障監視ステップは、前記統計加点が前記故障判定点に１未満の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とする記憶制御方法。
【００７４】
（付記９）
付記７記載の記憶制御方法に於いて、前記故障監視ステップは、前記統計加点が前記故障判定点に０．７乃至０．９の範囲の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とする記憶制御方法。
【００７５】
（付記１０）
付記７記載の記憶制御方法に於いて、前記故障監視ステップは、前記複数の記憶装置の何れかよりＳＭＡＲＴ機能による自己診断異常が出力された際に、パリティ再作成の開始を指示することを特徴とする記憶制御方法。（８）
（付記１１）
付記７記載の記憶制御方法に於いて、前記複数の記憶装置はＲＡＩＤ５の冗長構成を有することを特徴とする記憶制御方法。
【００７６】
（付記１２）（デバイスアダプタによる再作成）
付記７記載の記憶制御方法に於いて、ホストと接続するチャネルアダプタと、前記複数の記憶装置を接続するデバイスアダプタと、前記チャネルアダプタとデバイスアダプタの間に配置された中央処理モジュールを備え、
前記故障監視ステップは前記中央処理モジュールで処理され、前記パリティ再作成ステップはデバイスアダプタで処理され、前記中央処理モジュールから前記デバイスアダプタにパリティ再作成を指示して実行させることを特徴とする記憶制御方法。
【００７７】
（付記１３）
ｎ台の記憶装置の内の（ｎ−１）台の記憶装置にユーザデータを書込む共に残り1台の記憶装置に前記複数のユーザデータから計算されたパリティデータを書込む記憶制御装置のコンピュータに、
前記記憶装置毎に、検出された異常に応じた点数を加算して統計加点を求め、前記統計加点が予め定めた故障判定点に近づいた時にパリティの再作成を指示する故障監視ステップと、
前記故障監視ステップからパリティ再作成の指示を受けた際に、前記（ｎ−１）台の記憶装置からユーザデータを読出してパリティデータを再計算して残り１台の記憶装置に書込むパリティ再作成ステップと、
を実行させることを特徴とするプログラム。（９）
【００７８】
（付記１４）
付記１３記載のプログラムに於いて、前記パリティ再作成ステップは、前記統計加点が前記故障判定点に１未満の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とするプログラム。
【００７９】
（付記１５）
付記１３記載のプログラムに於いて、前記パリティ再作成ステップは、前記統計加点が前記故障判定点に０．７乃至０．９の範囲の係数を乗じた所定の閾値に達した場合に、パリティ再作成の開始を指示することを特徴とするプログラム。
【００８０】
（付記１６）
付記１３記載のプログラムに於いて、前記パリティ再作成ステップは、前記複数の記憶装置の何れかよりＳＭＡＲＴ機能による自己診断異常が出力された際に、パリティ再作成の開始を指示することを特徴とするプログラム。（１０）
【００８１】
（付記１７）
付記７記載のプログラムに於いて、前記複数の記憶装置はＲＡＩＤ５の冗長構成を有することを特徴とするプログラム。
【図面の簡単な説明】
【００８２】
【図１】本発明の原理説明図
【図２】本発明が適用されたディスクアレイシステムの機能構成のブロック図
【図３】本発明における故障検出に基づく統計加点とパリティ再作成の説明図
【図４】図２の中央処理モジュールによる故障監視処理のフローチャート
【図５】図２の中央処理モジュールによる他の故障監視処理のフローチャート
【図６】図２のデバイスアダプタによるパリティ再計算処理のフローチャート
【図７】図２のデバイスアダプタによる他のパリティ再計算処理のフローチャート
【符号の説明】
【００８３】
１０：記憶制御装置
１２：ホスト
１４：ディスクアレイ
１６： チャネルアダプタ
１８，１８−１，１８−２：中央処理モジュール
２０，２０−１，２０−２：デバイスアダプタ
２２：ディスク装置
２４：予備用ディスク装置
２６，２６−１，２６−２：故障監視部
２８，２８−１，２８−２：パリティ再作成部
【図１】
2006079418.tif 000003
【図２】
2006079418.tif 000004
【図３】
2006079418.tif 000005
【図４】
2006079418.tif 000006
【図５】
2006079418.tif 000007
【図６】
2006079418.tif 000008
【図７】
2006079418.tif 000009