(57)【要約】      （修正有）【課題】複数の記憶システム間で、データの整合性を維持しつつ、データを複製する場合に必要となる管理情報を減らす。【解決手段】第一の記憶システム１００Ａは、第一の記憶システム内のデータ更新を行う場合、第三の記憶システム１００Ｃが保持する第一の記憶システムの複製であるデータの更新とジャーナル作成を行う。ジャーナルは、更新に用いられたデータのコピーと更新時のライト命令等の更新情報とによって構成される。さらに、第二の記憶システム１００Ｂは、第一の記憶システムが保持するデータの複製を保持しており、前記ジャーナルを取得し、第一の記憶システムでのデータ更新順に、第一の記憶システムのデータと対応するデータを更新する。さらに、第三の記憶システムは、第一の記憶システムからのデータ更新を行う場合、第一の記憶システムの更新番号を用いてジャーナルを作成する。【選択図】図１
2005084953.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に接続され、前記上位装置との間でデータの送受を行う第一の記憶システムと、
前記第一の記憶システムに接続され、前記第一の記憶システムからデータを受ける第二の記憶システムと、
前記第一の記憶システムに接続され、前記第一の記憶システムからデータを受ける第三の記憶システムとを有し、
前記第一の記憶システムは、
前記上位装置から送られたデータが書き込まれる第一の記憶領域と、
前記第一の記憶領域に書き込まれたデータと当該データに関する更新情報とが書き込まれる第二の記憶領域とを有しており、
前記第二の記憶システムは、
前記第一の記憶システムから送られたデータが書き込まれる第三の記憶領域と、
前記第三の記憶領域に書き込まれたデータと当該データに関する更新情報とが書き込まれる第四の記憶領域とを有しており、
前記第三の記憶システムは、
前記第二の記憶領域から読み出されたデータと当該データに関する更新情報とが書き込まれる第五の記憶領域と、
前記第五の記憶領域に書き込まれたデータと当該データに関する更新情報とを基にして生成されたデータが書き込まれる第六の記憶領域と、を有するものであることを特徴とするデータ処理システム。
【請求項２】
請求項１に記載のデータ処理システムにおいて、
前記第一の記憶システム内の前記第一の記憶領域及び前記第二の記憶システム内の前記第三の記憶領域に対するデータの書き込みは、同期して行われることを特徴とするデータ処理システム。
【請求項３】
請求項２に記載のデータ処理システムにおいて、
前記第一の記憶システムは、
前記上位装置からデータの書き込み要求を受けた場合、前記第二の記憶システムに対してデータの書き込みを要求し、前記第二の記憶システムから書き込み応答を受けた後に、前記上位装置に対してデータの書き込み要求の終了を報告するものであり、
前記第一の記憶領域に対して、前記上位装置から送られたデータを書き込むとともに、前記第二の記憶領域に対して、前記第一の記憶領域に書き込まれたデータと当該データに関する更新情報とを書き込むものであることを特徴とするデータ処理システム。
【請求項４】
請求項３に記載のデータ処理システムにおいて、
前記第一の記憶システムは、前記上位装置からデータの書き込み要求を受けた場合、データの更新順番の識別に用いられる更新番号を生成し、前記第二の記憶システムに対して送られるデータの書き込み要求に前記更新番号を含ませるものであり、
前記第二の記憶領域に書き込まれた前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項５】
請求項３に記載のデータ処理システムにおいて、
前記第二の記憶システムは、
前記第一の記憶システムからデータの書き込み要求を受けた場合、前記第一の記憶システムに対して書き込み応答を送る一方、
前記第三の記憶領域に対して、前記第一の記憶システムから送られたデータを書き込むとともに、前記第四の記憶領域に対して、前記第三の記憶領域に書き込まれたデータと当該データに関する更新情報とを書き込むものであることを特徴とするデータ処理システム。
【請求項６】
請求項５に記載のデータ処理システムにおいて、
前記第二の記憶システムは、
前記第一の記憶システムから送られたデータの書き込み要求に含まれる、データの更新順番の識別に用いられる更新番号を取得するものであり、
前記第四の記憶領域に書き込まれた前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項７】
請求項１に記載のデータ処理システムにおいて、
前記第一の記憶システム内の前記第一の記憶領域及び前記第三の記憶システム内の前記第六の記憶領域に対するデータの書き込みは、非同期に行われることを特徴とするデータ処理システム。
【請求項８】
請求項７に記載のデータ処理システムにおいて、
前記第一の記憶システムは、
前記第二の記憶領域に書き込まれているデータ及び当該データに関する更新情報を、前記第三の記憶システムに対して送るものであり、
前記第三の記憶システムは、
前記第一の記憶システムから送られたデータ及び当該データに関する更新情報を、前記第五の記憶領域に対して書き込むとともに、前記第五の記憶領域に書き込まれたデータ及び当該データに関する更新情報を基にして生成されたデータを、前記第六の記憶領域に書き込むことを特徴とするデータ処理システム。
【請求項９】
請求項８に記載のデータ処理システムにおいて、
前記第三の記憶システムは、
前記第一の記憶システム内の前記第二の記憶領域に書き込まれているデータ及び当該データに関する更新情報を、所定の時間間隔毎に、前記第一の記憶システムから読み出すように制御するものであることを特徴とするデータ処理システム。
【請求項１０】
請求項８に記載のデータ処理システムにおいて、
前記第一の記憶システムは、前記上位装置からデータの書き込み要求があった場合、データの更新順番の識別に用いられる更新番号を生成するものであり、
前記第一の記憶システム内の前記第二の記憶領域に書き込まれた前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項１１】
請求項８に記載のデータ処理システムにおいて、
前記第三の記憶システム内の前記第五の記憶領域に書き込まれた前記更新情報は、データの更新順番の識別に用いられる更新番号を有するものであることを特徴とするデータ処理システム。
【請求項１２】
請求項１に記載のデータ処理システムにおいて、
前記第一の記憶システムは、複数の前記第一の記憶領域を有し、
前記第二の記憶領域に書き込まれる前記更新情報は、前記複数の第一の記憶領域に書き込まれるデータを対象にして作成されるものであることを特徴とするデータ処理システム。
【請求項１３】
請求項１に記載のデータ処理システムにおいて、
前記第二の記憶システムは、複数の前記第三の記憶領域を有し、
前記第四の記憶領域に書き込まれる前記更新情報は、前記複数の第三の記憶領域に書き込まれるデータを対象にして作成されるものであることを特徴とするデータ処理システム。
【請求項１４】
請求項１に記載のデータ処理システムにおいて、
前記第三の記憶システムは、複数の前記第六の記憶領域を有し、
前記複数の第六の記憶領域に書き込まれるデータは、前記第五の記憶領域に書き込まれたデータ及び当該データに関する更新情報を基にして生成されたデータであることを特徴とするデータ処理システム。
【請求項１５】
請求項１に記載のデータ処理システムにおいて、
前記第一の記憶システム内の前記第二の記憶領域に書き込まれている前記更新情報は、前記第一の記憶システムで生成され、データの更新順番の識別に用いられる更新番号を有するものであり、
前記第二の記憶システム内の前記第四の記憶領域に書き込まれている前記更新情報は、前記更新番号を有するものであり、
前記第三の記憶システム内の前記第五の記憶領域に書き込まれている前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項１６】
第一の上位装置に接続され、前記第一の上位装置との間でデータの送受を行う第一の記憶システムと、
第二の上位装置及び前記第一の記憶システムに接続され、前記第一の記憶システムからデータを受ける第二の記憶システムと、
前記第一の記憶システムに接続され、前記第一の記憶システムからデータを受ける第三の記憶システムとを有し、
前記第一の記憶システムは、
前記第一の上位装置から送られたデータが書き込まれる第一の記憶領域と、
前記第一の記憶領域に書き込まれたデータと当該データに関する更新情報とが書き込まれる第二の記憶領域とを有しており、
前記第二の記憶システムは、
前記第一の記憶システムから送られたデータが書き込まれる第三の記憶領域と、
前記第三の記憶領域に書き込まれたデータと当該データに関する更新情報とが書き込まれる第四の記憶領域とを有しており、
前記第三の記憶システムは、
前記第二の記憶領域から読み出されたデータと当該データに関する更新情報とが書き込まれる第五の記憶領域と、
前記第五の記憶領域に書き込まれたデータと当該データに関する更新情報とを基にして生成されたデータが書き込まれる第六の記憶領域と、を有するものであることを特徴とするデータ処理システム。
【請求項１７】
請求項１６に記載のデータ処理システムにおいて、
前記第一の記憶システム内の前記第二の記憶領域に書き込まれている前記更新情報は、前記第一の記憶システムで生成され、データの更新順番の識別に用いられる更新番号を有するものであり、
前記第二の記憶システム内の前記第四の記憶領域に書き込まれている前記更新情報は、前記更新番号を有するものであり、
前記第三の記憶システム内の前記第五の記憶領域に書き込まれている前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項１８】
請求項１７に記載のデータ処理システムにおいて、
前記第一の記憶システムに障害が発生した場合、
前記第三の記憶システムは、前記第五の記憶領域に書き込まれている前記更新情報に関連する最新更新情報を、前記第二の記憶システムに対して送るものであり、
前記第二の記憶システムは、前記第三の記憶システムから送られた前記最新更新情報に基づいて、前記第四の記憶領域に書き込まれているデータを用いて、前記第三の記憶システム内の前記第五の記憶領域に対するデータの更新が可能か否かを判断することを特徴とするデータ処理システム。
【請求項１９】
請求項１８に記載のデータ処理システムにおいて、
前記第二の記憶システムが、前記第四の記憶領域に書き込まれているデータを用いて、前記第三の記憶システム内の前記第五の記憶領域に対するデータの更新が可能と判断した場合、
前記第三の記憶システムは、前記第二の記憶システム内の前記第四の記憶領域に書き込まれているデータ及び当該データに関する更新情報から、前記第五の記憶領域に書き込まれていないデータ及び当該データに関する更新情報を判断するものであることを特徴とするデータ処理システム。
【請求項２０】
請求項１８に記載のデータ処理システムにおいて、
前記第二の記憶システムが、前記第四の記憶領域に書き込まれているデータを用いて、前記第三の記憶システム内の前記第五の記憶領域に対するデータの更新が可能と判断した場合、
前記第三の記憶システムは、前記第二の記憶システム内の前記第四の記憶領域に書き込まれているデータ及び当該データに関する更新情報のうち、前記第五の記憶領域に書き込まれていないデータ及び当該データに関する更新情報を、前記第二の記憶システムから読み出すように制御するものであることを特徴とするデータ処理システム。
【請求項２１】
請求項２０に記載のデータ処理システムにおいて、
前記第二の記憶システムは、前記第二の上位装置から送られたデータを前記第三の記憶領域に書き込むとともに、前記第三の記憶領域に書き込まれたデータ及び当該データの更新情報を前記第四の記憶領域に書き込むものであることを特徴とするデータ処理システム。
【請求項２２】
請求項２１に記載のデータ処理システムにおいて、
前記第二の記憶システム内の前記第三の記憶領域及び前記第三の記憶システム内の前記第六の記憶領域に対するデータの書き込みは、非同期に行われることを特徴とするデータ処理システム。
【請求項２３】
請求項２２に記載のデータ処理システムにおいて、
前記第二の記憶システムは、
前記第四の記憶領域に書き込まれているデータ及び当該データに関する更新情報を、前記第三の記憶システムに対して送るものであり、
前記第三の記憶システムは、
前記第二の記憶システムから送られたデータ及び当該データに関する更新情報を、前記第五の記憶領域に対して書き込むとともに、前記第五の記憶領域に書き込まれたデータ及び当該データに関する更新情報を基にして生成されたデータを、前記第六の記憶領域に書き込むことを特徴とするデータ処理システム。
【請求項２４】
請求項２３に記載のデータ処理システムにおいて、
前記第三の記憶システムは、
前記第二の記憶システム内の前記第四の記憶領域に書き込まれているデータ及び当該データに関する更新情報を、所定の時間間隔毎に、前記第二の記憶システムから読み出すように制御するものであることを特徴とするデータ処理システム。
【請求項２５】
請求項２３に記載のデータ処理システムにおいて、
前記第二の記憶システムは、前記第二の上位装置からデータの書き込み要求があった場合、データの更新順番の識別に用いられる更新番号を生成するものであり、
前記第二の記憶システム内の前記第四の記憶領域に書き込まれた前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項２６】
請求項２３に記載のデータ処理システムにおいて、
前記第三の記憶システム内の前記第五の記憶領域に書き込まれた前記更新情報は、データの更新順番の識別に用いられる更新番号を有するものであることを特徴とするデータ処理システム。
【請求項２７】
請求項２３に記載のデータ処理システムにおいて、
前記第一の記憶システムに障害が発生した後の、前記第二の記憶システム内の前記第四の記憶領域に書き込まれている前記更新情報は、前記第二の記憶システムで生成され、データの更新順番の識別に用いられる更新番号を有するものであり、
前記第三の記憶システム内の前記第五の記憶領域に書き込まれている前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項２８】
請求項１７に記載のデータ処理システムにおいて、
前記第一の記憶システムに障害が発生した場合、
前記第三の記憶システムは、前記第五の記憶領域に書き込まれている前記更新情報に関連する最新更新情報を、前記第二の記憶システムに対して送るものであり、
前記第二の記憶システムは、前記第三の記憶システムから送られた前記最新更新情報に基づいて、前記第三の記憶領域に書き込まれているデータを用いて、前記第三の記憶システム内の前記第五の記憶領域に対するデータの更新をする必要があるか否かを判断することを特徴とするデータ処理システム。
【請求項２９】
請求項１６に記載のデータ処理システムにおいて、
前記第一の上位装置に障害が発生した場合、
前記第二の記憶システムは、前記第一の記憶システムから送られるデータを前記第三の記憶領域に書き込むことを停止して、前記第二の上位装置から送られたデータを前記第三の記憶領域に書き込むように制御するものであり、
前記第一の記憶システムは、前記第一の上位装置から送られるデータを前記第一の記憶領域に書き込むことを停止して、前記第二の記憶システムから送られたデータを前記第一の記憶システムに書き込むように制御することを特徴とするデータ処理システム。
【請求項３０】
請求項２９に記載のデータ処理システムにおいて、
前記第一の記憶システムは、前記第一の記憶領域に書き込まれたデータと当該データに関する更新情報とを、前記第二の記憶領域に書き込むものであり、
前記第二の記憶システムは、前記第三の記憶領域に書き込まれたデータと当該データに関する更新情報とを、前記第四の記憶領域に書き込むものであり、
前記第三の記憶システムは、
前記第一の記憶システム内の前記第二の記憶領域からデータ及び当該データに関する更新情報を読み出すことを停止し、前記第二の記憶システム内の前記第四の記憶領域からデータと当該データに関する更新情報とを読み出して、前記第五の記憶領域に書き込み、
前記第五の記憶領域に書き込まれたデータと当該データに関する更新情報とを基にして生成されたデータを、前記第六の記憶領域に書き込むものであることを特徴とするデータ処理システム。
【請求項３１】
請求項３０に記載のデータ処理システムにおいて、
前記第二の記憶システム内の前記第四の記憶領域に書き込まれている前記更新情報は、前記第二の記憶システムで生成され、データの更新順番の識別に用いられる更新番号を有するものであり、
前記第一の記憶システム内の前記第二の記憶領域に書き込まれている前記更新情報は、前記更新番号を有するものであり、
前記第三の記憶システム内の前記第五の記憶領域に書き込まれている前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項３２】
請求項３０に記載のデータ処理システムにおいて、
前記第二の記憶システム内の前記第三の記憶領域及び前記第一の記憶システム内の前記第二の記憶領域に対するデータの書き込みは、同期して行われることを特徴とするデータ処理システム。
【請求項３３】
請求項３２に記載のデータ処理システムにおいて、
前記第二の記憶システムは、
前記第二の上位装置からデータの書き込み要求を受けた場合、前記第一の記憶システムに対してデータの書き込みを要求し、前記第一の記憶システムから書き込み応答を受けた後に、前記第二の上位装置に対してデータの書き込み要求の終了を報告するものであることを特徴とするデータ処理システム。
【請求項３４】
請求項３３に記載のデータ処理システムにおいて、
前記第二の記憶システムは、前記第二の上位装置からデータの書き込み要求を受けた場合、データの更新順番の識別に用いられる更新番号を生成し、前記第一の記憶システムに対して送られるデータの書き込み要求に前記更新番号を含ませるものであり、
前記第四の記憶領域に書き込まれた前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項３５】
請求項３３に記載のデータ処理システムにおいて、
前記第一の記憶システムは、
前記第二の記憶システムからデータの書き込み要求を受けた場合、前記第二の記憶システムに対して書き込み応答を送るものであり、
前記第二の記憶システムから送られたデータの書き込み要求に含まれる、データの更新順番の識別に用いられる更新番号を取得するものであり、
前記第二の記憶領域に書き込まれた前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項３６】
請求項３０に記載のデータ処理システムにおいて、
前記第二の記憶システム内の前記第三の記憶領域及び前記第三の記憶システム内の前記第六の記憶領域に対するデータの書き込みは、非同期に行われることを特徴とするデータ処理システム。
【請求項３７】
請求項３６に記載のデータ処理システムにおいて、
前記第二の記憶システムは、
前記第四の記憶領域に書き込まれているデータ及び当該データに関する更新情報を、前記第三の記憶システムに対して送るものであり、
前記第三の記憶システムは、
前記第二の記憶システムから送られたデータ及び当該データに関する更新情報を、前記第五の記憶領域に対して書き込むとともに、前記第五の記憶領域に書き込まれたデータ及び当該データに関する更新情報を基にして生成されたデータを、前記第六の記憶領域に書き込むことを特徴とするデータ処理システム。
【請求項３８】
請求項３７に記載のデータ処理システムにおいて、
前記第三の記憶システムは、
前記第二の記憶システム内の前記第四の記憶領域に書き込まれているデータ及び当該データに関する更新情報を、所定の時間間隔毎に、前記第二の記憶システムから読み出すように制御するものであることを特徴とするデータ処理システム。
【請求項３９】
請求項３７に記載のデータ処理システムにおいて、
前記第二の記憶システムは、前記第二の上位装置からデータの書き込み要求があった場合、データの更新順番の識別に用いられる更新番号を生成するものであり、
前記第二の記憶システム内の前記第四の記憶領域に書き込まれた前記更新情報は、前記更新番号を有するものであることを特徴とするデータ処理システム。
【請求項４０】
請求項３７に記載のデータ処理システムにおいて、
前記第三の記憶システム内の前記第五の記憶領域に書き込まれた前記更新情報は、データの更新順番の識別に用いられる更新番号を有するものであることを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システムに関し、特に複数の記憶システム間でのデータ複製および記憶システムの障害時のデータ複製処理の再開に関する。
【背景技術】
【０００２】
近年、顧客に対して常に継続したサービスを提供するために、第一の記憶システムに障害が発生した場合でもデータ処理システムがサービスを提供できるよう、記憶システム間でのデータの複製に関する技術が重要になっている。第一の記憶システムに格納された情報を第二および第三の記憶システムに複製する技術として、以下の特許文献に開示された技術が存在する。
【０００３】
従来技術では、第一の記憶システムが、第一の記憶システムに格納されたデータを、第二の記憶システムに転送し、さらに、第三の記憶システムに転送する技術が開示されている。計算機と第一の記憶システムとは通信リンクにより接続され、第一の記憶システムと第二の記憶システムとは通信リンクにより接続され、さらに、第一の記憶システムと第三の記憶システムとは通信リンクにより接続されている。第一の記憶システムは、複製対象の第一の論理ボリュームを保持する。第二の記憶システムは、第一の論理ボリュームの複製である第二の論理ボリュームを保持する。第三の記憶システムは、第一の論理ボリュームの複製である第三の論理ボリュームを保持する。この特許文献において、第一の記憶システムは、第一の論理ボリュームの更新時に、第二の論理ボリュームへのデータ複製処理を行い、第三の論理ボリュームとのデータの差異を一定のデータサイズ毎に管理情報に記憶する。その後、当該管理情報を用いて、第三の論理ボリュームへのデータ複製処理を行う。
【０００４】
【特許文献１】特開２００３−１２２５０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来技術に開示された技術は、第一の論理ボリュームと第三の論理ボリュームのデータの差異を一定のデータサイズ毎に管理する。差異を管理する管理情報は、データ複製対象のデータ量に比例して増大するという課題がある。さらに、管理情報に基づいて、データ更新順と無関係な順序で、第三の論理ボリュームの更新を行うため、第三の論理ボリュームのデータの整合性は維持できない。
【０００６】
したがって、本発明の目的は、データ処理システムを構成する第三の記憶システム内のデータの整合性を維持しつつ、第一の記憶システムから第三の記憶システムへのデータの複製処理を行うことである。さらに、本発明の目的は、データの複製に使用する管理情報を少なくすることである。
【０００７】
さらに、本発明の目的は、データ処理システムを構成する第一の記憶システムが故障した場合に、第三の記憶システムのデータを最新とする間も第三の記憶システムのデータの整合性を維持することである。さらに、本発明の目的は、データを最新とするまでにかかる時間を短くすることである。
【課題を解決するための手段】
【０００８】
これらの課題を解決するために、本発明において、第一の記憶システムは、第一の記憶システムに格納されたデータの更新に関する情報をジャーナルとして格納する。ジャーナルは、具体的には、更新に用いられたデータのコピーと更新時のライト命令、更新順序を示す更新番号等の更新情報とによって構成される。さらに、第三の記憶システムは、第一の記憶システムと第三の記憶システム間の通信線を介して、前記ジャーナルを取得し、ジャーナル専用の記憶領域に格納する。第三の記憶システムは、第一の記憶システムが保持するデータの複製を保持しており、前記ジャーナルを用いて、第一の記憶システムでのデータ更新順に、第一の記憶システムのデータと対応するデータを更新する。
【０００９】
さらに、第二の記憶システムは、第一の記憶システムが保持するデータの複製を保持しており、第一の記憶システムは、第二の記憶システムと第一の記憶システム間の通信線を介して、第一の記憶システムに格納されたデータの更新の際に、第二の記憶システムに格納されたデータの更新も行う。このデータ更新命令は、第一の記憶システムがジャーナルを作成するときに使用した更新番号もしくは更新時刻を含む。第二の記憶システムは、かかるデータ更新の際に、第一の記憶システムから受信した更新番号もしくは更新時刻を用いた更新情報を作成し、ジャーナルとしてジャーナル専用の記憶領域に格納する。
【００１０】
第三の記憶システムは、第一の記憶システムが故障した場合、第二の記憶システムと第三の記憶システム間の通信線を介して、第三の記憶システムが保持していないジャーナルのみを第二の記憶システムから取得し、第一の記憶システムでのデータ更新順に、第一の記憶システムのデータと対応するデータを更新する。
【発明の効果】
【００１１】
本発明によれば、複数の記憶システム間で、データの整合性を維持しつつ、データを複製する場合に必要となる管理情報を減らすことができる。さらに、本発明によれば、データ処理システムを構成する記憶システムおよびホストコンピュータが故障した場合、データの整合性を維持しつつ、高速かつ効率的にデータの複製を継続することができる。
【発明を実施するための最良の形態】
【００１２】
本発明によるデータ処理システムの実施形態を図面により詳細に説明する。
【００１３】
図１は、本発明の一実施形態の論理的な構成を示すブロック図である。
本発明の一実施形態は、ホストコンピュータ１８０と記憶システム１００Ａを接続パス１９０により接続し、記憶システム１００Ａと記憶システム１００Ａに保存されたデータの複製を保持する記憶システム１００Ｂと記憶システム１００Ｃを接続パス２００により接続した構成である。さらに、記憶システム１００Ｂと記憶システム１００Ｃは、接続パス２００により接続されている。以下の説明において、複製対象のデータを保持する記憶システム１００と複製データを保持する記憶システム１００との区別を容易とするために、複製対象のデータを保持する記憶システム１００を正記憶システム１００Ａ、複製データを保持する記憶システム１００を副記憶システム１００Ｂおよび副記憶システム１００Ｃとよぶこととする。なお、記憶システムの記憶領域は、分割して管理されており、分割された記憶領域を論理ボリュームと呼ぶこととする。
【００１４】
論理ボリューム２３０の容量および記憶システム１００内の物理的な格納位置（物理アドレス）は、記憶システム１００に接続したコンピュータ等の保守端末もしくはホストコンピュータ１８０を用いて指定できる。各論理ボリューム２３０の物理アドレスは、後述するボリューム情報４００に保存する。物理アドレスは、例えば、記憶システム１００内の記憶装置１５０を識別する番号（記憶装置番号）と記憶装置内の記憶領域を一意に示す数値、例えば、記憶装置の記憶領域の先頭からの位置である。以下の説明では、物理アドレスは、記憶装置番号と記憶装置の記憶領域の先頭からの位置の組とする。以下の説明では、論理ボリュームは、１つの記憶装置の記憶領域であるが、論理アドレスと物理アドレスの変換により、１つの論理ボリュームを複数の記憶装置の記憶領域に対応づけることも可能である。
【００１５】
記憶システム１００が保存しているデータの参照、更新は、論理ボリュームを識別する番号（論理ボリューム番号）と記憶領域を一意に示す数値、例えば、論理ボリュームの記憶領域の先頭からの位置により一意に指定することができ、以下、論理ボリューム番号と論理ボリュームの記憶領域の先頭からの位置（論理アドレス内位置）の組を論理アドレスとよぶ。
【００１６】
以下の説明において、複製対象のデータと複製データとの区別を容易とするために、複製対象の論理ボリューム２３０を正論理ボリューム、複製データである論理ボリューム２３０を副論理ボリュームとよぶこととする。一対の正論理ボリュームと副論理ボリュームをペアとよぶ。正論理ボリュームと副論理ボリュームの関係および状態等は後述するペア情報５００に保存する。
【００１７】
論理ボリューム間のデータの更新順序を守るために、グループという管理単位を設ける。例えば、ホストコンピュータ１８０が、正論理ボリューム１のデータ１を更新し、その後、データ１を読み出し、データ１の数値を用いて、正論理ボリューム２のデータ２を更新する処理を行うとする。正論理ボリューム１から副論理ボリューム１へのデータ複製処理と、正論理ボリューム２から副論理ボリューム２へのデータ複製処理とが独立に行われる場合、副論理ボリューム１へのデータ１の複製処理より前に、副論理ボリューム２へのデータ２の複製処理が行われる場合がある。副論理ボリューム２へのデータ２の複製処理と副論理ボリューム１へのデータ１の複製処理との間に、故障等により副論理ボリューム１へのデータ１の複製処理が停止した場合、副論理ボリューム１と副論理ボリューム２のデータの整合性がなくなる。このような場合にも副論理ボリューム１と副論理ボリューム２のデータの整合性を保つために、データの更新順序を守る必要のある論理ボリュームは、同じグループに登録し、データの更新毎に、後述するグループ情報６００の更新番号を割り当て、更新番号順に、副論理ボリュームに複製処理を行う。更新番号の代わりに更新時刻を用いてもよい。例えば、図１では、正記憶システム１００Ａの論理ボリューム（ＤＡＴＡ１）と論理ボリューム（ＤＡＴＡ２）がグループ１を構成する。さらに、論理ボリューム（ＤＡＴＡ１）の複製である論理ボリューム（ｄａｔａ１）と論理ボリューム（ＤＡＴＡ２）の複製である論理ボリューム（ｄａｔａ２）は、副記憶システム１００Ｃ内でグループ１を構成する。同様に、論理ボリューム（ＤＡＴＡ１）の複製である論理ボリューム（ＣＯＰＹ１）と論理ボリューム（ＤＡＴＡ２）の複製である論理ボリューム（ＣＯＰＹ２）は、副記憶システム１００Ｂ内でグループ１を構成する。
【００１８】
データ複製対象である正論理ボリューム（ＤＡＴＡ１、ＤＡＴＡ２）のデータを更新する場合、副論理ボリューム（ＣＯＰＹ１、ＣＯＰＹ２）のデータを更新するために、正記憶システム１００Ａは、後述するジャーナルを作成し、正記憶システム１００Ａ内の論理ボリュームに保存する。本実施例の説明では、グループ毎にジャーナルのみを保存する論理ボリューム（以下、ジャーナル論理ボリュームとよぶ）を割り当てる。図１では、グループ１のジャーナル論理ボリュームは、論理ボリューム（ＪＮＬ１）である。
【００１９】
同様に、副記憶システム１００Ｃの副論理ボリューム（ｄａｔａ１、ｄａｔａ２）のデータを更新する場合、副記憶システム１００Ｃは、後述するジャーナルを作成し、副記憶システム１００Ｃ内のジャーナル論理ボリュームに保存する。図１では、グループ１のジャーナル論理ボリュームは、論理ボリューム（Ｊｎｌ１）である。
【００２０】
副記憶システム１００Ｂのグループにもジャーナル論理ボリュームを割り当てる。ジャーナル論理ボリュームは、正記憶システム１００Ａから副記憶システム１００Ｂに転送したジャーナルを保存するために使用する。ジャーナルをジャーナル論理ボリュームに保存することにより、例えば、副記憶システム１００Ｂの負荷が高い場合、ジャーナル受信時に副論理ボリューム（ＣＯＰＹ１、ＣＯＰＹ２）のデータ更新を行わず、暫く後、副記憶システム１００Ｂの負荷が低い時に、副論理ボリューム（ＣＯＰＹ１、ＣＯＰＹ２）のデータを更新することもできる。さらに、接続線２００が複数ある場合、正記憶システム１００Ａから副記憶システム１００Ｂへのジャーナルの転送を多重に行い、接続線２００の転送能力を有効に利用することができる。更新順番のため、副記憶システム１００Ｂに多くのジャーナルが溜まる可能性があるが、副論理ボリュームのデータ更新に直ぐに使用できないジャーナルは、ジャーナル論理ボリュームに格納することにより問題とならない。図１では、グループ１のジャーナル論理ボリュームは、論理ボリューム（ＪＮＬ２）である。
【００２１】
ジャーナルは、ライトデータと更新情報とから構成する。更新情報は、ライトデータを管理するための情報で、ライト命令を受信した時刻（更新時刻）、グループ番号、後述するグループ情報６００の更新番号、ライト命令の論理アドレス、ライトデータのデータサイズ、ライトデータを格納したジャーナル論理ボリュームの論理アドレス等からなる。更新情報は、ライト命令を受信した時刻と更新番号のどちらか一方のみを保持してもよい。ホストコンピュータ１８０からのライト命令内にライト命令の作成時刻が存在する場合は、ライト命令を受信した時刻の代わりに、当該ライト命令内の作成時刻を使用してもよい。図３と図２１を用いて、ジャーナルの更新情報の例を説明する。更新情報３１０は、１９９９年３月１７日の２２時２０分１０秒に受信したライト命令を記憶する。当該ライト命令は、ライトデータを論理ボリューム番号１の記憶領域の先頭から７００の位置に格納する命令であり、データサイズは３００である。ジャーナルのライトデータは、論理ボリューム番号４（ジャーナル論理ボリューム）の記憶領域の先頭から１５００の位置から格納されている。論理ボリューム番号１の論理ボリュームはグループ１に属し、グループ１のデータ複製開始から４番目のデータ更新であることがわかる。
【００２２】
ジャーナル論理ボリュームは、例えば、図３に示すように、更新情報を格納する記憶領域（更新情報領域）とライトデータを格納する記憶領域（ライトデータ領域）に分割して使用する。更新情報領域は、更新情報領域の先頭から、更新番号の順に格納し、更新情報領域の終端に達すると、更新情報領域の先頭から格納する。ライトデータ領域は、ライトデータ領域の先頭からライトデータを格納し、ライトデータ領域の終端に達すると、ライトデータ領域の先頭から格納する。更新情報領域およびライトデータ領域の比は、固定値でもよいし、保守端末あるいはホストコンピュータ１８０により設定可能としてもよい。これらの情報は、後述するポインタ情報７００内に保持する。以下の説明では、ジャーナル論理ボリュームを更新情報とライトデータの領域に分割して、ジャーナル論理ボリュームを使用するが、論理ボリュームの先頭から、ジャーナル、つまり、更新情報とライトデータを連続に格納する方式を採用してもよい。
【００２３】
図１を用いて、正記憶システム１００Ａの正論理ボリューム（ＤＡＴＡ１）へのデータ更新を副記憶システム１００Ｃの副論理ボリューム（ｄａｔａ１）および副記憶システム１００Ｂの副論理ボリューム（ＣＯＰＹ１）に反映する動作について概説する。
【００２４】
（１）正記憶システム１００Ａは、ホストコンピュータ１８０から正論理ボリューム（ＤＡＴＡ１）内のデータに対するライト命令を受信すると、後述する命令受信処理２１０およびリードライト処理２２０によって、正論理ボリューム（ＤＡＴＡ１）内のデータ更新と、ジャーナル論理ボリューム（ＪＮＬ１）へのジャーナルの保存と、副記憶システム１００Ｃに副記憶システム１００Ｃ内の副論理ボリューム（ｄａｔａ１）の対応するデータの更新（リモートライト命令）の命令を行う(図１の２７０)。
【００２５】
（２）副記憶システム１００Ｃは、正記憶システム１００Ａからのリモートライト命令を受け、後述する命令受信処理２１０およびリードライト処理２２０によって、副論理ボリューム（ｄａｔａ１）内の対応するデータの更新と、ジャーナル論理ボリューム（Ｊｎｌ１）にジャーナルの保存を行う (図１の２７０)。
【００２６】
（３）正記憶システム１００Ａは、リモートライト命令の応答を受けた後、ホストコンピュータにライト命令の終了を報告する。従って、正記憶システム１００Ａ内の正論理ボリューム（ＤＡＴＡ１）と副記憶システム１００Ｃ内の副論理ボリューム（ｄａｔａ１）のデータは完全に一致する。このようなデータ複製を同期のデータ複製とよぶ。
【００２７】
（４）副記憶システム１００Ｂは、後述するジャーナルリード処理２４０によって、正記憶システム１００Ａからジャーナルをリードし、リードライト処理２２０によって、ジャーナル論理ボリューム（ＪＮＬ２）にジャーナルを保存する(図１の２８０)。
【００２８】
（５）正記憶システム１００Ａは、副記憶システム１００Ｂからジャーナルリード命令を受信すると、後述する命令受信処理２１０およびリードライト処理２２０によって、ジャーナル論理ボリューム（ＪＮＬ１）からジャーナルを読み出し、副記憶システム１００Ｂに送信する(図１の２８０)。
【００２９】
（６）副記憶システム１００Ｂは、後述するリストア処理２５０およびリードライト処理２２０によって、ポインタ情報７００を用いて、更新番号の昇順に、ジャーナル論理ボリューム（ＪＮＬ２）からジャーナルを読み出し、副論理ボリューム（ＣＯＰＹ１）のデータを更新する(図１の２９０)。従って、正記憶システム１００Ａ内の正論理ボリューム（ＤＡＴＡ１）と副記憶システム１００Ｂ内の副論理ボリューム（ＣＯＰＹ１）のデータは、正論理ボリューム（ＤＡＴＡ１）の更新の暫く後には、完全に一致する。このようなデータ複製を非同期のデータ複製とよぶ。
【００３０】
記憶システム１００の内部構造を図２に示す。記憶システム１００は、１つ以上のホストアダプタ１１０、１つ以上のディスクアダプタ１２０、１つ以上のキャッシュメモリ１３０、１つ以上の共有メモリ１４０、１つ以上の記憶装置１５０、１つ以上のコモンパス１６０、１つ以上の接続線１７０を備えて構成される。ホストアダプタ１１０、ディスクアダプタ１２０、キャッシュメモリ１３０、共有メモリ１４０はコモンパス１６０により相互間が接続されている。コモンパス１６０は、コモンパス１６０の障害時のために２重化されてもよい。ディスクアダプタ１２０と記憶装置１５０とは接続線１７０によって接続されている。また、図示していないが、記憶システム１００の設定、監視、保守等を行うための保守端末が全てのホストアダプタ１１０とディスクアダプタ１２０とに専用線を用いて接続されている。
【００３１】
ホストアダプタ１１０は、ホストコンピュータ１８０とキャッシュメモリ１３０間のデータ転送を制御する。ホストアダプタ１１０は、接続線１９０および接続線２００によりホストコンピュータ１８０もしくは、他の記憶システム１００と接続される。ディスクアダプタ１２０は、キャッシュメモリ１３０と記憶装置１５０との間のデータ転送を制御する。キャッシュメモリ１３０は、ホストコンピュータ１８０から受信したデータあるいは記憶装置１５０から読み出したデータを一時的に保持するメモリである。共有メモリ１４０は、記憶システム１００内の全てのホストアダプタ１１０とディスクアダプタ１２０とが共有するメモリである。
【００３２】
ボリューム情報４００は、論理ボリュームを管理する情報であり、ボリューム状態、フォーマット形式、容量、同期ペア番号、非同期ペア番号、物理アドレスを保持する。図４にボリューム情報４００の一例を示す。ボリューム情報４００は、ホストアダプタ１１０およびディスクアダプタ１２０から参照可能なメモリ、例えば共有メモリ１４０に保存される。ボリューム状態は、“正常”、“正”、“副”、“異常”、“未使用”のいずれかを保持する。ボリューム状態が“正常”もしくは“正”である論理ボリューム２３０は、ホストコンピュータ１８０から正常にアクセス可能な論理ボリューム２３０であることを示す。ボリューム状態が“副”である論理ボリューム２３０は、ホストコンピュータ１８０からのアクセスを許可してもよい。ボリューム状態が“正”である論理ボリューム２３０は、データの複製が行われている論理ボリューム２３０であることを示す。ボリューム状態が“副”である論理ボリューム２３０は、複製に使用されている論理ボリューム２３０であることを示す。ボリューム状態が“異常”の論理ボリューム２３０は、障害により正常にアクセスできない論理ボリューム２３０であることを示す。障害とは、例えば、論理ボリューム２３０を保持する記憶装置１５０の故障である。ボリューム状態が“未使用”の論理ボリューム２３０は、使用していない論理ボリューム２３０であることを示す。同期ペア番号および非同期ペア番号は、ボリューム状態が“正”もしくは“副”の場合に有効であり、後述するペア情報５００を特定するためのペア番号を保持する。保持するペア番号が存在しない場合は、無効値（例えば、“０”）を設定する。図４に示す例では、論理ボリューム１は、フォーマット形式がＯＰＥＮ３、容量が３ＧＢ、記憶装置番号１の記憶装置１５０の記憶領域の先頭からデータが格納されており、アクセス可能であり、データの複製対象であることを示す。
【００３３】
ペア情報５００は、ペアを管理する情報であり、ペア状態、正記憶システム番号、正論理ボリューム番号、副記憶システム番号、副論理ボリューム番号、グループ番号、コピー済みアドレスを保持する。図５にペア情報５００の一例を示す。ペア情報５００は、ホストアダプタ１１０およびディスクアダプタ１２０から参照可能なメモリ、例えば共有メモリ１４０に保存する。ペア状態は、“正常”、“異常”、“未使用”,“コピー未”、“コピー中”のいずれかを保持する。ペア状態が“正常”の場合は、正論理ボリューム２３０のデータ複製が正常に行われていることを示す。ペア状態が“異常”の場合は、障害により正論理ボリューム２３０の複製が行えないことを示す。障害とは、例えば、接続パス２００の断線などである。ペア状態が“未使用”の場合は、当該ペア番号の情報は有効でないことを示す。ペア状態が“コピー中”の場合は、後述する初期コピー処理中であることを示す。ペア状態が“コピー未”の場合は、後述する初期コピー処理が未だ行われていないことを示す。正記憶システム番号は、正論理ボリューム２３０を保持する正記憶システム１００Ａを特定する番号を保持する。副記憶システム番号は、副論理ボリューム２３０を保持する副記憶システム１００Ｂを特定する番号を保持する。グループ番号は、正記憶システムの場合は、正論理ボリュームが属するグループ番号を保持する。副記憶システムの場合は、副論理ボリュームが属するグループ番号を保持する。コピー済みアドレスは、後述する初期コピー処理にて説明する。図５のペア情報１は、データ複製対象が正記憶システムＡ内の正論理ボリューム１であり、データ複製先が副記憶システムＢ内の副論理ボリューム１であり、データ複製処理が行われていることを示す。
【００３４】
グループ情報６００は、グループ状態、ペア集合、ジャーナル論理ボリューム番号、更新番号、複製種類、相手記憶システム番号、相手グループ番号を保持する。図６にグループ情報６００の一例を示す。グループ情報６００は、ホストアダプタ１１０およびディスクアダプタ１２０から参照可能なメモリ、例えば共有メモリ１４０に保存する。グループ状態は、“正常”、“異常”、“未使用”、“停止”、“準備中”のいずれかを保持する。グループ状態が“正常”の場合は、ペア集合の少なくともひとつのペア状態が“正常”であることを示す。グループ状態が“異常”の場合は、ペア集合の全てのペア状態が“異常”であることを示す。グループ状態が“未使用”の場合は、当該グループ番号の情報は有効でないことを示す。正記憶システムの場合、グループ状態の“停止”は、ジャーナルの作成を一時的に行わないことを示す。これは、グループ状態が“正常”の場合に、ジャーナルの作成を一時的に停止したい場合に使用する。副記憶システムの場合、グループ状態の“停止”は、ジャーナルリード処理を一時的に行わないことを示す。これは、グループ状態が“正常”の場合に、正記憶システムからジャーナルをリードすることを一時的に停止したい場合に使用する。グループ状態が“準備中”の場合は、後述するデータ複製開始処理中であることを示す。正記憶システムの場合、ペア集合はグループ番号が示すグループに属する全ての正論理ボリュームのペア番号を保持する。副記憶システムの場合、ペア集合はグループ番号が示すグループに属する全ての副論理ボリュームのペア番号を保持する。ジャーナル論理ボリューム番号は、当該グループ番号のグループに属するジャーナル論理ボリューム番号を示す。当該グループ番号のグループに属するジャーナル論理ボリュームが存在しない場合は、無効値（例えば、“０”）を設定する。更新番号は、初期値は１であり、ジャーナルを作成した場合に変更する。更新番号は、ジャーナルの更新情報に記憶し、副記憶システム１００Ｂにて、データの更新順を守るために使用する。複製種類は、“同期”、“非同期”のいずれかを保持する。複製種類が“同期”の場合、正論理ボリュームと副論理ボリュームの更新は同時に行われる。従って、正論理ボリュームのデータと副論理ボリュームのデータは完全に一致する。複製種類が“非同期”の場合、副論理ボリュームの更新は、正論理ボリュームの更新の後に行われる。従って、正論理ボリュームのデータと副論理ボリュームのデータは、一致していない（副論理ボリュームのデータは正論理ボリュームの古いデータ）場合があり、暫く後、副論理ボリュームのデータは正論理ボリュームのデータと完全に一致する。正記憶システムの場合、相手記憶システム番号は、グループに属するペアの副論理ボリュームを保持する副記憶システム番号を保持する。副記憶システムの場合、相手記憶システム番号は、グループに属するペアの正論理ボリュームを保持する正記憶システム番号を保持する。正記憶システムの場合、相手グループ番号は、グループに属するペアの副論理ボリュームが属するグループ番号を保持する。副記憶システムの場合、相手グループ番号は、グループに属するペアの正論理ボリュームが属するグループ番号を保持する。例えば、図６のグループ情報１は、ペア情報１，２から、正論理ボリューム１，２と、ジャーナル論理ボリューム４から構成されており、正常にデータの複製処理（非同期）が行われていることを示す。
【００３５】
ポインタ情報７００は、グループ毎に保持し、当該グループのジャーナル論理ボリュームを管理する情報であり、更新情報領域先頭アドレス、ライトデータ領域先頭アドレス、更新情報最新アドレス、更新情報最古アドレス、ライトデータ最新アドレス、ライトデータ最古アドレス、リード開始アドレス、リトライ開始アドレスを保持する。図７および図８にポインタ情報７００の一例を示す。更新情報領域先頭アドレスは、ジャーナル論理ボリュームの更新情報を格納する記憶領域（更新情報領域）の先頭の論理アドレスを保持する。ライトデータ領域先頭アドレスは、ジャーナル論理ボリュームのライトデータを格納する記憶領域（ライトデータ領域）の先頭の論理アドレスを保持する。更新情報最新アドレスは、次にジャーナルを格納する場合に、更新情報の保存に使用する先頭の論理アドレスを保持する。更新情報最古アドレスは、最古の（更新番号が小さい）ジャーナルの更新情報を保存する先頭の論理アドレスを保持する。ライトデータ最新アドレスは、次にジャーナルを格納する場合に、ライトデータの保存に使用する先頭の論理アドレスを保持する。ライトデータ最古アドレスは、最古の（更新番号が小さい）ジャーナルのライトデータを保存する先頭の論理アドレスを保持する。リード開始アドレスとリトライ開始アドレスは、正記憶システム１００Ａのみで使用し、後述するジャーナルリード受信処理にて使用する。図７および図８のポインタ情報７００の例では、ジャーナルの更新情報を保存する領域（更新情報領域）は、論理ボリューム４の記憶領域の先頭から６９９の位置までであり、ジャーナルのライトデータを保存する領域（ライトデータ領域）は、論理ボリューム４の記憶領域の７００の位置から２６９９の位置までである。ジャーナルの更新情報は、論理ボリューム４の記憶領域の２００の位置から４９９の位置まで保存されており、次のジャーナルの更新情報は、論理ボリューム４の記憶領域の５００の位置から保存する。ジャーナルのライトデータは論理ボリューム４の記憶領域の１３００の位置から２１９９の位置まで保存されており、次のジャーナルのライトデータは、論理ボリューム４の記憶領域の２２００の位置から保存する。
【００３６】
下記の説明では、１つのグループに１つのジャーナル論理ボリュームを割り当てる形態で説明しているが、１つのグループに複数のジャーナル論理ボリュームを割り当ててもよい。例えば、１つのグループに２つのジャーナル論理ボリュームを割り当て、ジャーナル論理ボリューム毎にポインタ情報７００を設け、交互にジャーナルを格納する。これにより、ジャーナルの記憶装置１５０への書き込みが分散でき、性能の向上が見込める。さらに、ジャーナルのリード性能も向上する。別の例としては、１つのグループに２つのジャーナル論理ボリュームを割り当て、通常は、１つのジャーナル論理ボリュームのみを使用する。もう一方のジャーナル論理ボリュームは、使用しているジャーナル論理ボリュームの性能が低下した場合もしくは故障して使用できない場合に使用する。性能が低下する例は、ジャーナル論理ボリュームが、複数の記憶装置１５０から構成され、ＲＡＩＤ方式でデータを保持しており、ＲＡＩＤを構成する記憶装置１５０の一台が故障中の場合である。
【００３７】
なお、上述のボリューム情報４００、ペア情報５００、グループ情報６００、及びポインタ情報７００等は、共有メモリ１４０に格納されていることが好ましい。しかし、本実施例は、この場合に限られず、これらの情報を、キャッシュメモリ１３０、ホストアダプタ１１０、ディスクアダプタ１２０、その他記憶装置１５０に集中して格納または分散して格納することもよい。
【００３８】
次に、正記憶システム１００Ａから副記憶システム１００Ｂおよび副記憶システム１００Ｃに対して、データ複製を開始する手順（データ複製開始処理）を図９、図１０を用いて説明する。
【００３９】
（１）グループ作成について説明する（ステップ９００）。ユーザは、保守端末あるいはホストコンピュータ１８０を使用して、正記憶システム１００Ａのグループ情報６００を参照し、グループ状態が“未使用”のグループ番号Ａを取得する。同様に、副記憶システム１００Ｂ（もしくは副記憶システム１００Ｃ）のグループ番号Ｂを取得する。ユーザは、正記憶システム１００Ａに、保守端末あるいはホストコンピュータ１８０を使用して、グループ作成指示を行う。グループ作成指示は、指示対象グループ番号Ａ、相手記憶システム番号Ｂ、相手グループ番号Ｂ、複製種類からなる。
【００４０】
グループ作成指示を受けて、正記憶システム１００Ａは、グループ情報６００を変更する。具体的には、正記憶システム１００Ａは、指示対象グループ番号Ａのグループ情報６００のグループ状態を“準備中”に、相手記憶システム番号を、指示された相手記憶システム番号Ｂに、相手グループ番号を、指示された相手グループ番号Ｂに、複製種類を指示された複製種類に変更する。グループ情報６００の更新番号を１（初期値）に設定する。さらに、正記憶システム１００Ａは、相手記憶システム番号Ｂの記憶システムに対して、グループ作成指示を行う。グループ作成指示の指示対象グループ番号は相手グループ番号Ｂ、相手記憶システム番号は正記憶システム１００Ａの記憶システム番号、相手グループ番号は指示対象グループ番号Ａ、複製種類は指示された複製種類とする。
【００４１】
（２）ペア登録について説明する（ステップ９１０）。ユーザは、保守端末あるいはホストコンピュータ１８０を使用して、データ複製対象を示す情報とデータ複製先を示す情報を指定し、ペア登録指示を正記憶システム１００Ａに行う。データ複製対象を示す情報は、データ複製対象のグループ番号Ａと正論理ボリューム番号Ａである。データ複製先を示す情報は、複製データを保存する副記憶システム１００Ｂ内の副論理ボリューム番号Ｂである。
【００４２】
前記ペア登録指示を受けて、正記憶システム１００Ａは、ペア情報５００からペア情報が“未使用”のペア番号を取得し、ペア状態を“コピー未”に、正記憶システム番号に正記憶システム１００Ａを示す正記憶システム番号Ａを、正論理ボリューム番号に指示された正論理ボリューム番号Ａを、副記憶システム番号にグループ情報６００のグループ番号Ａの相手記憶システム番号を、副論理ボリューム番号に指示された副論理ボリューム番号Ｂを、グループ番号に指示されたグループ番号Ａを設定する。指示されたグループ番号Ａのグループ情報６００のペア集合に前記取得したペア番号を追加し、正論理ボリューム番号Ａのボリューム状態を“正”に変更する。
【００４３】
正記憶システム１００Ａは、指示されたグループ番号Ａのグループ情報６００の相手記憶システムに対して、正記憶システム１００Ａを示す正記憶システム番号Ａ、グループ番号Ａのグループ情報６００の相手グループ番号Ｂ、正論理ボリューム番号Ａ、および副論理ボリューム番号Ｂを通知し、ペア登録を命令する。副記憶システム１００Ｂは、ペア情報５００から未使用のペア番号を取得し、ペア状態を“コピー未”に、正記憶システム番号に通知された正記憶システム番号Ａを、正論理ボリューム番号に通知された正論理ボリューム番号Ａを、副記憶システム番号に副記憶システム番号Ｂを、副論理ボリューム番号に通知された副論理ボリューム番号Ｂを、グループ番号に通知されたグループ番号Ｂを設定する。さらに、副記憶システム１００Ｂは、指示されたグループ番号Ｂのグループ情報のペア集合に前記取得したペア番号を追加し、副論理ボリューム番号Ｂのボリューム状態を“副”に変更する。
【００４４】
以上の動作を全てのデータ複製対象のペアに対して行う。
【００４５】
前記の説明では、論理ボリュームのグループへの登録と、論理ボリュームのペアの設定を同時に行う処理を説明したが、それぞれ個別に行ってもよい。
【００４６】
（３）ジャーナル論理ボリューム登録について説明する（ステップ９２０）。ユーザは、保守端末あるいはホストコンピュータ１８０を使用して、ジャーナルの保存に使用する論理ボリューム（ジャーナル論理ボリューム）をグループに登録する指示（ジャーナル論理ボリューム登録指示）を正記憶システム１００Ａに行う。ジャーナル論理ボリューム登録指示は、グループ番号と論理ボリューム番号からなる。
【００４７】
正記憶システム１００Ａは、指示されたグループ番号のグループ情報６００のジャーナル論理ボリューム番号に指示された論理ボリューム番号を登録する。さらに、当該論理ボリュームのボリューム情報４００のボリューム状態を“正常”に設定する。
【００４８】
同様に、ユーザは、保守端末あるいはホストコンピュータ１８０を使用して、副記憶システム１００Ｂのボリューム情報４００を参照し、副記憶システム１００Ｂ、グループ番号Ｂ、ジャーナル論理ボリュームとして使用する論理ボリューム番号を指定し、ジャーナル論理ボリューム登録を正記憶システム１００Ａに行う。正記憶システム１００Ａは、ジャーナル論理ボリューム登録指示を副記憶システム１００Ｂに転送する。副記憶システム１００Ｂは、指示されたグループ番号Ｂのグループ情報６００のジャーナル論理ボリューム番号に指示された論理ボリューム番号を登録する。さらに当該論理ボリュームのボリューム情報４００のボリューム状態を“正常”に設定する。
【００４９】
ユーザは、副記憶システム１００Ｂの保守端末あるいは副記憶システム１００Ｂに接続したホストコンピュータ１８０を使用して、グループ番号、ジャーナル論理ボリュームとして使用する論理ボリューム番号を指定し、ジャーナル論理ボリューム登録指示を副記憶システム１００Ｂに行ってもよい。副記憶システム１００Ｃに対しても同様に行う。
【００５０】
以上の動作を全てのジャーナル論理ボリュームとして使用する論理ボリュームに対して行う。ステップ９１０とステップ９２０の順は逆でもよい。
【００５１】
（４）データ複製処理開始について説明する（ステップ９３０）。ユーザは、保守端末あるいはホストコンピュータ１８０を使用して、データ複製処理を開始する複製種類が同期のグループ番号Ｃと複製種類が非同期のグループ番号Ｂを指定し、データ複製処理の開始を正記憶システム１００Ａに指示する。正記憶システム１００Ａは、グループＢに属する全てのペア情報４００のコピー済みアドレスを０に設定する。
【００５２】
正記憶システム１００Ａは、グループ番号Ｂのグループ情報６００の相手記憶システム１００Ｂに対し、グループ番号Ｂのグループ情報６００の相手グループ番号のグループ状態を“正常”に変更する事と後述するジャーナルリード処理およびリストア処理の開始を指示する。正記憶システム１００Ａは、グループ番号Ｃのグループ情報６００の相手記憶システム１００Ｃに対し、グループ番号Ｃのグループ情報６００の相手グループ番号のグループ状態を“正常”に変更する事を指示する。
【００５３】
正記憶システム１００Ａは、グループ番号Ｃのグループ状態とグループ番号Ｂのグループ状態を“正常”に変更し、後述する初期コピー処理を開始する。
【００５４】
前記の説明では、同期のデータ複製処理と非同期のデータ複製処理の開始を同時に指示していたが、それぞれ個別に行ってもよい。
【００５５】
（５）初期コピー終了について説明する（ステップ９４０）。
【００５６】
初期コピーが終了すると、正記憶システム１００Ａは、初期コピー処理の終了を副記憶システム１００Ｂおよび副記憶システム１００Ｃに通知する。副記憶システム１００Ｂおよび副記憶システム１００Ｃは、グループＢおよびグループＣに属する全ての副論理ボリュームのペア状態を“正常”に変更する。
【００５７】
図１０は、初期コピー処理のフローチャートである。初期コピー処理は、データ複製対象の正論理ボリュームの全記憶領域に対し、ペア情報５００のコピー済みアドレスを用い、記憶領域の先頭から順に、単位サイズ毎にジャーナルを作成する。コピー済みアドレスは、初期値は０であり、ジャーナルの作成毎に、作成したデータ量を加算する。論理ボリュームの記憶領域の先頭から、コピー済みアドレスの一つ前までは、初期コピー処理にてジャーナルは作成済みである。初期コピー処理を行うことにより、正論理ボリュームの更新されていないデータを副論理ボリュームに転送することが可能となる。以下の説明では、正記憶システム１００Ａ内のホストアダプタＡが処理を行うように記載しているが、ディスクアダプタ１２０が行ってもよい。
【００５８】
（１）正記憶システム１００Ａ内のホストアダプタＡは、処理対象の非同期複製のグループＢに属するペアでペア状態が“コピー未”である正論理ボリュームＡを得、ペアの状態を“コピー中”に変更し、以下の処理を繰り返す（ステップ１０１０、１０２０）。正論理ボリュームＡが存在しない場合は、処理を終了する（ステップ１０３０）。
【００５９】
（２）ステップ１０２０にて、論理ボリュームＡが存在した場合、ホストアダプタＡは、単位サイズ（例えば、１ＭＢ）のデータを対象にジャーナルを作成する。ジャーナル作成処理は後述する（ステップ１０４０）。
【００６０】
（３）ホストアダプタＡは、正論理ボリュームＡの同期ペアである副論理ボリュームのデータを更新するために、同期ペアである副論理ボリュームを保持する副記憶システムＣにリモートライト命令を送信する。リモートライト命令は、ライト命令、論理アドレス（論理ボリュームは同期ペア番号の副論理ボリュームＣ、論理ボリューム内位置はコピー済みアドレス）、データ量（単位サイズ）、ステップ１０４０で使用した更新番号を含んでいる。なお、更新番号の代わりにジャーナルを作成した時刻でもよい（ステップ１０４５）。リモートライト命令を受信した場合の副記憶システムＣの動作は後述する命令受信処理２１０にて説明する。
【００６１】
（４）ホストアダプタＡは、リモートライト命令の応答を受信後、コピー済みアドレスに作成したジャーナルのデータサイズを加算する（ステップ１０５０）。
【００６２】
（５）コピー済みアドレスが、正論理ボリュームＡの容量に達するまで、上記処理を繰り返す（ステップ１０６０）。コピー済みアドレスが、正論理ボリュームＡの容量と等しくなった場合、正論理ボリュームＡの全記憶領域に対してジャーナルを作成したため、ペア状態を“正常”に更新し、他の正論理ボリュームの処理を開始する（ステップ１０７０）。
【００６３】
前記のフローチャートでは、論理ボリュームを１つずつ対象とするように説明したが、複数の論理ボリュームを同時に処理してもよい。
【００６４】
図１１は命令受信処理２１０の処理を説明する図、図１２は命令受信処理２１０のフローチャート、図１３はジャーナル作成処理のフローチャート、図２３はリモートライト命令受信処理のフローチャート、図２４はジャーナル複製処理のフローチャートである。以下、これらを用いて、正記憶システム１００Ａが、ホストコンピュータ１８０からデータ複製対象の論理ボリューム２３０にライト命令を受信した場合の動作について説明する。
【００６５】
（１）記憶システム１００Ａ内のホストアダプタＡは、ホストコンピュータからアクセス命令を受信する。アクセス命令は、リード、ライト、後述するジャーナルリード等の命令、命令対象の論理アドレス、データ量等を含んでいる。以下、アクセス命令内の論理アドレスを論理アドレスＡ、論理ボリューム番号を論理ボリュームＡ、論理ボリューム内位置を論理ボリューム内位置Ａ、データ量をデータ量Ａとする（ステップ１２００）。
【００６６】
（２）ホストアダプタＡは、アクセス命令を調べる（ステップ１２１０、１２１５、１２２８）。ステップ１２１５の調べで、アクセス命令がジャーナルリード命令の場合は、後述するジャーナルリード受信処理を行う（ステップ１２２０）。アクセス命令が、リモートライト命令の場合は、後述するリモートライト命令受信処理を行う（ステップ２３００）。それら以外の命令、例えば、リード命令の場合は、従来技術と同じようにリード処理を行う（ステップ１２３０）。
【００６７】
（３）ステップ１２１０の調べで、アクセス命令がライト命令の場合は、論理ボリュームＡのボリューム情報４００を参照し、ボリューム状態を調べる（ステップ１２４０）。ステップ１２４０の調べで、論理ボリュームＡのボリューム状態が、“正常”もしくは“正”以外の場合は、論理ボリュームＡへのアクセスは不可能なため、ホストコンピュータ１８０に異常終了を報告する（ステップ１２４５）。
【００６８】
（４）ステップ１２４０の調べで、論理ボリュームＡのボリューム状態が、“正常”、“正”のいずれかの場合は、ホストアダプタＡは、キャッシュメモリ１３０を確保し、ホストコンピュータ１８０にデータ受信の準備ができたことを通知する。ホストコンピュータ１８０は、その通知を受け、ライトデータを正記憶システム１００Ａに送信する。ホストアダプタＡは、ライトデータを受信し、当該キャッシュメモリ１３０に保存する（ステップ１２５０、図１１の１１００）。
【００６９】
（５）ホストアダプタＡは、論理ボリュームＡのボリューム情報、ペア情報、グループ情報を参照し、論理ボリュームＡが非同期複製対象かどうかを調べる（ステップ１２６０）。ステップ１２６０の調べで、論理ボリュームＡのボリューム状態が“正”かつ、論理ボリュームＡの非同期ペア番号のペアのペア状態が“正常”かつ、当該ペアが属するグループのグループ状態が“正常”である場合は、論理ボリュームＡが非同期複製対象であるため、後述するジャーナル作成処理を行う（ステップ１２６５）。
【００７０】
（６）ホストアダプタＡは、論理ボリュームＡのボリューム情報、ペア情報、グループ情報を参照し、論理ボリュームＡが同期複製対象かどうかを調べる（ステップ１２６７）。ステップ１２６７の調べで、論理ボリュームＡのボリューム状態が“正”かつ、論理ボリュームＡの同期ペア番号のペアのペア状態が“正常”かつ、当該ペアが属するグループのグループ状態が“正常”である場合は、論理ボリュームＡが同期複製対象であるため、同期ペア番号のペアの副記憶システムＣに、ホストコンピュータ１８０から受信したライトデータを保存するリモートライト命令を送信する（図１１の１１８５）。リモートライト命令は、ライト命令、論理アドレス（論理ボリューム番号は、同期ペア番号のペアの副論理ボリュームＣ、論理ボリューム内位置は論理ボリューム内位置Ａ）、データ量Ａ、ステップ１２６５で使用した更新番号を含んでいる。なお、更新番号の代わりにホストコンピュータ１８０からライト命令を受信した時刻でもよい。ステップ１２６７の調べで、同期複製対象の論理ボリュームでない場合、もしくは、ステップ１２６８のジャーナル作成処理が成功しなかった場合は、更新番号に無効を示す数値“０”を設定する。
【００７１】
（７）ステップ１２６７もしくは、ステップ１２６８のリモートライト命令の応答を受信した後、ホストアダプタＡは、ディスクアダプタ１２０にライトデータを論理アドレスＡに対応する記憶装置１５０の記憶領域に書き込むことを命令し（図１１の１１６０）、ホストコンピュータ１８０に終了報告する（ステップ１２７０、１２８０）。その後、当該ディスクアダプタ１２０は、リードライト処理により、前記記憶領域にライトデータを保存する（図１１の１１７０）。
【００７２】
次に、ジャーナル作成処理について説明する。
【００７３】
（１）ホストアダプタＡは、ジャーナル論理ボリュームのボリューム状態を調べる（ステップ１３１０）。ステップ１３１０の調べで、ジャーナル論理ボリュームのボリューム状態が、“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、グループ状態を“異常”に変更し、処理を終了する（ステップ１３１５）。この場合、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行う。
【００７４】
（２）ステップ１３１０の調べで、ジャーナル論理ボリュームが正常である場合、ジャーナル作成処理を継続する。ジャーナル作成処理は、初期コピー処理内の処理であるか、命令受信処理内の処理であるかによって処理が異なる（ステップ１３２０）。ジャーナル作成処理が命令受信処理内の処理の場合は、ステップ１３３０からの処理を行う。ジャーナル作成処理が初期コピー処理内の場合は、ステップ１３７０からの処理を行う。
【００７５】
（３）ジャーナル作成処理が命令受信処理内の処理の場合、ホストアダプタＡは、ライト対象の論理アドレスＡが、初期コピー処理の処理対象となったかを調べる（ステップ１３３０）。論理ボリュームＡのペア状態が“コピー未”の場合は、後に初期コピー処理にてジャーナル作成処理が行われるため、ジャーナルを作成せずに処理を終了する（ステップ１３３５）。論理ボリュームＡのペア状態が“コピー中”の場合は、コピー済みアドレスが論理アドレス内位置Ａと等しいもしくは、小さい場合は、後に初期コピー処理にてジャーナル作成処理が行われるため、ジャーナルを作成せずに処理を終了する（ステップ１３３５）。上記以外、つまり、論理ボリュームＡのペア状態が“コピー中”かつコピー済みアドレスが論理アドレス内位置Ａより大きい場合もしくは、論理ボリュームＡのペア状態が“正常”の場合は、既に初期コピー処理が完了しているため、ジャーナル作成処理を継続する。
【００７６】
（４）次に、ホストアダプタＡは、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。ポインタ情報７００を用い、更新情報領域の未使用領域の有無を調べる（ステップ１３４０）。ポインタ情報７００の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する（ステップ１３９０）。
【００７７】
ステップ１３４０の調べで、更新情報領域に未使用領域が存在する場合は、ポインタ情報７００を用い、ライトデータ領域にライトデータが格納できるかを調べる（ステップ１３４５）。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Ａを足した数値の範囲にある場合、当該ライトデータをライトデータ領域に格納できないため、ジャーナル作成失敗として処理を終了する（ステップ１３９０）。
【００７８】
（５）ジャーナルが格納可能である場合、ホストアダプタＡは、更新番号と更新情報を格納する論理アドレスとライトデータを格納する論理アドレスを取得し、更新情報をキャッシュメモリ１３０内に作成する。更新番号は、対象グループのグループ情報６００から取得し、１を足した数値をグループ情報６００の更新番号に設定する。更新情報を格納する論理アドレスは、ポインタ情報７００の更新情報最新アドレスであり、更新情報のサイズを足した数値をポインタ情報７００の更新情報最新アドレスに設定する。ライトデータを格納する論理アドレスは、ポインタ情報７００のライトデータ最新アドレスであり、ライトデータ最新アドレスにデータ量Ａを足した数値をポインタ情報７００のライトデータ最新アドレスに設定する。
【００７９】
ホストアダプタＡは、上記取得した数値とグループ番号、ライト命令を受信した時刻、ライト命令内の論理アドレスＡ、データ量Ａを更新情報に設定する（ステップ１３５０、図１１の１１２０）。例えば、図６に示すグループ情報６００、図７に示すポインタ情報７００の状態で、グループ１に属する正論理ボリューム１の記憶領域の先頭から８００の位置にデータサイズ１００のライト命令を受信した場合、図２２に示す更新情報を作成する。グループ情報の更新番号は６、ポインタ情報の更新情報最新アドレスは６００（更新情報のサイズは１００とする）、ライトデータ最新アドレスは２３００となる。
【００８０】
（６）ホストアダプタＡは、ディスクアダプタ１２０に、ジャーナルの更新情報とライトデータを記憶装置１５０に書き込むことを命令し、正常終了する（ステップ１３６０、図１１の１１３０、１１４０、１１５０）。
【００８１】
（７）ジャーナル作成処理が、初期コピー処理内の処理の場合は、ステップ１３７０からの処理を行う。ホストアダプタＡは、ジャーナルが作成可能であるを調べる。ポインタ情報７００を用い、更新情報領域の未使用領域の有無を調べる（ステップ１３７０）。ポインタ情報７００の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する（ステップ１３９０）。本実施例で示した初期コピー処理の場合、ジャーナルのライトデータは、正論理ボリュームからリードし、ライトデータ領域は使用しないため、ライトデータ領域の未使用領域の確認は不要である。
【００８２】
（８）ステップ１３７０の調べで、ジャーナルが作成可能である場合、ホストアダプタＡは、更新情報をキャッシュメモリ１３０内に作成する。更新情報のライト命令を受信した時刻は、更新番号を取得した時刻を設定する。グループ番号は、論理ボリュームの非同期ペア番号が属するグループ番号を設定する。更新番号は、グループ情報６００から取得し、１を足した数値をグループ情報６００の更新番号に設定する。ライト命令の論理アドレスとライドデータを格納したジャーナル論理ボリュームの論理アドレスは、初期コピー処理対象の論理アドレス（ペア情報のコピー済みアドレス）を設定する。ライトデータのデータサイズは、初期コピー処理の単位サイズを設定する。更新情報を格納する論理アドレスは、ポインタ情報７００の更新情報最新アドレスの位置であり、更新情報のサイズを足した数値をポインタ情報７００の更新情報最新アドレスに設定する（ステップ１３８０、図１１の１１２０）。
【００８３】
（９）ホストアダプタＡは、ディスクアダプタ１２０に、更新情報を記憶装置１５０に書き込むことを命令し、正常終了する（ステップ１３８５、図１１の１１４０、１１５０）。
【００８４】
上記説明では、更新情報をキャッシュメモリ１３０内に存在するように記載しているが、共有メモリ１４０内等に格納してもよい。
【００８５】
ライトデータの記憶装置１５０への書き込みは、非同期、つまり、ステップ１３６０およびステップ１３８５の直後でなくともよい。ただし、ホストコンピュータ１８０が、論理アドレスＡにライト命令を再び行った場合、ジャーナルのライトデータが上書きされるため、ホストコンピュータ１８０からライトデータを受信する前に、ジャーナルのライトデータは、更新情報のジャーナル論理ボリュームの論理アドレスに対応する記憶装置１５０に書き込む必要がある。もしくは、別のキャッシュメモリに退避し、後に更新情報のジャーナル論理ボリュームの論理アドレスに対応する記憶装置１５０に書き込みを行ってもよい。
【００８６】
前述したジャーナル作成処理では、ジャーナルを記憶装置１５０に保存するとしていたが、ジャーナル用に予め一定量のキャッシュメモリ１３０を用意しておき、当該キャッシュメモリを全て使用してから、記憶装置１５０にジャーナルを保存してもよい。ジャーナル用のキャッシュメモリ量は、例えば、保守端末から指定する。
【００８７】
次に、副記憶システム１００ＣのホストアダプタＣが、正記憶システム１００Ａからリモートライト命令を受信した場合の処理（リモートライト命令受信処理）について説明する。リモートライト命令は、ライト命令、論理アドレス（副論理ボリュームＣ、論理ボリューム内位置Ａ）、データ量Ａ、更新番号を含んでいる。
【００８８】
（１）副記憶システム１００Ｃ内のホストアダプタＣは、論理ボリュームＣのボリューム情報４００を参照し、副論理ボリュームＣのボリューム状態を調べる（ステップ２３１０）。ステップ２３１０の調べで、論理ボリュームＣのボリューム状態が、“副”以外の場合は、論理ボリュームＣへのアクセスは不可能なため、正記憶システム１００Ａに異常終了を報告する（ステップ２３１５）。
【００８９】
（２）ステップ２３１０の調べで、論理ボリュームＣのボリューム状態が、“副”の場合は、ホストアダプタＣは、キャッシュメモリ１３０を確保し、正記憶システム１００Ａにデータ受信の準備ができたことを通知する。正記憶システム１００Ａは、その通知を受け、ライトデータを副記憶システム１００Ｃに送信する。ホストアダプタＣは、ライトデータを受信し、当該キャッシュメモリ１３０に保存する（ステップ２３２０）。
【００９０】
（３）リモートライト命令に含まれる更新番号を調べ、無効値“０”の場合は、正記憶システム１００Ａにてジャーナルが作成されていないため、ステップ２４００のジャーナル複製処理を行わない（ステップ２３３０）。
【００９１】
（４）リモートライト命令に含まれる更新番号を調べ、有効値（“０”以外）の場合は、ジャーナル論理ボリュームのボリューム状態を調べる。ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、ステップ２４００のジャーナル複製処理を行わない（ステップ２３４０）。
【００９２】
（５）ステップ２３４０の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、後述するジャーナル複製処理２４００を行う。
【００９３】
（６）ホストアダプタＣは、ディスクアダプタ１２０にライトデータをリモートライト命令の論理アドレスに対応する記憶装置１５０の記憶領域に書き込むことを命令し、正記憶システムＡに終了報告する（ステップ２３６０、２３７０）。その後、当該ディスクアダプタ１２０は、リードライト処理により、前記憶領域にライトデータを保存する。
【００９４】
次に、ジャーナル複製処理２４００について説明する。
【００９５】
（１）ホストアダプタＣは、ジャーナルがジャーナル論理ボリュームに格納可能であるを調べる。ポインタ情報７００を用い、更新情報領域の未使用領域の有無を調べる（ステップ２４１０）。ポインタ情報７００の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、最古のジャーナルの記憶領域を開放し、更新情報領域を確保する（ステップ２４１５）。次に、ポインタ情報７００を用い、ライトデータ領域にライトデータが格納できるかを調べる（ステップ２４２０）。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Ａを足した数値の範囲にある場合、当該ライトデータをライトデータ領域に格納できないため、最古のジャーナルからジャーナルの記憶領域を開放し、ライトデータを格納できるようにする（ステップ２４２５）。
【００９６】
（２）ホストアダプタＣは、更新情報をキャッシュメモリ１３０内に作成する。更新情報のライト命令を受信した時刻は、リモートライト命令内の更新時刻を設定する。グループ番号は、論理ボリュームＣの同期ペア番号のペアが属するぐうループのグループ番号を設定する。更新番号は、リモートライト命令内の更新番号を設定する。ライト命令の論理アドレスは、リモートライト命令内の論理アドレスを設定する。ライトデータのデータサイズは、リモートライト命令内のデータ量Ａを設定する。ライドデータを格納したジャーナル論理ボリュームの論理アドレスは、ポインタ情報７００のライトデータ最新アドレスであり、ライトデータ最新アドレスにライトデータのサイズを足した数値をポインタ情報７００のライトデータ最新アドレスに設定する。更新情報を格納する論理アドレスは、ポインタ情報７００の更新情報最新アドレスであり、更新情報のサイズを足した数値をポインタ情報７００の更新情報最新アドレスに設定する（ステップ２４３０）。
【００９７】
（３）ホストアダプタＣは、ディスクアダプタ１２０に、更新情報とライトデータを記憶装置１５０に書き込むことを命令し、ジャーナル作成成功として処理を終了する（ステップ２４４０）。その後、ディスクアダプタ１２０は、リードライト処理により、記憶装置１５０に更新情報とライトデータを書き込み、キャッシュメモリ１３０を開放する。
【００９８】
このように、副記憶システムＣは、古いジャーナルの記憶領域を開放し、常に新しい複数のジャーナルを保持する。
【００９９】
リードライト処理２２０は、ディスクアダプタ１２０が、ホストアダプタ１１０もしくはディスクアダプタ１２０から命令を受け、実施する処理である。実施する処理は、指定されたキャッシュメモリ１３０のデータを指定された論理アドレスに対応する記憶装置１５０内の記憶領域に書き込む処理、指定された論理アドレスに対応する記憶装置１５０内の記憶領域から指定されたキャッシュメモリ１３０にデータを読み込む処理等である。
【０１００】
図１４はジャーナルリード命令を受信した正記憶システム１００ＡのホストアダプタＡの動作（ジャーナルリード受信処理）を説明する図、図１５はフローチャートである。以下、これらを用いて、正記憶システム１００Ａが、副記憶システム１００Ｂからジャーナルリード命令を受信した場合の動作について説明する。
【０１０１】
（１）正記憶システム１００Ａ内のホストアダプタＡは、副記憶システム１００Ｂからアクセス命令を受信する。アクセス命令は、ジャーナルリード命令であることを示す識別子、命令対象のグループ番号、リトライ指示の有無を含んでいる。以下、アクセス命令内のグループ番号をグループ番号Ａとする（ステップ１２２０、図１４の１４１０）。
【０１０２】
（２）ホストアダプタＡは、グループ番号Ａのグループ状態が“正常”であるかを調べる（ステップ１５１０）。ステップ１５１０の調べで、グループ状態が“正常”以外、例えば、“異常”の場合は、副記憶システム１００Ｂにグループ状態を通知し、処理を終了する。副記憶システム１００Ｂは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“異常”の場合は、ジャーナルリード処理を終了する（ステップ１５１５）。
【０１０３】
（３）ステップ１５１０の調べで、グループ番号Ａのグループ状態が“正常”の場合、ホストアダプタＡは、ジャーナル論理ボリュームの状態を調べる（ステップ１５２０）。ステップ１５２０の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”でない場合は、例えば、“異常”の場合は、グループ状態を“異常”に変更し、副記憶システム１００Ｂにグループ状態を通知し、処理を終了する。副記憶システム１００Ｂは、受信したグループ状態に応じて処理を行う。例えば、グループ状態が“異常”の場合は、ジャーナルリード処理を終了する（ステップ１５２５）。
【０１０４】
（４）ステップ１５２０の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、ジャーナルリード命令がリトライ指示かを調べる（ステップ１５３０）。
【０１０５】
（５）ステップ１５３０の調べで、ジャーナルリード命令がリトライ指示の場合、ホストアダプタＡは、前回送信したジャーナルを再度、副記憶システム１００Ｂに送信する。ホストアダプタＡは、キャッシュメモリ１３０を確保し、ディスクアダプタに、ポインタ情報７００のリトライ開始アドレスから、更新情報のサイズの情報をキャッシュメモリに読み込むことを命令する（図１４の１４２０）。
【０１０６】
ディスクアダプタのリードライト処理は、記憶装置１５０から更新情報を読み込み、キャッシュメモリ１３０に保存し、ホストアダプタＡに通知する（図１４の１４３０）。
【０１０７】
ホストアダプタＡは、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ１３０を確保し、ディスクアダプタにライトデータをキャッシュメモリに読み込むことを命令する（ステップ１５４０、図１４の１４４０）。
【０１０８】
ディスクアダプタのリードライト処理は、記憶装置１５０からライトデータを読み込み、キャッシュメモリ１３０に保存し、ホストアダプタＡに通知する（図１４の１４５０）。
【０１０９】
ホストアダプタＡは、ライトデータのリード終了の通知を受け、更新情報とライトデータを副記憶システム１００Ｂに送信し、ジャーナルを保持しているキャッシュメモリ１３０を開放し、処理を終了する（ステップ１５４５、図１４の１４６０）。
【０１１０】
（６）ステップ１５３０の調べで、リトライ指示でない場合、ホストアダプタＡは、送信していないジャーナルが存在するかを調べ、存在すれば、ジャーナルを副記憶システム１００Ｂに送信する。ホストアダプタＡは、ポインタ情報７００のリード開始アドレスと更新情報最新アドレスを比較する（ステップ１５５０）。
【０１１１】
リード開始アドレスが更新情報最新アドレスと等しい場合は、全てのジャーナルを副記憶システム１００Ｂに送信済みであるため、副記憶システム１００Ｂに“ジャーナル無“を送信し（ステップ１５６０）、前回のジャーナルリード命令の時に、副記憶システム１００Ｂに送信したジャーナルの記憶領域を開放する（ステップ１５９０）。
【０１１２】
ジャーナルの記憶領域の開放処理は、ポインタ情報７００の更新情報最古アドレスに、リトライ開始アドレスを設定する。更新情報最古アドレスがライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは０とする。ポインタ情報７００のライトデータ最古アドレスは、前回のジャーナルリード命令に応じて送信したライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスを減じ、補正する。
【０１１３】
（７）ステップ１５５０の調べで、未送信のジャーナルが存在する場合、ホストアダプタＡは、キャッシュメモリ１３０を確保し、ディスクアダプタにポインタ情報７００のリード開始アドレスから、更新情報のサイズの情報をキャッシュメモリに読み込むことを命令する（図１４の１４２０）。
【０１１４】
ディスクアダプタＡのリードライト処理は、記憶装置１５０から更新情報を読み込み、キャッシュメモリ１３０に保存し、ホストアダプタに通知する（図１４の１４３０）。
【０１１５】
ホストアダプタＡは、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ１３０を確保し、ディスクアダプタＡにライトデータをキャッシュメモリに読み込むことを命令する（ステップ１５７０、図１４の１４４０）。
【０１１６】
ディスクアダプタＡのリードライト処理は、記憶装置１５０からライトデータを読み込み、キャッシュメモリ１３０に保存し、ホストアダプタに通知する（図１４の１４５０）。
【０１１７】
ホストアダプタＡは、ライトデータのリード終了の通知を受け、更新情報とライトデータを副記憶システム１００Ｂに送信（ステップ１５８０）し、ジャーナルを保持しているキャッシュメモリ１３０を開放する（図１４の１４６０）。そして、ポインタ情報７００のリトライ開始アドレスにリード開始アドレスを設定し、リード開始アドレスに送信したジャーナルの更新情報サイズを足した数値を設定する。
【０１１８】
（８）ホストアダプタＡは、前回のジャーナルリード命令の処理時に、副記憶システム１００Ｂに送信したジャーナルの記憶領域を開放する（ステップ１５９０）。
【０１１９】
前述したジャーナルリード受信処理では、正記憶システム１００Ａは、ジャーナルを一つずつ副記憶システム１００Ｂに送信していたが、複数同時に副記憶システム１００Ｂに送信してもよい。１つのジャーナルリード命令で、送信するジャーナル数は、副記憶システム１００Ｂがジャーナルリード命令内に指定してもよいし、グループ登録の際等に、ユーザが正記憶システム１００Ａもしくは、副記憶システム１００Ｂに指定してもよい。さらに、正記憶システム１００Ａと副記憶システム１００Ｂの接続パス２００の転送能力もしくは、負荷等により、動的に１つのジャーナルリード命令で送信するジャーナル数を変更してもよい。また、ジャーナル数でなく、ジャーナルのライトデータのサイズを考慮し、ジャーナルの転送量を指定してもよい。
【０１２０】
前述したジャーナルリード受信処理では、ジャーナルを記憶装置１５０からキャッシュメモリ１３０に読み込んでいたが、キャッシュメモリ１３０に存在する場合は、当該処理は不要である。
【０１２１】
前述したジャーナルリード受信処理内のジャーナルの記憶領域の開放処理は、次のジャーナルリード命令の処理時としたが、副記憶システム１００Ｂにジャーナルを送信した直後に開放してもよい。また、副記憶システム１００Ｂが、ジャーナルリード命令内に開放してよい更新番号を設定し、正記憶システム１００Ａは、その指示に従って、ジャーナルの記憶領域を開放していもよい。
【０１２２】
図１６はジャーナルリード処理２４０を説明する図、図１７はフローチャート、図１８はジャーナル格納処理のフローチャートである。以下、これらを用いて、副記憶システム１００ＢのホストアダプタＢが、正記憶システム１００Ａからジャーナルを読み出し、ジャーナル論理ボリュームに格納する動作について説明する。
【０１２３】
（１）副記憶システム１００Ｂ内のホストアダプタＢは、グループ状態が“正常”かつ複製種類が非同期であれば、ジャーナルを格納するキャッシュメモリ１３０を確保し、ジャーナルリード命令であることを示す識別子、命令対象の正記憶システム１００Ａのグループ番号、リトライ指示の有無を含むアクセス命令を正記憶システム１００Ａに送信する。以下、アクセス命令内のグループ番号をグループ番号Ａとする（ステップ１７００、図１６の１６１０）。
【０１２４】
（２）ホストアダプタＢは、正記憶システム１００Ａの応答およびジャーナルを受信する（図１６の１６２０）。ホストアダプタＢは応答を調べ、正記憶システム１００Ａからの応答が、“ジャーナル無”の場合は、正記憶システム１００Ａには、指定したグループのジャーナルが存在しないため、一定時間後、正記憶システム１００Ａにジャーナルリード命令を送信する（ステップ１７２０、１７２５）。
【０１２５】
（４）正記憶システム１００Ａの応答が、“グループ状態は異常”もしくは“グループ状態は未使用”の場合は、副記憶システム１００Ｂのグループ状態を受信した状態に変更し、ジャーナルリード処理を終了する（ステップ１７３０、１７３５）。
【０１２６】
（５）正記憶システム１００Ａの応答が、上記以外、つまり、正常終了の場合は、ジャーナル論理ボリュームのボリューム状態を調べる（ステップ１７４０）。ジャーナル論理ボリュームのボリューム状態が“異常”の場合は、ジャーナル論理ボリュームにジャーナルの格納が不可能なため、グループ状態を“異常”に変更し、処理を終了する（ステップ１７４５）。この場合、ジャーナル論理ボリュームを正常な論理ボリュームに変更する等を行い、グループの状態を正常に戻す。
【０１２７】
（６）ステップ１７４０の調べで、ジャーナル論理ボリュームのボリューム状態が“正常”の場合は、後述するジャーナル格納処理１８００を行う。ジャーナル格納処理１８００が正常に終了した場合は、次のジャーナルリード命令を送信する。もしくは、一定時間経過後、次のジャーナルリード命令を送信する（ステップ１７００）。次のジャーナル命令を送信するタイミングは、一定の時間間隔で定期的に送信するものでもよく、受信したジャーナルの個数もしくは、接続線２００の通信量、副記憶システム１００Ｂが保持しているジャーナルの記憶容量、副記憶システム１００Ｂの負荷等によって決めてもよい。さらに、正記憶システム１００Ａが保持しているジャーナルの記憶容量、もしくは正記憶システム１００Ａのポインタ情報を副記憶システム１００Ｂから読み出し、その数値に基づいて決めてもよい。上記情報の転送は、専用のコマンドで行ってもよいし、ジャーナルリード命令の応答に含んでもよい。その後の処理は、ステップ１７００以降と同じである。
【０１２８】
（７）ステップ１８００のジャーナル格納処理が正常に終了しない場合は、ジャーナル論理ボリュームの未使用領域が足りないため、受信したジャーナルを破棄し、一定時間後にリトライ指示のジャーナルリード命令を送信する（ステップ１７５５）。もしくは、ジャーナルをキャッシュメモリに保持しておき、一定時間後に、再度ジャーナル格納処理を行う。これは、後述するリストア処理２５０が行われることにより、一定時間後には、ジャーナル論理ボリュームに未使用領域が増える可能性があるためである。この方式の場合は、ジャーナルリード命令にリトライ指示の有無は不要である。
【０１２９】
次に、図１８に示すジャーナル格納処理１８００について説明する。
（１）ホストアダプタＢは、ジャーナルがジャーナル論理ボリュームに格納可能であるかを調べる。ポインタ情報７００を用い、更新情報領域に未使用領域の有無を調べる（ステップ１８１０）。ポインタ情報７００の更新情報最新アドレスと更新情報最古アドレスが等しい場合は、更新情報領域に未使用領域が存在しないため、ジャーナル作成失敗として処理を終了する（ステップ１８２０）。
【０１３０】
（２）ステップ１８１０の調べで、更新情報領域に未使用領域が存在する場合は、ポインタ情報７００を用い、ライトデータ領域にライトデータが格納できるかを調べる（ステップ１８３０）。ライトデータ最古アドレスが、ライトデータ最新アドレスとライトデータ最新アドレスにデータ量Ａを足した数値の範囲にある場合、ライトデータ領域にライトデータを格納できないため、ジャーナル作成失敗として処理を終了する（ステップ１８２０）。
【０１３１】
（３）ジャーナルが格納可能である場合、ホストアダプタＢは、受信した更新情報のグループ番号とライトデータを格納したジャーナル論理ボリュームの論理アドレスを変更する。グループ番号は、副記憶システム１００Ｂのグループ番号に変更し、ジャーナル論理ボリュームの論理アドレスはポインタ情報７００のライトデータ最新アドレスに変更する。さらに、ホストアダプタＢは、ポインタ情報７００の更新情報最新アドレスを更新情報最新アドレスに更新情報のサイズを足した数値に、ライトデータ最新アドレスを、ライトデータ最新アドレスにライトデータのサイズを足した数値に変更する。さらに、ホストアダプタＢは、グループ情報の更新番号を受信した更新情報の更新番号に変更する（ステップ１８４０）。
【０１３２】
（４）ホストアダプタＢは、ディスクアダプタ１２０に、更新情報とライトデータを記憶装置１５０に書き込むことを命令し、ジャーナル作成成功として処理を終了する（ステップ１８５０、図１６の１６３０）。その後、ディスクアダプタ１２０は、リードライト処理により、記憶装置１５０に更新情報とライトデータを書き込み、キャッシュメモリ１３０を開放する（図１６の１６４０）。
【０１３３】
前述したジャーナル格納処理では、ジャーナルを記憶装置１５０に保存するとしていたが、ジャーナル用に予め一定量のキャッシュメモリ１３０を用意しておき、当該キャッシュメモリを全て使用してから、記憶装置１５０にジャーナルを保存してもよい。ジャーナル用のキャッシュメモリ量は、例えば、保守端末から指定する。
【０１３４】
図１９はリストア処理２５０を説明する図、図２０はフローチャートである。以下、これらを用いて、副記憶システム１００ＢのホストアダプタＢが、ジャーナルを利用し、データの更新を行う動作について説明する。リストア処理２５０は副記憶システム１００Ｂのディスクアダプタ１２０が処理を行ってもよい。
【０１３５】
（１）ホストアダプタＢは、グループ番号Ｂのグループ状態が“正常” もしくは“停止”であるかを調べる（ステップ２０１０）。ステップ２０１０の調べで、グループ状態が“正常”および“停止”以外、例えば、“異常”の場合は、リストア処理を終了する（ステップ２０１５）。
【０１３６】
（２）ステップ２０１０の調べで、グループ状態が“正常”もしくは“停止”の場合は、ジャーナル論理ボリュームのボリューム状態を調べる（ステップ２０２０）。ステップ２０２０の調べで、ジャーナル論理ボリュームのボリューム状態が、“異常”の場合は、アクセス不可能なため、グループ状態を“異常”に変更し、処理を終了する（ステップ２０２５）。
【０１３７】
（３）ステップ２０２０の調べで、ジャーナル論理ボリュームのボリューム状態が、“正常”の場合は、リストア対象のジャーナルが存在するかを調べる。ホストアダプタＢは、ポインタ情報７００の更新情報最古アドレスと更新情報最新アドレスを取得する。更新情報最古アドレスと更新情報最新アドレスが等しい場合、ジャーナルは存在しないため、リストア処理は一旦終了し、一定時間後、リストア処理を再開する（ステップ２０３０）。
【０１３８】
（４）ステップ２０３０の調べで、リストア対象のジャーナルが存在する場合、最古（最小）の更新番号を持つジャーナルに対して次の処理を行う。最古（最小）の更新番号を持つジャーナルの更新情報は、ポインタ情報７００の更新情報最古アドレスから保存されている。ホストアダプタＢは、キャッシュメモリ１３０を確保し、ディスクアダプタに更新情報最古アドレスから、更新情報のサイズの情報をキャッシュメモリ１３０に読み込むことを命令する（図１９の１９１０）。
【０１３９】
ディスクアダプタのリードライト処理は、記憶装置１５０から更新情報を読み込み、キャッシュメモリ１３０に保存し、ホストアダプタＢに通知する（図１９の１９２０）。
【０１４０】
ホストアダプタＢは、更新情報のリード終了の通知を受け、更新情報から、ライトデータの論理アドレスおよびライトデータのサイズを取得し、キャッシュメモリ１３０を確保し、ディスクアダプタにライトデータをキャッシュメモリに読み込むことを命令する（図１９の１９３０）。
【０１４１】
ディスクアダプタのリードライト処理は、記憶装置１５０からライトデータを読み込み、キャッシュメモリ１３０に保存し、ホストアダプタに通知する（ステップ２０４０、図１９の１９４０）。
【０１４２】
（５）ホストアダプタＢは、更新情報から更新する副論理ボリュームの論理アドレスを求め、ディスクアダプタに副論理ボリュームにライトデータを書き込むことを命令する（ステップ２０５０、図１９の１９５０）。ディスクアダプタのリードライト処理は、副論理ボリュームの論理アドレスに対応する記憶装置１５０にデータを書き込み、キャッシュメモリ１３０を開放し、ホストアダプタに通知する（図１９の１９６０）。
【０１４３】
（６）ホストアダプタＢは、ディスクアダプタのライト処理完了の通知を受け、ジャーナルの記憶領域を開放する。ジャーナルの記憶領域の開放処理は、ポインタ情報７００の更新情報最古アドレスを更新情報のサイズを足した数値に変更する。更新情報最古アドレスが、ライトデータ領域先頭アドレスとなった場合は、更新情報最古アドレスは０とする。ポインタ情報７００のライトデータ最古アドレスは、ライトデータのサイズを足した数値に変更する。ライトデータ最古アドレスが、ジャーナル論理ボリュームの容量以上の論理アドレスとなった場合は、ライトデータ領域先頭アドレスを減じ、補正する。その後、ホストアダプタＢは、次のリストア処理を開始する（ステップ２０６０）。
【０１４４】
前述したリストア処理２５０では、記憶装置１５０からキャッシュメモリ１３０にジャーナルを読み込んでいたが、キャッシュメモリ１３０に存在する場合は、当該処理は不要である。
【０１４５】
前述したジャーナルリード受信処理とジャーナルリード処理２４０では、正記憶システム１００Ａが送信するジャーナルをポインタ情報７００により決めていたが、副記憶システム１００Ｂが送信するジャーナルを決めてもよい。例えば、ジャーナルリード命令に更新番号を追加する。この場合、ジャーナルリード受信処理にて、副記憶システム１００Ｂが指定した更新番号の更新情報の論理アドレスを求めるために、正記憶システム１００Ａの共有メモリ１４０内に、更新番号から更新情報を格納した論理アドレスを求めるテーブルもしくは検索方法を設ける。
【０１４６】
前述したジャーナルリード受信処理とジャーナルリード処理２４０では、ジャーナルリード命令を用いていたが、通常のリード命令を用いてもよい。例えば、正記憶システム１００Ａのグループ情報６００とポインタ情報７００を予め副記憶システム１００Ｂに転送しておき、副記憶システム１００Ｂは、正記憶システム１００Ａのジャーナル論理ボリュームのデータ（つまり、ジャーナル）をリードする。
【０１４７】
前述したジャーナルリード受信処理では、更新番号の順に、正記憶システム１００Ａから副記憶システム１００Ｂにジャーナルを送信すると説明したが、更新番号の順に送信せずともよい。また、正記憶システム１００Ａから副記憶システム１００Ｂに複数のジャーナルリード命令を送信してもよい。この場合、リストア処理にて更新番号順にジャーナルを処理するために、副記憶システム１００Ｂに、更新番号から更新情報を格納した論理アドレスを求めるテーブルもしくは検索方法を設ける。
【０１４８】
前述した本発明のデータ処理システムでは、記憶システムＡは、データの更新に関する情報をジャーナルとして格納する。記憶システムＢは、記憶システムＡが保持するデータの複製を保持しており、自律的に記憶システムＡからジャーナルを取得し、前記ジャーナルを用いて、第一の記憶システムでのデータ更新順に、第一の記憶システムのデータと対応するデータを更新する。これにより、記憶システムＢは、データの整合性を維持しつつ、記憶システムＡのデータの複製を保持できる。さらに、ジャーナルを管理する管理情報は、複製対象のデータ容量に依存しない。
【０１４９】
正記憶システム１００Ａが故障した場合に、ホストコンピュータ１８０にて行っている情報処理を、ホストコンピュータ１８０Ｃおよび記憶システム１００Ｃを用いて再開し、記憶システム１００Ｂでのデータ複製を再開する手順を図２５に、論理的な構成を示すブロック図を図４２に示す。ホストコンピュータ１８０とホストコンピュータ１８０Ｃは同じコンピュータであってもよい。
【０１５０】
以下の説明において、正記憶システム１００Ａが故障する前の正記憶システム１００Ａのボリューム情報は図４、ペア情報は図５、グループ情報は図６、ポインタ情報は図７、ポインタ情報を説明する図は図８とする。正記憶システム１００Ａが故障する前の副記憶システム１００Ｂ（非同期複製）のボリューム情報は図２６、ペア情報は図２７、グループ情報は図２８、ポインタ情報は図２９、ポインタ情報を説明する図は図３０とする。副記憶システム１００Ｂは、非同期のデータ複製を行っているため、正記憶システム１００Ａが保持するジャーナル（更新番号３〜５）の全てを保持していない場合がある。本例では、副記憶システム１００Ｂは、更新番号５のジャーナルを保持していない。正記憶システム１００Ａが故障する前の副記憶システム１００Ｃ（同期複製）のボリューム情報は図３１、ペア情報は図３２、グループ情報は図３３、ポインタ情報は図３４、ポインタ情報を説明する図は図３５とする。副記憶システム１００Ｃは、同期のデータ複製を行っているため、正記憶システム１００Ａが保持する全てのジャーナル（更新番号３〜５）を保持する。
（１）正記憶システム１００Ａに故障が発生し、正論理ボリューム（ＤＡＴＡ１、ＤＡＴＡ２等）が使用不可能となる（ステップ２５００）。
（２）ユーザは、記憶システム１００Ｃの保守端末もしくは、ホストコンピュータ１８０Ｃを使用し、記憶システム１００Ｃに、非同期複製元変更を命令する。非同期複製元変更命令は、グループ単位で、非同期のデータ複製元（正論理ボリューム）を変更する命令であり、複製元情報（同期のデータ複製の副論理ボリューム（ｄａｔａ１、ｄａｔａ２）を保持する記憶システム番号Ｃとグループ番号Ｃ）、複製先情報（非同期のデータ複製の副論理ボリューム（ＣＯＰＹ１、ＣＯＰＹ２）を保持する記憶システム番号Ｂとグループ番号Ｂ）を含む（ステップ２５１０）。
（３）記憶システム１００Ｃは、非同期複製元変更命令を受信すると、記憶システム１００Ｂおよび記憶システム１００Ｃのボリューム情報、ペア情報、グループ情報を参照し、記憶システム１００Ｃ内のグループ状態が“未使用”のグループ番号Ｄを取得し、記憶システム１００Ｃ内のグループＣに属する論理ボリュームＣ（ｄａｔａ１、ｄａｔａ２）を正論理ボリューム、記憶システム１００Ｂ内のグループＢに属する論理ボリュームＢ（ＣＯＰＹ１、ＣＯＰＹ２）を副論理ボリュームとする非同期のデータ複製のペアとなるように、記憶システム１００Ｃのボリューム情報、ペア情報、グループ情報の変更を行う。ただし、論理ボリュームＣと論理ボリュームＢの組み合わせは、記憶システム１００Ａ内の同一の論理ボリュームＡとペアとなっていた論理ボリュームとする。さらに、記憶システム１００Ｃは、グループＣに属していたジャーナル論理ボリュームをグループＤにて継続して使用するようにグループ情報を変更する。具体的には、記憶システム１００Ｃは、グループＤの更新番号をグループＣの更新番号に、グループＤのジャーナル論理ボリューム番号をグループＣのジャーナル論理ボリューム番号に変更し、グループＤのポインタ情報の全ての項目を、グループＣのポインタ情報と同じにする。非同期複製元変更命令により、記憶システム１００Ｃは、図３２に示す記憶システム１００Ｃのペア情報を図３９に示すペア情報に、図３３に示す記憶システム１００Ｃのグループ情報を図４０に示すグループ情報に、図３１に示す記憶システム１００Ｃのボリューム情報を図３８に示すボリューム情報に変更する。
【０１５１】
記憶システム１００Ｃは、記憶システム１００Ｂに対して、記憶システム１００Ｃ内のグループＣに属する論理ボリュームＣ（ｄａｔａ１、ｄａｔａ２）を正論理ボリューム、記憶システム１００Ｂ内のグループＢに属する論理ボリュームＢ（ＣＯＰＹ１、ＣＯＰＹ２）を副論理ボリュームとする非同期のデータ複製のペアとなるように、記憶システム１００Ｂのペア情報、グループ情報を変更するよう命ずる。ただし、論理ボリュームＣと論理ボリュームＢの組み合わせは、記憶システム１００Ａ内の同一の論理ボリュームＡとペアとなっていた論理ボリュームとする。
【０１５２】
記憶システム１００Ｂは、記憶システム１００Ｂおよび記憶システム１００Ｃのボリューム情報、ペア情報、グループ情報を参照し、記憶システム１００Ｂのペア情報、グループ情報を変更する。記憶システム１００Ｂは、図２７に示すグループＢのペア情報を図３６に示すペア情報に、図２８に示すグループ情報を図３７に示すグループ情報に、グループＢのグループ情報の状態を“停止”に変更することで、記憶システム１００Ａへのジャーナルリード処理を停止する。（ステップ２５３０、２５４０）。
（４）記憶システム１００Ｃは、非同期複製元変更命令の応答をホストコンピュータ１８０もしくは保守端末に行う。ユーザは、ホストコンピュータ１８０Ｃもしくは保守端末から非同期複製元変更の終了を認識し、記憶システム１００Ｃの使用を開始する（ステップ２５５０、２５６０）。
（５）記憶システム１００Ｂは、記憶システム１００Ｃにジャーナルリード位置指定命令を送信する（ステップ２５７０）。ジャーナルリード位置指定命令は、記憶システム１００ＣのグループＤのポインタ情報を変更し、記憶システム１００Ｂからのジャーナルリード命令により送信されるジャーナルを指定する命令であり、相手グループ番号Ｄ、更新番号Ｂを含む。相手グループ番号Ｄは、グループ番号Ｂの相手グループ番号を指定する。更新番号は、グループ番号Ｂのグループ情報の更新番号に１を足した数値を指定する。図３７に示す例では、グループ番号２、更新番号５を指定する。
（６）記憶システム１００Ｃは、ジャーナルリード位置指定命令を受信した場合、ポインタ情報７００を参照し、更新番号Ｂのジャーナルを保持しているかを調べる。記憶システム１００Ｃは、ポインタ情報の更新情報最古アドレスの更新情報を記憶装置１５０から読み出し、最古（最小）の更新番号Ｃを得る。
【０１５３】
更新番号Ｃがジャーナルリード位置指定命令の更新番号Ｂと等しい、もしくは小さい場合は、記憶システム１００Ｃが更新番号Ｂのジャーナルを保持しているので、記憶システム１００Ｂは、非同期のデータの複製を継続することができる。この場合、記憶システム１００Ｃは、更新番号Ｂより以前のジャーナルの記憶領域を開放し、リード開始アドレスおよびリトライ開始アドレスを更新番号Ｂの更新情報を格納しているアドレスに変更し、“再開可能“を記憶システム１００Ｂに返す。これにより、図３４に示すポインタ情報は、図４１に示すポインタ情報に変更される（ステップ２５８０）。
【０１５４】
他方、更新番号Ｃがジャーナルリード位置指定命令の更新番号Ｂより大きい場合は、記憶システム１００Ｃが記憶システム１００Ｂに必要なジャーナルを保持していないため、記憶システム１００Ｂにおいて非同期のデータの複製を継続することができない。この場合は、図９、図１０を用いて説明した手順により、正記憶システム１００Ｃから副記憶システム１００Ｂに対して、データ複製を開始する必要がある。
（７）記憶システム１００Ｂは、“再開可能”の応答を受信した場合、グループＢのグループ情報の状態を“正常”に変更することで、記憶システム１００Ｃに対し、ジャーナルリード処理を再開する（ステップ２５９０）。
【０１５５】
記憶システム１００Ｂは、ジャーナルリード位置指定命令を行わなくてもよい。この場合、記憶システム１００Ｂは、ジャーナルリード処理を開始し、記憶システム１００Ｃから最古のジャーナルを受信する。受信したジャーナルの更新番号Ｃが、グループ番号Ｂのグループ情報の更新番号に１を足した数値（更新番号Ｂ）より大きい場合は、記憶システム１００Ｃが記憶システム１００Ｂに必要なジャーナルを保持していないため、データ複製処理を中断する。受信したジャーナルの更新番号Ｃが、更新番号Ｂより小さい場合は、すでに記憶システム１００Ｂが当該ジャーナルを保持しているため、当該ジャーナルを破棄し、ジャーナルリード処理を継続する。受信したジャーナルの更新番号Ｃが、更新番号Ｂと等しい場合は、受信したジャーナルをジャーナル論理ボリュームに格納し、ジャーナルリード処理を継続する。
【０１５６】
図４２を用いて、ホストコンピュータ１８０Ｃが記憶システム１００Ｃの使用を開始した後の、正記憶システム１００Ｃの正論理ボリューム（ｄａｔａ１）へのデータ更新を副記憶システム１００Ｂの副論理ボリューム（ＣＯＰＹ１）に反映する動作について概説する。
【０１５７】
（１）正記憶システム１００Ｃは、ホストコンピュータ１８０Ｃから正論理ボリューム（ｄａｔａ１）内のデータに対するライト命令を受信すると、前述した命令受信処理２１０およびリードライト処理２２０によって、正論理ボリューム（ｄａｔａ１）内のデータ更新と、ジャーナル論理ボリューム（ｊｎｌ１）へのジャーナルの保存を行い、ホストコンピュータにライト命令の終了を報告する(図４２の４２００)。
【０１５８】
（２）副記憶システム１００Ｂは、前述したジャーナルリード処理２４０によって、正記憶システム１００Ｃからジャーナルをリードし、リードライト処理２２０によって、ジャーナル論理ボリューム（ＪＮＬ２）にジャーナルを保存する(図４２の４２１０)。
【０１５９】
（３）正記憶システム１００Ｃは、副記憶システム１００Ｂからジャーナルリード命令を受信すると、命令受信処理２１０およびリードライト処理２２０によって、ジャーナル論理ボリューム（ｊｎｌ１）からジャーナルを読み出し、副記憶システム１００Ｂに送信する(図４２の４２１０)。
【０１６０】
（４）副記憶システム１００Ｂは、リストア処理２５０およびリードライト処理２２０によって、ポインタ情報７００を用いて、更新番号の昇順に、ジャーナル論理ボリューム（ＪＮＬ２）からジャーナルを読み出し、副論理ボリューム（ＣＯＰＹ１）のデータを更新する(図４２の４２２０)。従って、正記憶システム１００Ｃ内の正論理ボリューム（ｄａｔａ１）と副記憶システム１００Ｂ内の副論理ボリューム（ＣＯＰＹ１）のデータは、正論理ボリュームの更新の暫く後には、完全に一致する。
【０１６１】
前述した本発明のデータ処理システムでは、記憶システムＣが記憶システムＡからの更新番号および更新時刻を用いて、ジャーナルを作成する。データ複製対象の記憶システムＡが故障し、記憶システムＣを用いて情報処理を継続する場合に、記憶システムＢは、記憶システムＡから記憶システムＣにジャーナルの取得先を変更する。これにより、記憶システムＢは、データの整合性を維持しつつ、記憶システムＡのデータの複製を継続できる。さらに、ジャーナルを管理する管理情報は、複製対象のデータ容量に依存しない。
【０１６２】
ホストコンピュータ１８０が故障した場合に、ホストコンピュータ１８０にて行っている情報処理を、ホストコンピュータ１８０Ｃおよび記憶システム１００Ｃを用いて再開し、記憶システム１００Ｂでのデータ複製を再開する手順について説明する。論理的な構成を示すブロック図を図４８に示す。正記憶システム１００Ａが故障した場合との違いは、記憶システム１００Ａの使用が可能であるので、記憶システム１００Ｂでの非同期のデータ複製に加え、同期のデータ複製を記憶システム１００Ａにて行う点である。
【０１６３】
以下の説明において、正記憶システム１００Ａが故障する前の正記憶システム１００Ａのボリューム情報は図４、ペア情報は図５、グループ情報は図６、ポインタ情報は図７、ポインタ情報を説明する図は図８とする。正記憶システム１００Ａが故障する前の副記憶システム１００Ｂ（非同期複製）のボリューム情報は図２６、ペア情報は図２７、グループ情報は図２８、ポインタ情報は図２９、ポインタ情報を説明する図は図３０とする。副記憶システム１００Ｂは、非同期のデータ複製を行っているため、正記憶システム１００Ａが保持するジャーナル（更新番号３〜５）の全てを保持していない場合がある。本例では、副記憶システム１００Ｂは、更新番号５のジャーナルを保持していない。正記憶システム１００Ａが故障する前の副記憶システム１００Ｃ（同期複製）のボリューム情報は図３１、ペア情報は図３２、グループ情報は図３３、ポインタ情報は図３４、ポインタ情報を説明する図は図３５とする。副記憶システム１００Ｃは、同期のデータ複製を行っているため、正記憶システム１００Ａが保持する全てのジャーナル（更新番号３〜５）を保持する。
（１）ホストコンピュータ１８０に故障が発生する。
（２）ユーザは、記憶システム１００Ｃの保守端末もしくは、ホストコンピュータ１８０Ｃを使用し、記憶システム１００Ｃに、前述した非同期複製元変更と同期複製交換を命令する。同期複製交換命令は、グループ単位で、同期のデータ複製の正論理ボリュームと副論理ボリュームの関係を逆転する命令であり、複製元情報（同期複製の正論理ボリューム（ＤＡＴＡ１、ＤＡＴＡ２）を保持する記憶システム番号Ａとグループ番号Ａ）、複製先情報（同期複製の副論理ボリューム（ＣＯＰＹ１、ＣＯＰＹ２）を保持する記憶システム番号Ｃとグループ番号Ｃ）を含む。
（３）記憶システム１００Ｃは、同期複製交換命令を受信すると、記憶システム１００Ｃのボリューム情報、ペア情報、グループ情報を参照し、記憶システム１００Ａ内のグループＡに属する論理ボリュームＡ（ＤＡＴＡ１、ＤＡＴＡ２）を副論理ボリューム、記憶システム１００Ｃ内のグループＣに属する論理ボリュームＣ（ＣＯＰＹ１、ＣＯＰＹ２）を正論理ボリュームとする同期のデータ複製のペアとなるように、記憶システム１００Ｃのボリューム情報、ペア情報、グループ情報を変更する。ただし、論理ボリュームＡと論理ボリュームＣの組み合わせは、既に同期のデータ複製のペアとなっていた論理ボリュームとする。
【０１６４】
記憶システム１００Ｃは、記憶システム１００Ａに対して、記憶システム１００Ａ内のグループＡに属する論理ボリュームＡ（ＤＡＴＡ１、ＤＡＴＡ２）を副論理ボリューム、記憶システム１００Ｃ内のグループＣに属する論理ボリュームＣ（ＣＯＰＹ１、ＣＯＰＹ２）を正論理ボリュームとする同期の複製のペアとなるように、記憶システム１００Ａのボリューム情報、ペア情報、グループ情報を変更するよう命ずる。ただし、論理ボリュームＡと論理ボリュームＣの組み合わせは、既に同期のデータ複製のペアとなっていた論理ボリュームとする。さらに、記憶システム１００Ｃは、記憶システム１００Ａに同期のデータ複製のペアである副論理ボリュームへのデータ更新の際に、ジャーナルを作成することを命ずる。記憶システム１００Ａにて、ジャーナルを格納するジャーナル論理ボリュームは、例えば、ホストコンピュータの故障前に、記憶システム１００Ａ内の非同期のデータ複製の際に使用していたジャーナル論理ボリューム（ＪＮＬ１）とする。
【０１６５】
記憶システム１００Ａは、記憶システム１００Ａのボリューム情報、ペア情報、グループ情報を参照し、記憶システム１００Ａのボリューム情報、ペア情報、グループ情報を変更する。記憶システム１００Ｃは、記憶システム１００Ａと記憶システム１００Ｃの情報の変更が終えた後、同期複製交換命令の応答をホストコンピュータ１８０もしくは保守端末に返信する。
【０１６６】
非同期複製元変更命令と同期複製交換命令により、記憶システム１００Ｃは、図３２に示す記憶システム１００Ｃのペア情報を図４３に示すペア情報に、図３３に示す記憶システム１００Ｃのグループ情報を図４４に示すグループ情報に、図３１に示す記憶システム１００Ｃのボリューム情報を、図３８に示すボリューム情報に変更する。
【０１６７】
非同期複製元変更命令により、記憶システム１００Ｂは、図２７に示す記憶システム１００Ｂのペア情報を図３６に示すペア情報に、図２８に示す記憶システム１００Ｂのグループ情報を図３７に示すグループ情報に変更する。
【０１６８】
同期複製交換命令により、記憶システム１００Ａは、図５に示す記憶システム１００Ｃのペア情報を図４６に示すペア情報に、図６に示す記憶システム１００Ｃのグループ情報を図４７に示すグループ情報に、図４に示す記憶システム１００Ｃのボリューム情報を図４５に示すボリューム情報に変更する。
【０１６９】
ユーザは、ホストコンピュータ１８０もしくは保守端末から非同期複製元変更と同期複製交換の終了を認識し、記憶システム１００Ｃの使用を開始する。以降の処理は、ステップ２５７０以降と同じである。
【０１７０】
前述した本発明のデータ処理システムでは、記憶システムＣが記憶システムＡからの更新番号および更新時刻を用いて、ジャーナルを作成する。ホストコンピュータが故障し、別のホストコンピュータが記憶システムＣを用いて情報処理を継続する場合に、記憶システムＢは、記憶システムＡから記憶システムＣにジャーナルの取得先を変更する。これにより、記憶システムＢは、データの整合性を維持しつつ、記憶システムＡのデータの複製を継続できる。さらに、記憶システムＡが記憶システムＣの同期のデータの複製を保持するように設定を変更することで、ホストコンピュータが故障する前と同様に、同期と非同期の２つのデータ複製が可能となる。
【０１７１】
以上、本発明者によってなされた発明を実施例の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【０１７２】
【図１】本発明の一実施形態の論理的な構成を示すブロック図である。
【図２】本発明の一実施形態の記憶システムのブロック図である。
【図３】本発明の一実施形態の更新情報とライトデータの関係を説明する図である。
【図４】本発明の一実施形態のボリューム情報の例を説明する図である。
【図５】本発明の一実施形態のペア情報の例を説明する図である。
【図６】本発明の一実施形態のグループ情報の例を説明する図である。
【図７】本発明の一実施形態のポインタ情報の例を説明する図である。
【図８】本発明の一実施形態のジャーナル論理ボリュームの構造を説明する図である。
【図９】本発明の一実施形態のデータの複製を開始する手順を説明するフローチャートである。
【図１０】本発明の一実施形態の初期コピー処理を説明するフローチャートである。
【図１１】本発明の一実施形態の命令受信処理を説明する図である。
【図１２】本発明の一実施形態の命令受信処理のフローチャートである。
【図１３】本発明の一実施形態のジャーナル作成処理のフローチャートである。
【図１４】本発明の一実施形態のジャーナルリード受信処理を説明する図である。
【図１５】本発明の一実施形態のジャーナルリード受信処理のフローチャートである。
【図１６】本発明の一実施形態のジャーナルリード処理を説明する図である。
【図１７】本発明の一実施形態のジャーナルリード処理のフローチャートである。
【図１８】本発明の一実施形態のジャーナル格納処理のフローチャートである。
【図１９】本発明の一実施形態のリストア処理を説明する図である。
【図２０】本発明の一実施形態のリストア処理のフローチャートである。
【図２１】本発明の一実施形態の更新情報の例を説明する図である。
【図２２】本発明の一実施形態のジャーナル作成処理時の更新情報の例を説明する図である。
【図２３】本発明の一実施形態のリモートライト命令受信処理のフローチャートである。
【図２４】本発明の一実施形態のジャーナル複製処理のフローチャートである。
【図２５】本発明の一実施形態の正記憶システム１００Ａが故障した場合に記憶システム間のデータ複製を再開する手順を説明するフローチャートである。
【図２６】本発明の一実施形態のボリューム情報の例を説明する図である。
【図２７】本発明の一実施形態のペア情報の例を説明する図である。
【図２８】本発明の一実施形態のグループ情報の例を説明する図である。
【図２９】本発明の一実施形態のポインタ情報の例を説明する図である。
【図３０】本発明の一実施形態のジャーナル論理ボリュームの構造を説明する図である。
【図３１】本発明の一実施形態のボリューム情報の例を説明する図である。
【図３２】本発明の一実施形態のペア情報の例を説明する図である。
【図３３】本発明の一実施形態のグループ情報の例を説明する図である。
【図３４】本発明の一実施形態のポインタ情報の例を説明する図である。
【図３５】本発明の一実施形態のジャーナル論理ボリュームの構造を説明する図である。
【図３６】本発明の一実施形態のペア情報の例を説明する図である。
【図３７】本発明の一実施形態のグループ情報の例を説明する図である
【図３８】本発明の一実施形態のボリューム情報の例を説明する図である。
【図３９】本発明の一実施形態のペア情報の例を説明する図である。
【図４０】本発明の一実施形態のグループ情報の例を説明する図である。
【図４１】本発明の一実施形態のポインタ情報の例を説明する図である。
【図４２】本発明の一実施形態の正記憶システム１００Ａが故障した場合の動作を説明するブロック図である。
【図４３】本発明の一実施形態のペア情報の例を説明する図である。
【図４４】本発明の一実施形態のグループ情報の例を説明する図である。
【図４５】本発明の一実施形態のボリューム情報の例を説明する図である。
【図４６】本発明の一実施形態のペア情報の例を説明する図である。
【図４７】本発明の一実施形態のグループ情報の例を説明する図である
【図４８】本発明の一実施形態のホストコンピュータ１８０が故障した場合の動作を説明するブロック図である。
【符号の説明】
【０１７３】
１００  記憶システム
１１０  ホストアダプタ
１２０  ディスクアダプタ
１３０  キャッシュメモリ
１４０  共有メモリ
１５０  記憶装置
１６０  コモンパス
１７０  ディスクアダプタと記憶装置間の接続線
１８０  ホストコンピュータ
【図１】
2005084953.tif 000003
【図２】
2005084953.tif 000004
【図３】
2005084953.tif 000005
【図４】
2005084953.tif 000006
【図５】
2005084953.tif 000007
【図６】
2005084953.tif 000008
【図７】
2005084953.tif 000009
【図８】
2005084953.tif 000010
【図９】
2005084953.tif 000011
【図１０】
2005084953.tif 000012
【図１１】
2005084953.tif 000013
【図１２】
2005084953.tif 000014
【図１３】
2005084953.tif 000015
【図１４】
2005084953.tif 000016
【図１５】
2005084953.tif 000017
【図１６】
2005084953.tif 000018
【図１７】
2005084953.tif 000019
【図１８】
2005084953.tif 000020
【図１９】
2005084953.tif 000021
【図２０】
2005084953.tif 000022
【図２１】
2005084953.tif 000023
【図２２】
2005084953.tif 000024
【図２３】
2005084953.tif 000025
【図２４】
2005084953.tif 000026
【図２５】
2005084953.tif 000027
【図２６】
2005084953.tif 000028
【図２７】
2005084953.tif 000029
【図２８】
2005084953.tif 000030
【図２９】
2005084953.tif 000031
【図３０】
2005084953.tif 000032
【図３１】
2005084953.tif 000033
【図３２】
2005084953.tif 000034
【図３３】
2005084953.tif 000035
【図３４】
2005084953.tif 000036
【図３５】
2005084953.tif 000037
【図３６】
2005084953.tif 000038
【図３７】
2005084953.tif 000039
【図３８】
2005084953.tif 000040
【図３９】
2005084953.tif 000041
【図４０】
2005084953.tif 000042
【図４１】
2005084953.tif 000043
【図４２】
2005084953.tif 000044
【図４３】
2005084953.tif 000045
【図４４】
2005084953.tif 000046
【図４５】
2005084953.tif 000047
【図４６】
2005084953.tif 000048
【図４７】
2005084953.tif 000049
【図４８】
2005084953.tif 000050