(57)【要約】【課題】遠隔バックアップ動作において、マスタストレージシステム側のコピーレスポンス性能を向上させる。【解決手段】マスタストレージシステム１１とキャッシュストレージシステム１２とが接続されるネットワークＮ上に、キャッシュストレージシステム１２が、マスタストレージシステム１１との接続距離が近距離となるように配置される。キャッシュストレージシステム１２は、マスタストレージシステム１１から送信される、マスタディスク１１０からバックアップディスク１３０にコピーすべきコピーデータを受信してキャッシュディスク１２０に一旦格納する（Ｓ２）。キャッシュストレージシステム１２は、このキャッシュディスク１２０に格納されたコピーデータを、サブストレージシステム１３に送信してバックアップディスク１３０に格納させる（Ｓ３）。【選択図】      図５
2006155202.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから要求されたデータの読み出し／書き込みが可能なマスタディスクを含むマスタストレージシステムと、
前記マスタディスクの複製を保持するためのバックアップディスクを含み、前記マスタストレージシステムから遠隔の地に配置されて、前記マスタストレージシステムとネットワークにより接続されるサブストレージシステムと、
前記サブストレージシステムと比べて前記マスタストレージシステムの近傍に配置され、前記ネットワークにより前記マスタストレージシステム及び前記サブストレージシステムと接続されるキャッシュストレージシステムであって、前記マスタストレージシステムから送信される当該マスタストレージシステムの前記マスタディスクから前記サブストレージシステムの前記バックアップディスクにコピーすべきコピーデータを一時格納するためのキャッシュディスクと、前記キャッシュディスクに格納されたコピーデータを前記サブストレージシステムに送信して当該サブストレージシステムの前記バックアップディスクに格納させるコピーデータ送信手段とを含むキャッシュストレージシステムと
を具備することを特徴とする遠隔バックアップシステム。
【請求項２】
前記キャッシュストレージシステムは、前記マスタストレージシステムから送信されるコピーデータを受信して、その受信されたコピーデータを受信順に前記キャッシュディスクの連続する領域にシーケンシャルに格納するコピーデータ受信手段を更に含み、
前記コピーデータ送信手段は、前記キャッシュディスクに格納されたコピーデータを受信順にシーケンシャルに読み出して前記サブストレージシステムに送信する
ことを特徴とする請求項１記載の遠隔バックアップシステム。
【請求項３】
前記コピーデータ受信手段は、前記受信されたコピーデータをセクタ単位で、当該コピーデータの格納先を表すコピーデータアドレスとペアにして、受信順に前記キャッシュディスクにシーケンシャルに格納し、
前記コピーデータ送信手段は、前記キャッシュディスクに格納されたコピーデータ及びコピーデータアドレスのペアを受信順にシーケンシャルに読み出して、当該読み出されたペア中のコピーデータを当該読み出されたペア中のコピーデータアドレスの指定する前記バックアップディスクのセクタ領域に格納させる
ことを特徴とする請求項２記載の遠隔バックアップシステム。
【請求項４】
前記キャッシュストレージシステムは、前記マスタストレージシステムから送信されるコピーデータを一時格納するためのキャッシュメモリを更に含み、
前記コピーデータ受信手段は、前記マスタストレージシステムから送信されて受信されたコピーデータを受信順に前記キャッシュメモリに格納するキャッシュメモリ格納手段と、前記キャッシュメモリに格納されたコピーデータを受信順に読み出して前記キャッシュディスクの連続する領域にシーケンシャルに格納するキャッシュディスク格納手段とを含む
ことを特徴とする請求項２記載の遠隔バックアップシステム。
【請求項５】
前記キャッシュディスク格納手段は、前記キャッシュメモリに格納されていて前記キャッシュディスクに未だ格納されていないコピーデータの量が基準データ量に達した段階で、前記キャッシュディスクに未だ格納されていないコピーデータを前記キャッシュメモリから受信順に読み出して前記キャッシュディスクの連続する領域にシーケンシャルに格納し、
前記コピーデータ送信手段は、前記キャッシュディスク格納手段によって前記キャッシュディスクにコピーデータが格納されない期間を利用して、前記キャッシュディスクに格納されたコピーデータを受信順にシーケンシャルに読み出して前記サブストレージシステムに送信する
ことを特徴とする請求項４記載の遠隔バックアップシステム。
【請求項６】
前記マスタストレージシステムは、前回のバックアップ時点から次のバックアップ開始時点までの前記ホストコンピュータによる前記マスタディスクに対するデータ更新を管理するためのデータ更新管理テーブルと、バックアップ開始時に、前回のバックアップ時点から現時点までの期間に前記マスタディスクにおいて更新された更新データを、前記データ更新管理テーブルに基づいて特定し、その特定された更新データを前記バックアップディスクにコピーすべきコピーデータとして、前記キャッシュストレージシステムに送信する手段とを更に含むことを特徴とする請求項２記載の遠隔バックアップシステム。
【請求項７】
マスタストレージシステムが有するマスタディスクのデータを、前記マスタストレージシステムから遠隔の地に配置されて、前記マスタストレージシステムとネットワークにより接続されるサブストレージシステムが有するバックアップディスクにコピーする遠隔バックアップ方法であって、
前記サブストレージシステムと比べて前記マスタストレージシステムの近傍に配置され、前記ネットワークにより前記マスタストレージシステム及び前記サブストレージシステムと接続されるキャッシュストレージシステムに対し、前記マスタストレージシステムの前記マスタディスクから前記サブストレージシステムの前記バックアップディスクにコピーすべきコピーデータを、前記マスタストレージシステムから送信する第１の送信ステップと、
前記マスタストレージシステムから前記キャッシュストレージシステムに送信されたコピーデータを受信して、前記キャッシュストレージシステムが有するキャッシュディスクに格納する受信ステップと、
前記キャッシュディスクに格納されたコピーデータを前記サブストレージシステムに送信して当該サブストレージシステムの前記バックアップディスクに格納させる第２の送信ステップと
を具備することを特徴とする遠隔バックアップ方法。
【請求項８】
前記受信ステップは、前記マスタストレージシステムから送信されるコピーデータを受信して、その受信されたコピーデータを受信順に前記キャッシュディスクの連続する領域にシーケンシャルに格納し、
前記第２の送信ステップは、前記キャッシュディスクに格納されたコピーデータを受信順にシーケンシャルに読み出して前記サブストレージシステムに送信する
ことを特徴とする請求項７記載の遠隔バックアップ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータにより使用可能なマスタディスクを含むマスタストレージシステムと、バックアップディスクを含み、上記マスタストレージシステムから遠隔の地に配置されて、上記マスタストレージシステムとネットワークにより接続されるサブストレージシステムとを備えた遠隔バックアップシステムに係り、特に、上記マスタディスクのデータを上記バックアップディスクにコピーするのに好適な遠隔バックアップシステム及び方法に関する。
【背景技術】
【０００２】
一般に、遠隔バックアップシステムは、互いに遠く離れて配置された２つのストレージシステムを用いて構成される。両ストレージシステムは、記憶装置としての例えばディスク（論理／物理問わず）を有する。両ストレージシステムは、ファイバチャネル（ＦＣ）、ＡＴＭ（Asynchronous Transfer Mode）回線、或はダークファイバなどを使用して実現されるネットワークを介して接続される。遠隔バックアップシステムでは、両ストレージシステムの間で、当該両システムが有するディスクのマスタ／バックアップ（マスタディスク／バックアップディスク）の関係が定義される。マスタディスクを有するストレージシステムをマスタストレージシステムと呼び、バックアップディスクを有するストレージシステムをサブストレージシステムと呼ぶ。
【０００３】
遠隔バックアップシステムでは、マスタディスクの更新データを、ネットワークを介してバックアップディスクにコピーする動作が定期的に行われる。この定期的にコピーする機能を、定期的遠隔バックアップ機能と呼ぶ。定期的遠隔バックアップのオペレーションは、一般に次のような手順、即ち
（１）遠隔バックアップの構成（マスタディスク／バックアップディスクの関係）を定義
（２）マスタディスクを有するストレージシステム（マスタストレージシステム）でサービスを提供する（＝マスタディスクのデータ更新）
（３）マスタストレージシステムで提供しているサービスを一旦停止させてデータ更新を停止
（４）遠隔バックアップの状態をコピー状態に設定
（５）前回のコピー完了後におけるマスタディスクの更新データをバックアップディスクにコピー
（６）コピー完了後、遠隔バックアップの状態を切り離し状態に設定
（７）マスタストレージシステムで提供しているサービスを再開
という手順で行われる。
【０００４】
上述の遠隔バックアップシステムでは、マスタストレージシステムとサブストレージシステムとの間の接続距離が長距離になると通信レスポンスが低下する。この場合、マスタディスクからバックアップディスクへのデータコピーに長時間を要し、マスタストレージシステムが提供しているサービスの再開が遅れてしまう問題点がある。
【０００５】
一方、近年は、ネットワークを用いたクライアント・サーバ型の分散ファイルシステムであるＮＦＳ（Network File System）サーバにおいて、クライアントからのファイルデータのリード要求に対する応答性能を向上させる技術が提案されている（例えば特許文献１参照）。この特許文献１に記載の技術では、サーバ内に、外部記憶装置から読み出されたデータの複製を保持するキャッシュが設けられる。ここでは、クライアントからサーバに対してファイルデータのリード要求があった場合に、外部記憶装置から読み出されたＩ／Ｏブロックデータに含まれる今回のリード要求に基づくリード要求データばかりでなく、同一Ｉ／Ｏブロックデータに含まれる蓋然性の高い次回以降のリード要求に基づくリード要求データも、先行リード機構により先行してキャッシュに書き込まれる。これにより特許文献１に記載の技術では、キャッシュのヒット率を高め、外記憶装置に対するＩ／Ｏ処理の回数及び時間を減らして、クライアントからのリード要求に対する応答性能を向上させることが可能となる。
【特許文献１】特開２００３−６７２３５号公報（段落００４０乃至００５０、段落００５３）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記したように従来の遠隔バックアップシステムでは、マスタストレージシステムとサブストレージシステムとの間の接続距離が長距離になると通信レスポンスが低下して、マスタディスクからバックアップディスクへのデータコピーが遅くなるという問題がある。
【０００７】
一方、上記特許文献１に記載の技術では、クライアントからサーバへのリード要求に応じて、当該サーバに設けられたキャッシュに、同一Ｉ／Ｏブロックデータに含まれる、要求されたデータ以外のデータも先行してリードすることにより、キャッシュのヒット率を高め、クライアントからのリード要求に対する応答性能を向上させることができる。ここで、特許文献１に記載のサーバは上記遠隔バックアップシステムのマスタストレージシステムに対応し、当該特許文献１に記載のクライアントは遠隔バックアップシステムのサブストレージシステムに対応する。
【０００８】
そこで、特許文献１に記載の技術を遠隔バックアップシステムに適用して、マスタストレージシステムにキャッシュを設けることが考えられる。この場合、サブストレージシステムからマスタストレージシステムに対してリード要求が発行されるならば、そのリード要求に対する応答性能を向上させることができる。しかし、遠隔バックアップシステムで問題となるのは、マスタストレージシステムのマスタディスクからサブストレージシステムのバックアップディスクへのデータコピーに要する時間、つまりデータバックアップ時間である。このため、マスタストレージシステムにキャッシュを設けるだけでは、データバックアップ時間を短縮して、マスタストレージシステムでのサービスを早期に再開するすることは難しい。
【０００９】
本発明は上記事情を考慮してなされたものでその目的は、マスタストレージシステムのマスタディスクのデータを当該マスタストレージシステムから遠隔の地に配置されたサブストレージシステムのバックアップディスクにコピーする遠隔バックアップ動作において、マスタストレージシステム側のコピーレスポンス性能を向上させることができる遠隔バックアップシステム及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の１つの観点によれば、ホストコンピュータから要求されたデータの読み出し／書き込みが可能なマスタディスクを含むマスタストレージシステムと、上記マスタディスクの複製を保持するためのバックアップディスクを含み、上記マスタストレージシステムから遠隔の地に配置されて、上記マスタストレージシステムとネットワークにより接続されるサブストレージシステムとを備えた遠隔バックアップシステムが提供される。この遠隔バックアップシステムは更に、上記サブストレージシステムと比べて上記マスタストレージシステムの近傍に配置され、上記ネットワークにより上記マスタストレージシステム及び上記サブストレージシステムと接続されるキャッシュストレージシステムであって、上記マスタストレージシステムから送信される当該マスタストレージシステムの上記マスタディスクから上記サブストレージシステムの上記バックアップディスクにコピーすべきコピーデータを一時格納するためのキャッシュディスクと、このキャッシュディスクに格納されたコピーデータを上記サブストレージシステムに送信して当該サブストレージシステムの上記バックアップディスクに格納させるコピーデータ送信手段とを含むキャッシュストレージシステムを備える。
【００１１】
このような構成においては、マスタストレージシステムとサブストレージシステムとが接続されるネットワーク上に、キャッシュとしての役割を持つキャッシュディスクを含むキャッシュストレージシステムが、マスタストレージシステムと当該キャッシュストレージシステムとの接続距離がマスタストレージシステムとサブストレージシステムとの接続距離に比べて近距離となるよう配置される。そして、マスタストレージシステムから送信される、当該マスタストレージシステムのマスタディスクからサブストレージシステムのバックアップディスクにコピーすべきコピーデータは、キャッシュストレージシステムで受信されて当該キャッシュストレージシステムのキャッシュディスクに一旦格納される。このキャッシュディスクに格納されたコピーデータは、サブストレージシステムに送信されて、サブストレージシステムのバックアップディスクに格納される。
【００１２】
上記の構成によれば、マスタディスクからバックアップディスクにコピーすべき全てのコピーデータを、マスタストレージシステムからキャッシュストレージシステムに送信し終えた段階で、マスタストレージシステムでのコピー（バックアップ）処理を見かけ上完了させることができる。ここで、キャッシュストレージシステムはマスタストレージシステムの近傍に配置されている。このため、マスタストレージシステムから遠距離にあるサブストレージシステムにコピーデータを送信する場合に、長距離ネットワーク接続が原因で発生していた、マスタストレージシステムとサブストレージシステムとの間の通信レスポンスの低下を緩衝して、マスタストレージシステム側のコピーレスポンス性能を向上させることができる。これにより、マスタストレージシステム側のコピー処理を、実際のバックアップ処理に要する時間よりも短い時間で完了することができる。
【００１３】
ここで、上記キャッシュストレージシステムに、上記マスタストレージシステムから送信されるコピーデータを受信して、その受信されたコピーデータを受信順に上記キャッシュディスクの連続する領域にシーケンシャルに格納するコピーデータ受信手段を持たせるならば、上記キャッシュストレージシステムのコピーデータ送信手段は、上記キャッシュディスクに格納されたコピーデータを受信順にシーケンシャルに読み出して上記サブストレージシステムに送信することができ、キャッシュディスクアクセスを高速に行うことが可能となる。
【００１４】
また、上記キャッシュストレージシステムのコピーデータ受信手段が、上記受信されたコピーデータをセクタ単位で、当該コピーデータの格納先を表すコピーデータアドレスとペアにして、受信順に上記キャッシュディスクにシーケンシャルに格納し、上記キャッシュストレージシステムのコピーデータ送信手段が、上記キャッシュディスクに格納されたコピーデータ及びコピーデータアドレスのペアを受信順にシーケンシャルに読み出して、当該読み出されたペア中のコピーデータを当該読み出されたペア中のコピーデータアドレスの指定する上記バックアップディスクのセクタ領域に格納させる構成とするならば、コピーデータとコピーデータアドレスとのペアを同時にアクセスすることができ、キャッシュディスクアクセスを高速に行うことが可能となる。
【００１５】
また、上記キャッシュストレージシステムに、上記マスタストレージシステムから送信されるコピーデータを一時格納するためのキャッシュメモリを持たせる一方、上記キャッシュストレージシステムのコピーデータ受信手段に、上記マスタストレージシステムから送信されて受信されたコピーデータを受信順に上記キャッシュメモリに格納するキャッシュメモリ格納手段と、上記キャッシュメモリに格納されたコピーデータを受信順に読み出して上記キャッシュディスクの連続する領域にシーケンシャルに格納するキャッシュディスク格納手段とを持たせるならば、マスタストレージシステム側のコピー処理をより一層早期に完了することができる。
【００１６】
また、上記キャッシュメモリに格納されていて上記キャッシュディスクに未だ格納されていないコピーデータの量が基準データ量に達した段階で、上記キャッシュディスク格納手段が、当該キャッシュディスクに未だ格納されていないコピーデータを上記キャッシュメモリから受信順に読み出して上記キャッシュディスクの連続する領域にシーケンシャルに格納する一方、上記キャッシュディスク格納手段によって上記キャッシュディスクにコピーデータが格納されない期間を利用して、つまり上記キャッシュディスク格納手段によって上記キャッシュディスクにコピーデータが格納される期間を外して、上記コピーデータ送信手段が、上記キャッシュディスクに格納されたコピーデータを受信順にシーケンシャルに読み出して上記サブストレージシステムに送信する構成とすると良い。
【００１７】
このような構成においては、キャッシュディスク格納手段によるキャッシュディスクに対するシーケンシャルアクセス（ライトアクセス）と、コピーデータ送信手段によるキャッシュディスクに対するシーケンシャルアクセス（リードアクセス）とが、同時並行的に行われて結果的にランダムアクセスとなるのを極力防止できる。
【発明の効果】
【００１８】
本発明によれば、マスタストレージシステムとサブストレージシステムとが接続されるネットワーク上に、キャッシュストレージシステムを、マスタストレージシステムと当該キャッシュストレージシステムとの接続距離が近距離となるよう配置し、マスタストレージシステムから送信される、当該マスタストレージシステムのマスタディスクからサブストレージシステムのバックアップディスクにコピーすべきコピーデータを、一旦キャッシュストレージシステムのキャッシュディスクに格納してから、サブストレージシステムに送信してバックアップディスクに格納することにより、マスタストレージシステム側のコピーレスポンス性能を向上させて、当該マスタストレージシステム側のコピー処理を早期に完了することができる。その結果、キャッシュストレージシステムがホストコンピュータに提供するサービス、つまりホストコンピュータによるマスタディスクに対するデータ更新を、従来に比べ早期に再開することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施形態につき図面を参照して説明する。  
図１は本発明の一実施形態に係る遠隔バックアップシステムの構成を示すブロック図である。図１に示す遠隔バックアップシステムは、主として、マスタストレージシステム１１と、キャッシュストレージシステム１２と、サブストレージシステム１３と、ホストコンピュータ１４とから構成される。ここで、マスタストレージシステム１１、キャッシュストレージシステム１２及びホストコンピュータ１４は、サブストレージシステム１３と比べて互いに近距離に配置されている。換言すれば、サブストレージシステム１３は、マスタストレージシステム１１、キャッシュストレージシステム１２及びホストコンピュータ１４から遠隔の地に配置されている。
【００２０】
マスタストレージシステム１１は、ホストコンピュータ１４が使用可能なディスク、つまりからホストコンピュータ１４から要求されたデータの読み出し／書き込みが可能なディスク（論理ディスクまたは物理ディスク）を当該ホストコンピュータ１４に提供する。マスタストレージシステム１１は、ディスクアレイに代表されるストレージを有する。マスタストレージシステム１１は、自身が有するバックアップ元（バックアップ対象）となるディスク（マスタディスク）１１０の前回のバックアップ時点から次のバックアップ開始時点までのホストコンピュータ１４によるデータ更新を差分管理テーブル（ＤＴ）１１１を用いて管理する。差分管理テーブル１１１の詳細については後述する。
【００２１】
マスタストレージシステム１１は、バックアップ開始時に、前回のバックアップ時点から現時点までの期間にマスタディスク１１０において更新されたデータ（更新データ）を、差分管理テーブル１１１に基づいて特定する。マスタストレージシステム１１は、特定された更新データを、サブストレージシステム１３内の後述するバックアップディスク１３０にコピー（バックアップ）すべきコピーデータ（バックアップデータ）として、キャッシュストレージシステム１２に送信する。
【００２２】
キャッシュストレージシステム１２は、マスタストレージシステム１１から送信されたバックアップデータを一時格納するキャッシュディスク１２０として利用可能なディスクを含むストレージを有する。キャッシュストレージシステム１２は、マスタストレージシステム１１から送信されたコピーデータを受信してキャッシュディスク１２０に一旦格納し、サブストレージシステム１３に対して受信順にデータを送信する。
【００２３】
サブストレージシステム１３は、キャッシュストレージシステム１２から送信されたコピーデータ（バックアップデータ）を格納するためのコピー先（バックアップ先）となるディスク（バックアップディスク）１３０として利用可能なディスクを含むストレージを有する。このサブストレージシステム１３内のバックアップディスク１３０は、マスタストレージシステム１１内のマスタディスク１１０及びキャッシュストレージシステム１２内のキャッシュディスク１２０と共に、例えばホストコンピュータ１４による遠隔バックアップ構成定義によって指定される。
【００２４】
ホストコンピュータ１４は、マスタストレージシステム１１が有するストレージを利用したサービスの提供を当該マスタストレージシステム１１から受ける。ホストコンピュータ１４は、マスタストレージシステム１１が有するストレージに対するデータ更新を行う。つまりホストコンピュータ１４は、マスタストレージシステム１１からのサービス提供先であって、且つマスタストレージシステム１１に対するデータ更新元である。
【００２５】
ホストコンピュータ１４とマスタストレージシステム１１とは、例えばＦＣ（ファイバチャネル）１５によって接続されている。このＦＣ１５は、ホストコンピュータ１４とマスタストレージシステム１１との間の通信、特にホストコンピュータ１４からキャッシュストレージシステム１２への更新データの転送に用いられる。マスタストレージシステム１１とキャッシュストレージシステム１２とは、例えばＦＣ１６によって接続されている。このＦＣ１６は、マスタストレージシステム１１とキャッシュストレージシステム１２との間の通信、特にマスタストレージシステム１１からキャッシュストレージシステム１２への更新データ（コピーデータ）の転送に用いられる。
【００２６】
キャッシュストレージシステム１２とサブストレージシステム１３とは、キャッシュストレージシステム１２側の交換機１７-0及びサブストレージシステム１３側の交換機１７-1を介して接続されている。キャッシュストレージシステム１２と交換機１７-0とは例えばＦＣ１８によって接続され、交換機１７-1とサブストレージシステム１３とは例えばＦＣ１９によって接続されている。一方、交換機１７-0及び１７-1の間は、ＡＴＭまたはダークファイバ等を用いて実現される専用通信網２０によって接続されている。交換機１７-0及び１７-1は、ＦＣ１８及び１９並びに専用通信網２０を介してキャッシュストレージシステム１２とサブストレージシステム１３との間の通信、特にキャッシュストレージシステム１２からサブストレージシステム１３へのコピーデータの転送を可能とする。
【００２７】
ＦＣ１５、ＦＣ１６、ＦＣ１８、ＦＣ１９及び専用通信網２０は、マスタストレージシステム１１、キャッシュストレージシステム１２、サブストレージシステム１３及びホストコンピュータ１４を相互接続するネットワークＮを構成する。
【００２８】
図２は、マスタストレージシステム１１、キャッシュストレージシステム１２及びサブストレージシステム１３の構成を示すブロック図である。本実施形態において、各ストレージシステム１１乃至１３は共通のハードウェア構成を有している。ストレージシステム１１乃至１３が相違するのは、遠隔バックアップ制御の手順である。
【００２９】
ストレージシステム１１乃至１３の各々は、主として、１対のコントローラ２１-0及び２１-1と、論理ディスク（論理ユニット）２２の群とから構成される。コントローラ２１-0及び２１-1は、２重化コントローラを構成しており、一方が運用系（稼働系）として機能する場合、他方はバックアップ系（待機系）として機能する。コントローラ２１-0及び２１-1のうちの運用系のコントローラは、外部から与えられるアクセス要求に応じて論理ディスク２２へのアクセスを制御する。マスタストレージシステム１１の論理ディスク２２の群の一部または全部は図１に示すマスタディスク１１０として用いられる。また、キャッシュストレージシステム１２の論理ディスク２２の群の一部または全部は図１に示すキャッシュディスク１２０として用いられ、サブストレージシステム１３の論理ディスク２２の群の一部または全部は図１に示すバックアップディスク１３０として用いられる。各ストレージシステム１１乃至１３が有する論理ディスク２２の群、つまりストレージは、例えば複数のハードディスクドライブ（ＨＤＤ）を用いて構成される。
【００３０】
コントローラ２１-0及び２１-1は共通のハードウェア構成を有している。即ちコントローラ２１-0及び２１-1の各々は、上位装置（ホスト）とのインタフェースをなすホストインタフェース（ホストＩ／Ｆ）２１１と、論理ディスク２２（ストレージ）を含むシステム内の各部を制御するストレージ制御部２１２と、制御用メモリ２１３とを有する。マスタストレージシステム１１が有する制御用メモリ２１３には、上記差分管理テーブル１１１が保持される。また、コントローラ２１-0及び２１-1の各々は、ホストと論理ディスク２２（ストレージ）との間で転送されるデータを一時格納するためのキャッシュメモリ２１４と、論理ディスク２２を構成するＨＤＤとのインタフェースをなすＨＤＤインタフェース（ＨＤＤ  Ｉ／Ｆ）２１５と、コントローラ２１-0及び２１-1相互間の通信を行うコントローラ通信インタフェース（コントローラ通信Ｉ／Ｆ）２１６とを有する。この通信により、例えばキャッシュストレージシステム１２におけるバックアップ系のコントローラの差分管理テーブル１１１及びキャッシュメモリ２１４の内容は、それぞれ運用系コントローラの差分管理テーブル１１１及びキャッシュメモリ２１４の内容に常時一致化される。また、上記の通信により、バックアップ系のコントローラは、運用系のコントローラの障害を検出して運用系に切り替わることが可能となる。ホストＩ／Ｆ２１１、ストレージ制御部２１２、制御用メモリ２１３、キャッシュメモリ２１４、ＨＤＤ  Ｉ／Ｆ２１５及びコントローラ通信Ｉ／Ｆ２１６は、内部バス２１７によって相互接続されている。
【００３１】
図３はキャッシュディスク１２０のデータ格納構造例を示す。  
図３に示すように、キャッシュディスク１２０は、セクタ毎に、例えば８バイトのコピーデータｘアドレスと５１２バイトのコピーデータｘとの対を格納するのに用いられる。コピーデータｘとは、マスタディスク１１０から読み出されてキャッシュストレージシステム１２で受信された、バックアップディスク１３０に対するバックアップ用のコピーデータ（受信データ）であって、受信順がｘ番目（ｘ＝０，１，…ｎ）のコピーデータ（つまりｘ番目の受信データ）を指す。コピーデータｘアドレスとは、コピーデータｘのコピー先のアドレスを指す。通常、ディスクは、１セクタが５１２バイトでフォーマットされる。しかし、本実施形態では、５１２バイトのコピーデータｘに加えて、当該データｘのバックアップディスク１３０におけるコピー先アドレス（格納先アドレス）である８バイトのコピーデータｘアドレスを管理する必要がある。つまり、コピーデータｘアドレスをコピーデータｘとペアでキャッシュディスク１２０に格納する必要がある。そのため、通常の１セクタの容量（５１２バイト）にコピーデータｘアドレスの分の８バイトを追加し、キャッシュディスク１２０を１セクタ５２０バイトでフォーマットする。これにより、コピーデータｘアドレスとコピーデータｘとのペアを、１回のディスクアクセスで読み出し／書き込みできる。
【００３２】
図４は、キャッシュストレージシステム１２が有するキャッシュメモリ２１４の管理データ格納構造例を示す。  
キャッシュメモリ２１４には、キャッシュディスク１２０に対応して、データテーブル２１４ａと、アドレステーブル２１４ｂと、管理テーブル２１４ｃとが確保される。
【００３３】
データテーブル２１４ａは、マスタディスク１１０から読み出されてキャッシュストレージシステム１２で受信されたコピーデータ（バックアップ用のコピーデータ）を保持するためのｍ＋１個のエントリを有する。アドレステーブル２１４ｂは、上記受信されたコピーデータのバックアップディスク１３０におけるコピー先アドレス（コピーデータアドレス）を保持するためのｍ＋１個のエントリ（つまりデータテーブル２１４ａと同数のエントリ）を有する。データテーブル２１４ａ及びアドレステーブル２１４ｂは、ｍ＋１個のエントリ分の容量を持つリングバッファとして用いられる。即ち、データテーブル２１４ａ及びアドレステーブル２１４ｂの各エントリは、サイクリックに使用される。
【００３４】
管理テーブル２１４ｃは、（ａ）スタートエントリ番号、（ｂ）キャッシュ格納有効セクタ数、（ｃ）ディスク格納スタートアドレス、（ｄ）ディスク格納カレントアドレス、及び、（ｅ）未送信セクタ数の各管理情報を格納するのに用いられる、管理テーブル２１４ｃのサイズは一定である。上記各管理情報について以下に説明する。
【００３５】
（ａ）スタートエントリ番号
データテーブル２１４ａに格納されていて且つキャッシュディスク１２０に未格納のデータのうち、最も古いデータ（つまり、次にキャッシュディスク１２０に格納すべきデータ）が格納されているデータテーブル２１４ａ内エントリの番号（エントリ番号）を示す。
【００３６】
（ｂ）キャッシュ格納有効セクタ数
現在までにキャッシュメモリ２１４のデータテーブル２１４ａに格納されているコピーデータのうち、未だキャッシュディスク１２０に格納されていない（吐き出されていない）データの量（セクタ数）を示す。
【００３７】
（ｃ）ディスク格納スタートアドレス
キャッシュディスク１２０に格納されているコピーデータのうちバックアップディスク１３０に未だ送信されていない最も以前に格納されたデータの当該キャッシュディスク１２０のアドレス（セクタアドレス）を示す。
【００３８】
（ｄ）ディスク格納カレントアドレス
キャッシュディスク１２０に格納されているコピーデータのうちバックアップディスク１３０に未だ送信されていない最も最近に格納されたデータの当該キャッシュディスク１２０のアドレス（セクタアドレス）を示す。
【００３９】
（ｅ）未送信セクタ数
現在キャッシュディスク１２０に格納されているコピーデータのうち、バックアップディスク１３０に未だ送信されていないコピーデータの総セクタ数を示す。
【００４０】
次に、本実施形態における遠隔バックアップの概要について、図５の動作説明図を参照して説明する。  
ホストコンピュータ１４は、マスタストレージシステム１１のマスタディスク１１０に対して適宜データ更新を実行する（ステップＳ１）。
【００４１】
マスタストレージシステム１１は、ホストコンピュータ１４によるデータ更新を差分管理テーブル１１１を用いて管理する。差分管理テーブル１１１は、マスタストレージシステム１１が有する制御用メモリ２１３内に置かれる。差分管理テーブル１１１は例えばビットマップテーブルであり、各ビットはマスタディスク１１０を構成するセクタに対応付けられている。
【００４２】
図６は、マスタディスク１１０の各セクタと差分管理テーブル（ビットマップテーブル）１１１の各ビットとの対応例を示す。ここでは、マスタディスク１１０内のあるセクタのデータが更新された場合に、当該セクタに対応する差分管理テーブル１１１内のビットがＯＮされる。そして、このビットに対応するセクタのデータ、つまり更新データがバックアップディスク１３０に格納された場合に、当該ビットはＯＦＦされる。したがって、差分管理テーブル１１１は、前回のバックアップ時点から次のバックアップ開始時点までのマスタディスク１１０における更新の有無をセクタ単位で管理する。
【００４３】
マスタストレージシステム１１は、バックアップ開始時期が到来する毎に、差分管理テーブル（ビットマップテーブル）１１１の各ビットに基づき、前回のバックアップ時点から現時点（今回のバックアップの開始時点）までの更新の有無を判別する。これによりマスタストレージシステム１１は、バックアップディスク１３０にコピーすべきマスタディスク１１０内のデータ（コピーデータ、更新データ）を特定する。
【００４４】
マスタストレージシステム１１は、特定されたコピーデータ（更新データ）をマスタディスク１１０から読み出して５１２バイト単位でキャッシュストレージシステム１２内のキャッシュディスク１２０に送信する動作を実行する（ステップＳ２）。キャッシュストレージシステム１２はマスタストレージシステム１１から近距離に配置されている。このため、マスタストレージシステム１１のマスタディスク１１０からキャッシュストレージシステム１２のキャッシュディスク１２０にコピーデータを送信する動作は、通信レスポンスの低下を最小限に抑えて速やかに行われる。
【００４５】
キャッシュストレージシステム１２は、マスタストレージシステム１１から当該キャッシュストレージシステム１２に送信されたコピーデータを受信する。キャッシュストレージシステム１２は、この受信データ（コピーデータ）を、キャッシュディスク１２０に受信順に一時格納する。またキャッシュストレージシステム１２は、キャッシュディスク１２０に格納された受信データ（コピーデータ）を、サブストレージシステム１３内のバックアップディスク１３０に受信順に送信する（ステップＳ３）。
【００４６】
次に、キャッシュストレージシステム１２におけるキャッシング動作の概要について説明する。  
まず、マスタストレージシステム１１からキャッシュストレージシステム１２に送信されるデータ（コピーデータ）には、５１２バイト単位で、当該データが格納されているマスタディスク１１０におけるアドレス（格納アドレス）が付される。マスタディスク１１０からバックアップディスク１３０へのデータバックアップでは、バックアップの対象となるコピーデータ（５１２バイト）のマスタディスク１１０におけるアドレス（８ビット）は、バックアップディスク１３０におけるコピー先のアドレス（コピーデータアドレス）をも表す。
【００４７】
マスタストレージシステム１１から送信されたコピーデータ及びコピーデータアドレスはキャッシュストレージシステム１２で受信される。このキャッシュストレージシステム１２で受信されたコピーデータ（５１２バイト）及びコピーデータアドレス（８バイト）は、それぞれ、キャッシュストレージシステム１２の運用系コントローラ、例えばコントローラ２１-0内のキャッシュメモリ２１４に確保されている、データテーブル２１４ａ及びアドレステーブル２１４ｂに、受信順に格納される。ここでは、管理テーブル２１４ｃに格納されているスタートエントリ番号とキャッシュ格納有効セクタ数とに基づいて、データテーブル２１４ａ及びアドレステーブル２１４ｂがサイクリックに使用されるように管理される。
【００４８】
キャッシュメモリ２１４に格納されたコピーデータ（５１２バイト）及びコピーデータアドレス（８バイト）は、受信順に読み出される。キャッシュストレージシステム１２は、コピーデータとコピーデータアドレスとのペアを、１セクタ（５２０バイト）として、受信順にキャッシュディスク１２０の連続する領域にシーケンシャルアクセスにより格納する。ここで、コピーデータとコピーデータアドレスとのペアが格納されるべき、キャッシュディスク１２０のアドレスは、キャッシュメモリ２１４に確保された管理テーブル２１４ｃに設定されているディスク格納カレントアドレスによって指定される。コピーデータとコピーデータアドレスとのペアがキャッシュディスク１２０に格納されると、管理テーブル２１４ｃに設定されているディスク格納カレントアドレス及び未送信セクタ数は１インクリメントされ、キャッシュ格納有効セクタ数は１デクリメントされる。
【００４９】
上述したキャッシュメモリ２１４のデータテーブル２１４ａ及びアドレステーブル２１４ｂに一時格納されたコピーデータ及びコピーデータアドレスを読み出してキャッシュディスク１２０に格納する（吐き出す）動作は、当該データテーブル２１４ａ（及びアドレステーブル２１４ｂ）が満杯（full）とならないように制御しながら行われる。この制御は、キャッシュメモリ２１４の管理テーブル２１４ｃ中のキャッシュ格納有効セクタ数を監視して、当該キャッシュ格納有効セクタ数が基準セクタ数に達したかを判定することで実現される。この基準セクタ数は、データテーブル２１４ａの容量より、一定セクタ数または一定割合だけ少ないセクタ数に設定される。この基準セクタ数は、キャッシュメモリ２１４からキャッシュディスク１２０へのコピーデータの吐き出しの基準として用いられる。
【００５０】
キャッシュディスク１２０に格納されたコピーデータ及びコピーデータアドレスは、管理テーブル２１４ｃ中のディスク格納スタートアドレスに基づいて受信順にシーケンシャルに読み出される。読み出されたコピーデータ及びコピーデータアドレスのうちのコピーデータは、当該コピーデータアドレスの指定するバックアップディスク１３０内のセクタに格納される。
【００５１】
ここで、キャッシュメモリ２１４からキャッシュディスク１２０へのコピーデータ及びコピーデータアドレスの吐き出し（つまりキャッシュメモリデータの吐き出し）と、当該キャッシュディスク１２０に格納されたコピーデータ及びコピーデータアドレスの読み出しのために、キャッシュディスク１２０に対して共にシーケンシャルアクセスが行われる。しかし、これら２つのアクセスを例えば時分割で並行して（つまり同時並行的に）実行すると、結果的にランダムアクセスとなり、キャッシュディスク１２０へのアクセス性能が低下してしまう。そこでキャッシュストレージシステム１２では、上記２つのアクセスが同時並行的に実行されないように、管理テーブル２１４ｃ中の未送信エントリ数を使用して当該アクセスがスケジューリングされる。このスケジューリングの詳細は後述する。
【００５２】
次に、図１のシステムにおける遠隔バックアップの詳細について説明する。  
まず、ホストコンピュータ１４は、遠隔バックアップ構成を確立するために、マスタストレージシステム１１、キャッシュストレージシステム１２及びサブストレージシステム１３に対して、それぞれ以下の構成要素を定義する。  
ホストコンピュータ１４はマスタストレージシステム１１に対し、マスタディスク（１１０）と、キャッシュディスク（１２０）と、バックアップディスク（１３０）と、キャッシュＩＤと、バックアップＩＤとを定義する。キャッシュＩＤは、キャッシュストレージシステム１２が接続されるネットワークＮ上での当該キャッシュストレージシステム１２のＩＤ（つまりネットワークＩＤ）であり、バックアップＩＤは、サブストレージシステム１３が接続されるネットワークＮ上での当該サブストレージシステム１３のネットワークＩＤである。ネットワークＩＤは、ネットワークＮがＦＣを用いて構成される本実施形態ではＷＷＰＮ（World Wide Port Name）である。
【００５３】
ホストコンピュータ１４はまた、キャッシュストレージシステム１２に対し、キャッシュディスク容量と、キャッシュディスク（１２０）と、バックアップディスク（１３０）と、マスタＩＤと、バックアップＩＤとを定義する。キャッシュディスク容量は、キャッシュ用途として使用するディスク（ここでは論理ディスク）に必要な容量である。キャッシュディスク容量は、必ずしもマスタディスクと同容量である必要はない。即ち、キャッシュディスク１２０は、マスタディスク１１０にてサポートする容量範囲のアクセスが仮想的に可能ならば、マスタディスク１１０より少容量でも良い。そのために本実施形態では、キャッシュディスク１２０の領域を、キャッシュメモリ２１４におけるデータテーブル２１４ａ及びアドレステーブル２１４ｂと同様にサイクリックに使用する構成を適用する。また本実施形態では、バックアップのデータ量自体を減らすために、マスタディスク１１０に対する前回バックアップ時点からのデータ更新を差分管理テーブル１１１で管理し、更新データのみをバックアップする構成も適用する。
【００５４】
ホストコンピュータ１４はまた、サブストレージシステム１３に対し、バックアップディスク（１３０）と、マスタディスク（１１０）と、キャッシュＩＤと、マスタＩＤととを定義する。ここで、バックアップディスクには、マスタと同容量またはそれ以上の容量が必要である。
【００５５】
ホストコンピュータ１４によって遠隔バックアップ構成が定義されると、以後定期的に遠隔バックアップが実行される。以下、この遠隔バックアップの動作について、（１）マスタストレージシステム１１のコピーデータ送信処理、（２）キャッシュストレージシステム１２のコピーデータ受信処理、（３）キャッシュストレージシステム１２のコピーデータ送信処理、及び、（４）サブストレージシステム１３のコピーデータ受信処理に分けて、順次説明する。
【００５６】
（１）マスタストレージシステム１１のコピーデータ送信処理
まず、マスタストレージシステム１１のコピーデータ送信処理について、図７のフローチャートを参照して説明する。
【００５７】
マスタストレージシステム１１は、バックアップ開始時期が到来すると、キャッシュストレージシステム１２及びサブストレージシステム１３に対して、コピー（バックアップ）開始を通知する（ステップＳ１１）。このときマスタストレージシステム１１は、差分管理テーブル１１１を参照して、前回のバックアップ時点から現時点（今回のバックアップの開始時点）までの期間にマスタディスク１１０においてデータ更新が行われたセクタの総数をマスタディスク更新データ量として算出する。マスタストレージシステム１１は、この算出されたマスタディスク更新データ量を示す情報をコピー開始通知に付加する。
【００５８】
次にマスタストレージシステム１１は、マスタディスク１１０を書き込み禁止状態に設定する（ステップＳ１２）。またマスタストレージシステム１１は、バックアップディスク状態情報を“マスタデータコピー中”を示すように変更する（ステップＳ１３）。バックアップディスク状態情報は、バックアップディスク１３０の状態を示すフラグ情報である。
【００５９】
次にマスタストレージシステム１１は、コピー（バックアップ）に失敗した場合に元の状態に復元可能なように、コピー開始時の差分管理テーブル１１１の内容を例えば当該システム１１のストレージ内にセーブする（ステップＳ１４）。
【００６０】
マスタストレージシステム１１は差分管理テーブル１１１に基づいて、前回のコピー時点から現時点（今回のコピー開始時点）までに更新されたマスタディスク１１０内のセクタ群の中から、今回キャッシュストレージシステム１２に送信すべき更新データが格納されているセクタ（セクタ列）を特定し、その更新データをコピーデータ（バックアップデータ）としてキャッシュストレージシステム１２へ送信する（ステップＳ１５）。ここでは、差分管理テーブル（ビットマップ）１１１をサーチして、ＯＮ状態が連続するビット列が検出された場合には、そのビット列に対応する連続するセクタ列のデータがコピーデータとしてシーケンシャルに送信される。更に具体的に述べるならば、コピーデータの書き込みコマンドがキャッシュストレージシステム１２に送信される。この書き込みコマンドは、書き込み先（コピー先）を指定するバックアップＩＤ及びコピーデータアドレス（書き込み開始アドレス）並びに転送サイズの情報を含む。これに対し、ＯＮ状態が連続しないビットに対応するセクタのデータについては、１セクタ単位でコピーデータとして送信される。この場合、書き込みコマンドの転送サイズの情報は、セクタ数＝１を示す。
【００６１】
次にマスタストレージシステム１１は、コピーデータの送信に応じて、差分管理テーブル１１１を更新する（ステップＳ１６）。即ちマスタストレージシステム１１は、送信されたコピーデータに対応する差分管理テーブル１１１の全ビットをＯＦＦする。
【００６２】
次にマスタストレージシステム１１は、差分管理テーブル１１１を参照して、未送信の更新データがマスタディスク１１０に残っているかを判定する（ステップＳ１７）。もし、マスタディスク１１０内に未送信の更新データが残っているならば、マスタストレージシステム１１はステップＳ１５の処理に戻る。
【００６３】
これに対し、マスタディスク１１０内に未送信の更新データが残っていないならば、マスタストレージシステム１１は、マスタディスク１１０の更新データをコピーデータとしてキャッシュストレージシステム１２に送信する処理が完了したと判定する（ステップＳ１８）。すると、マスタストレージシステム１１は、バックアップディスク状態情報を、“マスタデータコピー中”から“マスタデータ出力完了”を示すように更新する（ステップＳ１９）。そしてマスタストレージシステム１１は、マスタディスク１１０の書き込み禁止状態を解除する（ステップＳ２０）。これによりマスタディスク１１０のデータ更新が可能となる。つまり、マスタストレージシステム１１は、当該マスタストレージシステム１１から遠く離れた場所に配置されたサブストレージシステム１３に対してではなく、当該マスタストレージシステム１１の近くに配置されたキャッシュストレージシステム１２に対し、マスタディスク１１０のデータ（更新データ）をコピーデータ（バックアップデータ）として送信するだけで、バックアップ処理を見かけ上完了させることができる。
【００６４】
その後、マスタストレージシステム１１は、サブストレージシステム１３からのバックアップディスクコピー完了通知を待って（ステップＳ２１）、バックアップディスク状態情報を、“マスタデータ出力完了”から“マスタデータコピー完了”を示すように更新する（ステップＳ２２）。
【００６５】
（２）キャッシュストレージシステム１２のコピーデータ受信処理
次に、キャッシュストレージシステム１２のコピーデータ受信処理について、図８のフローチャートを参照して説明する。
【００６６】
キャッシュストレージシステム１２は、マスタストレージシステム１１からコピー開始通知を受信すると（ステップＳ３１）、当該通知に付されているマスタディスク更新データ量情報を当該キャッシュストレージシステム１２の制御用メモリ２１３に格納する（ステップＳ３２）。このときキャッシュストレージシステム１２は、キャッシュメモリ２１４内の管理テーブル２１４ｃを初期化する。この初期化により、管理テーブル２１４ｃ中のスタートエントリ番号は、データテーブル２１４ａ及びアドレステーブル２１４ｂの先頭エントリを指すように設定される。また、キャッシュ格納有効セクタ数及び未送信セクタ数がいずれも０を示すように設定される。次にキャッシュストレージシステム１２は、キャッシュディスク１２０へのアクセスを、マスタＩＤに一致するネットワークＩＤのストレージシステム、即ちマスタストレージシステム１１からのみ許可する状態に設定する（ステップＳ３３）。
【００６７】
その後、キャッシュストレージシステム１２は、マスタストレージシステム１１からの書き込みコマンドによって指定されるコピーデータを受信すると（ステップＳ３４）、その受信データ量（セクタ数）だけ、更新データ量（更新セクタ数）をデクリメントする（ステップＳ３５）。またキャッシュストレージシステム１２は、受信されたコピーデータを、セクタ単位でキャッシュメモリ２１４内のデータテーブル２１４ａに受信順に格納する（ステップＳ３６）。このステップＳ３６においてキャッシュストレージシステム１２は、セクタ毎のコピーデータのアドレス（コピーデータアドレス）を、キャッシュメモリ２１４内のアドレステーブル２１４ｂに、当該コピーデータの受信順に格納する。受信されたコピーデータが複数セクタからなるシーケンシャルデータの場合、セクタ毎のコピーデータのアドレスは、対応する書き込みコマンドによって指定された書き込み開始アドレスと転送サイズの情報とから生成される。また、ステップＳ３６においてキャッシュストレージシステム１２は、キャッシュメモリ２１４内の管理テーブル２１４ｃに設定されているキャッシュ格納有効セクタ数及び未送信エントリ数をそれぞれ受信データ量に相当するセクタ数だけインクリメントする。
【００６８】
次にキャッシュストレージシステム１２は、デクリメント後の更新データ量（セクタ数）が０であるかを判定する（ステップＳ３７）。もし、更新データ量が０でないならば、キャッシュストレージシステム１２は、管理テーブル２１４ｃによって管理されている現在のキャッシュ格納有効セクタ数、即ちキャッシュメモリ２１４のデータテーブル２１４ａに格納されていて、未だキャッシュディスク１２０に格納されていない（吐き出されていない）コピーデータの量（セクタ数）が、キャッシュメモリ２１４からキャッシュディスク１２０へのコピーデータの吐き出しの基準となるセクタ数（吐き出し基準セクタ数）に達したかを判定する（ステップＳ３８）。
【００６９】
もし、キャッシュ格納有効セクタ数が吐き出し基準セクタ数に達したならば、キャッシュストレージシステム１２は、キャッシュメモリ２１４のデータテーブル２１４ａに格納されていて、未だキャッシュディスク１２０に格納されていないコピーデータと、そのコピーデータに対応付けてキャッシュメモリ２１４のアドレステーブル２１４ｂに格納されているコピーデータアドレスとのペアを、受信順に読み出して、キャッシュディスク１２０にシーケンシャルに格納する（ステップＳ３９）。ここで、読み出しの対象となるコピーデータ及びコピーデータアドレスのうち、最も古いコピーデータ及びコピーデータアドレスがそれぞれ格納されているデータテーブル２１４ａ及びアドレステーブル２１４ｂ内のエントリは、管理テーブル２１４ｃに設定されているスタートエントリ番号で指定される。そこで、このスタートエントリ番号は、データテーブル２１４ａから読み出されたコピーデータのセクタ数分だけ更新される。また、コピーデータ及びコピーデータアドレスのペアが格納される、キャッシュディスク１２０の先頭アドレスは、管理テーブル２１４ｃに設定されているディスク格納カレントアドレスで指定される。このディスク格納カレントアドレスは、キャッシュディスク１２０に格納されたコピーデータのセクタ数（つまりデータテーブル２１４ａから読み出されたコピーデータのセクタ数）分だけ更新される。キャッシュストレージシステム１２はステップＳ３９を実行すると、次のコピーデータ（の書き込みコマンド）がマスタストレージシステム１１から送信されるのを待って上記ステップＳ３４の処理に戻る。
【００７０】
これに対し、キャッシュ格納有効セクタ数が吐き出し基準セクタ数に達していないならば、未だキャッシュディスク１２０に吐き出されていないコピーデータがキャッシュメモリ２１４に存在していても、キャッシュストレージシステム１２はキャッシュメモリ２１４からキャッシュディスク１２０へのコピーデータの吐き出しを行わずに、つまりステップＳ３９をスキップして、ステップＳ３４に戻る。これにより、キャッシュ格納有効セクタ数が吐き出し基準セクタ数に達するまでの期間を、キャッシュディスク１２０からバックアップディスク１３０へのコピーデータの送信に利用することが可能となる。つまり、キャッシュメモリ２１４からコピーデータを読み出して当該コピーデータをキャッシュディスク１２０にシーケンシャルに格納する第１の処理と、キャッシュディスク１２０からコピーデータをシーケンシャルに読み出してバックアップディスク１３０に格納する第２の処理とを、競合させずに異なる時間帯で実行できる。これにより、第１及び第２の処理が同時並行的に実行されるのを防止して、（第１の処理から第２の処理への切り替え時、または第２の処理から第１の処理への切り替え時を除いて）ランダムアクセスとなるのを抑止できる。この結果、キャッシュディスク１２０へのアクセスの性能が低下するのを防止でき、第１及び第２の処理におけるシーケンシャルアクセスの利点を最大限に発揮できる。
【００７１】
一方、更新データ量が０であるならば（ステップＳ３７）、キャッシュストレージシステム１２は、キャッシュメモリ２１４のデータテーブル２１４ａに残されている、未だキャッシュディスク１２０に吐き出されていない全てのコピーデータと、そのコピーデータに対応付けてキャッシュメモリ２１４のアドレステーブル２１４ｂに格納されているコピーデータアドレスとのペアを、受信順に読み出して、キャッシュディスク１２０にシーケンシャルに格納する（ステップＳ４０）。そしてキャッシュストレージシステム１２は、コピーデータ受信が全て完了したことをマスタストレージシステム１１に通知して（ステップＳ４１）、コピーデータ受信処理を完了する（ステップＳ４２）。
【００７２】
（３）キャッシュストレージシステム１２のコピーデータ送信処理
次に、キャッシュストレージシステム１２のコピーデータ送信処理について、図９のフローチャートを参照して説明する。
【００７３】
キャッシュストレージシステム１２は、マスタストレージシステム１１からコピー開始通知を受信すると（ステップＳ５１）、当該通知に付されているマスタディスク更新データ量情報を当該キャッシュストレージシステム１２の制御用メモリ２１３に格納する（ステップＳ５２）。つまり、マスタストレージシステム１１では、マスタディスク更新データ量情報が、コピーデータ送信処理用と前述したコピーデータ受信処理用とに、それぞれ別々に制御用メモリ２１３に格納される。
【００７４】
次に、キャッシュストレージシステム１２は、キャッシュメモリ２１４内の管理テーブル２１４ｃに設定されている未送信セクタ数を監視し、バックアップディスク１３０に送信すべきコピーデータ及びコピーデータアドレスがキャッシュディスク１２０に格納されているかを判定する（ステップＳ５３）。もし、該当するコピーデータ及びコピーデータアドレスがキャッシュディスク１２０に格納されている場合、キャッシュストレージシステム１２は、キャッシュディスク１２０へのコピーデータ及びコピーデータアドレスの格納動作が現在行われているかを判定する（ステップＳ５４）。キャッシュディスク１２０へのコピーデータ及びコピーデータアドレスの格納動作中の場合、キャッシュストレージシステム１２は当該格納動作が終了するのを待ってステップＳ５５の処理に進む。
【００７５】
ステップＳ５５において、キャッシュストレージシステム１２は、キャッシュディスク１２０に格納されている、バックアップディスク１３０に未だ送信されていないコピーデータ及びコピーデータアドレスのペアを受信順にシーケンシャルに読み出す。ここでは、管理テーブル２１４ｃに設定されているディスク格納スタートアドレスによって指定されるキャッシュディスク１２０のアドレスから、管理テーブル２１４ｃに設定されている未送信セクタ数の情報によって指定されるセクタ数だけ、コピーデータ及びコピーデータアドレスのペアがシーケンシャルに読み出される。キャッシュストレージシステム１２は、キャッシュディスク１２０から読み出されたコピーデータを、セクタ単位で、対応するコピーデータアドレスを付してサブストレージシステム１３に送信する（ステップＳ５６）。更に具体的に述べるならば、キャッシュストレージシステム１２は、コピーデータの書き込みコマンドを、セクタ単位でサブストレージシステム１３に送信する。この書き込みコマンドは、１セクタ分のコピーデータの書き込みを指示するもので、書き込み先（コピー先）を指定するバックアップＩＤ及びコピーデータアドレス（書き込み開始アドレス）並びに１セクタを示す転送サイズの情報を含む。なお、シーケンシャルに読み出されるコピーデータ及びコピーデータアドレスのペアのうち、当該アドレスが連続するペアの集合を単位に、コピーデータの書き込みコマンドを送信する構成とすることも可能である。
【００７６】
次にキャッシュストレージシステム１２は、ステップＳ５６での送信データ量（セクタ数）だけ、更新データ量（更新セクタ数）をデクリメントする（ステップＳ５７）。このとき、キャッシュストレージシステム１２は、管理テーブル２１４ｃに設定されている未送信セクタ数を０に更新すると共に、ディスク格納カレントアドレスを１セクタ分だけ進め、ディスク格納スタートアドレスを当該ディスク格納カレントアドレスに一致させる。
【００７７】
次にキャッシュストレージシステム１２は、デクリメント後の更新データ量（セクタ数）が０であるかを判定する（ステップＳ５８）。もし、更新データ量が０でないならば、キャッシュストレージシステム１２は、ステップＳ５３の判定処理に戻る。これに対し、更新データ量が０であるならば、キャッシュストレージシステム１２はコピーデータ送信処理を完了する（ステップＳ５９）。
【００７８】
（４）サブストレージシステム１３のコピーデータ受信処理
次に、サブストレージシステム１３のコピーデータ受信処理について、図１０のフローチャートを参照して説明する。
【００７９】
サブストレージシステム１３は、マスタストレージシステム１１からコピー開始通知を受信すると（ステップＳ６１）、当該通知に付されているマスタディスク更新データ量情報を当該キャッシュストレージシステム１２の制御用メモリ２１３に格納する（ステップＳ６２）。次にサブストレージシステム１３は、バックアップディスク１３０へのアクセスを、キャッシュＩＤに一致するネットワークＩＤのストレージシステム、即ちキャッシュストレージシステム１２からのみ許可する状態に設定する（ステップＳ６３）。
【００８０】
その後、サブストレージシステム１３は、キャッシュストレージシステム１２からコピーデータを受信すると（ステップＳ６４）、その受信データ量（セクタ数）だけ、更新データ量（更新セクタ数）をデクリメントする（ステップＳ６５）。またサブストレージシステム１３は、受信されたコピーデータを、対応するコピーデータアドレスで指定されるバックアップディスク１３０のセクタ領域に格納する（ステップＳ６６）。但し、サブストレージシステム１３はキャッシュメモリ２１４を有していることから、受信されたコピーデータは、当該キャッシュメモリ２１４に一旦格納され、しかる後に適宜（例えば、キャッシュメモリ２１４の空きブロック数が一定基準以下となった場合）当該キャッシュメモリ２からバックアップディスク１３０に吐き出される。つまり、受信されたコピーデータはキャッシュメモリ２１４を介してバックアップディスク１３０に格納される。
【００８１】
次にサブストレージシステム１３は、デクリメント後の更新データ量（セクタ数）が０であるかを判定する（ステップＳ６７）。もし、更新データ量が０でないならば、サブストレージシステム１３は、次のコピーデータがキャッシュストレージシステム１２から送信されるのを待って上記ステップＳ６４の処理に戻る。これに対し、更新データ量が０であるならば、サブストレージシステム１３は、コピーデータ受信が全て完了したことをマスタストレージシステム１１に通知して（ステップＳ６８）、コピーデータ受信処理を完了する（ステップＳ６９）。
【００８２】
このように本実施形態においては、ネットワークＮによって接続される、互いに遠く離れて配置されたマスタストレージシステム１１及びサブストレージシステム１３のうちのマスタストレージシステム１１の近傍に、当該ネットワークＮに接続されるキャッシュストレージシステム１２が配置される。そして、マスタストレージシステム１１のマスタディスク１１０からサブストレージシステム１３のバックアップディスク１３０に対してコピーすべきデータが、一旦キャッシュストレージシステム１２のキャッシュディスク１２０に格納される。これにより、バックアップディスク１３０に対するデータコピーが中途であっても、マスタストレージシステム１１とキャッシュストレージシステム１２との間でコピー処理を完結させることで、マスタストレージシステム１１にとって見かけ上のコピーレスポンスを向上させることができる。その結果、マスタディスク１１０からバックアップディスク１３０に対して直接データコピーする従来のシステムに比べ、マスタストレージシステム１１側のコピー処理を早期に完了することができ、マスタストレージシステム１１側ストレージのデータ更新を早期に再開することができる。
【００８３】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００８４】
【図１】本発明の一実施形態に係る遠隔バックアップシステムの構成を示すブロック図。
【図２】図１中の各ストレージシステム１１乃至１３の構成を示すブロック図。
【図３】図１中のキャッシュディスク１２０のデータ格納構造例を示す図。
【図４】キャッシュストレージシステム１２が有するキャッシュメモリ２１４の管理データ格納構造例を示す図。
【図５】同実施形態における遠隔バックアップの概要を説明するための図。
【図６】マスタディスク１１０の各セクタと差分管理テーブル１１１の各ビットとの対応例を示す図。
【図７】同実施形態におけるマスタストレージシステム１１のコピーデータ送信処理の手順を示すフローチャート。
【図８】同実施形態におけるキャッシュストレージシステム１２のコピーデータ受信処理の手順を示すフローチャート。
【図９】同実施形態におけるキャッシュストレージシステム１２のコピーデータ送信処理の手順を示すフローチャート。
【図１０】同実施形態におけるサブストレージシステム１３のコピーデータ受信処理の手順を示すフローチャート。
【符号の説明】
【００８５】
１１…マスタストレージシステム、１２…キャッシュストレージシステム、１３…サブストレージシステム、１４…ホストコンピュータ、２１-0，２１-1…コントローラ、２２…論理ディスク、１１０…マスタディスク、１１１…差分管理テーブル（ＤＴ）、１２０…キャッシュディスク、２１２…ストレージ制御部、２１４…キャッシュメモリ、２１４ａ…データテーブル、２１４ｂ…アドレステーブル、２１４ｃ…管理テーブル、Ｎ…ネットワーク。
【図１】
2006155202.tif 000003
【図２】
2006155202.tif 000004
【図３】
2006155202.tif 000005
【図４】
2006155202.tif 000006
【図５】
2006155202.tif 000007
【図６】
2006155202.tif 000008
【図７】
2006155202.tif 000009
【図８】
2006155202.tif 000010
【図９】
2006155202.tif 000011
【図１０】
2006155202.tif 000012