(57)【要約】【課題】  中間の記憶システムを経由して、第１から第３の記憶システムへのデータの転送をさせる必要がある構成において、中間にある第２の記憶システムに余計な論理ボリュームを持たせなくてはいけないという課題がある。【解決手段】  情報処理装置との間でデータの送受信を行う第１の記憶システムと、第２の記憶システムと、第３の記憶システムとを有し、第２の記憶システムは、当該データが書き込まれるべき第２の記憶領域を仮想的に持ち、当該記憶領域に書き込まれたデータとデータに関する更新情報とが書き込まれる第３の記憶領域を有している。第１の記憶システムから送信されたデータは、第２の記憶領域には書き込まれずに、データと更新情報として第３の記憶領域に書き込まれ、当該領域に書き込まれたデータと更新情報は、第３の記憶システムから読み出されるものであることを特徴とする構成を有する。【選択図】図１
2005309550.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第１の記憶システムと、
前記第１の記憶システムに接続され、前記第１の記憶システムからデータを受信する第２の記憶システムとを有するリモートコピーシステムにおいて、
前記第１の記憶システムは、前記情報処理装置から送信されたデータが書き込まれる第1の記憶領域を有しており、
前記第２の記憶システムは、前記第１の記憶システムから送信された前記データの書き込み先となる論理アドレスで定義される仮想ボリュームを有し、さらに前記論理アドレスに書き込まれるべきデータと当該データに関する更新情報とが書き込まれる第２の記憶領域とを有しており、
前記第１の記憶システムから前記第２の記憶システムの前記論理ボリュームに書き込まれるべく送信された前記データは、前記論理アドレスで示される領域へのデータの書込みに代えて、前記データの更新情報と併せて前記第２の記憶領域に書き込まれることを特徴とするリモートコピーシステム。
【請求項２】
請求項１記載のリモートコピーシステムにおいて、前記第２の記憶領域は、前記第１の記憶領域よりも小さいことを特徴とするリモートコピーシステム。
【請求項３】
第１の共有メモリを参照して第１の論理ボリュームへのデータ書き込みを制御する第１の記憶制御部とを有する第１の記憶システムと、
第２の共有メモリを参照して第２の論理ボリュームへのデータ書き込みを制御する第２の記憶制御部とを有する第２の記憶システムと、からなるリモートコピーシステムにおいて、
このリモートコピーシステムは、
前記第１の共有メモリ内に、前記第１の論理ボリュームと前記第２の論理ボリュームとの対応関係を規定するペア情報を記憶し、前記第２の共有メモリ内に、前記第１の論理ボリュームと前記第２の論理ボリュームとの対応関係を規定するペア情報と、前記第２の論理ボリュームへのデータの書き込みがあった場合にそのデータとそのデータの更新情報を記憶するジャーナルボリュームを規定する情報とを、記憶し、
前記第１の記憶システムは、前記第１の論理ボリュームへの第１のデータの書き込みがあった場合に、前記第１の共有メモリ内のペア情報に基づいて前記第２の論理ボリュームを対象として前記第１のデータの書き込み命令を前記第２の記憶制御部へ発行し、
前記第２の記憶システムは、前記第１の記憶システムから前記第２の論理ボリュームへ書き込む命令を受領した場合に前記第２の共有メモリを参照して、前記第２の論理ボリュームとして規定される領域が、前記第２の論理ボリューム以外の論理ボリューム領域として規定されている場合には、前記第２の論理ボリュームへ第１のデータの書き込みを行わずに前記ジャーナルボリュームに第１のデータとその第１のデータの更新情報とを書き込み、前記第２の論理ボリュームとして規定される領域が前記第２の論理ボリューム以外の論理ボリュームとして規定されていない場合には前記第２の論理ボリュームに第１のデータを書き込むことを特徴とするリモートコピーシステム。
【請求項４】
複数の記憶装置と、情報処理装置からデータの書き込み命令を受領して前記記憶装置へのデータの書き込みを制御する記憶制御部とからなる記憶システムにおいて、
前記記憶システムは、前記記憶装置上に論理ボリュームを定義するための情報を構成情報として記憶する共有メモリを有し、
前記共有メモリで定義される第１の論理ボリュームの前記記憶装置上の領域と、前記共有メモリで定義される第２の論理ボリュームの前記記憶装置上の領域とが、少なくとも一部は重複する領域となるように定義されることを特徴とする記憶システム。
【請求項５】
情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第１の記憶システムと、
前記第１の記憶システムに接続され、前記第１の記憶システムからデータを受信する第２の記憶システムとを有するリモートコピーシステムにおいて、
前記第1の記憶システムは、前記情報処理装置から送信されたデータが書き込まれる第1の記憶領域を有しており、
前記第２の記憶システムには、前記第１の記憶システムから送信された前記データの書き込み先となる論理アドレスを有し、さらに前記論理アドレスに書き込まれるべきデータと当該データに関する更新情報とが書き込まれる第２の記憶領域とを有しており、前期論理アドレスに記憶領域が割り当てられている場合、前記記憶領域には前記データが、第２の記憶領域には前記データと前記更新情報が、書き込まれ、
前記論理アドレスに記憶領域が割り当てられていない場合、前記データと前記更新情報は前記第２の記憶領域に書き込まれることを特徴とするリモートコピーシステム。
【請求項６】
請求項５記載のリモートコピーシステムにおいて、前記第２の記憶領域は、前記第１の記憶領域よりも小さいことを特徴とするリモートコピーシステム。
【請求項７】
情報処理装置に接続され、前記情報処理装置との間でデータの送受信を行う第１の記憶システムと、
前記第１の記憶システムに接続され、前記第１の記憶システムからデータを受信する第２の記憶システムと、
前記第２の記憶システムに接続され、前記第2の記憶システムからデータを受信する第3の記憶システムとを有するリモートコピーシステムにおいて、
前記第1の記憶システムは、前記情報処理装置から送信されたデータが書き込まれる第1の記憶領域を有しており、
前記第２の記憶システムには、前記第１の記憶システムから送信された前記データの書き込み先となる論理アドレスを有し、さらに前記論理アドレスに書き込まれるべきデータと当該データに関する更新情報とが書き込まれる第２の記憶領域とを有しており、前期論理アドレスに記憶領域が割り当てられている場合、前記記憶領域には前記データが、第２の記憶領域には前記データと前記更新情報が、書き込まれ、
前記論理アドレスに記憶領域が割り当てられていない場合、前記データと前記更新情報は前記第２の記憶領域に書き込まれ、
前記第３の記憶システムは、前記第２の記憶システム内の前記第２の記憶領域から読み出された前記データと前記データに関する更新情報とが格納される第３の記憶領域と、第１の記憶領域の複製先である第４の記憶領域を有するものであり、
前記第２の記憶領域に格納される前記データ及び前記更新情報は、所定の時間が経過してから、前記第３の記憶システムから読み出されて前記第３の記憶領域に書き込まれ、その後前記第２の記憶領域は開放可能となり、当該領域は新たな格納に利用されることを特徴とするリモートコピーシステム。
【請求項８】
請求項７記載のリモートコピーシステムにおいて、前記第２および第３の記憶領域は、前記第１および第４の記憶領域よりも小さいことを特徴とするリモートコピーシステム。
【請求項９】
第１の情報処理装置に接続され、前記第１の情報処理装置との間でデータの送受信を行う第１の記憶システムと、
第２の情報処理装置と前記第１の記憶システムに接続され、前記第２の情報処理装置との間でデータの送受信を行い、前記第１の記憶システムからデータを受信する第２の記憶システムと、
前記第２の記憶システムに接続され、前記第2の記憶システムからデータを受信する第3の記憶システムとを有するリモートコピーシステムにおいて、
前記第１の記憶システムは、前記情報処理装置から送信されたデータが書き込まれる第1の記憶領域を有しており、
前記第２の記憶システムは、前記第１の記憶システムから送信された前記データの書き込み先となる論理アドレスを有し、さらに前記論理アドレスに書き込まれるべきデータと当該データに関する更新情報とが書き込まれる第２の記憶領域とを有しており、
前記第３の記憶システムは、前記第２の記憶システム内の前記第２の記憶領域から受領する前記データと前記データに関する更新情報とが格納される第３の記憶領域と、第１の記憶領域の複製先である第４の記憶領域を有するものであり、
前記第１の記憶システムから前記第２の記憶システムの前期論理アドレスに書き込まれるべく送信された前記データは、前記更新情報と併せて前記第２の記憶領域に書き込まれ、前記論理アドレスには前記第２の情報処理装置とのデータの送受信のために記憶領域が割り当てられ、前記第２の記憶領域に格納される前記データ及び前記更新情報は、前記第３の記憶システムから読み出されて前記第３の記憶領域に書き込まれ、その後前記第２の記憶領域は開放可能となり、当該領域は新たな格納に利用されることを特徴とするリモートコピーシステム。
【請求項１０】
請求項９記載のリモートコピーシステムにおいて、前記第２および第３の記憶領域は、前記第１および第４の記憶領域よりも小さいことを特徴とするリモートコピーシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システムに関し、特に複数の記憶システム間でのデータの複製に関する。
【背景技術】
【０００２】
近年、顧客に対して継続したサービスを提供するために用いる記憶システム（第１の記憶システムと呼ぶ）に障害が発生した場合でも、データ処理システムがサービスを提供できるよう、他の記憶システム（第１の記憶システムと比較的近い距離にある記憶システムを第２の記憶システム、第２の記憶システムよりも遠距離にある記憶システムを第３の記憶システムと呼ぶ）を第１の記憶システムとは別に設置し、他の記憶システムで第１の記憶システムのデータの複製を蓄積しておく技術が重要になっている。第１の記憶システムに格納された情報を第２及び第３の記憶システムに複製する技術として、以下の特許文献に開示された技術が存在する。
【０００３】
特許文献１には、第２の記憶システムが第１の記憶システムの複製対象のデータに対応する複製データを二つ持ち、第３の記憶システムが、その複製データの１つを保持する技術が開示されている。
【０００４】
特許文献２には、第２の記憶システムが第１の記憶システムの複製対象のデータに対応する複製データを一つだけ持ち、特許文献１に示されるようなリモートコピーを実施するための冗長な論理ボリュームを必要とせず、第３の記憶システムが、その複製データを得ることができるようにするための技術が開示されている。
【０００５】
【特許文献１】米国特許６２０９００２号公報
【特許文献２】特開２００３−１２２５０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のとおり、従来技術では遠距離にある第３の記憶システムで第１の記憶システムのデータの複製を得るために、中間に第２の記憶システムを置き、データロスを防止しつつ長距離リモートコピーを実現している。
【０００７】
しかし、ユーザによっては、遠距離へのコピーによってデータの障害耐性を高めつつ、システム運用のコストにも配慮したリモートコピーシステムを必要とする場合もある。例えば、第１の記憶システムにあるデータの複製を遠距離にある記憶システムに保持させるだけでよいとするような場合である。
【０００８】
万一の障害のために、遠距離にある記憶システムに第１の記憶システムにあるデータの完全な複製を持たせるためには、第１の記憶システムの性能への影響を考慮に入れると、中間に第２の記憶システムを配置し、この第２の記憶システムを経由して、第１の記憶システムから遠距離にある第３の記憶システムへのデータの転送をさせる必要がある。このような場合は、中間にある第２の記憶システムで使用する論理ボリュームを出来るだけ小さくて済むようすることが望まれる。
【０００９】
しかし、第２の記憶システムから、遠距離にある第３の記憶システムにデータをリモートコピーさせようとする場合は、第２の記憶システムが第１の記憶システムと同じボリューム（複製ボリューム）を持つ必要がある。このボリュームは、第１の記憶システムのボリュームの容量が大きくなればなるほど大きくなる。
【００１０】
無論、特許文献２の開示技術を適用したとしても、第１の記憶システムの複製対象のボリュームと同容量のボリュームを第２の記憶システム内に持つことは避けられない。
【００１１】
本発明は、このような問題に鑑みなされたものであり、第１サイトから第３サイトへの複製を行う場合に、そのための第２の記憶システムでのボリュームの使用を最小限、または無くすことを目的とする。さらに他の目的は、あるボリュームの領域を複数の上位装置が書き込みの対象とできるようにして、ボリュームの可用性（availability）を高めることにある。
【課題を解決するための手段】
【００１２】
上述の目的を達成するために、本発明の一形態は、以下の構成を有する。
【００１３】
第１の情報処理装置との間でデータの送受信を行う第１の記憶システムと、第２の情報処理装置と第１の記憶システムに接続され、第１の記憶システムからデータを受信する第２の記憶システムと、第２の記憶システムに接続され、第２の記憶システムからデータを受信する第３の記憶システムとを有し、第1の記憶システムは、情報処理装置からのデータが書き込まれる第１の記憶領域を有しており、第２の記憶システムは、上記データの複製を格納する論理アドレスを有しているが、記憶領域は割り当てられておらず、上記データとその更新情報とが書き込まれる第２の記憶領域を有しており、第1の記憶システムから送信されたデータは、当該データと更新情報として第２の記憶領域に書き込まれ、第３の記憶システムは、第２の記憶システム内の第２の記憶領域から読み出されたデータとデータに関する更新情報とが格納される第３の記憶領域とを有するものであり、第２の記憶領域に格納されるデータ及び更新情報は、第３の記憶システムから読み出されるものであることを特徴とする構成を有する。第２の記憶システムは、上記データの複製を格納する論理アドレスを有しているが、記憶領域は割り当てられておらず、当該記憶領域は、第２の情報処理装置とのデータの送受信に使用することができる構成を有する。
【発明の効果】
【００１４】
本発明によれば、第２記憶システムが、第１の記憶システムの複製対象のデータの完全な複製を持つことなく、第３の記憶システムへの複製対象データの複製を行うことができる。これにより、第２の記憶システムにおけるボリューム容量の低減を図ることができ、また、アサイン不要になった実際のボリュームを別用途で使用可能になる。さらに、ボリュームの特定の領域を複数の上位装置が利用できるようにすることもできる。ここでいう上位装置とは、そのボリュームの特定領域に対するデータの書き込み命令や読み出し命令を発行する情報処理装置で、第１の記憶システムから発行される書き込みコマンドによって、第２の記憶システムのボリュームに対する書き込みが実行される場合は、第１の記憶システムは、第２の記憶システムの上位装置となる。無論、サーバー等の情報処理装置が記憶システムに対する上位装置となりうることは言うまでもない。
【発明を実施するための最良の形態】
【００１５】
本発明の実施形態を図を参照しながら以下説明する。
(第１の実施例)
図１は、本発明の１実施例を示す図であって、複数の記憶システムからなるリモートコピーシステムの全体を示す図である。記憶システム１０は、ホストコンピュータ５と接続線２１０を介して接続される。（以下、適宜この記憶システム１０を第１の記憶システムと言い、この第１の記憶システムとホストコンピュータ５とからなるデータ処理システムを第１のサイトという。）
記憶システム１５は、第１の記憶システム１０と接続線２２０を介して接続される。（以下、適宜、この記憶システム１５を第２の記憶システムと呼び、少なくともこの第２の記憶システムを含むデータ処理システムを第２のサイト或いは、中間サイトと呼ぶ。）
記憶システム２０は、第２の記憶システムである記憶システム１５と接続線２４０を介して接続される。（以下、適宜この記憶システム２０を第３の記憶システムと呼び、少なくともこの第３の記憶システム２０を含むデータ処理システムを第３のサイトと呼ぶ。）
接続線２１０、２２０、２４０は、ファイバーケーブル等の接続線で直接接続される構成されるほか、インターネット等の広域回線を介在する接続であっても良い。
【００１６】
第１サイトの記憶システム１０は、論理ボリューム１１０(ORG1)、 論理ボリューム１２０（ORG２）を保持する。本実施例では、論理ボリューム１１０(ORG1)に複製対象となるオリジナルデータが格納されるものとする。
【００１７】
第２サイトの記憶システム１５は、論理ボリューム１１０(ORG１)の複製を論理ボリューム１５０(Data１)として保持する。第３サイトの記憶システム２０は、複製データが格納される論理ボリューム２００（Data２）を保持する。
【００１８】
ここで、記憶システム１０、１５、２０内に定義される論理ボリュームの容量や物理的な格納位置（物理アドレス）は、各記憶システムに接続したコンピュータ等の保守端末(図示しない)もしくはホストコンピュータ５、６、７を用いてそれぞれ指定できる。
【００１９】
以下の説明において、複製対象のデータと複製データとの区別を容易とするために、複製対象のデータが蓄積される論理ボリュームを正論理ボリューム、複製データが蓄積される論理ボリュームを副論理ボリュームと呼ぶこととする。一対の正論理ボリュームと副論理ボリュームをペアと呼ぶ。正論理ボリュームと副論理ボリュームの関係および状態等は、後述する各記憶システム内の共有メモリ(SM)７０にペア設定情報テーブル５００として保存される。
【００２０】
まず、図２を用いて図１に示す記憶システム１０のハード構成の1例を示す。図１で記憶システム１５として説明した第２の記憶システムは、第２の記憶システム１５として簡略して示している。
【００２１】
第１の記憶システム１０は、ホストコンピュータ５と接続するための複数のチャネルアダプタ５０を有し、これらチャネルアダプタ５０は接続線２１０を介してホストコンピュータ５や第２の記憶システム１５と接続される。
【００２２】
チャネルアダプタ５０は、接続部５５を介して、キャッシュ６０に接続され、上位装置から受領したコマンドを解析し、ホストコンピュータ５の所望するデータの、キャッシュ上への読み出しや書き込みを制御する。論理ボリューム１１０(Org１)と論理ボリューム１２０(Org２)は、複数のHDD１００上に添って配置される。    
図３は論理ボリュームとHDD１００上の物理アドレスとを定義づけるとともに、論理ボリュームの容量やフォーマット形式等の属性情報およびペア情報を定義したテーブルの一例を示している。ここでは説明の便宜のために、論理ボリューム番号がデータセンタ内の各論理ボリュームにユニークなものとして取り扱う。  
なお、論理ボリューム番号を各記憶システム単位でユニークに定義し、記憶システム自体の識別子と併せて特定するように設定することも可能である。ボリューム状態において未使用とあるのは論理ボリュームが設定されているが、未使用であることを示し、正とあるのは前述のペアボリュームの正ボリュームとして正常に動作できる状態にあることを示している。正常とあるのは、他の論理ボリュームとペアは設定されていないが、正常な状態であることを示している。副とある場合は、そのボリュームがペアの副ボリュームとなっており、正常に動作できることを示す。ペアの状態を示すボリューム状態情報については後述する。
【００２３】
この図３に示す例は、本願のデータセンタシステムの論理ボリュームの状態を示している。論理ボリューム番号１は、第１の記憶システム１０の論理ボリューム１１０(Org1)を示し、第２の記憶システム１５の論理ボリューム１５０(Data１)とペア番号１というペアを構成している状態を示している。同様に、第２の記憶システム１５の論理ボリューム１５１(JNL１)は、論理ボリューム番号３として記述されている。以下、同様に、第３の記憶システム２０の論理ボリューム２０１を論理ボリューム番号４、第３の記憶システムの論理ボリューム２００を論理ボリューム番号５として記述されている。なお、未使用ではあるが論理ボリューム番号６として、論理ボリューム１２０(Org２)が定義されている。
【００２４】
図３の物理アドレスの欄は実際のHDD１００上のアドレスを示している。図２のディスクアダプタ８０上のマイクロプロセッサ(図示しない)はこの情報に基づいて、キャッシュ６０から実際のHDD上にデータを記録する動作やHDD１００上からキャッシュ６０にデータを読み出したりする動作を制御する。
【００２５】
記憶システム１０を代表として説明したが、図１に示すほかの記憶システム１５，２０もほぼ同様の構成からなる。接続部５５は、チャネルアダプタとキャッシュ等をダイレクトに接続するスイッチ等で構成される他、バスによる接続方式をとることもできる。なお、キャッシュ６０内に共有メモリ７０がある状態の図となっているが、共有メモリ７０は、キャッシュ６０とは別に接続部５５に接続される構成でもよい。
【００２６】
次に、図１を用いて、第１サイトの記憶システム１０の正論理ボリューム１１０(ORG１)へのデータ更新を、第２サイト(中間サイト)の記憶システム１５を介して、第３サイトの記憶システム２０の論理ボリューム２００(Data２)に反映する動作について説明する。
【００２７】
ここで、まずジャーナルデータについて説明する。説明を容易にするために、ここでは他と区別してデータが更新される更新元の論理ボリュームをソース論理ボリュームと呼び、その更新元論理ボリュームのコピーを保持するボリュームをコピー論理ボリュームと呼ぶ。
【００２８】
ジャーナルデータは、あるソース論理ボリュームにデータ更新があった場合に、少なくとも更新データそのものと、その更新がソース論理ボリュームのどの位置にあったのかを示す更新情報（例えば、ソース論理ボリューム上の論理アドレス）とからなる。
【００２９】
つまりソース論理ボリュームのデータに対する更新があった場合にジャーナルデータを保持しておけば、そのジャーナルデータからソース論理ボリュームを再現することができる。
【００３０】
ある時点でのソース論理ボリュームと同じデータイメージを持つコピー論理ボリュームがあることを前提として、それ以降のソース論理ボリュームに対するデータの更新がある都度、上述のジャーナルデータを保持しておけば、そのジャーナルデータを用いてある時点以降のソース論理ボリュームのデータイメージをコピー論理ボリュームに再現可能なのである。
【００３１】
ジャーナルデータを用いれば、ソース論理ボリュームと同じ容量を必要とすることなく、ソース論理ボリュームのデータイメージをコピー論理ボリュームに再現させることができる。ジャーナルデータを保持するボリュームを以下ジャーナル論理ボリュームと称する。
【００３２】
図４を用いてさらに具体的に説明する。図４は、あるソース論理ボリュームのアドレス７００番地から１０００番地のデータが更新された状態(更新データ６３０)を示している。この場合、ある論理ボリュームと対をなすジャーナル論理ボリュームは、ジャーナルデータ９５０として、更新されたデータそのものを、ライトデータ領域９１００にライトデータ６１０として記録し、例えばどの位置が更新されたかというような更新に関わる情報は更新情報領域９０００に更新情報６２０として記録される。
【００３３】
ジャーナル論理ボリュームは、更新情報６２０を格納する記憶領域９０００（更新情報領域）とライトデータを格納する記憶領域９１００（ライトデータ領域）に分割して使用される。更新情報領域９０００は、更新情報領域９０００の先頭から、更新された順(更新番号の順)に更新情報を格納し、更新情報領域の終端に達すると、更新情報領域の先頭から格納する。ライトデータ領域９１００は、ライトデータ領域９１００の先頭からライトデータを格納し、ライトデータ領域９１００の終端に達すると、ライトデータ領域９１００の先頭からライトデータを格納する。無論、ジャーナル論理ボリュームのために確保された容量がオバーフローする前にコピー先の論理ボリュームに対してジャーナル論理ボリューム内の情報に基づいて、更新作業を行う必要があることは言うまでもない。更新情報領域９０００およびライトデータ領域９１００の比は、固定値でもよいし、保守端末あるいはホストコンピュータ５により設定可能としてもよい。
【００３４】
図１において、ホストコンピュータ５から記憶システム１０内の正論理ボリューム１１０(ORG１)のデータに対するライト命令を受信すると(図１で示す矢印２５０)、第１の記憶システム内の正論理ボリューム１１０(ORG１)のデータが更新される。そして、当該更新された正論理ボリューム１１０(ORG１)とペアとなっている第２（中間サイト）の記憶システム１５の内の論理ボリューム１５０(Data１)も同様に更新される（同期ペアの更新）。このことにより第２の記憶システム１５は、第１の記憶システム１０で障害が発生した場合でも、直ちにその業務を引き継ぐことができる。これは、第２の記憶システム１５が、ホストコンピュータ５が使用している正論理ボリューム１１０（ORG１）と同じデータイメージを持つ副論理ボリューム１５０（Data１）を保持しているからである。
【００３５】
一方、第２サイトの記憶システム１５は、論理ボリューム１５０(Data１)へのデータ更新があると、論理ボリューム１５１（JNL１）（以下、適宜ジャーナルボリュームと呼ぶ）にジャーナルデータの保存を行う(図１で示す矢印２６０)。
【００３６】
第２の記憶システム１５のジャーナルデータの蓄積用論理ボリューム１５１（JNL1）に蓄積されたジャーナルデータは、接続線２４０を介して、遠距離にある第３の記憶システム２０内のジャーナル蓄積用の論理ボリューム２０１（JNL2）に非同期で転送(図１で示す矢印２７０)される（以下ＰＵＳＨ方式という。）。第３の記憶システム２０は、記憶システム２０内部のジャーナルボリューム２０１（JNL2）のジャーナルデータを用いて、第２の記憶システム１５の論理ボリューム１５０に対応する論理ボリューム２００(Data2)を再生する(図１で示す矢印２８０、リストア処理)。
【００３７】
第２の記憶システム１５のジャーナルボリューム内のデータを、第３の記憶システム２０から読み出して、記憶システム２０内の論理ボリューム２０１（JNL2）に蓄積する（以下、ＰＵＬＬ方式という。）ようにしても良い。
【００３８】
このＰＵＬＬ方式を具体的に説明する。第２の記憶システム１５は、第３の記憶システム２０からジャーナルデータをリードする命令(以下、ジャーナルリード命令という。)を受信すると、ジャーナル論理ボリューム１５１（JNL１）からジャーナルを読み出し、第３の記憶システム２０に送信する。
【００３９】
その後、第３の記憶システム２０は、後述するリストア処理３５０によって、ジャーナル論理ボリューム（JNL2）２０１からジャーナルデータを読み出し、論理ボリューム２００(Data２)のデータを更新する。これにより、第１サイトの記憶システム１０の正論理ボリューム１１０(ORG１)に生じたデータ更新を第３サイトの記憶システム２０の副論理ボリューム２００(Data２)に反映する処理が完了する。
【００４０】
ジャーナルデータをジャーナルボリューム２０１に保存することにより、例えば、記憶システム２０の負荷が高い場合、ジャーナルデータ受信時に副論理ボリューム２００(Data2)のデータ更新、すなわち、ジャーナルデータを利用して、正論理ボリューム１１０(ORG１)の複製を副論理ボリューム２００(Data2)に作ること（リストア処理３５０）を行わず、しばらく後、記憶システム２０の負荷が低い時に、副論理ボリューム２００(Data2)のデータを更新することもできる。
【００４１】
図１に示す第２の記憶システム１５内の論理ボリューム１５１(JNL１)は、前述したようにジャーナルデータ専用の記憶領域で、データ複製対象の記憶領域より少なくすることが可能であり、第２の記憶システム１５内の記憶領域の消費を抑えて、第１の記憶システム１０から、第２、第３の記憶システム１５、２０へのデータの複製を可能とするものである。
【００４２】
次に、前述した記憶システム１０の論理ボリューム１１０(ORG１)へのデータ更新を中間サイトの第２の記憶システム１５、第３サイトの第３の記憶システム２０に反映する動作を行うにあたり、データセンタシステム全体の設定について具体的に説明する。
【００４３】
図１に示すような複数サイトからなるデータセンタシステムを構築するために、まず、例えば、論理ボリューム１５０(Data1)とジャーナルボリューム１５１(JNL１)とがジャーナルグループとなるための設定を要する。ジャーナルグループとは、論理ボリューム同士のペアのことで、先に説明した通り、論理ボリュームと、その論理ボリュームへのデータのライト命令があった場合に、そのライト命令をライト先アドレス等の更新情報とライトデータに区分して蓄積しておくジャーナルボリュームと、からなる。
【００４４】
図１の例では、記憶システム１５について、論理ボリューム１５０（Data１）と論理ボリューム１５１（JNL１）とがジャーナルグループであり、記憶システム２０においては、論理ボリューム２０１（JNL２）と論理ボリューム２００（Data2）とが、ジャーナルグループである。  
図５に示すフローチャートは、本願発明のデータセンタシステムの初期設定手順を示している。ユーザは、ホストコンピュータ５、６、７あるいは図１では図示していない保守端末が持つGUI（graphical user interface）を用いて、各記憶システムのジャーナルグループを設定する（ステップ９００、９０５）。
【００４５】
図１において、第２、第３サイトの記憶システム１５、記憶システム２０内のジャーナルグループ、すなわち、Data1とJNL1のペア、Data2とJNL2のペアを、それぞれジャーナルグループ１、ジャーナルグループ２と呼ぶこととする。ジャーナルグループはジャーナルペアと呼ばれることもある。具体的には、図７に示すようにジャーナルグループ設定情報テーブル５５０として共有メモリ７０に保持される。
【００４６】
さらに、ユーザは、各記憶システムに接続される保守端末あるいはホストコンピュータ５、６を使用して、データ複製対象を示す情報とデータ複製先を示す情報を指定して、ペア登録指示を第１及び第２の記憶システム１０、１５に行う（ステップ９１０）。具体的には、図１の論理ボリューム１１０（ORG1）と論理ボリューム１５０（Data1）との間にペア関係を設定する。
【００４７】
ペアとして設定されると、そのペアの態様（ステータス）に応じて、正論理ボリュームに対して発生した書き込み処理が、副論理ボリュームに対する各種の処理を行う契機となる。例えば、ペアの態様（ステータス）には、サスペンド状態、ペア状態、初期コピー状態等があり、ペアの態様（ステータス）が、ペア状態の場合は、正論理ボリュームに書き込まれたデータが、副論理ボリュームにも書き込まれるという処理がなされ、サスペンド状態の場合は、正論理ボリュームに書き込まれたデータが、副論理ボリュームには反映されず、その差分がビットマップを用いて第１の記憶システム１０内に保持される。
【００４８】
ジャーナルグループの設定情報や、このペアの設定情報は、前述の通り、図２に示す共有メモリ（SM）７０に蓄積され、チャネルアダプタ５０上のマイクロプロセッサはその情報に基づいて、処理を実行する。無論この処理は、処理が発生する度に共有メモリ（SM）７０を参照する方法にとどまらず、チャネルプロセッサのローカルメモリ上に同プロセッサの処理に必要な情報を予め転送しておいてもよい。
【００４９】
図６は、ペアの状態を示すペア設定情報テーブル５００の一例である。図６の1行目にペア番号１として、第１の記憶システム１０の論理ボリューム１１０(Org１)（論理ボリューム番号１）と第２の記憶システム１５の論理ボリューム１５０(Data１)（論理ボリューム番号２）のペアが生成されたことが記述されている。図５のステップ９１０では、さらに、論理ボリューム１１０(Org１)と論理ボリューム１５０(Data１)のデータイメージを同一にするための初期化処理である初期コピーが行われる。
【００５０】
次のステップ９１５では、論理ボリューム１５０(Data１)、論理ボリューム２００(Data２)を指定して、ペアを形成し、初期コピーを行う。前述のステップ９１０の処理と同様に論理ボリューム１５０(Data１)と論理ボリューム２００(Data２)とに同一のデータイメージを持たせるためである。
【００５１】
図６のペア番号２の行にこのペアが設定された状態を示す。このペアは初期コピー処理の終了後解除される(ステップ９２０)。
【００５２】
第１の記憶システムの論理ボリューム１１０(ORG１)のデータイメージが記憶システム１５、２０の論理ボリューム１５０(Data１)、２００(Data２)までコピーされたら、記憶システム１５、２０内にあるコピープログラムは、形成コピー終了を保守端末もしくはホストコンピュータ５へ報告する。この初期化処理後、記憶システム２０でのデータの正確なリストア処理（リカバリ）が可能になる。
【００５３】
次に、図８、図９を用いて本発明の記憶システムの実施形態における記憶システムの動作を詳細に説明する。
【００５４】
図８は、第２サイトの記憶システム１５が行うデータの書き込み処理を示す図である。第２の記憶システム１５は、接続線２２０でチャネルアダプタ５０を介して、第１サイトの記憶システム１０と接続されている。第１の記憶システム１０は、接続線２１０を介してホストコンピュータ５と接続されている。
【００５５】
まず、第１の記憶システム１０は接続線２１０を介してホストコンピュータ５からのデータの書き込み命令を受領する(図８の矢印２５０)。論理ボリューム１１０（ORG１）にデータが書き込まれると、第２の記憶システム１５は、接続線２２０を介して、第１の記憶システム１０からのデータ書き込み命令を受領する。
【００５６】
図８で示す矢印１１００は、第２サイトの記憶システム１５における、データ複製先の論理ボリューム１５０(Data１)へのデータ書き込み命令を受信した場合のデータの流れである。
【００５７】
チャネルアダプタ５０は、第１の記憶システムから論理ボリューム１５０(Data１)へのデータの書き込み命令を受領すると、その書き込みデータと更新情報を、キャッシュ６０に保持する。キャッシュ６０上の書き込みデータは、ディスクアダプタ８０によって、論理ボリューム１５０(Data１)にキャッシュに書き込まれたのとは別のタイミングで書き込まれる(図８の矢印１１１０)。
【００５８】
同様にキャッシュ６０上に記録された更新情報(少なくとも更新されたアドレスを含む)は、論理ボリューム１５１(JNL１)の更新情報領域に書き込まれ、さらにライトデータが論理ボリューム１５１(JNL１)のライトデータ領域に蓄積される(図８の矢印１１２０)。ディスクアダプタ８０は、キャッシュ６０上のライトデータと更新情報をHDD上の論理ボリューム１５１(JNL１)に割り付けられたアドレスに書き込む(図８の矢印１１３０、１１４０)。
【００５９】
一方、第３の記憶システム２０に接続線２４０を介して接続されるチャネルアダプタ５１は、記憶システム２０からの論理ボリューム１５１(JNL１)の読み出し命令を受領する。この点については、図１１で後述する。なお、チャネルアダプタ５０と５１は、同じ構成のチャネルアダプタであるが、説明の便宜のために適宜区別して番号を付与する。
【００６０】
図９は、第２のサイトの記憶システム１５の論理ボリューム１５０(Data1)が、第１のサイトの記憶システムからの命令を受領した場合の処理を示すフローチャートである。
【００６１】
図８のチャネルアダプタ５０に搭載されたマイクロプロセッサ(以下、チャネルアダプタ５０とする。)は、第１の記憶システム１０からのアクセス命令を受領すると、その命令の種類を調べる（図９のステップ１２１０）。チャネルアダプタは、図８のチャネルアダプタ５０のように書き込み命令を受ける場合と、チャネルアダプタ５１のようにチャネルアダプタ５０が他の記憶装置からのリード命令を受領する場合があるからである。
【００６２】
受領したアクセス命令がライト命令ではない場合であって、第３の記憶システム２０からのジャーナルリード命令である場合、後述するジャーナルリード受信処理を行う(ステップ１２１５、１２２０)。
【００６３】
ステップ１２１０で、アクセス命令がライト命令の場合は、論理ボリューム１５０(Data1)のボリューム状態を調べる（ステップ１２４０）。  
ボリュームの状態は、図３に示すように、各論理ボリュームの状態が表形式で、先述の通り共有メモリ（SM）７０にボリューム情報として、蓄積されている。
【００６４】
ステップ１２４０で、論理ボリューム１５０(Data１)のボリューム状態が、正常ではない場合は、論理ボリューム１５０(Data１)へのアクセスは不可能なため、ホストコンピュータ５に異常を報告して終了する（ステップ１２３０）。
【００６５】
ステップ１２４０で、論理ボリューム１５０(Data１)のボリューム状態が、正常の場合、チャネルアダプタ５０は、キャッシュメモリ６０を確保し、データを受領する(ステップ１２５０)。具体的にはデータの受領準備ができたことを、第１の記憶システム１０に報告し、その後第１の記憶システム１０がライトデータを第２の記憶システム１５に送信する。第２の記憶システム１５のチャネルアダプタ５０は、ライトデータを受信し、準備したキャッシュメモリ６０に保存する（ステップ１２５０、図８の矢印１１００）。その後、ステップ１２６０で、第１の記憶システム１０へ処理の終了を報告をする。
【００６６】
次にチャネルアダプタ５０は、共有メモリ（SM）７０に記録されているジャーナルグループ設定情報テーブル５５０（図７参照）を参照して、論理ボリューム１５０(Data１)がジャーナルグループを持つ論理ボリュームかどうかを調べる（ステップ１２７０）。
【００６７】
ここで、図７について詳細に説明する。図７は、ジャーナルペアがどの論理ボリューム間にペア形成されているかを示す図である。第一行には、論理ボリューム番号２と３がジャーナルグループであることを示している。具体的には記憶システム１５の論理ボリューム１５０(Data１)と論理ボリューム１５１(JNL１)とがジャーナルペアを形成していることを示している。  
論理ボリューム１５０(Data１)がジャーナルグループを持つ論理ボリュームの場合は、このボリュームとジャーナルグループを形成しているジャーナル論理ボリューム１５１(JNL１)に対してジャーナル作成処理を行う（ステップ１２６５）。その後、任意のタイミングで、ディスクアダプタ８０によりHDD上に定義された論理ボリューム１５０(Data１)及び論理ボリューム１５１(JNL１)へのデータの書き込みが行なわれる(ステップ１２８０、図８の矢印１１３０、１１４０)。
【００６８】
以上のようにして、第２の記憶システム１５内のジャーナルの作成が行われ、このジャーナルデータは、ジャーナルボリューム１５１(JNL１)に順次格納されていく。当該ジャーナルデータは、一定の要因を契機にして、第３の記憶システム２０のジャーナルボリューム２０１(JNL２)に送信される。その１つの方法が先に説明したプッシュ(PUSH)方式であり、他の方法として次のプル(PULL)方式がある。プル(PULL)方式の場合を図１０を用いて説明する。
【００６９】
図１０はジャーナルリード命令を受信した第２の記憶システム１５のチャネルアダプタ５１の動作（ジャーナルリード命令受信処理）を説明する図、図１１はそのフローチャートである。以下、これらを用いて、第２の記憶システム１５が、第３の記憶システム２０からジャーナルリード命令を受信した場合の動作について説明する。
【００７０】
第２の記憶システム１５内のチャネルアダプタ５１は、第３の記憶システム２０からアクセス命令を受信し(図１０の矢印１４１０)、アクセス命令がジャーナルリード命令である場合、チャネルアダプタ５１は、図７を参照してジャーナルグループ状態が“正常”であるかを調べる（ステップ１５１０）。ステップ１５１０で、ジャーナルグループ状態が“正常”以外、例えば、“障害”の場合は、第３の記憶システム２０にジャーナルグループ状態を通知し、処理を終了する。第３の記憶システム２０は、通知されたジャーナルグループ状態に応じて処理を行う。例えば、ジャーナルグループ状態が“障害”の場合は、ジャーナルリード処理を終了する（ステップ１５１５）。
【００７１】
ステップ１５１０で、ジャーナルグループ状態が“正常”の場合、チャネルアダプタ５１は、ジャーナル論理ボリュームの状態を調べる（ステップ１５２０）。  
ステップ１５２０で、ジャーナル論理ボリュームのボリューム状態が“正常”でない場合は、例えば、“障害”の場合は、図７に示すジャーナルグループ状態を“障害”に変更し、記憶システム２０にジャーナルグループ状態を通知し、処理を終了する（ステップ１５２５）。
【００７２】
ステップ１５３０で、チャネルアダプタ５１は、送信していないジャーナルデータが存在するかを調べ、存在すれば、ジャーナルデータを第３の記憶システム２０に送信する(ステップ１５５０)。全てのジャーナルを記憶システム２０に送信済みである場合は、第３の記憶システム２０に“ジャーナル無“を送信する（ステップ１５６０）。その後、ジャーナルデータが内在していた領域を開放する(ステップ１５７０)。
【００７３】
未送信のジャーナルが存在する場合を図１０を用いてさらに詳細に説明する。未送信のジャーナルデータが存在する場合、チャネルアダプタ５１は、キャッシュメモリ６０を確保し、ディスクアダプタ８０に更新情報及びライトデータをキャッシュメモリ６０に読み込むことを命令する(図１０の矢印１４４０)。
【００７４】
ディスクアダプタ８１のリードライト処理は、HDD１００上を分散して形成されている論理領域である論理ボリューム１５１(JNL１)から更新情報とライトデータとを読み込み、キャッシュメモリ６０に保存し、チャネルアダプタ５１に通知する（図１０の矢印１４３０、１４５０）。
【００７５】
チャネルアダプタ５１は、ライトデータと更新情報とのキャッシュへのリード終了の通知を受け、更新情報とライトデータを第３の記憶システム２０にキャッシュ６０から送信し、その後ジャーナルを保持しているキャッシュメモリ６０を開放する（図１０の矢印１４６０）。
【００７６】
チャネルアダプタ５１は、前回のジャーナルリード命令の処理時に、第３の記憶システム２０に送信したジャーナルの記憶領域を開放する（ステップ１５７０）。
【００７７】
なお、前述したジャーナルリード受信処理では、第２の記憶システム１５は、ジャーナルデータを一つずつ第３の記憶システム２０に送信していたが、複数同時に記憶システム２０に送信してもよい。
【００７８】
１つのジャーナルリード命令で、送信するジャーナルデータ数は、第３の記憶システム２０がジャーナルリード命令内に指定してもよいし、ジャーナルグループ登録の際等に、ユーザが第２の記憶システム１５もしくは、第３の記憶システム２０に指定してもよい。
【００７９】
さらに、第２の記憶システム１５と第３の記憶システム２０の接続パス２４０の転送能力もしくは、負荷等により、動的に１つのジャーナルリード命令で送信するジャーナルデータ数を変更してもよい。また、ジャーナル数でなく、ジャーナルのライトデータのサイズを考慮し、ジャーナルの転送量を指定してもよい。
【００８０】
前述したジャーナルリード命令受信処理では、ジャーナルデータを記憶装置１００からキャッシュメモリ６０に読み込んでいたが、キャッシュメモリ６０に存在する場合は、当該処理は不要である。
【００８１】
前述したジャーナルリード受信処理内のジャーナルの記憶領域の開放処理は、
次のジャーナルリード命令の処理時としたが、第３の記憶システム２０にジャーナルを送信した直後に開放してもよい。また、第３の記憶システム２０が、ジャーナルリード命令内に開放してよい更新番号を設定し、第２の記憶システム１５は、その指示に従って、ジャーナルの記憶領域を開放してもよい。
【００８２】
ジャーナルデータを受信した第３の記憶システム２０は、ジャーナルボリューム２０１(JNL２)に、受信したジャーナルデータを格納する。その後、記憶システム２０は、ジャーナルリストアを行う。
【００８３】
第３の記憶システム２０は、ジャーナルリストアプログラムを実行して、ジャーナルボリューム２０１(JNL２)から論理ボリューム２００(Data２)へデータのリストアを行う。尚、リストアが終わったジャーナルが格納されていた領域はパージ（開放）され、新たなジャーナルの格納に利用される。
【００８４】
次に、このジャーナルリストア処理について詳細に説明する。図１２はリストア処理を説明する図で、図１３はそのフローチャートである。
【００８５】
以下、図１２、１３を用いて、第３の記憶システム２０のチャネルアダプタ５３が、ジャーナルを利用し、データの更新を行う動作について説明する。リストア処理は記憶システム２０のディスクアダプタ８０が処理を行ってもよい。
【００８６】
図１３のステップ２０１０で、リストア対象のジャーナルデータが論理ボリューム２０１(JNL２)に存在するかを調べる。チャネルアダプタ５３は、ジャーナルデータが存在しない場合、リストア処理は一旦終了し、一定時間後、リストア処理を再開する（ステップ２０１０）。
【００８７】
ステップ２０１０で、リストア対象のジャーナルデータが存在する場合、最も古い（最小）ジャーナルデータに対して次の処理を行う。ジャーナルデータに更新番号を連続的に付与し、最古（最小）の更新番号を持つジャーナルの更新情報からリストア処理を行えばよい。チャネルアダプタ５３は、キャッシュメモリ６０を確保し(図１２の矢印１９１０)、ディスクアダプタ８０に更新情報最古のものから、更新情報とライトデータを読み出す（ステップ２０２０、図１２の矢印１９２０、１９３０）。
【００８８】
具体的には、第３の記憶システムのディスクアダプタ８３はリードライト処理３４０により、更新情報が格納されているHDD１００から更新情報を読み込み、キャッシュメモリ６０に保存し、チャネルアダプタ５３に通知する。
【００８９】
同様に、第３の記憶システム２０のディスクアダプタ８３は、読み込んだ更新情報を元にライトデータを取得し(ステップ１９３０)、論理ボリューム２００(Data２)の更新されるべき部分に対応したキャッシュメモリ６０の領域に読み込むことを命令する（ステップ２０２０、図１２の１９４０）。
【００９０】
そして、リストア処理とは非同期で、ディスクアダプタ８３は副論理ボリュームキャッシュ領域からライトデータを副論理ボリューム２００(Data２)に書き込む（図１２の矢印１９５０、ステップ２０３０）。その後、副論理ボリューム２００(Data２)に反映された副論理ボリューム(JNL２)の更新情報とライトデータが存在した領域を開放(パージ)する(ステップ２０４０)。引き続きリストア処理を行うか判定し(ステップ２０５０)、行う場合はステップ２０１０に戻り、そうでない場合は終了する。
【００９１】
前述したリストア処理では、記憶装置１００からキャッシュメモリ６０にジャーナルを読み込んでいたが、キャッシュメモリ６０に存在する場合は、当該処理は不要である。
【００９２】
(第２の実施例)
次に、第２の実施例について説明する。図１４は、本願第２の発明の概念を説明する図である。第１の実施形態と異なるのは、第２の記憶システムの論理ボリューム１５０（Data１）が、仮想的に設定されたボリュームであって、実際にデータを蓄積する記憶領域を有していない点である。図１５は、初期設定手順を示したものである。図１６は本願の第２の実施例を実現するためのペア情報テーブルである。図１７は、本実施例におけるアクセス命令受信処理におけるデータの流れを説明するものである。図１８は、本願第２の発明における第２の記憶システム１５の処理を示すフローチャートである。以下、図１５、図１６、図１７及び図１８を用いて説明する。
【００９３】
まず、図１５に示すフローチャートは、本願第２の実施形態のおける初期設定手順を示している。ユーザは、ホストコンピュータ５、６、７あるいは図１４では図示していない保守端末が持つGUI（graphical user interface）を用いて、第３の記憶システム２０のジャーナルグループを設定する（ステップ３０００）。具体的には、論理ボリューム２００(Data２)と論理ボリューム２０１(JNL２)とを図７に示すようなジャーナルグループ設定情報テーブルに記述する。
【００９４】
次に、ユーザは、各記憶システムに接続される保守端末あるいはホストコンピュータ５、６、７を使用して、データ複製対象を示す情報とデータ複製先を示す情報を指定して、ペア設定を行う（ステップ３１００）。具体的には、図１４の論理ボリューム１１０（ORG1）と論理ボリューム２００（Data２）との間にペア関係を設定する。
【００９５】
このステップ３１００では、論理ボリューム１１０(Org１)、論理ボリューム２００(Data２)を指定して、ペアを形成し、初期コピーを行う。論理ボリューム１１０(Org１)と論理ボリューム２００(Data２)とに同一のデータイメージを持たせるためである。そして、初期コピー処理の終了後ペアは解除される(ステップ３２００)。
【００９６】
次に、第１の記憶システム１０と第２の記憶システム１５内の論理ボリューム１１０（Org1）と論理ボリューム１５０（Data1）との間にペア関係を設定する(ステップ３３００)。
【００９７】
図１６は本願第２の実施例におけるペア情報テーブル５１０である。その構成は先に説明した図６とほぼ同じであるが、異なるのは仮想化されているかどうかを示すデータをペアごとに保持する点である。図１６のペア番号１に示すペアにおいて、仮想化の欄がONになっている。これは、ペアの副論理ボリュームが仮想化されていることを示す。
【００９８】
論理ボリューム１５０（Data1）と論理ボリューム１５１(JNL１)をジャーナルグループとして登録する(ステップ３４００)。
【００９９】
以上が、第２の実施例における初期設定の手順である。この初期化処理後、記憶システム２０でのデータの正確なリストア処理（リカバリ）が可能になる。
【０１００】
次に、図１７について説明する。図１７に示す第１の記憶システム１０は、ホストコンピュータ５からデータの書き込みコマンドを受領すると、指定された論理ボリューム１１０（Org1）にデータの書き込みを行う(図１７に示す矢印２５０)。第１の記憶システム１０は、その書き込みの際、この論理ボリューム１１０(Org１)とペアになっている他の記憶システムの論理ボリューム（本実施例においては、第２の記憶システム１５の論理ボリューム（Data1））がある場合は、チャネルアダプタ５０を介して、ホストコンピュータ５から受領したものと同じデータの書き込みコマンドを第２の記憶システムに対して発行する。この書き込みコマンドは、第２の記憶システムのチャネルアダプタ５４で受領され、チャネルアダプタ５４上のプロセッサによって命令受信処理３１０が行われる。
【０１０１】
この命令受信処理３１０は、第１の実施例、即ち、第２の記憶システム１５の論理ボリューム１５０（Data1）に実体がある場合は、書き込みコマンドを分析して、指定された論理ボリュームの書き込み先に対応するキャシュ上の領域に、書き込みデータを記憶するとともに、更新情報を書き込むジャーナルボリューム１５１（JNL1）の書き込まれる領域に対応するキャッシュ上に更新情報を蓄積する。ディスクアダプタ８０は、適宜キャッシュ上のデータを対応する論理ボリューム領域に書き込む処理を行う。
【０１０２】
これに対して、第２の実施例においては、第２の記憶システム１５は、まず書き込み先として指定された第２の記憶システム１５の論理ボリューム１５０（Data1）が、実体を有するとして取り扱うべき論理ボリュームであるかどうかの判定を、図１６に示すペア情報テーブル５１０を参照して行う。第２の記憶システム１５は、第２の記憶システム１５（自身）の論理ボリューム（Data1）１５０が、仮想化されている論理ボリュームであることを認識する。第２の記憶システム１５は、この論理ボリューム（Data1））１５０が実体を有しないとして取り扱うので、ライトデータを、論理ボリューム（JNL1）１５１のライトデータ領域に対応するキャッシュ領域に蓄積し(図１７に示す矢印１１１１)、さらに当該書き込み命令が、論理ボリューム（Data1））１５０のどの領域に対して行われるものであったかを更新情報として、論理ボリューム（JNL１）１５１の更新情報領域に対応するキャッシュ領域に蓄積する（図１７に示す矢印１１１１、１１２０）。ディスクアダプタ８０は、適宜のタイミングで、キャッシュ上のデータに対応する論理ボリュームが規定されるＨＤＤ１００上にデータを書き込む(図１７の矢印１１３０、１１４０)。
【０１０３】
図１８を用いてさらに詳細に説明する。第２の記憶システム１５のチャネルダプタ５４が、アクセス命令を受信すると、まずその命令がライト命令であるかどうかを確認する（ステップ９２１０）。ライト命令でない場合、例えば、ジャーナルリード命令等の命令である場合には、その処理を行う（ステップ９２１５、９２２０）。
【０１０４】
次にライト命令を受領したボリュームが正常なボリュームであるかどうかを判定する（ステップ９２４０）。そして、ボリューム状態が正常でない場合には、保守端末を介して命令を発行した上位装置に異常報告を通知して、処理を終了する（ステップ９２３０）。次に書き込み先となった論理ボリュームが仮想的な論理ボリュームであるかどうかを、図１６のペア情報テーブル５１０を用いて判定する（ステップ９２５０）。仮想的なボリュームである場合には、ジャーナル作成処理（ステップ９２６５）を行い、処理の完了後に上位装置（第１の記憶システム）に対して終了報告を通知する(ステップ９２７５)。
【０１０５】
仮想的なボリュームでない場合には、その論理ボリュームに対応するキャッシュ領域にデータを受信して(ステップ９２６０)、上位装置へ終了報告する(ステップ９２７０)。次に、論理ボリュームがジャーナルグループを持つ論理ボリュームであるかどうかを判定する（ステップ９２８０）。ジャーナルグループを持つ論理ボリュームである場合は、ジャーナル作成処理（ステップ９２６５）を行う。
【０１０６】
このようにペア情報テーブル５１０に、副側論理ボリュームが仮想化されているかどうかを示す仮想化情報を併せ持つことで、副側論理ボリュームに対する実際の書き込みを抑止することができる。これにより、副側論理ボリュームに実体的な記憶容量を持たすことなく、リモートコピーの相手先として定義させることが可能となる。
【０１０７】
(第３の実施例)
次に第３の実施例について説明する。第３の実施例においては、さらにこの仮想化された副論理ボリュームを他の用途に利用可能にするための構成を説明する。
【０１０８】
図１９は、第３の実施例を概念的に示した図である。図１４に示す第２の実施例と異なる点について詳細に説明する。図１４については、説明の便宜のために、第２の記憶システム１５に、第１の記憶システム１０を上位装置として、データの書き込み命令を受領するチャネルアダプタ５６と、接続線２５５を介してホストコンピュータ６に接続されるチャネルアダプタ５７と、第３の記憶システム２０に接続されるチャネルアダプタ５８とを明示して説明する。図１、図１４においてもチャネルアダプタが存在することは言うまでもない。第１の記憶システムの論理ボリューム（Org1）１１０は、第２の記憶システム１５の論理ボリューム１５０（Data1）とリモートコピーペアを形成しており、第２実施例と同様に、論理ボリューム１５０（Data1）は仮想化されている。この論理ボリューム１５０（Data1）から、第３の記憶システムの論理ボリューム２００（Data2）へのデータのコピーは、第２の実施例において説明した通りである。
【０１０９】
第３の実施例においては、さらにチャネルアダプタ５７を介して、ホストコンピュータ６に接続されている。そして、このホストコンピュータ６から論理ボリューム１５０（Data1）への書き込みを可能にする点が第３の実施例の大きな特徴である。
【０１１０】
次に論理ボリューム１５０（Data1）をホストコンピュータ６で利用可能とするための共有メモリ７０上の構成情報の持ち方について説明する。構成情報には、前述の各テーブル(図３、図７、図１６)のほか図２０に示すチャネルアダプタと上位装置との接続関係を示すチャネルアダプタ接続情報テーブル５０００を保持する。
【０１１１】
第２の記憶システム１５の各チャネルアダプタ上のプロセッサは、上位装置からのアクセス要求(データのリードライト要求)を受領すると、図２０の接続情報テーブル５０００を参照して自身に接続されている上位装置または他のチャネルアダプタを判定する。第２の記憶システム１５のチャネルアダプタは、上位装置に他の記憶装置または他の記憶装置のチャネルアダプタが設定されている場合には、リモートコピーであると判断して、第２の実施例で説明した手順にしたがって、その書き込み先となっている論理ボリュームが仮想化されているかどうかを判定して、書き込み対象となっている論理ボリュームが仮想化されていない場合は、書き込み処理を行う。一方、当該論理ボリュームが仮想化されている場合には実施例２で示しているようにジャーナルボリュームへの書き込みのみを行う。
【０１１２】
チャネルアダプタは、自身に接続されている上位装置が他の記憶システム（または記憶システムのチャネルアダプタ）ではないと判定した場合には、その対象となっている論理ボリュームへの書き込み処理を実行する。この処理は、その書き込み対象となった論理ボリュームに対応するキャッシュ領域にデータを書き込むことで行い、そのキャッシュ領域への書き込みとは非同期にディスクアダプタがＨＤＤ１００上に定義されている論理ボリュームへの書き込みを行う。このように、記憶システムはI/O(アクセス要求)を受領したデータを指定された論理ボリュームに書き込んで良いか判定する。
【０１１３】
記憶システムは、論理ボリュームが仮想化されているかどうかの判定をすることしか出来ないから、そのボリュームに実際に書き込んでよいかどうか判断できない。そこで、どの上位装置からのデータを実際に書き込んでよいかを、どのチャネルアダプタが受領したデータであるかによって識別することで、他の上位装置によって仮想化されている論理ボリュームを利用することができるのである。
【０１１４】
なお、他の方法として、リモートコピーで転送されるデータセットにリモートコピーデータであることを示す識別子が存在する場合は、それを利用して、リモートコピーの場合のみ仮想化されているボリュームへの書き込みを制限するようにしても良い。
【０１１５】
本発明においては、仮想化することが有効な事例としてリモートコピーを例示して説明したが、リモートコピー以外の機能、例えば、ＳＣＳＩの標準コマンドであるＥ−ＣＯＰＹコマンドの対象となっている論理ボリュームを仮想化することも可能である。
【０１１６】
なお、図１４において、命令受信処理やリードライト処理３２０は、チャネルアダプタ５６、５７、５８においてなされることは言うまでもない。またこの処理は他のプロセッサに割り当てることも可能である。
【０１１７】
(第４の実施例)
次に、第４の実施例につき説明する。図２１は、ホストコンピュータ５または保守端末に表示されるリモートコピーペア生成の設定画面の一例を示したものである。図２１の例では、ユーザは画面４０００上のペアの生成の設定を行う領域４６００にあるペアボリューム指定表示部４１００に、ペアとしてVol＃１とVol＃２を設定している状態である。ユーザは、ペア生成の設定を行うに際して、ペアの生成の設定を行う領域４６００にある仮想Vol指定表示部４３００で副論理ボリュームにあたるVol＃２を仮想化するかどうかを選択することができる。図２１の例では、副論理ボリュームにあたるVol＃２は、仮想化が選択されている状態である。
【０１１８】
各記憶システム内のチャネルアダプタごとに、どの記憶システムもしくは上位装置と接続されているかを示す領域４７００には、接続設定部４４００があり、この接続設定部により、各チャネルアダプタと記憶システムの接続関係の設定が可能となっている。なお、チャネルアダプタの接続先は、他の記憶システムもしくは上位装置のチャネルアダプタであってもよい。
【０１１９】
接続設定部の画面例では、チャネルアダプタ５６、５７、５８は、それぞれ第１の記憶システム１０、ホストコンピュータ５、第３の記憶システム２０に接続されていることを示している。
【０１２０】
さらに、図２１に示すように、上位装置が使用しているボリュームを示す領域４８００に論理ボリューム使用設定部４５００があり、この論理ボリューム使用設定部４５００により、各ホストコンピュータが使用する論理ボリュームの設定が可能となっている。論理ボリューム使用設定部４５００の画面例では、論理ボリューム１５０は、ホストコンピュータ６に使用されている設定になっている。ここで注意が必要なのは、論理ボリューム１５０はすでにホストコンピュータ６に使用されているので、ペアボリューム指定表示部４１００で、Vol＃２に論理ボリューム１５０を指定する場合には、仮想化の設定を行わなければペア指定できないようになっている点である。
【０１２１】
以上により、ユーザは、安全性、耐障害性を重視する場合は、第２の記憶システム１５の論理ボリューム１５０(Data１)を仮想化しない選択を、第２の記憶システム１５内のボリューム容量を最大限活用したい場合には、仮想化する選択をすることで、目的、費用に応じたシステムの構築が可能となる。なお、仮想化した後の、第１の記憶システム１０から第３の記憶システム２０へのデータの複製の手順は、第２の実施例で示した通りである。
【０１２２】
(第５の実施例)
次に、第５の実施例として、第１の記憶システム１０に障害が発生した場合において、第１の記憶システム１０とは遠距離にある第３の記憶システム２０で業務を継続(フェイルオーバー)させる場合について説明する。
【０１２３】
図２２に示すように、第１の記憶システム１０、ホストコンピュータ５、第１の記憶システム１０から遠距離にある第３の記憶システム２０、その間に介在する第２の記憶システム１５、ホストコンピュータ６、第３の記憶システム２０に接続されているホストコンピュータ７が接続線により接続されている構成である。第１の記憶システムに何らかの障害が発生した場合に、遠距離にある第３の記憶システム２０で業務を引き継いで行う際に問題となるのは、第１の記憶システムが保持する論理ボリューム１１０(ORG１)と第３の記憶システム２０が保持する論理ボリューム２００(Data２)が同じデータとなっていない場合である。すなわち、第１の記憶システムと第２の記憶システムの間は同期であるが、第２の記憶システムと第３の記憶システムの間は非同期であるため、第１の記憶システム１０の複製対象のデータの複製が第３の記憶システム２０に完全に作られているわけではないのである(論理ボリューム２００(Data２)に未到達分のデータが反映されていない)。
【０１２４】
そこで、第３の記憶システムで業務を再開するために、まず未到達分のデータの反映をすることになる。第２、３の実施例及び仮想化する選択をした第４の実施例では、第２の記憶システム１５に論理ボリューム１５０（Data1）を持たないが、ジャーナルボリューム１５１(JNL１)にジャーナルデータが存在するので、当該ジャーナルデータを第３の記憶システム２０に送信し、図２２に示すリストア処理３５０により論理ボリューム２００(Data２)に未到達分のデータを反映させる。これにより、複製対象のデータの完全な複製を第３の記憶システム２０の論理ボリューム２００(Data２)に作ることができる。その後、第３の記憶システム２０でホストコンピュータ７からの命令を受け付けることができるようになる。
【０１２５】
これにより、第２の記憶システムの論理ボリューム１５０(Data１)を仮想化しボリューム容量を低減しつつも、障害に対する耐性を保つことができるのである。
【０１２６】
(第６の実施例)
また、第６の実施例として、図２３に示すように、第２の記憶システム１５で業務を継続させたい場合には、第２の記憶システム１５の論理ボリューム１５０(Data１)は仮想化されているため、新たに第２の記憶システム１５に論理ボリュームをアサインする必要がある。そして、第２の記憶システム１５に論理ボリュームをアサイン後、第３の記憶システム２０からジャーナルリード処理３３０によりジャーナルデータを取得し、第２の記憶システム１５内でリストア処理３５０を行う。  
これにより、第２の記憶システム１５に新規にアサインした論理ボリュームに第１の記憶システム１０の複製元論理ボリュームの複製を作成することができる。その後、第２の記憶システム１５はホストコンピュータ６からの命令を受け付けることができるようになる。
【０１２７】
以上、発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【０１２８】
【図１】本発明の第１の実施形態を示す図である。
【図２】記憶システムの内部構造を示した図である。
【図３】ボリューム情報テーブルを示す図である。
【図４】ジャーナルを説明するための図である。
【図５】初期コピー処理を示したものである。
【図６】ペア設定情報を示す図である。
【図７】ジャーナルグループ設定情報テーブルを示す図である。
【図８】アクセス命令受信処理の流れを説明する図である。
【図９】アクセス命令受信処理を説明するフローチャートを示した図である。
【図１０】ジャーナルリード命令を受信した記憶システム１５のチャネルアダプタ５０の動作（ジャーナルリード受信処理）を説明する図である。
【図１１】ジャーナルリード命令受信処理を説明するフローチャートである。
【図１２】リストア処理を説明する図である。
【図１３】リストア処理のフローチャートを説明する図である。
【図１４】本発明の第２の実施形態を示す図である。
【図１５】第２の実施形態における初期設定処理を示したものである。
【図１６】ペア設定情報を示す図である。
【図１７】第２の実施形態におけるアクセス命令受信処理の流れを説明する図である。
【図１８】第２の実施形態におけるアクセス命令受信処理のフローチャートを説明する図である。
【図１９】本発明の第３の実施形態を示す図である。
【図２０】接続情報テーブルを示す図である。
【図２１】第４の実施形態におけるホストコンピュータ５または保守端末に表示されるペア生成の設定画面の一例を示したものである。
【図２２】第１サイトの障害時に第３サイトで業務を引き継ぐ場合を示す図である。
【図２３】第１サイトの障害時に第２サイトで業務を引き継ぐ場合を示す図である。
【符号の説明】
【０１２９】
５、６、７  ホストコンピュータ
１０  第１の記憶システム
１５  第２の記憶システム
２０  第３の記憶システム
１１０  第１の記憶システム内の論理ボリューム(Org１)
１２０  第１の記憶システム内の論理ボリューム(Org２)
１５０  第２の記憶システム内の論理ボリューム(Data１)
１５１  第２の記憶システム内のジャーナルボリューム(JNL１)
２００  第３の記憶システム内の論理ボリューム(Data２)
２０１  第３の記憶システム内のジャーナルボリューム(JNL２)
２１０、２２０、２４０  接続線
【図１】
2005309550.tif 000003
【図２】
2005309550.tif 000004
【図３】
2005309550.tif 000005
【図４】
2005309550.tif 000006
【図５】
2005309550.tif 000007
【図６】
2005309550.tif 000008
【図７】
2005309550.tif 000009
【図８】
2005309550.tif 000010
【図９】
2005309550.tif 000011
【図１０】
2005309550.tif 000012
【図１１】
2005309550.tif 000013
【図１２】
2005309550.tif 000014
【図１３】
2005309550.tif 000015
【図１４】
2005309550.tif 000016
【図１５】
2005309550.tif 000017
【図１６】
2005309550.tif 000018
【図１７】
2005309550.tif 000019
【図１８】
2005309550.tif 000020
【図１９】
2005309550.tif 000021
【図２０】
2005309550.tif 000022
【図２１】
2005309550.tif 000023
【図２２】
2005309550.tif 000024
【図２３】
2005309550.tif 000025