(57)【特許請求の範囲】
【請求項１】
複数のハードディスクと、各ハードディスクに対するデータの書込み及び読出しを制御するディスクコントローラとを備えたディスクアレイ装置において、
それぞれが少なくとも１台のハードディスクを有する３つのハードディスクグループを構成し、
前記ディスクコントローラは、
前記３つのハードディスクグループの中の２つのハードディスクグループに同一のデータを記憶させ、他の１つのハードディスクグループを予備として扱い、データのバックアップ要求を受信する毎に、第１のハードディスクグループと第２のハードディスクグループとで構成されていた２重化の構成を、前記第１のハードディスクグループと第３のハードディスクグループとに変更し、２重化の構成から外れた前記第２のハードディスクグループに記憶されているデータを２重化の構成に加わった前記第３のディスクグループにコピーするとともに、新たに２重化を構成する前記第１のハードディスクグループ及び前記第３のハードディスクグループに対して要求されたデータの書込みを継続して実行しつつ、前記第２のハードディスクグループ上にデータのバックアップを作成するデータバックアップ手段を具備することを特徴とするディスクアレイ装置。
【請求項２】
前記ディスクコントローラの前記データバックアップ手段は、前記第１のディスクグループから第３のディスクグループへのコピー処理を、データを保持するブロックと該ブロックに対するコピー完了及び未完了を示す情報からなるテーブルによって管理することを特徴とする請求項１記載のディスクアレイ装置。
【請求項３】
前記ディスクコントローラの前記データバックアップ手段は、前記テーブルを参照してコピーが完了しているか確認し、コピーが未完了の場合には、前記第１のディスクグループと第３のディスクグループにデータの書込みを行うとともに、前記テーブル内の前記情報をコピー完了に設定することを特徴とする請求項２記載のディスクアレイ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のディスクドライブを備えたディスクアレイ装置に関し、特に、前記複数のディスクドライブを２つのグループに分け、同一のデータを２重化して記憶することが可能なディスクアレイ装置に関する。
【０００２】
【従来の技術】
複数のディスクドライブ（以下、ＨＤＤと称する。）を備えたディスクアレイ装置では、これら複数のＨＤＤを２つのグループに分け、双方のグループに同一のデータを記憶する構成を取るものがあり、この技術は、データに冗長性を持たせる方式を定義したＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）と呼ばれる技術の中で、ＲＡＩＤ１として定義されている。
そして、データを２重化して記憶するディスクアレイ装置は、一方のグループを構成するＨＤＤに読出し不能な故障が発生した場合でも、他方のグループに同一のデータが記憶されていることから、データの消失を回避することが可能であり、また故障したＨＤＤを交換して正常なグループのＨＤＤからデータをコピーすることによって、再び２重化構成を形成することが可能である。
しかしながら、このように信頼性の高いディスクアレイ装置であっても、定期的にデータのバックアップを外部の記憶媒体に取る場合があり、上述のＲＡＩＤ１の方式を採用しているディスクアレイ装置では、ディスクアレイ装置に組み込まれているＨＤＤの他にバックアップデータを記憶するための磁気テープ等の記憶媒体を用意し、一方のグループのＨＤＤからデータを読み出してこの記憶媒体にコピーを取ることによりバックアップデータの作成を行っている。
【０００３】
そしてこのとき、ディスクアレイ装置の信頼性、つまりデータが２重化された状態を維持するために、ネットワークを介して接続された計算機から書込み要求を受けると、この書込み要求にかかるデータが書き込まれる領域が既にバックアップ用のＨＤＤや磁気テープ等の記憶媒体にコピーされているか確認し、コピーが完了している場合には双方のグループにデータを書込み、他方、コピーが未完了の場合にはミラーリングを構成する一方のグループからデータを読み出し、バックアップ用の記憶媒体にコピーしてから双方のグループに対してデータの書込みを行っている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述のようなＲＡＩＤ１を採用したディスクアレイ装置におけるデータのバックアップ処理にも、まだ解決すべき課題が残されている。
即ち、上述の方式では、データのバックアップ処理中に計算機から書込み要求を受けると、書込みデータが書き込まれる領域に記憶されているデータのコピー処理が完了していなければ、この領域に記憶されているデータを一旦読出してバックアップ用の記憶媒体へコピーしてから書込み処理を行うため、バックアップ処理中にコピーの未完了の領域に対する書込み要求が多数発生した場合には、ディスクアレイ装置の性能が低下してしまうといった欠点がある。
そこで本発明では、上記欠点を解消し、信頼性を維持するとともにディスクアレイ装置の性能を低下させることなくバックアップ処理が可能なディスクアレイ装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、請求項１にかかるディスクアレイ装置では、複数のハードディスクと、各ハードディスクに対するデータの書込み及び読出しを制御するディスクコントローラとを備えたディスクアレイ装置において、それぞれが少なくとも１台のハードディスクを有する３つのハードディスクグループを構成し、前記ディスクコントローラは、前記３つのハードディスクグループの中の２つのハードディスクグループに同一のデータを記憶させ、他の１つのハードディスクグループを予備として扱い、データのバックアップ要求を受信する毎に、第１のハードディスクグループと第２のハードディスクグループとで構成されていた２重化の構成を、前記第１のハードディスクグループと第３のハードディスクグループとに変更し、２重化の構成から外れた前記第２のハードディスクグループに記憶されているデータを２重化の構成に加わった前記第３のディスクグループにコピーするとともに、新たに２重化を構成する前記第１のハードディスクグループ及び前記第３のハードディスクグループに対して要求されたデータの書込みを継続して実行しつつ、前記第２のハードディスクグループ上にデータのバックアップを作成するデータバックアップ手段を具備することを特徴としている。このように構成することにより、第２のディスクグループから第３のディスクグループに対するコピー処理中であっても、この処理の状況に影響されることなくデータの書込み要求にかかる処理を実行することが可能となる。また、請求項２にかかるディスクアレイ装置では、請求項１のディスクアレイ装置において、前記ディスクコントローラの前記データバックアップ手段は、前記第１のディスクグループから第３のディスクグループへのコピー処理を、データを保持するブロックと該ブロックに対するコピー完了及び未完了を示す情報からなるテーブルによって管理することを特徴としている。
【０００６】
このように構成することにより、第２のディスクグループから第３のディスクグループに対するコピー処理中であっても、同様に、この処理の状況に影響されることなくデータの書込み要求にかかる処理を実行することが可能となる。また、請求項３にかかるディスクアレイ装置では、請求項２のディスクアレイ装置において、前記ディスクコントローラの前記データバックアップ手段は、前記テーブルを参照してコピーが完了しているか確認し、コピーが未完了の場合には、前記第１のディスクグループと第３のディスクグループにデータの書込みを行うとともに、前記テーブル内の前記情報をコピー完了に設定することを特徴としている。このように構成することにより、第２のディスクグループから第３のディスクグループに対するコピー処理中であっても、この処理の状況に影響されることなくデータの書込み要求にかかる処理を実行することが可能となり、さらにデータのコピー処理中にコピーが未完了の領域に対してデータの書込み要求を実行した場合に、コピーが完了している旨が設定可能であるため、上記作用に加えコピー処理によって古いデータが上書きされることを防止できる。
【０００７】
【発明の実施の形態】
以下、添付の図面を参照して本発明の実施の形態について説明する。
図１は、ディスクアレイ装置１０の概略を示す図であり、このディスクアレイ装置１０はディスクコントローラ１１と３台のＨＤＤ４−１〜４−３を有し、さらにディスクコントローラ１１は、プロセッサ１、外部インタフェース２、ディスクインタフェース３−１〜３−３、そして内部バス５とを備えている。
ディスクコントローラ１１はディスクアレイ装置１０を制御するもので、外部機器からのデータ書き込み要求を受けると、このデータを固定長のデータ（ストライピングデータ）に分割して、複数のＨＤＤに対して分散して記憶するとともに、読み出し要求をうけると、複数のＨＤＤからストライピングデータを読み出して元のデータに復元し、外部機器へ送信する機能、いずれかのＨＤＤに故障が発生した場合に、このＨＤＤに記憶されていたデータを復元する機能等を担っている。
ＨＤＤ４−１〜ＨＤＤ４−３は、ディスクコントローラ１１によって制御され、外部機器で使用されるデータをストライピングデータとして記憶するもので、各ＨＤＤは、図２に示すようにブロックサイズ等のデータ管理に必要な情報を記憶するための管理情報領域４１と、データを記憶するためのデータ領域４２とから構成されており、更にデータ領域４２は固定長に分割されたデータを記憶するために、複数のブロック４２ａ，４２ｂ，４２ｃ，・・・から構成されている。
【０００８】
なお、本実施の形態では、ディスクアレイ装置１０がＲＡＩＤ１に準拠しているため、２台のＨＤＤが同一のデータを記憶し、他の１台が予備ディスクとして扱われる。
プロセッサ１は、ディスクコントローラ１１の制御を行うもので、上述のディスクコントローラ１１の機能はこのプロセッサ１によって実現される。
外部インタフェース２は、外部機器からデータの書き込み及び読み出し要求を受信するとともに、この外部機器に対して各種データを送信する。
ディスクインタフェース３−１〜３−３は、それぞれＨＤＤ４−１〜ＨＤＤ４−３に対応して設けられており、プロセッサ１の要求に基づいて、ストライピングデータの書き込み及び読み出しを行う。
そして、内部バス５は、プロセッサ１、外部インタフェース２、及びディスクインタフェース３−１〜３−３を接続するとともに、各モジュールによって各種データの送受信に利用される。
なお、図１では説明を簡単にするために３台のＨＤＤを備えたディスクアレイ装置を例にとっているが、これ以上の数からなるＨＤＤを備えていても構わない。ただし、この場合には同じ台数のＨＤＤから成るグループを３つ用意する必要があるため、ディスクアレイ装置は３の倍数のＨＤＤを備えることが好ましい。
【０００９】
また、ディスクアレイ装置１０には、外部記憶装置として計算機２０がネットワークを介して接続されており、読出し／書込み要求の他、バックアップ処理の開始／終了要求をディスクアレイ装置１０に対して発行する。
つづいて、上述の構成を有するディスクアレイ装置１０の動作について説明するが、ディスクアレイ装置１０が起動された際の初期状態では、ＨＤＤ４−１とＨＤＤ４−２が２重化の構成をとって同一のデータを記憶し、ＨＤＤ４−３が予備ディスクであるものとする。
まず、電源がオンにされて、ディスクチェック等の起動処理が完了すると、ディスクアレイ装置１０は計算機２０によって使用可能となり、計算機２０によって発行されるデータの書き込み要求や読み出し要求の受信、および計算機２０に対してデータの送信が行える状態になる。
このような起動処理の完了後、計算機２０によってデータの書き込み要求が発行されると、この要求は外部インタフェース２を介してディスクコントローラ１１に取り込まれる。
取り込まれた書き込み要求は、プロセッサ１が管理するキャッシュメモリ（図示せず）に書き込まれた後にプロセッサ１によって受信した要求の種別が判定される。
【００１０】
ここでは上述の通り書き込み要求であることから、この要求に含まれたデータは複数のストライピングデータに分割され、同一のストライピングデータがディスクインタフェース３−１と３−２を介してＨＤＤ４−１及びＨＤＤ４−２内の同一位置にあるデータ領域に記憶される。
また、計算機２０から発行された要求がデータの読み出し要求であった場合、プロセッサ１は、ディスクインタフェース３−１または３−２のいずれかを介してＨＤＤ４−１または４−２よりストライピングデータを読み出し、元のデータに復元した後に外部インタフェースを介して計算機２０へ送信する。
なお、ストライピングデータを読み出す際、ディスクヘッドの位置からより短時間でストライピングデータを読み出せるＨＤＤを選択している。
このように、計算機２０によって発行されるデータの書き込み及び読み出し処理を実行しているときに、計算機２０からデータのバックアップ要求を受信すると、ディスクアレイ装置１０は図３および図４で示される流れに従ってデータのバックアップ処理を実行する。
プロセッサ１は、計算機２０によって発行され外部インタフェース２を介して受信する要求を常に監視しており（ステップ１）、データの書き込み・読み出し要求といった通常の要求である場合には、この要求で指定された処理を実行する（ステップ２）。
【００１１】
一方、プロセッサ１が受信した要求がバックアップ要求であった場合、２重化を構成する一方のＨＤＤ４−２をバックアップディスクに、そして予備ディスクであるＨＤＤ４−３をＨＤＤ４−１と２重化を構成するよう設定変更を行う（ステップ３）。
以下、バックアップ処理中において、２重化を構成する２台のＨＤＤをマスタディスク、そしてバックアップデータを保持するＨＤＤをバックアップディスクと呼ぶ。
即ち、上述のようにバックアップ処理が開始されるとＨＤＤ４−１とＨＤＤ４−３がマスタディスクとなり、ＨＤＤ４−２がバックアップディスクとなる。
次に、ＨＤＤ４−２をバックアップディスクに、そしてＨＤＤ４−３をマスタディスクへと設定が完了すると、プロセッサ１の制御によりバックアップディスクＨＤＤ４−２に記憶されているデータは、アドレス番号の小さい方から順にブロック単位でマスタディスクＨＤＤ４−３へとコピーされる（ステップ４）。
このバックアップディスクＨＤＤ４−２から新たなマスタディスクＨＤＤ４−３へのコピー処理中、プロセッサ１は計算機２０から新たな要求を受信したかを監視し（ステップ５）、新たな要求を受信すると、この要求が書込み要求であるか読出し要求であるかの確認を行う（ステップ６）。
【００１２】
ここで、新たな要求が読出し要求の場合は、インタフェース３−１を介し、マスタディスクＨＤＤ４−１から該当するストライピングデータを読み出し、元のデータに復元処理を行った後に外部インタフェース２を介して計算機２０へ送信する（ステップ７）。
一方、新たな要求が書込み要求の場合には、マスタディスクＨＤＤ４−３の書込み先のブロックが既にコピー済みであるか確認し（ステップ８）、コピーが済んでいる場合には、書込み要求にかかるデータをストライピングデータに分割した後にマスタディスクＨＤＤ４−１およびマスタディスクＨＤＤ４−３へと書き込む（ステップ９）。
そして、コピーが未完了な書き込み領域に対する書込み要求であった場合には、マスタディスクＨＤＤ４−１とマスタディスクＨＤＤ４−３へ書込み要求にかかるデータをストライピングデータに分割して書き込むと共に、書込み処理を行った書き込み領域の状態をコピー済みに設定する（ステップ１０）。
ここで、ＨＤＤの各ブロックに対しコピーが完了しているか否かの情報は、ＨＤＤ４−１〜４−３のうちの少なくとも１台のＨＤＤの管理情報領域４１に、例えば、図５のようなバックアップ状態テーブル５０を作成することによって管理される。
【００１３】
そしてバックアップ状態テーブル５０は、ブロック番号とバックアップ状態フラグから構成されており、該フラグが１のときにバックアップ完了を、そしてバックアップ状態フラグが０のときにバックアップ未完了を示している。
例えば、バックアップ状態テーブル５０にコピー未完了、即ちバックアップ状態フラグが０として記録されているブロック４２ｃに対して書込みを行う場合、マスタディスクＨＤＤ４−１とマスタディスクＨＤＤ４−３のブロック４２ｃにデータの書込みを行った後、バックアップ状態テーブル５０のブロック４２ｃに対応するバックアップ状態フラグを０から１に更新する。
このとき、バックアップ状態テーブル５０は図６に示した状態になっている。
以上の処理は、マスタディスク４−２に記憶されているデータと同一のデータが、マスタディスク４−３に形成されるまで実行され（ステップ１１）、コピー処理が完了すると、プロセッサ１は計算機２０に対してバックアップ処理が完了した旨を通知する。
このバックアップ処理が完了した後、各ＨＤＤの設定は変更されることなく、ＨＤＤ４−１とＨＤＤ４−３が２重化を構成し、ＨＤＤ４−２が予備ディスクとして運用される。
【００１４】
即ち、次のバックアップ要求を受信した場合には、ＨＤＤ４−３がバックアップディスクに、そしてＨＤＤ４−２がＨＤＤ４−１と２重化構成をとってマスタディスクとなる。
以上説明したように、データのバックアップ処理を実行中に計算機２０から書き込み要求を受信した際、この書き込み要求が記憶されているデータ領域のデータがバックアップディスクにコピーされているか否かに影響されることなく書き込み処理を実行できるため、ディスクアレイ装置の性能を低下させることなくバックアップ処理を行うことが可能となる。
また、バックアップディスクに記憶されているデータの読み出しが必要な場合でも、バックアップ処理の開始時点でバックアップデータが確保されていることから、バックアップ処理の進捗状況に左右されることなくデータの読み出しを行うことが可能となる。
つまり、バックアップディスクにデータがコピーされているか否か、そしてマスタディスクのデータに更新があるか否かによって読み出すＨＤＤを選択する必要がなくなる。
なお、上述の説明では新たに設定されたマスタディスクへのコピーは、バックアップディスクからとしたが、全データを記憶しているマスタディスクから行ってもよいし、このマスタディスクとバックアップディスクの双方から選択的に行ってもよい。
【００１５】
また、上述の説明では、バックアップ処理について説明したが、ある時点におけるデータの保存状態を確保するスナップショット機能を実行する場合にも、本発明は適用可能である。
【００１６】
【発明の効果】
以上説明したように、本発明のディスクアレイ装置によれば、データのバックアップ処理中に計算機から書き込み要求が発行された場合であっても、信頼性を維持するとともに、ディスクアレイ装置の性能、即ち、書き込み処理に要する時間を遅延することを防止することが可能となる。
【図面の簡単な説明】
【図１】  本発明にかかるディスクアレイ装置の構成を示す図。
【図２】  ハードディスクの構成を示す図。
【図３】  本発明にかかるバックアップ処理を示す図。
【図４】  本発明にかかるバックアップ処理を示す図。
【図５】  バックアップ状態テーブルの構成を示す図。
【図６】  バックアップ状態テーブルの状態を示す図。
【符号の説明】
１  …  プロセッサ
２  …  外部インタフェース
３−１〜３−３  …  ディスクインタフェース
４−１〜４−３  …  ハードディスク
５  …  内部バス
１０  …  ディスクアレイ装置
１１  …  ディスクコントローラ
２０  …  計算機
４１  …  管理情報領域
４２  …  データ領域
５０  …  バックアップ状態テーブル
【図１】
0004398596.tif 000002
【図２】
0004398596.tif 000003
【図３】
0004398596.tif 000004
【図４】
0004398596.tif 000005
【図５】
0004398596.tif 000006
【図６】
0004398596.tif 000007