(57)【要約】【課題】  本発明は、複数のディスク装置を持つシステムにおいて遠隔地に副ディスク装置を備えてディスクの二重書きを行うとき、中央処理装置とディスク装置間のデータ転送量を削減し、制御装置間の距離が拡大しても、性能の劣化を抑えることができ、さらに、トランザクションの途中結果を残さないような記憶制御装置及び記憶制御方法を提供する。【解決手段】  基準時刻を決め、副中央処理装置に、その基準時刻より古いライト時刻を持つ更新情報のみ、副ディスク装置に含まれる論理ディスクに反映することを指示するプログラムを備える。副中央処理装置からの指示を受け、副ディスク装置に、副中央処理装置が指定した基準時刻より古いライト時刻を持つ更新情報のみ、副ディスク装置に含まれる論理ディスクに反映する更新情報反映部を備える。【選択図】  図１
2005190455.tif 000002
【特許請求の範囲】
【請求項１】
第1のコンピュータと、
前記第1のコンピュータと接続される複数の第1の記憶装置システムと、
第2のコンピュータと、
前記第2のコンピュータと接続される複数の第2の記憶装置システムとを有するリモートコピーシステムであって、
前記複数の第１の記憶装置システム各々は、第1の記憶装置と、前記第１の記憶装置と接続される第1の記憶制御装置とを有し、
前記複数の第２の記憶装置システム各々は、第２の記憶装置と、前記第2の記憶装置と接続される第２の記憶制御装置とを有し、
前記複数の第1の記憶装置システム各々は、前記複数の第2の記憶装置システムのいずれかと接続されており、
第1の記憶制御装置は、前記第1のコンピュータからライト時刻を含む複数のライト要求を受信し、
ライト時刻の古いライト要求から順に、ライト要求内のライトデータを、第1の記憶装置に対して、ライトし、
前記第1のコンピュータにライト処理の完了を送信し、
第1の記憶制御装置に接続される第2の記憶制御装置に、ライト時刻の古い順にライト要求を送信し、
第2の記憶制御装置は、第2の記憶制御装置と接続される第１の記憶制御装置からライト要求を受信し、
ライト時刻の古い順にライト要求を第2の記憶制御装置が有する副更新情報記憶部に格納し、
第2の記憶制御装置と接続される第1の記憶制御装置に完了報告を送信し、
前記第2のコンピュータは、第2の記憶制御装置が、第2の記憶装置にライト要求内のライトデータをライトするか否かの決定に用いられる基準時刻を決定し、
第2の記憶制御装置は、前記基準時刻を受信し、前記基準時刻以前のライト時刻を有するライト要求内のライトデータを第2の記憶装置にライトすることを特徴とするリモートコピーシステム。
【請求項２】
請求項１記載のリモートコピーシステムであって、
複数の第2の記憶制御装置各々は、第2の記憶制御装置と接続される第1の記憶制御装置から受信した複数のライト要求各々に含まれるライト時刻のうち、最新のライト時刻を前記第2のコンピュータに報告し、
前記第2のコンピュータは、前記複数の第2の記憶制御装置各々から受信した複数のライト時刻から、第2の記憶制御装置が第2の記憶装置にライト要求内のライトデータをライトするか否かの決定に用いられる基準時刻を決定することを特徴とするリモートコピーシステム。
【請求項３】
請求項２記載のリモートコピーシステムであって、
前記第2のコンピュータは、前記複数の第2の記憶制御装置各々から受信した複数のライト時刻のうち、最古のライト時刻を前記基準時刻とすることを特徴とするリモートコピーシステム。
【請求項４】
請求項１記載のリモートコピーシステムであって、
複数の第1の記憶制御装置各々は、第2の記憶制御装置に送信したライト要求に対して、第2の記憶制御装置から完了報告を受信したかどうかを管理し、
完了報告を受信していないライト要求のライト時刻のうち、最古のライト時刻を第2の記憶制御装置に送信することを特徴とするリモートコピーシステム。
【請求項５】
請求項４記載のリモートコピーシステムであって、
複数の第2の記憶制御装置各々は、第2の記憶制御装置と接続される第1の記憶制御装置から受信した複数の最古のライト時刻のうち、最新のライト時刻を前記第2のコンピュータに報告し、
前記第2のコンピュータは、前記複数の第2の記憶制御装置各々から受信した複数のライト時刻から、第2の記憶制御装置が第2の記憶装置にライト要求内のライトデータをライトするか否かの決定に用いられる基準時刻を決定することを特徴とするリモートコピーシステム。
【請求項６】
請求項１記載のリモートコピーシステムであって、
前記第２のコンピュータは、前記基準時刻をあらかじめ定められた計算式により決定することを特徴とするリモートコピーシステム。
【請求項７】
請求項６記載のリモートコピーシステムであって、
前記複数の第2の記憶制御装置各々は、前記基準時刻以降のライト時刻を含むライト要求を第1の記憶制御装置から受信すると、前記第2のコンピュータに完了報告を送信し、前記第２のコンピュータは、すべての前記複数の第２の記憶制御装置から前記完了報告を受信したのち、新たな基準時刻を決定することを特徴とするリモートコピーシステム。
【請求項８】
第１のコンピュータと接続される複数の第１の記憶装置システムと、
第２のコンピュータと接続される複数の第２の記憶装置システムとを有するシステムであって、
前記複数の第１の記憶装置システム各々は、第１の記憶装置と、前記第１の記憶装置と接続される第１の記憶制御装置を有し、
前記複数の第２の記憶装置システム各々は、第２の記憶装置と、前記第２の記憶装置と接続される第２の記憶制御装置を有し、
前記複数の第１の記憶装置システム各々は、前記複数の第２の記憶装置システムのいずれかと接続され、
第１の記憶制御装置は、前記第１のコンピュータからライト時刻を含む複数のライト要求を受信し、
前記複数のライト要求に含まれるライト時刻の古いライト要求から順に、ライト要求内のライトデータを第１の記憶装置に対してライトし、
前記第１のコンピュータにライト処理の完了を送信し、
第1の記憶制御装置に接続される第２の記憶制御装置に、ライト時刻の古い順にライト要求を送信し、
第２の記憶制御装置は、第２の記憶制御装置と接続される第1の記憶制御装置からライト要求を受信し、
ライト時刻の古い順にライト要求を第2の記憶制御装置が有する副更新情報記憶部に格納し、
第２の記憶制御装置と接続される第１の記憶制御装置に完了報告を送信し、
前記第２のコンピュータが決定した、第２の記憶制御装置が第２の記憶装置にデータをライトするか否かの決定に用いられる基準時刻を受信し、
前記基準時刻以前のライト時刻を有するライト要求に従って、第２の記憶装置にライト要求内のライトデータをライトすることを特徴とするシステム。
【請求項９】
請求項８記載のシステムであって、
複数の第２の記憶制御装置各々は、受信した複数のライト要求各々に含まれるライト時刻のうち、最新のライト時刻を前記第２のコンピュータに報告し、
前記第２のコンピュータが、前記複数の第２の記憶制御装置各々から受信した複数のライト時刻から決定した、複数の第２の記憶制御装置各々が、第２の記憶装置に、ライト要求内のライトデータをライトするか否かの決定に用いられる基準時刻を受信することを特徴とするシステム。
【請求項１０】
請求項８記載のシステムであって、
複数の第2の記憶制御装置各々は、前記第２のコンピュータがあらかじめ定めた計算式により決定した前記基準時刻を受信し、
前記基準時刻以降のライト時刻を含むライト要求を、第2の記憶制御装置と接続される第1の記憶制御装置から受信すると、前記第2のコンピュータに完了報告を送信し、前記第２のコンピュータが、すべての前記複数の第２の記憶制御装置から前記完了報告を受信したのちに決定した新たな基準時刻を受信することを特徴とするシステム。
【請求項１１】
請求項８記載のシステムであって、
複数の第２の記憶制御装置各々は、第２の記憶制御装置に接続される第１の記憶制御装置にライト要求を送信するよう指示することを特徴とするシステム。
【請求項１２】
請求項８記載のシステムであって、
第１の記憶制御装置が、前記第１のコンピュータから受信するライト要求には、ライト要求に従ってライトデータを格納する第１の記憶装置のアドレスが含まれており、
第１の記憶制御装置は、前記アドレスに基づき、ライト要求に従ってライトデータを格納する第２の記憶装置のアドレスを決定し、決定した第２の記憶装置のアドレスをライト要求に付加して第２の記憶制御装置に送信することを特徴とするシステム。
【請求項１３】
請求項８記載のシステムであって、
前記複数の第1の記憶装置システム各々は、正更新情報記憶部を有し、
前記第1のコンピュータから受信したライト要求は、古い順に正更新情報記憶部に格納されることを特徴とするシステム。
【請求項１４】
請求項１３記載のシステムであって、
前記複数の第1の記憶装置システム各々は、更新情報送信部を有し、
更新情報送信部は、正更新情報記憶部に格納された複数のライト要求を、ライト要求に含まれるライト時刻の古い順に読み出し、
読み出したライト要求を第２の記憶制御装置に送信することを特徴とするシステム。
【請求項１５】
請求項１４記載のシステムであって、
更新情報送信部は、第1の記憶制御装置と接続される第２の記憶制御装置から送信したライト要求に対する完了報告を受信すると、ライト要求が格納される正更新情報記憶部から完了報告に対応するライト要求を削除することを特徴とするシステム。
【請求項１６】
請求項８記載のシステムであって、
前記複数の第２の記憶装置システム各々は、更新情報受領部を有し、
更新情報受領部は、第1の記憶装置システムから、ライト要求を受信すると、受信したライト要求をライト要求に含まれるライト時刻の古い順に並べて、副更新情報記憶部に格納し、第1の記憶装置システムに完了報告を送信することを特徴とするシステム。
【請求項１７】
請求項８記載のシステムであって、
前記複数の第２の記憶装置システム各々は、最新時刻報告部を有し、
最新時刻報告部は、前記第２のコンピュータからの指示を受信し、
副更新情報記憶部に格納されたライト要求に含まれるライト時刻のうち、最新の書き込み時刻を前記第2のコンピュータに報告することを特徴とするシステム。
【請求項１８】
請求項８記載のシステムであって、
前記複数の第２の記憶装置システム各々は、更新情報反映部を有し、
更新情報反映部は、前記基準時刻を前記第２のコンピュータから受信すると、
前記基準時刻以前のライト時刻を含むライト要求内のライトデータを第２の記憶装置にライトすることを特徴とするシステム。
【請求項１９】
請求項１８記載のシステムであって、
更新情報反映部は、第２の記憶装置にライト要求内のライトデータをライトしたライト要求を副更新情報記憶部から削除し、
前記第２のコンピュータに完了報告を送信することを特徴とするシステム。
【請求項２０】
第1のコンピュータと、
第1の記憶装置と、前記第１の記憶装置と接続される第1の記憶制御装置とを有する前記第1のコンピュータと接続される複数の第1の記憶装置システムと、
第2のコンピュータと、
第２の記憶装置と、前記第2の記憶装置と接続される第２の記憶制御装置とを有する前記第2のコンピュータと接続される複数の第2の記憶装置システムとを有するリモートコピーシステムにおける方法であって、
前記複数の第1の記憶装置システム各々は、前記複数の第2の記憶装置システムのいずれかと接続されており、
第1の記憶制御装置は、前記第1のコンピュータからライト時刻を含む複数のライト要求を受信し、
ライト時刻の古いライト要求から順に、ライト要求内のライトデータを、第1の記憶装置に対して、ライトし、
前記第1のコンピュータにライト処理の完了を送信し、
第1の記憶制御装置に接続される第2の記憶制御装置に、ライト時刻の古い順にライト要求を送信し、
第2の記憶制御装置は、ライト時刻の古い順にライト要求を第2の記憶制御装置が有する副更新情報記憶部に格納し、
第2の記憶制御装置と接続される第1の記憶制御装置に完了報告を送信し、
前記第2のコンピュータは、第2の記憶制御装置が、第2の記憶装置にライト要求内のライトデータをライトするか否かの決定に用いられる基準時刻を決定し、
第2の記憶制御装置は、前記基準時刻を受信し、前記基準時刻以前のライト時刻を有するライト要求内のライトデータを第2の記憶装置にライトすることを特徴とするリモートコピーシステムにおける方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なったディスクシステムの間でのリモートコピーの技術に関する。
【背景技術】
【０００２】
特許文献１には、遠隔地にあるディスクシステム間でリモートコピーを行う技術が開示されている。特許文献１では、アプリケーションを実行するコンピュータ（以下、正ＣＰＵと呼ぶ）から直接ライト要求を受ける正ディスクシステムは、ライト要求処理後、直ちにライト要求完了報告を正ＣＰＵに報告する。さらに、正ディスクシステムが受領したライト要求のコピーが、正ＣＰＵにより読み出される。正ＣＰＵから発行されるライト要求には、このライト要求を正ＣＰＵが発行した時刻が含まれている。ライト要求のコピーが正ＣＰＵにより読み出されるとき、ライト時刻も正ＣＰＵに渡される。読み出したライト要求のコピーは、正ＣＰＵから、遠隔地にあるコンピュータ（以下、副ＣＰＵと呼ぶ）に送られる。
【０００３】
ライト要求のコピーとライト時刻を受け取った副ＣＰＵは、副ＣＰＵに接続されている副ディスクシステム内に、ライト時刻順にライト要求内のライトデータをライトする。
【０００４】
特許文献１記載の発明によれば、オンラインシステムなどで標準的に使用されるトランザクションの途中結果を残さないようにすることができる。
【０００５】
たとえば、システムＡからシステムＢにデータを送信するトランザクションを実行する場合、システムＡからデータを送信したにもかかわらず、システムＢ内にデータは書き込まれていない等、システムＡとシステムＢとで、データの整合性がとれていない状態を残さないようにすることが、トランザクションの途中結果を残さないということである。通常、オンラインシステムでは、データの回復の単位はトランザクションであるため、トランザクションの途中結果を残すことは、きわめて重大な障害である。
【０００６】
次に、特許文献１のような処理を行うと、トランザクションの途中結果を残さないようにすることができることを簡単に説明する。リモートコピーを行っている正ディスクシステムと副ディスクシステム内には、口座情報などのデータベースを格納したディスクと、トランザクションの更新履歴を残したジャーナルを格納したディスクがある。
【０００７】
正ＣＰＵがダウンした後、正ＣＰＵが回復すると、正ＣＰＵの回復処理プログラムにより、正ディスクシステム内のジャーナルが解析され、ジャーナルを用いて、終了していないトランザクションの更新結果は、トランザクション実行開始前の状態に戻されるなどの処理が実行され、トランザクションの途中結果を残さないようにすることができる。
【０００８】
また、副ディスクシステム内に書き込んだデータが有効となるのは、最新のデータを格納した正ディスクシステムが破壊されてしまったような場合である。副ディスクシステム内には、最新のデータは格納されていないが、ある時刻までに発行されたライト要求内のライトデータがライトされていることは保証されている。これにより、副ディスクシステム内に格納されたデータベースとジャーナルを使って、正ＣＰＵがダウンし、正ＣＰＵが回復した後に実行する回復処理と同様の処理を副ＣＰＵが実行することにより、トランザクションの途中結果を残さないようにすることができる。
【０００９】
【特許文献１】欧州特許出願公開第０６７２９８５号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
特許文献１では、ディスクシステム間の距離が拡大しても、正ディスクシステムが正ＣＰＵから受け取ったライト要求のライト要求完了を正ＣＰＵに報告した後、副ディスクシステムにライト要求を転送することにより、正ＣＰＵが正ディスクシステムにライト要求を発行してから、ライト要求完了を受信するまでの応答性能の劣化は少なく、トランザクションの途中結果を残さない。
【００１１】
しかし、正ＣＰＵがライト要求を読み出し、副ＣＰＵにデータを転送しなければならないため、ＣＰＵとディスクシステム間をデータが何度も往復することになり、転送オーバーヘッドが大きい。
【００１２】
そこで、ＣＰＵとディスクシステム間のデータ転送量を抑えながら、ディスクシステム間で、リモートコピーを行う技術を開示する。
【課題を解決するための手段】
【００１３】
正ＣＰＵは正ディスクシステムにライト要求を発行する際にライト時刻を付与する。正ディスクシステムは、ライト要求を正ＣＰＵから受け取ると、要求完了を正ＣＰＵに報告する。その後、正ディスクシステムは、副ディスクシステムにライト要求とライト時刻を送る。
【００１４】
副ＣＰＵは、副ディスクシステムが受信したライト要求内のライトデータを副ディスクシステムが有するディスクにライトする基準時刻を決定し、その基準時刻以前のライト時刻を持つライト要求内のライトデータをライトするよう、副ディスクシステムに指示する。
【発明の効果】
【００１５】
遠隔地のディスクシステム間でリモートコピーを行う際、直接ディスクシステム間でライト要求を受け渡すことにより、ＣＰＵとディスクシステム間のデータ転送オーバーヘッドを抑えることができる。さらに、ディスクシステム間の距離が拡大しても、正ディスクシステムが正ＣＰＵから受け取ったライト要求のライト要求完了を正ＣＰＵに正ディスクシステムが報告した後、副ディスクシステムにライト要求を転送することにより、正ＣＰＵが正ディスクシステムにライト要求を発行してから、ライト要求完了を受信するまでの応答性能の劣化を抑えることができる。また、複数のディスクシステムで構成されるシステムにおいても、トランザクションの途中結果を残さないことができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施例について、図面を参照して説明する。尚、本発明は、本実施例に限られるものではない。
【実施例１】
【００１７】
まず、第１の実施例について説明する。
【００１８】
図１は、実施例１におけるシステム全体の構成の一例を示した図である。
【００１９】
コンピュータ（以下、正ＣＰＵと呼ぶ）１００は、１つの主記憶装置（以下、ＭＳと呼ぶ）１２０と、１つの主記憶装置１２０に接続される１または複数の命令処理装置（以下、ＩＰと呼ぶ）１１０と、MS１２０と接続される１または複数の入出力処理装置（以下、ＩＯＰと呼ぶ）１３０とを有する。１または複数の記憶装置システム（以下、正ディスクシステムと呼ぶ）２００は、１または複数の正ＣＰＵ１００に、ＩＯＰ１３０を介して接続される。正ディスクシステム２００には、それぞれ対応する記憶装置システム（以下、副ディスクシステムと呼ぶ）３００が接続される。副ディスクシステム３００は、１または複数のコンピュータ（以下、副ＣＰＵと呼ぶ）４００に接続される。副ＣＰＵ４００は、ハードウェアの構成としては正ＣＰＵ１００と同様で、１または複数のＩＰ１１０と、１または複数のＩＯＰ１３０が接続されるＭＳ１２０を有する。副ＣＰＵ４００に含まれるＭＳ１２０には、更新情報反映指示プログラム４１０が含まれる。更新情報反映プログラム４１０は、副ＣＰＵ４００に含まれるＩＰ１１０により実行される。
【００２０】
図２は、実施例１における正ディスクシステム２００の構成の一例を示した図である。
【００２１】
正ディスクシステム２００は正ディスク制御装置２１０と論理ディスク２２０を有する。
【００２２】
論理ディスク２２０は、正ＣＰＵ１００で実行されるソフトウェアが指定するディスクである。本発明では、論理ディスク２２０は、実際に物理的なディスクとして実装される場合もあれば、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）構成として複数の物理的なディスクを用いて実装される場合もある。このような論理ディスク２２０の実装については、一般的なディスク装置の実装方法であるため、本明細書に詳細は記述しない。
【００２３】
正ディスク制御装置２１０は、正ライト要求受領部２３０と、更新情報送出部２４０と、正更新情報記憶部２５０と、副論理ディスク対応表２６０とを有する。以降、各部で実行される処理は、正ディスク制御装置２１０内のメモリに格納される各部に対応するプログラムが、正ディスク制御装置２１０内のＣＰＵにより実行される処理であっても良い。
【００２４】
副論理ディスク対応表２６０は、後述するライト情報５２０に含まれる正ディスクシステム２００の正論理ディスクＩＤから、対応する副ディスクシステム３００の論理ディスクＩＤを求めるための対応表である。
【００２５】
ライト要求５００は、正ＣＰＵ１００から正ディスクシステム２００に発行され、ライト時刻５１０とライト情報５２０とが格納される。本発明では、正ＣＰＵ１００が正ディスクシステム２００にライト要求５００を発行するとき、ライト情報５２０にライト時刻５１０を付与する。ライト時刻５１０は、本ライト要求５００が発行された時刻を示しており、ライト時刻５１０により、正ディスクシステム２００は複数のライト要求５００を順序付けすることができる。正ＣＰＵ１００が複数存在する場合は、共通のクロックを用いて、ライト要求にライト時刻を付与する等により、異なる正ＣＰＵ１００で発行されたライト要求５００も順序付けできるようになっているものとする。ライト情報５２０には、ライトデータそのもの、ライト対象の論理ディスクＩＤ、ライトデータ長、ライトアドレスが含まれる。これらは、正ＣＰＵ１００が正ディスクシステム２００に発行する一般的なライト情報であり、本明細書に詳細は記述しない。
【００２６】
図３は、実施例１における副ディスクシステム３００の構成の一例を示した図である。
【００２７】
副ディスクシステム３００は副ディスク制御装置３１０と論理ディスク２２０とを有する。副ディスク制御装置３１０は、更新情報受領部３３０と、最新時刻報告部３４０と、副更新情報記憶部３５０と、更新情報反映部３６０とを有する。以降、各部で実行される処理は、副ディスク制御装置３１０内のメモリに格納される各部に対応するプログラムが、副ディスク制御装置３１０内のＣＰＵにより実行される処理であっても良い。
【００２８】
論理ディスク２２０は、副ＣＰＵ４００で実行されるソフトウェアが指定するディスクであり、正ディスクシステム２００が含む論理ディスク２２０と同様の一般的な手法を用いて実装されているため、実装については本明細書に詳細は記述しない。
【００２９】
図４は、実施例１における正ライト要求受領部２３０の処理の一例を示した図である。正ライト要求受領部２３０は、正ＣＰＵ１００がライト要求５００を発行するたびに図４に示される処理を行う。
【００３０】
ステップ１０００で、正ライト要求受領部２３０は、ライト要求５００を受け取ると、受け取ったライト要求５００中のライト情報５１０に含まれる論理ディスクＩＤと副論理ディスク対応表２６０を用いて、ライト情報５１０で指定された正論理ディスク２１０に対応する副論理ディスクＩＤを求める。次に、ステップ１０１０で、正ライト要求受領部２３０は、求めた副論理ディスクＩＤをライト要求５００に付加し、更新情報を作成する。更新情報は、正ディスクシステム２００が受け取ったライト要求５００に、既に求めた副論理ディスクＩＤを付加した情報である。また、正ライト要求受領部２３０は、更新情報に、副ディスクシステム転送必要ビットを付加したライトデータ管理情報を作成する。ここで、副ディスクシステム転送必要ビットとは、副ディスクシステム３００に、更新情報の転送が必要であることを表す情報である。次に、ステップ１０２０で、正ライト要求受領部２３０は、正ライト要求受領部２３０が作成した更新情報と、ライトデータ管理情報とを、更新情報に含まれるライト時刻５１０の古い順に並べて、正更新情報記憶部２５０に格納する。正更新情報記憶部２５０にライトデータ管理情報を格納する際、副ディスクシステム転送必要ビットをONにする。正更新情報記憶部２５０は、更新情報を、更新情報に含まれるライト時刻５１０の古い順に格納するための記憶装置である。次に、ステップ１０３０で、正ライト要求受領部２３０は、ライト要求５００で指示される論理ディスク２２０に対してライトデータのライトを実行し、ライトデータをライト要求の論理ディスクIDが示す論理ディスクにライトする。最後に、ステップ１０４０で、正ライト要求受領部は、正ＣＰＵ１００に対してライト要求５００が完了したことを報告する。このようにして、正更新情報記憶部２５０には、ライト要求５００が発行された順にそれに対応する更新情報が格納される。尚、本実施例では、ライトデータ管理情報は、正更新情報記憶部２５０に格納するとしたが、本実施例に限られるものではない。
【００３１】
図５は、実施例１における更新情報送出部２４０の処理の一例を示した図である。更新情報送出部２４０は、正ディスクシステム２００にリモートコピーの正ディスクとして指定されている論理ディスク２２０が存在する間、図５に示される処理を行う。
【００３２】
ステップ１１００で、更新情報送信部２４０は、正更新情報記憶部２５０に更新情報が格納されるのを待つ。次に、ステップ１１１０で、更新情報送信部２４０は、正更新情報記憶部２５０から更新情報に含まれるライト時刻５１０が古い順に、更新情報を読み出す。次に、ステップ１１２０で、更新情報送信部２４０は、読み出した更新情報を、正ディスクシステム２００に接続された副ディスクシステム３００に送る。次に、ステップ１１３０で、更新情報送信部２４０は、副ディスクシステム３００から完了報告が返るのを待つ。副ディスクシステム３００から完了報告が返ってくると、更新情報送出部２４０は、ライトデータ管理情報の副ディスクシステム転送必要ビットをOFFにする。最後に、ステップ１１４０で、更新情報送信部２４０は、読み出した更新情報を正更新情報記憶部２５０から削除し、ステップ１１００に戻る。このようにして、正更新情報記憶部２５０に格納された更新情報は、更新情報に含まれるライト時刻５１０の古い順（すなわち、ライト要求５００が発行された順）に、接続された副ディスクシステム３００に送られる。
【００３３】
図６は、実施例１における更新情報受領部３３０の処理の一例を示した図である。更新情報受領部３３０は、接続されている正ディスクシステム２００から送られた更新情報を受信するたびに、図６に示される処理を行う。
【００３４】
ステップ１２００で、更新情報受領部３３０は、正ディスクシステム２００から送られた更新情報を受け取ると、正ディスクシステム２００から送られた更新情報を、更新情報が含むライト時刻５１０の古い順に並べて副更新情報記憶部３５０に格納する。次に、ステップ１２１０で、更新情報受領部３３０は、正ディスクシステム２００に対して完了を報告する。このようにして、副更新情報記憶部３５０には、更新情報に含まれるライト時刻５１０の古い順（すなわち、ライト要求５００が発行された順）に、更新情報が格納される。
【００３５】
図７は、実施例１における更新情報反映指示プログラム４１０の処理の一例を示した図である。更新情報反映指示プログラム４１０は、副ディスクシステム３００にリモートコピーの副ディスクとして指定されている論理ディスク２２０が存在する間、図７に示される処理を行う。
【００３６】
ステップ１３００で、更新情報反映指示プログラム４１０は、副ＣＰＵ４００に接続されている全ての副ディスクシステム３００に含まれる最新時刻報告部３４０に対し、それぞれの副ディスクシステム３００が持つ更新情報に含まれるライト時刻５１０のうち、最も新しい時刻を報告するよう指示する。最新時刻報告部３４０は、更新情報反映指示プログラム４１０からの指示を受け、副更新情報記憶部３５０に含まれる更新情報の持つライト時刻５１０のうち、最も新しい時刻を更新情報反映指示プログラム４１０に返す。次に、ステップ１３１０で、更新情報反映指示プログラム４１０は、全ての副ディスクシステム３００からそれぞれの最も新しい時刻が報告されるのを待つ。次に、ステップ１３２０で、更新情報反映指示プログラム４１０は、それぞれの副ディスクシステム３００から報告された全ての時刻の中から最も古い時刻を選び、基準時刻とする。次に、ステップ１３３０で、更新情報反映指示プログラム４１０は、全ての副ディスクシステム３００各々に含まれる更新情報反映部３６０に、基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータを、更新情報内のIDが示す副ディスクシステム３００に含まれる論理ディスク２２０にライトするよう指示する。更新情報反映部３６０は、更新情報反映指示プログラム４１０からの指示を受け、副更新情報記憶部３５０に含まれる更新情報のうち、指示された基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータのみ、更新情報に含まれる副論理ディスクＩＤが示す論理ディスク２２０にライトし、更新情報中のライトデータを論理ディスクにライトした更新情報を副更新情報記憶部３５０から削除する。次に、ステップ１３４０で、更新情報反映プログラム４１０は、全ての副ディスクシステム３００から、ステップ１３３０で発行したライトデータのライト指示に対する完了が報告されるのを待ち、ステップ１３００に戻る。このようにして、複数の副ディスクシステム３００に含まれる複数の論理ディスク２２０に対して、基準時刻以前のライト時刻５１０を持つライトデータは、ライトされ、基準時刻以後のライト時刻５１０を持つライトデータはライトされないという状況を作り出すことができる。
【００３７】
このように、正ディスクシステム２００から副ディスクシステム３００への更新情報の送信順序、副ディスクシステム３００の受信順序がライト時刻の順番であるため、副ディスクシステム３００では、ある時刻を基準に、それ以前の更新情報はすべて保持でき、それ以降の更新情報は、全く保持しないという情報を作り出すことができる。これにより、正ディスクシステム２００が破壊されても副ディスクシステム３００側でトランザクションの途中結果を残さない回復処理が可能となる。
【００３８】
以上に説明してきた実施例では、正ディスクシステム２００は副ディスクシステム３００へ更新情報をひとつずつ古い順に送信し、副ディスクシステム３００は正ディスクシステム２００から更新情報を受信したら、受信した旨を正ディスクシステム２００に送信する。そして、副ディスクシステム３００から更新情報を受信した旨の通知を受信した後、正ディスクシステム２００は、次の更新情報を送信する（以下、係る更新情報の転送をシリアライズ転送と呼ぶ。）。従って、正ディスクシステム２００から副ディスクシステム３００に更新情報を転送する際に、更新情報の順序が狂わない。しかし、正ディスクシステムが、副ディスクシステム３００に更新情報をシリアライズ転送すると、次の更新情報を副ディスクシステム３００に送信するまでに時間を要し、更新情報転送の性能が下がってしまう。そこで、正ディスクシステム２００から副ディスクシステム３００への更新情報の転送を並列に実行した場合の動作について説明する。ここでは、更新情報がシリアライズされて送信される場合との相違点についてのみ説明する。
【００３９】
正ディスク制御装置２１０に、正基準時刻送信部、副ディスク制御装置３１０に、副基準時刻受領部と正障害時データ破棄部とが追加される。
【００４０】
正ディスクシステム２００から副ディスクシステム３００への更新情報の転送を並列に実行した場合の更新情報送出部２４０の動作を、図５に基づき、説明する。
【００４１】
更新情報送出部２４０は、ステップ１１１０で、更新情報記憶部２５０から更新情報に含まれるライト時刻が古い順に複数の更新情報を読み出す。次に、ステップ１１２０で、更新情報送出部２４０は、読み出した複数の更新情報を、正ディスクシステム２００に接続された副ディスクシステム３００に並列に送信する。ステップ１１３０で、更新情報送出部２４０は、副ディスクシステム３００から、それぞれの更新情報に対する完了報告が送られてくるのを待つ。完了報告が返ってくると、完了報告に対応するライトデータ管理情報の副ディスクシステム転送必要ビットをOFFにする。並列に送信した複数の更新情報すべてについて完了報告を受信し、副ディスクシステム転送必要ビットがＯＦＦになったら、ステップ１１００に戻り、次に送信すべき更新情報を見つける。
【００４２】
更新情報の転送を並列に実行すると、更新情報がライト時刻順に副ディスクシステム３００に届くとは限らない。また、正ディスクシステム２００が副ディスクシステム３００に更新情報を送信したにもかかわらず、何らかの影響で副ディスクシステム３００に更新情報が届かない場合がある。この場合、デステージしてよいライトデ−タは、正ディスク制御装置２１０が有する、副ディスクシステム転送必要ビットがオンになっているライトデ−タ管理情報の中で、最も以前のライト時刻１１１をデステージ許可時刻として、デステージ許可時刻より以前のライト時刻をもつライトデ−タということになる。これは、デステージ許可時刻より以前のライト時刻をもつ更新情報はすべて、副ディスクシステム３００側に保持されていることになるためである。一方、デステージ許可時刻以降のライト時刻をもつ更新情報のライトデータは、まだデステ−ジしてはいけないライトデ−タであり、正ディスクシステム２００が破壊された場合、これらのライトデ−タはデステ−ジせず、破棄する必要がある。
【００４３】
正基準時刻送信部は、副ディスクシステム３００に上述したデステ−ジしてよいデステージ許可時刻を送信する機能をもつ。デステージ許可時刻は、上述したように、副ディスクシステム転送必要ビットがオンになっているライトデ−タ管理情報の中で、最も以前のライト時刻である。
【００４４】
副基準時刻受信部は、正ディスクシステム２００から受信した基準時刻を、デステ−ジ許可時刻として、副更新情報記憶部３５０に格納する。
【００４５】
最新時刻報告部３４０は、更新情報反映指示プログラム４１０からの指示を受け、副更新情報記憶部３５０に格納されるデステージ許可時刻のうち、最も新しい時刻を更新情報反映指示プログラム４１０に返す。
【００４６】
正障害時デ−タ破棄部は、正ディスクシステム２００が破壊された時、副更新情報記憶部３５０が有するデステ−ジ許可時刻から後のライト時刻をもつ更新情報を破棄する。
【実施例２】
【００４７】
次に、実施例２について説明する。
【００４８】
実施例1では、更新情報反映指示プログラム４１０が副ディスクシステム３００に指示する基準時刻として、副更新情報記憶部３５０に記憶された時刻、すなわち、過去の時刻を用いた。この場合、更新情報反映指示プログラム４１０は、まず全ての副ディスクシステム３００から最新の更新情報時刻を集め、それらのうち最古の時刻を基準時刻とした。このように、１回の基準時刻指定のために、１台の副ディスクシステム３００につき２回の指示が必要となっていた。実施例２では、基準時刻として未来の時刻を用いることにより、１台の副ディスクシステム３００当りの指示回数を１回とする。なお、実施例２では実施例１と異なる部分のみ説明する。実施例２で説明される以外の構成要素や流れ図については、全て実施例１と同等である。
【００４９】
実施例２における副ＣＰＵの構成と、実施例１における副ＣＰＵの構成との相違点は、副ＣＰＵのＭＳ１２０に含まれる更新情報反映指示プログラム４１０が、更新情報反映指示プログラムａ４１１となることである。それ以外の構成要素は、実施例１の場合と同等である。
【００５０】
実施例２における副ディスクシステム３００の構成と、実施例１における副ディスクシステム３００の構成との相違点は、副ディスク制御装置３１０に含まれる更新情報反映部３６０が、更新情報反映部ａ３６１となり、最新時刻報告部３４０は有さないことである。それ以外の構成要素は、実施例１の場合と同等である。
【００５１】
図８は、実施例２における更新情報反映指示プログラムａ４１１の処理の一例を示した図である。更新情報反映指示プログラムａ４１１は、副ディスクシステム３００にリモートコピーの副ディスクとして指定されている論理ディスク２２０が存在する間、図８に示される処理を行う。
【００５２】
ステップ１４００で、更新情報反映プログラムａ４１１は、副ＣＰＵ４００の持つ時計の現在時刻にマージンを加えて、基準時刻とする。
【００５３】
図９に、このマージンの最小値の計算式の一例を示す。まず、図９に示すαを計算する。αは、更新情報反映指示プログラムaが全ての副ディスクシステム３００に含まれる更新情報反映部aに対して、基準時刻を指示するのにかかる時間の最大値と、正CPUの時計と副CPUの時計の時刻の差を足したものである。マージンの最小値は、αに安全係数（＞１）を掛けたものである。これらの値は、あらかじめ決まっているものとする。マージンは、図９の計算式に従って計算した値以上の値とする。
【００５４】
次に、ステップ１４１０で、更新情報反映プログラムａ４１１は、全ての副ディスクシステム３００各々に含まれる更新情報反映部ａ３６１に、計算の結果得られた基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータを、更新情報中のIDが示す副ディスク装置３００に含まれる論理ディスク２２０にライトするよう指示する。更新情報反映部ａ３６１は、更新情報反映指示プログラムa４１1からの指示を受け、副更新情報記憶部３５０に含まれる更新情報のうち、指示された基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータのみ、更新情報に含まれる副論理ディスクＩＤが示す論理ディスク２２０にライトし、ライトした更新情報を副更新情報記憶部３５０から削除する。更新情報反映プログラムa４１１から指示を受けた時点では、基準時刻は未来の時刻になるので、更新情報反映部ａ３６１は、しばらくは副更新情報記憶部３５０にある全ての更新情報内のライトデータを論理ディスク２２０にライトすることになるが、しばらくすると、基準時刻より新しいライト時刻を持つ更新情報が副更新情報記憶部３５０に格納される。基準時刻より新しいライト時刻を持つ更新情報を更新情報反映部ａ３６１が見つけると、更新情報反映部ａ３６１は、更新情報反映指示プログラムａ４１１に完了を報告する。次に、ステップ１４２０で、更新情報反映プログラムａ４１１は、全ての副ディスクシステム３００からライト指示に対する完了が報告されるのを待ち、ステップ１４００に戻る。このようにして、複数の副ディスクシステム３００に含まれる複数の論理ディスク２２０に対して、基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータはライトされ、基準時刻以後のライト時刻５１０を持つ更新情報内のライトデータはライトされないという状況を作り出すことができる。
【００５５】
このように、正ディスクシステム２００から副ディスクシステム３００への更新情報の送信順序、副ディスクシステム３００での更新情報の受信順序がライト時刻の順番であるため、副ディスクシステム３００では、ある時刻を基準に、それ以前の更新情報はすべて保持でき、それ以降の更新情報は、全く保持しないという情報を作り出すことができる。これにより、正ディスクシステム２００が破壊されても副ディスクシステム３００側でトランザクションの途中結果を残さない回復処理が可能となる。
【００５６】
以上に説明してきた実施例では、正ディスクシステム２００から副ディスクシステム３００への更新情報の転送が、シリアライズされているため、正ディスクシステム２００から副ディスクシステム３００に更新情報を転送する際に、更新情報の順序が狂わない。しかし、正ディスクシステムが、更新情報をシリアライズして、副ディスクシステム３００に送信すると、次の更新情報を副ディスクシステム３００に送信するまでに時間を要し、更新情報転送の性能が下がってしまう。
【００５７】
そこで、正ディスクシステム２００から副ディスクシステム３００への更新情報の転送を並列に実行した場合の動作について説明する。ここでは、更新情報がシリアライズされて送信される場合との相違点についてのみ説明する。
【００５８】
正ディスク制御装置２１０に、正基準時刻送信部、副ディスク制御装置３１０に、副基準時刻受領部と正障害時データ破棄部とが追加される。
【００５９】
更新情報の転送を並列に実行すると、更新情報がライト時刻順に副ディスクシステム３００に届くとは限らない。また、正ディスクシステム２００が副ディスクシステム３００に更新情報を送信したにもかかわらず、何らかの影響で副ディスクシステム３００に更新情報が届かない場合がある。この場合、デステージしてよいライトデ−タは、正ディスク制御装置２１０が有する、副ディスクシステム転送必要ビットがオンになっているライトデ−タ管理情報の中で、最も以前のライト時刻１１１をデステージ許可時刻として、デステージ許可時刻より以前のライト時刻をもつライトデ−タということになる。これは、デステージ許可時刻より以前のライト時刻をもつ更新情報はすべて、副ディスクシステム３００側に保持されていることになるためである。一方、デステージ許可時刻以降のライト時刻をもつ更新情報のライトデータは、まだデステ−ジしてはいけないライトデ−タであり、正ディスクシステム２００が破壊された場合、これらのライトデ−タはデステ−ジせず、破棄する必要がある。
【００６０】
正基準時刻送信部は、副ディスクシステム３００に上述したデステ−ジしてよいデステージ許可時刻を送信する機能をもつ。デステージ許可時刻は、上述したように、副ディスクシステム転送必要ビットがオンになっているライトデ−タ管理情報の中で、最も以前のライト時刻である。
【００６１】
副基準時刻受信部は、正ディスクシステム２００から受信した基準時刻を、デステ−ジ許可時刻として、副更新情報記憶部３５０に格納する。
【００６２】
正ディスクシステム２００から副ディスクシステム３００への更新情報の転送を並列に実行した場合の更新情報反映部３５０の動作を、説明する。
【００６３】
更新情報反映部ａ３６１は、更新情報反映指示プログラムa４１1からの指示を受け、副更新情報記憶部３５０に含まれる更新情報のうち、指示された基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータのみ、更新情報に含まれる副論理ディスクＩＤが示す論理ディスク２２０にライトする。ただし、ライト時刻が、デステージ許可時刻以降の更新情報内のライトデータは、論理ディスク２２０にライトしない。ここで、基準時刻以前であるが、ライトしないライトデータについては、更新情報内のライト時刻がデステージ許可時刻以前になった時点でライトする。次に、ライトデータをライトした更新情報を副更新情報記憶部３５０から削除する。更新情報反映プログラムa４１１から指示を受けた時点では、基準時刻は未来の時刻になるので、更新情報反映部ａ３６１は、しばらくは副更新情報記憶部３５０にある全ての更新情報内のライトデータを論理ディスク２２０にライトすることになるが、しばらくすると、基準時刻より新しいライト時刻を持つ更新情報が副更新情報記憶部３５０に格納される。基準時刻より新しいライト時刻を持つ更新情報を更新情報反映部ａ３６１が見つけると、更新情報反映部a３６１は、基準時刻と、デステージ許可時刻を比較し、基準時刻がデステージ許可時刻以前であれば、更新情報反映指示プログラムa４１１に完了を報告する。基準時刻がデステージ許可時刻以降であれば、更新情報反映部a３６１は、基準時刻がデステージ許可時刻以前となるまで、更新情報反映プログラムa４１１に完了を報告するのを待つ。このようにして、複数の副ディスクシステム３００に含まれる複数の論理ディスク２２０に対して、基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータはライトされ、基準時刻以後のライト時刻５１０を持つ更新情報内のライトデータはライトされないという状況を作り出すことができる。
【００６４】
このような構成により、１台の副ディスク装置３００当りの指示回数を１回とすることができる。
【実施例３】
【００６５】
次に、実施例３について説明する。
【００６６】
実施例１では、正ディスクシステム２００に含まれる正更新情報記憶部２５０に更新情報が記憶されている場合、正ディスクシステムの更新情報送出部２３０が副ディスクシステム３００に対して更新情報を送出していた。つまり、正ディスクシステム２００が、更新情報のやり取りに関して主導権を握っていた。実施例３では、更新情報のやり取りに関する主導権を副ディスクシステム３００がもつような構成を開示する。尚、実施例３では実施例１と異なる部分のみ説明する。ここに説明される以外の構成要素や流れ図については、全て実施例１と同等である。
【００６７】
実施例３における正ディスクシステム２００の構成と、実施例１における正ディスクシステム２００の構成との相違点は、更新情報送出部２４０が更新情報送出部ａ２４１となることである。それ以外の構成要素は実施例１の場合と同等である。
【００６８】
実施例３における副ディスクシステム３００の構成と、実施例１における副ディスクシステム３００の構成との相違点は、副ディスク制御装置３１０に含まれる更新情報受領部３３０が更新情報受領部ａ３３１となることである。それ以外の構成要素は実施例１の場合と同等である。
【００６９】
図１０は、実施例３における更新情報送出部ａ２４１の処理の一例を示した図である。更新情報送出部ａ２４１は、接続されている副ディスクシステム３００から送られた更新情報読み取り要求を受け取るたびに、図１０に示される処理を行う。
【００７０】
ステップ１５００で、更新情報送出部ａ２４１は、副ディスクシステム３００から送られた更新情報読み取り要求を受け取ると、正更新情報記憶部２５０から、１または複数の更新情報を、更新情報に含まれるライト時刻５１０の古い順に読み出し、副ディスクシステム３００に送出する。次に、ステップ１５１０で、更新情報送出部ａ２４１は、副ディスクシステム３００に対して完了を報告する。次に、ステップ１５２０で、更新情報送出部ａ２４１は、読み出した更新情報を、正更新情報記憶部２５０から削除する。このようにして、正更新情報記憶部２５０に格納された更新情報は、更新情報に含まれるライト時刻５１０の古い順（すなわち、ライト要求５００が発行された順）に、副ディスクシステム３００に送られる。
【００７１】
図１１は、実施例３における更新情報受領部ａ３３１の処理の一例を示した図である。更新情報受領部ａ３３１は、副ディスクシステム３００にリモートコピーの副ディスクとして指定されている論理ディスク２２０が存在する間、図１１に示される処理を行う。
【００７２】
ステップ１６００で、更新情報受領部ａ３３１は、正ディスクシステム２００に更新情報読み取り要求を送出する。次に、ステップ１６１０で、更新情報受領部ａ３３１は、正ディスクシステム２００から完了報告が返るのを待つ。次に、ステップ１６２０で、更新情報受領部ａ３３１は、正ディスクシステム１００から返された１または複数の更新情報を、更新情報に含まれるライト時刻の古い順に並べて、副更新情報記憶部３５０に格納し、ステップ１６００に戻る。このようにして、副更新情報記憶部３５０には、更新情報に含まれるライト時刻５１０の古い順（すなわち、ライト要求５００が発行された順）に、更新情報が格納される。
【００７３】
このような構成により、更新情報のやり取りに関する主導権を副ディスクシステム３００がもつようすることができる。
【００７４】
尚、実施例３は、実施例２においても適用可能である。
【実施例４】
【００７５】
次に、実施例４について説明する。
【００７６】
実施例１では、更新情報反映指示プログラム４１０が更新情報反映部３６０に指示する基準時刻（すなわち、基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータを、更新情報内のIDが示す副ディスクシステム３００に含まれる論理ディスク２２０にライトする時刻）は、すべての副ディスクシステム３００から報告された全ての時刻の中から最も古い時刻としている。ここで、例えば、ある正ディスクシステム２００には正CPU１００からデータが書き込まれず、別の正ディスクシステム２００には順次正CPU１００からデータが書き込まれている場合が想定される。この場合、前述のように、基準時刻を決定すると、一定時間経過後再度更新情報反映指示プログラム４１０が全ての副ディスクシステム３００にそれぞれの副ディスクシステム３００が持つ更新情報に含まれるライト時刻５１０のうち最も新しい時刻（以下、最新時刻と呼ぶ。）を報告するよう指示しても、正CPU１００から長時間データが書き込まれない正ディスクシステム２００に対応する副ディスクシステム３００は、前回、更新情報反映指示プログラム４１０に報告した時刻と同じ時刻を報告する。そのため、基準時刻が更新されない。そうすると、別の副ディスクシステム３００には、正ディスクシステム２００から多数の更新情報が送信されているのにもかかわらず、長時間デステージされないことになる。その結果、正ディスクシステムと副ディスクシステムのデータの差分が増加することになる。
【００７７】
実施例４では、正ディスクシステムと副ディスクシステムでデステージされるデータの差分を減少させる方法を示す。なお、実施例４では、実施例１と異なる部分のみ説明する。実施例４で説明される以外の内容については、全て実施例１と同等である。
【００７８】
実施例４における副ディスクシステム３００と、実施例１における副ディスクシステム３００との相違点は、副ディスク制御装置３１０が時刻記憶部３８０を有することである。それ以外の構成は実施例１と同等である。
【００７９】
更新情報反映指示プログラム４１０は、基準時刻を決定する際、同時に、副基準時刻を決定する。更新情報反映指示プログラム４１０は、基準時刻を決定する際に用いた全ての副ディスクシステム３００から報告された全ての時刻の中から最も新しい時刻を選び、副基準時刻とする。
【００８０】
更新情報反映指示プログラム４１０は、更新情報反映部３６０に基準時刻を送信する際、時刻記憶部３８０に、基準時刻と副基準時刻を送信する。基準時刻と副基準時刻を受け付けた時刻記憶部３８０は、基準時刻と副基準時刻を記憶する。また、最新時刻報告部３４０は、更新情報反映指示プログラム４１０に、副更新情報記憶部３５０に含まれる更新情報の持つライト時刻５１０のうちで最も新しい時刻を報告する際、最新時刻を時刻記憶部３８０にも報告する。最新時刻の報告を受けた時刻記憶部３８０は、最新時刻を記憶する。すでに、基準時刻と副基準時刻と最新時刻とが記憶されている場合は、新たな基準時刻と副基準時刻と最新時刻を受信するたびに各々の時刻を更新する。
【００８１】
更新情報反映指示プログラム４１０は、副CPUに接続されている全ての副ディスクシステム３００に含まれる最新時刻報告部３４０に対し、それぞれの副ディスクシステムが持つ更新情報に含まれるライト時刻のうち、最も新しい時刻を報告するように指示する。
【００８２】
図１２は、実施例４における最新時刻報告部３４０の処理の一例を示した図である。最新時刻報告部３４０は、更新情報反映指示プログラム４１０から更新情報に含まれるライト時刻のうち、最も新しい時刻を報告するように指示を受信するたびに、図１２に示される処理を行う。
【００８３】
最新時刻報告部３４０は、更新情報反映指示プログラム４１０からの指示を受け、副更新情報記憶部３５０に含まれる更新情報の持つライト時刻５１０のうちで最も新しい時刻を検索し、取得する（ステップ１７００）。
【００８４】
最新時刻報告部３４０は、前回、更新情報反映指示プログラム４１０に報告した最新時刻が副基準時刻と同じであるかどうかを時刻記憶部３８０に問い合わせる（ステップ１７１０）。最新時刻報告部３４０から問い合わせを受信した時刻記憶部３８０は、記憶している最新時刻と副基準時刻が同じかどうか判断し、最新時刻報告部３４０に報告する。最新時刻報告部３４０は、時刻記憶部３８０から最新時刻と副基準時刻が同じかどうかの結果を受信する（ステップ１７２０）。
【００８５】
時刻記憶部３８０から報告を受けた最新時刻報告部３４０は、前回、更新情報反映指示プログラム４１０に報告した最新時刻と副基準時刻が同じであれば、ステップ１７００で取得した最新時刻を更新情報反映指示プログラム４１０に報告する（ステップ１７８０）。
【００８６】
前回、更新情報反映指示プログラム４１０に報告した最新時刻が副基準時刻と同じでなければ、最新時刻報告部３４０は、ステップ１７００で取得した最新時刻が前回、更新情報反映指示プログラム４１０に報告した最新時刻と同じかどうかを時刻記憶部３８０に問い合わせる（ステップ１７３０）。このとき、最新時刻報告部３４０は、ステップ１７００で取得した最新時刻を時刻記憶部３８０に送信する。だたし、ステップ１７００で取得した最新時刻が時刻記憶部３８０に送信されることによって、時刻記憶部３８０に格納されている最新時刻は更新されない。最新時刻報告部３４０は、このとき最新時刻報告部３４０から送信されるステップ１７００で取得した最新時刻を一時的に記憶する。最新時刻報告部３４０から問い合わせを受信した時刻記憶部３８０は、時刻記憶部３８０に記憶されている最新時刻（前回、更新情報反映指示プログラム４１０に送信した最新時刻）と、ステップ１７３０で最新時刻報告部３４０が送信した最新時刻とが同じかどうかを判断し、最新時刻報告部３４０に報告する。
【００８７】
最新時刻報告部３４０は、時刻記憶部３８０から時刻記憶部３８０に記憶されている最新時刻と、最新時刻報告部３４０が送信した最新時刻が同じかどうかの結果を受信する（ステップ１７４０）。
【００８８】
ステップ１７００で取得した最新時刻と前回取得した最新時刻と同じでなければ、ステップ１７００で取得した最新時刻を更新情報反映指示プログラム４１０に報告する。（ステップ１７８０）。
【００８９】
ステップ１７００で取得した最新時刻が前回取得した最新時刻と同じであれば、最新時刻報告部３４０は、正ライト要求受領部２３０に、副基準時刻以前のライト要求５００を正CPUから受信しているかの問い合わせを発行する（ステップ１７５０）。
【００９０】
最新時刻報告部３４０から問い合わせを受け付けた正ライト要求受領部２３０は、正更新情報記憶部２５０を参照し、副ディスクシステム転送必要ビットがONである更新情報のうち、副基準時刻以前の更新情報が格納されているかどうかを確認し、確認した結果を最新時刻報告部３４０に送信する。
【００９１】
最新時刻報告部３４０は、正ライト要求受領部２３０から副基準時刻以前のライト要求５００を正CPUから受信しているかどうかの結果を受信する（ステップ１７６０）。
【００９２】
最新時刻報告部３４０は、副基準時刻以前のライト要求５００を受信している旨の通知を正ライト要求受領部２３０から受信した場合、ステップ１７００で取得した最新時刻を更新情報反映指示プログラム４１０に報告する（ステップ１７８０）。
【００９３】
最新時刻報告部３４０は、副基準時刻以前のライト要求５００を受信していない旨の通知を正ライト要求受領部２３０から受信した場合、副基準時刻を最新時刻として更新情報反映指示プログラム４１０に報告する（ステップ１７７０）。
【００９４】
このように、ある一定期間の更新情報が存在しない場合にも、更新情報反映指示プログラム４１０に返す最新時刻更新することで、正ディスクシステムと副ディスクシステムのデータ差分を減少させることができる。
【００９５】
また、以上に説明した内容は、更新情報がシリアライズ転送される場合であるが、正ディスクシステム２００から副ディスクシステム３００への更新情報の転送を並列に実行する場合は、副更新情報記憶部３５０に格納されるデステージ許可時刻を用いて、本実施形態を実現することができる。
【実施例５】
【００９６】
次に、実施例５について説明する。
【００９７】
実施例１では、副ディスクシステム３００は正ディスクシステム２００に対応して用意されていた。また、複数の副ディスクシステム間で基準時刻以前のライト時刻を持つライトデータをライトし、基準時刻以後のライト時刻を持つデータをライトしない状況を作っているのは、副ＣＰＵ４００で実行される更新情報反映指示プログラム４１０であった。
【００９８】
実施例５では、実施例１で副ＣＰＵと複数の副ディスクシステムで構成された副側システムを、副CPUと１つの副ディスクシステムで構成する方法を開示する。本実施例により、副ＣＰＵを用いずに副側システムが構成可能となる。なお、実施例５では、実施例１と異なる部分のみ説明する。実施例５で説明される以外の内容については、全て実施例１と同等である。
【００９９】
図１３は、実施例５におけるシステム全体の構成と副ディスクシステムの構成を示した図である。正ＣＰＵ１００、正ディスクシステム２００については実施例１と同等である。
【０１００】
副ディスクシステムａ３０１は副ディスク制御装置３１０と論理ディスク２２０とを有する。論理ディスク２２０については実施例１と同等である。
【０１０１】
副ディスク制御装置３１０は、更新情報受領部３３０と、副更新情報記憶部３５０と、更新情報反映部３６０と、更新情報反映指示部３７０とを有する。更新情報反映部３６０については実施例１と同等である。
【０１０２】
副更新情報記憶部３５０は、本実施例では副ディスクシステムａ３０１に接続されている正ディスク装置２００に対応して副ディスク制御装置３１０に用意される。
【０１０３】
更新情報受領部３３０は、実施例１と同様に、接続されている正ディスクシステム２００から送られた更新情報を受信するたびに、図６に示される処理を行う。ただし、更新情報の格納先は、更新情報を送出した正ディスクシステム２００に対応した副更新情報記憶部３５０とする。
【０１０４】
更新情報反映指示部３７０は、全ての副更新情報記憶部３５０について、それぞれの副更新情報記憶部３５０に含まれる更新情報の持つライト時刻５１０のうち、最も新しい時刻を選び、さらに、選んだ時刻の中から最も古い時刻を選び、基準時刻とする。次に、更新情報反映部３６０に、基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータを、更新情報内のIDが示す副ディスクシステム３００に含まれる論理ディスク２２０にライトするよう指示する。以上の処理を、副更新情報記憶部３５０が更新情報を格納している間繰り返す。
【０１０５】
このように、1つの副ディスク制御装置３１０内に複数の副更新情報記憶部を有し、実施例１で更新情報制御プログラム４１０が行っていた動作を更新情報反映指示部３７０が行うことで、副ＣＰＵを用いずに副側システムを構成することができる。
【０１０６】
また、以上に説明した内容は、更新情報がシリアライズ転送される場合であるが、正ディスクシステム２００から副ディスクシステムａ３０１への更新情報の転送を並列に実行する場合は、副更新情報記憶部３５０に格納されるデステージ許可時刻を用いて、本実施形態を実現することができる。
【０１０７】
尚、実施例５は、実施例３においても適用可能である。
【実施例６】
【０１０８】
次に、実施例６について説明する。
【０１０９】
実施例１では、複数の副ディスクシステム間で基準時刻以前のライト時刻を持つライトデータをライトし、基準時刻以後のライト時刻を持つデータをライトしない状況を作っているのは、副ＣＰＵ４００で実行される更新情報反映指示プログラム４１０であった。
【０１１０】
実施例６では、実施例１では副ＣＰＵと複数の副ディスクシステムで構成された副側システムを、複数の副ディスクシステムで構成する方法を開示する。本実施例により、副ＣＰＵを用いずに複数の副ディスクシステムを持つ副側システムが構成可能となる。なお、実施例６では、実施例１と異なる部分のみ説明する。実施例６で説明される以外の内容については、全て実施例１と同等である。
【０１１１】
図１４は、実施例６におけるシステム全体の構成と副ディスクシステムの構成を示した図である。正ＣＰＵ１００、正ディスクシステム２００、副ディスクシステム３００については実施例１と同等である。
【０１１２】
複数の副ディスクシステム３００のうち、少なくとも一つをマスタ副ディスクシステム３０２とする。マスタ副ディスクシステム３０２は、対応する正ディスクシステム２００と全ての副ディスクシステム３００と接続され、二つの処理を行う。一つは、副ディスクシステム３００と同様に、正ディスクシステム２００から更新情報を受け取り、ライト時刻に従って論理ディスク２２０にライトすることである。もう一つは、全ての副ディスクシステム３００と通信し、実施例１における更新情報反映指示プログラム４１０が行っていた処理を実行することである。
【０１１３】
マスタ副ディスクシステム３０２は、副ディスク制御装置３１０と論理ディスク２２０とを有する。論理ディスク２２０については実施例１と同等である。副ディスク制御装置３１０は、更新情報受領部３３０と、最新時刻報告部３４０と、副更新情報記憶部３５０と、更新情報反映部３６０と、更新情報反映指示部ａ３８０とを有する。更新情報受領部３３０、最新時刻報告部３４０、副更新情報記憶部３５０、更新情報反映部３６０については実施例１と同等である。
【０１１４】
更新情報反映指示部ａ３８０は、マスタ副ディスクシステム３０２を含む全ての副ディスクシステム３００に含まれる最新時刻報告部３４０に対し、それぞれの副ディスクシステム３００が持つ更新情報に含まれるライト時刻５１０のうち、最も新しい時刻を報告するよう指示する。最新時刻報告部３４０は、更新情報反映指示部ａ３８０からの指示を受け、副更新情報記憶部３５０に含まれる更新情報の持つライト時刻５１０のうち、最も新しい時刻を更新情報反映指示部ａ３８０に返す。
【０１１５】
次に、更新情報反映指示部ａ３８０は、全ての副ディスクシステム３００からそれぞれの最も新しい時刻が報告されるのを待つ。
【０１１６】
次に、更新情報反映指示部ａ３８０は、それぞれの副ディスクシステム３００から報告された全ての時刻の中から最も古い時刻を選び、基準時刻とする。
【０１１７】
次に、更新情報反映指示部ａ３８０は、全ての副ディスクシステム３００各々に含まれる更新情報反映部３６０に、基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータを、更新情報内のIDが示す副ディスクシステム３００に含まれる論理ディスク２２０にライトするよう指示する。更新情報反映部３６０は、更新情報反映指示部ａ３８０からの指示を受け、副更新情報記憶部３５０に含まれる更新情報のうち、指示された基準時刻以前のライト時刻５１０を持つ更新情報内のライトデータのみ、更新情報に含まれる副論理ディスクＩＤが示す論理ディスク２２０にライトし、更新情報中のライトデータを論理ディスクにライトした更新情報を副更新情報記憶部３５０から削除する。
【０１１８】
次に、更新情報反映指示部ａ３８０は、全ての副ディスクシステム３００から、ライト指示に対する完了が報告されるのを待つ。
【０１１９】
以上の処理を、副更新情報記憶部３５０が更新情報を格納している間繰り返す。
【０１２０】
このように、マスタ副ディスクシステム３０２を用いることで、複数の副ディスクシステム３００をもつ副側システムを、副ＣＰＵを用いずに構成することができる。尚、上述のマスタ副ディスクシステム３０２の処理を実行する副ディスクシステム３００は、あらかじめ、すべての副ディスクシステム３００に接続されるCPUあるいは管理端末から指定するようにしてもよい。
【０１２１】
以上の説明では、マスタ副ディスクシステム３０２の更新情報反映指示部ａ３８０は、マスタ副ディスクシステム３０２に接続されている全ての副ディスクシステム３００に対して更新指示を実行していた。複数の副ディスクシステム３００のうち、リモートコピーの副ディスクとして指定されている論理ディスク２２０が含まれない副ディスクシステム３００がある場合、マスタ副ディスクシステム３０２にあらかじめ更新指示の対象とする副ディスクシステム３００を指定しておく。この場合、更新情報反映指示部ａ３８０は、あらかじめ指定された副ディスクシステム３００に対してのみ、更新指示を実行する。更新指示対象となる副ディスクシステム３００は、マスタ副ディスクシステム３０２が持つ管理用コンソールか、あるいは、マスタ副ディスクシステム３０２に接続されるＣＰＵから特殊な入出力コマンドにより指定される。これら管理コンソール、あるいは特殊入出力コマンドによる副ディスクシステム３００の指定におけるパラメータには、マスタ副ディスクシステム３０２が更新指示対象とする副ディスクシステム３００を含む。さらに、更新指示対象とする副ディスクシステム３００に含まれる論理ディスク２２０の一部がリモートコピーの副ディスクとして指定されている場合は、それら副ディスクとして指定されている論理ディスク２２０、あるいはその集合をパラメータに含めてもよい。
【０１２２】
また、以上に説明した内容は、更新情報がシリアライズ転送される場合であるが、正ディスクシステム２００から副ディスクシステムａ３０１への更新情報の転送を並列に実行する場合は、最新時刻報告部３４０がデステージ許可時刻を更新情報反映指示部a３８０に報告することで、本実施形態を実現することができる。
【０１２３】
尚、実施例６は、実施例３においても適用可能である。
【図面の簡単な説明】
【０１２４】
【図１】システムの構成の一例を示す図である。
【図２】正ディスク装置の構成の一例を示す図である。
【図３】副ディスク装置の構成の一例を示す図である。
【図４】正ライト要求受領部の処理の一例を示す図である。
【図５】更新情報送出部の処理の一例を示す図である。
【図６】更新情報受領部の処理の一例を示す図である。
【図７】更新情報反映指示プログラムの処理の一例を示す図である。
【図８】更新情報反映指示プログラムａの処理の一例を示す図である。
【図９】基準時刻計算に使うマージンの最小値の計算式の一例を示す図である。
【図１０】更新情報送出部の処理の一例を示す図である。
【図１１】更新情報受領部の処理の一例を示す図である。
【図１２】最新時刻報告部の処理の一例を示す図である。
【図１３】システムの構成の一例を示す図である。
【図１４】システムの構成の一例を示す図である。
【符号の説明】
【０１２５】
１００：正中央処理装置（正ＣＰＵ）
１１０：命令処理装置（ＩＰ）
１２０：主記憶装置（ＭＳ）
１３０：入出力処理装置（ＩＯＰ）
２００：正ディスク装置
２１０：正ディスク制御装置
２２０：論理ディスク
２３０：正ライト要求受領部
２４０：更新情報送出部
２５０：正更新情報記憶部
２６０：副論理ディスク対応表
３００：副ディスク装置
３１０：副ディスク制御装置
３３０：更新情報受領部
３４０：最新時刻報告部
３５０：副更新情報記憶部
３６０：更新情報反映部
４００：副中央処理装置（副ＣＰＵ）
４１０：更新情報反映指示プログラム
５００：ライト要求
５１０：ライト時刻
５２０：ライト情報
【図１】
2005190455.tif 000003
【図２】
2005190455.tif 000004
【図３】
2005190455.tif 000005
【図４】
2005190455.tif 000006
【図５】
2005190455.tif 000007
【図６】
2005190455.tif 000008
【図７】
2005190455.tif 000009
【図８】
2005190455.tif 000010
【図９】
2005190455.tif 000011
【図１０】
2005190455.tif 000012
【図１１】
2005190455.tif 000013
【図１２】
2005190455.tif 000014
【図１３】
2005190455.tif 000015
【図１４】
2005190455.tif 000016