JP2010146056A - データ記憶装置、及び、その故障回復方法 - Google Patents
データ記憶装置、及び、その故障回復方法 Download PDFInfo
- Publication number
- JP2010146056A JP2010146056A JP2008319363A JP2008319363A JP2010146056A JP 2010146056 A JP2010146056 A JP 2010146056A JP 2008319363 A JP2008319363 A JP 2008319363A JP 2008319363 A JP2008319363 A JP 2008319363A JP 2010146056 A JP2010146056 A JP 2010146056A
- Authority
- JP
- Japan
- Prior art keywords
- data
- write
- area
- storage device
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】不要なデータ(具体的には、インストール前のデータ等)のコピーに起因する、リビルド処理時のアクセス性能の低下を抑制する。
【解決手段】ミラーリング関係にある複数の記憶デバイス3a,3bにデータをライト処理する都度、管理テーブルデータ6の中のライト処理した記憶領域を表すエリアデータ100を更新する管理テーブルデータ更新部2aと、いずれかの記憶デバイスが交換された場合に、管理テーブルデータを参照して、書き込みデータを特定し、特定した書き込みデータのみを、正常稼働中の記憶デバイスから交換された記憶デバイスにコピーするコピー制御部とを有する。
【選択図】図1
【解決手段】ミラーリング関係にある複数の記憶デバイス3a,3bにデータをライト処理する都度、管理テーブルデータ6の中のライト処理した記憶領域を表すエリアデータ100を更新する管理テーブルデータ更新部2aと、いずれかの記憶デバイスが交換された場合に、管理テーブルデータを参照して、書き込みデータを特定し、特定した書き込みデータのみを、正常稼働中の記憶デバイスから交換された記憶デバイスにコピーするコピー制御部とを有する。
【選択図】図1
Description
本発明は、複数の記憶デバイスを備え、複数の記憶デバイス間でデータをミラーリングするデータ記憶装置に関する。
データ記憶装置は、様々な構成のものがあるが、その一つとして、ディスクアレイ装置がある。
ディスクアレイ装置は、記憶デバイスであるディスク装置をアレイ状に複数配置した装置である。ディスクアレイ装置は、RAID(Redundant Arrays of Inexpensive Disks)装置とも呼ばれている。
ディスクアレイ装置は、複数のディスク装置間でデータをミラーリング(すなわち、同じデータを同時に書き込み(保存))している。ディスクアレイ装置は、複数のディスク装置の中のいずれかが故障した場合に、交換される。このとき、ディスクアレイ装置は、故障したディスク装置とミラーリング関係にある(すなわち、交換されたディスク装置とミラーリング関係にある)正常稼働中のディスク装置に書き込まれているデータ(以下、「書き込みデータ」と称する)を、交換されたディスク装置にコピーする。これにより、ディスクアレイ装置は、装置を停止させることなく、リビルド(故障回復)処理を実行できる。
ディスクアレイ装置は、記憶デバイスであるディスク装置をアレイ状に複数配置した装置である。ディスクアレイ装置は、RAID(Redundant Arrays of Inexpensive Disks)装置とも呼ばれている。
ディスクアレイ装置は、複数のディスク装置間でデータをミラーリング(すなわち、同じデータを同時に書き込み(保存))している。ディスクアレイ装置は、複数のディスク装置の中のいずれかが故障した場合に、交換される。このとき、ディスクアレイ装置は、故障したディスク装置とミラーリング関係にある(すなわち、交換されたディスク装置とミラーリング関係にある)正常稼働中のディスク装置に書き込まれているデータ(以下、「書き込みデータ」と称する)を、交換されたディスク装置にコピーする。これにより、ディスクアレイ装置は、装置を停止させることなく、リビルド(故障回復)処理を実行できる。
しかしながら、ディスクアレイ装置は、リビルド処理時に、リビルドのためのアクセスが頻繁に発生する。そのため、ディスクアレイ装置は、リビルド処理時に、ホスト装置からディスク装置へのアクセス性能(リードライト性能)が一時的に低下する。
そこで、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、RAID5特有のアルゴリズムを用いることにより、リビルドのためのアクセス量を低減するものがあった(例えば、特許文献1参照)。
また、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、リビルド処理時の予備用ディスク装置による代替先の選択を最適化するものもあった(例えば、特許文献2参照)。
また、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、ホスト装置からディスク装置へのアクセスの有無を判定してからリビルド処理を行うものもあった(例えば、特許文献3及び特許文献4参照)。
特開2002−108571号公報
特開平07−110743号公報
特開2007−122477号公報
特開2007−94994号公報
そこで、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、RAID5特有のアルゴリズムを用いることにより、リビルドのためのアクセス量を低減するものがあった(例えば、特許文献1参照)。
また、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、リビルド処理時の予備用ディスク装置による代替先の選択を最適化するものもあった(例えば、特許文献2参照)。
また、従来の技術として、リビルド処理時のアクセス性能の低下を抑制するために、ホスト装置からディスク装置へのアクセスの有無を判定してからリビルド処理を行うものもあった(例えば、特許文献3及び特許文献4参照)。
しかしながら、従来の技術は、リビルド処理時に不要なデータもコピーしており、これにより、リビルド処理時のアクセス性能の低下が発生するという課題があった。
例えば、ディスクアレイ装置は、インストール前に元からあったデータ(すなわち、オペレーティングシステムやアプリケーションプログラム等がインストールされ、以前からディスク装置に格納されていて一度もライトされていないデータ)を格納している。以下、このインストール前に元からあったデータを、「インストール前のデータ」と称する。
ディスクアレイ装置は、リビルド処理時に、このインストール前のデータを含む、交換されたディスク装置とミラーリング関係にあるすべてのデータを、正常稼働中のディスク装置から交換されたディスク装置にコピーしている。
しかしながら、インストール前のデータは、リビルド処理以降もリード又はライトされることが無い、不要なデータである。そのため、インストール前のデータのコピーは、必要性の無い、無駄な作業である。
それにもかかわらず、従来の技術は、リビルド処理時に、その不要なデータであるインストール前のデータもコピーしていた。これにより、従来の技術は、リビルド処理時のアクセス性能の低下が発生していた。
ディスクアレイ装置は、リビルド処理時に、このインストール前のデータを含む、交換されたディスク装置とミラーリング関係にあるすべてのデータを、正常稼働中のディスク装置から交換されたディスク装置にコピーしている。
しかしながら、インストール前のデータは、リビルド処理以降もリード又はライトされることが無い、不要なデータである。そのため、インストール前のデータのコピーは、必要性の無い、無駄な作業である。
それにもかかわらず、従来の技術は、リビルド処理時に、その不要なデータであるインストール前のデータもコピーしていた。これにより、従来の技術は、リビルド処理時のアクセス性能の低下が発生していた。
本発明は、前記した課題を解決するためになされたものであり、不要なデータのコピーに起因する、リビルド処理時のアクセス性能の低下を抑制するデータ記憶装置を提供することを主な目的とする。
前記目的を達成するため、本発明は、装置の動作に必要なプログラム及びデータを格納する格納部と、装置の動作を制御する制御部と、複数の記憶デバイスとを備え、前記複数の記憶デバイス間でデータをミラーリングするデータ記憶装置であって、前記格納部は、ミラーリング関係にある前記複数の記憶デバイスに共通して、記憶領域毎に、ライト処理した記憶領域を表すエリアデータを管理するための管理テーブルデータを格納しており、前記制御部は、ミラーリング関係にある前記複数の記憶デバイスにデータをライト処理する都度、前記格納部に格納された前記管理テーブルデータの中の前記エリアデータを更新する管理テーブルデータ更新部と、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータを参照して、前記ライト処理した記憶領域に書き込まれている書き込みデータを特定し、特定した前記書き込みデータのみを、前記交換された記憶デバイスとミラーリング関係にある正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーするコピー制御部とを有する。
本発明により、不要なデータ(具体的には、インストール前のデータ等)のコピーに起因する、リビルド処理時のアクセス性能の低下を抑制するデータ記憶装置を提供できる。
以下、図面を参照して、本発明の実施の形態(以下、「本実施形態」と称する)につき詳細に説明する。なお、各図は、各構成要素を、本発明を理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
[実施形態1]
<本実施形態1に係るデータ記憶装置の構成>
以下、図1を参照して、本実施形態1に係るデータ記憶装置の構成につき説明する。なお、図1は、実施形態1に係るデータ記憶装置の構成ブロック図である。
<本実施形態1に係るデータ記憶装置の構成>
以下、図1を参照して、本実施形態1に係るデータ記憶装置の構成につき説明する。なお、図1は、実施形態1に係るデータ記憶装置の構成ブロック図である。
図1に示すように、本実施形態1のデータ記憶装置であるディスクアレイ装置1は、制御部2、記憶デバイス3a,3b、ディスクI/Fバス4a,4b、格納部5、ホストインタフェース部7、及び、ホストI/Fバス8を有している。
制御部2は、ディスクアレイ装置1の各部の動作を制御する機能手段である。制御部2は、CPUによって構成されている。
制御部2は、管理テーブルデータ更新部2a、コピー制御部2b、及び、故障検出部2cを有している。管理テーブルデータ更新部2aは、ミラーリング関係にある複数の記憶デバイス(ここでは、2台の記憶デバイス3a,3b)にデータをライト処理する都度、後記する管理テーブルデータの中のエリアデータを更新する機能手段である。コピー制御部2bは、リビルド処理時に、書き込みデータを、正常稼動中のディスクから交換されたディスクにコピーする機能手段である。故障検出部2cは、記憶デバイス3a,3bの故障を検出する機能手段である。
制御部2は、管理テーブルデータ更新部2a、コピー制御部2b、及び、故障検出部2cを有している。管理テーブルデータ更新部2aは、ミラーリング関係にある複数の記憶デバイス(ここでは、2台の記憶デバイス3a,3b)にデータをライト処理する都度、後記する管理テーブルデータの中のエリアデータを更新する機能手段である。コピー制御部2bは、リビルド処理時に、書き込みデータを、正常稼動中のディスクから交換されたディスクにコピーする機能手段である。故障検出部2cは、記憶デバイス3a,3bの故障を検出する機能手段である。
記憶デバイス3a,3bは、ライト処理されたデータ(すなわち、書き込みデータ)を格納する格納手段である。ここでは、記憶デバイス3a,3bは、ハードディスク装置によって構成されているものとして説明する。以下、記憶デバイス3a,3bを区別する場合に、記憶デバイス3aを「第1記憶デバイス3a(又は、第1ディスク3a)」と称し、記憶デバイス3bを「第2記憶デバイス3b(又は、第2ディスク3b)」と称する。なお、記憶デバイス3a,3bは、RAID2に限らず、RAID3やその他のRAIDレベルのものでもよい。
ディスクI/Fバス4a,4bは、それぞれ、制御部2と第1ディスク3aとを接続する通信路及び制御部2と第2ディスク3bとを接続する通信路である。
ディスクI/Fバス4a,4bは、それぞれ、制御部2と第1ディスク3aとを接続する通信路及び制御部2と第2ディスク3bとを接続する通信路である。
格納部5は、ディスクアレイ装置1の動作に必要なプログラム及びデータを格納する格納手段である。格納部5は、不揮発性メモリで構成されている。格納部5は、ライト処理した記憶領域を管理するための管理テーブルデータを格納している。ここでは、格納部5は、管理テーブルデータとして、後記するライト処理有無テーブルデータ6を格納しているものとして説明する。
ホストインタフェース部7は、当該ディスクアレイ装置1の上位装置であるホスト装置9との通信を実行する通信手段である。
ホストI/Fバス8は、ホストインタフェース部7とホスト装置9とを接続する通信路である。
ホストI/Fバス8は、ホストインタフェース部7とホスト装置9とを接続する通信路である。
係る構成において、制御部2は、ディスクI/Fバス4aを介して第1ディスク3aと接続され、また、ディスクI/Fバス4bを介して第2ディスク3bと接続されている。また、制御部2は、ホストインタフェース部7及びホストI/Fバス8を介して、ホスト装置9と接続されている。
制御部2は、ホスト装置9からリードコマンドを受信した場合に、リードコマンドにしたがって、ディスク3a及び3bのうち、いずれか一方のディスクからデータを読み出してホスト装置9に送信する。
また、制御部2は、ホスト装置9からライトコマンド及びライト処理するデータを受信した場合に、ライトコマンドにしたがって、データをディスク3a,3bに書き込む。このとき、制御部2は、第1ディスク3a及び第2ディスク3bに対して、データをミラーリング(すなわち、同じデータを同時に書き込み)する。また、このとき、制御部2は、ライト処理した記憶領域が示されるように、ライト処理有無テーブルデータ6のエリアデータ100(図2参照)を更新する。すなわち、制御部2は、ライト処理有無テーブルデータ6に、ライト処理した記憶領域を表すエリアデータ100を記録する。
また、制御部2は、ホスト装置9からライトコマンド及びライト処理するデータを受信した場合に、ライトコマンドにしたがって、データをディスク3a,3bに書き込む。このとき、制御部2は、第1ディスク3a及び第2ディスク3bに対して、データをミラーリング(すなわち、同じデータを同時に書き込み)する。また、このとき、制御部2は、ライト処理した記憶領域が示されるように、ライト処理有無テーブルデータ6のエリアデータ100(図2参照)を更新する。すなわち、制御部2は、ライト処理有無テーブルデータ6に、ライト処理した記憶領域を表すエリアデータ100を記録する。
なお、制御部2の一連の動作は、格納部5に読み出し自在に予め格納された図示せぬプログラムによって規定されている。また、制御部2は、図示せぬタイマによって計測された時間に基づいて動作する。以下、これらの点については、情報処理では常套手段であるので、その詳細な説明を省略する。
<ライト処理有無テーブルデータの構成>
以下、図2を参照して、実施形態1に係る管理テーブルデータ(すなわち、ライト処理有無テーブルデータ6)の構成につき説明する。なお、図2は、実施形態1に係る管理テーブルデータの構成例を示す図である。
以下、図2を参照して、実施形態1に係る管理テーブルデータ(すなわち、ライト処理有無テーブルデータ6)の構成につき説明する。なお、図2は、実施形態1に係る管理テーブルデータの構成例を示す図である。
図2に示すように、ライト処理有無テーブルデータ6は、ライト処理した記憶領域を表すエリアデータ100を格納する。図2に示す例では、ライト処理有無テーブルデータ6は、各エリアデータ100につき、エリア番号データ101、範囲データ102、及び、ライト処理有無フラグ103からなっている。
エリア番号データ101は、各エリアデータ100に対応する固有の番号を表している。
範囲データ102は、各エリアデータ100に対応する記憶領域の範囲を表している。図2に示す例では、範囲データ102は、アドレスデータ102aとサイズデータ102bとの組み合わせによって構成されている。アドレスデータ102aは、ライト処理した記憶領域の先頭アドレスを表している。また、サイズデータ102bは、書き込みデータのサイズを表している。
ライト処理有無フラグ103は、予め定められた値によってライト処理の有無を表している。ここでは、ライト処理有無フラグ103の値は、「ライト無し(すなわち、ライト処理がなかったこと)」を表す「0」、及び、「ライト有り(すなわち、ライト処理があったこと)」を表す「1」の2段階あるものとして説明する。以下、ライト処理がなかったことを表すフラグ(ここでは、値「0」のフラグ)を「ライト無しフラグ」と称し、ライト処理があったことを表すフラグ(ここでは、値「1」のフラグ)を「ライト有りフラグ」と称する。ライト処理有無テーブルデータ6は、エリアデータ100毎に、これらの値を記録している。
以下、ライト無しフラグが格納されているエリアデータ100を「ライト無しエリアデータ100m」と称し、ライト有りフラグが格納されているエリアデータ100を「ライト有りエリアデータ100n」と称する。
範囲データ102は、各エリアデータ100に対応する記憶領域の範囲を表している。図2に示す例では、範囲データ102は、アドレスデータ102aとサイズデータ102bとの組み合わせによって構成されている。アドレスデータ102aは、ライト処理した記憶領域の先頭アドレスを表している。また、サイズデータ102bは、書き込みデータのサイズを表している。
ライト処理有無フラグ103は、予め定められた値によってライト処理の有無を表している。ここでは、ライト処理有無フラグ103の値は、「ライト無し(すなわち、ライト処理がなかったこと)」を表す「0」、及び、「ライト有り(すなわち、ライト処理があったこと)」を表す「1」の2段階あるものとして説明する。以下、ライト処理がなかったことを表すフラグ(ここでは、値「0」のフラグ)を「ライト無しフラグ」と称し、ライト処理があったことを表すフラグ(ここでは、値「1」のフラグ)を「ライト有りフラグ」と称する。ライト処理有無テーブルデータ6は、エリアデータ100毎に、これらの値を記録している。
以下、ライト無しフラグが格納されているエリアデータ100を「ライト無しエリアデータ100m」と称し、ライト有りフラグが格納されているエリアデータ100を「ライト有りエリアデータ100n」と称する。
制御部2は、これらライト処理有無フラグ103の値をライト処理有無テーブルデータ6に記録することにより、記憶領域毎に、ライト処理の有無を管理できる。なお、ライト処理有無テーブルデータ6は、ミラーリング関係にある複数の記憶デバイス(ここでは、第1ディスク3a及び第2ディスク3b(図1参照))に共通している。したがって、制御部2は、ライト処理有無テーブルデータ6単体で、ミラーリング関係にある複数の記憶デバイスのライト処理された記憶領域を管理できる。
<ライト処理有無テーブルデータの詳細>
以下、図3(a)〜図3(d)を参照して、ライト処理有無テーブルデータ6の詳細につき説明する。なお、図3(a)〜(d)は、それぞれ、実施形態1に係る管理テーブルデータの説明図であり、それぞれ、ライト処理有無テーブルデータ6に記録されたエリアデータ100の変化の過程を示している。
以下、図3(a)〜図3(d)を参照して、ライト処理有無テーブルデータ6の詳細につき説明する。なお、図3(a)〜(d)は、それぞれ、実施形態1に係る管理テーブルデータの説明図であり、それぞれ、ライト処理有無テーブルデータ6に記録されたエリアデータ100の変化の過程を示している。
最初に、制御部2は、ホスト装置9からディスク3a,3bにアクセスできるようにするために、ディスク3a,3bの初期化を行う。このとき、制御部2は、ディスク3a,3bの記憶容量に応じた行数分のエリアデータ100を含むライト処理有無テーブルデータ6を生成する。なお、このとき生成された処理有無テーブルデータ6の各エリアデータ100は、すべてのデータがブランク状態となっている。制御部2は、このライト処理有無テーブルデータ6に対して、図3(a)に示すように、すべてのエリアデータ100のライト処理有無フラグ103の値を「0(ライト無し)」に設定する。なお、ここでは、所定のデータや値を格納部5に記録する動作を「設定」と称する。
次に、制御部2は、ホスト装置9からライトコマンド及びライト処理するデータを受信した場合に、図3(b)に示すように、ライト処理した記憶領域を表すエリアデータ100をライト処理有無テーブルデータ6に記録する。このとき、制御部2は、格納したエリアデータ100(図2参照)のライト処理有無フラグ103に値「1(ライト有り)」を設定する。したがって、このとき格納されたエリアデータ100が、ライト有りエリアデータ100nとなる。
次に、制御部2は、予め定められた一定時間が経過した場合に、図3(c)に示すように、ライト処理有無テーブルデータ6に記録された各ライト有りエリアデータ100nを並べ替える。このとき、制御部2は、ライト有りエリアデータ(すなわち、ライト処理有無フラグ103の値が「1(ライト有り)」のエリアデータ)100がライト無しエリアデータ(すなわち、「0(ライト無し)」のエリアデータ)100よりも優先されるように、かつ、アドレスデータ102aの値が昇順になるように、各エリアデータ100を並べ替える。すなわち、制御部2は、ライト処理有無フラグ103及びアドレスデータ102aをキーにして、ライト処理有無フラグ103が降順でかつアドレスデータ102aが昇順となるように、各ライト有りエリアデータ100nを並べ替える。
この後、制御部2は、各ライト有りエリアデータ100nにエリア番号データ101を付与する。
この後、制御部2は、各ライト有りエリアデータ100nにエリア番号データ101を付与する。
次に、制御部2は、すべてのライト有りエリアデータ100nを検索する。この検索は、制御部2が以下のように動作することにより、行われる。
すなわち、制御部2は、ライト有りエリアデータ100nの記憶領域の範囲と重なる記憶領域に対応しているエリアデータ100(以下、「重複するエリアデータ100p」と称する)を検索し、検索した重複するエリアデータ100pをライト無しエリアデータ100mと見なして、ライト処理有無フラグ103に、値「0(ライト無し)」を再設定する。制御部2は、このライト処理有無フラグ103の値「0」の再設定処理を、すべての重複するエリアデータ100pに対して行う。これにより、すべてのライト有りエリアデータ100nの検索が行われる。
すなわち、制御部2は、ライト有りエリアデータ100nの記憶領域の範囲と重なる記憶領域に対応しているエリアデータ100(以下、「重複するエリアデータ100p」と称する)を検索し、検索した重複するエリアデータ100pをライト無しエリアデータ100mと見なして、ライト処理有無フラグ103に、値「0(ライト無し)」を再設定する。制御部2は、このライト処理有無フラグ103の値「0」の再設定処理を、すべての重複するエリアデータ100pに対して行う。これにより、すべてのライト有りエリアデータ100nの検索が行われる。
この後、制御部2は、すべてのライト無しエリアデータ100mを削除する。
これにより、制御部2は、図3(d)に示すように、ライト有りエリアデータ(すなわち、ライト処理有無フラグ103の値が「1(ライト有り)」のエリアデータ)100nのみが残っているライト処理有無テーブルデータ6(図2参照)を生成する。
なお、ライト有りエリアデータ100nの並べ替えからライト無しエリアデータ100mの削除までの動作については、図5を参照して説明する「管理テーブルデータの整理処理時の動作」の章で詳述する。
制御部2は、図3(d)に示すライト処理有無テーブルデータ6を生成すると、格納部5(図1参照)に登録する。なお、ここでは、判定処理の基準となるデータを格納部5に記録する動作を「登録」と称する。
これにより、制御部2は、図3(d)に示すように、ライト有りエリアデータ(すなわち、ライト処理有無フラグ103の値が「1(ライト有り)」のエリアデータ)100nのみが残っているライト処理有無テーブルデータ6(図2参照)を生成する。
なお、ライト有りエリアデータ100nの並べ替えからライト無しエリアデータ100mの削除までの動作については、図5を参照して説明する「管理テーブルデータの整理処理時の動作」の章で詳述する。
制御部2は、図3(d)に示すライト処理有無テーブルデータ6を生成すると、格納部5(図1参照)に登録する。なお、ここでは、判定処理の基準となるデータを格納部5に記録する動作を「登録」と称する。
<本実施形態1に係るデータ記憶装置の動作>
以下、図4〜図6を参照して、本実施形態1に係るデータ記憶装置(すなわち、ディスクアレイ装置1)の動作につき説明する。なお、図4〜図6は、それぞれ、実施形態1に係るデータ記憶装置の動作を示すフローチャートである。
ここでは、ディスクアレイ装置1の、ディスク交換後のリビルド処理時(すなわち、ディスク3a,3bのいずれかが故障して、故障したディスクが交換された場合の回復処理時)の動作を重点的に説明する。
以下、図4〜図6を参照して、本実施形態1に係るデータ記憶装置(すなわち、ディスクアレイ装置1)の動作につき説明する。なお、図4〜図6は、それぞれ、実施形態1に係るデータ記憶装置の動作を示すフローチャートである。
ここでは、ディスクアレイ装置1の、ディスク交換後のリビルド処理時(すなわち、ディスク3a,3bのいずれかが故障して、故障したディスクが交換された場合の回復処理時)の動作を重点的に説明する。
(ライト処理時の動作)
次に、図4を参照して、ディスクアレイ装置1のライト処理時の動作につき説明する。
なお、ライト処理有無テーブルデータ6の各エリアデータ100は、初期化の際に、すべてのデータがブランク状態となる。制御部2は、ライト処理前に、このライト処理有無テーブルデータ6に対して、すべてのエリアデータ100のライト処理有無フラグ103の値を「0(ライト無し)」に設定する。
この後、制御部2は、待機状態となって、ホスト装置9からコマンドが送信されるのを待つ。
そして、制御部2は、ホスト装置9からライトコマンド及びライト処理するデータを受信すると、これに応答して、一連の処理を開始する。
次に、図4を参照して、ディスクアレイ装置1のライト処理時の動作につき説明する。
なお、ライト処理有無テーブルデータ6の各エリアデータ100は、初期化の際に、すべてのデータがブランク状態となる。制御部2は、ライト処理前に、このライト処理有無テーブルデータ6に対して、すべてのエリアデータ100のライト処理有無フラグ103の値を「0(ライト無し)」に設定する。
この後、制御部2は、待機状態となって、ホスト装置9からコマンドが送信されるのを待つ。
そして、制御部2は、ホスト装置9からライトコマンド及びライト処理するデータを受信すると、これに応答して、一連の処理を開始する。
このとき、制御部2は、図4に示すように、受信したライトコマンドにしたがって、2台のディスク3a,3bにライト処理を指示する(S110)。すなわち、制御部2は、ライトコマンドによって指定されたアドレス(以下、「コマンド指定のアドレス」と称する)、ライトコマンドによって指定されたライト処理するデータのサイズ(以下、「コマンド指定のサイズ」と称する)、及び、ライト処理するデータをディスク3a,3bに出力する。各ディスク3a,3bは、制御部2からライト処理の指示が入力されると、これに応答して、ライトコマンドのアクセス範囲の記憶領域にデータを書き込む。なお、「ライトコマンドのアクセス範囲」とは、コマンド指定のアドレスの値を始点とし、コマンド指定のアドレスとコマンド指定のサイズとを加算した値を終点とする範囲である。
制御部2は、S110で2台のディスク3a,3bにライト処理を指示すると、これに応答して、各ディスク3a,3bにデータが書き込まれている間に、以下のS115〜S130の処理を行う。なお、ここでは、管理テーブルデータ(ライト処理有無テーブルデータ6)に格納されたアドレスデータ102aの値及びサイズデータ102bの値を、それぞれ、「ADR」及び「SIZE」と称する。また、コマンド指定のアドレスの値及びコマンド指定のサイズの値を、それぞれ、単に「アドレス」及び「サイズ」と称する。
すなわち、制御部2は、ライト処理有無テーブルデータ6の各エリアデータ100の中から、ライト有りエリアデータ100nであってかつライトコマンドのアクセス範囲に重複するもの(以下、「重複するライト有りエリアデータ100N」と称する)を検索し(S115)、重複するライト有りエリアデータ100Nが有るか否かを判定する(S120)。
S115の重複するライト有りエリアデータ100Nの検索及びS120の重複するライト有りエリアデータ100Nが有るか否かの判定は、制御部2が、以下のように動作することによって、行われる。
すなわち、S115で、まず、制御部2は、コマンド指定のアドレスの値「アドレス」及びコマンド指定のサイズの値「サイズ」に基づいて、ライトコマンドのアクセス範囲として、値「アドレス」から値「アドレス+サイズ」までの範囲を特定する。次に、制御部2は、ライト処理有無テーブルデータ6に記録されたアドレスデータ102aの値「ADR」及びサイズデータ102bの値「SIZE」に基づいて、ライト処理有無テーブルデータ6に記録された各ライト有りエリアデータ100nの記憶領域の範囲として、値「ADR」から値「ADR+SIZE」までの範囲を特定する。次に、制御部2は、特定した各ライト有りエリアデータ100nの記憶領域の範囲(すなわち、値「ADR」から値「ADR+SIZE」までの範囲)の中から、ライトコマンドの範囲(すなわち、値「アドレス」から値「アドレス+サイズ」までの範囲)に重複する箇所を検索する。具体的には、制御部2は、値「アドレス」と値「アドレス+サイズ」の2つの値を算出し、値「ADR」から値「ADR+SIZE」までの範囲の中に、値「アドレス」と値「アドレス+サイズ」の2つの値の双方又は一方を含む箇所を検索する。
この検索で、値「ADR」から値「ADR+SIZE」までの範囲の中に、値「アドレス」と値「アドレス+サイズ」の2つの値の双方又は一方を含む箇所が見つかった場合に、制御部2は、その箇所を含むライト有りエリアデータ100nを、重複するライト有りエリアデータ100Nと認識する。したがって、この場合に、制御部2は、S120で、重複するライト有りエリアデータ100Nがあると判定する。一方、この検索で、値「ADR」から値「ADR+SIZE」までの範囲の中に、値「アドレス」と値「アドレス+サイズ」の2つの値の双方又は一方を含む箇所が見つからなかった場合に、制御部2は、S120で、重複するライト有りエリアデータ100Nがないと判定する。
S120の判定で、重複するライト有りエリアデータ100Nがある場合(“Yes”の場合)に、制御部2は、ライトコマンドのアクセス範囲がすべて含まれるように、ライト処理有無テーブルデータ6の重複するライト有りエリアデータ100Nに以下の値を再設定する(S125)。
まず、制御部2は、重複するライト有りエリアデータ100Nの更新後のアドレスデータ102aの値「ADR」として、以下の式(1)に基づいて算出される値を設定する。
更新後の「ADR」←Min(更新前の「ADR」、コマンド指定の「アドレス」) …(1)
すなわち、制御部2は、重複するライト有りエリアデータ100Nの更新後のアドレスデータ102aの値「ADR」として、更新前のアドレスデータ102aの値「ADR」とコマンド指定のアドレスの値「アドレス」のうち、小さい方の値を設定する。
更新後の「ADR」←Min(更新前の「ADR」、コマンド指定の「アドレス」) …(1)
すなわち、制御部2は、重複するライト有りエリアデータ100Nの更新後のアドレスデータ102aの値「ADR」として、更新前のアドレスデータ102aの値「ADR」とコマンド指定のアドレスの値「アドレス」のうち、小さい方の値を設定する。
次に、制御部2は、重複するライト有りエリアデータ100Nの更新後のサイズデータ102bの値「SIZE」として、以下の式(2)に基づいて算出される値を設定する。
更新後の「SIZE」←Max(更新前の「ADR+SIZE」、コマンド指定の「アドレス+サイズ」)−更新後の「ADR」 …(2)
すなわち、制御部2は、重複するライト有りエリアデータ100Nの更新後のサイズデータ102bの値「SIZE」として、更新前のアドレスデータ102aと更新前のサイズデータ102bとを加算した値「ADR+SIZE」と、コマンド指定のアドレスとコマンド指定のサイズとを加算した値「アドレス+サイズ」のうち、大きい方の値から、更新後のアドレスデータ102aの値「ADR」を引いた値を設定する。
更新後の「SIZE」←Max(更新前の「ADR+SIZE」、コマンド指定の「アドレス+サイズ」)−更新後の「ADR」 …(2)
すなわち、制御部2は、重複するライト有りエリアデータ100Nの更新後のサイズデータ102bの値「SIZE」として、更新前のアドレスデータ102aと更新前のサイズデータ102bとを加算した値「ADR+SIZE」と、コマンド指定のアドレスとコマンド指定のサイズとを加算した値「アドレス+サイズ」のうち、大きい方の値から、更新後のアドレスデータ102aの値「ADR」を引いた値を設定する。
さらに、制御部2は、重複するライト有りエリアデータ100Nの更新後のライト処理有無フラグ103として、値「1(ライト有り)」を設定する。
一方、S120の判定で、重複するライト有りエリアデータ100Nがない場合(“No”の場合)に、制御部2は、ライト処理有無テーブルデータ6の任意のライト無しエリアデータ100mに以下の値を設定する(S130)。以下、このとき値を設定するライト無しエリアデータ100mを、「ライト無しエリアデータ100M」と称する。
まず、制御部2は、ライト処理有無テーブルデータ6が図3(b)に示す状態になっている場合に、ライト無しエリアデータ100mを1つ選択する。この場合、このとき選択されたライト無しエリアデータ100mが、値が設定されるライト無しエリアデータ100Mとなる。一方、制御部2は、ライト処理有無テーブルデータ6が図3(d)に示す状態になっている場合に、ライト無しエリアデータ100を1つ生成する。この場合、このとき生成されたライト無しエリアデータ100mが、値が設定されるライト無しエリアデータ100Mとなる。
次に、制御部2は、ライト無しエリアデータ100Mの更新後のアドレスデータ102aの値「ADR」として、コマンド指定のアドレスの値「アドレス」を設定する。
次に、制御部2は、ライト無しエリアデータ100Mの更新後のサイズデータ102bの値「SIZE」として、コマンド指定のサイズの値「サイズ」を設定する。
さらに、制御部2は、ライト無しエリアデータ100Mの更新後のライト処理有無フラグ103として、値「1(ライト有り)」を設定する。
次に、制御部2は、ライト無しエリアデータ100Mの更新後のサイズデータ102bの値「SIZE」として、コマンド指定のサイズの値「サイズ」を設定する。
さらに、制御部2は、ライト無しエリアデータ100Mの更新後のライト処理有無フラグ103として、値「1(ライト有り)」を設定する。
S125又はS130の後、制御部2は、ディスク3a,3bからのライト処理の完了応答を待ち、ディスク3a,3bからライト処理の完了応答を受信する(S135)と、これに応答して、ホスト装置9にライト処理の完了応答を出力して(S140)、処理を終了する。
(管理テーブルデータの整理処理時の動作)
次に、図5を参照して、ディスクアレイ装置1の、管理テーブルデータ(ライト処理有無テーブルデータ6)の整理処理時の動作につき説明する。
「管理テーブルデータ(ライト処理有無テーブルデータ6)の整理処理」とは、図3(b)に示す状態のライト処理有無テーブルデータ6を、図3(d)に示す状態のものに変更する処理である。この処理は、ホスト装置9からのアクセスの空き時間が発生したときに、行われる。
次に、図5を参照して、ディスクアレイ装置1の、管理テーブルデータ(ライト処理有無テーブルデータ6)の整理処理時の動作につき説明する。
「管理テーブルデータ(ライト処理有無テーブルデータ6)の整理処理」とは、図3(b)に示す状態のライト処理有無テーブルデータ6を、図3(d)に示す状態のものに変更する処理である。この処理は、ホスト装置9からのアクセスの空き時間が発生したときに、行われる。
なお、ライト処理有無テーブルデータ6の整理処理を行う理由は、以下の通りである。すなわち、ディスク3a,3bが初期化された後、図3(b)に示す状態のライト処理有無テーブルデータ6は、ライト処理が行われる度に、新たなライト有りエリアデータ100nが格納される。そのため、ライト処理有無テーブルデータ6は、サイズが増加する。これにより、ディスクアレイ装置1(図1参照)は、重複するライト有りエリアデータ100Nを検索する場合に、検索時間が増加する可能性がある。そこで、ディスクアレイ装置1は、ホスト装置9からのアクセスの空き時間を利用して、ライト処理有無テーブルデータ6の整理処理を行う。
この処理は、制御部2が以下のように動作することにより、行われる。
すなわち、制御部2は、ホスト装置9からのアクセスの空き時間を常に監視しており、ホスト装置9からのアクセスの空き時間を検出すると、これに応答して、一連の処理を開始する。
すなわち、制御部2は、ホスト装置9からのアクセスの空き時間を常に監視しており、ホスト装置9からのアクセスの空き時間を検出すると、これに応答して、一連の処理を開始する。
このとき、制御部2は、図5に示すように、まず、ライト有りエリアデータ100の並び替えを行う(S210)。すなわち、図3(b)に示す状態のライト処理有無テーブルデータ6を、図3(c)に示す状態のものに変更する。このとき、制御部2は、前記した通り、ライト処理有無フラグ103及びアドレスデータ102aをキーにして、ライト処理有無フラグ103が降順でかつアドレスデータ102aが昇順となるように、各ライト有りエリアデータ100nを並べ替え、さらに、各ライト有りエリアデータ100nにエリア番号データ101を付与する。
次に、制御部2は、以下のS215〜S260の処理を行う。すなわち、制御部2は、S215〜S220及びS230〜S260の処理を行うことによって、すべての重複するエリアデータ100pを検索し、この検索が完了すると、S225で、検索されたすべての重複するエリアデータ100pを一括して削除する。
以下、まず、S215〜S260の処理の概要を説明し、次に、S215〜S260の処理の詳細を説明する。
なお、ここでは、ライト処理有無テーブルデータ6に記録されているエリアデータ100の全個数が「n」となっているものとして説明する。また、ライト処理有無テーブルデータ6の中の検索対象となるエリアデータ100を変数「i」で表し、ライト処理有無テーブルデータ6に記録されているエリアデータ100[i]のアドレスデータ102aの値及びサイズデータ102bの値をそれぞれ「ADR[i]」及び「SIZE[i]」で表すものとして説明する。また、エリアデータ100[i]に後続するエリアデータ100を変数「j」で表し、ライト処理有無テーブルデータ6に記録されているエリアデータ100[j]のアドレスデータ102aの値及びサイズデータ102bの値をそれぞれ「ADR[j]」及び「SIZE[j]」で表すものとして説明する。
なお、ここでは、ライト処理有無テーブルデータ6に記録されているエリアデータ100の全個数が「n」となっているものとして説明する。また、ライト処理有無テーブルデータ6の中の検索対象となるエリアデータ100を変数「i」で表し、ライト処理有無テーブルデータ6に記録されているエリアデータ100[i]のアドレスデータ102aの値及びサイズデータ102bの値をそれぞれ「ADR[i]」及び「SIZE[i]」で表すものとして説明する。また、エリアデータ100[i]に後続するエリアデータ100を変数「j」で表し、ライト処理有無テーブルデータ6に記録されているエリアデータ100[j]のアドレスデータ102aの値及びサイズデータ102bの値をそれぞれ「ADR[j]」及び「SIZE[j]」で表すものとして説明する。
まず、S215〜S260の処理の概要につき説明する。
この検索の概要は、以下のようなものである。なお、ここでは、「ADR[i]+SIZE[i]」を「エリアデータ100[i]のアクセス範囲(A)」とし、ADR[i+j]を「アドレス(B)」として説明する(図5のS240参照)。以下、エリアデータ100[i]のアクセス範囲(A)を「アクセス範囲A」と称し、アドレス(B)を「アドレスB」と称する。制御部2は、S245で、アクセス範囲AがアドレスBよりも小さいか否かを判定する。S245の判定で、アクセス範囲AがアドレスBよりも小さい場合(“Yes”の場合)に、制御部2は、S235で、変数「i」の値を値「i+j」に更新して、S220で、更新後の変数「i」の値(以下、「更新後の変数i」と称する)がエリアデータ100の全個数の値「n」(以下、「最終の値n」と称する)を超過するか否かを判定する。S220の判定で、更新後の変数iが最終の値nを超過する場合(“Yes”の場合)に、制御部2は、すべての重複するエリアデータ100pが検索されたものと認識する。これにより、すべての重複するエリアデータ100pの検索が完了する。
この検索の概要は、以下のようなものである。なお、ここでは、「ADR[i]+SIZE[i]」を「エリアデータ100[i]のアクセス範囲(A)」とし、ADR[i+j]を「アドレス(B)」として説明する(図5のS240参照)。以下、エリアデータ100[i]のアクセス範囲(A)を「アクセス範囲A」と称し、アドレス(B)を「アドレスB」と称する。制御部2は、S245で、アクセス範囲AがアドレスBよりも小さいか否かを判定する。S245の判定で、アクセス範囲AがアドレスBよりも小さい場合(“Yes”の場合)に、制御部2は、S235で、変数「i」の値を値「i+j」に更新して、S220で、更新後の変数「i」の値(以下、「更新後の変数i」と称する)がエリアデータ100の全個数の値「n」(以下、「最終の値n」と称する)を超過するか否かを判定する。S220の判定で、更新後の変数iが最終の値nを超過する場合(“Yes”の場合)に、制御部2は、すべての重複するエリアデータ100pが検索されたものと認識する。これにより、すべての重複するエリアデータ100pの検索が完了する。
なお、すべての重複するエリアデータ100pは、それぞれ、S255で、ライト処理有無フラグ103に、値「0(ライト無し)」が設定される。これにより、すべての重複しないエリアデータ100pは、ライト無しエリアデータ100mとして扱われる。
すべての重複するエリアデータ100pの検索が完了すると、制御部2は、S225で、検索されたすべてのライト無しエリアデータ100mを一括して削除して、処理を終了する。
次に、S215〜S260の処理の詳細につき説明する。
まず、制御部2は、重複するエリアデータ100pを検索するために、変数「i」及び変数「j」の初期値として、それぞれ、値「1」を設定する(S215)。
次に、制御部2は、変数iが最終の値nを超過するか否かを判定する(S220)。
まず、制御部2は、重複するエリアデータ100pを検索するために、変数「i」及び変数「j」の初期値として、それぞれ、値「1」を設定する(S215)。
次に、制御部2は、変数iが最終の値nを超過するか否かを判定する(S220)。
S220の判定で、変数iが最終の値nを超過する場合(“Yes”の場合)に、制御部2の動作は、S225に進む。
一方、S220の判定で、変数iが最終の値nを超過しない場合(“No”の場合)に、制御部2は、変数「i+j」が最終の値nを超過するか否かを判定する(S230)。
一方、S220の判定で、変数iが最終の値nを超過しない場合(“No”の場合)に、制御部2は、変数「i+j」が最終の値nを超過するか否かを判定する(S230)。
S230の判定で、変数「i+j」が最終の値nを超過する場合(“Yes”の場合)に、制御部2は、変数「i」の値として値「i+j」を更新(設定)するとともに、変数「j」の値として更新前と同じ値「j」を更新する(S235)。この後、制御部2の動作は、S220に戻り、S220〜S235の動作を繰り返す。
一方、S230の判定で、変数「i+j」が最終の値nを超過しない場合(“No”の場合)に、制御部2は、「ADR[i]+SIZE[i]」をアクセス範囲A(すなわち、エリアデータ100[i]のアクセス範囲(A))とし、ADR[i+j]をアドレスBとして、アクセス範囲AとアドレスBとを比較し(S240)、アクセス範囲AがアドレスBよりも小さいか否かを判定する(S245)。
一方、S230の判定で、変数「i+j」が最終の値nを超過しない場合(“No”の場合)に、制御部2は、「ADR[i]+SIZE[i]」をアクセス範囲A(すなわち、エリアデータ100[i]のアクセス範囲(A))とし、ADR[i+j]をアドレスBとして、アクセス範囲AとアドレスBとを比較し(S240)、アクセス範囲AがアドレスBよりも小さいか否かを判定する(S245)。
S245の判定で、アクセス範囲AがアドレスBよりも小さい場合(“Yes”の場合)に、制御部2の動作は、S235に進む。この場合に、制御部2は、S235で、変数「i」の値として値「i+j」を更新するとともに、変数「j」の値として更新前と同じ値「j」を更新する。この後、制御部2の動作は、S220に戻り、S220〜S245の動作を繰り返す。
一方、S245の判定で、アクセス範囲AがアドレスBよりも小さくない(すなわち、アクセス範囲AがアドレスB以上である)場合(“No”の場合)に、制御部2は、エリアデータ100[i]の更新後のサイズデータ102bの値「SIZE」として、以下の式(3)に基づいて算出される値を設定する(S250)。
一方、S245の判定で、アクセス範囲AがアドレスBよりも小さくない(すなわち、アクセス範囲AがアドレスB以上である)場合(“No”の場合)に、制御部2は、エリアデータ100[i]の更新後のサイズデータ102bの値「SIZE」として、以下の式(3)に基づいて算出される値を設定する(S250)。
更新後の「SIZE[i]」←Max(アクセス範囲A、アドレスB)−「ADR[i]」 …(3)
すなわち、制御部2は、エリアデータ100[i]の更新後のサイズデータ102bの値「SIZE」として、アクセス範囲AとアドレスBのうち、大きい方の値から、アドレスデータ102aの値「ADR[i]」を引いた値を設定する。なお、アクセス範囲Aは、「ADR[i]+SIZE[i]」となっており、アドレスBは、ADR[i+j]となっている。
すなわち、制御部2は、エリアデータ100[i]の更新後のサイズデータ102bの値「SIZE」として、アクセス範囲AとアドレスBのうち、大きい方の値から、アドレスデータ102aの値「ADR[i]」を引いた値を設定する。なお、アクセス範囲Aは、「ADR[i]+SIZE[i]」となっており、アドレスBは、ADR[i+j]となっている。
S250の後、エリアデータ100[i+j]の更新後のライト処理有無フラグ103として、値「0(ライト無し)」を設定する(S255)。これにより、すべての重複しないエリアデータ100pは、ライト無しエリアデータ100mとして扱われる。S255の後、制御部2は、変数「j」の値を、値「j+1」に更新する(S260)。この後、制御部2の動作は、S230に戻り、S230〜S260の動作を繰り返す。
なお、制御部2の動作は、前記した通り、S220の判定で、変数iが最終の値nを超過する場合(“Yes”の場合)に、S225に進む。この場合に、制御部2は、検索されたすべてのライト無しエリアデータ100mを一括して削除して(S225)、処理を終了する。
このようにして、制御部2は、各エリアデータ100のアクセス範囲の重複が無くなるように、ライト処理有無テーブルデータ6を整理する。これにより、制御部2は、ライト処理有無テーブルデータ6のサイズを低減できる。
(リビルド処理時の動作)
次に、図6を参照して、ディスクアレイ装置1のリビルド処理時の動作につき説明する。
図6に示すように、制御部2は、ライト処理時に書き込まれたデータ(書き込みデータ)を特定するために、まず、変数「i」の初期値として、値「1」を設定する(S310)。
次に、制御部2は、管理テーブルデータ(ライト処理有無テーブルデータ6)に格納されている各エリアデータ100を参照して(S315)、エリアデータ100[i]のライト処理有無フラグ103[i]が値「1(ライト有り)」と等しいか否かを判定する(S320)。
次に、図6を参照して、ディスクアレイ装置1のリビルド処理時の動作につき説明する。
図6に示すように、制御部2は、ライト処理時に書き込まれたデータ(書き込みデータ)を特定するために、まず、変数「i」の初期値として、値「1」を設定する(S310)。
次に、制御部2は、管理テーブルデータ(ライト処理有無テーブルデータ6)に格納されている各エリアデータ100を参照して(S315)、エリアデータ100[i]のライト処理有無フラグ103[i]が値「1(ライト有り)」と等しいか否かを判定する(S320)。
S320の判定で、エリアデータ100[i]のライト処理有無フラグ103[i]が値「1(ライト有り)」と等しい場合(“Yes”の場合)に、制御部2は、アドレスデータ102aの値及びサイズデータ102bの値をそれぞれ「ADR[i]」及び「SIZE[i]」とするエリアデータ100[i]のアクセス範囲(すなわち、値「ADR[i]」から値「ADR[i]+SIZE[i]」までの範囲の記憶領域)に格納されている書き込みデータを、マスタデバイスからスレーブデバイスにコピーする(S325)。
一方、S320の判定で、エリアデータ100[i]のライト処理有無フラグ103[i]が値「1(ライト有り)」と等しくない場合(“No”の場合)に、制御部2の動作は、S330に進む。
一方、S320の判定で、エリアデータ100[i]のライト処理有無フラグ103[i]が値「1(ライト有り)」と等しくない場合(“No”の場合)に、制御部2の動作は、S330に進む。
S325の後、又は、S320の判定で、エリアデータ100[i]のライト処理有無フラグ103[i]が値「1(ライト有り)」と等しくない場合(“No”の場合)に、制御部2は、変数「i」の値を、値「i+1」に更新(設定)して(S330)、更新後の変数「i」が最終の値nよりも大きいか否かを判定する(S340)。
S340の判定で、更新後の変数「i」が最終の値nよりも大きい場合(“Yes”の場合)に、制御部2は、処理を終了する。
一方、S340の判定で、更新後の変数「i」が最終の値nよりも大きくない場合(“No”の場合)に、制御部2の動作は、S315に戻り、S315〜S340の動作を繰り返す。
一方、S340の判定で、更新後の変数「i」が最終の値nよりも大きくない場合(“No”の場合)に、制御部2の動作は、S315に戻り、S315〜S340の動作を繰り返す。
これにより、制御部2は、データのリビルドを実現する。なお、インストール前にディスクにあったデータは、ライト処理有無フラグ103にライト有りフラグが格納されていない。そのため、制御部2は、S320の判定で、エリアデータ100[i]のライト処理有無フラグ103[i]が値「1(ライト有り)」と等しくない(No)と判定する。その結果、インストール前にディスクにあったデータは、リビルド処理時にはコピーされない。
以下、図7(a)〜図7(c)を参照して、ディスクアレイ装置1の効果につき説明する。なお、図7(a)〜図7(c)は、それぞれ、記憶デバイスに書き込まれたデータの説明図である。
図7(a)に示すように、ディスク3a,3bは、初期化された後は、ホスト装置9からのライト処理が行われていない状態となる。ディスクアレイ装置1は、オペレーティングシステムやアプリケーションプログラム等がインストールされた後、さらに、ホスト装置9からライトコマンドを受信したときに、これに応答して、ライト処理を行う。また、ディスクアレイ装置1は、運用中に、オペレーティングシステムやアプリケーションプログラム等が稼動することによって、ライト処理を行う。これにより、ディスクアレイ装置1は、図7(b)及び図7(c)に示すように、ディスク3a,3bの一部の記憶領域(ここでは、エリアWr)に、データを書き込む。その結果、ディスク3a,3bは、ライト処理が行われたエリアが徐々に増加する。ただし、ディスク3a,3bの全記憶領域にライト処理が行われることはない。
ところで、初期化以降にライト処理されていない記憶領域は、データが不定であっても構わない。そのため、ディスクアレイ装置1は、リビルド処理時に、ライト処理されていない記憶領域のデータをコピーしない。
したがって、ディスクアレイ装置1によれば、従来の装置と比較すると、リビルド処理時にコピーするデータ量を低減できる。これにより、リビルド処理時のアクセス性能の低下を抑制できる。また、リビルド処理を短時間で完了できる。そのため、リビルド中に、さらに、ディスクが故障するリスクを低減できる。
したがって、ディスクアレイ装置1によれば、従来の装置と比較すると、リビルド処理時にコピーするデータ量を低減できる。これにより、リビルド処理時のアクセス性能の低下を抑制できる。また、リビルド処理を短時間で完了できる。そのため、リビルド中に、さらに、ディスクが故障するリスクを低減できる。
[実施形態2]
実施形態1のライト処理有無テーブルデータ6は、アドレス単位で各エリアデータ100を格納している(図2参照)。そのため、ライト処理有無テーブルデータ6は、サイズが大型化する傾向にある。その結果、実施形態1のデータ記憶装置(ディスクアレイ装置1)は、格納部5として大容量の不揮発性メモリが必要である。しかしながら、大容量の不揮発性メモリは、比較的高価な物品である。そのため、実施形態1のディスクアレイ装置1は、コストが高騰する可能性がある。
実施形態1のライト処理有無テーブルデータ6は、アドレス単位で各エリアデータ100を格納している(図2参照)。そのため、ライト処理有無テーブルデータ6は、サイズが大型化する傾向にある。その結果、実施形態1のデータ記憶装置(ディスクアレイ装置1)は、格納部5として大容量の不揮発性メモリが必要である。しかしながら、大容量の不揮発性メモリは、比較的高価な物品である。そのため、実施形態1のディスクアレイ装置1は、コストが高騰する可能性がある。
これに対して、本実施形態2のライト処理有無テーブルデータ6aは、アドレス単位よりも大きな単位(例えば、数メガバイト単位)で各エリアデータ100aを格納する(図8参照)。これにより、本実施形態2のデータ記憶装置(以下、「ディスクアレイ装置1a」と称する)は、ライト処理有無テーブルデータ6aのサイズを実施形態1のライト処理有無テーブルデータ6のサイズよりも小型化できる。その結果、ディスクアレイ装置1aは、少容量の不揮発性メモリを格納部5として利用できる。
<本実施形態2に係るデータ記憶装置の詳細>
以下、本実施形態2に係るデータ記憶装置(すなわち、ディスクアレイ装置1a)の詳細につき説明する。
ディスクアレイ装置1aは、実施形態1のディスクアレイ装置1と同じ構成となっている。ただし、ディスクアレイ装置1aは、実施形態1のディスクアレイ装置1と比較すると、管理テーブルデータとして、実施形態1のライト処理有無テーブル6とは構成の異なるライト処理有無テーブルデータ6a(図8参照)が設けられている点で、異なっている。
ディスクアレイ装置1aは、全体のディスク領域(記憶領域)を一定量毎に分割して、分割範囲毎に分割エリアデータ100aが割り当てられることによって、ライト処理有無テーブルデータ6aのサイズを小型化している。
以下、本実施形態2に係るデータ記憶装置(すなわち、ディスクアレイ装置1a)の詳細につき説明する。
ディスクアレイ装置1aは、実施形態1のディスクアレイ装置1と同じ構成となっている。ただし、ディスクアレイ装置1aは、実施形態1のディスクアレイ装置1と比較すると、管理テーブルデータとして、実施形態1のライト処理有無テーブル6とは構成の異なるライト処理有無テーブルデータ6a(図8参照)が設けられている点で、異なっている。
ディスクアレイ装置1aは、全体のディスク領域(記憶領域)を一定量毎に分割して、分割範囲毎に分割エリアデータ100aが割り当てられることによって、ライト処理有無テーブルデータ6aのサイズを小型化している。
<本実施形態2に係るライト処理有無テーブルデータの構成>
以下、図8を参照して、実施形態2に係る管理テーブルデータ(すなわち、ライト処理有無テーブルデータ6a)の構成につき説明する。なお、図8は、実施形態2に係る管理テーブルデータの構成例を示す図である。
以下、図8を参照して、実施形態2に係る管理テーブルデータ(すなわち、ライト処理有無テーブルデータ6a)の構成につき説明する。なお、図8は、実施形態2に係る管理テーブルデータの構成例を示す図である。
実施形態1のライト処理有無テーブルデータ6は、各エリアデータ100につき、エリア番号データ101、範囲データ102、及び、ライト処理有無フラグ103からなっている(図2参照)。
一方、本実施形態2のライト処理有無テーブルデータ6aは、図8に示すように、各エリアデータ100aにつき、分割データ102d、及び、ライト処理有無フラグ103だけからなっている。なお、分割データ102dは、実施形態1のものよりも大きな単位(例えば、数メガバイト単位)で分割された範囲データ102である、分割データ102dは、ディスク3a,3bの全記憶領域をm個に分割したそれぞれの記憶領域の範囲に対応している。以下、エリアデータ100aを「分割エリアデータ100a」と称する。
一方、本実施形態2のライト処理有無テーブルデータ6aは、図8に示すように、各エリアデータ100aにつき、分割データ102d、及び、ライト処理有無フラグ103だけからなっている。なお、分割データ102dは、実施形態1のものよりも大きな単位(例えば、数メガバイト単位)で分割された範囲データ102である、分割データ102dは、ディスク3a,3bの全記憶領域をm個に分割したそれぞれの記憶領域の範囲に対応している。以下、エリアデータ100aを「分割エリアデータ100a」と称する。
<本実施形態2に係るデータ記憶装置の動作>
実施形態2に係るデータ記憶装置(すなわち、ディスクアレイ装置1a)は、ライト処理時の動作が実施形態1のディスクアレイ装置1の動作と異なっている。以下、図9を参照して、ディスクアレイ装置1aのライト処理時の動作につき説明する。なお、図9は、実施形態2に係るデータ記憶装置の動作を示すフローチャートである。
実施形態2に係るデータ記憶装置(すなわち、ディスクアレイ装置1a)は、ライト処理時の動作が実施形態1のディスクアレイ装置1の動作と異なっている。以下、図9を参照して、ディスクアレイ装置1aのライト処理時の動作につき説明する。なお、図9は、実施形態2に係るデータ記憶装置の動作を示すフローチャートである。
ディスク3a,3bの初期化時において、ライト処理有無テーブルデータ6aの各分割エリアデータ100aはすべてのデータがブランク状態となっている。制御部2は、このライト処理有無テーブルデータ6aに対して、実施形態1と同様に、すべての分割エリアデータ100aのライト処理有無フラグ103の値を「0(ライト無し)」に設定する。
この後、制御部2は、待機状態となって、ホスト装置9からコマンドが送信されるのを待つ。
そして、制御部2は、ホスト装置9からライトコマンド及びライト処理するデータを受信すると、これに応答して、一連の処理を開始する。
この後、制御部2は、待機状態となって、ホスト装置9からコマンドが送信されるのを待つ。
そして、制御部2は、ホスト装置9からライトコマンド及びライト処理するデータを受信すると、これに応答して、一連の処理を開始する。
このとき、制御部2は、図9に示すように、受信したライトコマンドにしたがって、2台のディスク3a,3bにライト処理を指示する(S410)。
制御部2は、S410で2台のディスク3a,3bにライト処理を指示すると、これに応答して、各ディスク3a,3bにデータが書き込まれている間に、以下のS415〜S420の処理を行う。
すなわち、まず、制御部2は、ライト処理有無テーブルデータ6a(図8参照)から、ライトコマンドのアクセス範囲に該当する分割エリアデータ100aを1乃至複数選択する(S415)。
次に、制御部2は、選択した分割エリアデータ100aのライト処理有無フラグ103を、「1(ライト有り)」に設定する(S420)。
S420の後、制御部2は、ディスク3a,3bからのライト処理の完了応答を待ち、ディスク3a,3bからライト処理の完了応答を受信する(S425)と、これに応答して、ホスト装置9にライト処理の完了応答を出力して(S430)、処理を終了する。
次に、制御部2は、選択した分割エリアデータ100aのライト処理有無フラグ103を、「1(ライト有り)」に設定する(S420)。
S420の後、制御部2は、ディスク3a,3bからのライト処理の完了応答を待ち、ディスク3a,3bからライト処理の完了応答を受信する(S425)と、これに応答して、ホスト装置9にライト処理の完了応答を出力して(S430)、処理を終了する。
ライト処理有無テーブルデータ6aは、分割エリアデータ100aの数が分割する記憶領域の数によりm個に固定される。そのため、ディスクアレイ装置1aは、ライト処理有無テーブルデータ6aのサイズを実施形態1のライト処理有無テーブルデータ6のサイズよりも小型化できる。その結果、ディスクアレイ装置1aは、少容量の不揮発性メモリを格納部5として利用できる。
このようなディスクアレイ装置1aは、ライト処理の有無を大きな単位(例えば、数メガバイト単位)で管理し、リビルド処理をその大きな単位で行う。これにより、ディスクアレイ装置1aは、分割エリアデータ100aの検索時間を実施形態1のディスクアレイ装置1よりも低減できる。そのため、ディスクアレイ装置1aは、実施形態1のように、アクセスの空き時間を利用してライト処理有無テーブルデータ6を整理する動作を行う必要がない。
このようなディスクアレイ装置1aは、ライト処理の有無を大きな単位(例えば、数メガバイト単位)で管理し、リビルド処理をその大きな単位で行う。これにより、ディスクアレイ装置1aは、分割エリアデータ100aの検索時間を実施形態1のディスクアレイ装置1よりも低減できる。そのため、ディスクアレイ装置1aは、実施形態1のように、アクセスの空き時間を利用してライト処理有無テーブルデータ6を整理する動作を行う必要がない。
以下、具体例を用いて、ライト処理有無テーブルデータ6aのサイズを小型化することによる効果、及び、分割エリアデータ100aの検索時間を低減することによる効果を説明する。
ライト処理有無テーブルデータ6aのサイズを小型化することによる効果は、以下の通りとなる。ここでは、実施形態1のディスクアレイ装置1及び本実施形態2のディスクアレイ装置1aが、ともに、例えば40GB(ギガバイト)のディスク容量を有しているものとして説明する。
通常、ライト処理時に書き込まれるデータは、サイズが0.5KB(キロバイト)〜256KBの範囲となっている。そのため、書き込まれるデータのサイズは、一意に決まらないが、平均的には16KB程度である。ここで、実施形態1のディスクアレイ装置1及び本実施形態2のディスクアレイ装置1aが、ともに、10GB程度使用されているものとする。この場合、ディスクアレイ装置1及びディスクアレイ装置1aは、ともに、約65万箇所のライト処理が行われていることになる。
実施形態1のディスクアレイ装置1は、空き時間のライト処理有無テーブルデータ6の整理処理により、空き容量を増加させている。しかしながら、仮に、ディスクアレイ装置1が、この整理処理で約90%の無駄な領域を削除できたとしても、ライト処理有無テーブルデータ6に記録されているエリアデータ100の数は、約6万5千個となる。
一方、本実施形態2のディスクアレイ装置1aは、記憶領域が大きな単位で分割されている。ここで、仮に、記憶領域が、例えば10MB(メガバイト)単位で分割されているものとする。この場合に、ライト処理有無テーブルデータ6aに格納されている分割エリアデータ100aの数は、約4千個となる。したがって、ディスクアレイ装置1aは、実施形態1のディスクアレイ装置1と比較すると、格納する分割エリアデータ100aの数が10%以下となっている。
また、本実施形態2の分割エリアデータ100aは、構造が実施形態1のエリアデータ100よりも簡素なものとなっている。そのため、各分割エリアデータ100aは、実施形態1のエリアデータ100よりも10%以下のサイズに小型化できる。
したがって、ディスクアレイ装置1aは、実施形態1のディスクアレイ装置1と比較すると、格納する分割エリアデータ100aの数が10%以下となり、かつ、各分割エリアデータ100aのサイズがエリアデータ100の10%以下となるため、これらの相乗効果によって、1%以下のメモリ容量しか必要としない。
その結果、ディスクアレイ装置1aは、少容量の不揮発性メモリを格納部5として利用できる。
その結果、ディスクアレイ装置1aは、少容量の不揮発性メモリを格納部5として利用できる。
また、分割エリアデータ100aの検索時間を低減することによる効果は、以下の通りとなる。ここでは、実施形態1のディスクアレイ装置1は、6万5千個のエリアデータ100を格納しており、1つのエリアデータ100の検索時間が1μs(マイクロ秒)であるものとして説明する。また、本実施形態2のディスクアレイ装置1aは、4千個の分割エリアデータ100aを格納しており、また、1つの分割エリアデータ100aの検索時間が1μsであるものとして説明する。
実施形態1のディスクアレイ装置1は、アドレス単位でエリアデータ100を検索するため、ライト処理時に、エリアデータ100にアクセスする回数が多い。そのため、ディスクアレイ装置1は、ホスト装置9からライトコマンドを受信する度に、約65ms(ミリ秒)の検索時間が必要になる。したがって、ディスクアレイ装置1は、ライト処理時に、エリアデータ100を検索するための時間がある程度必要となり、これにより、ライト処理の性能に影響を与える可能性がある。
一方、本実施形態2のディスクアレイ装置1aは、大きな単位(例えば、数メガバイト単位)で分割エリアデータ100aを検索するため、ライト処理時に、分割エリアデータ100aにアクセスする回数が少ない。そのため、ディスクアレイ装置1aは、ホスト装置9からライトコマンドを受信する度に、約4msの検索時間しか必要としない。したがって、ディスクアレイ装置1aは、ライト処理時に、分割エリアデータ100aを検索するための時間があまり必要とせず、これにより、ライト処理の性能にほとんど影響を与えない。
その結果、ディスクアレイ装置1aは、実施形態1のように、アクセスの空き時間を利用してライト処理有無テーブルデータ6を整理する動作を行う必要がない。
その結果、ディスクアレイ装置1aは、実施形態1のように、アクセスの空き時間を利用してライト処理有無テーブルデータ6を整理する動作を行う必要がない。
[実施形態3]
実施形態1及び実施形態2では、データ記憶装置(ディスクアレイ装置1及びディスクアレイ装置1a)は、リビルド処理時に、ライト処理有無フラグ103にライト有りフラグが格納されているか否かを判定することにより、各エリアデータ100に対応する書き込みデータをコピーするか否かを判定している。
しかしながら、データ記憶装置の運用中に取得した重要なデータ(例えば、データベースのデータ等)は、オペレーティングシステムやアプリケーションプログラム等のデータよりも優先度が高い。そのため、データ記憶装置は、優先度の高いデータを優先度の低いデータに先行して回復させれば、リビルド処理中に記憶デバイス(ディスク3a,3b)の新たな故障が発生しても、優先度の高いデータを失う危険を低減できる。また、インターネットのキャッシュデータやアプリケーションプログラムのテンポラリデータ等は、ダウンロードしたり、又は、利用する際に生成したりすることにより、容易に再取得できる。データ記憶装置は、このような再取得が容易なデータのリビルド処理を行わなければ、リビルド処理時のアクセスの性能の低下を抑制できる。
実施形態1及び実施形態2では、データ記憶装置(ディスクアレイ装置1及びディスクアレイ装置1a)は、リビルド処理時に、ライト処理有無フラグ103にライト有りフラグが格納されているか否かを判定することにより、各エリアデータ100に対応する書き込みデータをコピーするか否かを判定している。
しかしながら、データ記憶装置の運用中に取得した重要なデータ(例えば、データベースのデータ等)は、オペレーティングシステムやアプリケーションプログラム等のデータよりも優先度が高い。そのため、データ記憶装置は、優先度の高いデータを優先度の低いデータに先行して回復させれば、リビルド処理中に記憶デバイス(ディスク3a,3b)の新たな故障が発生しても、優先度の高いデータを失う危険を低減できる。また、インターネットのキャッシュデータやアプリケーションプログラムのテンポラリデータ等は、ダウンロードしたり、又は、利用する際に生成したりすることにより、容易に再取得できる。データ記憶装置は、このような再取得が容易なデータのリビルド処理を行わなければ、リビルド処理時のアクセスの性能の低下を抑制できる。
そこで、本実施形態3のデータ記憶装置(以下、「ディスクアレイ装置1b」と称する)は、ホスト装置9から書き込みデータの優先度を管理テーブルデータに設定できるようにし、リビルド処理時に、管理テーブルデータに設定された優先度に基づいて、コピーが必要なデータのみをコピーすることによって、リビルド処理時のアクセスの性能の低下を抑制する。
<本実施形態3に係るデータ記憶装置の構成>
以下、図10を参照して、本実施形態3に係るデータ記憶装置(すなわち、ディスクアレイ装置1b)の構成につき説明する。なお、図10は、実施形態3に係るデータ記憶装置の構成ブロック図である。
以下、図10を参照して、本実施形態3に係るデータ記憶装置(すなわち、ディスクアレイ装置1b)の構成につき説明する。なお、図10は、実施形態3に係るデータ記憶装置の構成ブロック図である。
図10に示すように、本実施形態3のデータ記憶装置であるディスクアレイ装置1bは、実施形態1と比較すると、管理テーブルデータとして、ライト処理有無テーブルデータ6の代わりに、優先度設定テーブルデータ10が設けられている点で、異なっている。
優先度設定テーブルデータ10は、ホスト装置9から書き込みデータの優先度が設定できる管理データテーブルである。
優先度設定テーブルデータ10は、ホスト装置9から書き込みデータの優先度が設定できる管理データテーブルである。
<本実施形態3に係る優先度設定テーブルデータの構成>
以下、図11を参照して、優先度設定テーブルデータ10の構成につき説明する。なお、図11は、実施形態3に係る管理テーブルデータ(すなわち、優先度設定テーブルデータ10)の構成例を示す図である。
以下、図11を参照して、優先度設定テーブルデータ10の構成につき説明する。なお、図11は、実施形態3に係る管理テーブルデータ(すなわち、優先度設定テーブルデータ10)の構成例を示す図である。
図11に示すように、優先度設定テーブルデータ10は、各エリアデータ100bにつき、エリア番号データ101、範囲データ102、及び、優先度フラグ113からなっている。
優先度フラグ113は、リビルド処理時の優先度の値を表している。ここでは、優先度フラグ113の値は、「高い(すなわち、優先度が通常レベルよりも高いこと)」を表す「1」、「通常(すなわち、優先度が通常レベルであること)」を表す「2」、及び、「不要(すなわち、回復の必要の無く、コピーが不要であること)」を表す「3」の3段階あるものとして説明する。優先度設定テーブルデータ10は、エリアデータ100b毎に、これらの値を記録している。なお、優先度フラグ113の値は、運用に応じて、適宜変更してもよい。
<本実施形態3に係るデータ記憶装置の動作>
以下、図12を参照して、本実施形態3に係るデータ記憶装置(すなわち、ディスクアレイ装置1b)の動作につき説明する。なお、図12は、実施形態3に係るデータ記憶装置の動作の説明図である。
以下、図12を参照して、本実施形態3に係るデータ記憶装置(すなわち、ディスクアレイ装置1b)の動作につき説明する。なお、図12は、実施形態3に係るデータ記憶装置の動作の説明図である。
(リビルド処理前の動作)
まず、ディスクアレイ装置1bのリビルド処理前の動作につき説明する。
ホスト装置9のオペレータは、ディスクアレイ装置1bのディスク3a,3bの初期化に際して、ホスト装置9からディスクアレイ装置1bにアクセスして、優先度設定テーブルデータ10のすべての優先度フラグ113を「3(コピー不要)」に設定する。また、オペレータは、ディスク3a,3bの初期化の直後若しくはディスクアレイ装置1bの運用中の任意の時点で、ホスト装置9からディスクアレイ装置1bにアクセスして、優先度設定テーブルデータ10の任意の優先度フラグ113を所定の値に設定する。なお、設定方法は、様々な手法がある。例えば、設定方法としては、オペレータがホスト装置9から予め定められた設定コマンドを入力することによって行う方法や、優先度フラグ113を設定するための入力操作部をディスクアレイ装置1に実装させて、オペレータがその入力操作部を操作することによって行う方法、ディスクアレイ装置1がデータの拡張子に基づいて自動的に設定する方法等がある。ここでは、設定方法を限定しないものとする。
まず、ディスクアレイ装置1bのリビルド処理前の動作につき説明する。
ホスト装置9のオペレータは、ディスクアレイ装置1bのディスク3a,3bの初期化に際して、ホスト装置9からディスクアレイ装置1bにアクセスして、優先度設定テーブルデータ10のすべての優先度フラグ113を「3(コピー不要)」に設定する。また、オペレータは、ディスク3a,3bの初期化の直後若しくはディスクアレイ装置1bの運用中の任意の時点で、ホスト装置9からディスクアレイ装置1bにアクセスして、優先度設定テーブルデータ10の任意の優先度フラグ113を所定の値に設定する。なお、設定方法は、様々な手法がある。例えば、設定方法としては、オペレータがホスト装置9から予め定められた設定コマンドを入力することによって行う方法や、優先度フラグ113を設定するための入力操作部をディスクアレイ装置1に実装させて、オペレータがその入力操作部を操作することによって行う方法、ディスクアレイ装置1がデータの拡張子に基づいて自動的に設定する方法等がある。ここでは、設定方法を限定しないものとする。
ディスクアレイ装置1bの制御部2は、優先度フラグ113の設定終了時に、アドレスデータ102aが昇順となるように、値「3(コピー不要)」以外の優先度フラグ113が設定されている各エリアデータ100bを並べ替える。すなわち、制御部2は、優先度フラグ113及びアドレスデータ102a(図11参照)をキーにして、値「3(コピー不要)」以外の優先度フラグ113が設定されている各エリアデータ100bを抽出して、アドレスデータ102aが昇順となるように、抽出した各エリアデータ100bを並べ替える。なお、このとき、制御部2は、各エリアデータ100bが重ならないように、優先度設定テーブルデータ10を管理する。
その結果、図12に示すように、ディスク3a,3bの記憶領域51aは、領域毎に、優先度設定テーブルデータ10の優先度フラグ113が対応付けられた状態となる。
その結果、図12に示すように、ディスク3a,3bの記憶領域51aは、領域毎に、優先度設定テーブルデータ10の優先度フラグ113が対応付けられた状態となる。
(リビルド処理時の動作)
次に、ディスクアレイ装置1bのリビルド処理時の動作につき説明する。
図12に示すように、まず、制御部2は、ステップ1で、値「1(優先度が高い)」の優先度フラグ113が対応付けられた書き込みデータ(すなわち、図12の記憶領域51bの黒色領域に書き込まれていたデータ)を、マスタデバイスからスレーブデバイスにコピーする。
次に、ディスクアレイ装置1bのリビルド処理時の動作につき説明する。
図12に示すように、まず、制御部2は、ステップ1で、値「1(優先度が高い)」の優先度フラグ113が対応付けられた書き込みデータ(すなわち、図12の記憶領域51bの黒色領域に書き込まれていたデータ)を、マスタデバイスからスレーブデバイスにコピーする。
次に、制御部2は、ステップ2で、ステップ1でコピーされた書き込みデータ及びコピーが不要な書き込みデータ以外の書き込みデータ(すなわち、図12の記憶領域51cの黒色領域に書き込まれていたデータ)を、マスタデバイスからスレーブデバイスにコピーする。なお、「ステップ1でコピーされた書き込みデータ」とは、値「1(優先度が高い)」の優先度フラグ113が対応付けられた書き込みデータを意味している。また、「コピーが不要な書き込みデータ」とは、値「3(コピー不要)」の優先度フラグ113が対応付けられた書き込みデータを意味している。したがって、「ステップ1でコピーされた書き込みデータ及びコピーが不要な書き込みデータを以外の書き込みデータ」とは、本実施形態2では、値「2(優先度が通常レベル)」の優先度フラグ113が対応付けられた書き込みデータを意味している。
このようにして、ディスクアレイ装置1bは、優先度が高い書き込みデータを先行して回復させ、続いて、コピーが不要な書き込みデータを除くその他の書き込みデータを回復させる。
なお、リビルド処理時の書き込みデータのコピーは、ホスト装置9からのディスクアクセスと競合するが、例えば、ステップ1では、コピーの優先度を高くし、ステップ2では、ホスト装置9からのディスクアクセスの優先度を高くすることで、重要なデータを早期に回復させながら、通常レベルの書き込みデータの回復時におけるホスト装置9からのアクセス性能の低下を抑制できる。
ディスクアレイ装置1bによれば、優先度設定テーブルデータ10により、リビルド処理する書き込みデータの優先度が設定できる。そのため、重要度の高い特定の書き込みデータの優先度を高く設定することによって、データベースのような重要なデータを他のデータに先行して早期に回復でき、これにより、重要なデータが消失する危険を低減できる。
また、このディスクアレイ装置1bによれば、テンポラリデータのような回復不要なデータの優先度を「コピー不要」に設定することによって、回復不要なデータのコピーを排除することができる。その結果、リビルド処理時間を短縮できる。また、これによって、ホスト装置9からのアクセス性能の低下を抑制できる。
また、このディスクアレイ装置1bによれば、テンポラリデータのような回復不要なデータの優先度を「コピー不要」に設定することによって、回復不要なデータのコピーを排除することができる。その結果、リビルド処理時間を短縮できる。また、これによって、ホスト装置9からのアクセス性能の低下を抑制できる。
[実施形態4]
<本実施形態4に係るデータ記憶装置の構成>
以下、図13を参照して、本実施形態4に係るデータ記憶装置(すなわち、ディスクアレイ装置1c)の構成につき説明する。なお、図13は、実施形態4に係るデータ記憶装置の構成ブロック図である。
<本実施形態4に係るデータ記憶装置の構成>
以下、図13を参照して、本実施形態4に係るデータ記憶装置(すなわち、ディスクアレイ装置1c)の構成につき説明する。なお、図13は、実施形態4に係るデータ記憶装置の構成ブロック図である。
図13に示すように、本実施形態4のデータ記憶装置であるディスクアレイ装置1cは、管理テーブルデータとして、ライト処理有無テーブルデータ6(図2参照)と優先度設定テーブルデータ10(図11)の双方が設けられた構成となっている。
なお、ディスクアレイ装置1cは、ライト処理管理テーブルデータ6の代わりに、実施形態2のライト処理管理テーブルデータ6a(図8参照)が設けられていてもよい。
なお、ディスクアレイ装置1cは、ライト処理管理テーブルデータ6の代わりに、実施形態2のライト処理管理テーブルデータ6a(図8参照)が設けられていてもよい。
<本実施形態4に係るデータ記憶装置の動作>
(ライト処理時の動作)
ディスクアレイ装置1cのライト処理時の動作は、実施形態1のディスクアレイ装置1及び実施形態2のディスクアレイ装置1aのいずれか一方の動作と同じである。ここでは、ディスクアレイ装置1cのライト処理時の、実施形態1のディスクアレイ装置1の動作と同じであるものとして説明する。なお、この場合、ディスクアレイ装置1cのリビルド処理時の動作は、以下に説明する動作に加えて、さらに、空き時間の整理処理の動作(図5参照)が加わる。
(ライト処理時の動作)
ディスクアレイ装置1cのライト処理時の動作は、実施形態1のディスクアレイ装置1及び実施形態2のディスクアレイ装置1aのいずれか一方の動作と同じである。ここでは、ディスクアレイ装置1cのライト処理時の、実施形態1のディスクアレイ装置1の動作と同じであるものとして説明する。なお、この場合、ディスクアレイ装置1cのリビルド処理時の動作は、以下に説明する動作に加えて、さらに、空き時間の整理処理の動作(図5参照)が加わる。
(リビルド処理時の動作)
ディスクアレイ装置1cのリビルド処理時の動作は、以下のようになっている。
すなわち、図12に示すステップ1では、制御部2は、優先度が高い書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。このとき、制御部2は、値「1(ライト処理有り)」のライト処理有無フラグ103及び値「1(優先度が高い)」の優先度フラグ113の双方が対応付けられた書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。
ディスクアレイ装置1cのリビルド処理時の動作は、以下のようになっている。
すなわち、図12に示すステップ1では、制御部2は、優先度が高い書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。このとき、制御部2は、値「1(ライト処理有り)」のライト処理有無フラグ103及び値「1(優先度が高い)」の優先度フラグ113の双方が対応付けられた書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。
次に、図12に示すステップ2では、制御部2は、ステップ1でコピーされた書き込みデータ及びコピーが不要な書き込みデータ以外の書き込みデータを、マスタデバイスからスレーブデバイスにコピーする。このとき、制御部2は、値「1(ライト処理有り)」のライト処理有無フラグ103と、値「1(優先度が高い)」及び値「3(コピー不要)」以外の値(本実施形態2では、値「2」)のライト処理有無フラグ103の双方が対応付けられた書き込みデータのみを、マスタデバイスからスレーブデバイスにコピーする。
ディスクアレイ装置1cによれば、実施形態3のディスクアレイ装置1bと同様の効果を得ることができる。
さらに、ディスクアレイ装置1cによれば、実施形態1のディスクアレイ装置1又は実施形態2のディスクアレイ装置1aと比較すると、リビルド処理時にコピーするデータ量を低減できる。これにより、リビルド処理中に記憶デバイス(ディスク3a,3b)の新たな故障が発生しても、優先度の高いデータを失う危険を低減できる。リビルド処理時間を短縮できる。また、これによって、ホスト装置9からのアクセス性能の低下を抑制できる。
さらに、ディスクアレイ装置1cによれば、実施形態1のディスクアレイ装置1又は実施形態2のディスクアレイ装置1aと比較すると、リビルド処理時にコピーするデータ量を低減できる。これにより、リビルド処理中に記憶デバイス(ディスク3a,3b)の新たな故障が発生しても、優先度の高いデータを失う危険を低減できる。リビルド処理時間を短縮できる。また、これによって、ホスト装置9からのアクセス性能の低下を抑制できる。
本発明は、ミラーディスク等の高信頼性のRAID装置に広く実施することができる。
また、本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
また、本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
例えば、範囲データ102(図2及び図11参照)がアドレス単位で構成されている(すなわち、アドレス102aとサイズデータ102bで構成されている)管理テーブルデータは、実施形態2のように、適宜、分割単位(すなわち、分割エリアデータ102d(図8参照))の構成に変更できる。なお、この場合に、データ記憶装置(ディスクアレイ装置1)の制御部2の動作は、この管理テーブルデータの変更に合わせて、適宜変更される。
具体的には、実施形態4の2つの管理テーブルデータ(ライト処理有無テーブルデータ6及び優先度設定テーブルデータ10)の範囲データ102(図2及び図11参照)は、アドレス102aとサイズデータ102bとからなるアドレス単位で構成されているが、これを、実施形態2のライト処理有無テーブルデータ6aの分割データ102dのように、アドレス単位よりも大きな分割単位の構成に変更できる。
この場合に、制御部2の管理テーブルデータ更新部2aは、データをライト処理する都度、ライト処理有無テーブルデータ6のエリアデータ100aとして、ライト処理した記憶領域の分割エリアデータ102d及びライト有りフラグ103(図8参照)を格納部5に格納するとともに、優先度設定テーブルデータ10のエリアデータ100bとして、分割エリアデータ102d(図8参照)及び優先度フラグ113(図11参照)を格納部5に格納することになる。
この場合に、制御部2の管理テーブルデータ更新部2aは、データをライト処理する都度、ライト処理有無テーブルデータ6のエリアデータ100aとして、ライト処理した記憶領域の分割エリアデータ102d及びライト有りフラグ103(図8参照)を格納部5に格納するとともに、優先度設定テーブルデータ10のエリアデータ100bとして、分割エリアデータ102d(図8参照)及び優先度フラグ113(図11参照)を格納部5に格納することになる。
また、実施形態4の2つの管理テーブルデータ(すなわち、ライト処理有無テーブルデータ6(又は6a)と優先度設定テーブルデータ10)は、図14に示すように、一つに併合できる。なお、図14は、管理テーブルデータの変形例を示す図である。図14に示す優先度設定テーブルデータ10aは、各エリアデータ100cにつき、エリア番号データ101、範囲データ102、ライト処理有無フラグ103、及び、優先度フラグ113からなっている。なお、この場合に、データ記憶装置(ディスクアレイ装置1c)の制御部2の動作は、この管理テーブルデータの変更に合わせて、適宜変更される。例えば、この場合に、制御部2の管理テーブルデータ更新部2aは、データをライト処理する都度、エリアデータ100cとして、範囲データ102、並びに、ライト有りフラグ103、及び、優先度フラグ113を格納部5に格納することになる。なお、この場合に、制御部2のコピー制御部2bは、リビルド処理時に、優先度設定テーブルデータ10aを参照するだけで、各エリアデータ100cの優先度の高低の判定及びライト処理の有無が判定できるようになる。
なお、図14に示す優先度設定テーブルデータ10aの範囲データ102も、アドレス単位でなく、分割単位の構成に変更できる。この場合に、制御部2の管理テーブルデータ更新部2aは、データをライト処理する都度、優先度設定テーブルデータ10aのエリアデータ100cとして、ライト処理した記憶領域の分割エリアデータ102d(図8参照)並びに、ライト有りフラグ103及び優先度フラグ113(図14参照)を格納部5に格納することになる。
また、データ記憶装置1は、以下のように構成することもできる。
すなわち、複数の記憶デバイス3a、3bのそれぞれは、記憶領域が任意の個数mに分割された構成とする。
また、格納部5は、2つの管理テーブルデータとして、例えば、ライト処理有無テーブルデータ6及び優先度設定テーブルデータ10を格納する構成とする。
また、制御部2の管理テーブルデータ更新部2aは、データをライト処理する都度、ライト処理有無テーブルデータ6に、ライト処理した記憶領域の分割エリアデータ102d及びライト有りフラグ(図8参照)を記録するとともに、優先度設定テーブルデータ10に、ライト処理した記憶領域の分割エリアデータ102d(図8参照)及び優先度フラグ113(図11参照)を記録する。
さらに、制御部2のコピー制御部2cは、ミラーリング関係にある複数の記憶デバイス(例えば、ディスク3a,3b)の中のいずれかが交換された場合に、ライト処理有無テーブルデータ6のライト有りフラグ及び優先度設定テーブルデータ10の優先度フラグ113を参照して、ライト有りフラグが格納されていてかつ優先度が高い優先度フラグが格納されている分割エリアデータ102d(図8参照)に対応する書き込みデータを、他の書き込みデータに先行して、正常稼働中の記憶デバイスから交換された記憶デバイスにコピーした後、ライト有りフラグが格納されていてかつ優先度が通常レベルの優先度フラグが格納されている分割エリアデータ102dに対応する書き込みデータを正常稼働中の記憶デバイスから交換された記憶デバイスにコピーする。
すなわち、複数の記憶デバイス3a、3bのそれぞれは、記憶領域が任意の個数mに分割された構成とする。
また、格納部5は、2つの管理テーブルデータとして、例えば、ライト処理有無テーブルデータ6及び優先度設定テーブルデータ10を格納する構成とする。
また、制御部2の管理テーブルデータ更新部2aは、データをライト処理する都度、ライト処理有無テーブルデータ6に、ライト処理した記憶領域の分割エリアデータ102d及びライト有りフラグ(図8参照)を記録するとともに、優先度設定テーブルデータ10に、ライト処理した記憶領域の分割エリアデータ102d(図8参照)及び優先度フラグ113(図11参照)を記録する。
さらに、制御部2のコピー制御部2cは、ミラーリング関係にある複数の記憶デバイス(例えば、ディスク3a,3b)の中のいずれかが交換された場合に、ライト処理有無テーブルデータ6のライト有りフラグ及び優先度設定テーブルデータ10の優先度フラグ113を参照して、ライト有りフラグが格納されていてかつ優先度が高い優先度フラグが格納されている分割エリアデータ102d(図8参照)に対応する書き込みデータを、他の書き込みデータに先行して、正常稼働中の記憶デバイスから交換された記憶デバイスにコピーした後、ライト有りフラグが格納されていてかつ優先度が通常レベルの優先度フラグが格納されている分割エリアデータ102dに対応する書き込みデータを正常稼働中の記憶デバイスから交換された記憶デバイスにコピーする。
また、実施形態1乃至実施形態4では、ディスクアレイ装置1の制御部2がリビルド処理を制御するものとして説明したが、ホスト装置9の制御部(図示せず)がリビルド処理を制御してもよい。
また、実施形態1乃至実施形態4では、ディスクアレイ装置1は、2台の記憶デバイス(第1記憶デバイス3a及び第2記憶デバイス3b)を有するものとして説明した。しかしながら、記憶デバイスの数は、3台以上(好ましくは、偶数個)であってもよい。なお、ディスクアレイ装置1が3台以上の記憶デバイスを有している場合に、ディスクアレイ装置1は、各記憶デバイスが他のデバイスに格納されるデータを部分的にミラーリングするように、構成できる。例えば、ディスクアレイ装置1が4台の記憶デバイスを有している場合に、ディスクアレイ装置1は、第1記憶デバイスと第2記憶デバイスが比較的に上位のアドレスのデータをミラーリングし、第3記憶デバイスと第4記憶デバイスが比較的に下位のアドレスのデータをミラーリングするように、構成できる。
また、実施形態1乃至実施形態4では、記憶デバイス3a,3bがハードディスク装置として構成されているものとして説明した。しかしながら、記憶デバイスの形態は、ハードディスク装置に限らず、半導体ディスク装置であってもよいし、又は、USBメモリ等のメモリモジュールであってもよい。
また、実施形態3では、ホスト装置9のオペレータが優先度フラグ113を設定するものとして説明した。しかしながら、格納部5に書き込みデータの優先度を判定するための基準データを予め格納させておき、制御部2(ここでは、管理テーブルデータ更新部2a)は、この基準データを参照して、各書き込みデータの優先度を判定して、優先度フラグ113を設定するようにしてもよい。
1,1a,1b,1c ディスクアレイ装置(データ記憶装置)
2 制御部(CPU)
2a 管理テーブルデータ更新部
2b コピー制御部
2c 故障検出部
3a 第1ディスク(第1記憶デバイス)
3b 第2ディスク(第2記憶デバイス)
4a,4b ディスクI/Fバス
5 格納部(不揮発性メモリ)
6 ライト処理管理テーブルデータ(管理テーブルデータ)
7 ホストインタフェース部
8 ホストI/Fバス
9 ホスト装置
10 優先度設定テーブルデータ(管理テーブルデータ)
100,100a,100b,100c エリアデータ
101 エリア番号
102 エリア
102a アドレスデータ
102b サイズデータ
102d 分割エリアデータ
103 ライト処理有無フラグ(フラグ)
113 優先度フラグ(フラグ)
2 制御部(CPU)
2a 管理テーブルデータ更新部
2b コピー制御部
2c 故障検出部
3a 第1ディスク(第1記憶デバイス)
3b 第2ディスク(第2記憶デバイス)
4a,4b ディスクI/Fバス
5 格納部(不揮発性メモリ)
6 ライト処理管理テーブルデータ(管理テーブルデータ)
7 ホストインタフェース部
8 ホストI/Fバス
9 ホスト装置
10 優先度設定テーブルデータ(管理テーブルデータ)
100,100a,100b,100c エリアデータ
101 エリア番号
102 エリア
102a アドレスデータ
102b サイズデータ
102d 分割エリアデータ
103 ライト処理有無フラグ(フラグ)
113 優先度フラグ(フラグ)
Claims (13)
- 装置の動作に必要なプログラム及びデータを格納する格納部と、装置の動作を制御する制御部と、複数の記憶デバイスとを備え、前記複数の記憶デバイス間でデータをミラーリングするデータ記憶装置において、
前記格納部は、ミラーリング関係にある前記複数の記憶デバイスに共通して、記憶領域毎に、ライト処理した記憶領域を表すエリアデータを管理するための管理テーブルデータを格納しており、
前記制御部は、
ミラーリング関係にある前記複数の記憶デバイスにデータをライト処理する都度、前記格納部に格納された前記管理テーブルデータの中の前記エリアデータを更新する管理テーブルデータ更新部と、
ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータを参照して、前記ライト処理した記憶領域に書き込まれている書き込みデータを特定し、特定した前記書き込みデータのみを、前記交換された記憶デバイスとミラーリング関係にある正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーするコピー制御部とを有する
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ、及び、前記書き込みデータのサイズデータ、並びに、ライト処理があったことを表すライト有りフラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数mに分割されており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータ、及び、ライト処理があったことを表すライト有りフラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ、及び、前記書き込みデータのサイズデータ、並びに、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数mに分割されており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータ、及び、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ、及び、前記書き込みデータのサイズデータ、並びに、ライト処理があったことを表すライト有りフラグ、及び、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数mに分割されており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータ、並びに、ライト処理があったことを表すライト有りフラグ、及び、前記書き込みデータの優先度を表す優先度フラグを前記格納部に格納する
ことを特徴とするデータ記憶装置。 - 請求項4乃至請求項7のいずれか一項に記載のデータ記憶装置において、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータの前記優先度フラグを参照して、優先度が高い前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、優先度が通常レベルの前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。 - 請求項6又は請求項7に記載のデータ記憶装置において、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータの前記ライト有りフラグ及び前記優先度フラグを参照して、前記ライト有りフラグが格納されていてかつ優先度が高い前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、前記ライト有りフラグが格納されていてかつ優先度が通常レベルの前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記格納部は、前記管理テーブルデータとして、第1管理テーブルデータ及び第2管理テーブルデータを格納しており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記第1管理テーブルデータ及び前記第2管理テーブルデータの双方に共通する前記エリアデータとして、前記ライト処理した記憶領域の先頭アドレスデータ及び前記書き込みデータのサイズデータを、また、前記第1管理テーブルデータの前記エリアデータとして、ライト処理があったことを表すライト有りフラグを、さらに、前記第2管理テーブルデータの前記エリアデータとして、前記書き込みデータの優先度を表す優先度フラグを、前記格納部に格納し、かつ、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記第1管理テーブルデータの前記ライト有りフラグ及び前記第2管理テーブルデータの前記優先度フラグを参照して、前記ライト有りフラグが格納されていてかつ優先度が高い前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、前記ライト有りフラグが格納されていてかつ優先度が通常レベルの前記優先度フラグが格納されている前記エリアデータに対応する前記書き込みデータを前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。 - 請求項1に記載のデータ記憶装置において、
前記複数の記憶デバイスのそれぞれは、記憶領域が任意の個数mに分割されており、
前記格納部は、前記管理テーブルデータとして、第1管理テーブルデータ及び第2管理テーブルデータを格納しており、
前記管理テーブルデータ更新部は、データをライト処理する都度、前記第1管理テーブルデータ及び前記第2管理テーブルデータの双方に共通する前記エリアデータとして、前記ライト処理した記憶領域の分割範囲を表す分割エリアデータを、また、前記第1管理テーブルデータの前記エリアデータとして、ライト処理があったことを表すライト有りフラグを、さらに、前記第2管理テーブルデータの前記エリアデータとして、前記書き込みデータの優先度を表す優先度フラグを、前記格納部に格納し、かつ、
前記コピー制御部は、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記第1管理テーブルデータの前記ライト有りフラグ及び前記第2管理テーブルデータの前記優先度フラグを参照して、前記ライト有りフラグが格納されていてかつ優先度が高い前記優先度フラグが格納されている前記分割エリアデータに対応する前記書き込みデータを、他の前記書き込みデータに先行して、前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーした後、前記ライト有りフラグが格納されていてかつ優先度が通常レベルの前記優先度フラグが格納されている前記分割エリアデータに対応する前記書き込みデータを前記正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーする
ことを特徴とするデータ記憶装置。 - 複数の記憶デバイスを備え、前記複数の記憶デバイス間でデータをミラーリングするデータ記憶装置の故障回復方法において、
ミラーリング関係にある前記複数の記憶デバイスに共通して、記憶領域毎に、ライト処理した記憶領域を表すエリアデータを管理するための管理テーブルデータを格納する格納部と、装置の動作を制御する制御部とを用い、
前記制御部が、ミラーリング関係にある前記複数の記憶デバイスにデータをライト処理する都度、前記格納部に格納された前記管理テーブルデータの中の前記エリアデータを更新する更新工程と、
前記制御部が、ミラーリング関係にある前記複数の記憶デバイスの中のいずれかが交換された場合に、前記管理テーブルデータを参照して、前記ライト処理した記憶領域に書き込まれている書き込みデータを特定し、特定した前記書き込みデータのみを、前記交換された記憶デバイスとミラーリング関係にある正常稼働中の記憶デバイスから前記交換された記憶デバイスにコピーするコピー工程とを含む
ことを特徴とするデータ記憶装置の故障回復方法。 - 請求項12に記載のデータ記憶装置の故障回復方法において、
前記更新工程及び前記コピー工程は、当該データ記憶装置の外部のホスト装置に設けられた前記制御部によって行われる
ことを特徴とするデータ記憶装置の故障回復方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008319363A JP2010146056A (ja) | 2008-12-16 | 2008-12-16 | データ記憶装置、及び、その故障回復方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008319363A JP2010146056A (ja) | 2008-12-16 | 2008-12-16 | データ記憶装置、及び、その故障回復方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010146056A true JP2010146056A (ja) | 2010-07-01 |
Family
ID=42566482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008319363A Pending JP2010146056A (ja) | 2008-12-16 | 2008-12-16 | データ記憶装置、及び、その故障回復方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010146056A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002321A (zh) * | 2011-09-09 | 2013-03-27 | 株式会社东芝 | 视频服务器、影像收录方法及重构方法 |
JP2014067313A (ja) * | 2012-09-26 | 2014-04-17 | Fujitsu Ltd | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
-
2008
- 2008-12-16 JP JP2008319363A patent/JP2010146056A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103002321A (zh) * | 2011-09-09 | 2013-03-27 | 株式会社东芝 | 视频服务器、影像收录方法及重构方法 |
JP2013058172A (ja) * | 2011-09-09 | 2013-03-28 | Toshiba Corp | 映像収録再生装置、収録方法及び再構築方法 |
JP2014067313A (ja) * | 2012-09-26 | 2014-04-17 | Fujitsu Ltd | ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7231544B2 (en) | Restoring data from point-in-time representations of the data | |
JP4536785B2 (ja) | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 | |
US8032707B2 (en) | Managing cache data and metadata | |
US9032151B2 (en) | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot | |
US8751740B1 (en) | Systems, methods, and computer readable media for performance optimization of storage allocation to virtual logical units | |
US8762661B2 (en) | System and method of managing metadata | |
EP2329361B1 (en) | Aggregation of write traffic to a data store | |
JP4916892B2 (ja) | トランザクション処理のためのログ情報管理システムおよび方法 | |
JP2010211734A (ja) | 不揮発性メモリを用いた記憶装置 | |
US9442666B2 (en) | Optimized management of operation data in a solid-state memory | |
WO2023116346A1 (zh) | 异常掉电下Trim数据的恢复方法、系统及固态硬盘 | |
CN111722807B (zh) | 固态硬盘垃圾回收方法、装置、计算机设备及存储介质 | |
KR100526178B1 (ko) | 플래시 메모리 액세스 장치 및 방법 | |
JP2017107318A (ja) | メモリシステム、情報処理装置および処理方法 | |
JP2010152747A (ja) | ストレージシステム、ストレージのキャッシュ制御方法、及びキャッシュ制御プログラム | |
US20150205538A1 (en) | Storage apparatus and method for selecting storage area where data is written | |
JP4892812B2 (ja) | キャッシュ制御およびデータ処理システム並びにその処理プログラム | |
CN114063901A (zh) | Plp备份失败之后的ssd支持只读模式 | |
JP5719083B2 (ja) | データベース装置、プログラムおよびデータ処理方法 | |
JP5323030B2 (ja) | メモリ装置及びメモリ制御方法 | |
JP2010146056A (ja) | データ記憶装置、及び、その故障回復方法 | |
US7657719B2 (en) | Controller for a copy operation between a host computer and hard disks, a control method thereof, and a recording medium storing a program for executing the control method | |
US20130031320A1 (en) | Control device, control method and storage apparatus | |
US20070174739A1 (en) | Disk device, method of writing data in disk device, and computer product | |
JPWO2006085357A1 (ja) | ディスクアレイ装置の記憶制御装置および冗長性復旧方法 |