(57)【要約】【課題】  スナップショット機能を利用し効率の良いリモートコピーの作成を行う。【解決手段】  Ａに示すように、スナップショット用のデータからリモートコピー用の差分データの第１のビットマップに変換する。この変換は、事前の適当な時期に行っておく。また、スナップショット機能のスプリット時には、Ｂに示すように、スナップショット用のデータの作成と同時に、新規差分データのカスケード差分データの第２のビットマップを作成する。このカスケード差分データの第２のビットマップは、上述のリモートコピー用の差分データの第１のビットマップと同形式で作成される。そして、Ｃに示すように、スナップショット機能のスプリット状態からペア状態への遷移時には、上述のカスケード差分データの第２のビットマップを、リモートコピー用の差分データの第１のビットマップに加算（論理和）して、この加算されたビットマップに基づいて、リモートコピーの作成を行う。【選択図】        図７
2005267569.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に接続され、前記上位装置からデータを受ける上位インターフェースと、
前記上位インターフェースに接続され、前記上位装置との間でやり取りされるデータ、および前記上位装置との間でやり取りされるデータに関する制御情報を保存するメモリと、
前記メモリに接続され、前記上位装置との間でやり取りされるデータを、前記メモリに読み書きするように制御する複数のディスクインターフェースと、
前記複数のディスクインターフェースに接続され、前記複数のディスクインターフェースの制御のもとに、前記上位装置から送られたデータが格納される複数のディスクドライブと、
前記複数のディスクドライブの記憶領域を用いて生成される第１の論理ボリュームへのデータの読み書きを制御し、前記第１の論理ボリュームに格納された過去のデータを世代毎の差分データとして第２の論理ボリュームに書き込むように制御し、前記第２の論理ボリュームに格納されている前記世代毎の差分データの関係を管理するスナップショット管理テーブルを前記メモリの領域に設けることによって前記差分データを管理する制御プロセッサと、
を有するストレージ装置であって、
前記スナップショット管理テーブルにより、特定の前記世代の仮想論理ボリュームを生成し、
前記仮想論理ボリュームを用いてリモートコピーの作成を行う
ことを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置において、
前記仮想論理ボリュームを更新する際に、前に作成された前記リモートコピーとの差分の生じた領域を示す第１のビットマップを作成し、
前記差分データを前記第２の論理ボリュームに書き込む際に、前記差分データの領域を示す第２のビットマップを作成する
ことを特徴とするストレージ装置。
【請求項３】
請求項２記載のストレージ装置において、
前記第１のビットマップは前記仮想論理ボリュームに関連して設け、
前記第２のビットマップを前記第２の論理ボリュームに関連して設ける
ことを特徴とするストレージ装置。
【請求項４】
請求項２記載のストレージ装置において、
前記リモートコピーの更新を行う際には、前記第１および第２のビットマップの論理和によって示される領域についてデータの更新を行う
ことを特徴とするストレージ装置。
【請求項５】
請求項４記載のストレージ装置において、
前記リモートコピーの更新を行う際には、前記第２のビットマップによって示される領域について前記メモリに保存されたデータも用いて更新を行う
ことを特徴とするストレージ装置。
【請求項６】
請求項２記載のストレージ装置において、
前記第２のビットマップは、前記リモートコピーを作成する体制のときにのみ設ける
ことを特徴とするストレージ装置。
【請求項７】
第１のロケーションに存在する第１のストレージ装置と、第２のロケーションに存在する第２のストレージ装置とを有する情報管理システムであって、
少なくとも前記第１のストレージ装置に、
上位装置に接続され、前記上位装置からデータを受ける上位インターフェースと、
前記上位インターフェースに接続され、前記上位装置との間でやり取りされるデータ、および前記上位装置との間でやり取りされるデータに関する制御情報を保存するメモリと、
前記メモリに接続され、前記上位装置との間でやり取りされるデータを、前記メモリに読み書きするように制御する複数のディスクインターフェースと、
前記複数のディスクインターフェースに接続され、前記複数のディスクインターフェースの制御のもとに、前記上位装置から送られたデータが格納される複数のディスクドライブと、
前記複数のディスクドライブの記憶領域を用いて生成される第１の論理ボリュームへのデータの読み書きを制御し、前記第１の論理ボリュームに格納された過去のデータを世代毎の差分データとして第２の論理ボリュームに書き込むように制御し、前記第２の論理ボリュームに格納されている前記世代毎の差分データの関係を管理するスナップショット管理テーブルを前記メモリの領域に設けることによって前記差分データを管理する制御プロセッサと、
を設け、
前記スナップショット管理テーブルにより、特定の前記世代の仮想論理ボリュームを生成し、
前記仮想論理ボリュームを用いて前記第２のストレージ装置にリモートコピーの作成を行う
ことを特徴とする情報管理システム。
【請求項８】
請求項７記載の情報管理システムにおいて、
前記仮想論理ボリュームを更新する際に、前に作成された前記リモートコピーとの差分の生じた領域を示す第１のビットマップを作成し、
前記差分データを前記第２の論理ボリュームに書き込む際に、前記差分データの領域を示す第２のビットマップを作成する
ことを特徴とする情報管理システム。
【請求項９】
請求項８記載の情報管理システムにおいて、
前記第１のビットマップは前記仮想論理ボリュームに関連して設け、
前記第２のビットマップを前記第２の論理ボリュームに関連して設ける
ことを特徴とする情報管理システム。
【請求項１０】
請求項８記載の情報管理システムにおいて、
前記第２のストレージ装置に作成された前記リモートコピーの更新を行う際には、前記第１および第２のビットマップの論理和によって示される領域についてデータの更新を行う
ことを特徴とする情報管理システム。
【請求項１１】
請求項１０記載の情報管理システムにおいて、
前記第２のストレージ装置に作成された前記リモートコピーの更新を行う際には、前記第２のビットマップによって示される領域について前記第１のストレージ装置のメモリに保存されたデータも用いて更新を行う
ことを特徴とする情報管理システム。
【請求項１２】
請求項８記載の情報管理システムにおいて、
前記第２のビットマップは、前記第２のストレージ装置に前記リモートコピーを作成する体制のときにのみ設ける
ことを特徴とする情報管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばホストコンピュータで作成され、ストレージ装置に書き込まれたデータのリモートコピーの作成に使用して好適なストレージ装置および情報管理システムに関する。詳しくは、いわゆるスナップショット機能を有するストレージ装置において、良好なリモートコピーの作成が行われるようにしたものである。
【背景技術】
【０００２】
いわゆるスナップショット機能を有しているストレージ装置において、多世代のデータを複数のストレージ装置で保存し、障害が発生した場合には、これらの保存されたデータを用いて円滑にリストアを行う手段が提案されている（例えば、特許文献１参照。）。
【０００３】
しかしながら、上述の特許文献１では、本発明が開示するスナップショット機能を有効に活用して、効率良くリモートコピーを作成する手段については、全く記載されていないものである。
【特許文献１】特開２００３−２４２０１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のストレージ装置において、リモートコピーを作成する場合には、例えばリモートコピーの対象となる記憶領域（正ボリューム）と同じデータの記憶される副ボリュームを形成し、副ボリュームからリモートコピーを作成することが行われている。しかしながらこの方法では、副ボリュームを形成するために正ボリュームと同じ記憶容量が必要となり、極めて大容量の記憶領域が要求される。
【０００５】
一方、いわゆるスナップショット機能を有しているストレージ装置においては、正ボリュームに対する読み書きが行われると、それ以前に記憶されていたデータをプール領域と呼ばれる記憶領域に保存し、さらにその保存データと元の正ボリュームとの関連をメモリ上に仮想ボリュームとして記憶することが行われている。これによれば、順次記憶される多世代のデータを少ない記憶容量で保存することができる。
【０００６】
そこで、このようなスナップショット機能を有しているストレージ装置において、リモートコピーを作成する場合には、メモリ上の仮想ボリュームに基づいてリモートコピーの更新を行うことができる。すなわち、上述の仮想ボリュームには読み書きの行われたデータに関する記載があり、これを参照してリモートコピーの書き換えを行うことにより、リモートコピーの更新を行うことができる。
【０００７】
ところが上述の仮想ボリュームは、例えばホストコンピュータのデータ処理の単位である６４ｋＢごとにスナップショットの有無と、アドレスを保存しているものであり、現実にどのデータにスナップショットが存在しているかを知ることはできない。したがって、このような仮想ボリュームからリモートコピーを作成する場合には、スナップショットの有無を示すマップを生成する必要があるが、その生成には多くの時間が必要とされる。
【０００８】
すなわち、上述のスナップショット機能を有しているストレージ装置において、リモートコピーを作成する場合には、メモリ上の仮想ボリュームに基づいてリモートコピーの更新を行うことができるものの、それを行うにはスナップショットの有無を示すマップを生成する必要があり、その生成には時間が掛かるために、全体として効率の良いリモートコピーの作成を行うことができなかった。
【０００９】
本発明はこのような点に鑑みて成されたものであって、発明が解決しようとする問題点は、スナップショット機能を有しているストレージ装置において、リモートコピーを作成する場合に、従来の装置では、全体として効率の良いリモートコピーの作成を行うことができなかったというものである。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、本発明においては、スナップショット管理テーブルにより仮想論理ボリュームを生成し、仮想論理ボリュームを用いてリモートコピーの作成を行うことを第１の手段とするものである。また、仮想論理ボリュームを更新する際に、リモートコピーとの差分の生じた領域を示す第１のビットマップを作成し、さらにスナップショットの差分データを書き込む際に、差分データの領域を示す第２のビットマップを作成することを第１の手段とするものである。
【発明の効果】
【００１１】
これにより、従来の装置では、スナップショット機能を有しているストレージ装置において、リモートコピーを作成する場合に、全体として効率の良いリモートコピーの作成を行うことができなかったものを、本発明によれば、第１のビットマップおよび第２のビットマップを作成することで、これらを用いて、効率の良いリモートコピーの作成を行うことができ、したがって従来の問題点を解消することができるものである。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明を説明するに、図１は本発明のストレージ装置を適用したディスクアレイ装置、およびそれを用いた本発明の情報管理システムの一実施形態の構成を示すブロック図である。
【００１３】
図１において、この実施形態のディスクアレイ装置１は、ディスクアレイコントローラ１０およびディスク２０を含んで構成される。また、ディスクアレイ装置１は、ＳＡＮ（Storage Area Network）２を介して複数のホスト３に接続されると共に、ＬＡＮ（Local Area Network）４を介して管理用端末装置５に接続されている。
【００１４】
ディスクアレイコントローラ１０は、制御プログラム１０３の動作によって、ディスク２０に対するデータの入出力を制御する。また、ディスク２０によってＲＡＩＤ（Redundant Array of Independent Disks）が構成されており、記憶されるデータに冗長性を持たせている。このため、ディスクの一部に障害が生じても、記憶されたデータが消失しないようになっている。
【００１５】
さらに、ディスクアレイコントローラ１０には、ＣＰＵ１０１、メモリ１０２、データ転送コントローラ１０４、フロントエンドインターフェース１０５、バックエンドインターフェース１０６、キャッシュメモリ１０７、及びＬＡＮインターフェース１０８が設けられている。
【００１６】
メモリ１０２には制御プログラム１０３（図２参照）が記憶されており、ＣＰＵ１０１が制御プログラム１０３を呼び出して実行することによって各種処理が行われる。データ転送コントローラ１０４は、ＣＰＵ１０１、フロントエンドインターフェース１０５、バックエンドインターフェース１０６、及びキャッシュメモリ１０７の間でデータを転送する。
【００１７】
フロントエンドインターフェース１０５は、ＳＡＮ２に対するインターフェースであって、例えば、ファイバチャネルプロトコルによって、ホスト３との間でデータや制御信号を送受信する。バックエンドインターフェース１０６は、ディスク２０に対するインターフェースであって、例えば、ファイバチャネルプロトコルによって、ディスク２０との間でデータや制御信号を送受信する。
【００１８】
キャッシュメモリ１０７には、フロントエンドインターフェース１０５とバックエンドインターフェース１０６との間で送受信されるデータが一時的に記憶されるキャッシュが設けられている。すなわち、データ転送コントローラ１０４は、ＳＡＮ４を介してディスクに読み書きされるデータをインターフェース１０５、１０６間で転送する。さらに、これらのディスクに読み書きされるデータをキャッシュメモリ１０７に転送する。
【００１９】
ＬＡＮインターフェース１０８は、ＬＡＮ４に対するインターフェースであって、例えば、ＴＣＰ／ＩＰプロトコルによって、管理用端末装置５との間でデータや制御信号を送受信することができる。ＳＡＮ２は、例えばファイバチャネルプロトコルのような、データの転送に適するプロトコルで通信可能なネットワークである。
【００２０】
ホスト３は、ＣＰＵ、メモリ、記憶装置、インターフェース、入力装置及び表示装置が備わるコンピュータ装置であり、ディスクアレイ装置１から提供されるデータを利用して、データベースサービスやウェブサービス等を利用可能にする。ＬＡＮ４は、ディスクアレイ装置１の管理用に用いられるもので、例えば、ＴＣＰ／ＩＰプロトコルによって、コンピュータ間でデータや制御情報を通信可能であり、例えばイーサネット（登録商標）が用いられる。
【００２１】
管理用端末装置５は、ＣＰＵ、メモリ、記憶装置、インターフェース、入力装置及び表示装置が備わるコンピュータ装置である。管理用端末装置５では管理プログラムが動作しており、該管理プログラムによってディスクアレイ装置１の動作状態を把握し、ディスクアレイ装置１の動作を制御する。
【００２２】
なお、管理用端末装置５ではｗｅｂブラウザ等のクライアントプログラムが動作しており、ディスクアレイ装置１からＣＧＩ（Common Gateway Interface）等によって供給される管理プログラムによってディスクアレイ装置１の動作を制御してもよい。
【００２３】
このようなディスクアレイ装置、およびそれを利用した情報管理システムにおいて、図２には、上述の制御プログラム１０３の一例を説明図で示す。
【００２４】
図２において、ホスト３の通常Ｉ／Ｏ処理プログラム３０１から送られたデータ入出力要求は、ディスクアレイ装置１の制御プログラム１０３のＲ／Ｗコマンド解析プログラム１１１によって解析され、スナップジョブプログラム１２１に送られる。スナップジョブプログラム１２１は、正ボリュームに対するデータ書き込み要求を受信すると、正ボリュームへのライト時に正ボリューム内の更新前のデータを、その格納場所であるプールボリュームに複写し、この複写後に正ボリュームの内容を更新する。
【００２５】
さらに、スナップジョブプログラム１２１は、データが更新された正ボリューム内のブロックに対応する仮想ボリューム内のブロックを、スナップショット生成要求の受信時点で正ボリューム内のブロックに対応する仮想ボリューム内のブロックを、スナップショット生成要求の受信時点で正ボリュームのデータ（すなわち更新前のデータ）が格納されているプールボリューム上のブロックと対応付けるようスナップショット管理テーブル（ＤＤＣＢ（Differential Data Control Block）２０４）を更新する。
【００２６】
また、スナップリストアジョブプログラム１２２は、スナップショットの副から正へリストア処理をするものである。
【００２７】
このようにして、ディスクアレイ装置１はスナップショットイメージを提供することが可能になる。そして、ホスト３が、通常Ｉ／Ｏ処理プログラム３０１によって、仮想ボリュームにアクセスすることによって、スナップショット生成要求発行時点での正ボリューム内の情報を利用することができる。
【００２８】
また、通常Ｉ／Ｏ処理プログラム３０１から送られた制御コマンドは、その他コマンド解析プログラム１１２によって解析され、構成情報制御プログラム１４０に送られる。構成情報制御プログラム１４０のペア情報管理プログラム１４１は、スナップショット生成要求を受信すると、まずスナップショット管理テーブルに新しい仮想ボリュームの識別情報を登録する。この仮想ボリュームのブロックは、最初はスナップショット管理テーブルによって、一対一で対応付けられている。
【００２９】
プールボリューム管理プログラム１４２は、後述するように、プール領域に登録されたボリュームの追加及び削除を管理する。プール管理プログラム１５０は、プールボリューム管理プログラム１４２に従ってプールそのものの管理を行う。また、ＷＥＢプログラム１６０は、ジョブをＷＥＢ上に展開するためのものである。
【００３０】
さらにディスクアレイ装置１の制御プログラム１０３に設けられるＲＡＩＤマネージャプログラム１１１は、ホスト３のＲＡＩＤマネージャプログラム３０２と通信可能に接続されている。このＲＡＩＤマネージャプログラム１２１、３０２によって、スナップショットの生成やリモートコピーの生成、ペア状態の変更などを行うことができる。
【００３１】
また、ＤＡＭＰインターフェースプログラム１２２は、管理用端末装置５のＤＡＭＰプログラム５０１と通信可能に接続されており、このＤＡＭＰインターフェースプログラム１２２によって、管理用端末装置５のＤＡＭＰプログラム５０１との通信が行われて、ディスクアレイ装置１のＲＡＩＤの構成を管理することができる。
【００３２】
さらに、このような装置を用いて、リモートコピーを行うには、図３のようなシステムが用いられる。図３において、ホストコンピュータ４０１に接続されるストレージ装置４０２には、正ボリューム４１１と複数のクイックシャドー４１２、４１３・・・４１ｎが設けられている。これらの複数のクイックシャドー４１２、４１３・・・４１ｎは、それぞれ例えば曜日ごとに分けて生成されるものである。
【００３３】
そして、これらの複数のクイックシャドー４１２、４１３・・・４１ｎに対して、それぞれ別のストレージ装置４０３、４０４・・・４０ｎが設けられ、これらのストレージ装置４０３、４０４・・・４０ｎにリモートコピーが行われる。
【００３４】
さらに、図４は、本発明の実施の形態のスナップショットの管理方法の説明図である。この図４において、正ボリューム２０１は、通常の運用に供され、ホスト３からのデータ入出力の対象となる論理ユニット（Ｐ−ＶＯＬ：Primary Volume）である。
【００３５】
スナップショット差分ビットマップ２０２は、キャッシュメモリ１０７の管理領域に設けられており、正ボリューム２０１のブロック（例えば、６４ｋバイト／ブロック）に対応するビットを有する。そして、正ボリューム２０１のブロックアドレスに対応する差分データがプールボリューム２０６に記録されている場合に、スナップショット差分ビットマップ２０２中の正ボリューム２０１に対応するビットが「１」となっている。このスナップショット差分ビットマップ２０２は、後述する正ボリュームアドレステーブル２０３及びＤＤＣＢ２０４と共にスナップショット管理テーブルを構成する。
【００３６】
したがって、正ボリューム２０１に対する書き込みが行われるときに、スナップショット差分ビットマップ２０２を参照することによって、更新前データをプールボリュームにコピーする必要があるかを判定することができる（すなわち、ビットが「１」であれば、スナップショット生成時のデータが既にプールボリューム２０６に書き込まれているので、正ボリューム２０１のデータをプールボリューム２０６にコピーする必要がない）。
【００３７】
さらに、正ボリュームアドレステーブル２０３は、正ボリュームの６４Ｋバイトごとにその差分データの有無と、差分データの位置に従った情報を持つもので、キャッシュメモリ１０７の管理領域に設けられており、スナップショット差分ビットマップ２０２のビットと対応してＤＤＣＢ２０４のアドレスが記録されている。
【００３８】
ＤＤＣＢ２０４は、プールボリュームと一対一で割り当てられており、キャッシュメモリ１０７の管理領域に設けられている。ＤＤＣＢ２０４は、プールボリューム２０６のブロック（例えば、６４ｋバイト／ブロック）毎に区切られて、その各々に管理テーブルが設けられている。この管理テーブルには、プールボリューム２０６のブロックに対応する位置に記録された差分データがどの世代のスナップショットのデータであるかが記録されたアドレスをたどることによって、複数世代の差分データを参照することができる。
【００３９】
なお、ＤＤＣＢ２０４の使用されていない領域は、空きキューとしてリンクが設定されている。そして、この空きキューの量はキャッシュメモリ１０７に設けられた空きキューカウンタ２０５によって管理されている。
【００４０】
プールボリューム２０６は、プール領域に登録されたボリュームによって構成される。このプールボリューム２０６によって、スナップショット作成時点における正ボリューム２０１のデータが論理的に複写されているように見せている。そして、プールボリューム２０６のデータがどの世代の差分データかはＤＤＣＢ２０４の世代管理ビットマップによって知ることができる。
【００４１】
よって、正ボリュームにデータを書き込むときは、まず、スナップショット差分ビットマップ２０２を参照して、更新前データをプールボリュームにコピーする必要があるかを判定する。そして、スナップショット差分ビットマップ２０２の対応ビットが「１」であれば、更新前データをプールボリュームにコピーする必要がないと判定し、正ボリュームにデータを書き込む。一方、スナップショット差分ビットマップ２０２の対応ビットが「０」であれば、更新前データをプールボリュームにコピーした後に、正ボリュームにデータを書き込む。
【００４２】
そして、正ボリュームのブロックに対応するＤＤＣＢ２０４のブロックに、新たに設定された差分データに対するリンクアドレスを設定する。そして、スナップショット差分ビットマップ２０２の対応ビットを「１」にし、プールボリューム２０６の当該更新前データを書き込んだアドレスに対応するＤＤＣＢ２０４の世代管理ビットマップを設定する。そして、必要に応じて正ボリュームアドレステーブル２０３に、ＤＤＣＢ２０４のブロックのアドレスを設定する。さらに、ＤＤＣＢ２０４の空きキューを使用したので、空きキューカウンタ２０５を更新する。
【００４３】
また、仮想ボリューム（Ｖ−ＶＯＬ：Virtual Volume) にアクセスするときには、正ボリュームアドレステーブル２０３を参照して、アクセス対象となる仮想ボリュームのブロックアドレス（正ボリュームのブロックアドレスに等しい）によってＤＤＣＢ２０４のアドレスを特定して、ＤＤＣＢ２０４の当該アドレスの世代管理ビットマップによって、アクセス対象の世代の差分データがあるかを特定する。
【００４４】
そして、所望の世代の差分データがあれば、当該ＤＤＣＢ２０４のアドレスに対応するプールボリューム２０６のアドレスから差分データを読み出して、仮想ボリュームのイメージを提供する。一方、所望の世代の差分データでなければ、他の差分データに対するリンクアドレスを参照して、所望の世代の差分データを探す。そして、いずれの差分データも所望の世代のものでなければ、現在、正ボリュームに記録されているデータを仮想ボリュームのデータとして提供する。
【００４５】
さらに、上述の構成では、スナップショット機能により作成された仮想ボリュームの実際のデータは、スナップショットの正ボリュームと差分データを格納するプールボリュームに存在する。そのため、仮想ボリュームからのリモートコピーを実現する場合、リモートコピーの実行時に、正ボリュームとプールボリュームを選択してコピーを行う必要がある。また、ホストインターフェースと同じ領域をコピーする場合は、ホストインターフェースと同時に動作しないようにする必要がある。
【００４６】
そこでデータ転送の処理は、図５に示すような手順で実行される。すなわち図５において、カーネル側からリモートコピーの管理部へ、データ転送制御が指示されると、リモートコピーデータ転送ジョブが生成される。このリモートコピーデータ転送ジョブでは、最初に手順(１)としてスナップショット用資源の確保が行われ、手順(２)としてスナップショットのリードボリュームの判定（正ボリュームか仮想ボリュームか)が行われる。
【００４７】
さらに手順(３)として、ヒットかミスかの判定が行われ、ここでミスありのときは、手順(４)でステージングジョブ生成の指示がカーネル側に行われる。これによりカーネル側の機能として、ステージングジョブが実行される。
【００４８】
また、手順(３)で全てヒットのときは、手順(５)でリモートコピー用資源が確保され、手順(６)でリモートコピーコマンドがホスト制御によって発行される。これによって、副ボリューム側に対するリモートコピーの書き込みが行われる。
【００４９】
そして書き込みが終了すると、手順(７)でリモートコピー用およびスナップショット用の資源が解放され、手順(８)で結果報告が行われる。以後、スリープ状態とされ、次のジョブ開始時に手順(１)から繰り返される。
【００５０】
上記の手順により、リモートコピーの差分データから次にコピーされる仮想ボリュームのアドレスが決定され、そのアドレスとスナップショット機能の差分データから、仮想ボリュームのデータが正ボリュームとプールボリュームのどちらにあるか判定する。そして、正ボリューム側にデータがある場合は、コピーの高速化のため大きなサイズ（ストライプ列単位）でコピーを行い、データの先読みも起動して、ディスクのインターフェース待ちにならずにコピーを行えるようにすることができる。
【００５１】
また、データがプールボリューム側にある場合は、スナップショット機能の差分の管理単位が６４ＫＢなので、６４ＫＢ単位にディスクから読み出しを行い、バップアップコピー側へコピーを行う。なお、プールボリュームの場合は、通常連続してデータが配置されないため、先読みは行わない。また、スナップショットの正ボリュームからコピーの場合に、正ボリュームへのホストインターフェースと同じ領域にアクセスする場合があるため、コピー範囲に対してロックを行い、ホストインターフェースとの排他を行う。
【００５２】
このようにして、スナップショット機能を有しているストレージ装置において、リモートコピーを作成する場合に、全体として効率の良いリモートコピーの作成を行うことができる。
【００５３】
また、図６には、書き込み処理のシーケンスを示す。図６において、最初に書き込みコマンドジョブが生成され、ここでは、対象ボリュームのペア状態のチェックが行われて、コピージョブが生成される。
【００５４】
そしてコピージョブでは、プール資源確保のために、正ボリュームの書き込みデータの可否が判定される。また、スナップショット用のセグメントが確保され、ステージングが行われる。なおこの際に、前に作成されたリモートコピーとの差分の生じた領域を示す第１のビットマップと、差分データの領域を示す第２のビットマップの何れか一方が作成される。
【００５５】
さらにステージングジョブでは、対象範囲のステージングが行われ、終了の報告が行われる。そして再びコピージョブで、スナップショット差分ビットマップ２０２のコピー済みのビットがオンにされて、コピージョブの終了が報告される。さらに再び書き込みコマンドジョブで、ステータスが送信され、スナップショット用の資源が解放される。
【００５６】
そしてこの装置において、スナップショット機能とリモートコピー機能とでそれぞれ差分管理を行う必要があるが、それぞれの差分管理を連携させる必要がある。また、スナップショット機能では、スプリット状態からペア状態への遷移を瞬時に終了させる必要があるが、スプリット状態でセットされたスナップショット機能の差分データをリモートコピーへの差分データへ瞬時に適用することは管理上難しい。
【００５７】
すなわち、上述の装置においては、リモートコピー機能では差分管理用データの容量削減のため、１ＭＢ単位で差分を管理しているが、スナップショット機能では差分の管理単位がホスト性能に直結するため６４ＫＢ単位で差分を管理している。これはスナップショット機能では、ホストインターフェースがたとえ１ＫＢのコマンドでもホストのＩ／Ｏごとに差分管理の単位のコピーが発生するためである。
【００５８】
また、スナップショット機能では、正ボリュームと仮想ボリュームの関係は１：ｎの関係のため、差分管理が複雑になっている。そのため、上記の差分サイズを意識して差分ビットをセットする必要がある。さらに、スナップショット機能の差分データのリモートコピーの差分データへの適用時には、スプリット状態からペア状態への遷移時に瞬時に処理を終わらす必要があるが、上記のようにスナップショット側の差分データの形式が異なるため、リモートコピー側の差分データへそのまま適用できない。
【００５９】
そこで上述の装置では、リモートコピー用に別途新たな差分データ（カスケード差分：元々あるリモートコピー用差分データと同形式）を作成し、スナップショットの差分設定時に、同時にリモートコピーのカスケード差分もセットする。これにより、スプリット状態からペア状態への遷移時に、リモートコピーのカスケード差分をリモートコピーの差分データに加算することにより、瞬時に処理を終了させることができる。
【００６０】
すなわち図７において、図７のＡに示すように、差分データの６４ＫＢごとに作成されているスナップショット用のデータから、１ＭＢごとのリモートコピー用の差分データの第１のビットマップに変換するのには、その変換処理時間が大きく必要とされる。そこで、このようなデータの変換は、例えば仮想論理ボリュームの更新に合わせて行っておく。
【００６１】
また、スナップショット機能のスプリット時には、図７のＢに示すように、差分データの６４ＫＢごとに作成されているスナップショット用のデータの作成と同時に、新規差分データのカスケード差分データの第２のビットマップを作成する。このカスケード差分データの第２のビットマップは、上述の１ＭＢごとのリモートコピー用の差分データの第１のビットマップと同形式で作成される。
【００６２】
そして、図７のＣに示すように、スナップショット機能のスプリット状態からペア状態への遷移時には、上述のカスケード差分データの第２のビットマップを、リモートコピー用の差分データの第１のビットマップに加算（論理和）して、この加算されたビットマップに基づいて、リモートコピーの作成を行う。
【００６３】
さらに、図８を用いて、上述の図３の一つのクイックシャドーから他のストレージ装置へのリモートコピーに関し、本発明の実際的な動作について説明する。図８において、正ボリューム１０００への書き込みが行われると、書き込み以前のデータがプールボリューム２０００に転記されると共に、その情報がスナップショットデータの記憶部２００１に記憶される。それと同時に、その差分の生じた領域のビットマップがカスケード差分の第２のビットマップ２００２として作成される。
【００６４】
このスプリット状態から、正ボリューム１０００と仮想ボリューム３０００がペア状態にされると、仮想ボリュームに３０００に、正ボリューム１０００とプールボリューム２０００の対応関係の情報が記憶されると共に、その差分の生じた領域のビットマップが差分データの第１のビットマップ２００３として加算される。なおこの加算の後、スナップショットデータの記憶部２００１とカスケード差分の第２のビットマップ２００２の情報は消去される。
【００６５】
そして、リモートコピーの作成時には、加算された第１のビットマップ２００３の情報に基づいて、リモートコピーボリューム４０００へのデータのリモートコピーが行われる。なおこのコピーが行われた後、第１のビットマップ２００３の情報は消去される。
【００６６】
したがってこの実施形態において、前に作成されたリモートコピーとの差分の生じた領域を示す第１のビットマップと、スナップショット機能の差分データの領域を示す第２のビットマップを作成することによって、スナップショット機能を有しているストレージ装置において、リモートコピーを作成する場合に、全体として効率の良いリモートコピーの作成を行うことができる。
【００６７】
これによって、従来の装置では、スナップショット機能を有しているストレージ装置において、リモートコピーを作成する場合に、全体として効率の良いリモートコピーの作成を行うことができなかったものを、本発明によれば、第１のビットマップおよび第２のビットマップを作成することで、これらを用いて、効率の良いリモートコピーの作成を行うことができ、したがって従来の問題点を解消することができるものである。
【００６８】
なお、上述の実施形態において、リモートコピーの更新を行う際には、第２のビットマップによって示される領域についてメモリに保存されたデータも用いて更新を行うようにする。これによって、いわゆるストレージ装置において、キャッシュメモリを設け、このキャッシュメモリに書き込まれた段階でホストコンピュータに書き込み終了を報告しているような装置においても、本発明を適用することができる。
【００６９】
また、上述の実施形態において、第２のビットマップは、リモートコピーを作成する体制のときにのみ設けるものとする。これによって、例えば複数の仮想ボリュームを設けて、特定の期間ごとにそれらの仮想ボリュームを順番に用いているようなシステムにおいては、仮想ボリュームの更新を行わない期間は、差分データのビットマップを作らないことで、システム全体の記憶容量の削減を図ることができる。
【００７０】
さらに本発明は、上述の説明した実施形態に限定されるものではなく、本発明の精神を逸脱することなく種々の変形が可能とされるものである。
【図面の簡単な説明】
【００７１】
【図１】本発明の実施の形態のディスクアレイ装置のブロック図である。
【図２】本発明の実施の形態の制御プログラムの説明図である。
【図３】本発明の実施の形態のリモートコピーの説明図である。
【図４】本発明の実施の形態のプールボリュームの管理方法の説明図である。
【図５】本発明の実施の形態のデータ転送の処理の手順を示すシーケンス図である。
【図６】本発明の実施の形態の書き込み処理のシーケンス図である。
【図７】本発明の実施の形態のビットマップの加算処理の説明図である。
【図８】本発明の実施の形態の書き込み処理の説明図である。
【符号の説明】
【００７２】
１…ディスクアレイ装置、２…ＳＡＮ、３…ホスト、４…ＬＡＮ、５…管理用端末装置、１０…ディスクアレイコントローラ、２０…ディスク、１０１…ＣＰＵ、１０２…メモリ、１０３…制御プログラム、１０４…データ転送コントローラ、１０５…フロントエンドインターフェース、１０６…バックエンドインターフェース、１０７…データバッファ、１０８…ＬＡＮインターフェース
【図１】
2005267569.tif 000003
【図２】
2005267569.tif 000004
【図３】
2005267569.tif 000005
【図４】
2005267569.tif 000006
【図５】
2005267569.tif 000007
【図６】
2005267569.tif 000008
【図７】
2005267569.tif 000009
【図８】
2005267569.tif 000010