(57)【特許請求の範囲】
【請求項１】
第１の記憶媒体を備えるとともにローカルホストシステムと接続されるローカル記憶システムおよび通信リンクによって前記ローカル記憶システムと結合され、第２の記憶媒体及び第３の記憶媒体を備えるリモート記憶システムを有する記憶システムにおけるデータの完全性を付与する方法であって、
前記通信リンクの遮断時に、
前記第１の記憶媒体に記憶されているが、前記第２の記憶媒体にまだ記憶されていない前記ローカルホストシステムからのライトデータの第１の記録を維持し、
前記第２の記憶媒体から前記第３の記憶媒体にデータをコピーし、
前記第３の記憶媒体にコピーされたデータの第２の記録を維持し、
前記通信リンクの回復時に、
いずれの前記ローカルホストシステムからのライトデータが前記リモート記憶システムに書込まれていないかを決定するために前記ローカルホストシステムからのライトデータの前記第１の記録を使用し、
それらの前記ローカルホストシステムからのライトデータを前記リモート記憶システムに送信し、
前記リモート記憶システムにおいて、前記ローカル記憶システムから受信された前記ローカルホストシステムからのライトデータを前記第２の記録と比較し、新しいローカルホストシステムからのライトデータを前記第３の記憶媒体に書込み、前記ローカル記憶システムから受信したデータを前記第２の記憶媒体にコピーした後、前記第３の記憶媒体を空の記憶媒体にすることを特徴とする方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶システム、詳細には、ネットワークを介してデータの完全性を保証する記憶システムに関する。
【０００２】
【従来の技術】
リモートデュアルコピー機能は、例えば自然災害、データの破壊または消失等の原因によるローカルサイトにおける原本の損失に対する防護を目的として、リモートサイトにおいてリアルタイムコピーを提供するものである。この機能にとって、データの完全性を保証することが非常に重要である。一般に、同期および非同期の２つの形式のリモートコピーが存在する。同期リモートコピーにおいては、ローカルディスクシステムはローカルホストコンピュータシステムからの書込み要求を完了する。ローカルディスクシステムは、書込み要求においてローカルホストから受信した書込みデータの転送を完了した後、データをリモートディスクシステムに書込む。その結果、データの完全性を維持することは相対的に容易である。具体的には、ローカルシステムおよびリモートシステムは、データのマッチングをする際には、せいぜい１つの書込みを個別に行うだけでよい。
【０００３】
非同期形式のリモートデュアルコピーシステムでは、ローカルディスクシステムがリモートディスクシステムへの書込みデータの転送を完了する前に、ローカルディスクシステムはローカルホストからの書込み要求を完了する。書込みデータは、ローカルディスクシステムがリモートディスクシステムへの書込みデータの転送を完了するまで、ローカルディスクシステムのキャッシュメモリに格納される。非同期デュアルコピーのこの状況では、データの完全性を保存するために、リモートサイトのディスクシステムのディスクにデータを書込む順序は、ローカルホストのディスクシステムにデータを書込む順序と同じでなければならない。従って、一般に、ローカルディスクシステムは、書込みデータと一緒にタイムスタンプまたは書込み順序情報をリモートディスクシステムに送信する。どちらの方式でも、データの完全性は保証される。従って、ローカルディスクシステムは、書込みデータ、タイムスタンプ、および書込みデータに対応する書込み順序情報をすべて一緒に管理することができる。
【０００４】
【発明が解決しようとする課題】
しかし時には、ローカルディスクシステムとリモートディスクシステムとの間での通信回線または他の障害が発生し得る。障害が起こると、ローカルディスクシステムが書込みデータをリモートディスクシステムに送信することができないので、ローカルディスクシステムはそのキャッシュメモリに過度に多くの書込みデータを格納させることになる。その後、ローカルディスクシステムは、書込みデータを自己のディスク装置においてデステージし（抹消し）、書込みデータをキャッシュメモリから削除する。キャッシュメモリからの書込みデータの削除後、ローカルディスクシステムは、書込みデータ、タイムスタンプおよび書込み順序情報を一緒に効率的に管理することができない。従って、ローカルディスクシステムとリモートディスクシステムとの間で通信回線などのエラーが起きた場合、データの完全性を保証することは難しい。
【０００５】
特開平１１−０８５４０８号公報には、タイムスタンプまたは類似の技法を利用してデータの完全性を保証するための非同期リモートコピー技術が開示されている。また、いくつかの形式のリモートデュアルコピーシステムアーキテクチャも開示されている。第１のアーキテクチャは、１ローカルディスクシステムおよび１リモートディスクシステムを含む。第２のアーキテクチャは複数のローカルディスクシステムおよび１リモートディスクシステムを含む。第３のアーキテクチャは、複数のローカルディスクシステムおよび複数のリモートディスクシステムを含むシステムである。しかし、本公報においては、ローカルディスクシステムとリモートディスクシステムとの間のデータ通信が故障した場合にデータの完全性を保証する必要性が考慮されていない。
【０００６】
【課題を解決するための手段】
本発明は、ローカルディスクシステムとリモートディスクシステムとの間で通信回線などのエラーが発生した場合でも、データの完全性を保存する能力が高い改善されたシステムを提供する。詳細には、本発明は、ローカルディスクシステムとリモートディスクシステムとの間の通信回線エラーにもかかわらず、データの完全性を提供する。ローカルディスクシステムとリモートディスクシステムの間で通信回線エラーがまったくない場合、ローカルディスクシステムは書込みデータとともにタイムスタンプまたは書込み順序情報をリモートディスクシステムに送信する。これによりリモートディスクシステムはリモートディスクシステム自身のディスク装置にデータの完全性を備えるコピーを作成することができる。通信回線エラーがあれば、リモートディスクシステムは、空のディスク装置を割当て、ローカルディスクシステムとリモートディスクシステムとの間の通信回線エラーが検出された後、その割当てられたディスク装置においてデータの完全性を備えるコピーを作成する。そうすることによって、タイムスタンプまたは書込み順序情報を伴わない書込みデータの転送がローカルディスクシステムのディスク装置からリモートディスクシステムのディスク装置に実行されたとしても、リモートディスクシステムは安全なディスク装置によりコピーを保持できる。
【０００７】
本発明の別の利益は、リモートディスクシステムのディスク装置から新しく割当てられたディスク装置へのデータ転送と並行して、ローカルディスクシステムのディスク装置からリモートシステムのディスク装置にタイムスタンプまたは書込み順序情報を伴わずにデータの転送を可能にすることである。
【０００８】
【発明の実施の形態】
１．第１実施形態−−−１ローカルディスクシステムおよび１リモートディスクシステム。図１は、第１実施形態に従ったコンピュータシステムを示している。ローカルコンピュータシステム１００は、ローカルホストシステム１０２および少なくとも１つのローカルディスクシステム１０４を含む。リモートコンピュータシステム１０１は少なくとも１つのリモートディスクシステム１０５を含む。リモートホストシステム１０３が図示されているが、リモートホストシステム１０３はリモートコンピュータシステム１０１に必ずしも必要なわけではないことを理解するべきである。詳細には、一部の実施形態において、リモートディスクシステム１０５は、ローカルホストシステム１０２にデータバックアップ機能などを提供する独立型ディスクシステムとすることができる。ローカルディスクシステム１０４およびリモートディスクシステム１０５は、通信路１２７によって相互に接続されている。通信路１２７は、物理的通信回線、論理的ネットワークとしてよく、または仮想接続であってもよい。例えば、光ファイバ、無線、ツイストペアなどといったあらゆる所望の通信媒体を使用することができ、また、例えば１００ＢａｓｅＦＸ、ＴＣＰ／ＩＰなどのあらゆる所望の通信プロトコルを使用することができる。
【０００９】
ローカルディスクシステム１０４は、好ましくは、複数のハードディスク駆動装置を有するシステムよりなるが、光ディスク駆動装置、フラッシュメモリまたは他の記憶媒体も含み得る。そのような用語として、本書で使用するディスクシステムは、一般的な記憶システムを指すように意図されている。好ましくは、ローカルディスクシステム１０４はキャッシュメモリ１２８を備えるローカルディスク制御装置１０６を含む。同様に、リモートディスクシステム１０５はキャッシュメモリ１２８を備えるリモートディスク制御装置１０７を含む。ローカルディスクシステム１０４は、リモートディスクシステム１０５にリアルタイムコピーを有する少なくとも１個のローカルディスク装置１１３を備える。
【００１０】
リモートデュアルコピーを提供するために、リモートディスクシステム１０５は、ローカルディスク装置１１３のリアルタイムコピーが記憶されるリモートディスク装置１１４を少なくとも含む。ローカルディスク装置１１３に格納されたデータの、リモートディスク装置１１４に対する複製コピーの連続的付与は、しばしば「リモートデュアルコピー」と呼ばれる。さらに、本発明の好ましい実施形態によれば、通常それが使用されないので好ましくは空である付加的なディスク１１５も備える。ローカルディスク装置１１３およびリモートディスク装置１１４のペアは、リモートコピーペア１２６と称する。
【００１１】
それらの間においてデータの完全性が保証されるリモートコピーペア１２６のグループを、データの完全性ペアグループ１１６と称する。１個のデータの完全性ペアグループ１１６に属する１グループのローカルディスク装置１１３は、データの完全性ローカルディスクグループ１１７と称する。１個のデータの完全性ペアグループ１１６に属するリモートディスク装置１１４の１グループは、データの完全性リモートディスクグループ１１８と称する。
【００１２】
本発明による第１実施形態において、１個のデータの完全性ローカルディスクグループ１１７に属するローカルディスク装置１１３の全部は、１個のローカルディスクシステム１０４に含まれる。同様に、１個のデータの完全性リモートディスクグループ１１８に属するリモートディスク装置１１４の全部は、１個のリモートディスクシステム１０５に含まれる。リモートコピーペア情報１２３は、ローカルディスクアドレス１２４およびリモートディスクアドレス１２５を含み、これらの２つのアドレスが１個のペアを規定する。
【００１３】
上述のアーキテクチャに加え、図１はまた、ローカルディスクシステム１０４とリモートディスクシステム１０５との間で書込みデータが転送される、ローカルディスクシステム１０４およびリモートディスクシステム１０５の処理も図示している。ローカルディスクシステム１０４とリモートディスクシステム１０５との間で書込みデータの転送が使用可能である、すなわち通信路１２７（および、すべての他の必要な構成要素）が動作している場合、ここではその状態を正常状態と称する。
【００１４】
Ａ． 正常動作
本書では、ローカルディスクシステムに書込まれるデータをＩデータと称し、リモートディスクシステムに書込まれるデータをｒデータと称する。図１における矢線は、正常状態においてローカルディスクシステム１０６によって実行されるＩ書込みデータ受信プロセス１０８のフローを図示している。（図５は動作に関する流れ図である。）図１および５に例示する通り、ローカルディスクシステム１０４は、ローカルホストシステム１０２から書込み要求を受信する（ステップ５００）。書込み要求は、ローカルディスク装置１１３に関するアドレス情報および、データが格納されるディスク装置の位置（トラックおよびセクタ）を指定する。その後、ローカルディスクシステム１０４は、書込みデータ１１９を受信し、それをキャッシュメモリ１２８に格納する（ステップ５０１）。ここで、ローカルディスクシステム１０４がローカルホストシステム１０２から書込み要求を受信するとただちに、書込みカウンタ１２９が更新される。具体的には、書込みカウンタ１２９の内容を書込み順序バッファ１２２にコピーし、書込みカウンタ１２９を更新するローカルディスクシステム１０４によって実行される（ステップ５０２）。キャッシュメモリ１２８のリモートディスクアドレス１２０のリモートコピーペア情報１２３を参照することによって、ローカルディスクシステム１０４は、受信された書込み要求により指定されたローカルディスク装置１１３と同じリモートコピーペアに属するリモートディスクアドレス１２０を決定する。受信された書込み要求により指定された位置情報１２１を含むそれらの情報は、キャッシュメモリ１２８に格納される（ステップ５０３）。最後に、ローカルディスクシステム１０４は書込み要求の完了をローカルホストシステム１０２に通知する（ステップ５０４）。
【００１５】
要求が完了すると、または一連の書込み要求が処理された後、データは、リモートディスク装置１１４への書込みのためにリモートディスクシステム１０５に送信されなければならない。正常状態でローカルディスクシステム１０４により実行されるＩ書込みデータ送信プロセス１０９を、図６の流れ図により示す。このプロセスは、ローカルディスクシステム１０４における書込み要求の処理と非同期で実行され得る。詳細には、ローカルディスクシステム１０４は、書込み順序１２２が最小である（データの最も速い書込みを可能にする）書込みデータ１１９を選択し、書込みデータ１１９、書込み順序１２２、リモートディスクアドレス１２０および位置情報１２１をリモートディスクシステム１０５に送信する（ステップ６００）。その後、ローカルディスクシステム１０４は、リモートディスクシステム１０５から書込みデータの転送の完了の通知を待つ（ステップ６０１）。ローカルディスクシステム１０４が書込みデータの転送の完了の通知を受信した後、ローカルディスクシステム１０４は次の書込みデータ転送を待つ（または開始する）ためにステップ６００に戻る。
【００１６】
書込みデータ１１９、その書込み順序１２２、リモートディスクアドレス１２０および位置情報１２１をローカルディスクシステム１０４から受信した時にリモートディスクシステム１０５によって実行されるｒ書込みデータ受信プロセス１１１の動作を、図７の流れ図により示す。リモートディスクシステム１０５は、書込みデータ１１９、その書込み順序１２２、リモートディスクアドレス１２０および位置情報１２１をキャッシュメモリ１２８に格納する（ステップ７００）。その後、リモートディスクシステム１０５は、書込みデータ１１９の転送の完了をローカルディスクシステム１０４に通知する（ステップ７０１）。
【００１７】
図８は、リモートディスクシステム１０５が書込みデータ１１９をリモートディスク装置１１４に書込む際にリモートディスクシステム１０５によるｒ書込みデータデステージ処理１１２の動作の流れ図である。書込み順序１２２が最小である書込みデータ１１９を選択すると（ステップ８００）、リモートディスクシステム１０５は、対応するリモートディスクアドレスおよび位置情報に従ってリモートディスク装置１１４にデータ１１９を書込む（ステップ８０１）。その後、リモートディスクシステム１０５は、書込みデータ１１９、その書込み順序情報１２２、リモートディスクアドレス１２０および位置情報１２１をキャッシュメモリ１２８から削除する（ステップ８０２）。この時、リモートディスク装置１１４がローカルディスク装置１１３に書込まれたデータのコピーをこの時点で有するという意味で、データの完全性は保存されている。このステップの後、リモートディスクシステム１０５は、動作およびデステージングの次のセットをスケジューリングするためにステップ８００に戻る。
【００１８】
Ｂ．中断動作
図２は、例えば通信路１２７が故障したという理由で、リモートディスクシステム１０５への書込みデータ１１９の転送が可能でない場合のローカルディスクシステム１０４およびリモートディスクシステム１０５の動作を例示している図である。リモートディスクシステム１０５への書込みデータ１１９の転送が妨げられているこの状態を、ここでは「中断」状態と称する。
【００１９】
図９は、中断状態においてローカルディスクシステム１０４によって実行されるＩ書込みデータ受信プロセス１０８のプロセスフローの流れ図である。本図は、ローカルディスクシステム１０４がローカルホストシステム１０２から書込み要求を受信した時の動作を例示している。以下の説明では、（上述した）正常プロセス動作との相違だけを説明する。ローカルディスクシステム１０４は、動作すると、ローカルディスクシステム１０４とリモートディスクシステム１０５との間の相関関係を追跡する差分ビットマップ２００を維持する。正常動作において、この差分ビットマップ２００は、リモートディスクシステム１０５がローカルディスクシステム１０４を「鏡映している」ことを示すはずである。
【００２０】
しかし、中断状態において、ローカルディスクシステム１０４の差分ビットマップ２００は、ローカルディスク装置１１３のデータとリモートディスク装置１１４のデータとの間の相違を示す。（各ビットは、データの完全性ディスクグループ１１７に属するローカルディスク装置１１３の位置に対応する。）ローカルディスクシステム１０４は、受信された書込み要求により指定されたローカルディスクアドレス１２４および位置情報１２１に従って、対応するビットをオンにする（ステップ９００）。しかし当然、中断状態では、ローカルディスクシステム１０４は書込みデータ１１９をリモートディスクシステム１０５に送信することができない。
【００２１】
中断状態でリモートディスクシステム１０５によって実行される割当て動作２０２を、図１０の流れ図に示す。リモートディスクシステム１０５は、ローカルディスクシステム１０４と通信できないので、中断状態を認識することができる。リモートディスクシステム１０５は、各リモートディスク装置１１４について１個の空のディスク装置１１５を選択する。ここでは、個々の選択された空のディスク装置１１５をコピーディスク装置２０１と称する（ステップ１０００）。リモートディスク装置１１３およびコピーディスク装置２０１よりなる（一時的に形成される）ペアは、コピーペア２０９と称する。コピーペア情報２０６は、１個の一時的ペア２０９を形成するためにリモートディスクアドレス２０７および個々のコピーディスクアドレス２０８を含む。コピーペアビットマップ２０４は、リモートディスク装置１１４のデータおよびコピーディスク装置２０１のデータとの間の相違を追跡する。各ビットは、コピーペア２０９の全部に属する全部のリモートディスク装置１１４の各位置に対応する。リモートディスク装置１１５は最初に全部のビットをオンにする（ステップ１００１）。その後、リモートディスクシステム１０５は、正常状態（中断状態と対比して）で受信したキャッシュメモリ１２８の全部の書込みデータ１２２を書込み順序１１９に従ってリモートディスク装置１１５にデステージする。その後、書込みデータ１１９、その書込み順序１２２、リモートディスクアドレス１２０および位置情報１２１をキャッシュメモリ１２８から削除する（ステップ１００２）。
【００２２】
図１１は、１個のリモートディスク装置１１４から空ディスク装置１１５にデータをコピーするコピー動作２０３の流れ図である。本プロセスはリモートディスクシステム１０５によって実行される。コピーポインタ２０２は、コピープロセスが完了したディスク位置のアドレスを示す。コピーポインタ２０５は、各コピーペア２０９について存在する。リモートディスクシステム１０５は最初に、コピーポインタ２０５の初期値を設定する（ステップ１１００）。その後、コピーされるべき位置に対応するコピーペアビット２０４がオンであるかどうかを確認する（ステップ１１０１）。ビットがオンの場合、リモートディスクシステム１０５は、リモートディスク装置１１４にコピーされる位置からデータを読出し、そのデータを一時ディスク装置にデステージする（ステップ１１０２）。そしてリモートディスクシステム１０５は、一時ペアビットマップ２０４の対応するビットをオフにし（ステップ１１０３）、コピーポインタ２０５を更新する（ステップ１１０４）。次に、リモートコピーはそのコピー処理が完了したかどうかを確認する（ステップ１１０５）。否定であれば、次の位置のコピー動作が開始される。
【００２３】
Ｃ． 回復動作
通信路１２７がローカルコンピュータシステム１０２とリモートコンピュータシステム１０３との間で再確立された後、データの完全性を回復することが望ましい。図３は、通信路１２７の再確立の後にデータ回復コピーが実行される際のローカルディスクシステム１０４およびリモートディスクシステム１０５の動作を例示している。この状態を回復状態と称する。図１２は、正常処理に対する相違だけが記載されている、適切な動作の流れ図である。ローカルディスクシステム１０４は、受信された書込み要求により指定されたローカルディスクアドレス１２４および位置情報１２１に従って、差分ビットマップ２００の対応するビットがオンであるかどうかを確認する（ステップ１２００）。ビットがオンの場合、ローカルディスクシステム１０４は以降の処理を実行する。ローカルディスクシステム１０４はローカルディスク装置１１３の位置からデータを読出し、読出したデータ、リモートディスクアドレス１２５および位置情報１２１をリモートディスクシステム１０５のｒ回復コピー処理３０１に送信する（ステップ１２０１）。その後、ローカルディスクシステム１０４はリモートディスクシステム１０５から転送の完了の通知を待つ。その後、差分ビットマップ２００の対応するビットをオフにする（ステップ１２０２）。
【００２４】
図１３は、Ｉ回復コピー処理３００の流れ図である。ローカルディスクシステム１０４は、適切なビットが差分ビットマップ２００でオンであることを認める（ステップ１３００）。次に、ローカルディスクシステム１０４はローカルディスク装置１１３の位置からデータを読出し、そのデータ、リモートディスクアドレス１２５および位置情報１２１をリモートディスクシステム１０５のｒ回復コピー処理３０１に送信する（ステップ１３０１）。その後、リモートディスクシステム１０５から転送の完了の通知を待つ（ステップ１３０２）。ローカルディスクシステム１０４は、完了の通知を受信した後、差分ビットマップ２００の対応するビットをオフにする（ステップ１３０３）。その後、ローカルディスクシステム１０４は全部のビットがオフであるかどうかを確認する（ステップ１３０４）。全部のビットがオフではない場合、ローカルディスクシステム１０４はステップ１３００に戻り、いずれかの残っている「オン」ビットをアドレス指定する。全部のビットがオフであれば、ローカルディスクシステム１０４は回復コピーの完了をリモートディスクシステム１０５に通知する（ステップ１３０５）。
【００２５】
回復状態において、ローカルディスクシステムによって実行されるＩ書込みデータ送信プロセス１０９およびリモートディスクシステム１０５によって実行されるｒ書込みデータ受信プロセス１１１は両方とも、正常状態におけるものと同じである。回復状態でリモートディスクシステム１０５によって実行されるｒ書込みデータデステージプロセス１１２のフローは、図１４に示される。正常状態と対比して、リモートディスクシステム１０５は、デステージされる書込みデータ１１９の位置に対応するコピーペアビットマップ２０４のビットがオンであるかどうかを確認する（ステップ１４００）。ビットがオンである場合、リモートディスクシステム１０５は、リモートディスク装置１１４にコピーされる位置からデータを読出し、そのデータをコピーディスク装置２０１に書込む（ステップ１４０１）。その後、リモートディスクシステム１０５は、コピーポインタ２０５を更新し、コピーペアヒットマップ２０４の対応するビットをオフにする（ステップ１４０２）。その後、リモートディスクシステム１０５はデステージ処理を実行する。
【００２６】
図１５は、リモートディスクシステム１０５によって実行されるｒ回復コピー処理３０１の流れ図である。リモートディスクシステム１０５がローカルディスクシステム１０４からデータ、リモートディスクアドレス１２５および位置情報１２１を受信すると（ステップ１５００）、ローカルディスクシステム１０４はその次のプロセスを実行する。リモートディスクシステム１０５は、書込まれる書込みデータの位置に対応するコピーペアビットマップ２０４の適切なビットがオンであるかどうかを確認する（ステップ１５０１）。そのビットがオンである場合、リモートディスク装置１１４は、リモートディスク装置１１４にコピーされる位置からデータを読出し、そのデータをコピーディスク装置２０１に書込む（ステップ１５０２）。そして、ビットをオフにする（ステップ１５０３）。次に、リモートディスクシステム１０５は、ローカルディスクシステム１０４から受信したデータをリモートディスク装置１１４に書込む（ステップ１５０４）。最後に、リモートディスクシステム１０５は、要求されたプロセスの完了の通知を発行する（ステップ１５０５）。
【００２７】
リモートディスクシステム１０５がローカルディスクシステム１０４から回復プロセスの完了の通知を受信すると、リモートディスクシステム１０５は次のプロセスを実行する。最初に、リモートディスクシステム１０５は、リモートディスク装置１１４とコピーディスク装置２０１との間でコピー処理２０３が行われているかどうかを確認する（ステップ１５０６）。それが完了していない場合、リモートディスクシステム１０５はコピープロセスを中断するために停止情報を設定する（ステップ１５０７）。コピー処理が完了していれば、リモートディスクシステム１０５はコピーディスク装置２０１を解放し、再びそれを空ディスク装置１１５にする（ステップ１５０８）。
【００２８】
回復状態でリモートディスクシステム１０５によって実行されるコピー処理２０３は次の図１６に示す通りである。上述と同様、中断状態での処理との相違だけを説明する。この場合、リモートディスク装置１１４とコピーディスク装置２０１との間でのコピー処理後、リモートディスクシステム１０５は、停止情報３０２が設定されているかどうかを確認する（ステップ１６００）。設定されている場合、リモートディスクシステム１０５はコピーディスク装置２０１を解放し、それを空のディスク装置１１５にする（ステップ１６０１）。
【００２９】
図４は、通信路１２７の回復後にローカルディスクシステム１０４とリモートディスクシステム１０５との間で他のデータ回復コピーが実行されている場合のローカルディスクシステム１０４およびリモートディスクシステム１０５の動作を例示している。図３のプロセスとの基本的な相違は、リモートディスクシステム１０４において、ｒ回復コピー処理３０１が、リモートディスク装置１１４ではなく、コピーディスク装置２０１へ受信データを書込むことである。そうすることによって、リモートディスク装置１１４とローカルディスク装置１１３との間におけるデータの完全性が保証され得る。
【００３０】
ローカルディスクシステム１０４によって実行されるＩ回復コピープロセスの流れ図は、図１７に示される。図１３に示した流れ図のプロセスとの相違だけを説明する。この場合、回復コピーが完了したという通知をローカルディスクシステム１０４が送信した後、ローカルディスクシステム１０４はリモートディスクシステム１０５からの通知を待つ（ステップ１７００）。この場合、回復コピーデータがコピーディスク装置２０１に書込まれるので、コピーディスク装置２０１は、回復コピープロセスが完了した後、新しいリモートディスク装置１１４に変換されなければならない。従って、ローカルディスクシステム１０４は、新しいリモートディスク情報を受信し、受信された情報に従ってリモートコピーペア情報１２３のリモートディスクアドレス１２５を更新する（ステップ１７０１）。
【００３１】
図１８は、リモートディスクシステム１０５のｒ書込みデータデステージ処理１１２の流れ図である。図１３に示した流れ図と比べての相違は、書込みデータがデステージされた時にプロセスが実行され、図３において使用されたリモートディスク装置１１４の代わりにコピーディスク装置２０１が使用されることである（ステップ１８００）。
【００３２】
図１９は、リモートディスクシステム１０５によって実行される回復コピー処理３０１の動作を示す。図１４に示した流れ図との相違だけを説明する。第１の相違は、データがローカルディスクシステム１０４から受信された時に、図３において使用されたリモートディスク装置１１４の代わりにコピーディスク装置２０１が使用されることである（ステップ１９００）。さらに、リモートディスクシステム１０５がローカルディスクシステム１０４から回復プロセスの完了を意味する通知を受信すると、リモートディスクシステム１０５はリモートディスク装置１１４を解放し、それを空のディスク装置１１５にし、コピーディスク装置２０１を新しいリモートディスク装置１１５にする（ステップ１９０１）。最後に、リモートディスクシステム１０５は新しいリモートディスク装置１１４のアドレスの通知を付与する（ステップ１９０２）。
【００３３】
図２０は、リモートディスクシステム１０５によって実行されるリモートディスク装置１１４とコピーディスク装置２０１との間のｒコピー処理３０１を示す。図１６の流れ図に対する相違だけを説明する。リモートディスクシステム１０５はリモートディスク装置１１４を解放し、それを空のディスク装置１１５にする。それはまた、コピーディスク装置２０１を新しいリモートディスク装置１１４にする（ステップ２０００）。最後に、リモートディスクシステム１０５は、新しいリモートディスク装置１１４のアドレスの通知をローカルディスクシステム１０４に付与する（ステップ２００１）。
【００３４】
２．第２実施形態−−−複数のローカルディスクシステムおよび単一リモートディスクシステム。図２１は、第２実施形態におけるコンピュータシステムのアーキテクチャを説明する図である。第１実施形態と対比して、第２実施形態は、（１より大きい）ｍ個のローカルディスクシステム１０４に属するディスク装置１１３を有するローカルディスク装置グループ１１７を含む。図２２は、正常状態での第２実施形態におけるローカルディスクシステム１０４およびリモートディスクシステム１０５の動作を例示している。このシステムアーキテクチャでは、データの完全性を実現するために、リモートのローカルディスクシステム１０５のリモートディスク装置１１４における書込み順序は、ローカルホストシステム１０２のｎ個のローカルディスクシステム１０４におけるものと同じでなければならない。異なるローカルディスクシステム１０４間での書込みの正しい順序を保証するために、対応する書込み要求がローカルホストシステム１０２によって発行された「時刻」を表現するタイムスタンプ２２００が利用される。（複数のローカルホストシステム１０２が存在する場合、異なるローカルホストシステム１０２間でタイムスタンプを得るために、共用クロックが使用可能であると考えられる。）図２１において、ローカルディスクシステム１０４はローカルホストシステム１０２からタイムスタンプ２２００を受信する。しかし、タイムスタンプ２２００は、ｎ個のローカルディスクシステム１０４間で共通の「時刻」を利用することによって、ローカルディスクシステム１０４により生成され得る。
【００３５】
正常状態においてローカルディスクシステム１０４によって実行されるＩ書込みデータ受信プロセス１０８の流れ図を、図２６に示す。第１実施形態と対比して、ローカルディスクシステム１０４はローカルホストシステム１０２からタイムスタンプ２２００を受信し、タイムスタンプ２２００をキャッシュメモリ１２８に格納する（ステップ２６００）。正常状態でローカルディスクシステム１０４によって実行されるＩ書込みデータ送信プロセス１０９のフローを、図２７に示す。第１実施形態と対比して、ローカルディスクシステム１０４は、そのタイムスタンプ２２００が最も早い書込みデータを選択し、書込みデータ１１９、その書込み順序１２２、リモートディスクアドレス１２０、位置情報１２１およびタイムスタンプ２２００をリモートディスクシステム１０５に送信する（ステップ２７００）。
【００３６】
正常状態でリモートディスクシステム１０５によって実行されるｒ書込みデータ受信プロセス１１１の流れ図を、図２８に示す。第１実施形態との唯一の相違は、リモートディスクシステム１０５が、書込みデータ１１９、その書込み順序１２２、リモートディスクアドレス１２０、位置情報１２１およびタイムスタンプ２２００をキャッシュメモリ１２８に格納することである（ステップ２８００）。
【００３７】
正常状態でのリモートディスクシステム１０５によるｒ書込みデータデステージ処理１１２を、図２９に示す。第２実施形態において、全部の書込みデータ１１９がリモートディスク装置１１４にデステージされることはできない。リモートディスクシステム１０５が、タイムスタンプが例えば７：００である書込みデータを一方のローカルディスクシステム１０４からはすでに受信しているが、タイムスタンプが６：５０である書込みデータを他方のローカルディスクシステム１０４からはまだ受信していないということが起こり得るので、付加的な制御が必要である。リミットタイムスケジュールプロセス２２０１は、リモートディスク装置１１４へのデステージングを可能にする最大時間を決定し、その情報をリミットタイム２２０２としてキャッシュメモリ１２８に格納する。この動作を実行するための１プロセスが特開平１１−０８５４０８号公報に記載されている。リモートディスクシステム１０５は、最小タイムスタンプ２２００を有する書込みデータ１１９を選択する（ステップ２９００）。その後それはタイムスタンプ２２００をリミットタイム２２０２と比較する（ステップ２９０１）。タイムスタンプ２２００がリミットタイム２２０２より新しい場合、リモートディスクシステム１０５は書込みデータ１１９のデステージングを止める。
【００３８】
図２３は、中断状態におけるローカルディスクシステム１０４およびリモートディスクシステム１０５の動作を例示している図である。中断状態でのローカルディスクシステム１０４によるｒ書込みデータ受信プロセス１０８のフローは、図３０に示される。ローカルディスクシステム１０４は、ローカルホストシステム１０２からタイムスタンプ２２００を受信し、タイムスタンプ２２００をキャッシュメモリ１２８に格納する（ステップ３０００）。
【００３９】
中断状態においてリモートディスクシステム１０５によって実行される割当て処理２０２は、図２９に示される。リモートディスクシステム１０５が正常状態で受信されたキャッシュメモリ１２８内の全部の書込みデータ１１９をリモートディスク装置１１４にデステージしようとする前に、リモートディスクシステム１０５は、リミットタイムスケジュールプロセス２２０１より新しいタイムスタンプ２２００を有する全部の書込みデータに対応するリモートディスク装置１１４の位置からデータを読出し（ステップ３１００）、その後、全部の読出したデータをコピーディスク装置２０１の対応する位置に書込む（ステップ３１０１）。その後、リモートディスクシステム１０５は、コピーペアビットテーブル２０４の対応する位置の全部のビットをオフにする（ステップ３１０２）。中断状態においてリモートディスクシステム１０５によって実行されるコピー処理２０３は、第１実施形態と同じである。
【００４０】
図２４は、第２実施形態の回復状態におけるローカルディスクシステム１０４およびリモートディスクシステム１０５の動作を例示する。図３２は、回復状態でのローカルディスクシステム１０４によって実行されるＩ書込みデータ受信プロセス１０８に関する流れ図である。ローカルディスクシステム１０４は、ローカルホストシステム１０２からタイムスタンプ２２００を受信し、タイムスタンプ２２００をキャッシュメモリ１２８に格納する（ステップ３２００）。
【００４１】
第２実施形態では、回復状態におけるＩ書込み送信プロセス１０９およびｒ書込みデータ受信プロセス１１１は、正常状態と同じである。Ｉ回復コピー処理３００、ｒ回復コピー処理３０１およびコピー動作２０３は、第１実施形態と同じである。
【００４２】
正常状態でのリモートディスクシステム１０５によるｒ書込みデータデステージ処理１１２を、図３３に示す。リモートディスクシステム１０５は、最も古いタイムスタンプ２２００を有する書込みデータ１１９を選択する（ステップ３３００）。そして、タイムスタンプ２２００をリミットタイム２２０２と比較する（ステップ３３０１）。タイムスタンプ２２００がリミットタイム２２０２より古い場合、リモートディスクシステム１０５は書込みデータ１１９のデステージングを止める。
【００４３】
図２５は、第２実施形態の他の回復状態におけるローカルディスクシステム１０４およびリモートディスクシステム１０５の動作を例示している。第２実施形態の図２５に示した動作は、第１実施形態の図４に示した動作に対応している。
【００４４】
第２実施形態において、回復状態でのＩ書込み送信処理１０９およびｒ書込みデータ受信処理１１１は、正常状態と同じである。Ｉ回復コピー処理３００、ｒ回復コピー処理３０１およびコピー動作２０３もまた、第１実施形態におけるものと同じである。図２４のＩ書込みデータ受信プロセス１０９もやはり図２３のプロセスと同じである。
【００４５】
正常状態でのリモートディスクシステム１０５によるｒ書込みデータデステージ処理１１２を、図３４に示す。リモートディスクシステム１０５は、最も古いタイムスタンプ２２００を有する書込みデータ１１９を選択する（ステップ３４００）。そして、タイムスタンプ２２００をリミットタイム２２０２と比較する（ステップ３４０１）。タイムスタンプ２２００がリミットタイム２２０２より新しい場合、リモートディスクシステム１０５は書込みデータ１１９のデステージングを止める。
【００４６】
３．第３実施形態−−−複数のローカルディスクシステムおよび複数のリモートディスクシステム。図３５は、コンピュータシステムの第３実施形態を例示する図である。第３実施形態と他の実施形態との相違は、第３実施形態のデータの完全性ローカルディスク装置グループ１１７が、（１より大きい）ｍ個のローカルディスクシステム１０４に属するローカルディスク１１３を含み、データの完全性リモートディスク装置グループ１１８が、（１より大きい）ｎ個のリモートディスクシステム１０５に属するリモートディスク１１４を含むことである。このアーキテクチャにおいて、全体のリモートディスクシステム１０５におけるデータの完全性を保証するために、タイムスタンプ情報がリモートディスクシステム１０５間で交換されなければならない。この実施形態では、タイムスタンプ２２００が例えば７：００である書込みデータ１１９を一方のリモートディスクシステム１０５はすでに受信しているが、他方のリモートディスクシステム１０５はタイムスタンプ２２００が６：５０である書込みデータ１１９をまだ受信していないということが起こり得るので、個々のスレーブリミットタイムスケジュールプロセス３５０１は、タイムスタンプに関する情報をマスタリミットタイムスケジュールプロセス３５００に送信する。その後、マスタリミットタイムスケジュールプロセス３５００は、リモートディスク装置１１４へのデステージングを可能にする最大時間を決定し、その情報を各スレーブリミットタイムスケジュール処理３５０１に送信する。次に、各スレーブリミットタイムスケジュール処理３５０１は、この情報をリミットタイム２２０２として個々のキャッシュメモリ１２８に格納する。これらのプロセスの例は、特開平１１−０８５４０８号公報に記載されている。リミットタイム２２０２が個々のリモートディスクシステム１０５のキャッシュメモリ１２８に格納されるので、マスタタイムリミットスケジュール処理３５００およびスレーブリミットタイムスケジュール処理３５０１以外の他の全部のプロセスは第２実施形態のものと同じである。
【００４７】
上述のように、本発明は、ローカルディスクシステムとリモートディスクシステムとの間のデータ通信が遮断された場合でも、データの完全性を保証する非同期リモートコピーシステムを提供する。また記載の通り、本発明は、１ローカルディスクシステムおよび１リモートディスクシステム、複数のローカルディスクシステムおよび単一のリモートディスクシステムならびに複数のローカルディスクシステムおよび複数のリモートディスクシステムを有するアーキテクチャといった、いくつかのリモートコピーシステムアーキテクチャに対する適用可能性を有する。
【００４８】
上記は本発明の好適な実施形態の説明である。添付請求の範囲によって規定される本発明の範囲に反することなく逸脱および修正が行い得ることが理解されるであろう。
【図面の簡単な説明】
【図１】通信路により相互に結合された１ローカルディスクシステムおよび１リモートディスクシステムが存在する、本発明の第１実施形態によるコンピュータシステムを例示する。
【図２】通信路によるローカルディスクシステムからリモートディスクシステムへの書込みデータの転送が防げられた場合のローカルディスクシステムおよびリモートディスクシステムの動作を例示する。
【図３】ローカルディスクシステムおよびリモートディスクシステムが元のリモートディスクボリュームを回復する、通信路が再確立された後のデータ回復コピー動作を例示する。
【図４】ローカルディスクシステムおよびリモートディスクシステムが付加的なリモートディスクボリュームを回復する、通信路が再確立された後のデータ回復コピー動作を例示する。
【図５】ローカルディスクシステムおよびリモートディスクシステムの正常動作を例示する流れ図である。
【図６】ローカルディスクシステムおよびリモートディスクシステムの正常動作を例示する流れ図である。
【図７】ローカルディスクシステムおよびリモートディスクシステムの正常動作を例示する流れ図である。
【図８】ローカルディスクシステムおよびリモートディスクシステムの正常動作を例示する流れ図である。
【図９】通信路が故障した場合のローカルディスクシステムおよびリモートディスクシステムの動作を例示する流れ図である。
【図１０】通信路が故障した場合のローカルディスクシステムおよびリモートディスクシステムの動作を例示する流れ図である。
【図１１】通信路が故障した場合のローカルディスクシステムおよびリモートディスクシステムの動作を例示する流れ図である。
【図１２】「古い」ボリュームのためのデータ回復動作を例示する流れ図である。
【図１３】「古い」ボリュームのためのデータ回復動作を例示する流れ図である。
【図１４】「古い」ボリュームのためのデータ回復動作を例示する流れ図である。
【図１５】「古い」ボリュームのためのデータ回復動作を例示する流れ図である。
【図１６】「古い」ボリュームのためのデータ回復動作を例示する流れ図である。
【図１７】「新しい」ボリュームのためのデータ回復動作を例示する流れ図である。
【図１８】「新しい」ボリュームのためのデータ回復動作を例示する流れ図である。
【図１９】「新しい」ボリュームのためのデータ回復動作を例示する流れ図である。
【図２０】「新しい」ボリュームのためのデータ回復動作を例示する流れ図である。
【図２１】複数のローカルディスクシステムおよび単一リモートディスクシステムが存在する、本発明の第２実施形態によるコンピュータシステムを例示する。
【図２２】複数のローカルディスクシステムおよび１リモートディスクシステムが存在する、本発明の第２実施形態によるコンピュータシステムを例示する。
【図２３】通信路によるローカルディスクシステムからリモートディスクシステムへの書込みデータの転送が防げられた場合の複数のローカルディスクシステムおよび１リモートディスクシステムの動作を例示する。
【図２４】複数のローカルディスクシステムおよびリモートディスクシステムが元のリモートディスクボリュームを回復する、通信路が再確立された後のデータ回復コピー動作を例示する。
【図２５】複数のローカルディスクシステムおよびリモートディスクシステムが付加的なリモートディスクボリュームを回復する、通信路が再確立された後のデータ回復コピー動作を例示する。
【図２６】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図２７】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図２８】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図２９】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図３０】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図３１】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図３２】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図３３】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図３４】図２１〜２５に示すプロセスの詳細を例示する流れ図である。
【図３５】通信路によって相互に結合された複数のローカルディスクシステムおよび複数のリモートディスクシステムが存在する、本発明の第３実施形態に従ったコンピュータシステムを例示する。
【符号の説明】
１００…ローカルコンピュータシステム、１０１…リモートコンピュータシステム、１０２…ローカルホストシステム、１０３…リモートホストシステム、１０４…ローカルディスクシステム、１０５…リモートディスクシステム、１０６…ローカルディスク制御装置、１０７…リモートディスク制御装置、１１４…リモートディスク装置、１１７…ローカルディスク装置、１２７…通信路、１２８…キャッシュメモリ、２２８…キャッシュメモリ。
【図１】
0004074072.tif 000002
【図２】
0004074072.tif 000003
【図３】
0004074072.tif 000004
【図４】
0004074072.tif 000005
【図５】
0004074072.tif 000006
【図６】
0004074072.tif 000007
【図７】
0004074072.tif 000008
【図８】
0004074072.tif 000009
【図９】
0004074072.tif 000010
【図１０】
0004074072.tif 000011
【図１１】
0004074072.tif 000012
【図１２】
0004074072.tif 000013
【図１３】
0004074072.tif 000014
【図１４】
0004074072.tif 000015
【図１５】
0004074072.tif 000016
【図１６】
0004074072.tif 000017
【図１７】
0004074072.tif 000018
【図１８】
0004074072.tif 000019
【図１９】
0004074072.tif 000020
【図２０】
0004074072.tif 000021
【図２１】
0004074072.tif 000022
【図２２】
0004074072.tif 000023
【図２３】
0004074072.tif 000024
【図２４】
0004074072.tif 000025
【図２５】
0004074072.tif 000026
【図２６】
0004074072.tif 000027
【図２７】
0004074072.tif 000028
【図２８】
0004074072.tif 000029
【図２９】
0004074072.tif 000030
【図３０】
0004074072.tif 000031
【図３１】
0004074072.tif 000032
【図３２】
0004074072.tif 000033
【図３３】
0004074072.tif 000034
【図３４】
0004074072.tif 000035
【図３５】
0004074072.tif 000036