(57)【要約】【課題】データの二重化を図る際に、システム設計の煩雑性が無く、回線状況に左右されないデータ転送が可能であり、且つ、被災時等のリカバリを容易に行えるようにする。【解決手段】第１のボリュームに対する更新指示に基づいて、コピー指示を受信してから所定のコマンドを受信するまでの間の第１のボリュームの更新状況を管理する第１の管理テーブル３１を用いて、第１のボリュームに対する更新を制御する更新制御部３３ａ，３３ｂと、第１の管理テーブル３１の更新状況に基づいて第１のボリュームの更新データを第２のボリュームに転送する転送制御部３４ａ，３４ｂとを備え、更新制御部３３ａ，３３ｂが、所定のコマンドを受信すると、第１の管理テーブル３１に代えて、所定のコマンド受信後の第１のボリュームに対する更新状況を管理する第２の管理テーブル３２を用いて、第１のボリュームに対する更新を制御するように構成する。【選択図】図２
2010026563.tif 000002
【特許請求の範囲】
【請求項１】
上位装置に接続される第１のボリュームに記憶されるデータを第２のボリュームにコピーするストレージシステムであって、
前記上位装置からの前記第１のボリュームに対する更新指示に基づいて、前記上位装置からのコピー指示を受信してから所定のコマンドを受信するまでの間の前記第１のボリュームの更新状況を管理する第１の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する更新制御部と、
前記第１の管理テーブルの更新状況に基づいて前記第１のボリュームの更新データを前記第２のボリュームに転送する転送制御部とを備え、
前記更新制御部は、
前記所定のコマンドを受信すると、前記第１の管理テーブルに代えて、前記所定のコマンド受信後の前記第１のボリュームに対する更新状況を管理する第２の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する事を特徴とするストレージシステム。
【請求項２】
前記更新制御部は、
前記所定のコマンドの受信前に前記第１のボリュームに対する更新が行われた場合、前記第１の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新し、
前記所定のコマンドの受信後に前記第１のボリュームに対する更新が行われた場合、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新する事を特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御部は、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を維持したまま、前記第１のボリュームの転送対象領域に対する更新処理を行うことを特徴とする請求項１または２に記載のストレージシステム。
【請求項４】
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御部は、前記転送処理部が前記転送対象領域のデータを第２のボリュームに転送した後に、前記第１のボリュームに対して更新処理を行うと共に前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新する事を特徴とする請求項１または２に記載のストレージシステム。
【請求項５】
前記管理テーブルにステータス情報を備え、
前記更新制御部は、前記所定のコマンドを受信すると前記ステータス情報を第１のステータスに変更し、前記第１の管理テーブルに基づく転送が完了すると前記ステータス情報を第２のステータスに変更することを特徴とする請求項１〜４のいずれか１項に記載のストレージシステム。
【請求項６】
前記上位装置から転送状況確認コマンドを受信すると前記ステータス情報に基づいて、前記上位装置に対して、転送状況に関する応答を返すステータス情報通知部をさらに備えたことを特徴とする請求項５に記載のストレージシステム。
【請求項７】
前記ステータス情報が第１のステータスを示す期間に、前記上位装置より前記所定のコマンドを受信すると、前記更新制御部は、前記第２の管理テーブルの情報を前記第１の管理テーブルにマージし、前記第２の管理テーブルを初期化することを特徴とする請求項６に記載のストレージシステム。
【請求項８】
上位装置に接続される第１のボリュームに記憶されるデータを第２のボリュームにコピーするストレージシステムのコピー制御方法であって、
前記上位装置からの前記第１のボリュームに対する更新指示に基づいて、前記上位装置からのコピー指示を受信してから所定のコマンドを受信するまでの間の前記第１のボリュームの更新状況を管理する第１の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する更新制御ステップと、
前記第１の管理テーブルの更新状況に基づいて前記第１のボリュームの更新データを前記第２のボリュームに転送する転送制御ステップとを備え、
前記更新制御ステップにおいて、
前記所定のコマンドを受信すると、前記第１の管理テーブルに代えて、前記所定のコマンド受信後の前記第１のボリュームに対する更新状況を管理する第２の管理テーブルを用いて、前記第１のボリュームに対する更新が制御される事を特徴とするストレージシステムのコピー制御方法。
【請求項９】
上位装置に接続される第１のボリュームに記憶されるデータを第２のボリュームにコピーするストレージシステムのコピー制御部であって、
前記上位装置からの前記第１のボリュームに対する更新指示に基づいて、前記上位装置からのコピー指示を受信してから所定のコマンドを受信するまでの間の前記第１のボリュームの更新状況を管理する第１の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する更新制御部と、
前記第１の管理テーブルの更新状況に基づいて前記第１のボリュームの更新データを前記第２のボリュームに転送する転送制御部とを備え、
前記更新制御部は、
前記所定のコマンドを受信すると前記第１の管理テーブルに代えて前記所定のコマンド受信後の前記第１のボリュームに対する更新状況を管理する第２の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する事を特徴とするストレージシステムのコピー制御部。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶装置（記憶ボリューム）を有するストレージシステムにおいて、複数の記憶ボリューム間でバックアップやミラーリングのためにデータのコピーを行うための技術に関する。
【背景技術】
【０００２】
従来から、Redundant Arrays of Inexpensive Disks（ＲＡＩＤ）装置等のディスクアレイ装置において、バックアップやミラーリングのために、別筐体である他のディスクアレイ装置にデータをコピーしてデータの二重化（同期；Equivalent Copy）を行う技術がある。
このデータの二重化処理は、ディスクアレイ装置の上位装置であるホストからの指示に基づいて行われる。そのコピー手法として、ホストからの二重化（コピー）の指示に対する完了報告を、実際の二重化処理の完了とは非同期にホストに対してすぐに応答し、その後、実際の二重化処理を行う非同期方式がある（例えば、特許文献１，２参照）。
【０００３】
一般的に、非同期のコピー方式（非同期ＲＥＣ（Remote Equivalent Copy）機能）には、スタックモード（stack mode）及びコンシステンシィモード（consistency mode）の２つのモードがある。
スタックモードは、コピー元への書込みが行われたら、更新部分を記録し、ホストにその書込みに対する応答を返す。そして、コピー先へのデータ転送は、上記書込み等のＩ／Ｏ処理の中では行わず、バックグラウンドで動作しているコピーデータ転送処理により行う。このように、スタックモードは、ホストからのＩ／Ｏ処理（以下、単にＩ／Ｏともいう）に係わらずコピーデータ転送処理を行うので、コピー先ボリュームへの書込み順序は保証されない。
【０００４】
コンシステンシィモードは、制御モジュール単位でコピーデータを保持するためのバッファを設け、コピー元への書込みが行われたら、そのコピーデータをバッファに一時的に格納する。そして、一定時間後もしくはバッファフルになったらバッファ単位でコピー先にデータを転送し、コピー先で格納された順番でコピー先の該当域に反映する。これにより、コンシステンシィモードは、コピー先への書込み順序を保証する。
【０００５】
このように、コンシステンシィモードはコピー先への書込み順序、即ち、コピー先への反映が順序保証されているので、スタックモードと比べてミラーリングのコピーとして優位な手法である。
【特許文献１】特開平７−２６２０７０号公報
【特許文献２】特開２００１−１３４４８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、コンシステンシィモードは、コピー元からコピー先へのデータ転送量が、コピー元へのＩ／Ｏ量（書込み量）に応じて変化するので、筐体間のリモート回線帯域も、そのデータ転送量に見合った帯域を用意する必要がある。
また、コンシステンシィモードは、コピー元へのＩ／Ｏを一時的に蓄積するためのバッファの容量もコピー元へのＩ／Ｏ量を見積もって設定する必要があり、システム設計上煩雑な点が多い。
【０００７】
一方、スタックモードは、Ｉ／Ｏとは非同期でコピーデータ転送処理が独立して機能するので、バッファは不要であるとともに回線状況に左右されない利点がある。
ところで、コピー実施中（コピーデータ転送中）に、コピー元のディスクアレイ装置が被災したときのリカバリについては、バッファ単位で順序性を保障して送信しているコンシステンシィモードの方がスタックモードよりも容易である。つまり、スタックモードは上述したように順序性を保障していないので、データ転送中での被災時は、コピー先がどのような状態か保障されていない。
【０００８】
このように、従来のスタックモード及びコンシステンシィモードには、それぞれ、利点と欠点がある。
本発明は、このような課題に鑑み創案されたもので、複数の記憶領域（例えば複数のディスクアレイ装置）間においてデータをコピーしてデータの二重化を図る際に、システム設計の煩雑性が無く、回線状況に左右されないデータ転送が可能であり、且つ、被災時等のリカバリを容易に行えるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、このストレージシステム，ステップシステムのコピー制御方法，及びストレージシステムのコピー制御部は、更新制御部が、上位装置からの第１のボリュームに対する更新指示に基づいて、上位装置からのコピー指示を受信してから所定のコマンドを受信するまでの間の第１のボリュームの更新状況を管理する第１の管理テーブルを用いて、第１のボリュームに対する更新を制御する（更新制御ステップ）。また、転送制御部が、第１の管理テーブルの更新状況に基づいて第１のボリュームの更新データを第２のボリュームに転送する（転送制御ステップ）。さらに、更新制御部が、所定のコマンドを受信すると、第１の管理テーブルに代えて、所定のコマンド受信後の第１のボリュームに対する更新状況を管理する第２の管理テーブルを用いて、第１のボリュームに対する更新を制御する（更新制御ステップ）。
【発明の効果】
【００１０】
このように、上述したストレージシステム，ストレージシステムのコピー制御方法，及びストレージシステムのコピー制御部によれば、所定のコマンド受信前用の第１の管理テーブルと、所定のコマンド受信後用の第２の管理テーブルとを用いる。具体的には、転送制御部は、第１の管理テーブルに基づいて、上位装置からのコピー指示に基づくデータ転送を実行する。さらに、更新制御部が、所定のコマンドを受信すると、第１の管理テーブルに代えて、第２の管理テーブルを用いて、第１のボリュームに対する更新を制御する。
【００１１】
したがって、複数のボリューム間でデータをコピーしてデータの二重化を図る際に、所定のコマンドに基づいて、コピー済みデータの保証を確実にとることができる。そのため、被災時等のリカバリを容易に行うことができる。
また、第１の管理テーブル及び第２の管理テーブルに基づいてコピー処理（データ転送）を実行するので、上位装置からのＩ／Ｏとは非同期でコピー処理を実行することができ、回線状況に左右されないデータ転送が可能である。さらに、従来のコンシステンシィモードのようにコピー処理専用のバッファが不要であるので、システム設計の煩雑性が無い。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の第１実施形態について
まず、図１に示すブロック図を参照しながら、本発明の第１実施形態としてのストレージシステム（以下、本ストレージシステムという）１ａについて説明する。本ストレージシステム１ａは、それぞれ上位装置としてのホスト２，３に接続された２つのディスクアレイ装置（例えばＲＡＩＤ装置）１０，２０から構成されている。
【００１３】
ここでは、ディスクアレイ装置１０をコピー元筐体とし、ディスクアレイ装置２０をコピー先筐体とする。
ディスクアレイ装置１０，２０は、それぞれ、複数の制御部（図中“ＣＭ（Centralized Module）”と表記；以下、ＣＭという）１１−１〜ｎ，２１−１〜ｎ（ここでが、ｎは３以上の整数）を備えている。
【００１４】
各ＣＭ１１−１〜ｎ，２１−１〜ｎ（以下、これらを区別しない場合にはＣＭ１１，２１という）は、それぞれに接続されたディスク装置１２，２２に保持されたデータを処理対象とする対応するホスト２，３からのＩ／Ｏ要求（アクセス要求；リード／ライト要求）に応じて、ディスク装置１２，２２に対する処理を行う。
なお、図１において、ディスク装置１２，２２は、図の簡略化のためにディスクアレイ装置１０，２０毎に一つしか示していないが、実際には各ＣＭ１１，２１に対して、後述するファイバチャネルに対応して複数のディスク装置１２，２２が接続されている。
【００１５】
各ＣＭ１１，２１は、チャネルアダプタ（Channel Adapter；以下、ＣＡという）１３，２３、リモートアダプタ（Remote Adapter；以下、ＲＡという）１４，２４、ファイバチャネル（Fibre Channel；以下、ＦＣという）１５−１，１５−２，２５−１，２５−２、Central Processing Unit（ＣＰＵ）１６，２６、及びキャッシュメモリ（図中“Cache”と表記）１７，２７を備えている。
【００１６】
ＣＡ１３，２３は、それぞれ、ホスト２とＣＭ１１及びホスト３とＣＭ２１とのインタフェース制御を行うものである。
ＲＡ１４，２４は、それぞれ、ディスクアレイ装置１０，２０間のインタフェース制御を行うものである。
ＦＣ１５−１，１５−２，２５−１，２５−２（以下、これらを区別しない場合にはＦＣ１５，２５という）は、ＣＭ１１とディスク装置１２及びＣＭ２１とディスク装置２２との間のインタフェース制御を行うものである。
【００１７】
ＣＰＵ１６，２６は、それぞれ、データ処理を実行するものである。
キャッシュメモリ１７，２７は、それぞれ、ユーザデータや制御データを格納するものである。
そして、本ストレージシステム１ａは、ホスト２からの指示に応じて、あるいは、自動的にディスクアレイ装置１０の所定のディスク内の所定のコピー（二重化）対象領域のデータを、コピー先のディスクアレイ装置２０の所定のディスク内の所定の領域にコピーする。
【００１８】
ここで、本ストレージシステム１ａにおけるコピー制御の概要を説明すると、本ストレージシステム１ａは、二重化のためのデータコピーを行っている最中にコピー元に対してチェックポイント（チェックポイント指示コマンド）を投入し、そのチェックポイントまでコピーできているかを確認することで、コピー先にデータが反映されたか否かを確認できるようにする。
【００１９】
より具体的には、本ストレージシステム１ａは、基本的には上述したスタックモードに準拠した転送方法でデータ転送を実行する。そして、チェックポイントまでのデータ転送を保障するために、コピーを制御するビットマップを２つ設け、一方のビットマップ（後述する第１ビットマップ３１）をチェックポイント投入直前までの更新データ管理用に使用し、他方のビットマップ（後述する第２ビットマップ３２）をチェックポイント投入後の更新データ管理用に使用する。チェックポイント発行後は、前者のビットマップをもとにデータ転送を行うことでチェックポイントまでのデータ転送とデータ転送確認とを実現する。なお、データ転送中のデータ更新の管理は、後者のビットマップにより実行する。これにより、データリカバリが必要な場合は、データ転送確認ができているチェックポイントまでのリカバリが可能になる。
【００２０】
ここで、図２に本ストレージシステム１ａの各ディスクアレイ装置１０のＣＭ１１が備えるコピー制御部３０ａの機能構成を示す。なお、コピー先であるディスクアレイ装置２０もコピー制御部３０ａを備えていてもよいが、コピー先として機能する間はコピー制御部３０ａが使用されることはなく、ディスクアレイ装置２０がコピー元として機能する場合に使用される。
【００２１】
図２に示すように、コピー制御部３０ａは、ディスクアレイ装置１０のディスク装置１２の所定の記憶領域（コピー元記憶領域；第１のボリューム）に記憶されたデータの、ディスクアレイ装置２０のディスク装置２２の所定の記憶領域（コピー先記憶領域；第２のボリューム）に対するコピーを制御するものであり、第１ビットマップ（第１の管理テーブル）３１，第２ビットマップ（第２の管理テーブル）３２，更新制御部３３ａ，転送制御部３４ａ，及びステータス情報通知部３５を備えている。
【００２２】
なお、コピー制御部３０ａは、ディスクアレイ装置１０においては、ＣＰＵ１６及びキャッシュメモリ１７によって実現され、ディスクアレイ装置２０においてはＣＰＵ２６及びキャッシュメモリ２７によって実現される。
つまり、第１ビットマップ３１及び第２ビットマップ３２は、キャッシュメモリ１７，２７によってそれぞれ実現され、更新制御部３３ａ，転送制御部３４ａ，及びステータス情報通知部３５は、ＣＰＵ１６，２６によってそれぞれ実現される。なお、更新制御部３３ａ，転送制御部３４ａ，及びステータス情報通知部３５、並びに、後述する第２実施形態の更新制御部３３ｂ及び転送制御部３４ｂは、ＣＰＵ１６，２６が所定のソフトウェア（例えば後述するコピー制御プログラム）を実行することによって実現されてもよい。
【００２３】
第１ビットマップ３１及び第２ビットマップ３２は、それぞれ、対応するディスク装置１２，２２のコピー元記憶領域またはコピー先記憶領域に対応したものである。つまり、第１ビットマップ３１及び第２ビットマップ３２上の一つのデータ（“０”もしくは“１”）は、コピー元記憶領域あるいはコピー先記憶領域内の所定部分に対応し、第１ビットマップ３１及び第２ビットマップ３２上のすべてのデータが、それぞれ、コピー元記憶領域またはコピー先記憶領域のすべてに対応する。
【００２４】
第１ビットマップ３１は、ホスト２からのコピー（二重化）指示に基づいて、バックアップあるいはミラーリングのためのデータのコピー処理（Remote Equivalent Copy（ＲＥＣ））を開始後、チェックポイントをホスト２から受信するまでの間、あるいは、あるチェックポイントを受信後に他のチェックポイントを受信した場合にその他のチェックポイントを受信するまでの間のディスク装置１２のコピー元記憶領域のデータの更新状況を管理するものである。
【００２５】
ここでは、第１ビットマップ３１のコピー処理が未完了のコピー元記憶領域、もしくは、データ更新されたコピー元記憶領域に対応する部分が“１”となり、コピー処理が完了したコピー元記憶領域に対応する部分が“０”となる。
なお、第１ビットマップ３１及び第２ビットマップ３２の内容は、更新制御部３３ａによって制御される。
【００２６】
第２ビットマップ３２は、チェックポイントをホスト２から受信した後、次にチェックポイントを受信するまでの間、ディスク装置１２のコピー先記憶領域のデータの更新状況を管理するものである。
ここでは、第２ビットマップ３２は、データの更新がされたコピー先記憶領域に対応する部分が“１”となり、データの更新が行われていないコピー先記憶領域に対応する部分は“０”が維持される。
【００２７】
以下、更新制御部３３ａ，転送制御部３４ａ，及びステータス情報通知部３５のそれぞれの詳細について、これらがディスクアレイ装置１０に設けられた場合について説明する。
更新制御部３３ａは、ホスト２からのコピー元記憶領域に対する更新指示（ライト要求）に基づいて、ホスト２からのコピー指示（ＲＥＣ指示）を受信してからチェックポイントを受信するまでの間、第１ビットマップ３１を用いて、コピー元記録領域に対する更新を制御する。
【００２８】
また、更新制御部３３ａは、チェックポイントを受信すると、第１ビットマップ３１に代えて、第２ビットマップ３２を用いて、コピー元記憶領域に対する更新を制御する。
さらに、更新制御部３３ａは、第１ビットマップ３１及び第２ビットマップ３２のデータを制御する。
具体的には、更新制御部３３ａは、チェックポイントの受信前にコピー元記憶領域に対する更新（書込み処理）が行われた場合、第１ビットマップ３１のコピー元記憶領域の更新箇所に対応する箇所を“１”に更新する。
【００２９】
また、更新制御部３３ａは、チェックポイントの受信後にコピー元記憶領域に対する更新が行われた場合、第２ビットマップ３２のコピー元記憶領域の更新箇所に対応する箇所を“１”に更新する。
さらに、更新制御部３３ａは、チェックポイントの受信後にコピー元記憶領域の転送対象領域に対して再度の更新指示がホスト２からあった場合、第２ビットマップ３２の対応する箇所を“０”に維持したまま、コピー元記憶領域の転送対象領域に対する更新処理を行う。
【００３０】
ところで、第１ビットマップ３１及び第２ビットマップ３２は、それぞれ、ステータス情報を備えている。このステータス情報は、コピー処理中（データ転送中）の状態を示す第１のステータスと、コピー完了（データ転送完了）の状態を示す第２のステータスと、ホスト２からのコピー指示を受け付けない状態を示す第３のステータスとがある。
そして、更新制御部３３ａは、これら第１，２ビットマップ３１，３２のステータス情報を変更する。
【００３１】
例えば、更新制御部３３ａは、ホスト２からチェックポイントを受信すると、第１ビットマップ３１及び第２ビットマップ３２のステータス情報を第１のステータスに変更する。そして、更新制御部３３ａは、第１ビットマップ３１に基づくデータ転送が完了すると、第１ビットマップ３１及び第２ビットマップ３２のステータス情報を第２のステップに変更する。
【００３２】
さらに、更新制御部３３ａは、ステータス情報が第１のステータスを示す期間に、ホスト２よりチェックポイントを受信すると、第２ビットマップ３２の情報を第１ビットマップ３１にマージし、すなわち、第２ビットマップ３２と第１ビットマップ３１との対応する箇所のデータの論理和を算出してその結果を第１ビットマップ３１に反映するとともに、第２ビットマップ３２を初期化する（即ち、すべて“０”にする）。
【００３３】
転送制御部３４ａは、第１ビットマップ３１の更新状況に基づいて、コピー元記憶領域の更新データをコピー先記憶領域に転送するものである。
ステータス情報通知部３５は、ホスト２からの転送状況（ステータス情報）を確認するための転送状況確認コマンドを受信すると、第１ビットマップ３１のステータス情報に基づいて、ホスト２に対して当該ステータス情報が示すステータスに対応する転送状況に関する応答をホスト２に返すものである。
【００３４】
次に、本ストレージシステム１ａの動作手順、及び、各構成要素のより具体的な処理内容について説明する。
まず、図３に示すフローチャート（ステップＳ１〜Ｓ９）を参照しながら、ディスクアレイ装置１０がホスト２からコピー指示（ＲＥＣ指示）を受信した場合の、コピー制御部３０ａの動作手順について説明する。
【００３５】
ホスト２から、コピー指示としてリモートコピーセッション作成を指示されると（ステップＳ１）、更新制御部３３ａは、指定されたコピー容量に相当するビットマップの容量を計算する（ステップＳ２）。つまり、更新制御部３３ａは、指定されたコピー容量に必要なビットマップ量を算出する。
次に、更新制御部３３ａは、算出されたビットマップ量の２倍の未使用ビットマップがキャッシュメモリ１７上にあるか否かを判断する（ステップＳ３）。つまり、更新制御部３３ａは、第１ビットマップ３１及び第２ビットマップ３２を作成するための空き容量がキャッシュメモリ１７上にあるか否かを確認する。
【００３６】
ここで、更新制御部３３ａは、その量の未使用ビットマップがないと判断すると（ステップＳ３のＮＯルート）、ビットマップ容量不足として、コピー処理をエラー終了する（ステップＳ４）。
一方、更新制御部３３ａは、その量の未使用ビットマップがあると判断すると（ステップＳ３のＹＥＳルート）、２種類のビットマップを獲得し、当該コピー処理のセッション管理情報（後述する図４（ａ）のセッション管理テーブル１８）を作成する（ステップＳ５）。
【００３７】
次いで、更新制御部３３ａは、チェックポイント投入前用の第１ビットマップ３１はすべてビットＯＮ（即ち“１”）で初期化し（ステップＳ６）、チェックポイント投入後用の第２ビットマップ３２はすべてビットＯＦＦ（即ち“０”）に初期化する（ステップＳ７）。
つまり、図４（ａ）に示すように、コピー元のメインサイト（図中“Main Site”と表記）として機能するディスクアレイ装置１０のＣＭ１１は、セッション管理テーブル１８とともに、そのセッション管理テーブル１８に対応させて第１ビットマップ３１及び第２ビットマップ３２を用意する（ステップＳ５参照）。なお、図４（ａ）及び後述する図５（ａ），図７（ａ），図１０，図１２，図１４〜図１６において符号１２ａはコピー元記憶領域を示し、符号２２ａはコピー先記憶領域を示している。また、符号４はコピー処理のためのデータ転送にＲＡ１４，２４が使用するネットワークを示している。
【００３８】
なお、図４（ａ）に示すように、ＣＭ１１と同様に、コピー先筐体であるディスクアレイ装置２０のＣＭ１２もセッション管理テーブル２８と第１ビットマップ３１及び第２ビットマップ３２を用意する。ただし、これらＣＭ１２において作成された第１ビットマップ３１及び第２ビットマップ３２は、ディスクアレイ装置２０がコピー元となる場合にしか使用されない。
【００３９】
そして、図４（ｂ）に示すように、ディスクアレイ装置１０の更新制御部３３ａは、初期状態として、第１ビットマップ３１はすべて“１”に初期化し（ステップＳ６参照）、第２ビットマップ３２はすべて“０”に初期化する（ステップＳ７参照）。
なお、更新制御部３３ａは、通常コマンドとしてリモートコピーセッション作成をホスト２から指示されると、前述した従来のスタックモードのＲＥＣセッション（即ち、セッション管理テーブル１８）を設定する（ステップＳ５参照）。なお、ホスト２からのチェックポイントの管理は、上記セッション単位とする。つまり、更新制御部３３ａは、複数ボリュームに一つのファイル構成となっている場合には、複数セッションに対してチェックポイント管理を行う必要がある。
【００４０】
そして、図３に示すように、更新制御部３３ａは、第１ビットマップ３１及び第２ビットマップ３２の初期化が終了すると、ホスト２に正常応答を返し（ステップＳ８）、処理を終了する（ステップＳ９）。
次に、チェックポイントが投入される前の通常のコピー処理について、図５（ａ），（ｂ）を参照しながら説明する。
【００４１】
つまり、上述したように、更新制御部３３ａがホスト２に正常応答を返すと（ステップＳ８参照）、その後、転送制御部３４ａは、第１ビットマップ３１に基づいてコピー元記憶領域１２ａのデータをコピー先記憶領域２２ａに転送する。
そして、図５（ｂ）に示すように、更新制御部３３ａは、転送制御部３４ａによってコピー処理が完了した部分に対応する第１ビットマップ３１のデータを“０”に変更する。
【００４２】
さらに、このコピー処理の最中に、ホスト２からライトＩ／Ｏがディスクアレイ装置１０に対して発行されると、転送制御部３４ａは、そのライトＩ／Ｏによる更新箇所Ｘ１，Ｙ１に対してスタックモードの転送でデータをコピーする。
また、ホスト２からのライトＩ／Ｏに基づくコピー元記憶領域１２ａのデータ更新が行われると、更新制御部３３ａは、更新箇所Ｘ１，Ｙ１にそれぞれ対応する第１ビットマップ３１の箇所Ｘ２，Ｙ２のデータを“１”に変更する。
【００４３】
例えば、更新制御部３３ａは、図５（ｂ）の第１ビットマップ３１の上から３行目の“１”に示すように、リモートコピー転送により一度はオフ（“０”）にした場合でも、その箇所に対応するコピー元記憶領域１２ａのデータが更新されると、第１ビットマップ３１上の当該箇所を“１”に変更する。
なお、このとき、第２ビットマップ３２はすべて“０”のままとなる。
【００４４】
次に、図６に示すフローチャート（ステップＳ１０〜Ｓ１７）を参照しながら、ホスト２からチェックポイント（チェックポイント指示コマンド）受信時のコピー制御部３０ａの動作手順について説明する。
まず、コピー制御部３０ａは、ホスト２からチェックポイント指示コマンドを受信すると（ステップＳ１０）、更新制御部３３ａは、コピー先筐体であるディスクアレイ装置２０へチェックポイント指示を受信した旨を通信する（ステップＳ１１）。
【００４５】
このとき、更新制御部３３ａは、図７（ａ）に示すように、ホスト２から通知された当該チェックポイントに対応したＩＤ（IDentifixation）もディスクアレイ装置２０へ通知する。
ディスクアレイ装置２０のコピー制御部３０ａは、通知されたＩＤを記録し、チェックポイント状態（ステータス情報）を、転送中を示す第１のステータスに設定する（ステップＳ１２）。また、図７（ａ）に示すように、更新制御部３３ａは、自身のコピー制御部３０ａ内のステータス情報も第１のステータス（転送中）に設定する。
【００４６】
そして、ディスクアレイ装置１０のコピー制御部３０ａの更新制御部３３ａは、第２ビットマップ３２の情報を第１ビットマップ３１へマージする（ステップＳ１３）。つまり、更新制御部３３ａは、第２ビットマップ３２のデータと、第１ビットマップ３１のデータとの論理和を第１ビットマップ３１のデータとする。
次に、更新制御部３３ａは、第２ビットマップ３２のすべてのデータを“０”に初期化する（ステップＳ１４）。
【００４７】
その後、転送制御部３４ａは、第１ビットマップ３１に基づいて転送処理を再開し（ステップＳ１５）、コピー制御部３０ａは、ホスト２に正常応答を返し（ステップＳ１６）、チェックポイント受信に係る処理を終了する（ステップＳ１７）。
このとき、図７（ｂ）に示すように、更新制御部３３ａは、チェックポイント投入後（受信後）のホスト２からのＩ／Ｏによる更新箇所は、第２ビットマップ３２を用いて管理する。つまり、第１ビットマップ３１において転送済み“０”を示す箇所に対応するコピー元記憶領域１２ａに対してＩ／Ｏによる更新が行われると、更新制御部３３ａは、第２ビットマップ３２の対応箇所のデータを“１”に変更する。
【００４８】
ここで、図８に示すフローチャート（ステップＳ２０〜Ｓ２８）を参照しながら、ステータス状態が転送中（第１ステータス）のコピー元記憶領域１２ａに対するライトＩ／Ｏによる更新が行われた場合の、コピー制御部３０ａの動作手順について説明する。
まず、ホスト２からＣＭ１１がライトＩ／Ｏを受信すると（ステップＳ２０）、更新制御部３３ａは、現在チェックポイント指示による転送中であるか否かを判断する（ステップＳ２１）。
【００４９】
ここで、更新制御部３３ａがチェックポイント指示による転送中ではないと判断すると（ステップＳ２１のＮＯルート）、ＣＭ１１のＣＰＵ１６がホスト２にライト指示を行い、ライト処理を実行させ（ステップＳ２２）、更新制御部３３ａが第１ビットマップ３１の対応データを“１”に更新して（ステップＳ２３）、そのライトＩ／Ｏに係る処理を終了する（ステップＳ２４）。
【００５０】
一方、更新制御部３３ａがチェックポイント指示による転送中であると判断すると（ステップＳ２１のＹＥＳルート）、そのライトＩ／Ｏの対象領域が未転送領域（即ち、コピーが完了し、対応する第１ビットマップ３１の情報が“１”の記憶領域）か否かを判断する（ステップＳ２５）。
ここで、更新制御部３３ａが、第１ビットマップ３１に基づき、ライトＩ／Ｏの対象領域に対応するビットマップデータが“０”であり、未転送領域でないと判断すると（ステップＳ２５のＮＯルート）、ＣＭ１１のＣＰＵ１６がホスト２にライト指示を行い、ライト処理を実行させ（ステップＳ２６）、更新制御部３３ａが第２ビットマップ３２の対応するビットマップデータを“１”に更新して（ステップＳ２７）、そのライトＩ／Ｏに係る処理を終了する（ステップＳ２４）。
【００５１】
一方、例えば、図７（ｂ）の第１ビットマップ３１の破線Ｚで囲む“１”に対応するコピー元記憶領域１２ａに対するホスト２からのライトＩ／Ｏがあった場合、更新制御部３３ａは、第１ビットマップ３１に基づき、ライトＩ／Ｏの対象領域に対応するビットマップデータが“１”であるので、未転送領域であると判断する（ステップＳ２５のＹＥＳルート）。
【００５２】
このとき、ＣＭ１１のＣＰＵ１６がホスト２にライト指示を行い、ライト処理を実行させ（ステップＳ２８）、当該ライトＩ／Ｏに係る処理を終了する（ステップＳ２４）。
つまり、このとき、更新制御部３３ａは、第２ビットマップ３２の当該ライトＩ／Ｏの対象領域に対応するビットマップデータを“１”に更新せず、現状のまま維持する。なお、第１ビットマップ３１の当該ライトＩ／Ｏの対象領域に対応するビットマップデータも当然に“１”のままで維持される。
【００５３】
次に、図９に示すフローチャート（ステップＳ３０〜Ｓ３６）を参照しながら、ホスト２からのチェックポイント状態確認（即ち、チェックポイントまでのコピーが完了したかどうかの確認）が行われた場合のコピー制御部の動作手順について説明する。
例えば図１０に示すように、ホスト２のソフトウェアから直前に投入したチェックポイントまでのコピーが完了したか否かの確認コマンドをＣＭ１１が受信すると（ステップＳ３０）、ステータス情報通知部３５は、チェックポイント指示を受けた形跡があるか否かを、例えばチェックポイント指示コマンドのＩＤ、もしくは、ステータス情報に基づいて判断する（ステップＳ３１）。
【００５４】
ここで、ステータス情報通知部３５は、チェックポイント指示を受けた形跡がないと判断すると（ステップＳ３１のＮＯルート）、ホスト２に対してチェックポイント指示がない旨を応答して（ステップＳ３２）、当該確認コマンドに係る処理を終了する（ステップＳ３３）。
一方、ステータス情報通知部３５は、チェックポイント指示を受けた形跡があると判断すると（ステップＳ３１のＹＥＳルート）、そのチェックポイント指示に係るデータを転送中（コピー中）か否かをステータス情報に基づいて判断する（ステップＳ３４）。
【００５５】
そして、既にコピー中でなければ（ステップＳ３４のＮＯルート）、即ち、ステータス情報がデータ転送完了を示す第２のステータスであれば、ステータス情報通知部３５は、転送完了の旨をホスト２に対して応答して（ステップＳ３５）、当該確認コマンドに係る処理を終了する（ステップＳ３３）。
一方、未だコピー中であれば（ステップＳ３４のＹＥＳルート）、即ち、ステータス情報がデータ転送中を示す第１のステータスであれば、ステータス情報通知部３５は、転送中の旨をホスト２に対して応答して（ステップＳ３６）、当該確認コマンドに係る処理を終了する（ステップＳ３３）。
【００５６】
次に、図１１に示すフローチャート（ステップＳ４０〜Ｓ４７）を参照しながら、チェックポイント転送対象のデータコピーが完了したときの本ストレージシステム１ａの動作手順について説明する。
ＣＭ１１のコピー制御部３０ａは、チェックポイント後の第１ビットマップ３１に基づくデータ転送が完了したことを、ステータス情報等に基づき検出すると（ステップＳ４０）、コピー先筐体であるディスクアレイ装置２０のＣＭ２１のコピー制御部３０ａに転送完了の旨を通信する（ステップＳ４１）。
【００５７】
すると、ＣＭ２１のコピー制御部３０ａの更新制御部３３ａが、当該コピーセッションのチェックポイント状態であるステータス情報を、転送中（第１のステータス）から転送完了（第２のステータス）に変更する（ステップＳ４２）。
次いで、ＣＭ１１のコピー制御部３０ａの更新制御部３３ａが、当該コピーセッションのチェックポイント状態であるステータス情報を、転送中から転送完了に変更する（ステップＳ４３）。
【００５８】
これにより、図１２に示すように、ディスクアレイ装置１０，２０の両方のステータス情報が転送完了（図中“転送完”と表記）を示す。
続いて、ＣＭ１１の更新制御部３３ａは、第２ビットマップ３２の情報を第１ビットマップ３１にマージする（ステップＳ４４）。
例えば、更新制御部３３ａは、図１３（ａ）に示す状態の第１ビットマップ３１及び第２ビットマップ３２をマージすることにより、図１３（ｂ）に示す状態の第１ビットマップ３１を作成する。
【００５９】
そして、ＣＭ１１の更新制御部３３ａは、図１３（ｂ）に示すように、第２ビットマップ３２を初期化する（ステップＳ４５）。
その後、ＣＭ１１の転送制御部３４ａは、第１ビットマップ３１を元に転送処理を再開し（ステップＳ４６）、チェックポイントまでの転送完了処理を終了する（ステップＳ４７）。
【００６０】
なお、図１４に示すように、ＣＭ１１の更新制御部３３ａがステータス情報を第２のステータスに変更した後に、ホスト２のソフトウェアからチェックポイントまでのコピーが完了したかどうかのチェックポイント確認コマンドをコピー制御部３０ａが受け取ると、ステータス情報通知部３５は、そのチェックポイントまでのコピーが完了した旨をホスト２に応答する。これにより、ホスト２のソフトウェアがチェックポイントに係る転送処理が完了したことを認識する。
【００６１】
そして、図１５に示すように、ホスト２のソフトウェアは、チェックポイントまでの転送完了を確認したところで、コピー制御部３０ａが管理するコピー状態を示す管理ファイル上にてファイル情報を書き出し、管理ファイルの更新を行う。なお、管理ファイルは、ホスト２またはホスト３のソフトウェアがコピー状況を把握するためのファイルである。
また、ディスクアレイ装置１０としては、ホスト２のソフトウェアからの管理ファイルの更新は、通常データのコピーとみなしてデータ更新を行う。
【００６２】
さらに、図１６に示すように、転送制御部３４ａは、ホスト２によって更新された管理ファイル上のファイル情報を、ディスクアレイ装置２０にＲＥＣ転送する。この時点で、ホスト３のソフトウェアは、ディスクアレイ装置２０側の転送ファイルと管理ファイルの送達保証が取れる。
次に、図１７に示すフローチャート（ステップＳ５０〜Ｓ５６）を参照しながら、ホスト３からディスクアレイ装置２０に対して、コピー中であるコピー先記憶領域２２ａに対するリード要求があった場合の本ストレージシステム１ａの動作手順について説明する。
【００６３】
従来は、コピー動作中（ステータス情報が第１のステータス中）のコピーセッションのコピー先リードは、コピー動作中のためで保証がされていないことを理由に禁止（エラー応答）している。
しかし、本ストレージシステム１ａは、ホスト３のソフトウェア側でリードできる場所が、チェックポイントの転送完了により保証されるので、ホスト３によるコピー先リードを許可することができる。
【００６４】
ただし、チェックポイントを用いたコピーセッションである必要があるので、ホスト２から指定されたコピー先リード許可モードで、ディスクアレイ装置１０のコピー制御部３０ａがコピーセッションを作成した場合に限り、ホスト３によるコピー先記憶領域２２ａのリードが許可される。
具体的には、ディスクアレイ装置２０のＣＭ２１がホスト３からリード要求を受け取ると（ステップＳ５０）、ＣＰＵ２６は、該当するセッションのステータス情報が第１のステータス（転送中）であるか否かを判断する（ステップＳ５１）。
【００６５】
ここで、コピー中でなければ（ステップＳ５１のＮＯルート）、ＣＰＵ２６はホスト３に対して指定の箇所をリードさせ（ステップＳ５２）、当該リード要求に係る処理を終了する（ステップＳ５３）。
一方、コピー中であれば（ステップＳ５１のＹＥＳルート）、ＣＰＵ２６は該当のセッションが、コピー先リード許可モードか否かを判断する（ステップＳ５４）。
【００６６】
なお、該当のセッション情報は、上記図３のステップＳ１においてホスト２から受信したリモートコピーセッション作成指示に基づいて、更新制御部３３ａが作成し、転送制御部３４ａによって送信されてきたものである。
そして、該当のセッションがコピー先リード許可モードでなければ（ステップＳ５４のＮＯルート）、ＣＰＵ２６はコピー中のためエラー応答をホスト３に返して（ステップＳ５５）、処理を終了する（ステップＳ５３）。
【００６７】
一方、該当のセッションがコピー先リード許可モードであれば（ステップＳ５４のＹＥＳルート）、ＣＰＵ２６は指定の箇所をホスト３にリードさせて（ステップＳ５６）、処理を終了する（ステップＳ５３）。
このように、本発明の第１実施形態としてのストレージシステム１ａによれば、チェックポイント受信前用の第１ビットマップ３１と、チェックポイント受信後用の第２ビットマップ３２とを用意し、転送制御部３４ａは、第１ビットマップ３１に基づいて、ホスト２からのコピー指示に基づくデータ転送を実行するとともに、更新制御部３３ａが、チェックポイントをホスト２から投入されると、第１ビットマップ３１に代えて、第２ビットマップ３２を用いて、コピー元記憶領域１２ａに対する更新を制御する。
【００６８】
したがって、複数のディスクアレイ装置１０，２０間でデータをコピーしてデータの二重化を図る際に、チェックポイントに基づいて、コピー済みデータの保証を確実に確保することができる。そのため、被災時等のリカバリを容易に行うことができる。
また、本ストレージシステム１ａは、これら第１ビットマップ３１及び第２ビットマップ３２に基づいてコピー処理（データ転送）を実行するので、ホスト２からのＩ／Ｏとは非同期でコピー処理を実行することができ、回線状況に左右されないデータ転送が可能である。さらに、従来のコンシステンシィモードのようにコピー処理専用のバッファが不要であるので、システム設計の煩雑性が無い。
【００６９】
つまり、本ストレージシステム１ａは、コピー処理は従来のスタックモードで実行するので、前述したスタックモードによる、ホストＩ／Ｏとは非同期でコピー処理が機能するのでバッファは不要であるとともに回線状況に左右されないという利点をそのまま享受できる。
加えて、本ストレージシステム１ａは、２つのビットマップ３１，３２を備え、上述のごとく使用することにより、チェックポイントを用いた、チェックポイント投入（受信）までの転送完了確認を行うことができるようになる。その結果、被災時等のリカバリをそのチェックポイントに係る完了報告に基づいて容易に実行することができる。
【００７０】
つまり、更新制御部３３ａが、チェックポイント受信前はデータ更新に応じて第１ビットマップ３１を更新し、チェックポイント受信後はデータ更新に応じて第２ビットマップ３２を更新するので、チェックポイントを用いた処理を確実に行うことができる。
また、更新制御部３３ａは、チェックポイント受信後にコピー元記憶領域１２ａに対して再度の更新指示があった場合には、第２ビットマップ３２の該当箇所は更新せずに維持したまま、そのコピー元記憶領域１２ａに対する更新処理を行うので、当該更新部分について、チェックポイントを受信した時点のデータの二重化は行わないが、当該更新処理によって更新されたデータのコピー処理は確実に行われることになる。これにより、コピー元記憶領域１２ａのコピー処理を、複雑な制御を行うことなく確実に実行することができる。
【００７１】
また、更新制御部３３ａがステータス情報を管理し、ステータス情報通知部３５が、ホスト２から転送状況確認コマンドを受信するとそのステータス情報に基づいて、ホスト２に対して、転送状況に関する応答（転送中、転送完了等）を返すので、ホスト２は転送状況を確実に把握することができる。
また、ホスト２からのコピー指示に基づくコピー中に、チェックポイントを受信すると、更新制御部３３ａが、第２ビットマップ３２の情報を第１ビットマップ３１にマージし、第２ビットマップ３２を初期化するので、コピー制御部３０ａは、チェックポイントに係る処理を確実に実行することができる。
【００７２】
〔２〕本発明の第２実施形態について
次に、図１及び図２に示すブロック図を参照しながら、本発明の第２実施形態としてのストレージシステム（以下、本ストレージシステムという）１ｂについて説明する。本ストレージシステム１ｂは、コピー制御部３０ｂの更新制御部３３ｂ及び転送制御部３４ｂの処理が異なっている点を除いては、上述した第１実施形態のストレージ１ａと同様に構成されている。
【００７３】
したがって、以下、図１８を参照しながら、コピー制御部３０ｂの更新制御部３３ｂ及び転送制御部３４ｂの処理について詳細に説明する。
具体的には、チェックポイント受信後にコピー元記憶領域１２ａに対するホスト２からの再度の更新要求（ライトＩ／Ｏ）があった場合、転送制御部３４ｂは、そのコピー元記憶領域１２ａの更新対象データを優先的にディスクアレイ装置２０に転送した後、ＣＰＵ１６が当該更新要求を実行するように構成されている。その後、更新制御部３３ｂは当該更新要求が実行されると第２ビットマップ３２の該当データを“１”に更新するように構成されている。
【００７４】
ここで、図１８に示すフローチャート（ステップＳ２０〜Ｓ２７，Ｓ２８´，Ｓ２９´）を参照しながら、ステータス状態が転送中（第１ステータス）のコピー元記憶領域１２ａに対するライトＩ／Ｏによる更新が行われた場合の、コピー制御部３０ｂの動作手順について説明する。なお、図１８において既述の符号と同一の符号は同一の処理もしくは略同一の処理を示しているので、ここではその詳細な説明は省略する。
【００７５】
ホスト２からコピー指示に基づくデータ転送中であり、更新制御部３３ｂが、ＣＭ１１が受信したライトＩ／Ｏが未転送領域でないと判断すると（ステップＳ２５のＮＯルート）、ＣＭ１１のＣＰＵ１６がホスト２にライト指示を行い、ライト処理を実行させ（ステップＳ２６）、更新制御部３３ｂが第２ビットマップ３２の対応するビットマップデータを“１”に更新して（ステップＳ２７）、そのライトＩ／Ｏに係る処理を終了する（ステップＳ２４）。
【００７６】
一方、例えば、上記図７（ｂ）の第１ビットマップ３１の破線Ｚで囲む“１”に対応するコピー元記憶領域１２ａに対するホスト２からのライトＩ／Ｏがあった場合、更新制御部３３ｂは、第１ビットマップ３１に基づき、ライトＩ／Ｏの対象領域に対応するビットマップデータが“１”であるので、未転送領域であると判断する（ステップＳ２５のＹＥＳルート）。
【００７７】
このとき、転送制御部３４ｂは、当該ライトＩ／Ｏの対象領域のデータを優先的にディスクアレイ装置２０に転送する（ステップＳ２８´）。
そして、更新制御部３３ｂが、当該対象領域に対応する第１ビットマップ３１のデータをオフ（“０”）に更新する（ステップＳ２９´）。
その後、ＣＭ１１のＣＰＵ１６がホスト２にライト指示を行い、当該ライトＩ／Ｏのライト処理を実行させ（ステップＳ２６）、更新制御部３３ｂが第２ビットマップ３２の対応するビットマップデータを“１”に更新して（ステップＳ２７）、そのライトＩ／Ｏに係る処理を終了する（ステップＳ２４）。
【００７８】
このように、本発明の第２実施形態としてのストレージシステム１ｂによれば、上述した第１実施形態と同様の作用効果を得ることができるとともに、チェックポイント受信後にコピー元記憶領域１２ａの未転送部分に対するライトＩ／Ｏが発生すると、転送制御部３４が当該未転送部分のデータ転送を行った後に、ＣＰＵ１６が当該ライトＩ／Ｏを実行する。そして、更新制御部３３ｂは当該ライトＩ／Ｏに応じて第２ビットマップ３２を更新する。したがって、チェックポイント受信前のコピー元記憶領域１２ａのコピー処理をより確実に実行することができる。
【００７９】
〔３〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、ディスクアレイ装置１０のＣＭ１１の数と、ディスクアレイ装置２０のＣＭ２１の数とが同数である場合を例にあげて説明した。しかし、本発明においてＣＭ１１及びＣＭ２１の数は限定されるものではない。
【００８０】
また、上述した実施形態では、ホスト２のコピー指示に応じてディスクアレイ装置１０，２０間でコピー処理を実行する場合を例にあげて説明した。しかし、本発明はこれに限定されるものではなく、同一筐体内の異なる記憶ボリューム間のコピー処理にも当然のごとく適用することができる。これによっても上述した実施形態と同様の作用効果を得ることができる。
【００８１】
なお、上述したコピー制御部３０ａ，３０ｂ（つまり、更新制御部３３ａ，３３ｂ，転送制御部３４ａ，３４ｂ，ステータス情報通知部３５）としての機能は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（コピー制御プログラム）を実行することによって実現されてもよい。
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からコピー制御プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【００８２】
ここで、コンピュータとは、ハードウェアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえている。
【００８３】
上記コピー制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、コピー制御部３０ａ，３０ｂとしての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
【００８４】
〔４〕付記
（付記１）
上位装置に接続される第１のボリュームに記憶されるデータを第２のボリュームにコピーするストレージシステムであって、
前記上位装置からの前記第１のボリュームに対する更新指示に基づいて、前記上位装置からのコピー指示を受信してから所定のコマンドを受信するまでの間の前記第１のボリュームの更新状況を管理する第１の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する更新制御部と、
前記第１の管理テーブルの更新状況に基づいて前記第１のボリュームの更新データを前記第２のボリュームに転送する転送制御部とを備え、
前記更新制御部は、
前記所定のコマンドを受信すると、前記第１の管理テーブルに代えて、前記所定のコマンド受信後の前記第１のボリュームに対する更新状況を管理する第２の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する事を特徴とするストレージシステム。
【００８５】
（付記２）
前記更新制御部は、
前記所定のコマンドの受信前に前記第１のボリュームに対する更新が行われた場合、前記第１の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新し、
前記所定のコマンドの受信後に前記第１のボリュームに対する更新が行われた場合、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新する事を特徴とする付記１に記載のストレージシステム。
【００８６】
（付記３）
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御部は、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を維持したまま、前記第１のボリュームの転送対象領域に対する更新処理を行うことを特徴とする付記１または２に記載のストレージシステム。
【００８７】
（付記４）
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御部は、前記転送処理部が前記転送対象領域のデータを第２のボリュームに転送した後に、前記第１のボリュームに対して更新処理を行うと共に前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新する事を特徴とする付記１または２に記載のストレージシステム。
【００８８】
（付記５）
前記管理テーブルにステータス情報を備え、
前記更新制御部は、前記所定のコマンドを受信すると前記ステータス情報を第１のステータスに変更し、前記第１の管理テーブルに基づく転送が完了すると前記ステータス情報を第２のステータスに変更することを特徴とする付記１〜４のいずれか１項に記載のストレージシステム。
【００８９】
（付記６）
前記上位装置から転送状況確認コマンドを受信すると前記ステータス情報に基づいて、前記上位装置に対して、転送状況に関する応答を返すステータス情報通知部をさらに備えたことを特徴とする付記５に記載のストレージシステム。
（付記７）
前記ステータス情報が第１のステータスを示す期間に、前記上位装置より前記所定のコマンドを受信すると、前記更新制御部は、前記第２の管理テーブルの情報を前記第１の管理テーブルにマージし、前記第２の管理テーブルを初期化することを特徴とする付記６に記載のストレージシステム。
【００９０】
（付記８）
上位装置に接続される第１のボリュームに記憶されるデータを第２のボリュームにコピーするストレージシステムのコピー制御方法であって、
前記上位装置からの前記第１のボリュームに対する更新指示に基づいて、前記上位装置からのコピー指示を受信してから所定のコマンドを受信するまでの間の前記第１のボリュームの更新状況を管理する第１の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する更新制御ステップと、
前記第１の管理テーブルの更新状況に基づいて前記第１のボリュームの更新データを前記第２のボリュームに転送する転送制御ステップとを備え、
前記更新制御ステップにおいて、
前記所定のコマンドを受信すると、前記第１の管理テーブルに代えて、前記所定のコマンド受信後の前記第１のボリュームに対する更新状況を管理する第２の管理テーブルを用いて、前記第１のボリュームに対する更新が制御される事を特徴とするストレージシステムのコピー制御方法。
【００９１】
（付記９）
前記更新制御ステップにおいて、
前記所定のコマンドの受信前に前記第１のボリュームに対する更新が行われた場合、第１の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所が更新され、
前記所定のコマンドの受信後に前記第１のボリュームに対する更新が行われた場合、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所が更新される事を特徴とする付記８に記載のストレージシステムのコピー制御方法。
【００９２】
（付記１０）
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御ステップにおいて、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を維持したまま、前記第１のボリュームの転送対象領域に対する更新処理が行われることを特徴とする付記８または９に記載のストレージシステムのコピー制御方法。
【００９３】
（付記１１）
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御ステップにおいて、前記転送処理ステップが前記対象領域のデータを第２のボリュームに転送した後に、前記第１のボリュームに対して更新処理が行われると共に前記第２の管理テーブルが更新される事を特徴とする付記８または９に記載のストレージシステムのコピー制御方法。
【００９４】
（付記１２）
前記更新制御ステップにおいて、前記所定のコマンドを受信すると前記管理テーブルに備えられたステータス情報が第１のステータスに変更され、前記第１の管理テーブルに基づく転送が完了すると前記ステータス情報が第２のステータスに変更されることを特徴とする付記８〜１１のいずれか１項に記載のストレージシステムのコピー制御方法。
【００９５】
（付記１３）
前記上位装置から転送状況確認コマンドを受信すると、前記ステータス情報に基づいて前記上位装置に対して、転送状況に関する応答を返すステータス情報通知ステップをさらに備えたことを特徴とする付記１０に記載のストレージシステムのコピー制御方法。
（付記１４）
前記ステータス情報が第１のステータスを示す期間に、前記上位装置より前記所定のコマンドを受信すると、前記更新制御ステップは、前記第２の管理テーブルの情報を前記第１の管理テーブルにマージし、前記第２の管理テーブルを初期化することを特徴とする付記１３に記載のストレージシステムのコピー制御方法。
【００９６】
（付記１５）
上位装置に接続される第１のボリュームに記憶されるデータを第２のボリュームにコピーするストレージシステムのコピー制御部であって、
前記上位装置からの前記第１のボリュームに対する更新指示に基づいて、前記上位装置からのコピー指示を受信してから所定のコマンドを受信するまでの間の前記第１のボリュームの更新状況を管理する第１の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する更新制御部と、
前記第１の管理テーブルの更新状況に基づいて前記第１のボリュームの更新データを前記第２のボリュームに転送する転送制御部とを備え、
前記更新制御部は、
前記所定のコマンドを受信すると前記第１の管理テーブルに代えて前記所定のコマンド受信後の前記第１のボリュームに対する更新状況を管理する第２の管理テーブルを用いて、前記第１のボリュームに対する更新を制御する事を特徴とするストレージシステムのコピー制御部。
【００９７】
（付記１６）
前記更新制御部は、
前記所定のコマンドの受信前に前記第１のボリュームに対する更新が行われた場合、前記第１の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新し、
前記所定のコマンドの受信後に前記第１のボリュームに対する更新が行われた場合、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新する事を特徴とする付記１５に記載のストレージシステムのコピー制御部。
【００９８】
（付記１７）
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御部は、前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を維持したまま、前記第１のボリュームの転送対象領域に対する更新処理を行うことを特徴とする付記１５または１６に記載のストレージシステムのコピー制御部。
【００９９】
（付記１８）
前記所定のコマンド受信後に前記第１のボリュームの転送対象領域に対して再度の更新指示があった場合、前記更新制御部は、前記転送処理部が前記転送対象領域のデータを第２のボリュームに転送した後に、前記第１のボリュームに対して更新処理を行うと共に前記第２の管理テーブルの前記第１のボリュームの更新箇所に対応する箇所を更新する事を特徴とする付記１５または１６に記載のストレージシステムのコピー制御部。
【０１００】
（付記１９）
前記管理テーブルにステータス情報を備え、
前記更新制御部は、前記所定のコマンドを受信すると前記ステータス情報を第１のステータスに変更し、前記第１の管理テーブルに基づく転送が完了すると前記ステータス情報を第２のステータスに変更する事を特徴とする付記１５〜１８のいずれか１項に記載のストレージシステムのコピー制御部。
【０１０１】
（付記２０）
前記上位装置から転送状況確認コマンドを受信すると、前記ステータス情報に基づいて、前記上位装置に対して、転送状況に関する応答を返すステータス情報通知部をさらに備えたことを特徴とする付記１９に記載のストレージシステムのコピー制御部。
（付記２１）
前記ステータス情報が第１のステータスを示す期間に、前記上位装置より前記所定のコマンドを受信すると、前記更新制御部は、前記第２の管理テーブルの情報を前記第１の管理テーブルにマージし、前記第２の管理テーブルを初期化することを特徴とする付記２０に記載のストレージシステムのコピー制御部。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１，２実施形態としてのストレージシステムの構成を示すブロック図である。
【図２】本発明の第１，２実施形態としてのストレージシステムのコピー制御部の構成を示すブロック図である。
【図３】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置がホストからコピー指示を受信した場合のコピー制御部の動作手順の一例を示すフローチャートである。
【図４】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置による第１ビットマップ及び第２ビットマップの作成、初期化処理を説明するための図であり、（ａ）はその際のストレージシステムの概略構成を示す図であり、（ｂ）作成、初期化された第１ビットマップ及び第２ビットマップの一例を示す図である。
【図５】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置にホストからチェックポイントが投入される前の通常のコピー処理を説明するための図であり、（ａ）はその際のストレージシステムの概略構成を示す図であり、（ｂ）その際の第１ビットマップ及び第２ビットマップの一例を示す図である。
【図６】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置がホストからチェックポイントを受信したときのコピー制御部の動作手順の一例を示すフローチャートである。
【図７】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置がホストからチェックポイントを受信したときの処理を説明するための図であり、（ａ）はその際のストレージシステムの概略構成を示す図であり、（ｂ）その際の第１ビットマップ及び第２ビットマップの一例を示す図である。
【図８】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置においてステータス状態が転送中のコピー元記憶領域に対する更新処理が行われた場合のコピー制御部の動作手順の一例を示すフローチャートである。
【図９】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置において、ホストからチェックポイント状態の確認が行われた場合のコピー制御部の動作手順の一例を示すフローチャートである。
【図１０】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置がホストからチェックポイントまでのコピーが完了したか否かの確認コマンドを受信した場合の処理を説明するための図である。
【図１１】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置においてチェックポイント転送対象のデータコピーが完了したときのストレージシステムの動作手順の一例を示すフローチャートである。
【図１２】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置においてチェックポイント転送対象のデータコピーが完了したときのコピー制御部の処理を説明するための図である。
【図１３】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置においてチェックポイント転送対象のデータコピーが完了したときの第１ビットマップ及び第２ビットマップの一例を示す図であり、（ａ）は第２ビットマップの情報を第１ビットマップの情報にマージする前の状態を示し、（ｂ）はそのマージ後の状態を示す図である。
【図１４】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置においてチェックポイント転送対象のデータコピーが完了後にホストからチェックポイントまでのコピーが完了したか否かの確認コマンドを受信した場合の処理を説明するための図である。
【図１５】本発明の第１実施形態としてのストレージシステムのホストによるディスクアレイ装置における管理ファイルの更新処理を説明するための図である。
【図１６】本発明の第１実施形態としてのストレージシステムのディスクアレイ装置間における管理ファイルの転送処理を説明するための図である。
【図１７】本発明の第１実施形態としてのストレージシステムのコピー先のディスクアレイ装置がホストからコピー先記憶領域に対するリード要求を受信した場合のストレージシステムの動作手順の一例を示すフローチャートである。
【図１８】本発明の第２実施形態としてのストレージシステムのディスクアレイ装置においてステータス状態が転送中のコピー元記憶領域に対する更新処理が行われた場合のコピー制御部の動作手順の一例を示すフローチャートである。
【符号の説明】
【０１０３】
１ａ，１ｂ  ストレージシステム
２，３  ホスト（上位装置）
４  ネットワーク
１０，２０  ディスクアレイ装置
１１，１１−１〜１１−ｎ，２１，２１−１〜２１−ｎ  制御部（ＣＭ：Centralized Module）
１２，２２  ディスク装置
１２ａ  コピー元記憶領域
１３，２３  チャネルアダプタ（ＣＡ：Channel Adapter）
１４，２４  リモートアダプタ（ＲＡ：Remote Adapter）
１５，１５−１，１５−２，２５，２５−１，２５−２  ファイバチャネル（ＦＣ:
Fibre Channel）
１６，２６  ＣＰＵ（Central Processing Unit）
１７，２７  キャッシュメモリ
１８，２８  セッション管理テーブル
２２ａ  コピー先記憶領域
３０ａ，３０ｂ  コピー制御部
３１  第１ビットマップ（第１の管理テーブル）
３２  第２ビットマップ（第２の管理テーブル）
３３ａ，３３ｂ  更新制御部
３４ａ，３４ｂ  転送制御部
３５  ステータス情報通知部
【図１】
2010026563.tif 000003
【図２】
2010026563.tif 000004
【図３】
2010026563.tif 000005
【図４】
2010026563.tif 000006
【図５】
2010026563.tif 000007
【図６】
2010026563.tif 000008
【図７】
2010026563.tif 000009
【図８】
2010026563.tif 000010
【図９】
2010026563.tif 000011
【図１０】
2010026563.tif 000012
【図１１】
2010026563.tif 000013
【図１２】
2010026563.tif 000014
【図１３】
2010026563.tif 000015
【図１４】
2010026563.tif 000016
【図１５】
2010026563.tif 000017
【図１６】
2010026563.tif 000018
【図１７】
2010026563.tif 000019
【図１８】
2010026563.tif 000020