(57)【要約】【課題】マスタボリュームとリモートマスタボリュームとの同期をとらずにリモートサイトに複数世代のスナップショットボリュームを作成することができるディスク装置、および、ディスク装置へのデータ複製方法、プログラムを提供する。【解決手段】ディスク装置は第１のボリュームデータがコピーされる第２のボリュームと、第１のボリュームのスナップショットを保存する第３のボリュームと、第３のボリュームに差分データが存在するアドレスのデータを読み出す場合には第３のボリュームからデータを読み出し、第３のボリュームに差分データが存在しないアドレスのデータを読み出す場合には、第１のボリュームから第２のボリュームへのコピーが完了していない場合には第１のボリュームからデータを読み出し、完了している場合には第２のボリュームからデータを読み出すＩ／Ｏ処理手段とを備える。【選択図】      図１６
2012058863.tif 000002
【特許請求の範囲】
【請求項１】
第１のボリュームデータがコピーされる第２のボリュームと、
前記第１のボリュームのスナップショットを保存し、前記第１のボリュームにデータの書き込みがあった後の前記第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを保存する第３のボリュームと、
ホストが前記第３のボリュームに前記差分のデータが存在するアドレスのデータを読み出す場合には前記第３のボリュームからデータを読み出し、前記第３のボリュームに前記差分のデータが存在しないアドレスのデータを読み出す場合には、前記第１のボリュームから前記第２のボリュームへのコピーが完了していない場合には前記第１のボリュームからデータを読み出し、完了している場合には前記第２のボリュームからデータを読み出すＩ／Ｏ処理手段と、
を備えるディスク装置。
【請求項２】
前記第１のボリュームのデータのコピーを前記第２のボリュームに作成するコピーデータ書き込み手段と、
前記第３のボリュームに、前記第１のボリュームにデータの書き込みがあった後の第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを書き込む追い出し処理手段と、
をさらに備える請求項１に記載のディスク装置。
【請求項３】
前記第１のボリュームから前記第３のボリュームへ前記差分のデータをコピーするか否かの情報を格納する追い出しページテーブルから、コピーが必要な差分のデータを定期的に検索する追い出しページ検索手段をさらに備え、
前記追い出し処理手段は、前記追い出しページ検索手段がコピーが必要な差分のデータを検索した場合に前記書き込みを行う請求項２に記載のディスク装置。
【請求項４】
前記第１のボリュームのデータを前記第２のボリュームへコピーするか否かの情報を格納するコピーテーブルから、コピーが必要なデータを定期的に検索するリモートコピー検索手段をさらに備え、
前記コピーデータ書き込み手段は、前記リモートコピー検索手段が、コピーが必要なデータを検索した場合で、かつ、前記第３のボリュームに前記差分のデータが存在しない場合に、前記第１のボリュームを前記第２のボリュームにコピーする請求項２または請求項３のいずれかに記載のディスク装置。
【請求項５】
前記第１のボリュームが、ローカルに設置された第１のディスク装置に備えられ、
前記第２のボリュームと前記第３のボリュームが、リモートに設置された第２のディスク装置に備えられ、
前記第１のディスク装置と前記第２のディスク装置とを通信回線で接続して構成される請求項１から請求項４のいずれかに記載のディスク装置。
【請求項６】
第１のボリュームのスナップショットを保存し、前記第１のボリュームにデータの書き込みがあった後の前記第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを保存する第３のボリュームに、前記差分のデータが存在するアドレスのデータをホストが読み出す場合には、前記第３のボリュームからデータを読み出し、
前記第３のボリュームに前記差分のデータが存在しないアドレスのデータをホストが読み出す場合には、前記第１のボリュームのデータのコピーが行なわれる第２のボリュームへの前記コピーが完了していない場合には前記第１のボリュームからデータを読み出し、前記第１のボリュームのデータの前記第２のボリュームへの前記コピーが完了している場合には前記第２のボリュームからデータを読み出すＩ／Ｏ処理ステップを、
コンピュータに実行させるディスク装置へのデータ複製プログラム。
【請求項７】
前記第２のボリュームに前記第１のボリュームのデータの前記コピーを実行するコピーデータ書き込みステップと、
前記第３のボリュームに、前記第１のボリュームにデータの書き込みがあった後の第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを書き込む追い出し処理ステップと、
をコンピュータに実行させる請求項６に記載のディスク装置へのデータ複製プログラム。
【請求項８】
前記第１のボリュームから前記第３のボリュームへ前記差分のデータをコピーするか否かの情報を格納する追い出しページテーブルから、コピーが必要な差分のデータを定期的に検索する追い出しページ検索ステップと、
前記追い出しページ検索ステップにおいてコピーが必要な差分のデータを検索した場合に前記書き込みを行う前記追い出し処理ステップと、
をコンピュータに実行させる請求項７に記載のディスク装置へのデータ複製プログラム。
【請求項９】
前記第１のボリュームのデータを前記第２のボリュームへコピーするか否かの情報を格納するコピーテーブルから、コピーが必要なデータを定期的に検索するリモートコピー検索ステップと、
前記リモートコピー検索ステップにおいてコピーが必要なデータを検索した場合で、かつ、前記第３のボリュームに前記差分のデータが存在しない場合に、前記第１のボリュームを前記第２のボリュームにコピーする前記コピーデータ書き込みステップと、
をコンピュータに実行させる請求項７または請求項８のいずれかに記載のディスク装置へのデータ複製プログラム。
【請求項１０】
第１のボリュームのスナップショットを保存し、前記第１のボリュームにデータの書き込みがあった後の前記第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを保存する第３のボリュームに、前記差分のデータが存在するアドレスのデータをホストが読み出す場合には、前記第３のボリュームからデータを読み出し、
前記第３のボリュームに前記差分のデータが存在しないアドレスのデータをホストが読み出す場合には、前記第１のボリュームのデータのコピーが行なわれる第２のボリュームへの前記コピーが完了していない場合には前記第１のボリュームからデータを読み出し、前記第１のボリュームのデータの前記第２のボリュームへの前記コピーが完了している場合には前記第２のボリュームからデータを読み出すディスク装置へのデータ複製方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスク装置、および、ディスク装置へのデータ複製方法、プログラムに関する。
【背景技術】
【０００２】
ディスクアレイ装置等の記憶装置において、リモートサイトにバックアップ対象ボリュームのデータバックアップをとる方法として、バックアップ対象ボリュームの完全複製を作成する方法が知られている。この方法は、バックアップ対象ボリュームと同容量のバックアップボリュームを必要とする。従って、ユーザがリモートサイトにバックアップボリュームを複数世代作成して管理したい場合には、多量のボリュームが必要となりバックアップコストが増大する。
【０００３】
このような完全複製のバックアップデメリットを回避するために、スナップショット方式を利用したデータバックアップ方法が知られている（例えば特許文献１、特許文献３、特許文献４）。この方法は、完全複製を作成する方法に比べて必要な記憶容量が少なくバックアップボリュームを作成することができる。
【０００４】
ここで示したスナップショット方式とは、スナップショット作成時点におけるバックアップ対象ボリューム（マスタボリューム）の状態を保持するための技術である。例えば図１３に示されるようなデータを記憶したマスタボリュームのスナップショットが作成されたとすれば、このマスタボリュームと同じ記憶容量を有するスナップショットボリュームが生成される。そして例えば、マスタボリュームのデータ“ＢＢ”の記憶領域にデータ“ＥＥ”の書き込みが発生した時点で、更新前のデータ“ＢＢ”がスナップショットボリュームの同一アドレスに格納される（図１４）。
【０００５】
つまり、スナップショット作成時にはスナップショットボリュームが定義されるだけで良いので、見かけ上バックアップ対象ボリュームが瞬時に複製される。
【０００６】
ホストがスナップショットボリュームのデータをリード（read）する場合、スナップショットボリュームにデータが存在するアドレスについてはスナップショットボリュームのデータを参照し、スナップショットボリュームにデータが存在しないアドレスについてはマスタボリュームのデータを参照する。これにより、ホストはスナップショット作成時点でのマスタボリュームのデータを取得することができる。
【０００７】
このスナップショット方式を利用してリモートサイトにスナップショットボリュームを複数世代作成する方法が存在する（例えば特許文献２）。この方法は、バックアップコストを抑えつつ複数世代のバックアップボリュームをリモートサイトに作成することができる。
【０００８】
しかし、スナップショット方式よるスナップショットボリュームアクセスは、スナップショットボリュームにデータが存在しない場合にはマスタボリュームを参照する。その為、特許文献２記載の方法はリモートサイトにマスタボリュームに対する複製ボリュームを必要とする（図１５参照）。また、スナップショットボリュームアクセスは、スナップショットボリュームにデータが存在しない場合には複製ボリューム参照とするため、スナップショットボリュームを作成する際にはマスタボリュームと複製ボリュームとの同期をとる必要がある。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００４−１９２１３３
【特許文献２】特開２００５−２９２８６５
【特許文献３】特開２００８−００４０９０
【特許文献４】特開２０１０−０９２１７６
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述のように、上記の技術では、スナップショット作成時にマスタボリュームと複製ボリュームとの同期を取る必要がある。
【００１１】
そこで、本発明はこのような課題を解決すべく、マスタボリュームとリモートマスタボリュームとの同期をとらずにリモートサイトに複数世代のスナップショットボリュームを作成することができるディスク装置、および、ディスク装置へのデータ複製方法、プログラムを提供する。
【課題を解決するための手段】
【００１２】
かかる目的を達成するため、本発明の一形態は、ディスク装置であって、第１のボリュームデータがコピーされる第２のボリュームと、前記第１のボリュームのスナップショットを保存し、前記第１のボリュームにデータの書き込みがあった後の前記第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを保存する第３のボリュームと、ホストが前記第３のボリュームに前記差分のデータが存在するアドレスのデータを読み出す場合には前記第３のボリュームからデータを読み出し、前記第３のボリュームに前記差分のデータが存在しないアドレスのデータを読み出す場合には、前記第１のボリュームから前記第２のボリュームへのコピーが完了していない場合には前記第１のボリュームからデータを読み出し、完了している場合には前記第２のボリュームからデータを読み出すＩ／Ｏ処理手段と、を備える。
【００１３】
また、本発明によれば、第１のボリュームのスナップショットを保存し、前記第１のボリュームにデータの書き込みがあった後の前記第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを保存する第３のボリュームに、前記差分のデータが存在するアドレスのデータをホストが読み出す場合には、前記第３のボリュームからデータを読み出し、前記第３のボリュームに前記差分のデータが存在しないアドレスのデータをホストが読み出す場合には、前記第１のボリュームのデータのコピーが行なわれる第２のボリュームへの前記コピーが完了していない場合には前記第１のボリュームからデータを読み出し、前記第１のボリュームのデータの前記第２のボリュームへの前記コピーが完了している場合には前記第２のボリュームからデータを読み出すＩ／Ｏ処理ステップを、コンピュータに実行させるディスク装置へのデータ複製プログラムが提供される。
【００１４】
また、本発明によれば、第１のボリュームのスナップショットを保存し、前記第１のボリュームにデータの書き込みがあった後の前記第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを保存する第３のボリュームに、前記差分のデータが存在するアドレスのデータをホストが読み出す場合には、前記第３のボリュームからデータを読み出し、前記第３のボリュームに前記差分のデータが存在しないアドレスのデータをホストが読み出す場合には、前記第１のボリュームのデータのコピーが行なわれる第２のボリュームへの前記コピーが完了していない場合には前記第１のボリュームからデータを読み出し、前記第１のボリュームのデータの前記第２のボリュームへの前記コピーが完了している場合には前記第２のボリュームからデータを読み出すディスク装置へのデータ複製方法が提供される。
【発明の効果】
【００１５】
本発明はマスタボリュームとリモートマスタボリュームとの同期をとらずにリモートサイトに複数世代のスナップショットボリュームを作成することができるディスク装置、および、ディスク装置へのデータ複製方法、プログラムを提供する。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施の形態を説明するための図である。
【図２】ボリューム対応テーブル１１６１の例を示す図である。
【図３】差分管理テーブル１１６２の例を示す図である。
【図４】コピーテーブル１１６３の例を示す図である。
【図５】追い出しページテーブル１１６４の例を示す図である。
【図６】参照テーブル２１７２の例を示す図である。
【図７】リモートマスタ２１５を作成するときの動作を説明するための図である。
【図８】スナップショットボリューム２１６を作成するときの動作を説明するための図である。
【図９】マスタボリューム１１５へのライト処理の動作について説明するための図である。
【図１０】追い出しページ検索処理について説明するための図である。
【図１１】リモートコピー検索処理について説明するための図である。
【図１２】スナップショットボリューム２１６へのリード動作について説明するための図である。
【図１３】スナップショット方式を説明するための図である。
【図１４】スナップショット方式を説明するための図である。
【図１５】先行技術の例を説明するための図である。
【図１６】本発明の第２の実施の形態について説明するための図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について、図面を用いて説明する。すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１８】
なお、各実施形態のディスク装置等を構成する各部は、制御部、メモリ、メモリにロードされたプログラム、プログラムを格納するハードディスク等の記憶ユニット、ネットワーク接続用インターフェースなどからなり、ハードウェアとソフトウェアの任意の組合せによって実現される。そして特に断りのない限り、その実現方法、装置は限定されない。
【００１９】
また、制御部はＣＰＵ（Central Processing Unit）などからなり、オペレーティングシステムを動作させてディスク装置等の全体を制御するとともに、例えばドライブ装置などに装着された記録媒体からメモリにプログラムやデータを読み出し、これに従って各種の処理を実行する。
【００２０】
記録媒体は、例えば光ディスク、フレキシブルディスク、磁気光ディスク、外付けハードディスク、半導体メモリ等であって、コンピュータプログラムをコンピュータが読み取り可能に記録する。また、コンピュータプログラムは、通信網に接続されている図示しない外部コンピュータからダウンロードされても良い。ここで、特に断りの無い限り、通信網とは、インターネット、ＬＡＮ（Local Area Network）、公衆回線網、無線通信網、または、これらの組み合わせ等によって構成されるネットワーク等であって良い。
【００２１】
また、各実施形態の説明において利用するブロック図は、ハードウェア単位の構成ではなく、機能単位の構成を示している。これらの機能ブロックはハードウェア、ソフトウェアの任意の組み合わせによって実現される。また、これらの図においては、各実施形態の構成部は物理的に結合した一つの装置により実現されるよう記載されている場合もあるが、その実現手段はこれに限定されない。すなわち、二つ以上の物理的に分離した装置を有線または無線で接続し、これら複数の装置により、各実施形態の各構成部、装置、システムを実現してもよい。また、各構成部が物理的に分離した２つ以上装置として記載されている場合もあるが、その実現手段はこれに限定されない。すなわち、物理的に結合した一つの装置によりそれらが実現されるようにハードウェア、ソフトウェアを任意に組み合わせて各実施形態の各構成部、装置、システムを実現してもよい。また、ディスク装置は、一般のディスク装置以外にディスクアレイ装置であっても良い。
【００２２】
＜実施形態１＞
まず、本発明の第１の実施の形態の概要について説明する。
【００２３】
本発明の第１の実施の形態は、２つのディスクアレイ装置１１、２１間におけるデータコピー方法において、ローカルサイトのディスクアレイ装置１１のボリューム対するスナップショットを、リモートサイトのディスクアレイ装置２１に複数世代作成する技術に関する。具体的には、図１においてリモートサイトのディスクアレイ装置２１にマスタボリューム１１５に対する差分データを保存するスナップショットボリューム２１６を設ける。リモートマスタボリューム２１５はスナップショットボリューム２１６作成時のマスタボリューム１１５のデータイメージになるように、リモートコピー検索部１１３２が非同期でリモートコピーを行う。ホスト２２がスナップショットボリューム２１６をリードする際は、Ｉ／Ｏ処理部２１１が差分管理テーブル２１７１及び参照テーブル２１７２を参照して読み出し先のボリュームを判別し、スナップショットボリューム２１６またはリモートマスタボリューム２１５またはマスタボリューム１１５からデータを読み出す。リード先は、リモートマスタボリューム２１５へのリモートコピーが完了しているか否かによって異なる。具体的には、リード先は、リモートコピーが完了している場合には、リモートマスタボリューム２１５のデータを参照し、リモートコピーが完了していない場合にはマスタボリューム１１５のデータを参照する。これにより、マスタボリューム１１５とリモートマスタボリューム２１５との同期をとらずに、また、マスタボリューム１１５へのライト性能を低下させること無く、リモートサイトに複数世代のスナップショットボリューム２１６を作成することができる。
【００２４】
次に、本発明の第１の実施の形態の構成について説明する。
【００２５】
図１は、本実施の形態における構成図を示す図である。図１を参照すると、本発明のコピー処理を実施するディスクアレイ装置１１、２１は、ローカルサイトとリモートサイトに遠隔で配置され、それぞれホスト１２、２２と接続されている。ディスクアレイ装置１１、２１は通信回線等で相互に接続され、ホスト１２、２２を経由せずにリモートデータコピーを行なうことができるようにしても良い。
【００２６】
まず、ディスクアレイ装置１１の構成について説明する。
【００２７】
ディスクアレイ装置１１は、Ｉ／Ｏ処理ユニット１１１、スナップショット命令処理部１１２、バックグラウンド処理部１１３、リモート命令処理部１１４、マスタボリューム１１５、スナップショット管理情報１１６、ワークキャッシュページ１１７を備える。
【００２８】
Ｉ／Ｏ処理ユニット１１１はＩ／Ｏ処理部１１１１、追い出し要否判定部１１１２、リモートコピー要否判定部１１１３を備える。
【００２９】
Ｉ／Ｏ処理部１１１１は、ホスト１２からライトデータ、ライト命令を受信してボリューム対応テーブル１１６１を参照し、ライト対象のマスタボリューム１１５がリモートサイトにスナップショットコピー中であるか否かを調べる。そして、Ｉ／Ｏ処理部１１１１は、ライト対象のマスタボリューム１１５がリモートサイトにスナップショットコピー中でない場合には、ライトデータをマスタボリューム１１５に書き込む。一方、ライト対象のマスタボリューム１１５がリモートサイトにスナップショットコピー中である場合には、Ｉ／Ｏ処理部１１１１は、ライトデータをワークキャッシュページ１１７にコピーする。Ｉ／Ｏ処理部１１１１は、ライト処理が完了したらホスト１２へレスポンスを返却する。
【００３０】
追い出し要否判定部１１１２は、Ｉ／Ｏ処理部１１１１が受信したライトデータについて差分管理テーブル１１６２を参照してリモートサイトのスナップショットボリューム２１６に差分データが存在するか否かを調べる。差分データとは、マスタボリューム１１５のデータをリモートマスタボリューム２１５、スナップショットボリューム２１６にコピーした初期のコピー完了後に生じた差分のみのデータである。そして、追い出し要否判定部１１１２は、リモートサイトのスナップショットボリューム２１６に差分データが存在しない場合（差分管理テーブル１１６２のフラグが０、図３参照）には追い出しコピー必要と判定し、追い出しページテーブル１１６４を追い出しありに設定する（追い出しページテーブル１１６４のフラグを１に設定する）。一方、リモートサイトのスナップショットボリューム２１６に差分データが存在する場合（差分管理テーブル１１６２のフラグが１、図３参照）には、追い出し要否判定部１１１２は、追い出しコピー不要と判定して、ライトデータをマスタボリューム１１５に書き込む。
【００３１】
リモートコピー要否判定部１１１３は、追い出し要否判定部１１１２が追い出しコピー必要と判定した場合（差分管理テーブル１１６２のフラグが０、図３参照）に、コピーテーブル１１６３を調べる。リモートコピー要否判定部１１１３は、コピーテーブル１１６３がコピー不要の場合（コピーテーブル１１６３のフラグが０の場合）はリモートコピー不要と判定する。一方、コピーテーブル１１６３がコピー必要の場合（コピーテーブル１１６３のフラグが１の場合）は、リモートコピー要否判定部１１１３はリモートコピーが必要と判定し、リモート命令処理部１１４にリモートコピー命令を通知する。なお、ここでリモートコピーが必要な場合とは、新たにスナップショットボリューム２１６が作成された際に、マスタボリューム１１５とリモートマスタボリューム２１５のデータが一致していないアドレスに対してホスト１２からライト命令があった場合である。その為、リモートコピー要否判定部１１１３はリモートコピー不要と判定する場合の方が多い。
【００３２】
スナップショット命令処理部１１２は、ホスト１２からリモートスナップショット作成命令及びリモートマスタボリューム作成命令を受信する。スナップショット命令処理部１１２は、リモートスナップショット作成命令を受信した場合には、その命令をリモート命令処理部１１４に通知する。リモート命令処理部１１４は、該命令をディスクアレイ装置２１に通知し、ディスクアレイ装置２１からリモートサイトのスナップショットボリューム２１６の作成完了のレスポンスを受信する。リモート命令処理部１１４が該レスポンスを受信したら、スナップショット命令処理部１１２は、ボリューム対応テーブル１１６１に新規に作成したスナップショットボリューム２１６を追加する。スナップショット命令処理部１１２は、リモートマスタボリューム作成命令を受信した場合には、その命令をリモート命令処理部１１４に通知する。リモート命令処理部１１４は、該命令をディスクアレイ装置２１に通知し、ディスクアレイ装置２１からリモートマスタボリューム２１５の作成完了のレスポンスを受信する。リモート命令処理部１１４が該レスポンスを受信したら、スナップショット命令処理部１１２は、ボリューム対応テーブル１１６１に新規に作成したリモートマスタボリューム２１５を追加する。
【００３３】
バックグラウンド処理部１１３は、追い出しページ検索部１１３１、リモートコピー検索部１１３２を備える。
【００３４】
追い出しページ検索部１１３１は、定期的にマスタボリューム１１５の追い出しページテーブル１１６４から追い出しあり（追い出しページテーブル１１６４のフラグが１）のページを探索し、追い出しありのページを見つけたらリモート命令処理部１１４に追い出しコピー命令を通知する。追い出しページ検索部１１３１は、リモート命令処理部１１４がディスクアレイ装置２１から追い出しコピー完了のレスポンスを受信したら、差分管理テーブル１１６２に差分データあり（フラグを１）を設定し、更に、追い出しページテーブル１１６４の追い出しありを解除（フラグを０）する。
【００３５】
リモートコピー検索部１１３２は、定期的にマスタボリューム１１５のコピーテーブル１１６３からコピー必要のページを探索する。リモートコピー検索部１１３２は、コピーテーブル１１６３からコピー必要のページを見つけたらスナップショットコピー中のスナップショットボリューム２１６の差分管理テーブル１１６２を調べる。リモートコピー検索部１１３２は、差分管理テーブル１１６２に差分データが存在しない場合、つまり、スナップショットボリューム２１６に差分データが存在しない場合のみリモートコピーが必要と判定し、マスタボリューム１１５のデータをワークキャッシュページ１１７に読み出してリモート命令処理部１１４に通知する。リモートコピー検索部１１３２は、リモート命令処理部１１４がディスクアレイ装置２１からリモートコピー完了のレスポンスを受信したら、コピーテーブル１１６３をコピー不要に設定する。
【００３６】
リモート命令処理部１１４は、上述したリモートスナップショット作成命令、リモートマスタボリューム作成命令、リモートコピー命令、追い出しコピー命令をリモートサイトのディスクアレイ装置２１に送信してディスクアレイ装置２１からレスポンスを受信する。又、リモート命令処理部１１４は、ディスクアレイ装置２１からのマスタボリュームリード命令を受信し、マスタボリューム１１５のデータをワークキャッシュページ１１７に読み出しディスクアレイ装置２１に送信する。
【００３７】
マスタボリューム１１５は、ホスト１２からアクセスされるディスクで、物理ディスクを複数組み合わせて冗長化した論理ボリュームである。
【００３８】
スナップショット管理情報１１６は、ボリューム対応テーブル１１６１、差分管理テーブル１１６２、コピーテーブル１１６３、追い出しページテーブル１１６４を備える。
【００３９】
ボリューム対応テーブル１１６１は、リモートスナップショットコピー中のマスタボリューム１１５とリモートマスタボリューム２１５とスナップショットボリューム２１６の対応関係を管理するテーブルである。スナップショット管理情報１１６には、マスタボリューム１１５のボリューム番号（マスタボリューム番号ＭＶ０〜ＭＶｎ）と対応するリモートマスタボリューム２１５とスナップショットボリューム２１６のボリューム番号（リモートマスタボリューム番号ＲＭＶ０〜ＲＭＶｎ、最新世代スナップショットボリューム番号ＳＶ０〜ＳＶｎ）が記載されている。図２にボリューム対応テーブル１１６１の例を示す。
【００４０】
差分管理テーブル１１６２は、スナップショットボリューム２１６に差分データが存在するかどうかをページ単位にフラグ（０、１）で管理する。差分管理テーブル１１６２は、フラグが立っている場合（１）は差分データありとし、フラグが立っていない場合（０）は差分データなしとする。図３に差分管理テーブル１１６２の例を示す。
【００４１】
コピーテーブル１１６３は、マスタボリューム１１５からリモートマスタボリューム２１５へのコピー必要の有無をページ単位にフラグ（０、１）で管理する。コピーテーブル１１６３は、フラグが立っている場合（１）はコピーが必要（コピー必要）とし、フラグが立っていない場合（０）はコピーが不要（コピー不要）とする。図４にコピーテーブル１１６３の例を示す。
【００４２】
追い出しページテーブル１１６４は、マスタボリューム１１５の更新前データをスナップショットボリューム２１６へ追い出しコピーする必要があるか否かをフラグ（０、１）で管理する。追い出しページテーブル１１６４は、フラグが立っている場合（１）は追い出しコピー必要（追い出しあり）とし、フラグが立っていない場合（０）は追い出しコピー不要（追い出しなし）とする。図５に追い出しページテーブル１１６４の例を示す。
【００４３】
ワークキャッシュページ１１７は、ライトデータを一時的に保存し、又、リモートサイトのディスクアレイ装置２１に送信するマスタボリューム１１５のデータを一時的に読み出すメモリである。
【００４４】
次に、ディスクアレイ装置２１の構成について説明する。
【００４５】
ディスクアレイ装置２１は、Ｉ／Ｏ処理部２１１、追い出し処理部２１２、コピーデータ書き込み部２１３、リモート命令処理部２１４、リモートマスタボリューム２１５、スナップショットボリューム２１６、スナップショット管理情報２１７、スナップショット作成部２１８を備える。
【００４６】
Ｉ／Ｏ処理部２１１は、ホスト２２からのリード命令を受信し、差分管理テーブル２１７１と参照テーブル２１７２とを調べてリードデータの読み出し先を決定し、読み出し先がスナップショットボリューム２１６又はリモートマスタボリューム２１５である場合にはボリュームのデータをキャッシュページ２１９に読み出す。また、Ｉ／Ｏ処理部２１１は、読み出し先がマスタボリューム１１５だった場合には、リード命令をリモート命令処理部２１４に通知してマスタボリューム１１５のデータをキャッシュページ２１９に読み出し、読み出したデータをホスト２２へ返却する。
【００４７】
追い出し処理部２１２は、リモート命令処理部２１４がリモート命令処理部１１４から追い出しコピー命令を受信した場合に、命令で指定されたページについて、リモートマスタボリューム２１５のデータをスナップショットボリューム２１６に書き込み、差分管理テーブル２１７１を差分データありに設定する。
【００４８】
コピーデータ書き込み部２１３は、リモート命令処理部２１４がリモート命令処理部１１４からリモートコピー命令を受信した場合に、受信したマスタボリューム１１５のデータをリモートマスタボリューム２１５に書き込み、参照テーブル２１７２のフラグをリセットする（０にする）。
【００４９】
リモート命令処理部２１４は、ローカルサイトのディスクアレイ装置１１からのリモート命令を受信し、命令に従った処理を起動し、レスポンスを返却する。リモート命令処理部２１４は、リモート命令処理部１１４からリモートコピー命令を受信した場合はコピーデータ書き込み部２１３を、追い出しコピー命令を受信した場合は追い出し処理部２１２を、リモートスナップショット作成命令を受信した場合はスナップショット作成部２１８をそれぞれ起動する。又、リモート命令処理部２１４は、Ｉ／Ｏ処理部２１１からマスタボリューム１１５の読み出しの要求を受けると、マスタボリュームリード命令をディスクアレイ装置１１に送信し、ディスクアレイ装置１１からマスタボリューム１１５のデータを受信しキャッシュページ２１９に書き込む。
【００５０】
リモートマスタボリューム２１５は、マスタボリューム１１５と同じサイズの論理ボリュームで、スナップショットボリューム２１６作成時のマスタボリューム１１５のデータイメージとなるようにマスタボリューム１１５のデータがコピーされる。
【００５１】
スナップショットボリューム２１６は、マスタボリューム１１５と同じサイズのボリュームで、ボリューム作成部２１８がスナップショット作成命令を受けて作成する。また、スナップショットボリューム２１６は、該作成されたスナップショットボリューム２１６以降のマスタボリューム１１５との差分データを保存する。
【００５２】
スナップショット管理情報２１７は、差分管理テーブル２１７１と参照テーブル２１７２を備える。
【００５３】
差分管理テーブル２１７１は、ディスクアレイ装置１１の差分管理テーブル１１６２と同じものである。
【００５４】
参照テーブル２１７２は、スナップショットボリューム２１６に差分データが存在しないアドレスを参照する場合にリモートマスタボリューム２１５を参照するかマスタボリューム１１５を参照するかをページ単位にフラグ（０、１）で管理する。参照テーブル２１７２は、フラグが立っている場合（１）はマスタボリューム１１５参照とし、フラグが立っていない場合（０）はリモートマスタボリューム２１５参照とする。図６に参照テーブル２１７２の例を示す。
【００５５】
ボリューム作成部２１８は、リモート命令処理部２１４がリモート命令処理部１１４からリモートスナップショット作成命令を受信した場合に新規にスナップショットボリューム２１６を作成し、リモートスナップショット作成命令の中に含まれるマスタボリューム１１５のコピーテーブル１１６３を参照テーブル２１７２にコピーする。また、ボリューム作成部２１８は、リモート命令処理部１１４からリモートマスタボリューム作成命令を受信した場合にはリモートマスタボリューム２１５を作成する。
【００５６】
キャッシュページ２１９は、Ｉ／Ｏ処理部２１１がホスト２２から受信したリード命令に対するリードデータを読み出すメモリであり、又、リモート命令処理部２１４がリモートコピー命令を受信した際に、マスタボリューム１１５のデータを一時的に保存するメモリである。
【００５７】
次に本実施の形態における動作ついて説明する。
【００５８】
本発明のスナップショットコピーを実現するためには、リモートマスタボリューム２１５とスナップショットボリューム２１６を作成する必要がある。
【００５９】
そこでまず、リモートサイトにリモートマスタボリューム２１５を作成する時の動作について図７を参照して説明する。
【００６０】
ディスクアレイ装置１１のスナップショット命令処理部１１２がホスト１２からリモートマスタボリューム作成命令を受信すると、リモート命令処理部１１４は、リモートマスタボリューム作成命令を作成し、リモートサイトのディスクアレイ装置２１にそれを送信する（Ｓ００−Ｓ０１）。
【００６１】
リモートサイトのリモート命令処理部２１４がリモートマスタボリューム作成命令を受信すると、ボリューム作成部２１８はディスクアレイ装置２１にリモートマスタボリューム２１５を作成しディスクアレイ装置１１にレスポンスを返却する（Ｓ１０−Ｓ１２）。
【００６２】
ローカルサイトのリモート命令処理部１１４がレスポンスを受信すると、スナップショット命令処理部１１２はボリューム対応テーブル１１６１に、作成したリモートマスタボリューム２１５を追加する（Ｓ０２−Ｓ０３）。
【００６３】
次にリモートサイトにスナップショットボリューム２１６を作成する時の動作について図８を参照して説明する。
【００６４】
ディスアレイ装置１１のスナップショット命令処理部１１２がホスト１２からリモートスナップショット作成命令を受信すると（Ｓ３０）、リモート命令処理部１１４はリモートスナップショット作成命令を作成しリモートサイトのディスクアレイ装置２１に送信する（Ｓ３１）。リモートスナップショット作成命令には、スナップショット命令処理部１１２がリモートスナップショット作成命令を受信した時点でのマスタボリューム１１５のコピーテーブル１１６３が含まれる。
【００６５】
リモートサイトのリモート命令処理部２１４がリモート命令処理部１１４からリモートスナップショット作成命令を受信すると（Ｓ４０）、ボリューム作成部２１８はディスクアレイ装置２１に新たなスナップショットボリューム２１６を作成する（Ｓ４１）。また、ボリューム作成部２１８は、受信したリモートスナップショット作成命令に含まれるコピーテーブル１１６３をスナップショットボリューム２１６の参照テーブル２１７２にコピーする（Ｓ４２）。参照テーブル２１７２へのコピーが完了すると、リモート命令処理部２１４はローカルサイトのディスクアレイ装置１１にレスポンスを返却する（Ｓ４３）。
【００６６】
ローカルサイトのリモート命令処理部１１４がリモートスナップショット作成命令に対するレスポンスを受信すると（Ｓ３２）、スナップショット命令処理部１１２はボリューム対応テーブル１１６１に新規に作成したスナップショットボリューム２１６を追加する（Ｓ３３）。
【００６７】
次に、マスタボリューム１１５へのライト処理の動作について図９を参照して説明する。
【００６８】
ディスクアレイ装置１１のＩ／Ｏ処理部１１１１は、ホスト１２からのライト命令を受信すると（Ｓ５０）、ボリューム対応テーブル１１６１を参照してライト対象のマスタボリューム１１５がリモートサイトにスナップショットコピー中であるか否かを判定する（Ｓ５１）。ライト対象のマスタボリューム１１５がリモートサイトにスナップショットコピー中でない場合（Ｓ５１、no）は、Ｉ／Ｏ処理部１１１１は、ライトデータをマスタボリューム１１５に書き込みホスト１２へレスポンスを返却（Ｓ６０、Ｓ６１）する。一方、ライト対象のマスタボリューム１１５がリモートサイトにスナップショットコピー中の場合（Ｓ５１、yes）には、Ｉ／Ｏ処理部１１１１は、ライトデータをワークキャッシュページ１１７にコピーする（Ｓ５２）。そして、追い出し要否判定部１１１２は差分管理テーブル１１６２を参照しスナップショットコピー中のスナップショットボリューム２１６に差分データが存在するか否かを調べ、スナップショットボリューム２１６に差分データが存在する場合（差分管理テーブル１１６２のフラグが１の場合）には追い出しコピーは不要とし、差分データが存在しない場合（差分管理テーブル１１６２のフラグが０の場合）には追い出しコピーが必要と判断する（Ｓ５３）。
【００６９】
追い出し要否判定部１１１２は、追い出しコピー不要と判断した場合には（Ｓ５３、不要）、ワークキャッシュページ１１７のライトデータをマスタボリューム１１５に書き込む（Ｓ６０）。マスタボリューム１１５への書き込みが完了したら、Ｉ／Ｏ処理部１１１１はホスト１２へレスポンスを返却する（Ｓ６１）。
【００７０】
一方、追い出し要否判定部１１１２が追い出しコピー必要と判断した場合には（Ｓ５３、必要）、リモートコピー要否判定部１１１３がコピーテーブル１１６３を参照する。リモートコピー要否判定部１１１３は、コピーテーブル１１６３がコピー必要（フラグが１）の場合には、追い出しコピー前にマスタボリューム１１５からリモートマスタボリューム２１５へのリモートコピーが必要と判定し、コピーテーブル１１６３がコピー不要（フラグが０）の場合にはコピー不要と判定する（Ｓ５４）。なお、上述のように、ここでリモートコピーが必要な場合とは、新たにスナップショットボリューム２１６が作成された際に、まだマスタボリューム１１５のデータとリモートマスタボリューム２１５のデータが一致していないアドレスに対してホスト１２からライト命令が来た場合（１回目のみ）である為、リモートコピー要否判定部１１１３はリモートコピー不要と判定する場合のほうが多い。
【００７１】
リモートコピー要否判定部１１１３は、追い出し要否判定部１１１２がリモートコピーが必要と判定した場合には、マスタボリューム１１５のデータをワークキャッシュページ１１７に読み出す（Ｓ５５）。マスタボリューム１１５のデータ読み出しが完了したら、リモート命令処理部１１４は、ワークキャッシュページ１１７に読み出したマスタボリューム１１５のデータをリモートサイトのリモートマスタボリューム２１５へコピーするためのリモートコピー命令を作成してリモートサイトのディスクアレイ装置２１に送信する（Ｓ５６）。
【００７２】
リモートサイトのディスクアレイ装置２１のリモート命令処理部２１４は、リモートコピー命令を受信する（Ｓ７０）と、受信したマスタボリューム１１５のデータをキャッシュページ２１９に書き込む（Ｓ７１）。そして、コピーデータ書き込み部２１３は、キャッシュページ２１９のマスタボリューム１１５のデータをリモートマスタボリューム２１５にコピーする（Ｓ７２）。次に、コピーデータ書き込み部２１３は、参照テーブル２１７２のフラグをリセット（０にする）して更新し、リモートマスタボリューム２１５参照とする（Ｓ７３）。
【００７３】
参照テーブル２１７２の更新が完了すると、リモートサイトのリモート命令処理部２１４はローカルサイトのディスクアレイ装置１１にレスポンスを返却する（Ｓ７４）。
【００７４】
リモートコピー命令受信からレスポンス返却までの処理（図９のステップＳ７０からＳ７４までの処理）を、「リモートサイトのリモートコピー処理」と呼ぶ。ローカルサイトのリモート命令処理部１１４がリモートコピー命令に対するレスポンスを受信すると（Ｓ５７）、追い出し要否判定部１１１２は追い出しページテーブル１１６４を追い出しあり（フラグを１）に設定する（Ｓ５８）。追い出しありの設定が完了したらＩ／Ｏ処理部１１１１はホスト１２へレスポンスを返却する（Ｓ６１）。
【００７５】
リモートコピー要否判定部１１１３は、リモートコピー不要と判断した場合には、コピーテーブル１１６３をコピー必要（フラグを１）に設定する（Ｓ５９）。コピーテーブル１１６３を設定したら、追い出し要否判定部１１１２は、追い出しページテーブル１１６４を追い出しあり（フラグを１）に設定する（Ｓ５８）。追い出しありの設定が完了したらＩ／Ｏ処理部１１１１は、ホスト１２へレスポンスを返却する（Ｓ６１）。
【００７６】
次にバックグラウンド動作について図１０、図１１を参照して説明する。
【００７７】
まず、追い出しページ検索処理について図１０を用いて説明する。追い出しページ検索部１１３１は定期的に追い出しページテーブル１１６４を検索して追い出しあり（フラグが１）のページを探索する（Ｓ８０）。
【００７８】
追い出しページ検索部１１３１が追い出しありのページを見つけたら（Ｓ８１、yes）、リモート命令処理部１１４は追い出しありページの追い出しコピー命令をリモートサイトのディスクアレイ装置２１に送信する（Ｓ８２）。
【００７９】
リモートサイトのディスクアレイ装置２１のリモート命令処理部２１４が追い出しコピー命令を受信すると（Ｓ９０）、追い出し処理部２１２はリモートマスタボリューム２１５の追い出しコピー命令で指示されたページのデータをスナップショットボリューム２１６へ書き込む（Ｓ９１）。
【００８０】
スナップショットボリューム２１６への書き込みが完了すると、追い出し処理部２１２は追い出しコピーページの差分管理テーブル２１７１を差分データありに設定（フラグを１に設定）する（Ｓ９２）。
【００８１】
差分管理テーブル２１７１の設定が完了すると、リモート命令処理部２１４はローカルサイトのディスクアレイ装置１１にレスポンスを返却する（Ｓ９３）。
【００８２】
ローカルサイトのリモート命令処理部１１４が追い出しコピー命令に対するレスポンスを受信すると（Ｓ８３）、追い出しページ検索部１１３１は追い出しコピーページの差分管理テーブル１１６２を差分データありに設定（フラグを１に設定）し（Ｓ８４）、追い出しページ検索部１１３１は追い出しページテーブル１１６４の追い出しありを解除する（フラグを０にする）（Ｓ８５）。
【００８３】
次に、リモートコピー検索処理について図１１を用いて説明する。
【００８４】
リモートコピー検索部１１３２は定期的にコピーテーブル１１６３のコピー必要（フラグが１）のページを探索する（ＳＡ０）。リモートコピー検索部１１３２はコピー必要のページを見つけると（ＳＡ１、yes）、差分管理テーブル１１６２をチェックする（ＳＡ２）。リモートコピー検索部１１３２は、差分管理テーブル１１６２が差分データありの場合にはすでにリモートマスタボリューム２１５からスナップショットボリューム２１６への追い出しコピーが完了しているので、マスタボリューム１１５からリモートマスタボリューム２１５へのリモートコピーは不要と判定する（ＳＡ３、yes）。一方、リモートコピー検索部１１３２は、差分管理テーブル１１６２が差分データなしの場合には、マスタボリューム１１５からリモートマスタボリューム２１５へのリモートコピーが必要と判定し、マスタボリューム１１５のデータをワークキャッシュページ１１７に読み出す（ＳＡ４）。
【００８５】
マスタボリューム１１５のデータ読み出しが完了すると、リモート命令処理部１１４はワークキャッシュページ１１７のマスタボリューム１１５のデータをリモートサイトのリモートマスタボリューム２１５へコピーするためのリモートコピー命令を作成し、リモートサイトのディスクアレイ装置に２１送信する（ＳＡ５）。
【００８６】
リモートサイトのリモート命令処理部２１４はリモートコピー命令を受信すると前述の「リモートサイトのリモートコピー処理（図９、Ｓ７０−Ｓ７４）」を実施し、レスポンスを返却する。ローカルサイトのリモート命令送信部１１４がリモートコピー命令に対するレスポンスを受信すると、リモートコピー検索部１１３２はコピーテーブル１１６３のフラグをリセットして（０にして）コピー不要に設定する（ＳＡ７）。
【００８７】
次にスナップショットボリューム２１６へのリード動作について図１２を参照して説明する。
【００８８】
ディスクアレイ装置２１のＩ／Ｏ処理部２１１は、ホスト２２からリード命令を受信すると（ＳＢ０）、リード範囲についてデータ読み出し先の判定を行う。まずＩ／Ｏ処理部２１１は、差分管理テーブル２１７１を参照して（ＳＢ１）、差分データありの場合には、読み出し先をスナップショットボリューム２１６と判定する（ＳＢ２、yes）。一方、差分データなしの場合には、Ｉ／Ｏ処理部２１１は参照テーブル２１７２を参照し（ＳＢ３）、フラグがオン（１）かオフ（０）かを判定する（ＳＢ４）。Ｉ／Ｏ処理部２１１は、参照テーブル２１７２のフラグがオフ（０）の場合には読み出し先をリモートマスタボリューム２１５とし、参照テーブル２１７２のフラグがオン（１）の場合には読み出し先をマスタボリューム１１５とする。Ｉ／Ｏ処理部２１１は、読み出し先を判定したら、判定した読み出し先のボリュームからキャッシュページ２１９にデータを読み出す（ＳＢ５-ＳＢ７）。ここで、読み出し先がローカルサイトのマスタボリューム１１５の場合には、リモート命令処理部２１４がマスタボリューム１１５へのリード命令を作成しローカルサイトのディスクアレイ装置１１へ送信する（ＳＢ６）。ローカルサイトのリモート命令処理部１１４はマスタボリュームリード命令を受信すると（ＳＣ０）、マスタボリューム１１５のデータをワークキャッシュページ１１７に読み出し（ＳＣ１）、読み出したデータをリモートサイトのディスクアレイ装置２１に送信する（ＳＣ２）。リモートサイトのリモート命令処理部２１４は受信したマスタボリューム１１５のデータをキャッシュページ２１９に書き込む（ＳＢ７）。リードデータの読み出しが完了するとＩ／Ｏ処理部２１１はキャッシュページ２１９のリードデータをホスト２２へ送信する（ＳＢ９）。
【００８９】
次に、本発明の本実施の形態における効果を説明する。
【００９０】
本発明の本実施の形態における第１の効果は、リモートサイトにスナップショットボリューム２１６を作成する際に、ローカルサイトのマスタボリューム１１５のデータをリモートサイトにすべてコピーして同期を取る必要がないことである。その理由は、ホスト２２がスナップショットボリューム２１６の差分データが存在しないアドレスを参照する際に、マスタボリューム１１５のデータがリモートサイトにコピーされていない場合は、マスタボリューム１１５のデータを参照するからである。
【００９１】
第２の効果は、リモートサイトにスナップショットコピー中であってもマスタボリューム１１５へのライト性能が低下しないことである。その理由は、マスタボリューム１１５からリモートサイトへのコピーをバックグラウンドで実施するとともに、マスタボリューム１１５へのライトに伴うスナップショットボリューム２１６への追い出し処理もバックグラウンドで実施するからである。
【００９２】
＜実施形態２＞
次に、本発明の第２の実施の形態について図１６を用いて説明する。
【００９３】
本実施の形態では、図１６に示されるように、ディスク装置はＩ／Ｏ処理部２１１、リモートマスタボリューム２１５、スナップショットボリューム２１６を備える。この構成により、第１のボリュームデータがコピーされる第２のボリュームと、前記第１のボリュームのスナップショットを保存し、前記第１のボリュームにデータの書き込みがあった後の前記第１のボリュームのデータと前記第１のボリュームの元のデータとの差分のデータのコピーを保存する第３のボリュームと、ホストが前記第３のボリュームに前記差分のデータが存在するアドレスのデータを読み出す場合には前記第３のボリュームからデータを読み出し、前記第３のボリュームに前記差分のデータが存在しないアドレスのデータを読み出す場合には、前記第１のボリュームから前記第２のボリュームへのコピーが完了していない場合には前記第１のボリュームからデータを読み出し、完了している場合には前記第２のボリュームからデータを読み出すＩ／Ｏ処理手段と、を備えるディスク装置が提供される。
【００９４】
本実施の形態によれば、マスタボリューム１１５とリモートマスタボリューム２１５の同期をとらずにリモートサイトに複数世代のスナップショットボリュームを作成することができるディスク装置、および、ディスク装置へのデータ複製方法、プログラムが提供される。その理由は、ホスト２２がスナップショットボリューム２１６の差分データが存在しないアドレスを参照する際に、マスタボリューム１１５のデータがリモートサイトにコピーされていない場合は、マスタボリューム１１５のデータを参照するからである。
【００９５】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【００９６】
１１    ディスクアレイ装置
１１１    Ｉ／Ｏ処理ユニット
１１１１    Ｉ／Ｏ処理部
１１１２    追い出し要否判定部
１１１３    リモートコピー要否判定部
１１２    スナップショット命令処理部
１１３    バックグラウンド処理部
１１３１    追い出しページ検索部
１１３２    リモートコピー検索部
１１４    リモート命令処理部
１１５    マスタボリューム
１１６    スナップショット管理情報
１１６１    ボリューム対応テーブル
１１６２    差分管理テーブル
１１６３    コピーテーブル
１１６４    追い出しページテーブル
１１７    ワークキャッシュページ
２１    ディスクアレイ装置
２１１    Ｉ／Ｏ処理部
２１２    追い出し処理部
２１３    コピーデータ書き込み部
２１４    リモート命令処理部
２１５    リモートマスタボリューム
２１６    スナップショットボリューム
２１７    スナップショット管理情報
２１７１    差分管理テーブル
２１７２    参照テーブル
２１８    ボリューム作成部
２１９    キャッシュページ
【図１】
2012058863.tif 000003
【図２】
2012058863.tif 000004
【図３】
2012058863.tif 000005
【図４】
2012058863.tif 000006
【図５】
2012058863.tif 000007
【図６】
2012058863.tif 000008
【図７】
2012058863.tif 000009
【図８】
2012058863.tif 000010
【図９】
2012058863.tif 000011
【図１０】
2012058863.tif 000012
【図１１】
2012058863.tif 000013
【図１２】
2012058863.tif 000014
【図１３】
2012058863.tif 000015
【図１４】
2012058863.tif 000016
【図１５】
2012058863.tif 000017
【図１６】
2012058863.tif 000018