(57)【要約】【課題】不要なデータ（具体的には、インストール前のデータ等）のコピーに起因する、リビルド処理時のアクセス性能の低下を抑制する。【解決手段】ミラーリング関係にある複数の記憶デバイス３ａ，３ｂにデータをライト処理する都度、管理テーブルデータ６の中のライト処理した記憶領域を表すエリアデータ１００を更新する管理テーブルデータ更新部２ａと、いずれかの記憶デバイスが交換された場合に、管理テーブルデータを参照して、書き込みデータを特定し、特定した書き込みデータのみを、正常稼働中の記憶デバイスから交換された記憶デバイスにコピーするコピー制御部とを有する。【選択図】図１
2010146056.tif 000002
【特許請求の範囲】
【請求項１】
装置の動作に必要なプログラム及びデータを格納する格納部と、装置の動作を制御する制御部と、複数の記憶デバイスとを備え、前記複数の記憶デバイス間でデータをミラーリングするデータ記憶装置において、
前記格納部は、ミラーリング関係にある前記複数の記憶デバイスに共通して、記憶領域毎に、ライト処理した記憶領域を表すエリアデータを管理するための管理テーブルデータを格納しており、
前記制御部は、
ミラーリング関係にある前記複数の記憶デバイスにデータをライト処理する都度、前記格納部に格納された前記管理テーブルデータの中の前記エリアデータを更新する管理テーブルデータ更新部と、
ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータを参照して、前記ライト処理した記憶領域に書き込まれている書き込みデータを特定し、特定した前記書き込みデータのみを、前記交換された記憶デバイスとミラーリング関係にある正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーするコピー制御部とを有する
ことを特徴とするデータ記憶装置。
【請求項２】
請求項１に記載のデータ記憶装置において、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ、及び、前記書き込みデータのサイズデータ、並びに、ライト処理があったことを表すライト有りフラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。
【請求項３】
請求項１に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数ｍに分割されており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータ、及び、ライト処理があったことを表すライト有りフラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。
【請求項４】
請求項１に記載のデータ記憶装置において、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ、及び、前記書き込みデータのサイズデータ、並びに、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。
【請求項５】
請求項１に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数ｍに分割されており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータ、及び、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。
【請求項６】
請求項１に記載のデータ記憶装置において、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ、及び、前記書き込みデータのサイズデータ、並びに、ライト処理があったことを表すライト有りフラグ、及び、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。
【請求項７】
請求項１に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数ｍに分割されており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータ、並びに、ライト処理があったことを表すライト有りフラグ、及び、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。
【請求項８】
請求項４乃至請求項７のいずれか一項に記載のデータ記憶装置において、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータの前記優先度フラグを参照して、優先度が高い前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、優先度が通常レベルの前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。
【請求項９】
請求項６又は請求項７に記載のデータ記憶装置において、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータの前記ライト有りフラグ及び前記優先度フラグを参照して、前記ライト有りフラグが格納されていてかつ優先度が高い前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、前記ライト有りフラグが格納されていてかつ優先度が通常レベルの前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。
【請求項１０】
請求項１に記載のデータ記憶装置において、
前記格納部は、前記管理テーブルデータとして、第１管理テーブルデータ及び第２管理テーブルデータを格納しており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記第１管理テーブルデータ及び前記第２管理テーブルデータの双方に共通する前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ及び前記書き込みデータのサイズデータを、また、前記第１管理テーブルデータの前記エリアデータとして、ライト処理があったことを表すライト有りフラグを、さらに、前記第２管理テーブルデータの前記エリアデータとして、前記書き込みデータの優先度を表す優先度フラグを、前記格納部に格納し、かつ、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記第１管理テーブルデータの前記ライト有りフラグ及び前記第２管理テーブルデータの前記優先度フラグを参照して、前記ライト有りフラグが格納されていてかつ優先度が高い前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、前記ライト有りフラグが格納されていてかつ優先度が通常レベルの前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。
【請求項１１】
請求項１に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数ｍに分割されており、
前記格納部は、前記管理テーブルデータとして、第１管理テーブルデータ及び第２管理テーブルデータを格納しており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記第１管理テーブルデータ及び前記第２管理テーブルデータの双方に共通する前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータを、また、前記第１管理テーブルデータの前記エリアデータとして、ライト処理があったことを表すライト有りフラグを、さらに、前記第２管理テーブルデータの前記エリアデータとして、前記書き込みデータの優先度を表す優先度フラグを、前記格納部に格納し、かつ、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記第１管理テーブルデータの前記ライト有りフラグ及び前記第２管理テーブルデータの前記優先度フラグを参照して、前記ライト有りフラグが格納されていてかつ優先度が高い前記優先度フラグが格納されている前記分割エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、前記ライト有りフラグが格納されていてかつ優先度が通常レベルの前記優先度フラグが格納されている前記分割エリアデータに対応する前記書き込みデータを前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。
【請求項１２】
複数の記憶デバイスを備え、前記複数の記憶デバイス間でデータをミラーリングするデータ記憶装置の故障回復方法において、
ミラーリング関係にある前記複数の記憶デバイスに共通して、記憶領域毎に、ライト処理した記憶領域を表すエリアデータを管理するための管理テーブルデータを格納する格納部と、装置の動作を制御する制御部とを用い、
前記制御部が、ミラーリング関係にある前記複数の記憶デバイスにデータをライト処理する都度、前記格納部に格納された前記管理テーブルデータの中の前記エリアデータを更新する更新工程と、
前記制御部が、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータを参照して、前記ライト処理した記憶領域に書き込まれている書き込みデータを特定し、特定した前記書き込みデータのみを、前記交換された記憶デバイスとミラーリング関係にある正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーするコピー工程とを含む
ことを特徴とするデータ記憶装置の故障回復方法。
【請求項１３】
請求項１２に記載のデータ記憶装置の故障回復方法において、
前記更新工程及び前記コピー工程は、当該データ記憶装置の外部のホスト装置に設けられた前記制御部によって行われる
ことを特徴とするデータ記憶装置の故障回復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶デバイスを備え、複数の記憶デバイス間でデータをミラーリングするデータ記憶装置に関する。
【背景技術】
【０００２】
データ記憶装置は、様々な構成のものがあるが、その一つとして、ディスクアレイ装置がある。
ディスクアレイ装置は、記憶デバイスであるディスク装置をアレイ状に複数配置した装置である。ディスクアレイ装置は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）装置とも呼ばれている。
ディスクアレイ装置は、複数のディスク装置間でデータをミラーリング（すなわち、同じデータを同時に書き込み（保存））している。ディスクアレイ装置は、複数のディスク装置の中のいずれかが故障した場合に、交換される。このとき、ディスクアレイ装置は、故障したディスク装置とミラーリング関係にある（すなわち、交換されたディスク装置とミラーリング関係にある）正常稼働中のディスク装置に書き込まれているデータ（以下、「書き込みデータ」と称する）を、交換されたディスク装置にコピーする。これにより、ディスクアレイ装置は、装置を停止させることなく、リビルド（故障回復）処理を実行できる。
【０００３】
しかしながら、ディスクアレイ装置は、リビルド処理時に、リビルドのためのアクセスが頻繁に発生する。そのため、ディスクアレイ装置は、リビルド処理時に、ホスト装置からディスク装置へのアクセス性能（リードライト性能）が一時的に低下する。
そこで、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、ＲＡＩＤ５特有のアルゴリズムを用いることにより、リビルドのためのアクセス量を低減するものがあった（例えば、特許文献１参照）。
また、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、リビルド処理時の予備用ディスク装置による代替先の選択を最適化するものもあった（例えば、特許文献２参照）。
また、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、ホスト装置からディスク装置へのアクセスの有無を判定してからリビルド処理を行うものもあった（例えば、特許文献３及び特許文献４参照）。
【特許文献１】特開２００２−１０８５７１号公報
【特許文献２】特開平０７−１１０７４３号公報
【特許文献３】特開２００７−１２２４７７号公報
【特許文献４】特開２００７−９４９９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術は、リビルド処理時に不要なデータもコピーしており、これにより、リビルド処理時のアクセス性能の低下が発生するという課題があった。
【０００５】
例えば、ディスクアレイ装置は、インストール前に元からあったデータ（すなわち、オペレーティングシステムやアプリケーションプログラム等がインストールされ、以前からディスク装置に格納されていて一度もライトされていないデータ）を格納している。以下、このインストール前に元からあったデータを、「インストール前のデータ」と称する。
ディスクアレイ装置は、リビルド処理時に、このインストール前のデータを含む、交換されたディスク装置とミラーリング関係にあるすべてのデータを、正常稼働中のディスク装置から交換されたディスク装置にコピーしている。
しかしながら、インストール前のデータは、リビルド処理以降もリード又はライトされることが無い、不要なデータである。そのため、インストール前のデータのコピーは、必要性の無い、無駄な作業である。
それにもかかわらず、従来の技術は、リビルド処理時に、その不要なデータであるインストール前のデータもコピーしていた。これにより、従来の技術は、リビルド処理時のアクセス性能の低下が発生していた。
【０００６】
本発明は、前記した課題を解決するためになされたものであり、不要なデータのコピーに起因する、リビルド処理時のアクセス性能の低下を抑制するデータ記憶装置を提供することを主な目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するため、本発明は、装置の動作に必要なプログラム及びデータを格納する格納部と、装置の動作を制御する制御部と、複数の記憶デバイスとを備え、前記複数の記憶デバイス間でデータをミラーリングするデータ記憶装置であって、前記格納部は、ミラーリング関係にある前記複数の記憶デバイスに共通して、記憶領域毎に、ライト処理した記憶領域を表すエリアデータを管理するための管理テーブルデータを格納しており、前記制御部は、ミラーリング関係にある前記複数の記憶デバイスにデータをライト処理する都度、前記格納部に格納された前記管理テーブルデータの中の前記エリアデータを更新する管理テーブルデータ更新部と、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータを参照して、前記ライト処理した記憶領域に書き込まれている書き込みデータを特定し、特定した前記書き込みデータのみを、前記交換された記憶デバイスとミラーリング関係にある正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーするコピー制御部とを有する。
【発明の効果】
【０００８】
本発明により、不要なデータ（具体的には、インストール前のデータ等）のコピーに起因する、リビルド処理時のアクセス性能の低下を抑制するデータ記憶装置を提供できる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して、本発明の実施の形態（以下、「本実施形態」と称する）につき詳細に説明する。なお、各図は、各構成要素を、本発明を理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００１０】
［実施形態１］
＜本実施形態１に係るデータ記憶装置の構成＞
以下、図１を参照して、本実施形態１に係るデータ記憶装置の構成につき説明する。なお、図１は、実施形態１に係るデータ記憶装置の構成ブロック図である。
【００１１】
図１に示すように、本実施形態１のデータ記憶装置であるディスクアレイ装置１は、制御部２、記憶デバイス３ａ，３ｂ、ディスクＩ／Ｆバス４ａ，４ｂ、格納部５、ホストインタフェース部７、及び、ホストＩ／Ｆバス８を有している。
【００１２】
制御部２は、ディスクアレイ装置１の各部の動作を制御する機能手段である。制御部２は、ＣＰＵによって構成されている。
制御部２は、管理テーブルデータ更新部２ａ、コピー制御部２ｂ、及び、故障検出部２ｃを有している。管理テーブルデータ更新部２ａは、ミラーリング関係にある複数の記憶デバイス（ここでは、２台の記憶デバイス３ａ，３ｂ）にデータをライト処理する都度、後記する管理テーブルデータの中のエリアデータを更新する機能手段である。コピー制御部２ｂは、リビルド処理時に、書き込みデータを、正常稼動中のディスクから交換されたディスクにコピーする機能手段である。故障検出部２ｃは、記憶デバイス３ａ，３ｂの故障を検出する機能手段である。
【００１３】
記憶デバイス３ａ，３ｂは、ライト処理されたデータ（すなわち、書き込みデータ）を格納する格納手段である。ここでは、記憶デバイス３ａ，３ｂは、ハードディスク装置によって構成されているものとして説明する。以下、記憶デバイス３ａ，３ｂを区別する場合に、記憶デバイス３ａを「第１記憶デバイス３ａ（又は、第１ディスク３ａ）」と称し、記憶デバイス３ｂを「第２記憶デバイス３ｂ（又は、第２ディスク３ｂ）」と称する。なお、記憶デバイス３ａ，３ｂは、ＲＡＩＤ２に限らず、ＲＡＩＤ３やその他のＲＡＩＤレベルのものでもよい。
ディスクＩ／Ｆバス４ａ，４ｂは、それぞれ、制御部２と第１ディスク３ａとを接続する通信路及び制御部２と第２ディスク３ｂとを接続する通信路である。
【００１４】
格納部５は、ディスクアレイ装置１の動作に必要なプログラム及びデータを格納する格納手段である。格納部５は、不揮発性メモリで構成されている。格納部５は、ライト処理した記憶領域を管理するための管理テーブルデータを格納している。ここでは、格納部５は、管理テーブルデータとして、後記するライト処理有無テーブルデータ６を格納しているものとして説明する。
【００１５】
ホストインタフェース部７は、当該ディスクアレイ装置１の上位装置であるホスト装置９との通信を実行する通信手段である。
ホストＩ／Ｆバス８は、ホストインタフェース部７とホスト装置９とを接続する通信路である。
【００１６】
係る構成において、制御部２は、ディスクＩ／Ｆバス４ａを介して第１ディスク３ａと接続され、また、ディスクＩ／Ｆバス４ｂを介して第２ディスク３ｂと接続されている。また、制御部２は、ホストインタフェース部７及びホストＩ／Ｆバス８を介して、ホスト装置９と接続されている。
【００１７】
制御部２は、ホスト装置９からリードコマンドを受信した場合に、リードコマンドにしたがって、ディスク３ａ及び３ｂのうち、いずれか一方のディスクからデータを読み出してホスト装置９に送信する。
また、制御部２は、ホスト装置９からライトコマンド及びライト処理するデータを受信した場合に、ライトコマンドにしたがって、データをディスク３ａ，３ｂに書き込む。このとき、制御部２は、第１ディスク３ａ及び第２ディスク３ｂに対して、データをミラーリング（すなわち、同じデータを同時に書き込み）する。また、このとき、制御部２は、ライト処理した記憶領域が示されるように、ライト処理有無テーブルデータ６のエリアデータ１００（図２参照）を更新する。すなわち、制御部２は、ライト処理有無テーブルデータ６に、ライト処理した記憶領域を表すエリアデータ１００を記録する。
【００１８】
なお、制御部２の一連の動作は、格納部５に読み出し自在に予め格納された図示せぬプログラムによって規定されている。また、制御部２は、図示せぬタイマによって計測された時間に基づいて動作する。以下、これらの点については、情報処理では常套手段であるので、その詳細な説明を省略する。
【００１９】
＜ライト処理有無テーブルデータの構成＞
以下、図２を参照して、実施形態１に係る管理テーブルデータ（すなわち、ライト処理有無テーブルデータ６）の構成につき説明する。なお、図２は、実施形態１に係る管理テーブルデータの構成例を示す図である。
【００２０】
図２に示すように、ライト処理有無テーブルデータ６は、ライト処理した記憶領域を表すエリアデータ１００を格納する。図２に示す例では、ライト処理有無テーブルデータ６は、各エリアデータ１００につき、エリア番号データ１０１、範囲データ１０２、及び、ライト処理有無フラグ１０３からなっている。
【００２１】
エリア番号データ１０１は、各エリアデータ１００に対応する固有の番号を表している。
範囲データ１０２は、各エリアデータ１００に対応する記憶領域の範囲を表している。図２に示す例では、範囲データ１０２は、アドレスデータ１０２ａとサイズデータ１０２ｂとの組み合わせによって構成されている。アドレスデータ１０２ａは、ライト処理した記憶領域の先頭アドレスを表している。また、サイズデータ１０２ｂは、書き込みデータのサイズを表している。
ライト処理有無フラグ１０３は、予め定められた値によってライト処理の有無を表している。ここでは、ライト処理有無フラグ１０３の値は、「ライト無し（すなわち、ライト処理がなかったこと）」を表す「０」、及び、「ライト有り（すなわち、ライト処理があったこと）」を表す「１」の２段階あるものとして説明する。以下、ライト処理がなかったことを表すフラグ（ここでは、値「０」のフラグ）を「ライト無しフラグ」と称し、ライト処理があったことを表すフラグ（ここでは、値「１」のフラグ）を「ライト有りフラグ」と称する。ライト処理有無テーブルデータ６は、エリアデータ１００毎に、これらの値を記録している。
以下、ライト無しフラグが格納されているエリアデータ１００を「ライト無しエリアデータ１００ｍ」と称し、ライト有りフラグが格納されているエリアデータ１００を「ライト有りエリアデータ１００ｎ」と称する。
【００２２】
制御部２は、これらライト処理有無フラグ１０３の値をライト処理有無テーブルデータ６に記録することにより、記憶領域毎に、ライト処理の有無を管理できる。なお、ライト処理有無テーブルデータ６は、ミラーリング関係にある複数の記憶デバイス（ここでは、第１ディスク３ａ及び第２ディスク３ｂ（図１参照））に共通している。したがって、制御部２は、ライト処理有無テーブルデータ６単体で、ミラーリング関係にある複数の記憶デバイスのライト処理された記憶領域を管理できる。
【００２３】
＜ライト処理有無テーブルデータの詳細＞
以下、図３（ａ）〜図３（ｄ）を参照して、ライト処理有無テーブルデータ６の詳細につき説明する。なお、図３（ａ）〜（ｄ）は、それぞれ、実施形態１に係る管理テーブルデータの説明図であり、それぞれ、ライト処理有無テーブルデータ６に記録されたエリアデータ１００の変化の過程を示している。
【００２４】
最初に、制御部２は、ホスト装置９からディスク３ａ，３ｂにアクセスできるようにするために、ディスク３ａ，３ｂの初期化を行う。このとき、制御部２は、ディスク３ａ，３ｂの記憶容量に応じた行数分のエリアデータ１００を含むライト処理有無テーブルデータ６を生成する。なお、このとき生成された処理有無テーブルデータ６の各エリアデータ１００は、すべてのデータがブランク状態となっている。制御部２は、このライト処理有無テーブルデータ６に対して、図３（ａ）に示すように、すべてのエリアデータ１００のライト処理有無フラグ１０３の値を「０（ライト無し）」に設定する。なお、ここでは、所定のデータや値を格納部５に記録する動作を「設定」と称する。
【００２５】
次に、制御部２は、ホスト装置９からライトコマンド及びライト処理するデータを受信した場合に、図３（ｂ）に示すように、ライト処理した記憶領域を表すエリアデータ１００をライト処理有無テーブルデータ６に記録する。このとき、制御部２は、格納したエリアデータ１００（図２参照）のライト処理有無フラグ１０３に値「１（ライト有り）」を設定する。したがって、このとき格納されたエリアデータ１００が、ライト有りエリアデータ１００ｎとなる。
【００２６】
次に、制御部２は、予め定められた一定時間が経過した場合に、図３（ｃ）に示すように、ライト処理有無テーブルデータ６に記録された各ライト有りエリアデータ１００ｎを並べ替える。このとき、制御部２は、ライト有りエリアデータ（すなわち、ライト処理有無フラグ１０３の値が「１（ライト有り）」のエリアデータ）１００がライト無しエリアデータ（すなわち、「０（ライト無し）」のエリアデータ）１００よりも優先されるように、かつ、アドレスデータ１０２ａの値が昇順になるように、各エリアデータ１００を並べ替える。すなわち、制御部２は、ライト処理有無フラグ１０３及びアドレスデータ１０２ａをキーにして、ライト処理有無フラグ１０３が降順でかつアドレスデータ１０２ａが昇順となるように、各ライト有りエリアデータ１００ｎを並べ替える。
この後、制御部２は、各ライト有りエリアデータ１００ｎにエリア番号データ１０１を付与する。
【００２７】
次に、制御部２は、すべてのライト有りエリアデータ１００ｎを検索する。この検索は、制御部２が以下のように動作することにより、行われる。
すなわち、制御部２は、ライト有りエリアデータ１００ｎの記憶領域の範囲と重なる記憶領域に対応しているエリアデータ１００（以下、「重複するエリアデータ１００ｐ」と称する）を検索し、検索した重複するエリアデータ１００ｐをライト無しエリアデータ１００ｍと見なして、ライト処理有無フラグ１０３に、値「０（ライト無し）」を再設定する。制御部２は、このライト処理有無フラグ１０３の値「０」の再設定処理を、すべての重複するエリアデータ１００ｐに対して行う。これにより、すべてのライト有りエリアデータ１００ｎの検索が行われる。
【００２８】
この後、制御部２は、すべてのライト無しエリアデータ１００ｍを削除する。
これにより、制御部２は、図３（ｄ）に示すように、ライト有りエリアデータ（すなわち、ライト処理有無フラグ１０３の値が「１（ライト有り）」のエリアデータ）１００ｎのみが残っているライト処理有無テーブルデータ６（図２参照）を生成する。
なお、ライト有りエリアデータ１００ｎの並べ替えからライト無しエリアデータ１００ｍの削除までの動作については、図５を参照して説明する「管理テーブルデータの整理処理時の動作」の章で詳述する。
制御部２は、図３（ｄ）に示すライト処理有無テーブルデータ６を生成すると、格納部５（図１参照）に登録する。なお、ここでは、判定処理の基準となるデータを格納部５に記録する動作を「登録」と称する。
【００２９】
＜本実施形態１に係るデータ記憶装置の動作＞
以下、図４〜図６を参照して、本実施形態１に係るデータ記憶装置（すなわち、ディスクアレイ装置１）の動作につき説明する。なお、図４〜図６は、それぞれ、実施形態１に係るデータ記憶装置の動作を示すフローチャートである。
ここでは、ディスクアレイ装置１の、ディスク交換後のリビルド処理時（すなわち、ディスク３ａ，３ｂのいずれかが故障して、故障したディスクが交換された場合の回復処理時）の動作を重点的に説明する。
【００３０】
（ライト処理時の動作）
次に、図４を参照して、ディスクアレイ装置１のライト処理時の動作につき説明する。
なお、ライト処理有無テーブルデータ６の各エリアデータ１００は、初期化の際に、すべてのデータがブランク状態となる。制御部２は、ライト処理前に、このライト処理有無テーブルデータ６に対して、すべてのエリアデータ１００のライト処理有無フラグ１０３の値を「０（ライト無し）」に設定する。
この後、制御部２は、待機状態となって、ホスト装置９からコマンドが送信されるのを待つ。
そして、制御部２は、ホスト装置９からライトコマンド及びライト処理するデータを受信すると、これに応答して、一連の処理を開始する。
【００３１】
このとき、制御部２は、図４に示すように、受信したライトコマンドにしたがって、２台のディスク３ａ，３ｂにライト処理を指示する（Ｓ１１０）。すなわち、制御部２は、ライトコマンドによって指定されたアドレス（以下、「コマンド指定のアドレス」と称する）、ライトコマンドによって指定されたライト処理するデータのサイズ（以下、「コマンド指定のサイズ」と称する）、及び、ライト処理するデータをディスク３ａ，３ｂに出力する。各ディスク３ａ，３ｂは、制御部２からライト処理の指示が入力されると、これに応答して、ライトコマンドのアクセス範囲の記憶領域にデータを書き込む。なお、「ライトコマンドのアクセス範囲」とは、コマンド指定のアドレスの値を始点とし、コマンド指定のアドレスとコマンド指定のサイズとを加算した値を終点とする範囲である。
【００３２】
制御部２は、Ｓ１１０で２台のディスク３ａ，３ｂにライト処理を指示すると、これに応答して、各ディスク３ａ，３ｂにデータが書き込まれている間に、以下のＳ１１５〜Ｓ１３０の処理を行う。なお、ここでは、管理テーブルデータ（ライト処理有無テーブルデータ６）に格納されたアドレスデータ１０２ａの値及びサイズデータ１０２ｂの値を、それぞれ、「ＡＤＲ」及び「ＳＩＺＥ」と称する。また、コマンド指定のアドレスの値及びコマンド指定のサイズの値を、それぞれ、単に「アドレス」及び「サイズ」と称する。
【００３３】
すなわち、制御部２は、ライト処理有無テーブルデータ６の各エリアデータ１００の中から、ライト有りエリアデータ１００ｎであってかつライトコマンドのアクセス範囲に重複するもの（以下、「重複するライト有りエリアデータ１００Ｎ」と称する）を検索し（Ｓ１１５）、重複するライト有りエリアデータ１００Ｎが有るか否かを判定する（Ｓ１２０）。
【００３４】
Ｓ１１５の重複するライト有りエリアデータ１００Ｎの検索及びＳ１２０の重複するライト有りエリアデータ１００Ｎが有るか否かの判定は、制御部２が、以下のように動作することによって、行われる。
【００３５】
すなわち、Ｓ１１５で、まず、制御部２は、コマンド指定のアドレスの値「アドレス」及びコマンド指定のサイズの値「サイズ」に基づいて、ライトコマンドのアクセス範囲として、値「アドレス」から値「アドレス＋サイズ」までの範囲を特定する。次に、制御部２は、ライト処理有無テーブルデータ６に記録されたアドレスデータ１０２ａの値「ＡＤＲ」及びサイズデータ１０２ｂの値「ＳＩＺＥ」に基づいて、ライト処理有無テーブルデータ６に記録された各ライト有りエリアデータ１００ｎの記憶領域の範囲として、値「ＡＤＲ」から値「ＡＤＲ＋ＳＩＺＥ」までの範囲を特定する。次に、制御部２は、特定した各ライト有りエリアデータ１００ｎの記憶領域の範囲（すなわち、値「ＡＤＲ」から値「ＡＤＲ＋ＳＩＺＥ」までの範囲）の中から、ライトコマンドの範囲（すなわち、値「アドレス」から値「アドレス＋サイズ」までの範囲）に重複する箇所を検索する。具体的には、制御部２は、値「アドレス」と値「アドレス＋サイズ」の２つの値を算出し、値「ＡＤＲ」から値「ＡＤＲ＋ＳＩＺＥ」までの範囲の中に、値「アドレス」と値「アドレス＋サイズ」の２つの値の双方又は一方を含む箇所を検索する。
【００３６】
この検索で、値「ＡＤＲ」から値「ＡＤＲ＋ＳＩＺＥ」までの範囲の中に、値「アドレス」と値「アドレス＋サイズ」の２つの値の双方又は一方を含む箇所が見つかった場合に、制御部２は、その箇所を含むライト有りエリアデータ１００ｎを、重複するライト有りエリアデータ１００Ｎと認識する。したがって、この場合に、制御部２は、Ｓ１２０で、重複するライト有りエリアデータ１００Ｎがあると判定する。一方、この検索で、値「ＡＤＲ」から値「ＡＤＲ＋ＳＩＺＥ」までの範囲の中に、値「アドレス」と値「アドレス＋サイズ」の２つの値の双方又は一方を含む箇所が見つからなかった場合に、制御部２は、Ｓ１２０で、重複するライト有りエリアデータ１００Ｎがないと判定する。
【００３７】
Ｓ１２０の判定で、重複するライト有りエリアデータ１００Ｎがある場合（“Ｙｅｓ”の場合）に、制御部２は、ライトコマンドのアクセス範囲がすべて含まれるように、ライト処理有無テーブルデータ６の重複するライト有りエリアデータ１００Ｎに以下の値を再設定する（Ｓ１２５）。
【００３８】
まず、制御部２は、重複するライト有りエリアデータ１００Ｎの更新後のアドレスデータ１０２ａの値「ＡＤＲ」として、以下の式（１）に基づいて算出される値を設定する。
更新後の「ＡＤＲ」←Ｍｉｎ（更新前の「ＡＤＲ」、コマンド指定の「アドレス」）  …（１）
すなわち、制御部２は、重複するライト有りエリアデータ１００Ｎの更新後のアドレスデータ１０２ａの値「ＡＤＲ」として、更新前のアドレスデータ１０２ａの値「ＡＤＲ」とコマンド指定のアドレスの値「アドレス」のうち、小さい方の値を設定する。
【００３９】
次に、制御部２は、重複するライト有りエリアデータ１００Ｎの更新後のサイズデータ１０２ｂの値「ＳＩＺＥ」として、以下の式（２）に基づいて算出される値を設定する。
更新後の「ＳＩＺＥ」←Ｍａｘ（更新前の「ＡＤＲ＋ＳＩＺＥ」、コマンド指定の「アドレス＋サイズ」）−更新後の「ＡＤＲ」  …（２）
すなわち、制御部２は、重複するライト有りエリアデータ１００Ｎの更新後のサイズデータ１０２ｂの値「ＳＩＺＥ」として、更新前のアドレスデータ１０２ａと更新前のサイズデータ１０２ｂとを加算した値「ＡＤＲ＋ＳＩＺＥ」と、コマンド指定のアドレスとコマンド指定のサイズとを加算した値「アドレス＋サイズ」のうち、大きい方の値から、更新後のアドレスデータ１０２ａの値「ＡＤＲ」を引いた値を設定する。
【００４０】
さらに、制御部２は、重複するライト有りエリアデータ１００Ｎの更新後のライト処理有無フラグ１０３として、値「１（ライト有り）」を設定する。
【００４１】
一方、Ｓ１２０の判定で、重複するライト有りエリアデータ１００Ｎがない場合（“Ｎｏ”の場合）に、制御部２は、ライト処理有無テーブルデータ６の任意のライト無しエリアデータ１００ｍに以下の値を設定する（Ｓ１３０）。以下、このとき値を設定するライト無しエリアデータ１００ｍを、「ライト無しエリアデータ１００Ｍ」と称する。
【００４２】
まず、制御部２は、ライト処理有無テーブルデータ６が図３（ｂ）に示す状態になっている場合に、ライト無しエリアデータ１００ｍを１つ選択する。この場合、このとき選択されたライト無しエリアデータ１００ｍが、値が設定されるライト無しエリアデータ１００Ｍとなる。一方、制御部２は、ライト処理有無テーブルデータ６が図３（ｄ）に示す状態になっている場合に、ライト無しエリアデータ１００を１つ生成する。この場合、このとき生成されたライト無しエリアデータ１００ｍが、値が設定されるライト無しエリアデータ１００Ｍとなる。
【００４３】
次に、制御部２は、ライト無しエリアデータ１００Ｍの更新後のアドレスデータ１０２ａの値「ＡＤＲ」として、コマンド指定のアドレスの値「アドレス」を設定する。
次に、制御部２は、ライト無しエリアデータ１００Ｍの更新後のサイズデータ１０２ｂの値「ＳＩＺＥ」として、コマンド指定のサイズの値「サイズ」を設定する。
さらに、制御部２は、ライト無しエリアデータ１００Ｍの更新後のライト処理有無フラグ１０３として、値「１（ライト有り）」を設定する。
【００４４】
Ｓ１２５又はＳ１３０の後、制御部２は、ディスク３ａ，３ｂからのライト処理の完了応答を待ち、ディスク３ａ，３ｂからライト処理の完了応答を受信する（Ｓ１３５）と、これに応答して、ホスト装置９にライト処理の完了応答を出力して（Ｓ１４０）、処理を終了する。
【００４５】
（管理テーブルデータの整理処理時の動作）
次に、図５を参照して、ディスクアレイ装置１の、管理テーブルデータ（ライト処理有無テーブルデータ６）の整理処理時の動作につき説明する。
「管理テーブルデータ（ライト処理有無テーブルデータ６）の整理処理」とは、図３（ｂ）に示す状態のライト処理有無テーブルデータ６を、図３（ｄ）に示す状態のものに変更する処理である。この処理は、ホスト装置９からのアクセスの空き時間が発生したときに、行われる。
【００４６】
なお、ライト処理有無テーブルデータ６の整理処理を行う理由は、以下の通りである。すなわち、ディスク３ａ，３ｂが初期化された後、図３（ｂ）に示す状態のライト処理有無テーブルデータ６は、ライト処理が行われる度に、新たなライト有りエリアデータ１００ｎが格納される。そのため、ライト処理有無テーブルデータ６は、サイズが増加する。これにより、ディスクアレイ装置１（図１参照）は、重複するライト有りエリアデータ１００Ｎを検索する場合に、検索時間が増加する可能性がある。そこで、ディスクアレイ装置１は、ホスト装置９からのアクセスの空き時間を利用して、ライト処理有無テーブルデータ６の整理処理を行う。
【００４７】
この処理は、制御部２が以下のように動作することにより、行われる。
すなわち、制御部２は、ホスト装置９からのアクセスの空き時間を常に監視しており、ホスト装置９からのアクセスの空き時間を検出すると、これに応答して、一連の処理を開始する。
【００４８】
このとき、制御部２は、図５に示すように、まず、ライト有りエリアデータ１００の並び替えを行う（Ｓ２１０）。すなわち、図３（ｂ）に示す状態のライト処理有無テーブルデータ６を、図３（ｃ）に示す状態のものに変更する。このとき、制御部２は、前記した通り、ライト処理有無フラグ１０３及びアドレスデータ１０２ａをキーにして、ライト処理有無フラグ１０３が降順でかつアドレスデータ１０２ａが昇順となるように、各ライト有りエリアデータ１００ｎを並べ替え、さらに、各ライト有りエリアデータ１００ｎにエリア番号データ１０１を付与する。
【００４９】
次に、制御部２は、以下のＳ２１５〜Ｓ２６０の処理を行う。すなわち、制御部２は、Ｓ２１５〜Ｓ２２０及びＳ２３０〜Ｓ２６０の処理を行うことによって、すべての重複するエリアデータ１００ｐを検索し、この検索が完了すると、Ｓ２２５で、検索されたすべての重複するエリアデータ１００ｐを一括して削除する。
【００５０】
以下、まず、Ｓ２１５〜Ｓ２６０の処理の概要を説明し、次に、Ｓ２１５〜Ｓ２６０の処理の詳細を説明する。
なお、ここでは、ライト処理有無テーブルデータ６に記録されているエリアデータ１００の全個数が「ｎ」となっているものとして説明する。また、ライト処理有無テーブルデータ６の中の検索対象となるエリアデータ１００を変数「ｉ」で表し、ライト処理有無テーブルデータ６に記録されているエリアデータ１００［ｉ］のアドレスデータ１０２ａの値及びサイズデータ１０２ｂの値をそれぞれ「ＡＤＲ［ｉ］」及び「ＳＩＺＥ［ｉ］」で表すものとして説明する。また、エリアデータ１００［ｉ］に後続するエリアデータ１００を変数「ｊ」で表し、ライト処理有無テーブルデータ６に記録されているエリアデータ１００［ｊ］のアドレスデータ１０２ａの値及びサイズデータ１０２ｂの値をそれぞれ「ＡＤＲ［ｊ］」及び「ＳＩＺＥ［ｊ］」で表すものとして説明する。
【００５１】
まず、Ｓ２１５〜Ｓ２６０の処理の概要につき説明する。
この検索の概要は、以下のようなものである。なお、ここでは、「ＡＤＲ［ｉ］＋ＳＩＺＥ［ｉ］」を「エリアデータ１００［ｉ］のアクセス範囲（Ａ）」とし、ＡＤＲ［ｉ＋ｊ］を「アドレス（Ｂ）」として説明する（図５のＳ２４０参照）。以下、エリアデータ１００［ｉ］のアクセス範囲（Ａ）を「アクセス範囲Ａ」と称し、アドレス（Ｂ）を「アドレスＢ」と称する。制御部２は、Ｓ２４５で、アクセス範囲ＡがアドレスＢよりも小さいか否かを判定する。Ｓ２４５の判定で、アクセス範囲ＡがアドレスＢよりも小さい場合（“Ｙｅｓ”の場合）に、制御部２は、Ｓ２３５で、変数「ｉ」の値を値「ｉ＋ｊ」に更新して、Ｓ２２０で、更新後の変数「ｉ」の値（以下、「更新後の変数ｉ」と称する）がエリアデータ１００の全個数の値「ｎ」（以下、「最終の値ｎ」と称する）を超過するか否かを判定する。Ｓ２２０の判定で、更新後の変数ｉが最終の値ｎを超過する場合（“Ｙｅｓ”の場合）に、制御部２は、すべての重複するエリアデータ１００ｐが検索されたものと認識する。これにより、すべての重複するエリアデータ１００ｐの検索が完了する。
【００５２】
なお、すべての重複するエリアデータ１００ｐは、それぞれ、Ｓ２５５で、ライト処理有無フラグ１０３に、値「０（ライト無し）」が設定される。これにより、すべての重複しないエリアデータ１００ｐは、ライト無しエリアデータ１００ｍとして扱われる。
【００５３】
すべての重複するエリアデータ１００ｐの検索が完了すると、制御部２は、Ｓ２２５で、検索されたすべてのライト無しエリアデータ１００ｍを一括して削除して、処理を終了する。
【００５４】
次に、Ｓ２１５〜Ｓ２６０の処理の詳細につき説明する。
まず、制御部２は、重複するエリアデータ１００ｐを検索するために、変数「ｉ」及び変数「ｊ」の初期値として、それぞれ、値「１」を設定する（Ｓ２１５）。
次に、制御部２は、変数ｉが最終の値ｎを超過するか否かを判定する（Ｓ２２０）。
【００５５】
Ｓ２２０の判定で、変数ｉが最終の値ｎを超過する場合（“Ｙｅｓ”の場合）に、制御部２の動作は、Ｓ２２５に進む。
一方、Ｓ２２０の判定で、変数ｉが最終の値ｎを超過しない場合（“Ｎｏ”の場合）に、制御部２は、変数「ｉ＋ｊ」が最終の値ｎを超過するか否かを判定する（Ｓ２３０）。
【００５６】
Ｓ２３０の判定で、変数「ｉ＋ｊ」が最終の値ｎを超過する場合（“Ｙｅｓ”の場合）に、制御部２は、変数「ｉ」の値として値「ｉ＋ｊ」を更新（設定）するとともに、変数「ｊ」の値として更新前と同じ値「ｊ」を更新する（Ｓ２３５）。この後、制御部２の動作は、Ｓ２２０に戻り、Ｓ２２０〜Ｓ２３５の動作を繰り返す。
一方、Ｓ２３０の判定で、変数「ｉ＋ｊ」が最終の値ｎを超過しない場合（“Ｎｏ”の場合）に、制御部２は、「ＡＤＲ［ｉ］＋ＳＩＺＥ［ｉ］」をアクセス範囲Ａ（すなわち、エリアデータ１００［ｉ］のアクセス範囲（Ａ））とし、ＡＤＲ［ｉ＋ｊ］をアドレスＢとして、アクセス範囲ＡとアドレスＢとを比較し（Ｓ２４０）、アクセス範囲ＡがアドレスＢよりも小さいか否かを判定する（Ｓ２４５）。
【００５７】
Ｓ２４５の判定で、アクセス範囲ＡがアドレスＢよりも小さい場合（“Ｙｅｓ”の場合）に、制御部２の動作は、Ｓ２３５に進む。この場合に、制御部２は、Ｓ２３５で、変数「ｉ」の値として値「ｉ＋ｊ」を更新するとともに、変数「ｊ」の値として更新前と同じ値「ｊ」を更新する。この後、制御部２の動作は、Ｓ２２０に戻り、Ｓ２２０〜Ｓ２４５の動作を繰り返す。
一方、Ｓ２４５の判定で、アクセス範囲ＡがアドレスＢよりも小さくない（すなわち、アクセス範囲ＡがアドレスＢ以上である）場合（“Ｎｏ”の場合）に、制御部２は、エリアデータ１００［ｉ］の更新後のサイズデータ１０２ｂの値「ＳＩＺＥ」として、以下の式（３）に基づいて算出される値を設定する（Ｓ２５０）。
【００５８】
更新後の「ＳＩＺＥ［ｉ］」←Ｍａｘ（アクセス範囲Ａ、アドレスＢ）−「ＡＤＲ［ｉ］」  …（３）
すなわち、制御部２は、エリアデータ１００［ｉ］の更新後のサイズデータ１０２ｂの値「ＳＩＺＥ」として、アクセス範囲ＡとアドレスＢのうち、大きい方の値から、アドレスデータ１０２ａの値「ＡＤＲ［ｉ］」を引いた値を設定する。なお、アクセス範囲Ａは、「ＡＤＲ［ｉ］＋ＳＩＺＥ［ｉ］」となっており、アドレスＢは、ＡＤＲ［ｉ＋ｊ］となっている。
【００５９】
Ｓ２５０の後、エリアデータ１００［ｉ＋ｊ］の更新後のライト処理有無フラグ１０３として、値「０（ライト無し）」を設定する（Ｓ２５５）。これにより、すべての重複しないエリアデータ１００ｐは、ライト無しエリアデータ１００ｍとして扱われる。Ｓ２５５の後、制御部２は、変数「ｊ」の値を、値「ｊ＋１」に更新する（Ｓ２６０）。この後、制御部２の動作は、Ｓ２３０に戻り、Ｓ２３０〜Ｓ２６０の動作を繰り返す。
【００６０】
なお、制御部２の動作は、前記した通り、Ｓ２２０の判定で、変数ｉが最終の値ｎを超過する場合（“Ｙｅｓ”の場合）に、Ｓ２２５に進む。この場合に、制御部２は、検索されたすべてのライト無しエリアデータ１００ｍを一括して削除して（Ｓ２２５）、処理を終了する。
【００６１】
このようにして、制御部２は、各エリアデータ１００のアクセス範囲の重複が無くなるように、ライト処理有無テーブルデータ６を整理する。これにより、制御部２は、ライト処理有無テーブルデータ６のサイズを低減できる。
【００６２】
（リビルド処理時の動作）
次に、図６を参照して、ディスクアレイ装置１のリビルド処理時の動作につき説明する。
図６に示すように、制御部２は、ライト処理時に書き込まれたデータ（書き込みデータ）を特定するために、まず、変数「ｉ」の初期値として、値「１」を設定する（Ｓ３１０）。
次に、制御部２は、管理テーブルデータ（ライト処理有無テーブルデータ６）に格納されている各エリアデータ１００を参照して（Ｓ３１５）、エリアデータ１００［ｉ］のライト処理有無フラグ１０３［ｉ］が値「１（ライト有り）」と等しいか否かを判定する（Ｓ３２０）。
【００６３】
Ｓ３２０の判定で、エリアデータ１００［ｉ］のライト処理有無フラグ１０３［ｉ］が値「１（ライト有り）」と等しい場合（“Ｙｅｓ”の場合）に、制御部２は、アドレスデータ１０２ａの値及びサイズデータ１０２ｂの値をそれぞれ「ＡＤＲ［ｉ］」及び「ＳＩＺＥ［ｉ］」とするエリアデータ１００［ｉ］のアクセス範囲（すなわち、値「ＡＤＲ［ｉ］」から値「ＡＤＲ［ｉ］＋ＳＩＺＥ［ｉ］」までの範囲の記憶領域）に格納されている書き込みデータを、マスタデバイスからスレーブデバイスにコピーする（Ｓ３２５）。
一方、Ｓ３２０の判定で、エリアデータ１００［ｉ］のライト処理有無フラグ１０３［ｉ］が値「１（ライト有り）」と等しくない場合（“Ｎｏ”の場合）に、制御部２の動作は、Ｓ３３０に進む。
【００６４】
Ｓ３２５の後、又は、Ｓ３２０の判定で、エリアデータ１００［ｉ］のライト処理有無フラグ１０３［ｉ］が値「１（ライト有り）」と等しくない場合（“Ｎｏ”の場合）に、制御部２は、変数「ｉ」の値を、値「ｉ＋１」に更新（設定）して（Ｓ３３０）、更新後の変数「ｉ」が最終の値ｎよりも大きいか否かを判定する（Ｓ３４０）。
【００６５】
Ｓ３４０の判定で、更新後の変数「ｉ」が最終の値ｎよりも大きい場合（“Ｙｅｓ”の場合）に、制御部２は、処理を終了する。
一方、Ｓ３４０の判定で、更新後の変数「ｉ」が最終の値ｎよりも大きくない場合（“Ｎｏ”の場合）に、制御部２の動作は、Ｓ３１５に戻り、Ｓ３１５〜Ｓ３４０の動作を繰り返す。
【００６６】
これにより、制御部２は、データのリビルドを実現する。なお、インストール前にディスクにあったデータは、ライト処理有無フラグ１０３にライト有りフラグが格納されていない。そのため、制御部２は、Ｓ３２０の判定で、エリアデータ１００［ｉ］のライト処理有無フラグ１０３［ｉ］が値「１（ライト有り）」と等しくない（Ｎｏ）と判定する。その結果、インストール前にディスクにあったデータは、リビルド処理時にはコピーされない。
【００６７】
以下、図７（ａ）〜図７（ｃ）を参照して、ディスクアレイ装置１の効果につき説明する。なお、図７（ａ）〜図７（ｃ）は、それぞれ、記憶デバイスに書き込まれたデータの説明図である。
【００６８】
図７（ａ）に示すように、ディスク３ａ，３ｂは、初期化された後は、ホスト装置９からのライト処理が行われていない状態となる。ディスクアレイ装置１は、オペレーティングシステムやアプリケーションプログラム等がインストールされた後、さらに、ホスト装置９からライトコマンドを受信したときに、これに応答して、ライト処理を行う。また、ディスクアレイ装置１は、運用中に、オペレーティングシステムやアプリケーションプログラム等が稼動することによって、ライト処理を行う。これにより、ディスクアレイ装置１は、図７（ｂ）及び図７（ｃ）に示すように、ディスク３ａ，３ｂの一部の記憶領域（ここでは、エリアＷｒ）に、データを書き込む。その結果、ディスク３ａ，３ｂは、ライト処理が行われたエリアが徐々に増加する。ただし、ディスク３ａ，３ｂの全記憶領域にライト処理が行われることはない。
【００６９】
ところで、初期化以降にライト処理されていない記憶領域は、データが不定であっても構わない。そのため、ディスクアレイ装置１は、リビルド処理時に、ライト処理されていない記憶領域のデータをコピーしない。
したがって、ディスクアレイ装置１によれば、従来の装置と比較すると、リビルド処理時にコピーするデータ量を低減できる。これにより、リビルド処理時のアクセス性能の低下を抑制できる。また、リビルド処理を短時間で完了できる。そのため、リビルド中に、さらに、ディスクが故障するリスクを低減できる。
【００７０】
［実施形態２］
実施形態１のライト処理有無テーブルデータ６は、アドレス単位で各エリアデータ１００を格納している（図２参照）。そのため、ライト処理有無テーブルデータ６は、サイズが大型化する傾向にある。その結果、実施形態１のデータ記憶装置（ディスクアレイ装置１）は、格納部５として大容量の不揮発性メモリが必要である。しかしながら、大容量の不揮発性メモリは、比較的高価な物品である。そのため、実施形態１のディスクアレイ装置１は、コストが高騰する可能性がある。
【００７１】
これに対して、本実施形態２のライト処理有無テーブルデータ６ａは、アドレス単位よりも大きな単位（例えば、数メガバイト単位）で各エリアデータ１００ａを格納する（図８参照）。これにより、本実施形態２のデータ記憶装置（以下、「ディスクアレイ装置１ａ」と称する）は、ライト処理有無テーブルデータ６ａのサイズを実施形態１のライト処理有無テーブルデータ６のサイズよりも小型化できる。その結果、ディスクアレイ装置１ａは、少容量の不揮発性メモリを格納部５として利用できる。
【００７２】
＜本実施形態２に係るデータ記憶装置の詳細＞
以下、本実施形態２に係るデータ記憶装置（すなわち、ディスクアレイ装置１ａ）の詳細につき説明する。
ディスクアレイ装置１ａは、実施形態１のディスクアレイ装置１と同じ構成となっている。ただし、ディスクアレイ装置１ａは、実施形態１のディスクアレイ装置１と比較すると、管理テーブルデータとして、実施形態１のライト処理有無テーブル６とは構成の異なるライト処理有無テーブルデータ６ａ（図８参照）が設けられている点で、異なっている。
ディスクアレイ装置１ａは、全体のディスク領域（記憶領域）を一定量毎に分割して、分割範囲毎に分割エリアデータ１００ａが割り当てられることによって、ライト処理有無テーブルデータ６ａのサイズを小型化している。
【００７３】
＜本実施形態２に係るライト処理有無テーブルデータの構成＞
以下、図８を参照して、実施形態２に係る管理テーブルデータ（すなわち、ライト処理有無テーブルデータ６ａ）の構成につき説明する。なお、図８は、実施形態２に係る管理テーブルデータの構成例を示す図である。
【００７４】
実施形態１のライト処理有無テーブルデータ６は、各エリアデータ１００につき、エリア番号データ１０１、範囲データ１０２、及び、ライト処理有無フラグ１０３からなっている（図２参照）。
一方、本実施形態２のライト処理有無テーブルデータ６ａは、図８に示すように、各エリアデータ１００ａにつき、分割データ１０２ｄ、及び、ライト処理有無フラグ１０３だけからなっている。なお、分割データ１０２ｄは、実施形態１のものよりも大きな単位（例えば、数メガバイト単位）で分割された範囲データ１０２である、分割データ１０２ｄは、ディスク３ａ，３ｂの全記憶領域をｍ個に分割したそれぞれの記憶領域の範囲に対応している。以下、エリアデータ１００ａを「分割エリアデータ１００ａ」と称する。
【００７５】
＜本実施形態２に係るデータ記憶装置の動作＞
実施形態２に係るデータ記憶装置（すなわち、ディスクアレイ装置１ａ）は、ライト処理時の動作が実施形態１のディスクアレイ装置１の動作と異なっている。以下、図９を参照して、ディスクアレイ装置１ａのライト処理時の動作につき説明する。なお、図９は、実施形態２に係るデータ記憶装置の動作を示すフローチャートである。
【００７６】
ディスク３ａ，３ｂの初期化時において、ライト処理有無テーブルデータ６ａの各分割エリアデータ１００ａはすべてのデータがブランク状態となっている。制御部２は、このライト処理有無テーブルデータ６ａに対して、実施形態１と同様に、すべての分割エリアデータ１００ａのライト処理有無フラグ１０３の値を「０（ライト無し）」に設定する。
この後、制御部２は、待機状態となって、ホスト装置９からコマンドが送信されるのを待つ。
そして、制御部２は、ホスト装置９からライトコマンド及びライト処理するデータを受信すると、これに応答して、一連の処理を開始する。
【００７７】
このとき、制御部２は、図９に示すように、受信したライトコマンドにしたがって、２台のディスク３ａ，３ｂにライト処理を指示する（Ｓ４１０）。
【００７８】
制御部２は、Ｓ４１０で２台のディスク３ａ，３ｂにライト処理を指示すると、これに応答して、各ディスク３ａ，３ｂにデータが書き込まれている間に、以下のＳ４１５〜Ｓ４２０の処理を行う。
【００７９】
すなわち、まず、制御部２は、ライト処理有無テーブルデータ６ａ（図８参照）から、ライトコマンドのアクセス範囲に該当する分割エリアデータ１００ａを１乃至複数選択する（Ｓ４１５）。
次に、制御部２は、選択した分割エリアデータ１００ａのライト処理有無フラグ１０３を、「１（ライト有り）」に設定する（Ｓ４２０）。
Ｓ４２０の後、制御部２は、ディスク３ａ，３ｂからのライト処理の完了応答を待ち、ディスク３ａ，３ｂからライト処理の完了応答を受信する（Ｓ４２５）と、これに応答して、ホスト装置９にライト処理の完了応答を出力して（Ｓ４３０）、処理を終了する。
【００８０】
ライト処理有無テーブルデータ６ａは、分割エリアデータ１００ａの数が分割する記憶領域の数によりｍ個に固定される。そのため、ディスクアレイ装置１ａは、ライト処理有無テーブルデータ６ａのサイズを実施形態１のライト処理有無テーブルデータ６のサイズよりも小型化できる。その結果、ディスクアレイ装置１ａは、少容量の不揮発性メモリを格納部５として利用できる。
このようなディスクアレイ装置１ａは、ライト処理の有無を大きな単位（例えば、数メガバイト単位）で管理し、リビルド処理をその大きな単位で行う。これにより、ディスクアレイ装置１ａは、分割エリアデータ１００ａの検索時間を実施形態１のディスクアレイ装置１よりも低減できる。そのため、ディスクアレイ装置１ａは、実施形態１のように、アクセスの空き時間を利用してライト処理有無テーブルデータ６を整理する動作を行う必要がない。
【００８１】
以下、具体例を用いて、ライト処理有無テーブルデータ６ａのサイズを小型化することによる効果、及び、分割エリアデータ１００ａの検索時間を低減することによる効果を説明する。
【００８２】
ライト処理有無テーブルデータ６ａのサイズを小型化することによる効果は、以下の通りとなる。ここでは、実施形態１のディスクアレイ装置１及び本実施形態２のディスクアレイ装置１ａが、ともに、例えば４０ＧＢ（ギガバイト）のディスク容量を有しているものとして説明する。
【００８３】
通常、ライト処理時に書き込まれるデータは、サイズが０．５ＫＢ（キロバイト）〜２５６ＫＢの範囲となっている。そのため、書き込まれるデータのサイズは、一意に決まらないが、平均的には１６ＫＢ程度である。ここで、実施形態１のディスクアレイ装置１及び本実施形態２のディスクアレイ装置１ａが、ともに、１０ＧＢ程度使用されているものとする。この場合、ディスクアレイ装置１及びディスクアレイ装置１ａは、ともに、約６５万箇所のライト処理が行われていることになる。
【００８４】
実施形態１のディスクアレイ装置１は、空き時間のライト処理有無テーブルデータ６の整理処理により、空き容量を増加させている。しかしながら、仮に、ディスクアレイ装置１が、この整理処理で約９０％の無駄な領域を削除できたとしても、ライト処理有無テーブルデータ６に記録されているエリアデータ１００の数は、約６万５千個となる。
【００８５】
一方、本実施形態２のディスクアレイ装置１ａは、記憶領域が大きな単位で分割されている。ここで、仮に、記憶領域が、例えば１０ＭＢ（メガバイト）単位で分割されているものとする。この場合に、ライト処理有無テーブルデータ６ａに格納されている分割エリアデータ１００ａの数は、約４千個となる。したがって、ディスクアレイ装置１ａは、実施形態１のディスクアレイ装置１と比較すると、格納する分割エリアデータ１００ａの数が１０％以下となっている。
【００８６】
また、本実施形態２の分割エリアデータ１００ａは、構造が実施形態１のエリアデータ１００よりも簡素なものとなっている。そのため、各分割エリアデータ１００ａは、実施形態１のエリアデータ１００よりも１０％以下のサイズに小型化できる。
【００８７】
したがって、ディスクアレイ装置１ａは、実施形態１のディスクアレイ装置１と比較すると、格納する分割エリアデータ１００ａの数が１０％以下となり、かつ、各分割エリアデータ１００ａのサイズがエリアデータ１００の１０％以下となるため、これらの相乗効果によって、１％以下のメモリ容量しか必要としない。
その結果、ディスクアレイ装置１ａは、少容量の不揮発性メモリを格納部５として利用できる。
【００８８】
また、分割エリアデータ１００ａの検索時間を低減することによる効果は、以下の通りとなる。ここでは、実施形態１のディスクアレイ装置１は、６万５千個のエリアデータ１００を格納しており、１つのエリアデータ１００の検索時間が１μｓ（マイクロ秒）であるものとして説明する。また、本実施形態２のディスクアレイ装置１ａは、４千個の分割エリアデータ１００ａを格納しており、また、１つの分割エリアデータ１００ａの検索時間が１μｓであるものとして説明する。
【００８９】
実施形態１のディスクアレイ装置１は、アドレス単位でエリアデータ１００を検索するため、ライト処理時に、エリアデータ１００にアクセスする回数が多い。そのため、ディスクアレイ装置１は、ホスト装置９からライトコマンドを受信する度に、約６５ｍｓ（ミリ秒）の検索時間が必要になる。したがって、ディスクアレイ装置１は、ライト処理時に、エリアデータ１００を検索するための時間がある程度必要となり、これにより、ライト処理の性能に影響を与える可能性がある。
【００９０】
一方、本実施形態２のディスクアレイ装置１ａは、大きな単位（例えば、数メガバイト単位）で分割エリアデータ１００ａを検索するため、ライト処理時に、分割エリアデータ１００ａにアクセスする回数が少ない。そのため、ディスクアレイ装置１ａは、ホスト装置９からライトコマンドを受信する度に、約４ｍｓの検索時間しか必要としない。したがって、ディスクアレイ装置１ａは、ライト処理時に、分割エリアデータ１００ａを検索するための時間があまり必要とせず、これにより、ライト処理の性能にほとんど影響を与えない。
その結果、ディスクアレイ装置１ａは、実施形態１のように、アクセスの空き時間を利用してライト処理有無テーブルデータ６を整理する動作を行う必要がない。
【００９１】
［実施形態３］
実施形態１及び実施形態２では、データ記憶装置（ディスクアレイ装置１及びディスクアレイ装置１ａ）は、リビルド処理時に、ライト処理有無フラグ１０３にライト有りフラグが格納されているか否かを判定することにより、各エリアデータ１００に対応する書き込みデータをコピーするか否かを判定している。
しかしながら、データ記憶装置の運用中に取得した重要なデータ（例えば、データベースのデータ等）は、オペレーティングシステムやアプリケーションプログラム等のデータよりも優先度が高い。そのため、データ記憶装置は、優先度の高いデータを優先度の低いデータに先行して回復させれば、リビルド処理中に記憶デバイス（ディスク３ａ，３ｂ）の新たな故障が発生しても、優先度の高いデータを失う危険を低減できる。また、インターネットのキャッシュデータやアプリケーションプログラムのテンポラリデータ等は、ダウンロードしたり、又は、利用する際に生成したりすることにより、容易に再取得できる。データ記憶装置は、このような再取得が容易なデータのリビルド処理を行わなければ、リビルド処理時のアクセスの性能の低下を抑制できる。
【００９２】
そこで、本実施形態３のデータ記憶装置（以下、「ディスクアレイ装置１ｂ」と称する）は、ホスト装置９から書き込みデータの優先度を管理テーブルデータに設定できるようにし、リビルド処理時に、管理テーブルデータに設定された優先度に基づいて、コピーが必要なデータのみをコピーすることによって、リビルド処理時のアクセスの性能の低下を抑制する。
【００９３】
＜本実施形態３に係るデータ記憶装置の構成＞
以下、図１０を参照して、本実施形態３に係るデータ記憶装置（すなわち、ディスクアレイ装置１ｂ）の構成につき説明する。なお、図１０は、実施形態３に係るデータ記憶装置の構成ブロック図である。
【００９４】
図１０に示すように、本実施形態３のデータ記憶装置であるディスクアレイ装置１ｂは、実施形態１と比較すると、管理テーブルデータとして、ライト処理有無テーブルデータ６の代わりに、優先度設定テーブルデータ１０が設けられている点で、異なっている。
優先度設定テーブルデータ１０は、ホスト装置９から書き込みデータの優先度が設定できる管理データテーブルである。
【００９５】
＜本実施形態３に係る優先度設定テーブルデータの構成＞
以下、図１１を参照して、優先度設定テーブルデータ１０の構成につき説明する。なお、図１１は、実施形態３に係る管理テーブルデータ（すなわち、優先度設定テーブルデータ１０）の構成例を示す図である。
【００９６】
図１１に示すように、優先度設定テーブルデータ１０は、各エリアデータ１００ｂにつき、エリア番号データ１０１、範囲データ１０２、及び、優先度フラグ１１３からなっている。
【００９７】
優先度フラグ１１３は、リビルド処理時の優先度の値を表している。ここでは、優先度フラグ１１３の値は、「高い（すなわち、優先度が通常レベルよりも高いこと）」を表す「１」、「通常（すなわち、優先度が通常レベルであること）」を表す「２」、及び、「不要（すなわち、回復の必要の無く、コピーが不要であること）」を表す「３」の３段階あるものとして説明する。優先度設定テーブルデータ１０は、エリアデータ１００ｂ毎に、これらの値を記録している。なお、優先度フラグ１１３の値は、運用に応じて、適宜変更してもよい。
【００９８】
＜本実施形態３に係るデータ記憶装置の動作＞
以下、図１２を参照して、本実施形態３に係るデータ記憶装置（すなわち、ディスクアレイ装置１ｂ）の動作につき説明する。なお、図１２は、実施形態３に係るデータ記憶装置の動作の説明図である。
【００９９】
（リビルド処理前の動作）
まず、ディスクアレイ装置１ｂのリビルド処理前の動作につき説明する。
ホスト装置９のオペレータは、ディスクアレイ装置１ｂのディスク３ａ，３ｂの初期化に際して、ホスト装置９からディスクアレイ装置１ｂにアクセスして、優先度設定テーブルデータ１０のすべての優先度フラグ１１３を「３（コピー不要）」に設定する。また、オペレータは、ディスク３ａ，３ｂの初期化の直後若しくはディスクアレイ装置１ｂの運用中の任意の時点で、ホスト装置９からディスクアレイ装置１ｂにアクセスして、優先度設定テーブルデータ１０の任意の優先度フラグ１１３を所定の値に設定する。なお、設定方法は、様々な手法がある。例えば、設定方法としては、オペレータがホスト装置９から予め定められた設定コマンドを入力することによって行う方法や、優先度フラグ１１３を設定するための入力操作部をディスクアレイ装置１に実装させて、オペレータがその入力操作部を操作することによって行う方法、ディスクアレイ装置１がデータの拡張子に基づいて自動的に設定する方法等がある。ここでは、設定方法を限定しないものとする。
【０１００】
ディスクアレイ装置１ｂの制御部２は、優先度フラグ１１３の設定終了時に、アドレスデータ１０２ａが昇順となるように、値「３（コピー不要）」以外の優先度フラグ１１３が設定されている各エリアデータ１００ｂを並べ替える。すなわち、制御部２は、優先度フラグ１１３及びアドレスデータ１０２ａ（図１１参照）をキーにして、値「３（コピー不要）」以外の優先度フラグ１１３が設定されている各エリアデータ１００ｂを抽出して、アドレスデータ１０２ａが昇順となるように、抽出した各エリアデータ１００ｂを並べ替える。なお、このとき、制御部２は、各エリアデータ１００ｂが重ならないように、優先度設定テーブルデータ１０を管理する。
その結果、図１２に示すように、ディスク３ａ，３ｂの記憶領域５１ａは、領域毎に、優先度設定テーブルデータ１０の優先度フラグ１１３が対応付けられた状態となる。
【０１０１】
（リビルド処理時の動作）
次に、ディスクアレイ装置１ｂのリビルド処理時の動作につき説明する。
図１２に示すように、まず、制御部２は、ステップ１で、値「１（優先度が高い）」の優先度フラグ１１３が対応付けられた書き込みデータ（すなわち、図１２の記憶領域５１ｂの黒色領域に書き込まれていたデータ）を、マスタデバイスからスレーブデバイスにコピーする。
【０１０２】
次に、制御部２は、ステップ２で、ステップ１でコピーされた書き込みデータ及びコピーが不要な書き込みデータ以外の書き込みデータ（すなわち、図１２の記憶領域５１ｃの黒色領域に書き込まれていたデータ）を、マスタデバイスからスレーブデバイスにコピーする。なお、「ステップ１でコピーされた書き込みデータ」とは、値「１（優先度が高い）」の優先度フラグ１１３が対応付けられた書き込みデータを意味している。また、「コピーが不要な書き込みデータ」とは、値「３（コピー不要）」の優先度フラグ１１３が対応付けられた書き込みデータを意味している。したがって、「ステップ１でコピーされた書き込みデータ及びコピーが不要な書き込みデータを以外の書き込みデータ」とは、本実施形態２では、値「２（優先度が通常レベル）」の優先度フラグ１１３が対応付けられた書き込みデータを意味している。
【０１０３】
このようにして、ディスクアレイ装置１ｂは、優先度が高い書き込みデータを先行して回復させ、続いて、コピーが不要な書き込みデータを除くその他の書き込みデータを回復させる。
【０１０４】
なお、リビルド処理時の書き込みデータのコピーは、ホスト装置９からのディスクアクセスと競合するが、例えば、ステップ１では、コピーの優先度を高くし、ステップ２では、ホスト装置９からのディスクアクセスの優先度を高くすることで、重要なデータを早期に回復させながら、通常レベルの書き込みデータの回復時におけるホスト装置９からのアクセス性能の低下を抑制できる。
【０１０５】
ディスクアレイ装置１ｂによれば、優先度設定テーブルデータ１０により、リビルド処理する書き込みデータの優先度が設定できる。そのため、重要度の高い特定の書き込みデータの優先度を高く設定することによって、データベースのような重要なデータを他のデータに先行して早期に回復でき、これにより、重要なデータが消失する危険を低減できる。
また、このディスクアレイ装置１ｂによれば、テンポラリデータのような回復不要なデータの優先度を「コピー不要」に設定することによって、回復不要なデータのコピーを排除することができる。その結果、リビルド処理時間を短縮できる。また、これによって、ホスト装置９からのアクセス性能の低下を抑制できる。
【０１０６】
［実施形態４］
＜本実施形態４に係るデータ記憶装置の構成＞
以下、図１３を参照して、本実施形態４に係るデータ記憶装置（すなわち、ディスクアレイ装置１ｃ）の構成につき説明する。なお、図１３は、実施形態４に係るデータ記憶装置の構成ブロック図である。
【０１０７】
図１３に示すように、本実施形態４のデータ記憶装置であるディスクアレイ装置１ｃは、管理テーブルデータとして、ライト処理有無テーブルデータ６（図２参照）と優先度設定テーブルデータ１０（図１１）の双方が設けられた構成となっている。
なお、ディスクアレイ装置１ｃは、ライト処理管理テーブルデータ６の代わりに、実施形態２のライト処理管理テーブルデータ６ａ（図８参照）が設けられていてもよい。
【０１０８】
＜本実施形態４に係るデータ記憶装置の動作＞
（ライト処理時の動作）
ディスクアレイ装置１ｃのライト処理時の動作は、実施形態１のディスクアレイ装置１及び実施形態２のディスクアレイ装置１ａのいずれか一方の動作と同じである。ここでは、ディスクアレイ装置１ｃのライト処理時の、実施形態１のディスクアレイ装置１の動作と同じであるものとして説明する。なお、この場合、ディスクアレイ装置１ｃのリビルド処理時の動作は、以下に説明する動作に加えて、さらに、空き時間の整理処理の動作（図５参照）が加わる。
【０１０９】
（リビルド処理時の動作）
ディスクアレイ装置１ｃのリビルド処理時の動作は、以下のようになっている。
すなわち、図１２に示すステップ１では、制御部２は、優先度が高い書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。このとき、制御部２は、値「１（ライト処理有り）」のライト処理有無フラグ１０３及び値「１（優先度が高い）」の優先度フラグ１１３の双方が対応付けられた書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。
【０１１０】
次に、図１２に示すステップ２では、制御部２は、ステップ１でコピーされた書き込みデータ及びコピーが不要な書き込みデータ以外の書き込みデータを、マスタデバイスからスレーブデバイスにコピーする。このとき、制御部２は、値「１（ライト処理有り）」のライト処理有無フラグ１０３と、値「１（優先度が高い）」及び値「３（コピー不要）」以外の値（本実施形態２では、値「２」）のライト処理有無フラグ１０３の双方が対応付けられた書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。
【０１１１】
ディスクアレイ装置１ｃによれば、実施形態３のディスクアレイ装置１ｂと同様の効果を得ることができる。
さらに、ディスクアレイ装置１ｃによれば、実施形態１のディスクアレイ装置１又は実施形態２のディスクアレイ装置１ａと比較すると、リビルド処理時にコピーするデータ量を低減できる。これにより、リビルド処理中に記憶デバイス（ディスク３ａ，３ｂ）の新たな故障が発生しても、優先度の高いデータを失う危険を低減できる。リビルド処理時間を短縮できる。また、これによって、ホスト装置９からのアクセス性能の低下を抑制できる。
【０１１２】
本発明は、ミラーディスク等の高信頼性のＲＡＩＤ装置に広く実施することができる。
また、本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【０１１３】
例えば、範囲データ１０２（図２及び図１１参照）がアドレス単位で構成されている（すなわち、アドレス１０２ａとサイズデータ１０２ｂで構成されている）管理テーブルデータは、実施形態２のように、適宜、分割単位（すなわち、分割エリアデータ１０２ｄ（図８参照））の構成に変更できる。なお、この場合に、データ記憶装置（ディスクアレイ装置１）の制御部２の動作は、この管理テーブルデータの変更に合わせて、適宜変更される。
【０１１４】
具体的には、実施形態４の２つの管理テーブルデータ（ライト処理有無テーブルデータ６及び優先度設定テーブルデータ１０）の範囲データ１０２（図２及び図１１参照）は、アドレス１０２ａとサイズデータ１０２ｂとからなるアドレス単位で構成されているが、これを、実施形態２のライト処理有無テーブルデータ６ａの分割データ１０２ｄのように、アドレス単位よりも大きな分割単位の構成に変更できる。
この場合に、制御部２の管理テーブルデータ更新部２ａは、データをライト処理する都度、ライト処理有無テーブルデータ６のエリアデータ１００ａとして、ライト処理した記憶領域の分割エリアデータ１０２ｄ及びライト有りフラグ１０３（図８参照）を格納部５に格納するとともに、優先度設定テーブルデータ１０のエリアデータ１００ｂとして、分割エリアデータ１０２ｄ（図８参照）及び優先度フラグ１１３（図１１参照）を格納部５に格納することになる。
【０１１５】
また、実施形態４の２つの管理テーブルデータ（すなわち、ライト処理有無テーブルデータ６（又は６ａ）と優先度設定テーブルデータ１０）は、図１４に示すように、一つに併合できる。なお、図１４は、管理テーブルデータの変形例を示す図である。図１４に示す優先度設定テーブルデータ１０ａは、各エリアデータ１００ｃにつき、エリア番号データ１０１、範囲データ１０２、ライト処理有無フラグ１０３、及び、優先度フラグ１１３からなっている。なお、この場合に、データ記憶装置（ディスクアレイ装置１ｃ）の制御部２の動作は、この管理テーブルデータの変更に合わせて、適宜変更される。例えば、この場合に、制御部２の管理テーブルデータ更新部２ａは、データをライト処理する都度、エリアデータ１００ｃとして、範囲データ１０２、並びに、ライト有りフラグ１０３、及び、優先度フラグ１１３を格納部５に格納することになる。なお、この場合に、制御部２のコピー制御部２ｂは、リビルド処理時に、優先度設定テーブルデータ１０ａを参照するだけで、各エリアデータ１００ｃの優先度の高低の判定及びライト処理の有無が判定できるようになる。
【０１１６】
なお、図１４に示す優先度設定テーブルデータ１０ａの範囲データ１０２も、アドレス単位でなく、分割単位の構成に変更できる。この場合に、制御部２の管理テーブルデータ更新部２ａは、データをライト処理する都度、優先度設定テーブルデータ１０ａのエリアデータ１００ｃとして、ライト処理した記憶領域の分割エリアデータ１０２ｄ（図８参照）並びに、ライト有りフラグ１０３及び優先度フラグ１１３（図１４参照）を格納部５に格納することになる。
【０１１７】
また、データ記憶装置１は、以下のように構成することもできる。
すなわち、複数の記憶デバイス３ａ、３ｂのそれぞれは、記憶領域が任意の個数ｍに分割された構成とする。
また、格納部５は、２つの管理テーブルデータとして、例えば、ライト処理有無テーブルデータ６及び優先度設定テーブルデータ１０を格納する構成とする。
また、制御部２の管理テーブルデータ更新部２ａは、データをライト処理する都度、ライト処理有無テーブルデータ６に、ライト処理した記憶領域の分割エリアデータ１０２ｄ及びライト有りフラグ（図８参照）を記録するとともに、優先度設定テーブルデータ１０に、ライト処理した記憶領域の分割エリアデータ１０２ｄ（図８参照）及び優先度フラグ１１３（図１１参照）を記録する。
さらに、制御部２のコピー制御部２ｃは、ミラーリング関係にある複数の記憶デバイス（例えば、ディスク３ａ，３ｂ）の中のいずれかが交換された場合に、ライト処理有無テーブルデータ６のライト有りフラグ及び優先度設定テーブルデータ１０の優先度フラグ１１３を参照して、ライト有りフラグが格納されていてかつ優先度が高い優先度フラグが格納されている分割エリアデータ１０２ｄ（図８参照）に対応する書き込みデータを、他の書き込みデータに先行して、正常稼働中の記憶デバイスから交換された記憶デバイスにコピーした後、ライト有りフラグが格納されていてかつ優先度が通常レベルの優先度フラグが格納されている分割エリアデータ１０２ｄに対応する書き込みデータを正常稼働中の記憶デバイスから交換された記憶デバイスにコピーする。
【０１１８】
また、実施形態１乃至実施形態４では、ディスクアレイ装置１の制御部２がリビルド処理を制御するものとして説明したが、ホスト装置９の制御部（図示せず）がリビルド処理を制御してもよい。
【０１１９】
また、実施形態１乃至実施形態４では、ディスクアレイ装置１は、２台の記憶デバイス（第１記憶デバイス３ａ及び第２記憶デバイス３ｂ）を有するものとして説明した。しかしながら、記憶デバイスの数は、３台以上（好ましくは、偶数個）であってもよい。なお、ディスクアレイ装置１が３台以上の記憶デバイスを有している場合に、ディスクアレイ装置１は、各記憶デバイスが他のデバイスに格納されるデータを部分的にミラーリングするように、構成できる。例えば、ディスクアレイ装置１が４台の記憶デバイスを有している場合に、ディスクアレイ装置１は、第１記憶デバイスと第２記憶デバイスが比較的に上位のアドレスのデータをミラーリングし、第３記憶デバイスと第４記憶デバイスが比較的に下位のアドレスのデータをミラーリングするように、構成できる。
【０１２０】
また、実施形態１乃至実施形態４では、記憶デバイス３ａ，３ｂがハードディスク装置として構成されているものとして説明した。しかしながら、記憶デバイスの形態は、ハードディスク装置に限らず、半導体ディスク装置であってもよいし、又は、ＵＳＢメモリ等のメモリモジュールであってもよい。
【０１２１】
また、実施形態３では、ホスト装置９のオペレータが優先度フラグ１１３を設定するものとして説明した。しかしながら、格納部５に書き込みデータの優先度を判定するための基準データを予め格納させておき、制御部２（ここでは、管理テーブルデータ更新部２ａ）は、この基準データを参照して、各書き込みデータの優先度を判定して、優先度フラグ１１３を設定するようにしてもよい。
【図面の簡単な説明】
【０１２２】
【図１】実施形態１に係るデータ記憶装置の構成ブロック図である。
【図２】実施形態１に係る管理テーブルデータの構成例を示す図である。
【図３】実施形態１に係る管理テーブルデータの説明図である。
【図４】実施形態１に係るデータ記憶装置の動作を示すフローチャート（１）である。
【図５】実施形態１に係るデータ記憶装置の動作を示すフローチャート（２）である。
【図６】実施形態１に係るデータ記憶装置の動作を示すフローチャート（３）である。
【図７】記憶デバイスに書き込まれたデータの説明図である。
【図８】実施形態２に係る管理テーブルデータの構成例を示す図である。
【図９】実施形態２に係るデータ記憶装置の動作を示すフローチャートである。
【図１０】実施形態３に係るデータ記憶装置の構成ブロック図である。
【図１１】実施形態３に係る管理テーブルデータの構成例を示す図である。
【図１２】実施形態３に係るデータ記憶装置の動作の説明図である。
【図１３】実施形態４に係るデータ記憶装置の構成ブロック図である。
【図１４】管理テーブルデータの変形例を示す図である。
【符号の説明】
【０１２３】
１，１ａ，１ｂ，１ｃ    ディスクアレイ装置（データ記憶装置）
２    制御部（ＣＰＵ）
２ａ    管理テーブルデータ更新部
２ｂ    コピー制御部
２ｃ    故障検出部
３ａ    第１ディスク（第１記憶デバイス）
３ｂ    第２ディスク（第２記憶デバイス）
４ａ，４ｂ    ディスクＩ／Ｆバス
５    格納部（不揮発性メモリ）
６    ライト処理管理テーブルデータ（管理テーブルデータ）
７    ホストインタフェース部
８    ホストＩ／Ｆバス
９    ホスト装置
１０    優先度設定テーブルデータ（管理テーブルデータ）
１００，１００ａ，１００ｂ，１００ｃ    エリアデータ
１０１    エリア番号
１０２    エリア
１０２ａ    アドレスデータ
１０２ｂ    サイズデータ
１０２ｄ    分割エリアデータ
１０３    ライト処理有無フラグ（フラグ）
１１３    優先度フラグ（フラグ）
【図１】
2010146056.tif 000003
【図２】
2010146056.tif 000004
【図３】
2010146056.tif 000005
【図４】
2010146056.tif 000006
【図５】
2010146056.tif 000007
【図６】
2010146056.tif 000008
【図７】
2010146056.tif 000009
【図８】
2010146056.tif 000010
【図９】
2010146056.tif 000011
【図１０】
2010146056.tif 000012
【図１１】
2010146056.tif 000013
【図１２】
2010146056.tif 000014
【図１３】
2010146056.tif 000015
【図１４】
2010146056.tif 000016