(57)【要約】【課題】  効率的な非同期型のリモートコピーを提供する。【解決手段】  第一のストレージサブシステムは、或るタイミング以降に、新たなデータが第一記憶デバイスに書き込まれた場合、その新たなデータによって更新される前の更新前データを更新前データ記憶域に書き込み、且つ、第一記憶デバイス内のデータ群のスナップショットを表すスナップショット管理情報を、前記或るタイミングの前記スナップショットを表す情報に更新し、前記或るタイミングよりも後のタイミングで、前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記更新前データ記憶域と前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して第二のストレージサブシステムの第二記憶デバイスに書き、前記或るタイミングを繰り返し発生させることができる。【選択図】図４
2006235737.tif 000002
【特許請求の範囲】
【請求項１】
第一の記憶デバイスを備える第一のストレージサブシステムと、第二の記憶デバイスを備える第二のストレージサブシステムとを備えたストレージシステムの前記第一のストレージサブシステムにおいて、
書込み対象データを送信するホスト装置と前記第二のストレージサブシステムとに通信可能に接続することができ、
前記ホスト装置からの書込み対象データを前記第一の記憶デバイスに書き込む手段と、
前記第一の記憶デバイス内のデータ群のスナップショットを表すスナップショット管理情報を記憶するスナップショット記憶域と、
書込み対象データによって更新される前のデータであり前記第一の記憶デバイスに書かれていたデータである更新前データを記憶する更新前データ記憶域と、
或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記更新前データを前記更新前データ記憶域に書き込む更新前データ書込み手段と、
前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を前記或るタイミングの前記スナップショットを表す情報に更新するスナップショット更新手段と、
前記或るタイミングよりも後のタイミングで、前記後のタイミングにおける更新後の前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記更新前データ記憶域と前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信することにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築するリモートコピー手段と
前記或るタイミングを繰り返し発生させるタイミング発生手段と
を備えるストレージサブシステム。
【請求項２】
再度前記或るタイミングになった場合に、前記更新前データ記憶域に記憶されている全ての更新前データを消去する手段を更に備える、
請求項１記載のストレージサブシステム。
【請求項３】
前記更新前データ記憶域は、前記第一の記憶デバイスとペアを構成することができる第三の記憶デバイスであり、
前記第一のストレージサブシステムは、
前記第一の記憶デバイスと前記第三の記憶デバイスとのペア状態が第一の状態の場合に、前記第一の記憶デバイスだけでなく前記第三の記憶デバイスにも前記書込み対象データを書き込むローカルコピー手段と
を備え、
前記タイミング発生手段が、前記ペア状態を繰り返し第二の状態にすることにより、前記或るタイミングを繰り返し発生させる、
請求項１記載のストレージサブシステム。
【請求項４】
前記第一のストレージサブシステムは、
物理的な記憶デバイスに設けられ、特定の属性が設定されていない第一種の論理ボリュームと、
物理的な記憶デバイスに設けられ、特定の属性が設定された複数の第二種の論理ボリュームと
を備え、
前記第一の記憶デバイス及び前記第二の記憶デバイスは、前記第一種の論理ボリュームであり、
前記第三の記憶デバイスは、少なくとも一つの前記第二種の論理ボリュームによって構成される仮想的な論理ボリュームであり、
前記ローカルコピー手段は、前記複数の第二種の論理ボリュームのうち空きの領域を有する第二種の論理ボリュームに前記書込み対象データを書き込むことにより、前記仮想的な論理ボリュームに前記書込み対象データを書き込む、
請求項３記載のストレージサブシステム。
【請求項５】
前記第一のストレージサブシステムが、前記ホスト装置と前記第一の記憶デバイスとの間でやり取りされる前記書込み対象データを一時的に記憶するキャッシュメモリを備え、
前記更新前データ記憶域が前記キャッシュメモリに設けられている、
請求項１記載のストレージサブシステム。
【請求項６】
前記更新前データ記憶域が第一の記憶デバイスに設けられている、
請求項１記載のストレージサブシステム。
【請求項７】
前記第一のストレージサブシステムが、前記ホスト装置と前記第一の記憶デバイスとの間でやり取りされる前記書込み対象データを一時的に記憶するキャッシュメモリを備え、
前記スナップショット管理情報の全部又は一部が、前記キャッシュメモリと前記第一の記憶デバイスとの少なくとも一方に記憶される、
請求項１記載のストレージサブシステム。
【請求項８】
前記第一のストレージサブシステムが、
書き込み要求と書き込み対象データとを送信するホスト装置と前記第一の論理ボリュームとの間でやり取りされる前記書込み対象データを一時的に記憶するキャッシュメモリと、
少なくとも一つのコンピュータと、
前記少なくとも一つのコンピュータに読み込まれることにより前記少なくとも一つのコンピュータを動作させる一以上のコンピュータプログラムを記憶したプログラム記憶域と
を備え、
前記更新前データ記憶域は前記キャッシュメモリ上に設けられており、
前記一以上のコンピュータプログラムを読み込んだ前記少なくとも一つのコンピュータが、
（１）前記ホスト装置から書き込み要求と書き込み対象データとを受信し、
（２）前記受信した書込み要求に従って、前記受信した書込み対象データを前記第一の記憶デバイスに書込み、
（３）前記或るタイミング以降、前記（１）の処理を行う都度に、前記（２）の処理に加えて、以下の（４）乃至（７）の処理を繰り返し、
（４）前記更新前データを前記キャッシュメモリに書込み、
（５）前記書込み対象データを前記第一の記憶デバイスに書き込むことによる前記第一の記憶デバイスの更新に基づいて、前記或るタイミングにおける前記スナップショットを表す情報に前記スナップショット管理情報を更新し、
（６）前記或るタイミングよりも後のタイミングで、前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記キャッシュメモリと前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信することにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築し、
（７）前記或るタイミングを繰り返し発生させる、
請求項１記載のストレージサブシステム。
【請求項９】
前記少なくとも一つのコンピュータが、再び前記或るタイミングになったときに、前記キャッシュメモリから全ての更新前データを消去する、
請求項８記載のストレージサブシステム。
【請求項１０】
前記タイミング発生手段は、或るタイミングが生じるためのイベントを定期的に又は不定期的に実行する、
請求項１記載のストレージサブシステム。
【請求項１１】
第一の記憶デバイスを備える第一のストレージサブシステムと、第二の記憶デバイスを備える第二のストレージサブシステムとを備えたストレージシステムにおいて、
前記第一のストレージサブシステムが、
書込み対象データを送信するホスト装置と前記第二のストレージサブシステムとに通信可能に接続することができ、
前記ホスト装置からの書込み対象データを前記第一の記憶デバイスに書き込む手段と、
前記第一の記憶デバイス内のデータ群のスナップショットを表すスナップショット管理情報を記憶するスナップショット記憶域と、
書込み対象データによって更新される前のデータであり前記第一の記憶デバイスに書かれていたデータである更新前データを記憶する更新前データ記憶域と、
或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記更新前データを前記更新前データ記憶域に書き込む更新前データ書込み手段と、
前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を前記或るタイミングの前記スナップショットを表す情報に更新するスナップショット更新手段と、
前記或るタイミングよりも後のタイミングで、前記後のタイミングにおける更新後の前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記更新前データ記憶域と前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信する手段と
前記或るタイミングを繰り返し発生させるタイミング発生手段と
を備え、
前記第二のストレージサブシステムが、
前記第一のストレージサブシステムから受信したデータを前記第二の記憶デバイスに書き込むことにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築する手段を備える、
ストレージサブシステム。
【請求項１２】
前記第二のストレージサブシステムが、
前記第二の記憶デバイス内のデータ群のスナップショットを表す別のスナップショット管理情報を記憶する別のスナップショット記憶域と、
前記第一のストレージサブシステムからのデータによって更新される前のデータであり前記第二の記憶デバイスに書かれていたデータである別の更新前データを記憶する別の更新前データ記憶域と、
前記第一のストレージサブシステムからのデータが前記第二の記憶デバイスに書き込まれた場合、前記別の更新前データを前記別の更新前データ記憶域に書き込む更新前データ書込み手段と、
前記第一のストレージサブシステムからのデータが前記第二の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を更新する別のスナップショット更新手段と
を備える、
請求項１１記載のストレージサブシステム。
【請求項１３】
第一の記憶デバイスを備える第一のストレージサブシステムと、第二の記憶デバイスを備える第二のストレージサブシステムとを備えたストレージシステムにおいて実現される記憶制御方法であって、
前記第一のサブストレージサブシステムが、
書込み対象データを送信するホスト装置と前記第二のストレージサブシステムとに通信可能に接続することができ、
前記第一の記憶デバイス内のデータ群のスナップショットを表すスナップショット管理情報を記憶するスナップショット記憶域と、
書込み対象データによって更新される前のデータであり前記第一の記憶デバイスに書かれていたデータである更新前データを記憶する更新前データ記憶域と
を備えている場合、以下のステップ、
或るタイミング以降に前記ホスト装置から送信された書込み対象データを前記第一の記憶デバイスに書き込み、
前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記書込み対象データの前記更新前データを前記更新前データ記憶域に書き込み、
前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を前記或るタイミングの前記スナップショットを表す情報に更新し、
前記或るタイミングよりも後のタイミングで、前記後のタイミングにおける更新後の前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記更新前データ記憶域と前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信することにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築し、
前記或るタイミングを繰り返し発生させる、
を有する記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの記憶制御技術に関し、具体的には、データのコピー技術に関する。
【背景技術】
【０００２】
論理ボリュームを搭載することができるストレージサブシステムや、複数のストレージサブシステムを備えたストレージシステムが知られている。ストレージシステムでは、例えば、多世代のデータを複数のストレージサブシステムで保存し、障害が発生した場合には、これらの保存されたデータを用いてリストアを行うことができる（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００３−２４２０１１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、複数のストレージサブシステムに、互いに通信可能に接続された第一と第二のストレージサブシステムが含まれているとする。少なくとも第一のストレージサブシステムには、書込み要求と書込み対象データとを送信することのできるホスト装置が接続されているとする。
【０００５】
この場合において、第一のストレージサブシステムは、キャッシュメモリを備えており、書込み要求と書き込み対象データとをホスト装置から受信し、受信した書き込み対象データをキャッシュメモリに保存し、受信した書込み要求に従って、キャッシュメモリに保存された書き込み対象データを第一の論理ボリュームに書き込むことができる。更に、第一のストレージサブシステムは、リモートコピーと呼ばれる処理を実行することができる。具体的には、例えば、第一のストレージサブシステムは、キャッシュメモリに保存されたその書込み対象データを、第二のストレージサブシステムに転送することにより、第二のストレージサブシステムに存在する第二の論理ボリュームにその書き込み対象データを書き込むことができる。第一のストレージサブシステムは、ホスト装置からの書込み要求を処理した場合に、所定のタイミングで、書込み完了通知をホスト装置に送信することができる。
【０００６】
リモートコピーには、ホスト装置からの書込み対象データが第一の論理ボリュームだけでなく第二の論理ボリュームにも書き込まれた場合に書込み完了通知が送信される同期型のリモートコピーと、書き込み対象データが第二の論理ボリュームに書き込まれる前に書き込み通知が送信され、その後に書き込み対象データの第二の論理ボリュームへの書込みが行われる非同期型のリモートコピーとがある。
【０００７】
同期型のリモートコピーでは、書込み要求を受けてから書込み完了通知を送信するまでの時間がなるべく短い方が好ましいと考えられる。しかし、その時間を短くすることは、第一のストレージサブシステムのデータ処理能力が高くないと（例えば、ＣＰＵの処理速度が高くないと）難しい。
【０００８】
そのため、非同期型のリモートコピーが採られることがある。非同期型のリモートコピーでは、書込み完了通知が送信されてから書き込み対象データが第二の論理ボリュームに書き込まれるまでの時間がなるべく短い方が好ましいと考えられる。しかし、その時間を短くするためには、第一のストレージサブシステムのデータ処理能力を高めたり（例えば、第一のストレージサブシステムに処理速度の高いＣＰＵを搭載する或いは搭載するＣＰＵの数を増やしたり）、第一のストレージサブシステムと第二のストレージサブシステムとの間のデータ転送速度を速めたりする（例えば、通信回線を太くする）等の措置が必要になると考えられる。
【０００９】
また、非同期型のリモートコピーにおいて、第一の論理ボリュームに書き込まれる更新後のデータ或いは第一の論理ボリュームに書かれていた更新前のデータ等をキャッシュメモリに書き込むことで、更新前後のデータ管理を行う方法が採られる場合、データの更新が行われる都度に、キャッシュメモリに書かれるデータが増えていく。これを防ぐためには、キャッシュメモリを増やすという方法が考えられるが、それでは、コスト高になる。また、別法として、第一の論理ボリュームを有するディスク型記憶装置に更新前或いは更新後のデータを書くという方法も考えられるが、ディスク型記憶装置に対するデータの読み書きはキャッシュメモリに対するデータの読み書きよりも遅いので、非同期型リモートコピーの処理速度の劣化につながると考えられる。
【００１０】
従って、本発明の一つの目的は、効率的な非同期型のリモートコピーを提供することになる。
【００１１】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【００１２】
本発明の第一の側面に従うストレージサブシステムは、第一の記憶デバイスを備える第一のストレージサブシステムと、第二の記憶デバイスを備える第二のストレージサブシステムとを備えたストレージシステムの前記第一のストレージサブシステムである。前記第一のストレージサブシステムは、書込み対象データを送信するホスト装置と前記第二のストレージサブシステムとに通信可能に接続することができる。前記第一のストレージサブシステムは、前記ホスト装置からの書込み対象データを前記第一の記憶デバイスに書き込む手段と、前記第一の記憶デバイス内のデータ群のスナップショットを表すスナップショット管理情報を記憶するスナップショット記憶域と、書込み対象データによって更新される前のデータであり前記第一の記憶デバイスに書かれていたデータである更新前データを記憶する更新前データ記憶域とを備える。前記第一のストレージサブシステムは、更新前データ書込み手段と、スナップショット更新手段と、リモートコピー手段、タイミング発生手段とを備える。前記更新前データ書込み手段は、或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記更新前データを前記更新前データ記憶域に書き込む。前記スナップショット更新手段は、前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を前記或るタイミングの前記スナップショットを表す情報に更新する。前記リモートコピー手段は、前記或るタイミングよりも後のタイミングで、前記後のタイミングにおける更新後の前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記更新前データ記憶域と前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信することにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築する。前記タイミング発生手段は、前記或るタイミングを繰り返し発生させる。
【００１３】
記憶デバイス及び記憶域は、物理的な記憶資源であっても良いし、その物理的な記憶資源上に設けられる論理的な記憶資源であっても良い。物理的な記憶資源としては、例えば、ハードディスク、磁気ディスク、光ディスク、磁気テープ、或いは半導体メモリであっても良い。論理的な記憶資源としては、論理ボリュームとすることができる。
【００１４】
一つの実施態様では、第一のストレージサブシステムは、再度前記或るタイミングになった場合に、前記更新前データ記憶域に記憶されている全ての更新前データを消去する手段を更に備えることができる。
【００１５】
一つの実施態様では、前記更新前データ記憶域は、前記第一の記憶デバイスとペアを構成することができる第三の記憶デバイスとすることができる。前記第一のストレージサブシステムは、前記第一の記憶デバイスと前記第三の記憶デバイスとのペア状態が第一の状態の場合に、前記第一の記憶デバイスだけでなく前記第三の記憶デバイスにも前記書込み対象データを書き込むローカルコピー手段とを備えることができる。前記タイミング発生手段が、前記ペア状態を繰り返し第二の状態にすることにより、前記或るタイミングを繰り返し発生させることができる。
【００１６】
一つの実施態様では、前記第一のストレージサブシステムは、物理的な記憶デバイスに設けられ、特定の属性が設定されていない第一種の論理ボリュームと、物理的な記憶デバイスに設けられ、特定の属性が設定された複数の第二種の論理ボリュームとを備えることができる。前記第一の記憶デバイス及び前記第二の記憶デバイスは、前記第一種の論理ボリュームであるとすることができる。前記第三の記憶デバイスは、少なくとも一つの前記第二種の論理ボリュームによって構成される仮想的な論理ボリュームであるとすることができる。前記ローカルコピー手段は、前記複数の第二種の論理ボリュームのうち空きの領域を有する第二種の論理ボリュームに前記書込み対象データを書き込むことにより、前記仮想的な論理ボリュームに前記書込み対象データを書き込むことができる。
【００１７】
一つの実施態様では、前記第一のストレージサブシステムが、前記ホスト装置と前記第一の記憶デバイスとの間でやり取りされる前記書込み対象データを一時的に記憶するキャッシュメモリを備えることができる。前記更新前データ記憶域を、前記キャッシュメモリに設けることができる。
【００１８】
一つの実施態様では、前記更新前データ記憶域が第一の記憶デバイス（例えばハードディスク）に設けられていてもよい。ここで言う第一の記憶デバイスは、ホストからの書き込み対象データが書かれる記憶デバイスであっても良いし、それとは別の記憶デバイス（例えば、ホストからの書き込み対象データがかかれるのではなく、このストレージサブシステムを制御するための制御情報が書かれる記憶デバイス）であっても良い。
【００１９】
一つの実施態様では、前記第一のストレージサブシステムが、前記ホスト装置と前記第一の記憶デバイスとの間でやり取りされる前記書込み対象データを一時的に記憶するキャッシュメモリを備えてもよい。前記スナップショット記憶域が、前記スナップショット管理情報の全部又は一部が、前記キャッシュメモリと第一の記憶デバイスとの少なくとも一方（例えば両方）に記憶されてもよい。なお、ここで言う「スナップショット管理情報」は、後述する実施形態のスナップショット管理情報２５１とすることができる。この場合、スナップショット管理情報２５１の全部又は一部とは、後述する差分ビットマップ２０２、アドレステーブル２０３及びスナップショット管理テーブル２０４の少なくとも一つとすることができる。また、ここで言う第一の記憶デバイスも、ホストからの書き込み対象データが書かれる記憶デバイスであっても良いし、それとは別の記憶デバイス（例えば、ホストからの書き込み対象データがかかれるのではなく、このストレージサブシステムを制御するための制御情報が書かれる記憶デバイス）であっても良い。
【００２０】
一つの実施態様では、前述した各手段を、ハードウェア、コンピュータプログラム又はそれらの組み合わせにより実現することができる。
【００２１】
例えば、前記第一のストレージサブシステムが、書き込み要求と書き込み対象データとを送信するホスト装置と前記第一の論理ボリュームとの間でやり取りされる前記書込み対象データを一時的に記憶するキャッシュメモリと、少なくとも一つのコンピュータと、前記少なくとも一つのコンピュータに読み込まれることにより前記少なくとも一つのコンピュータを動作させる一以上のコンピュータプログラムを記憶したプログラム記憶域とを備えることができる。前記更新前データ記憶域を、前記キャッシュメモリ上に設けることができる。前記一以上のコンピュータプログラムを読み込んだ前記少なくとも一つのコンピュータは、
（１）前記ホスト装置から書き込み要求と書き込み対象データとを受信し、
（２）前記受信した書込み要求に従って、前記受信した書込み対象データを前記第一の記憶デバイスに書込み、
（３）前記或るタイミング以降、前記（１）の処理を行う都度に、前記（２）の処理に加えて、以下の（４）乃至（７）の処理を繰り返し、
（４）前記更新前データを前記キャッシュメモリに書込み、
（５）前記書込み対象データを前記第一の記憶デバイスに書き込むことによる前記第一の記憶デバイスの更新に基づいて、前記或るタイミングにおける前記スナップショットを表す情報に前記スナップショット管理情報を更新し、
（６）前記或るタイミングよりも後のタイミングで、前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記キャッシュメモリと前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信することにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築し、
（７）前記或るタイミングを繰り返し発生させる、
を実行することができる。更に、前記少なくとも一つのコンピュータが、再び前記或るタイミングになったときに、前記キャッシュメモリから全ての更新前データを消去することができる。コンピュータは、例えば、ＣＰＵ等のプロセッサであっても良いし、プロセッサを搭載した回路基板であっても良いし、複数のハードウェア資源（例えば、ＣＰＵ、メモリ、キー等の入力装置及び表示装置等の出力装置）を備えたコンピュータ装置（例えば、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistants）、或いは携帯電話機）であっても良い。
【００２２】
一つの実施態様では、前記タイミング発生手段は、或るタイミングが生じるためのイベントを定期的に又は不定期的に実行することができる。
【００２３】
本発明の第二の側面に従うストレージシステムは、第一の記憶デバイスを備える第一のストレージサブシステムと、第二の記憶デバイスを備える第二のストレージサブシステムとを備える。
【００２４】
前記第一のストレージサブシステムが、書込み対象データを送信するホスト装置と前記第二のストレージサブシステムとに通信可能に接続することができる。前記第一のストレージサブシステムは、前記ホスト装置からの書込み対象データを前記第一の記憶デバイスに書き込む手段と、前記第一の記憶デバイス内のデータ群のスナップショットを表すスナップショット管理情報を記憶するスナップショット記憶域と、書込み対象データによって更新される前のデータであり前記第一の記憶デバイスに書かれていたデータである更新前データを記憶する更新前データ記憶域とを備える。前記第一のストレージサブシステムは、更新前データ書込み手段と、スナップショット更新手段と、送信する手段と、タイミング発生手段とを備える。前記更新前データ書込み手段は、或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記更新前データを前記更新前データ記憶域に書き込む。前記スナップショット更新手段は、前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を前記或るタイミングの前記スナップショットを表す情報に更新する。前記送信する手段は、前記或るタイミングよりも後のタイミングで、前記後のタイミングにおける更新後の前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記更新前データ記憶域と前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信する。前記タイミング発生手段は、前記或るタイミングを繰り返し発生させる。
【００２５】
前記第二のストレージサブシステムが、前記第一のストレージサブシステムから受信したデータを前記第二の記憶デバイスに書き込むことにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築する手段を備える。
【００２６】
一つの実施態様では、前記第二のストレージサブシステムが、前記第二の記憶デバイス内のデータ群のスナップショットを表す別のスナップショット管理情報を記憶する別のスナップショット記憶域と、前記第一のストレージサブシステムからのデータによって更新される前のデータであり前記第二の記憶デバイスに書かれていたデータである別の更新前データを記憶する別の更新前データ記憶域と、前記第一のストレージサブシステムからのデータが前記第二の記憶デバイスに書き込まれた場合、前記別の更新前データを前記別の更新前データ記憶域に書き込む更新前データ書込み手段と、前記第一のストレージサブシステムからのデータが前記第二の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を更新する別のスナップショット更新手段とを備えることができる。
【００２７】
本発明の第三の側面に従う方法は、第一の記憶デバイスを備える第一のストレージサブシステムと、第二の記憶デバイスを備える第二のストレージサブシステムとを備えたストレージシステムにおいて実現される記憶制御方法である。前記第一のサブストレージサブシステムが、書込み対象データを送信するホスト装置と前記第二のストレージサブシステムとに通信可能に接続することができる。前記第一のストレージサブシステムが、前記第一の記憶デバイス内のデータ群のスナップショットを表すスナップショット管理情報を記憶するスナップショット記憶域と、書込み対象データによって更新される前のデータであり前記第一の記憶デバイスに書かれていたデータである更新前データを記憶する更新前データ記憶域とを備えている。この場合、前記記憶制御方法は、以下のステップ、
或るタイミング以降に前記ホスト装置から送信された書込み対象データを前記第一の記憶デバイスに書き込み、
前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記書込み対象データの前記更新前データを前記更新前データ記憶域に書き込み、
前記或るタイミング以降に、書込み対象データが前記第一の記憶デバイスに書き込まれた場合、前記スナップショット管理情報を前記或るタイミングの前記スナップショットを表す情報に更新し、
前記或るタイミングよりも後のタイミングで、前記後のタイミングにおける更新後の前記スナップショット管理情報に基づいて、前記或るタイミングにおける前記データ群を構成するデータが前記更新前データ記憶域と前記第一の記憶デバイスとのうちのどちらに存在するかを判別し、判別された方からデータを取得して前記第二のストレージサブシステムに送信することにより、前記或るタイミングにおける前記データ群を前記第二の記憶デバイス内に構築し、
前記或るタイミングを繰り返し発生させる、
を有する。
【発明の効果】
【００２８】
本発明によれば、効率的な非同期型のリモートコピーを提供することができる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して、本発明の一実施形態について説明する。
【００３０】
図１は、本発明の一実施形態に係るストレージシステムを示す。
【００３１】
第一のストレージサブシステム１Ａは、ディスクコントローラ１０及び複数（又は一つ）のディスク型記憶装置２０を備える。また、第一のストレージサブシステム１Ａは、ホスト装置３、管理装置５及び第二のストレージサブシステム１Ｂに接続されている。具体的には、例えば、第一のストレージサブシステム１Ａは、ＳＡＮ（Storage Area Network）２を介してホスト装置３及び第二のストレージサブシステム１Ｂに接続され、ＬＡＮ（Local Area Network）４を介して管理装置５に接続されている。
【００３２】
ホスト装置３は、例えば、ＣＰＵ、メモリ及び表示装置等のハードウェア資源を備えるコンピュータ装置（例えばパーソナルコンピュータ）である。ホスト装置３は、第一のストレージサブシステム１Ａに対して、読出し対象データの読出し要求や、書込み要求及び書き込み対象データを送信することができる。
【００３３】
管理装置５は、例えば、ＣＰＵ、メモリ及び表示装置等のハードウェア資源を備えるコンピュータ装置（例えばパーソナルコンピュータ）である。管理装置５では、例えば、図示しない管理プログラムが動作することができ、該管理プログラムによってストレージサブシステム１の動作状態を把握し、第一のストレージサブシステム１Ａの動作を制御することができる。なお、管理装置５では、ｗｅｂブラウザ等のクライアントプログラムも動作することができ、第一のストレージサブシステム１ＡからＣＧＩ（Common Gateway Interface）等によって供給される管理プログラムによって、第一のストレージサブシステム１Ａの動作を制御することもできる。
【００３４】
第一のストレージサブシステム１Ａには、共通のネットワークを介してホスト装置３、管理装置５及び第二のストレージサブシステム１Ｂが接続されても良いし、それぞれ専用線を介してホスト装置３、管理装置５及び第二のストレージサブシステム１Ｂに接続されても良い。第一のストレージサブシステム１Ａと第二のストレージサブシステム１Ｂの少なくとも一方を、ＲＡＩＤ（Redundant Array of Independent Disks）システムとすることができる。
【００３５】
ディスクコントローラ１０は、ディスク型記憶装置（例えばハードディスクドライブ）２０に対するデータの入出力を制御する。ディスクコントローラ１０には、例えば、ＣＰＵ１０１、メモリ１０２、データ転送コントローラ１０４、フロントエンドインターフェース１０５、バックエンドインターフェース１０６、キャッシュメモリ１０７、及びＬＡＮインターフェース１０８が設けられている。
【００３６】
メモリ１０２は、種々の情報を記憶することができる。具体的には、例えば、メモリ１０２は、ＣＰＵ１０１に読み込まれる種々のコンピュータプログラム（図示せず）や、後述する論理ボリュームを管理するためのボリューム管理テーブルを記憶することができる。
【００３７】
キャッシュメモリ１０７には、フロントエンドインターフェース１０５とバックエンドインターフェース１０６との間で送受信されるデータ（換言すれば、ホスト装置３とディスク型記憶装置２０との間でやり取りされるデータ）が一時的に記憶される。
【００３８】
フロントエンドインターフェース１０５は、ＳＡＮ２に対するインターフェースであって、例えば、ファイバチャネルプロトコルによって、ホスト３との間でデータや制御信号を送受信する。
【００３９】
バックエンドインターフェース１０６は、ディスク型記憶装置２０に対するインターフェースであって、例えば、ファイバチャネルプロトコルによって、ディスク型記憶装置２０との間でデータや制御信号を送受信する。
【００４０】
データ転送コントローラ１０４は、ＣＰＵ１０１、フロントエンドインターフェース１０５、バックエンドインターフェース１０６、及びキャッシュメモリ１０７の間でのデータの転送を制御する。例えば、データ転送コントローラ１０４は、ＳＡＮ４を介してディスク型記憶装置２０に読み書きされるデータを、インターフェース１０５、１０６間で、キャッシュメモリ１０７を介して転送する。
【００４１】
ＬＡＮインターフェース１０８は、ＬＡＮ４に対するインターフェースであって、例えば、ＴＣＰ／ＩＰプロトコルによって、管理装置５との間でデータや制御信号を送受信することができる。
【００４２】
複数のディスク型記憶装置２０には、論理的な記憶デバイスである複数（又は一つ）の論理ボリューム２１が設定される。
【００４３】
ＣＰＵ１０１は、メモリ１０２に記憶されているコンピュータプログラムを呼び出して実行することにより、各種処理を実行することができる。例えば、ホスト装置３から読出し要求が受信された場合、ＣＰＵ１０２は、論理ボリューム２１に書き込まれている読出し対象データを一時キャッシュメモリ１０７に読み出し、その後、その読出し対象データをキャッシュメモリ１０７から読み出してホスト装置３に送信することができる。また、例えば、ホスト装置３から書込み要求と書き込み対象データとが受信された場合、書込み対象データはキャッシュメモリ１０７に一時格納され、ＣＰＵ１０１は、その書込み要求に従って、キャッシュメモリ１０７に格納された書込み対象データを、論理ボリューム２１に書き込むことができる。また、ＣＰＵ１０１は、後述するクイック内部コピー処理や、スナップショット更新処理や、リモートコピー処理等を実行することもできる。
【００４４】
第二のストレージサブシステム１Ｂは、第一のストレージサブシステム１Ａと同様のハードウェア構成であっても異なるハードウェア構成であっても良い。第二のストレージサブシステム１Ｂも、一又は複数の論理ボリューム３１を備えることができる。
【００４５】
以上が、本実施形態に係るストレージシステムの概要である。以下、そのストレージシステムについて詳細に説明する。
【００４６】
図２Ａは、メモリ１０２に記憶される情報の一例を示す。
【００４７】
メモリ１０２には、例えば、後述するクイック内部コピー処理及びスナップショット更新処理を実行するクイック内部コピー実行プログラム１３１、リモートコピー処理を実行するリモートコピー実行プログラム１３３、クイック内部コピー実行プログラム１３１とリモートコピー実行プログラムを制御するクイック／リモート制御プログラム１３５、及び、複数の論理ボリューム２１に関する情報が記述される第一のボリューム管理テーブル（テーブル形式でなくても良い）１３７が記憶される。
【００４８】
クイック内部コピー実行プログラム１３１、リモートコピー実行プログラム１３３及びクイック／リモート制御プログラム１３５がＣＰＵ１０１に読み込まれることにより、後述の図４を参照して説明する一連の処理流れを実現することができる。
【００４９】
図２Ｂは、ボリューム管理テーブル１３７の構成例を示す。
【００５０】
ボリューム管理テーブル１３７には、複数の論理ボリューム２１の各々について、論理ボリューム（以下、「ＶＯＬ」と略記することあり）を識別するためのＶＯＬ−ＩＤと、その論理ボリュームへのアクセスパスを表すパス情報と、その論理ボリュームの種類（以下、ＶＯＬ種類）と、その論理ボリュームがプールＶＯＬであるか否かを表すフラグ（以下、プールＶＯＬフラグ）と、その論理ボリュームを含んだＶＯＬペアに関する情報（以下、ペア情報）とが記録される。ボリューム管理テーブル１３７に記録される情報のうちの少なくとも一つの情報要素（例えば、ＶＯＬ−ＩＤ、ＶＯＬ種類、プールＶＯＬフラグの設定）は、管理装置５又はホスト装置３等の外部装置から入力することができる。
【００５１】
ＶＯＬ種類としては、例えば、「プライマリ」と、「セカンダリ」（図示せず）と、「プール」（図示しないがプールＶＯＬフラグが「１」になっているもの）とがある。「プライマリ」という種類のＶＯＬ（以下、プライマリＶＯＬ）は、所定のコピー処理（例えばリモートコピー処理）において、コピー元となるＶＯＬである。「セカンダリ」という種類のＶＯＬ（以下、セカンダリＶＯＬ）は、所定のコピー処理（例えばリモートコピー処理）において、コピー先となり、プライマリＶＯＬと同じ記憶容量になるＶＯＬである。プライマリＶＯＬもセカンダリＶＯＬも、パス情報は定義されている。それに対し、「プール」という種類のＶＯＬ（以下、プールＶＯＬ）は、パス情報が未定義である。プールＶＯＬについては、後に詳述する。
【００５２】
プールＶＯＬフラグは、それに対応する論理ボリューム２１がプールＶＯＬであるか否かを表す情報である。具体的には、例えば、プールＶＯＬフラグが「１」であれば（つまり立っていれば）、それに対応する論理ボリューム２１はプールＶＯＬであることがわかり、プールＶＯＬフラグが「０」であれば（つまり倒れていれば）、それに対応する論理ボリューム２１はプールＶＯＬではないことがわかる。
【００５３】
ペア情報には、例えば、ペア相手情報やペア状態が含まれている。ペア相手情報には、例えば、ペア相手となる論理ボリューム（以下、ペア相手ＶＯＬ）に関する情報として、ペア相手ＶＯＬを有するストレージサブシステムのＩＤ、ペア相手ＶＯＬのＶＯＬ−ＩＤ及びパス情報等を含めることができる。ペア状態としては、例えば、ペア相手ＶＯＬがリザーブされた状態（例えば、ペア相手ＶＯＬに対してアクセスが禁止された状態）である準備状態や、リザーブされたペア相手ＶＯＬにペア元のＶＯＬ内のデータを複製することを表すコピー状態や、ペア相手ＶＯＬとペア元ＶＯＬとを論理的に分離してペア元ＶＯＬの更新前後の差分データのみをペア相手ＶＯＬにコピーすることを表すスプリット状態等がある。
【００５４】
ＣＰＵ１０１は、上記のようなボリューム管理テーブル１３７を参照することにより、アクセス対象となるＶＯＬ２１の種類やペア情報を特定することができる。また、ＣＰＵ１０１は、プールＶＯＬ２１Ｃが後述のバーチャルＶＯＬに割り当てられた場合には、そのプールＶＯＬ２１Ｃへのパスを表す情報を定義し、定義されたパス情報をボリューム管理テーブル１３７に登録することができる。また、ＣＰＵ１０１は、割り当てがされなくなったプールＶＯＬについてパス情報を消去することにより、プールＶＯＬを未使用状態にすることができる。ＣＰＵ１０１は、各プールＶＯＬについて、パス情報が登録されているか否かにより、各プールＶＯＬが使用中であるか未使用状態であるかを判別することができる。
【００５５】
図３は、本実施形態に係るストレージシステムにおいて行われる非同期型のリモートコピーの説明図である。
【００５６】
まず、その処理流れを説明する前に、構成や機能を説明する。
【００５７】
第一のストレージサブシステム１Ａに、プライマリＶＯＬ２１Ａ、バーチャルＶＯＬ２２、複数のプールＶＯＬ２１Ｃ及びスナップショット管理情報２５１が存在する。
【００５８】
バーチャルＶＯＬ２２は、プライマリＶＯＬ２１Ａ（及び／又は後述するセカンダリＶＯＬ３１Ａ）とペアになることができる。バーチャルＶＯＬ２２は、仮想的に用意された論理ボリュームであり、所定の物理的な記憶資源、例えば、キャッシュメモリ１０７上に論理的に用意される（ディスク型記憶装置２０に用意されても良い）。ＣＰＵ１０１は、バーチャルＶＯＬ２２に、複数のプールＶＯＬ２１Ｃの中から一以上のプールＶＯＬ２１Ｃ（例えば、どのＶＯＬに対応付けられていない未使用のプールＶＯＬ２１Ｃ）を選択し、選択された一以上のプールＶＯＬ２１ＣをバーチャルＶＯＬ２２に割り当てることができる。ＣＰＵ１０１は、バーチャルＶＯＬ２２にデータを書き込んだ場合、そのデータを、割り当てられたプールＶＯＬ２１Ｃに書き込んでも良いし、プールＶＯＬ２１Ｃに書き込まずにバーチャルＶＯＬ２２Ｃのみで保存しても良い。ＣＰＵ１０１は、バーチャルＶＯＬ２２に割り当てられるプールＶＯＬ２１Ｃの数を、一以上のプールＶＯＬ２１Ｃによって提供される記憶資源の消費状況に応じて、適宜に増減することで、使用可能な記憶容量を増減することができる。
【００５９】
スナップショット管理情報２５１は、所定の記憶資源、例えば、キャッシュメモリ１０７に保存される。スナップショット管理情報２５１は、或るタイミング（換言すれば或る時点）におけるプライマリＶＯＬ２１Ａ内のデータ群（換言すれば、プライマリＶＯＬ２１Ａのイメージ）のスナップショットを表す。ＣＰＵ１０１は、スナップショット管理情報２５１を参照することにより、或るタイミングにおける上記データ群を構成する各データ毎に、そのデータがバーチャルＶＯＬ２２（又はプールＶＯＬ２１Ｃ）とプライマリＶＯＬ２１Ａとのうちのどちらに存在するかを判別し、判別された方からデータを取得することにより、或るタイミングにおける上記データ群を所定の記憶資源（例えばプライマリＶＯＬ２１Ａ或いは別のＶＯＬ２１）に復元することができる。
【００６０】
なお、スナップショット管理情報２５１の全部又は一部が、キャッシュメモリ１０７に代えて又は加えて、ディスク型記憶装置２０（例えば、プライマリＶＯＬ２１Ａ、或いは、第一のストレージサブシステム１Ａを制御するための情報が書かれるいわゆるシステムＶＯＬ）に書かれても良い。スナップショット管理情報２５１には、後述するように、例えば、差分ビットマップ２０２、アドレステーブル２０３及びスナップショット管理テーブル２０４が含まれているが、それらの情報要素２０２、２０３及び２０３の少なくとも一つが、キャッシュメモリ１０７に代えて又は加えて、ディスク型記憶装置２０に記憶されても良い。具体的には、例えば、第一のストレージサブシステム１Ａ（例えばＣＰＵ１０１）は、ディスク型記憶装置２０に記憶されているスナップショット管理情報２５１の全部又は一部を、キャッシュメモリ１０７にコピーすることもできるし、逆に、キャッシュメモリ１０７に記憶されているスナップショット管理情報２５１の全部又は一部を、ディスク型記憶装置２０にコピーすることもできる。また、例えば、第一のストレージサブシステム１Ａ（例えばＣＰＵ１０１）は、更に、一方のスナップショット管理情報２５１の全部又は一部（例えば、キャッシュメモリ１０７上の情報２５１の全部又は一部）を更新した場合には、所定のタイミング（例えば、更新直後、又は、定期的に或いは不定期的に）、更新後のスナップショット管理情報２５１の全部又は一部を、他方のスナップショット管理情報２５１の全部又は一部（例えば、ディスク型記憶装置２０上の情報２５１の全部又は一部）に反映する（例えば全部又は差分をコピーする）ことができる。このように、スナップショット管理情報２５１の全部又は一部を、２つ備えることにより、一方から読み出し不可能になっても（例えばキャッシュメモリ１０７で障害があっても）、他方から読み出すことができる。
【００６１】
ＣＰＵ１０１は、バーチャルＶＯＬ２２（又はプールＶＯＬ２１Ｃ）及びプライマリＶＯＬ２１Ａのうちの少なくとも一方に存在するデータを読み出して第二のストレージサブシステム１Ｂに転送する（具体的には、例えば、そのデータと、そのデータを書込み対象とした書込み要求とを送信する）ことができる。
【００６２】
第二のストレージサブシステム１Ｂは、ＣＰＵ８０１や、キャッシュメモリ８０７や、セカンダリＶＯＬ３１Ａや、或るタイミングにおけるセカンダリＶＯＬ３１Ａのデータ群のスナップショットを表すスナップショット管理情報２５２や、セカンダリＶＯＬ３１ＡとペアになることができるバーチャルＶＯＬ３２を備える。スナップショット管理情報２５２やバーチャルＶＯＬ３２は、キャッシュメモリ８０７上に用意することができる。
【００６３】
第一のストレージサブシステム１Ａからのデータは、ＣＰＵ８０１により、セカンダリＶＯＬ３１Ａに書き込まれる。また、セカンダリＶＯＬ３１Ａの更新前後の差分を表すデータが、ＣＰＵ８０１により、バーチャルＶＯＬ３２に書き込むことができる。また、その際、ＣＰＵ８０１は、スナップショット管理情報２５２を、或るタイミングにおけるセカンダリＶＯＬ３１Ｂのデータ群を表すスナップショットを表す情報に更新することができる。すなわち、ＣＰＵ８０１は、ＣＰＵ１０１と同様の処理を実行することができる。
【００６４】
ＣＰＵ１０１は、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とのペア状態をコピー状態にすることができる。これは、例えば、管理装置５或いはホスト装置３等の外部装置からの指示に従って行うこともできるし、そのような指示を受けることなく能動的に行うこともできる。ＣＰＵ１０１は、上記コピー状態の場合、通常コピー処理を実行することができる。具体的には、例えば、ＣＰＵ１０１は、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とがコピー状態になっているときに、プライマリＶＯＬ２１Ａに書込み対象データが書き込まれた場合、それに同期して（又は非同期にして）、バーチャルＶＯＬ２２又はそれに割り当てられたプールＶＯＬ２１Ｃに、その書込み対象データを書き込む。
【００６５】
また、ＣＰＵ１０１は、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とのペア状態をスプリット状態にすることができる。これは、例えば、管理装置５或いはホスト装置３等の外部装置からの指示に従って行うこともできるが、本実施形態では、そのような指示を受けることなく第一のストレージサブシステム１Ａ（例えばＣＰＵ１０１）が能動的に行うこともできる。ＣＰＵ１０１は、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とのペア状態をスプリット状態にされた以降、プライマリＶＯＬ２１Ａが更新された場合に、読み込まれたクイック内部コピー実行プログラム１３１により、クイック内部コピー処理及びスナップショット更新処理を実行する。
【００６６】
プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とのペア状態がスプリット状態の場合に、書込み対象データ及び書込み要求がホスト装置３から送信された場合、本実施形態に係るストレージシステムは以下の処理を行うことができる。
【００６７】
すなわち、第一のストレージサブシステム１Ａが、ホスト装置３から書き込み要求と書き込み対象データとを受信し（ステップＳ２１）、書込み対象データがキャッシュメモリ１０７に書き込まれる（Ｓ２２）。第一のストレージサブシステム１Ａは、キャッシュメモリ１０７（又はプライマリＶＯＬ２１Ａ）に書込み対象データが書き込まれた場合に、書込み完了通知をホスト装置３に送信する（Ｓ２３）。
【００６８】
ＣＰＵ１０１は、キャッシュメモリ１０７に書き込まれた書込み対象データを読出し、その書込み対象データをプライマリＶＯＬ２１Ａに書き込む（Ｓ２４）。その際、ＣＰＵ１０１は、クイック内部コピー処理を実行する。例えば、ＣＰＵ１０１は、書込み対象データによって更新される前のデータでありプライマリＶＯＬ２１Ａに書かれていたデータである更新前データを、プライマリＶＯＬ２１ＡからバーチャルＶＯＬ２２にコピーさせる（例えば移動させる）（Ｓ２５）。この処理により、スプリット状態にされた時点（換言すれば、上記通常コピー処理が停止された時点）におけるプライマリＶＯＬ２１Ａのデータ群を構成する複数のデータが、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とに分散される。ＣＰＵ１０１は、バーチャルＶＯＬ２２にコピーされた更新前データを、割り当てられたプールＶＯＬ２１Ｃに格納することもできるが、本実施形態では、更新前データを、プールＶＯＬ２１Ｃに移すことなくキャッシュメモリ１０７で保存する。その方が、リモートコピー処理において、プールＶＯＬ２１Ｃが存在するディスク型記憶装置２０からよりもキャッシュメモリ１０７からの方が更新前データを早く取得することができるためである。
【００６９】
また、クイック内部コピー処理の際に、ＣＰＵ１０１は、スナップショット更新処理を実行する。具体的には、ＣＰＵ１０１は、書込み対象データをプライマリＶＯＬ２１Ａに書き込むことによるプライマリＶＯＬ２１Ａの更新に基づいて、スプリット状態にされた時点（換言すれば、上記通常コピーの停止状態）におけるプライマリＶＯＬ２１Ａのデータ群のスナップショットを表す情報に、スナップショット管理情報２５１を更新する（Ｓ２６）。換言すれば、スナップショット管理情報２５１が更新されることにより、バーチャルＶＯＬ２１Ａで、スプリット時点におけるプライマリＶＯＬ２１Ａのイメージを論理的に持つことができる。
【００７０】
ＣＰＵ１０１は、上記スプリット状態において、Ｓ２１が行われた場合には、その都度に、Ｓ２２乃至Ｓ２６の処理を繰り返し実行する。
【００７１】
ＣＰＵ１０１は、上記スプリット状態において、スプリット状態にされた時点（以下、スプリット時点）よりも後の所定の又は任意のタイミングで、読み込まれたクイック／リモート制御プログラム１３５により、リモートコピー実行プログラム１３３を実行することで、リモートコピー処理を実行する。具体的には、例えば、クイック／リモート制御プログラム１３５の制御により、クイック内部コピー実行プログラム１３１が、スナップショット管理情報１５１をリモートコピー実行プログラム１３３に渡す。そのスナップショット管理情報１５１は、スプリット状態にされた時点のプライマリＶＯＬ２１Ａのデータ群を復元するための情報、具体的には、例えば、スプリット時点にプライマリＶＯＬ２１Ａに存在していたデータがどこに存在するかや、スプリット時点以降にプライマリＶＯＬ２１Ａのどこが更新されたかを表す。リモートコピー実行プログラム１３３は、渡されたスナップショット管理情報１５１に基づいて、スプリット時点における上記データ群を構成するデータがバーチャルＶＯＬ２２とプライマリＶＯＬ２１Ａとのうちのどちらに存在するかを判別し、判別された方からデータを取得して第二のストレージサブシステム１Ｂに送信する（Ｓ２７）。これにより、スプリット時点における上記データ群が、セカンダリＶＯＬ３１Ａに格納され、結果として、上記スプリット時点における上記データ群がセカンダリＶＯＬ３１Ａ内に構築される。
【００７２】
第二のストレージサブシステム１Ｂは、第一のストレージサブシステムからデータを受信後、所定の又は任意のタイミング（例えば、データがキャッシュメモリ８０７又はセカンダリＶＯＬ３１Ａに書かれた時点で）で、書込み完了を通知することができる（Ｓ２８）。
【００７３】
以後、第二のストレージサブシステム１ＢのＣＰＵ８０１は、第一のストレージサブシステム１Ａからデータを受信し、受信したデータをセカンダリＶＯＬ３１Ａに書き込む場合、そのデータによって更新される前のデータでありセカンダリＶＯＬ３１Ａに書かれていたデータである別の更新前データをバーチャルＶＯＬ３２に書き込むことができる（Ｓ２９）。また、その際、ＣＰＵ８０１は、スナップショット管理情報２５２を、セカンダリＶＯＬ３１Ａ内のデータ群のスナップショット（例えば上記スプリット時点におけるセカンダリＶＯＬ３１Ａ内のイメージ）を表す情報に更新することができる。
【００７４】
図４は、本実施形態の一つの要部に係る処理流れの一例の説明図である。
【００７５】
プライマリＶＯＬ２１ＡもセカンダリＶＯＬ３１Ａも、第一のブロック領域と第二のブロック領域とを含んだ複数のブロック領域から構成されているとする。
【００７６】
例えば、時刻ｔ０は、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とがスプリット状態にされた（例えば、スプリット状態にするためのコマンドが発行された）時点である。この時刻ｔ０におけるプライマリＶＯＬ２１Ａのイメージを、「イメージＴ０」とする。イメージＴ０は、プライマリＶＯＬ２１Ａは、第一のブロック領域に、データブロックＡが格納されているイメージとする。この時刻ｔ０の時点では、バーチャルＶＯＬ２２に、更新前データは格納されていない。スナップショット管理情報２５１は、イメージＴ０を復元するための情報になっている。
【００７７】
時刻ｔ１で（つまり、スプリット状態の期間中に）、プライマリＶＯＬ２１Ａの第一のブロック領域に、データブロックＢが上書きされた場合、プライマリＶＯＬ２１Ａのイメージが、イメージＴ０からイメージＴ１に変化する。この場合、クイック内部コピー実行プログラム１３１は、更新前のデータブロックＡをプライマリＶＯＬ２１ＡからバーチャルＶＯＬ２２に書き込む。その際、クイック内部コピー実行プログラム１３１は、スナップショット管理情報２５１を、プライマリＶＯＬ２１Ａの第一のブロック領域で更新があり、その第一のブロック領域に存在していた更新前のデータブロックＡがバーチャルＶＯＬ２２に格納されたことを表す情報に更新する。
【００７８】
また、時刻ｔ１で、ローカル／リモート制御プログラム１３５が、リモートコピー処理の実行をリモートコピー実行プログラム１３３に命じ、更新後のスナップショット管理情報２５１をリモートコピー実行プログラム１３３に渡す（或いは、その情報２５１が存在する場所をリモートコピー実行プログラム１３３に教える）。リモートコピー実行プログラム１３３は、更新後のスナップショット管理情報２５１を参照することにより、イメージＴ０を構成するデータブロックＡがバーチャルＶＯＬ２２に存在することを特定し、バーチャルＶＯＬ２２からデータブロックＡを取得し、取得されたデータブロックＡを第二のストレージサブシステム１Ｂに送信する。
【００７９】
時刻ｔ２は、リモートコピー処理が完了した時点である。この結果、時刻ｔ０におけるプライマリＶＯＬ２１ＡのイメージＴ０が、セカンダリＶＯＬ３１Ａに複製される。
【００８０】
また、時刻ｔ２で（つまり、スプリット状態の期間中に）、プライマリＶＯＬ２１Ａの第二のブロック領域に、データブロックＣが書かれた場合、プライマリＶＯＬ２１Ａのイメージが、イメージＴ１からイメージＴ２に変化する。この場合、クイック内部コピー実行プログラム１３１は、スナップショット管理情報２５１を、プライマリＶＯＬ２１Ａの第二のブロック領域で更新があったことを表す情報に更新する。
【００８１】
例えば、時刻ｔ２の後であって時刻ｔ３の前に、プライマリＶＯＬ２１Ａの第二のブロック領域に、データブロックＤが上書きされた場合、プライマリＶＯＬ２１Ａのイメージが、イメージＴ２からイメージＴ３（第一ブロック領域にデータブロックＢが存在し、第二ブロック領域にデータブロックＤが存在するイメージ）に変化する。この場合、クイック内部コピー実行プログラム１３１は、更新前のデータブロックＣをプライマリＶＯＬ２１ＡからバーチャルＶＯＬ２２に書き込む。その際、クイック内部コピー実行プログラム１３１は、スナップショット管理情報２５１を、プライマリＶＯＬ２１Ａの第二のブロック領域で更新があり、その第二のブロック領域に存在していた更新前のデータブロックＣがバーチャルＶＯＬ２２に格納されたことを表す情報に更新する。
【００８２】
その後、プライマリＶＯＬ２１Ａの更新が行われる前に、時刻ｔ３で、再び、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とがスプリット状態にされたとする。例えば、一つのコマンドによって、スプリット状態の解除が行われて再びスプリット状態にされても良いし（つまり、スプリット状態の解除と開始が実質的に同時に行われても良いし）、第一のコマンドによってスプリット状態が一旦解除された後に第二のコマンドによって再びスプリット状態にされても良い。
【００８３】
この時刻ｔ３の時点で、換言すれば、上記スプリット状態にされた場合に、ＣＰＵ１０１（例えばクイック内部コピー実行プログラム１３１）は、その時刻ｔ３におけるプライマリＶＯＬ２１ＡのイメージＴ３をバーチャルＶＯＬ２２で論理的に持つために、バーチャルＶＯＬ２２に保存されている全ての更新前データを消去する。これにより、バーチャルＶＯＬ２２から更新前データがなくなり、キャッシュメモリ１０７の空き容量を増やすことができる。なお、プールＶＯＬ２１Ｃに更新前データが存在することがスナップショット管理情報２５１から判別された場合には、ＣＰＵ１０１は、プールＶＯＬ２１Ｃから更新前データを消去することができる。ＣＰＵ１０１は、更新前データが消去されたプールＶＯＬ２１Ｃを未使用状態（割り当て可能状態換言すれば選択可能状態）にすることもできる。
【００８４】
また、ＣＰＵ１０１は、スナップショット管理情報２５１を、イメージＴ０を復元するための情報からイメージＴ３を復元するための情報に更新する。具体的には、例えば、時刻ｔ３の時点ではプライマリＶＯＬ２１Ａにおいて更新が未だ何ら行われていない状態なので、ＣＰＵ１０１は、スナップショット管理情報２５１を、プライマリＶＯＬ２１Ａで更新が行われていないことを表す情報に更新する。
【００８５】
時刻ｔ４で、プライマリＶＯＬ２１Ａの第二のブロック領域に、データブロックＥが上書きされた場合、プライマリＶＯＬ２１Ａのイメージが、イメージＴ３からイメージＴ４に変化する。この場合、クイック内部コピー実行プログラム１３１は、更新前のデータブロックＤをプライマリＶＯＬ２１ＡからバーチャルＶＯＬ２２に書き込む。その際、クイック内部コピー実行プログラム１３１は、スナップショット管理情報２５１を、プライマリＶＯＬ２１Ａの第二のブロック領域で更新があり、その第二のブロック領域に存在していた更新前のデータブロックＤがバーチャルＶＯＬ２２に格納されたことを表す情報に更新する。
【００８６】
時刻ｔ４で、リモートコピー処理が行われるとする。リモートコピー実行プログラム１３３は、更新後のスナップショット管理情報２５１を参照することにより、プライマリＶＯＬ２１Ａの第一ブロック領域で更新が無いので、イメージＴ３を構成するデータブロックＢがプライマリＶＯＬ２１Ａに存在することを特定し、プライマリＶＯＬ２１Ａの第二ブロック領域で更新があったので、イメージＴ３を構成する別のデータブロックＤがバーチャルＶＯＬ２２に存在することを特定することができる。リモートコピー実行プログラム１３３は、プライマリＶＯＬ２１ＡからデータブロックＢを取得し、バーチャルＶＯＬ２２からデータブロックＤを取得し、取得されたデータブロックＢ及びＤを第二のストレージサブシステム１Ｂに送信する。
【００８７】
時刻ｔ５は、そのリモートコピー処理が完了した時点である。この結果、セカンダリＶＯＬ３１ＡにおけるイメージＴ０が、時刻ｔ３におけるプライマリＶＯＬ２１ＡのイメージＴ３に更新される。具体的には、セカンダリＶＯＬ３１Ａの第一ブロック領域のデータブロックＡに、データブロックＢが上書きされ、第二ブロック領域に、データブロックＤが書き込まれる。なお、これ以降、次のスプリット時点ｔ６のイメージＴ６を構成するデータを受信するまで、第二のストレージサブシステム１Ｂにおいて、イメージＴ３を保存することができる。
【００８８】
以後、時刻ｔ３乃至時刻ｔ５において行われた上記処理が繰り返される。
【００８９】
すなわち、第一のストレージサブシステム１Ａでは、定期的に又は不定期的に、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とがスプリット状態にされる。また、そのスプリット状態にされている期間中であって、次にスプリット状態にされる時点までに（換言すれば、クイック内部コピー処理及びスナップショット更新処理に並行して）、リモートコピー処理が実行される。そのリモートコピー処理が完了した時点以降に、再び、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とがスプリット状態にされ、その時、スナップショットの管理結果が破棄される（例えば、バーチャルＶＯＬ２２から更新前データが消去される）。このような処理が繰り返されることにより、定期的に又は不定期的になされたスプリット状態開始時（換言すれば、スプリット状態にされた離散した各時点）のプライマリＶＯＬ２１Ａにおけるイメージ（図４の例では、時刻ｔ０におけるイメージＴ０、時刻ｔ３におけるイメージＴ３、時刻ｔ６におけるイメージＴ６）を、バーチャルＶＯＬ２２で論理的に保持し、そのイメージをセカンダリＶＯＬ３１Ａにコピーすることができる。
【００９０】
図５は、本実施形態におけるスナップショット管理方法の説明図である。
【００９１】
この図５は、図４において、プライマリＶＯＬ２１ＡのイメージがイメージＴ３からイメージＴ４に変わり、バーチャルＶＯＬ２２によって、イメージＴ３が論理的に持たれる様子を例に採り示している。
【００９２】
スナップショット管理情報２５１には、例えば、差分ビットマップ２０２、アドレステーブル２０３及びスナップショット管理テーブル２０４が含まれている。
【００９３】
差分ビットマップ２０２は、キャッシュメモリ１０７に設けられており、プライマリＶＯＬ２１Ａの複数のブロック領域（例えば、１ブロック領域は６４ｋバイト）にそれぞれ対応する複数のビットを有する。例えば、イメージＴ３からイメージＴ４に変わる場合、図示の通り、プライマリＶＯＬ２１Ａの第一のブロック領域は更新されないので、その第一のブロック領域に対応したビットは「０」のままであり、第二のブロック領域のデータブロックＤにデータブロックＤが上書きされるので、その第二のブロック領域に対応するビットが「０」から「１」に変更される。
【００９４】
アドレステーブル２０３は、プライマリＶＯＬ２１Ａの複数のブロック領域にそれぞれ対応したアドレス領域を有する。或るブロック領域に対応した更新前データ（換言すれば差分データ）が有れば、その或るブロック領域に対応したアドレス領域には、そのアドレス領域に対応したアドレスであって、スナップショット管理テーブル２０４上の領域のアドレスが記録される。
【００９５】
スナップショット管理テーブル２０４は、例えば、バーチャルＶＯＬ２２（或いはプールＶＯＬ２１Ｃ）の複数のブロック領域にそれぞれ対応した管理領域が設けられている。各管理領域には、バーチャルＶＯＬ２２のブロック領域に対応する位置に記録された更新前データがどの世代のスナップショットのデータであるかが記録される。それに基づいて管理領域を辿ることによって、複数世代の更新前データを取得することができる。なお、スナップショット管理テーブル２０４の使用されていない領域は、空きキューとすることができる。空きキューは、キャッシュメモリ１０７に設けられた空きキューカウンタ２０５によって管理することができる。
【００９６】
バーチャルＶＯＬ２２によって、スナップショット作成時点におけるプライマリＶＯＬ２１Ａのイメージが論理的に複写することができる。そして、バーチャルＶＯＬ２２内のデータがどの世代の更新前データであるかは、スナップショット管理テーブル２０４によって特定することができる。
【００９７】
図６は、本実施形態に係るストレージシステムにおいて行われる全体的な処理流れの一例を示す。
【００９８】
ＣＰＵ１０１が、内部的にスプリット状態開始のためのコマンドを発行することにより、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とをスプリット状態にし、その旨をボリューム管理テーブル１３７に登録することができる。それによってスプリット状態が開始され（Ｓ５１でＹＥＳ）、その後、プライマリＶＯＬ２１Ａに新たなデータが書かれた場合（Ｓ５２でＹＥＳ）、その新たなデータによって既存のデータが更新されたならば、前述したクイック内部コピー処理及びスナップショット更新処理が行われる（Ｓ５３）。
【００９９】
このＳ５２でＹＥＳ及びＳ５３の処理は、少なくとも、Ｓ５１でＹＥＳ以降のスプリット状態の期間中にリモートコピー処理が実行されるまで繰り返される（Ｓ５４でＮＯ）。
【０１００】
その期間中に、リモートコピー処理を実行することになれば（例えば、所定の時刻になれば、或いは、ホスト装置３等の外部装置からリモートコピー実行命令を受けたならば）（Ｓ５４でＹＥＳ）、スナップショット管理情報２５１に基づいてリモートコピー処理が実行される（Ｓ５５）。
【０１０１】
リモートコピー処理の完了後（例えば、リモートコピー処理の対象となるデータを第二ストレージサブシステム１Ｂに転送してそのサブシステム１Ｂから書込み完了通知を受けた後）、再びスプリット状態が開始されたならば（Ｓ５６でＹＥＳ）、バーチャルＶＯＬ２２（及び／又はプールＶＯＬ２１Ｃ）に格納されている全ての更新前データが破棄され、且つ、スナップショット管理情報２５１の更新結果も破棄される（Ｓ５７）。すなわち、バーチャルＶＯＬ２２もスナップショット管理情報２５１も、再びスプリット状態が開始された時点におけるプライマリＶＯＬ２１Ａのイメージを表す内容となる。
【０１０２】
以後、Ｓ５２乃至Ｓ５７の処理が繰り返される。すなわち、点線枠８８８に示されるループができる。このループにおいて、例えば、スプリット状態が解除された場合、このループから抜けてＳ５１が開始される。点線枠８８８のループにおける処理内容の一例を表したものが、前述した図４である。
【０１０３】
Ｓ５１において、スプリット状態が開始されておらず（Ｓ５１でＮＯ）、例えば、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とのペア状態がコピー状態であれば（Ｓ５８でＹＥＳ）、プライマリＶＯＬ２１Ａの更新に従って（Ｓ５９でＹＥＳ）、前述した通常コピー処理が実行される（Ｓ６０）。
【０１０４】
また、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とのペア状態がスプリット状態でもコピー状態でも無い場合には（Ｓ５１でＮＯ及びＳ５８でＮＯ）、そのときのペア状態に応じた処理が行われる（Ｓ６１）。
【０１０５】
上述した実施形態によれば、プライマリＶＯＬ２１ＡのバーチャルＶＯＬ２２とがスプリット状態にされた以降に、プライマリＶＯＬ２１Ａに新たにデータが書き込まれる場合、その都度、その新たなデータによって既存のデータが更新されるならば、その更新前のデータ（つまり既存のデータ）がバーチャルＶＯＬ２２に書かれ、且つ、プライマリＶＯＬ２１Ａのどこで更新があったかや、更新前のデータがどこに存在するか等がスナップショット管理情報２５１に書かれる。すなわち、プライマリＶＯＬ２１ＡのバーチャルＶＯＬ２２とがスプリット状態にされた以降に、プライマリＶＯＬ２１Ａにどれだけ新たなデータが書き込まれても、そのスプリット状態開始時点におけるプライマリＶＯＬ２１Ａのイメージが、第一のストレージサブシステム１Ａにおいて保持される。そして、スプリット状態開始時のイメージ（換言すればスナップショット）を表すスナップショット管理情報２５１から、スプリット状態開始時のイメージを構成するデータがプライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２のどちらに存在するかが判別され、判別された方からデータが読み出されて第二のストレージサブシステム１Ｂに転送され、その転送されたデータが、そこに備えられるセカンダリＶＯＬ２１Ｂに格納される。スプリット状態開始が定期的に又は不定期的に繰り返されることにより、以上の処理が繰り返される。これにより、プライマリＶＯＬ２１Ａの全てのイメージではなく、スプリット状態開始時のイメージのみが第一のストレージサブシステム１Ａに保持され、その保持されたイメージが第二のストレージサブシステム１Ｂに複製される。従って、スナップショットの作成や非同期型のリモートコピーのための負荷を抑えられるので、第一のストレージシステム１Ａにおいて記憶資源（例えばキャッシュメモリ）の容量やプロセッサの性能があまりなくても、第一のストレージサブシステム１Ａ全体の処理速度の劣化を抑えることができる。
【０１０６】
また、上述した実施形態によれば、Ｎ（例えばＮ≧１）回目のスプリット状態開始時以降にバーチャルＶＯＬ２２に保存された全ての更新前データが、Ｎ＋１回目のスプリット状態開始時に、バーチャルＶＯＬ２２から消去される。これにより、キャッシュメモリ１０１における消費記憶容量を節約することができる。
【０１０７】
また、上述した実施形態によれば、リモート側において、セカンダリＶＯＬ３１ＡとペアになることができるバーチャルＶＯＬ３２が用意され、セカンダリＶＯＬ３１Ａの更新前のデータがバーチャルＶＯＬ３２に格納される。また、スナップショット管理情報２５２により、セカンダリＶＯＬ３１Ａのイメージが管理される。これにより、例えば、データの順序に保証が無いデータ転送でリンクエラーが生じ、セカンダリＶＯＬ内のデータが使えなくなっても、スナップショット管理情報２５２及びバーチャルＶＯＬ３２に基づいて、セカンダリＶＯＬ３１Ａのイメージを復元できるので、障害回避が可能となる。
【０１０８】
以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【０１０９】
例えば、第一のストレージサブシステム１Ａは、プライマリＶＯＬ２１Ａの各更新時点の時刻（例えば年月日日時分秒）と、各更新時点での種々の状況（例えば、プライマリＶＯＬ２１ＡとバーチャルＶＯＬ２２とのペア状態、エラーの有無、エラーの内容等）とが対応付けられた履歴を所定の記憶域（例えばメモリ１０２或いはキャッシュメモリ１０７）で保持し、その履歴を、第一のストレージサブシステム１Ａに通信可能に接続されている外部装置（例えば、管理装置５又はホスト装置３）に提供することができる。それにより、その外部装置が備えるディスプレイ画面上で、その履歴を閲覧することができる。
【０１１０】
また、例えば、上記スプリット状態の期間中、更新前データは、バーチャルＶＯＬ２２からプールＶＯＬ２１Ｃに移され、バーチャルＶＯＬ２２から削除されても良い。
【０１１１】
また、例えば、第一のストレージサブシステム１Ａも第二のストレージサブシステム１Ｂも、それぞれ上記のハードウェア構成に限定する必要なく、別の構成が採用されても良い。具体的には、例えば、フロントエンドインターフェース１０５と同様の機能を有するアダプタや、バックエンドインターフェース１０６と同様の機能を有するアダプタが、それぞれ複数個設けられ、各アダプタ毎に、そのアダプタの動作を制御する一又は複数のマイクロプロセッサが搭載されてもよい。
【０１１２】
また、例えば、ＣＰＵ１０１は、スプリット状態開始時だけでなく、リモートコピー完了時（例えば時刻ｔ５の時点）で、バーチャルＶＯＬ２２（及び／又はプールＶＯＬ２２）に格納されている全ての更新前データを消去しても良い。
【０１１３】
また、例えば、前述したかもしれないが、ペア状態の変更は、ＣＰＵ１０１が、自主的に行うこともできるし、外部装置（例えばホスト装置３又は管理装置５）からの指示に従って行うこともできる。
【０１１４】
また、例えば、図４において、スプリット状態が開始される時刻ｔ０、ｔ３、ｔ６、…の間隔は、一定であってもなくても良い。また、スプリット状態開始タイミングとリモートコピー実行開始タイミングとのスケジュールを表したスケジュール情報を所定の記憶域（例えばメモリ１０２）に登録しておき、ＣＰＵ１０１が、そのスケジュール情報に基づいて、スプリット状態開始時とリモートコピー実行時とをそれぞれいつにするかを制御しても良い。スケジュール情報に登録されるタイミング情報は、例えば、時刻であっても良いし、前回（例えば直前の回）にスプリット状態が開始されてからの経過時間長であっても良い。
【０１１５】
また、例えば、第一ストレージサブシステム１Ａ及び第二ストレージサブシステム１Ｂの少なくとも一方は、自分が保持する論理ボリュームを外部装置（例えばホスト装置又は管理装置）に対してどのように見せるかの制御を行っても良い。例えば、第一ストレージサブシステム１Ａは、プライマリＶＯＬ２１Ａのイメージを外部装置（例えばホスト装置３）に表示させるが、バーチャルＶＯＬ２２のイメージは表示させないといった制御を行っても良い。
【０１１６】
また、例えば、同一のスプリット状態期間中に、スナップショット作成タイミング（例えば、スナップショット作成コマンドの発行）と、リモートコピー処理期間（開始してから終了するまでの期間）とが繰り返されても良い。
【図面の簡単な説明】
【０１１７】
【図１】図１は、本発明の一実施形態に係るストレージシステムを示す。
【図２】図２Ａは、メモリ１０２に記憶される情報の一例を示す。図２Ｂは、ボリューム管理テーブル１３７の構成例を示す。
【図３】図３は、本実施形態に係るストレージシステムにおいて行われる非同期型のリモートコピーの説明図である。
【図４】図４は、本実施形態の一つの要部に係る処理流れの一例の説明図である。
【図５】図５は、本実施形態におけるスナップショット管理方法の説明図である。
【図６】図６は、スプリット状態開始時とリモートコピー実行時とを含んだ全体的な流れを示す。
【符号の説明】
【０１１８】
１Ａ…第一のストレージサブシステム  １Ｂ…第二のストレージサブシステム  ２…ＳＡＮ  ３…ホスト装置  ４…ＬＡＮ  ５…管理装置  １０…ディスクコントローラ  ２０…ディスク  ２１、３１…論理ボリューム  １０１…ＣＰＵ  １０２…メモリ  １０４…データ転送コントローラ  １０５…フロントエンドインターフェース  １０６…バックエンドインターフェース  １０７…キャッシュメモリ  １０８…ＬＡＮインターフェース  ２５１…スナップショット管理情報
【図１】
2006235737.tif 000003
【図２】
2006235737.tif 000004
【図３】
2006235737.tif 000005
【図４】
2006235737.tif 000006
【図５】
2006235737.tif 000007
【図６】
2006235737.tif 000008