(57)【要約】  本発明は、ストレージ装置間におけるリモートコピーのカスケード制御を行うストレージ装置を提供することを目的とする。  ネットワークを介して複数のストレージ装置がカスケードに接続されている。そして、複数のストレージ装置間でリモートコピーを行う。このため、コピー元から転送されるデータを一時的にバッファに格納する。そして、データの受信を完了すると、バッファ内のデータを一括して記憶部へ出力するとともに、ネットワーク接続されているコピー先のストレージ装置に対して送信する。
2008139545.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してカスケードに接続されている複数のストレージ装置間でリモートコピーを行うストレージシステムであって、
第１のストレージ装置は、第１の記憶部と第１のバッファとを備え、第１の記憶部に格納されているデータを第１のバッファに格納し、第１のバッファがフルになるか、または、第１のバッファへの格納から一定時間が経過すると、第１のバッファ内のデータを一括して、第２のストレージ装置へ送信する第１の制御手段を有し、
前記第２のストレージ装置は、第２の記憶部と第２のバッファとを備え、第１のストレージ装置から受信したデータを第２のバッファに格納し、データ受信を完了すると第２のバッファ内のデータを一括して第２の記憶部へ出力し、かつ第２のバッファ内のデータを一括して第３のストレージ装置に送信する第２の制御手段を有し、
前記第３のストレージ装置は、第３の記憶部と第３のバッファとを備え、第２のストレージ装置から受信したデータを第３のバッファに格納し、データの受信を完了すると第３のバッファ内のデータを一括して第３の記憶部へ出力する第３の制御手段を有することを特徴とするストレージシステム。
【請求項２】
第２のストレージ装置は、第３のストレージ装置へのデータの送信開始のときに、転送開始時刻を取得する手段と、
前記転送開始時刻から所定の時間を経過したときには、前記第３のストレージ装置へのデータの送信を強制終了する手段と、を有することを特徴とする請求項１記載のストレージシステム。
【請求項３】
バッファは、複数のバッファからなるバッファセット単位で構成され、ストレージ装置間で前記複数のバッファセットを対応させながら順次切り替えて、データ転送をすることを特徴とする請求項１記載のストレージシステム。
【請求項４】
ネットワークを介してカスケードに接続されている複数のストレージ装置間でリモートコピーを行うストレージシステムのストレージ装置であって、
コピーデータを格納する記憶部と、
コピーデータを一時的に格納するバッファと、
コピー元のストレージ装置から受信したコピーデータを前記バッファに格納するバッファ格納手段と、
前記コピーデータの受信が完了すると、前記バッファ内のコピーデータを一括して前記記憶部へ出力する出力手段と、
前記コピーデータの受信が完了すると、前記バッファ内のコピーデータを一括してネットワーク接続されているコピー先のストレージ装置に対して送信する送信手段とを有することを特徴とするストレージ装置。
【請求項５】
ネットワーク接続されているコピー先のストレージ装置にデータの送信開始のときに、転送開始時刻を取得する手段と、
前記転送開始時刻から所定の時間を経過したときには、前記コピー先のストレージ装置へのデータの送信を強制終了する手段と、を有することを特徴とする請求項４記載のストレージ装置。
【請求項６】
バッファは、複数のバッファからなるバッファセット単位で構成され、ストレージ装置間で前記複数のバッファセットを対応させながら順次切り替えて、データ転送をすることを特徴とする請求項５記載のストレージ装置。
【請求項７】
ネットワークを介してカスケードに接続されている複数のストレージ装置間でリモートコピーを行うストレージシステムのカスケード接続の中間に位置し、コピーデータを記憶する記憶部と、コピーデータを一時的に格納するバッファとを有するストレージ装置のリモートコピー方法であって、
コピー元のストレージ装置から受信するコピーデータを前記バッファに格納するバッファ格納ステップと、
前記コピーデータの受信が完了すると、前記バッファ内のコピーデータを一括して前記記憶部へ出力する出力ステップと、
前記コピーデータの受信が完了すると、前記バッファ内のコピーデータを一括してネットワーク接続されているコピー先のストレージ装置に対して送信するコピーデータ送信ステップとを有することを特徴とするリモートコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置間におけるリモートコピーのカスケード制御に関するものである。
【背景技術】
【０００２】
ストレージシステムは、ホストとホストのデータを格納するストレージ装置を有する。
近年、企業活動の活発化により、ストレージ装置に格納するデータの容量も増大化しており、その消失は、企業活動に大きな影響を与える。
そのため、データの保証としては、ストレージ装置内でデータの２重化をするよう対応されてきた。この方法は、ストレージ装置内のディスク障害やハード障害について、大変有効である。しかし、この方法では災害時、例えば、地震などにより装置そのものが倒れるような被害を受けた場合には、装置内にデータが２重化されてもデータの保証がされない。そのため、災害対策としてストレージ装置そのものを２重化して、２重化したストレージ装置はフロアー階を分けたり、異なる都市に設けたりするようにさまざまな設置形態で運用されるようになってきている。【０００３】
そして、そのような装置間のコピーのため、ストレージシステムでは、リモートコピー機能を提供している。遠隔地の装置との間でリモートコピー機能を使用することにより、災害対策として、データベースのミラーリングを実現することを可能としている。一般的にデータベースシステムは、ストレージ装置等の記憶装置への書き込み順序をデータベース自身で制御・保証することにより、サーバなどの装置障害や災害が発生した場合においてもリカバリを行う手段を保持している。そのため、リモートコピー機能を使用したストレージ装置においては、ホストからライトされたデータの順序性を維持しながらミラーリングのストレージ装置に対してデータを反映させる必要がある。順序性が保証されていれば、運用中のホストが災害でダウンしても、予備のストレージシステムのホストを使用して、ミラーリングされたストレージ装置に格納されているデータを基にデータ処理の継続が可能なためである。【０００４】
図１（Ａ）に従来例のストレージ装置のリモートコピー制御方法を示す。
コピー元のストレージ装置３１の制御モジュール３５（ＣＭ０、ＣＭ１）の専用のバッファ３３とリモート接続されているストレージ装置４１の制御モジュール４５（ＣＭ０、ＣＭ１）の専用のバッファ４３間上でデータの転送を行うことによりミラーリングを実現している。
１）コピー元のストレージ装置３１では、ホストからのデータＩ／Ｏ（１）〜Ｉ／Ｏ（５）をディスク装置３４に一旦格納し、その後、転送用のバッファ３３に格納する。
２）コピー元のストレージ装置３１からコピー先のストレージ装置４１に対してバッファ３３とバッファ４３間で定期的にデータを転送する。なお、コピー元のストレージ装置３１は、バッファ３３からコピー先のストレージ装置４１へ転送するタイミングをＣＭ０−ＣＭ１間で同期して転送している。
３）コピー先のストレージ装置４１では、コピー元のストレージ装置３１から転送されたデータをディスク装置４４に反映する。このとき、コピー先のストレージ装置４１にて、バッファ４３を出力するタイミングをＣＭ０−ＣＭ１間で同期している。【０００５】
そして、バッファ３３、バッファ３４は複数あり、その複数のバッファ３３間、複数のバッファ４３間のそれぞれの順序性を維持し、かつバッファ３３とバッファ３４とを対応させながらコピー元のストレージ装置３１からコピー先のストレージ装置４１にデータを転送している。この結果、コピー先のストレージ装置４１においてのデータの順序性を保証している。
ところで、最近では、システムとしてデータ保証の考えが強化されており、ミラーリングする装置は、１装置のみでなく、複数装置に対してミラーリングを実施する必要が出てきている。
このため、従来技術の延長で複数装置へのリモートコピーをサポートした場合、次のようになる。
すなわち、中間に存在するストレージ装置５１には、図１（Ｂ）に示すように、
１）コピー元のストレージ装置３１から転送され、バッファ５３−１に格納されたデータを一旦ディスク装置５４に格納する。バッファ５３−１内のデータのディスク装置５４への出力は並行して実施しているため、データの順序性は、考慮されていない。
２）ディスク装置５４に格納されたデータをバッファ５３−２へ格納した後、コピー先のストレージ装置４１に転送する動作を行う。ここで、ディスク装置５４にライトされた順序でバッファ５３−２へ格納するため、前述のように順序性保証はされずに、ストレージ装置４１に転送する動作を行う。また、ストレージ装置５１には、バッファ５３−１、バッファ５３−２と２段必要となる。
このように、ストレージ装置５１とストレージ装置３１との間、ストレージ装置５１とストレージ装置４１との間ごとに独立したリモートコピーを管理することになるため、複数装置にまたがった順序性保証は実現できていない（特許文献１）。
【特許文献１】特開２００６−２６０２９２号公報
【発明の開示】
【０００６】
（発明が解決しようとする課題）
本発明は、ストレージ装置間におけるリモートコピーのカスケード制御を行うストレージシステム、ストレージ装置、リモートコピー方法を提供することを目的とする。
（課題を解決するための手段）
本発明のストレージシステムは、ネットワークを介してカスケードに接続されている複数のストレージ装置間でリモートコピーを行うストレージシステムである。
そして、第１のストレージ装置は、第１の記憶部と第１のバッファとを備え、第１の記憶部に格納されているデータを第１のバッファに格納し、第１のバッファがフルになるか、または、第１のバッファへの格納から一定時間が経過すると、第１のバッファ内のデータを一括して、第２のストレージ装置へ送信する第１の制御手段を有する。
また、第２のストレージ装置は、第２の記憶部と第２のバッファとを備え、第１のストレージ装置から受信したデータを第２のバッファに格納し、データ受信を完了すると第２のバッファ内のデータを一括して第２の記憶部へ出力し、かつ第２のバッファ内のデータを一括して第３のストレージ装置に送信する第２の制御手段を有する。
また、第３のストレージ装置は、第３の記憶部と第３のバッファとを備え、第２のストレージ装置から受信したデータを第３のバッファに格納し、データの受信を完了すると第３のバッファ内のデータを一括して第３の記憶部へ出力する第３の制御手段を有する。
【０００７】
この構成により、ネットワークを介してカスケードに接続されている複数のストレージ装置に対して、バッファ間で一括してコピー転送をするので、データの順序性を損なわずに、コピーをすることができる。
【０００８】
また、第２のストレージ装置は、第３のストレージ装置へのデータの送信開始のときに、転送開始時刻を取得する手段と、転送開始時刻から所定の時間を経過したときには、第３のストレージ装置へのデータの送信を強制終了する手段と、を有する。
【０００９】
この構成により、少なくとも第１のストレージ装置と第２のストレージ装置間のリモートコピーは、保証される。
【００１０】
また、バッファは、複数のバッファからなるバッファセット単位で構成され、ストレージ装置間で複数のバッファセットを対応させながら順次切り替えて、データ転送をすることを特徴とする構成である。
【００１１】
この構成により、ネットワークを介してカスケードに接続されている複数のストレージ装置において、複数のバッファセットを対応させながら順次切り替えてコピーデータを転送しているため、データの順序性を損なわずに、コピーをすることができる。
（発明の効果）
本発明により、カスケード接続された複数のストレージ装置において、リモートコピーの順序性確保が可能となる。さらに時間監視制御を追加することにより，少なくとも１装置間のデータ転送処理の継続が可能となる。
【図面の簡単な説明】
【００１２】
【図１】従来例のストレージ装置のリモートコピー制御方法
【図２】ストレージ装置の構成図
【図３】コピーセッション管理情報
【図４】コンシステンシーバッファ管理情報
【図５】装置管理情報
【図６】バッファ状態管理情報
【図７】バッファ制御管理情報
【図８】ＣＰＵの制御の説明図
【図９】ストレージ装置のカスケード接続の説明図
【図１０】リモートコピーの説明図
【図１１】ホストからのデータの受信処理の流れ図
【図１２】コピー処理Ａの処理の流れ図
【図１３】コピー処理Ｂの処理の流れ図
【図１４】コピー処理Ｃの処理の流れ図
【符号の説明】
【００１３】
１、１−１〜１−３  ストレージ装置
２  ＣＡ
３  ＲＡ
４  ディスク装置
５、５−０、５−１  ＣＭ
６、６−０、６−１  ＣＰＵ
７、７−０、７−１  ＣＡＣＨＥ
８  ＦＣ
９  バッファ
１１、１１−０，１１−１  コンシステンシーバッファ
１２、１２−０，１２−１  各種情報バッファ
２１  コピーセッション管理情報
２２  コンシステンシーバッファ管理情報
２３  装置管理情報
２４  バッファ状態管理情報
２５  バッファ制御管理情報
６１  送受信制御部
６２  データ格納制御部
６３  出力制御部
６４  転送制御部
６５  時計
６６  完了通知部
６７  リードライト制御部  
６８  初期制御部
７１、７１−１、７１−２
【発明を実施するための最良の形態】
【００１４】
（実施例）
図２にストレージ装置の構成図を示す。【００１５】
ストレージシステムは、ホスト７１とストレージ装置１を有する。そして、ストレージ装置１は、ホスト７１のデータを格納する。【００１６】
ストレージ装置１は、チャネルアダプタ（ＣＡ）２、リモートアダプタ（ＲＡ）３、ディスク装置４、制御モジュール（ＣＭ）５を有する。【００１７】
ＣＡ２は、ホスト７１とのインタフェース制御部である。【００１８】
ＲＡ３は、コピー元のストレージ装置１またはコピー先のストレージ装置１またはコピー元のストレージ装置１およびコピー先のストレージ装置１とのインタフェース制御部である。【００１９】
ディスク装置４は、ＣＭ５からのデータのライト指示に従い、データをライトする。また、ＣＭ５からのリード指示に従い、データを読み出し、ＣＭ５へ転送する。【００２０】
ＣＭ５は、ホスト７１からのライトコマンドによりデータをディスク装置４にライトする制御を行う。また、ホスト７１からのリードコマンドによりデータをディスク装置４からリードする制御を行う。また、遠隔地のストレージ装置１との間で、リモートコピー制御を行う。そして、ＣＭ５は、セントラルプロセッサユニット（ＣＰＵ）６、キャッシュメモリ（ＣＡＣＨＥ）７、ファイバチャネルインタフェース制御部（ＦＣ）８を有する。ＣＭ５は、同一構成のＣＭ５−０、ＣＭ５−１の２つから構成される。【００２１】
ＣＰＵ６は、ＣＭ５を制御する。ＣＭ５−０にＣＰＵ６−０が、ＣＭ５−１にＣＰＵ６−１が搭載されている。【００２２】
ＣＡＣＨＥ７は、ＣＭ５内のメモリである。ＣＭ５−０にＣＡＣＨＥ７−０が、ＣＭ５−１にＣＡＣＨＥ７−１が搭載されている。ホスト７１からのユーザデータ、制御データ等が格納される。また、リモートコピーモードに使用されるバッファ９を有する。ＣＡＣＨＥ７−０にバッファ９−０が、ＣＡＣＨＥ７−１にバッファ９−１が搭載されている。そしてホストからのデータ、そのコピーデータのディスク装置４への書込みは、ＣＡＣＨＥ７のユーザデータ領域を経由して行われる。【００２３】
バッファ９は、コピーデータを格納するコンシステンシーバッファ１１と各種情報バッファ１２を有する。バッファ９−０に、コンシステンシーバッファ１１−０と各種情報バッファ１２−０が、バッファ９−１にコンシステンシーバッファ１１−１と各種情報バッファ１２−１が格納されている。【００２４】
ＦＣ８は、ディスク装置４とのインタフェース制御部である。【００２５】
バッファ９の各種情報としては、コピーセッション管理情報２１、コンシステンシーバッファ管理情報２２、装置管理情報２３、バッファ状態管理情報２４、バッファ制御管理情報２５の５つの情報がある。
コンシステンシーバッファ１１は、複数のコンシステンシーバッファ１１から構成されている。そして、複数のコンシステンシーバッファ１１の順序性を維持しながら切り替えて行くことで順序性保証を行う機能となっている。これは、各コンシステンシーバッファ１１内のデータが全てディスク装置４に書き込まれることが保証できれば、ホスト７１からのライトコマンドのデータの順序性は保たれるためである。【００２６】
図３にコピーセッション管理情報を示す。
コピーセッション管理情報２１は、リモートコピーを行う範囲を示すＬＵＮ（LOGICAL  UNIT NUMBER）、ＬＢＡ（LOGICAL  BLOCK  ADDRRES）を表す。コピーセッション管理情報２１は、セッション識別子、セッションステータス、コピー元ＬＵＮ、コピ先ＬＵＮ、コピー元のコピー対象開始ＬＢＡ、コピー先のコピー対象開始ＬＢＡ、コピー対象ＬＢＡ数、コピー状態管理ビットマップ（ＢｉｔＭａｐ）で構成される。ＬＵＮは、ディスク装置４の論理ユニット番号を示す。ＬＢＡは、ＬＵＮ内の論理ブロックアドレスを示す。
セッション識別子は、そのセッションを示すユニークな番号を示す。
セッションステータスは、稼働中、一時停止中などのセッションの状態を示す。
また、ＬＵＮ、ＬＢＡは、ホスト７１あるいは、ストレージ装置１に接続されたＬＡＮ経由のセッション確立のための専用コマンドにより，コピーを採取したいタイミングで設定される。すなわち、コマンドのパラメータにて、コピー元およびコピー先のＬＵＮ／開始ＬＢＡ／ＬＢＡ数の情報が指定され、それをコピーセッション管理情報２１に反映される。
コピー状態管理ＢｉｔＭａｐは、コピー範囲にあるＬＵＮ、ＬＢＡのリモートコピーが完了したか否かをビットフラグで示す。そのため、あるＬＢＡが未コピー状態のときは、対応するビットをオンとし、コピー済みであれば、対応するビットをオフとする。【００２７】
図４にコンシステンシーバッファ管理情報を示す。
コンシステンシーバッファ管理情報２２は、コンシステンシーバッファ１１上に格納されているデータのアドレス情報を示す。コンシステンシーバッファ管理情報２２は、ステータス、コピー元ＬＵＮ、コピー先ＬＵＮ、コピー元ＬＢＡ、コピー先ＬＢＡ、ブロック数で構成される。
ステータスは、データの格納状況を示す。すなわち格納済状態、未格納状態を示す。コンシステンシーバッファ１１へ格納されたデータのコピー元のアドレス情報は、コピー元ＬＵＮ、コピー元ＬＢＡに、コピー先のアドレス情報はコピー先ＬＵＮ、コピー先ＬＢＡにより示される。【００２８】
図５に装置管理情報を示す。
装置管理情報２３は、他のストレージ装置１との接続関係を示す。装置管理情報２３は、自装置識別子、フラグ、送信元装置識別子、送信先装置識別子で構成される。
自装置識別子は、自装置の識別情報を示す。
フラグは、自装置についての接続状態、すなわち送信元、送信先の接続の有無を示す。カスケード接続の中間に位置する装置の場合には、送信元、送信先両方のフラグが設定されている。条件に当てはまる場合には、コピー元のストレージ装置１からのコピーデータをディスク装置４に対して反映する処理とともに、次のストレージ装置１のバッファ９への転送を開始する。
送信元装置識別子は、コピーデータの送信元のストレージ装置１の識別情報を示す。
送信先装置識別子は、コピーデータの送信先のストレージ装置１の識別情報を示す。【００２９】
図６にバッファ状態管理情報を示す。
バッファ状態管理情報２４は、コンシステンシーバッファ１１の状態を示す情報であり、フラグ、転送処理開始時刻を有する。
フラグは、コンシステンシーバッファ１１の状態を表す。コピーデータについて「コンシステンシーバッファ１１への格納状態」、「コンシステンシーバッファ１１からの転送状態」、「コンシステンシーバッファ１１からディスク装置４に対する反映状態」の３つの状態を示す。カスケード接続の中間のストレージ装置１である場合には、「ディスク装置４に対する反映状態」と次のストレージ装置１に対する「コンシステンシーバッファ１１からの転送状態」の両方の状態が設定されていることになる。どちらかの処理が先に完了した場合には、完了した状態がリセットされる。
転送処理時刻は、転送処理を開始した時刻が設定される。この情報と現在の時刻の差分により転送処理時間が求まる。一定時間を越えた場合に、転送中止を示すＨＡＬＴ処理を行うための制御に用いる。【００３０】
図７にバッファ制御管理情報を示す。【００３１】
バッファ制御管理情報２５は、ストレージ゛装置１−１〜１−３間のコンシステンシーバッファ１１の対応関係を示す。
例えば、ストレージ装置１−１のコピー元バッファ識別情報１Ａ（ＣＭ５−０）は、ストレージ装置１−２のコピー先バッファ識別情報１Ｂ（ＣＭ５−０）、ストレージ装置１−３のコピー先バッファ識別情報１Ｃ（ＣＭ５−０）に対応する。また、ストレージ装置１−１のコピー元バッファ識別情報１Ａ（ＣＭ５−１）は、ストレージ装置１−２のコピー先バッファ識別情報１Ｂ（ＣＭ５−１）、ストレージ装置１−３のコピー先バッファ識別情報１Ｃ（ＣＭ５−１）に対応する。
これらの対応がコンシステンシーバッファ１１のＮ個分準備されている。
このバッファ制御管理情報２５は、予め各ストレージ装置１に格納しておく。または、初期処理のときに、ストレージ装置１−１からのバッファ要求により、ストレージ装置１−２およびストレージ装置１−３から対応するバッファ識別番号と領域のサイズを通知する仕組みを用いることもできる。
そして、リモートコピーのためのデータの転送のときに、コピー先で使用するバッファ識別番号を送信する。【００３２】
図８にＣＰＵの制御の説明図を示す。【００３３】
ＣＰＵ６は、リモートコピーのために、送受信制御部６１、データ格納制御部６２、入出力制御部６３、転送制御部６４、時計６５、完了通知部６６、初期制御部６７を有する。【００３４】
送受信制御部６１は、ＣＡ２とのデータの送受信処理を行う。【００３５】
データ格納制御部６２は、３つのデータ格納機能を有する。（１）ホスト７１との送受信データを格納する処理を行なう。（２）コピー元のストレージ装置１からのデータを転送制御部６４が受信すると、そのデータをコンシステンシーバッファ１１に格納する処理を行なう。（３）コピー先のストレージ装置１に転送するためのコピーデータを、ディスク装置４またはＣＡＣＨＥ７からコンシステンシーバッファ１１に格納する処理を行なう。【００３６】
入出力制御部６３は、コピー元のストレージ装置１から転送されコンシステンシーバッファ１１に格納されたデータをディスク装置４に格納する処理を行なう。また、ホスト７１からのデータをディスク装置４にライトする制御、およびディスク装置４からデータをリードしホスト７１へ送信する制御を行う。【００３７】
転送制御部６４は、３つの制御機能を有する。（１）コンシステンシーバッファ１１に格納されたデータをコピー先のストレージ装置１に転送する処理を行う。（２）コピー元のストレージ装置１からコピーデータ等を受信し、データ格納制御部６２に渡す制御を行う。（３）時計を測定して、転送開始時刻から閾値の時間を経過しているのを検出したときには、タイムアップしたとして、コピー先のストレージ装置１への転送を中止する処理を行なう。【００３８】
時計６５は、転送制御部６４がコンシステンシーバッファ１１に格納されたデータをコピー先のストレージ装置１に転送する時間を監視するために用いられる。【００３９】
完了通知部６６は、コピー元のストレージ装置１にコピー処理が完了したことを通知する処理を行なう。【００４０】
初期制御部６７は、装置管理情報２３のフラグの設定処理、コピーセッションの確立制御等の初期処理を行なう。【００４１】
図９にストレージ装置のカスケード接続の説明図を示す。【００４２】
動作概要は以下のとおりである。【００４３】
図９（Ａ）は、カスケード接続例を示す。【００４４】
ストレージ装置１−１、ストレージ装置１−２、ストレージ装置１−３がカスケード接続されている。【００４５】
ホスト７１からストレージ装置１−１へのライトコマンドのデータＩ／Ｏ（１）〜（５）を受信して、順序性を維持しながら、ストレージ装置１−２、ストレージ装置１−３に転送する例を示す。【００４６】
図９（B）にコンシステンシーバッファ間の説明図を示す。【００４７】
コンシステンシーバッファ１１は、コンシステンシーバッファ１１−０とコンシステンシ-バッファ１１−１のバッファセットからなる。【００４８】
そして、各ストレージ装置１は、複数のバッファセットを有する。複数のバッファセットは、各ストレージ装置１間で対応している。
バッファセットのコンシステンシーバッファ１１−０（１Ａ）とコンシステンシ-バッファ１１−１（１Ａ）からバッファセットのコンシステンシーバッファ１１−０（NＡ）とコンシステンシ-バッファ１１−１（NＡ）までのN個のバッファセットは、バッファフルになるか、データ格納から一定時間の経過により、順次切換えられて使用される。
そして、ストレージ装置１−２およびストレージ装置１−３のバッファセットは、各コピー元のストレージ装置１の指示により順次切り替えられる。このバッファセットの順序性を保証することで、コピーデータの順序性を保証している。
リモートコピーは、コピー元として指定したストレージ装置１−１のディスク装置４のデータを、コピー先として指定したストレージ装置１−２、ストレージ装置１−３のディスク装置４に、ストレージ装置１の間のパスを経由してコピーする機能である。そして、ストレージ装置１の間のコピーが完了することで、ストレージ装置１−１〜ストレージ装置１−３の間の等価性が完成する。【００４９】
このため、まず、ホスト７１等からの指示によりコピー元のストレージ装置１とコピー先のストレージ装置１との間にリモートコピーのためのセッションを確立する。次に、コピー対象のデータをコピー元のストレージ装置１−１からコピー先のストレージ装置１−２へ転送し、ストレージ装置１−２への転送が完了すると、ストレージ装置１−２からストレージ装置１−３へ更に転送する。コピーデータの転送のため、一旦コピー元のストレージ装置１−１のコンシステンシーバッファ１１に格納してから一括してコピー先のストレージ装置１−２のコンシステンシーバッファ１１へ転送する。次に、ストレージ装置１−２のコンシステンシーバッファ１１から一括してコピー先のストレージ装置１−３のコンシステンシーバッファ１１へ転送する。一方、コンシステンシーバッファ１１に格納されたコピーデータは、ストレージ装置１−２、ストレージ装置１−３のディスク装置４にライトされる。コンシステンシーバッファ１１の転送は、コンシステンシーバッファ１１−０とコンシステンシーバッファ１１−１のバッファセットで行われる。【００５０】
図１０にリモートコピーの説明図を示す。【００５１】
ストレージ装置１−１からストレージ装置１−３までがカスケードに接続される例である。また、ホスト７１−１は、ストレージ装置１−１に接続されている。ホスト７１−２は、ストレージ装置１−２に接続されている。
（１）コピーセッション確立処理
まず、ホスト７１−１からリモートコピーのためのコピーセッション情報をストレージ装置１−１が受信する。このコピーセッション情報は、セッション確立のための情報であり、コピー元およびコピー先のＬＵＮ／開始ＬＢＡ／ＬＢＡ数の情報が含まれる。【００５２】
次に、ストレージ装置１−１は、コピーセッション情報をストレージ装置１−２に送信すると、ストレージ装置１−２は、セッション確立の応答をストレージ装置１−１に返送する。次に、ストレージ装置１−１は、セッション確立の応答をホスト７１−１に返送する。【００５３】
また、ホスト７１−２からリモートコピーのためのコピーセッション情報をストレージ装置１−２が受信する。【００５４】
次に、ストレージ装置１−２は、コピーセッション情報をストレージ装置１−３に送信すると、ストレージ装置１−３は、セッション確立の応答をストレージ装置１−２に返送する。次に、ストレージ装置１−２は、セッション確立の応答をホスト７１−２に返送する。【００５５】
このようにして、ストレージ装置１−１からストレージ装置１−３間で、コピーセッションが確立する。ホスト７１−１とホスト７１−２は、連携してコピーセッション情報の処理を行なっている。
（２）Ｉ／Ｏ（１）〜（５）のコピー処理
次に、ホスト７１−１からストレージ装置１−１へのライトデータ、例えばＩ／Ｏ（１）〜（５）を受信する。各データに関する所定の情報をコンシステンシーバッファ管理情報２２に格納するだけで、コピー処理は行わずに、ＣＡＣＨＥ７を経由してディスク装置４へデータを格納する。【００５６】
次に、ホスト７１−１からストレージ装置１−１へのライト処理が完了すると、コンシステンシーバッファ管理情報２２に基づいてディスク装置４またはＣＡＣＨＥ７からリモートコピーのためのデータを取得し、コンシステンシーバッファ１１に転送する。【００５７】
次に、コピー元のストレージ装置１−１では、ＣＭ５−０のコンシステンシーバッファ１１−０およびＣＭ５−１のコンシステンシーバッファ１１−１のバッファセットの一方がフルになった場合、または一定時間の経過により、まずコピー先で使用するバッファ識別番号を通知する。そして、ストレージ装置１−２は、コピー先バッファ識別番号を受信すると、使用するコンシステンシーバッファ１１を割り付ける。【００５８】
次に、ストレージ装置１−１は、コンシステンシーバッファ管理情報２２をコピーデータの送信に先立ち送信する。【００５９】
次に、ストレージ装置１−１は、Ｉ／Ｏ（１）〜Ｉ／Ｏ（５）のデータを一括してコピー先のストレージ装置１−２の対応するコンシステンシーバッファ１１に転送する。【００６０】
次に、コピー先のストレージ装置１−２では、受信したデータを即時にディスク装置４へ反映させるのではなく、コンシステンシーバッファ１１へのデータの受信が完了するのを待ち合わせる。
このように、コピー先のストレージ装置１−２では、全てのコピーデータをコンシステンシーバッファ１１に格納した後にまとめてディスク装置４へ出力する。また、ストレージ装置１−２は、Ｉ／Ｏ（１）〜Ｉ／Ｏ（５）のデータを受信し、コンシステンシーバッファ１１への格納が完了すると、ストレージ装置１−３に一括して転送する。【００６１】
このため、まずストレージ装置１−２は、コピー先のストレージ装置１−３で使用するバッファ識別番号を通知する。コピー先のストレージ装置１−３は、コンシステンシーバッファ１１を割り付ける。【００６２】
次に、ストレージ装置１−２のコンシステンシーバッファ１１に対応するコンシステンシーバッファ管理情報２２をコピーデータの送信に先立ちストレージ装置１−３に送信する。【００６３】
次に、ストレージ装置１−２からストレージ装置１−３に、Ｉ／Ｏ（１）〜Ｉ／Ｏ（５）のデータを送信する。【００６４】
そして、ストレージ装置１−２は、コピーデータのディスク装置４への出力が完了し、かつ、ストレージ装置１−３からストレージ装置１−３のディスク装置４へのライト処理が完了したことを示す完了通知を受けると、コピー元のストレージ装置１−１へ完了通知を送信する。【００６５】
このように、ストレージ装置１の間においては、コピーデータをコンシステンシーバッファ１１間で転送する。そして、複数のコンシステンシーバッファ１１は、各ストレージ装置１において、シーケンスを保証している。この結果、ストレージ装置１の間のリモートコピーにおけるデータの順序性は、維持される。
（３）Ｉ／Ｏ（６）〜（１０）のコピー処理
また、ストレージ装置１−２において、コンシステンシーバッファ１１についてのストレージ装置１−３への転送開始から転送終了までの時間監視を行う。【００６６】
例えば、ストレージ装置１−１からストレージ装置１−２に次のＩ／Ｏ（６）〜Ｉ／Ｏ（１０）のデータを受信したものとする。そして、ストレージ装置１−２からストレージ装置１−３へのＩ／Ｏ（６）〜Ｉ／Ｏ（１０）のデータの転送の途中で、監視時間が閾値を経過してタイムアウトになった場合には、ストレージ装置１−３への転送を直ちにＨＡＬＴ状態とする。【００６７】
このとき、ストレージ装置１−２がＩ／Ｏ（６）〜Ｉ／Ｏ（１０）のデータの出力を完了すると、完了通知をストレージ装置１−１に返送する。
ストレージ装置１−２は、ストレージ装置１−３への転送が完了しないと、ストレージ装置１−２のコンシステンシーバッファ１１を開放できないことが発生するためである。
すなわち、コピー元のストレージ装置１−１からストレージ装置１−２への新たな転送が発生した場合に、ストレージ装置１−２で受信のために使用できるコンシステンシーバッファ１１がなくなると、ストレージ装置１−１は、ストレージ装置１−２がＨＡＬＴ状態と判断して、転送を中止してしまうためである。
このため、ストレージ装置１−２は、ストレージ装置１−３への転送が、ストレージ装置１−１とストレージ装置１−２間の転送に極力影響を及ぼさないように早めの転送中断処理を行う。
（４）Ｉ／Ｏ（１１）〜（１５）のコピー処理
例えば、Ｉ／Ｏ（６）〜Ｉ／Ｏ（１０）のあとにストレージ装置１−２がＩ／Ｏ（１１）〜Ｉ／Ｏ（１５）のデータを受信して、ディスク装置４に出力を完了すると、ストレージ装置１−１に完了通知を返送する。このとき、ストレージ装置１−３は、ＨＡＬＴ状態のため、ストレージ装置１−３にＩ／Ｏ（１１）〜Ｉ／Ｏ（１５）のデータを転送しない。
このように、時間監視制御を追加することにより，少なくともストレージ装置１−１とストレージ装置１−２間のコピーデータの転送処理の継続が可能となる。この結果、リモートコピーによる等価性を少なくともストレージ装置１台は、維持できる。【００６８】
図１１にホストからのデータの受信処理の流れ図を示す。
ホスト７１からストレージ装置１−１へのデータ受信処理の説明である。
予め、初期処理において、装置管理情報２３にはカスケード接続であることがフラグに設定されている。またコピーセッション確立処理は完了している状態である。
ホスト７１からライトコマンドによりデータを受信する（Ｓ１１）。
次に、ライトコマンドによる更新箇所をコピーセッション管理情報２１のコピー状態管理ビットマップの対応する箇所をオンにすることで、コピーセッション管理情報２１を更新する（Ｓ１２）。
次に、コンシステンシーバッファ管理情報２２にライトコマンドのコピー元ＬＵＮ／ＬＢＡ、コピー先ＬＵＮ／ＬＢＡを格納する。コピー先ＬＵＮ／ＬＢＡ情報は，ライトコマンドのＬＢＡ情報およびコピーセッション管理情報２１から求める。
次に、コンシステンシーバッファ管理情報２２は、ライトコマンドのデータの受信の順序に従って、生成される。
次に、コンシステンシーバッファ管理情報２２のステータスを未格納状態とする。コンシステンシーバッファ管理情報２２は、コンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１毎に更新される（Ｓ１３）。
次に、ライトコマンドのデータに関して更新処理を実施する（Ｓ１４）。すなわち、ライトコマンドのデータをＣＡＣＨＥ７経由でディスク装置４にライトする。
次に、ホスト７１に対して、ライトコマンドに対するコマンド完了通知を報告する（Ｓ１５）。
これらの処理をホスト７１からのライトコマンド毎に行なう。【００６９】
図１２にコピー処理Ａの処理の流れ図を示す。
ストレージ装置１−１のコピー処理の説明である。
ストレージ装置１−１からストレージ装置１−２へのコピー処理を行なう。
Ｓ１５ステップにより、ホスト７１からのデータの更新処理が完了すると、転送制御部６４は、ディスク装置４またはＣＡＣＨＥ７からバッファ９のコンシステンシーバッファ１１に対して、データのコピー処理を行う。
このため、更新したコンシステンシーバッファ管理情報２２のステータスの未格納状態を検索する。そして、未格納状態を検出すると、対応するコピー元のデータをディスク装置４、またはＣＡＣＨＥ７から抽出する。そして、そのデータをコンシステンシーバッファ１１に転送する（Ｓ２１）。
転送の完了により、コンシステンシーバッファ管理情報２２のステータスの未格納状態を格納状態に変更する。【００７０】
次に、データの転送が完了か否かをチェックする（Ｓ２２）。【００７１】
転送が完了すると、転送制御部６４は、バッファ制御管理情報２５、コンシステンシーバッファ管理情報２２をストレージ装置１−２に送信しておく。
次に、コンシステンシーバッファ１１に格納されたコピーデータを一括してコピー先のストレージ装置１−２のコンシステンシーバッファ１１に転送する（Ｓ２３）。
ストレージ装置１−１のコンシステンシーバッファ１１には、コンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１があるため、ストレージ装置１−２の対応するコンシステンコンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１にコピーデータが、転送される。
また、転送が完了する（Ｓ２４）と、ストレージ装置１−２からの完了通知を待つ（Ｓ２５）。
完了通知を受信すると、ストレージ装置１−１のコンシステンシーバッファ１１を開放する（Ｓ２６）。また、コピー状態管理ビットマップから転送完了したデータに対応するビットをクリアする。【００７２】
この結果、コピーデータの順序性を確保しながら、カスケード接続された複数のストレージ装置１において、リモートコピーが可能となる。【００７３】
図１３にコピー処理Ｂの処理の流れ図を示す。
ストレージ装置１−２のコピー処理の説明である。
ストレージ装置１−２からストレージ装置１−３へのコピー処理を行なう。
コピーセッションの確立は、終了しているものとする。
まず、初期制御部６７によりカスケード接続の中間位置に設定されていることを認識すると、ストレージ装置１−２は、コンシステンシーバッファ管理情報２２の領域を２つ獲得する。
第１の領域は、ストレージ装置１−１とストレージ装置１−２間のコピーセッションのためにある。第２の領域は、ストレージ装置１−２とストレージ装置１−３間のコピーセッションのためにある。【００７４】
まず、ストレージ装置１−２は、ストレージ装置１−１からバッファ制御管理情報２５を受信すると、コンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１の割付をする。【００７５】
次に、ストレージ装置１−１からコンシステンシーバッファ管理情報２２を受信すると、ストレージ装置１−２のコンシステンシーバッファ管理情報２２の第１の領域に、ステータス状態を未格納状態に更新し、それ以外はそのまま格納する。【００７６】
また、ストレージ装置１−２とストレージ装置１−３間のコピーのために、ストレージ装置１−１から受信したコンシステンシーバッファ管理情報２２の内容の中のコピー先ＬＵＮ、コピー先ＬＢＡ、ブロック数を、ストレージ装置１−２のコンシステンシーバッファ管理情報２２の第２の領域にコピー元ＬＵＮ、コピー元ＬＢＡ、ブロック数として格納する。そして、コピー先ＬＵＮ、コピー先ＬＢＡは、コピーセッション管理情報２１とコピー元のＬＢＡとから確定する。
次に、コピーデータを受信すると、コンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１に格納する（Ｓ３１）。また、コピーセッション管理情報２１のコピー状態管理ビットマップの該当ビットをオンとする。また、第１の領域のコンシステンシーバッファ管理情報２２の該当のステータス状態を格納状態に更新する。
ストレージ装置１−１のコンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１から全てのコピーデータの受信を完了すると（Ｓ３２）、ディスク装置４へコピーデータを転送する（Ｓ３３）。
また、カスケード接続に設定されているため、ディスク装置４へコピーデータを転送するとともに、ストレージ装置１−３への転送を開始するため、時計６５から時刻を取得してコンシステンシーバッファ状態管理情報２４に転送処理開始時刻を設定する（Ｓ３４）。
次に、ストレージ装置１−２は、バッファ制御管理情報２５、コンシステンシーバッファ管理情報２２をストレージ装置１−３に送信する。
次に、コンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１のデータ状態を維持したまま、カスケード接続先のストレージ装置１−３のコンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１に一括転送する（Ｓ３５）。
また、ストレージ装置１−２のディスク装置４へのコピーデータを転送完了したか否か（Ｓ３６）およびコピー先のストレージ装置１−３へ転送を終了したか否か（Ｓ３７）をチェックする。
ディスク装置４へのコピーデータの転送およびコピー先のストレージ装置１−３へ転送が終了している場合には（Ｓ３８）、完了通知をストレージ装置１−１へ送信する（Ｓ３９）。
次に、コンシステンシーバッファ１１を解放する（Ｓ４０）。また、コピー状態管理ビットマップから転送完了したデータに対応するビットをクリアする。
ディスク装置４へのコピーデータの転送が完了し、コピー先のストレージ装置１−３へ転送処理時刻を確認すると、監視時間が閾値を超えている場合には（Ｓ４１）、ストレージ装置１−３への転送を強制終了し（Ｓ４２）、Ｓ３８ステップへ行く。  
コピー元のストレージ装置１−１からの転送が存在する場合に、極力影響を及ぼさないように早めの転送中断処理を行う。
このように、時間監視制御を追加することにより、少なくとも１装置間のデータ転送処理が継続できる。
また、コピーデータの順序性を確保しながら、カスケード接続された複数のストレージ装置１において、リモートコピーが可能となる。
また、コンシステンシーバッファ１１は、コピー元のストレージ装置１から受信したコピーデータの格納を完了すると、その格納状態を維持したまま、コピー先のストレージ装置１へ転送することで、コンシステンシーバッファ１１を受信用と送信用に２種類持つ必要がないため、コンシステンシーバッファ１１容量を削減できる。【００７７】
図１４にコピー処理Ｃの処理の流れ図を示す。【００７８】
ストレージ装置１−３のコピー処理の説明である。【００７９】
まず、ストレージ装置１−３は、ストレージ装置１−２から、バッファ制御管理情報２５を受信すると、コンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１の割付を行う。そして、次に、ストレージ装置１−２から受信したコンシステンシーバッファ管理情報２２をストレージ装置１−３のコンシステンシーバッファ管理情報２２の領域に、ステータス状態を未格納状態に更新し、それ以外はそのまま格納する。
次に、ストレージ装置１−３は、コピーデータを受信すると（Ｓ５１）、コンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１に格納する（Ｓ５２）。このとき、コンシステンシーバッファ管理情報２２の該当のステータス状態を格納状態に変更する。
ストレージ装置１−２のコンシステンシーバッファ１１−０、コンシステンシーバッファ１１−１から全てのコピーデータの受信を完了すると（Ｓ５３）、コンシステンシーバッファ管理情報２２のステータスの格納状態を検出して、そのコピー先のＬＵＮ、コピー先のＬＢＡの情報を抽出する。次にその内容に従って、ディスク装置４へコピーデータを反映する（Ｓ５４）。
ディスク装置４へのコピーデータの転送を全て完了したか否かをチェックする（Ｓ５５）。
ディスク装置４へのコピーデータの全ての転送が完了している場合には、完了通知をストレージ装置１−２へ送信する（Ｓ５６）。
次に、コンシステンシーバッファ１１を解放する（Ｓ５７）。【００８０】
この結果、コピーデータの順序性を確保しながら、カスケード接続された複数のストレージ装置１において、リモートコピーが可能となる。【００８１】
また、ストレージ装置１−２、ストレージ装置１−３のコピー元へのコピー完了通知は、ディスク装置４へのデータの書き込み完了後ではなく、ＣＡＣＨＥ７へのデータの書込み完了後でもよい。
【産業上の利用可能性】
【００８２】
ストレージシステムのカスケード接続されたストレージ装置間で、ホストから受信したデータについて順序性を維持したリモートコピーを行う用途に用いることができる。
【図１】
2008139545.tif 000003
【図２】
2008139545.tif 000004
【図３】
2008139545.tif 000005
【図４】
2008139545.tif 000006
【図５】
2008139545.tif 000007
【図６】
2008139545.tif 000008
【図７】
2008139545.tif 000009
【図８】
2008139545.tif 000010
【図９】
2008139545.tif 000011
【図１０】
2008139545.tif 000012
【図１１】
2008139545.tif 000013
【図１２】
2008139545.tif 000014
【図１３】
2008139545.tif 000015
【図１４】
2008139545.tif 000016
【国際調査報告】
2008139545.tif 000017
2008139545.tif 000018
2008139545.tif 000019
2008139545.tif 000020