本発明は、CPUを介さない記憶装置システム間のデータのコピーの技術と、記憶装置システムにおける論理ボリュームのRAIDグループ上への配置/再配置の技術に関するものである。
さらに、本発明は、情報処理システムなどにおける記憶装置システムに係り、ボリュームに格納されているデータのコピーを作成する機能を有する計算機システムに関する。
記憶装置システム間でデータのコピーを行う1つの技術にリモートコピーの技術がある。
リモートコピーとは、物理的に離れた場所にある複数の記憶装置システム間で、CPUの介在なしに2重書きを行うものである。リモートコピーでは、第1サイトと第2サイトにそれぞれ配置された記憶装置システムは専用回線、あるいは公衆回線により接続される。また、第1サイトの記憶装置システム上のコピー対象の論理ボリューム(以下、「コピー元論理ボリューム」と記す)と同容量の論理ボリュームが第2サイトの記憶装置システム上に、第1サイトの記憶装置システム上のコピー対象の論理ボリュームとペアの論理ボリューム(以下、コピー先論理ボリューム」と記す)として形成される。そして、第1サイトのコピー元論理ボリュームのデータが、第2サイトのコピー先論理ボリュームにコピーされる。また、CPUから第1サイトのコピー元論理ボリュームのデータの更新があった場合、当該更新データは第2サイトの記憶装置システムに転送され、コピー先論理ボリュームにも書き込まれる。このようにリモートコピーの技術では第1サイトと第2サイトにおいて、常に論理ボリュームの2重化状態が保たれる。
このため、地震や洪水などの自然災害、あるいは火災やテロなどの人的災害により第1サイトが使用不能になっても、第2サイトの記憶装置システム上の論理ボリュームを使用して、業務を迅速に再開できる。
ここで、リモートコピーに関する従来の技術としては、特許文献1、特許文献2、特許文献3などが知られている。また、記憶装置システム間でデータのコピーを行う技術としては、特許文献4に記載された移行コピーの技術も知られている。
この技術では、顧客がそれまで使っていた記憶装置システムに代わり、新たに記憶装置システムを導入する場合には、旧記憶装置システム上の論理ボリュームのデータを新記憶装置システムへコピーする処理を次のように実現する。
すなわち、CPUを旧記憶装置システムから新記憶装置システムへつなぎ替え、さらに新記憶装置システムと旧記憶装置システムを接続する。新記憶装置システムはCPUの入出力要求を受けながら、旧記憶装置システム上の論理ボリュームからデータを読み出し、新記憶装置システム上の論理ボリュームにコピーする(移行コピー)。
この技術によれば、新旧記憶装置システムの論理ボリューム間のデータのコピーをCPUを経由せずに行えるので、CPUのデータ移行の際の負荷を無くし、業務中でもデータ移行が行えるようになる。
ところで非特許文献1の中で、5種類に分類したRAIDレベル各々の記憶コスト、性能、信頼性を評価している。RAIDレベルは、安価なディスク装置を使用して記憶装置システムを構築する場合の冗長アレイの構成方法を、データの配分方法と冗長データの作成方法から分類したものである。この分類の内、現在、製品に多く適用されているのは、RAID1,3,5であり、これらは以下の特徴を持つ。
RAID1:ミラーディスク。同一データを異なるディスク装置に保持する。2重化されているので信頼性は高いが、記憶コストは倍増する。
RAID3:データを数バイト単位に分割して複数のデータディスク装置に配置する。冗長データは分割されたデータの排他的論理和により生成され、他の1台の冗長ディスクに格納される。データの入出力に全てのディスク装置が同期的に動作するため、長大なデータの入出力を行う場合は優れた性能を発揮する。反面、短いデータをランダムにアクセスするオンライン・トランザクション処理などには不向きである。
RAID5:データはブロック単位に分割され、複数のディスク装置に分散配置される。冗長データは、分割されたデータの排他的論理和により生成され、記憶装置上の所定の位置に格納される。RAID5では、すべてのディスク装置が冗長ブロックを含むように、各冗長ブロックをディスク装置に分散して配置し、冗長ブロックアクセス時のディスク装置の負荷を分散する。データブロックが更新されると、対応する冗長ブロックを再計算するためにディスクアクセスが発生し、性能を劣化させるが、これをライトペナルティと呼ぶ。
RAID5の特徴は、アクセスするデータの大きさがブロックの大きさを超えなければ、1つのディスク装置のみにアクセスすれば良く、RAID3と異なり、複数のディスク装置が独立動作できることである。このため、比較的小さなデータをランダムにアクセスするオンライン・トランザクション処理に向いている。
以上のように、各RAIDレベルに応じて、信頼性、コスト、性能面でそれぞれ特徴がある。実際の業務では、これらの特徴を踏まえた上で、業務の性質に応じて、最適なRAIDレベルを選択するのが望ましい。
あるRAIDレベルを実現する記憶装置の集合、あるいは記憶装置の部分領域の集合をRAIDグループと呼び、このRAIDグループで1つのRAIDレベルを実現する。CPUが入出力対象とする論理ボリュームは、通常、1つのRAIDグループ上に、記憶装置によってマッピングされる。
また、ボリュームへの更新を停止することなく、整合性のとれたデータのバックアップを取得する技術がある。
記憶装置に障害が発生したときに大切なデータを完全に失ってしまうことを防ぐ手段として、バックアップをとることが一般的に知られている。通常、バックアップをとるデータの整合性を保証するために、バックアップをとっている間は、当該ボリュームに対するリード/ライト処理を停止する。このため、バックアップをとっている間は、バックアップ対象のボリュームを使用する処理は停止しなくてはならないという問題がある。この問題を解決する方法として、記憶装置内でボリュームのコピーを作成して、(1)通常は、オリジナルボリュームのデータとコピーボリュームのデータを一致させる、(2)バックアップをとる間は、オリジナルボリュームのデータとコピーボリュームのデータとを一致させない(したがって、コピーボリュームは整合性のとれているある時点のオリジナルボリュームをあらわすことになる)、(3)バックアップはコピーボリュームを使用する、という方法が知られている。これにより、バックアップをとっている間に処理を停止させることなく、整合性の取れたデータをバックアップデータとしてとることができる。
特表平8−509565号公報
欧州特許出願公開第0671686号明細書
米国特許第5,680,640号明細書
デビット・エー・パターソン(David A. Patterson)、外2名、安価なディスクの冗長アレイ(RAID)のケース(A Case for Redundant Array of Inexpensive Disks)、米国計算機学会データ管理専門グループ技術報告(Proc.ACM SIGMOD)、1988年6月号
さて、前述したように、従来のリモートコピーの技術では、コピーの対象の単位は論理ボリュームであるために、効率の観点から次のような問題がある。
すなわち、コピー対象の論理ボリュームには必ずしもコピーが必要でないデータも含まれている場合がある。例えば、論理ボリュームの1部の領域をワーク領域として定義しておき、ソーティングのために1時的に利用する場合は、これらの領域のデータはコピーする必要はない。しかし、論理ボリューム単位にコピーを行う従来のリモートコピーの技術によれば、不要なデータまでコピーされるために、これによる本来不要なオーバヘッドが生じてしまう。第1の記憶装置システムと第2の記憶装置システムは、数10kmから数100kmの遠距離に配置されるので、この不要なデータのコピーのオーバヘッドは大きく、これによって記憶装置システムの、CPUに対する応答時間およびスループットを大きく劣化させてしまう。また、第1サイトのコピー対象の論理ボリュームの1部分しか使用していない場合などには、第2サイトにペアとしてコピー対象の論理ボリュームと同容量の論理ボリュームを形成することによって第2サイトに形成した論理ボリュームに生じる未使用部分が、これが記憶装置システムおよびCPUにとって本来不必要なコスト負担となることもある。
また、このような従来のリモートコピーの技術の問題は、コピーの対象の単位は論理ボリュームである前述した従来の移行コピーの技術についても同様に生じる。
そこで、本発明は、CPUを介さない記憶装置システム間のリモートコピーや移行コピーなどのコピーを、より効率化することを課題とする。
一方、前述したように、従来技術では1つの論理ボリュームは1つのRAIDグループ上にマッピングされるので、1つの論理ボリュームを複数のRAIDグループ上に分散して配置することはできない。
したがって、1つの論理ボリューム内の、データセットやファイル毎にアクセス特性が異なる場合には、その論理ボリュームが配置されたRAIDグループのRAIDレベルやRAIDグループを形成する記憶装置が、あるデータセットおよびファイルには適しているが、他のものにとっては不適切である可能性がある。
そこで、本発明は、1つの論理ボリューム内のデータセットやファイルがそのアクセス特性に適したRAIDグループ上に配置されるように、論理ボリュームを複数のRAIDグループ上に分散して配置/再配置することを課題とする。
ボリュームへの更新を停止することなく、整合性のとれたデータのバックアップを取得する技術は、記憶装置内でボリュームのコピーを作成して、(1)通常は、オリジナルボリュームのデータとコピーボリュームのデータを一致させる、(2)バックアップをとる間は、オリジナルボリュームのデータとコピーボリュームのデータとを一致させない(したがって、コピーボリュームは整合性のとれているある時点のオリジナルボリュームをあらわすことになる)、(3)バックアップはコピーボリュームを使用する、という方法をとるものであるが、上記の方法では、コピーを作成する単位がボリュームであるため、ボリューム内の特定の領域(例えば、データセットやファイルなど)単位のデータを必要とする場合でも、ボリューム全体のコピーを作成する必要がある。したがって、不要なコピーが発生し、(1)記憶装置に余計な負荷をかける、(2)余計に時間がかかる、という課題があった。
前記課題達成のために、本発明は、たとえば、論理ボリュームに対してアクセス要求を発行するCPUの外部記憶装置として使用される、2台の記憶装置システム間でリモートコピーを行う方法であって、 コピー元の記憶装置システムにおいて、コピー元の記憶装置システム上の論理ボリュームの部分的な領域の指定を受け付け、指定を受け付けた論理ボリュームの部分的な領域のデータを、コピー先の記憶装置システム上の論理ボリュームに前記CPUを介さずに転送し、
コピー先の記憶装置において、コピー元の記憶装置システムから転送された前記部分的な領域のデータを、コピー先の記憶装置システム上の論理ボリュームに書き込むことを特徴とするリモートコピー方法を提供する。
このような方法によれば、論理ボリュームの任意の部分的な領域のみをリモートコピーすることができるので、従来発生していたコピー不要なデータのコピーによる不要なオーバーヘッドを排除することができる。
また、本発明は、前記課題達成のために、論理ボリュームに対してアクセス要求を発行するCPUの外部記憶装置として使用される、2台の記憶装置システム間でデータを移行する移行コピーを行う方法であって、コピー先の記憶装置システムにおいて、コピー元の記憶装置システム上の論理ボリュームの部分的な領域の指定を受け付け、指定を受け付けたコピー元の記憶装置システム上の論理ボリュームの部分的な領域のデータを、コピー元の記憶装置システム上の論理ボリュームから前記CPUを介さずに読み出し、コピー先の記憶装置システム上の論理ボリュームに書き込むことを特徴とする移行コピー方法を提供する。
このような方法によれば、論理ボリュームの任意の部分的な領域のみを移行コピーすることができるので、従来発生していたコピー不要なデータのコピーによる不要なオーバーヘッドを排除することができる。
また、本発明は前記課題達成のために、たとえば、論理ボリュームに対してアクセス要求を発行するCPUの外部記憶装置として使用される、複数のRAIDグループを備えた記憶装置システムにおいて、論理ボリュームをRAIDグループ上に配置する方法であって、
記憶装置システムにおいて、論理ボリュームの部分的な領域とRAIDグループとの対応の指定を受け付け、受け付けた指定に従って。前記論理ボリュームの各部分的な領域を対応するRAIDグループに配置することを特徴とする論理ボリュームの配置方法や、記憶装置システムにおいて、論理ボリュームの各部分的な領域毎にアクセス特性を検出し、前記各部分的な領域を、当該部分的な領域について検出したアクセス特性に応じて定まるRAIDグループに配置し直すことを特徴とする論理ボリュームの配置方法を提供する。
これらの方法によれば、論理ボリューム単位ではなく、論理ボリュームの部分領域毎に、各部分領域を所望のRAIDグループもしくは各部分領域のアクセス特性に適したRAIDグループに配置/再配置することができる。
コピーを作成する単位がボリュームであるため、ボリューム内の特定の領域(例えば、データセットやファイルなど)単位のデータを必要とする場合でも、ボリューム全体のコピーを作成する必要がある。したがって、不要なコピーが発生し、(1)記憶装置に余計な負荷をかける、(2)余計に時間がかかる、という課題を解決する方法として、下記方法を取る。
一般に、記憶装置は、ホストが管理しているファイルシステムの構造が分からないため、データセットやファイルがどの領域のデータで構成されるのかが分からない。本発明では、ホストから記憶装置に領域を通知する手段を設ける。この手段を用いて、記憶装置は、本来必要とされるだけのデータセットやファイルなどの領域のコピーを作成し、余計な負荷や時間を削減する。
本発明によれば、CPUを介さない記憶装置システム間のリモートコピーや移行コピーなどのコピーを、より効率化することができる。
また、本発明によれば、1つの論理ボリューム内のデータセットやファイルがそのアクセス特性に適したRAIDグループ上に配置されるように、論理ボリュームを複数のRAIDグループ上に分散して配置/再配置することができる。
データセットやファイルなどの領域単位のコピーが可能になったため、余計なコピーを削減することができる。これにより、記憶装置の負荷やコピー作成の時間を削減することができる。
以下、本発明の実施形態について説明する。
まず、第1の実施形態について説明する。
本第1実施形態は、リモートコピーについてのものである。
図1に、リモートコピーを行う情報システムの構成例を示す。
主業務を行っている第1サイトには1台以上のCPU120と1台以上の記憶装置システム100が配置される。
CPU120はアプリケーションプログラムを実行し、第1記憶装置システム100に対して論理ボリューム104のデータの入出力要求を発行する。論理ボリューム104はCPU120が認識している論理的な記憶装置である。
記憶装置システム100は1つ以上の制御装置間パス160を介して、第2サイトの記憶装置システム110に接続されている。記憶装置システム100は1台以上の制御装置101および1台以上の記憶装置103から構成される。制御装置101はCPU120と記憶装置103間のデータ転送を実行し、内部にマイクロプログラムを実行する1以上のプロセッサ、記憶装置103のデータを1時的に格納するキャッシュメモリ、後述する各種テーブルを格納するメモリなどを備えている。CPU120と制御装置101と記憶装置103は、CPU120と制御装置101間を接続する1つ以上のホスト転送パス130、および制御装置101と記憶装置103間を接続する1つ以上の記憶装置転送パス102を介して互いに通信することにより、入出力を実行する。
また、第1サイトの記憶装置システム100に格納されているデータの複製、つまりバックアップデータを保持する第2サイトも、第1サイトと同様な構成を有しており、CPU140と記憶装置システム110が設置される。記憶装置システム110は1台以上の制御装置111および1台以上の記憶装置113から構成される。制御装置111はCPU140と記憶装置103間のデータ転送を実行し、内部にマイクロプログラムを実行する1以上のプロセッサ、記憶装置103に入出力するデータを1時的に格納するキャッシュメモリ、後述する各種テーブルを格納するメモリなどを備えている。
ここで、制御装置101、111の内部のプロセッサはあらかじめ、同内部のメモリに格納されたプログラムに従って、後述する制御装置101、111の各処理を行う。
以下では、説明の理解を容易にするために、以上に説明した第1サイト、第2サイトの構成要素のうち、データのコピー元となる第1サイトの構成要素には(S)を、データのコピー先となる第2サイトの構成要素には(T)を付して記す。たとえば、第1サイトのCPU120はCPU(S)120と、第2サイトのCPU140はCPU(T)140と記す。
さて、このような構成において、記憶装置システム(T)110は、記憶装置システム(S)100のデータのコピーを保持する。すなわち、制御装置(S)101は、CPU(1)120より指定されたリモートコピー対象の論理ボリューム(S)104の、CPU(1)120より指定されたリモートコピー対象領域内のデータを、制御装置(T)111へ制御装置間パス160を経由して転送する。制御装置(T)111は、制御装置(S)101から受領したデータを内部に備えたキャッシュメモリへ格納した後、終了を制御装置(S)101に報告する。そして、その後、制御装置(T)111はデータをキャッシュメモリから記憶装置(T)113へ書き込む。
また、CPU120(S)から、記憶装置システム(S)100のリモートコピー対象の論理ボリューム(S)104のリモートコピー対象領域内に対して書き込みが発生すると、制御装置(S)101は書き込みデータを記憶装置(S)103に書き込むと共に、制御装置(T)111へ制御装置間パス160を経由して転送する。制御装置(T)111は、制御装置(S)101から受領したデータを内部に備えたキャッシュメモリへ格納した後、終了を制御装置(S)101に報告する。その後、制御装置(T)111はデータをキャッシュメモリから記憶装置(T)113の所定の領域へ書き込む。
以上の動作により、CPU(S)120からのライトデータが記憶装置システム(T)110へ書き込まれ、記憶装置システム(S)100との2重化状態が保たれる。以上の、処理はCPU(S)120を介することなく、制御装置(S)100と制御装置(T)111間で実行される。
以上のように、本第1実施形態では、リモートコピー対象の論理ボリューム(S)104のリモートコピー対象領域内のデータのみ、第2サイトに転送し、記憶装置システム(T)110の記憶装置(T)113に格納する。このリモートコピー対象領域は、真にコピーが必要な領域を示し、例えばデータベースデータ、データベースログ、チェックポイントファイルなどを含むデータセットや、ファイルなどが含まれる。
さて、本第1実施形態では、このリモートコピー対象領域の処理を容易にするために、論理記憶装置という単位を導入する。
この論理記憶装置について説明する。
いま、図2(a)は、制御装置(S)101が管理している、複数(図では4台)の記憶装置(S)103によって形成されるRAIDグループ(S)205のアドレス空間を、図2(b)は、制御装置(T)111が複数(図では4台)の記憶装置(T)113によって形成されるRAIDグループ(T)215のアドレス空間を示している。
論理記憶装置(S)200はRAIDグループ(S)205のアドレス空間を固定長毎に分割したものであり、論理記憶装置(T)210はRAIDグループ(T)215のアドレス空間を固定長毎に分割したものである。ただし、論理記憶装置(S)200と、論理記憶装置(T)210〜212の大きさは必ずしも同1でなくてもよい。論理記憶装置(S)200は記憶装置システム(S)100内の通番で管理され、論理記憶装置(T)210〜212は記憶装置システム(T)110内の通番で管理される。なお、同様に、各論理ボリュームや記憶装置も、各論理記憶装置システム内における通番で管理されている。また、各制御装置には番号が与えられており、この番号を用いて相互に通信を行う。
さて、論理ボリュームは、論理ボリュームの容量に相当する数の論理記憶装置にマッピングされる。
なお、論理記憶装置200の容量は、ユーザが設定可能としてもよいが、記憶装置システム100がサポートする最小の論理ボリューム104の容量以下でなくてはならず、かつ無駄な領域を小さくするためには、なるべく小さくするほうが良い。
以下、このような情報システムにおいてリモートコピーを行うための詳細について説明する。
まず、リモートコピーを行うために、制御装置(S)(T)101、111が保持するデータについて説明する。
図3に示すように、制御装置(S)(T)101、111は、論理情報ボリュームテーブル300と、論理記憶装置情報テーブル310を保持する。
論理ボリューム情報テーブル300は、自記憶装置システム上に形成された論理ボリューム104と論理記憶装置200を対応付けるためのテーブルであり、論理ボリューム104毎に存在する。
各論理ボリューム情報テーブル300は、当該論理ボリューム104がマッピングされた論理記憶装置の番号301と、当該論理記憶装置200にマッピングされた論理ボリューム上のアドレス範囲を示す論理アドレス範囲308と、当該論理記憶装置200がリモートコピー対象領域の1部を含むかどうかを示すコピー有無情報302と、当該論理記憶装置200が含むリモートコピー対象領域を示すコピーアドレス範囲305と、当該論理ボリューム104のエミュレーションタイプおよび容量を示すエミュレーション情報303と、コピー元かあるいはコピー先かを示す正・副情報304と、コピーポインタ306と、ペア状態307から構成される。
論理記憶装置番号301と、論理アドレス範囲308と、コピー有無情報302と、コピーアドレス範囲305が、インデックス付けされた1つのエントリとして、複数エントリのテーブルを構成している。ここで、CPU120から指定された論理ボリューム104のアドレスから、論理記憶装置200のアドレスを算出する方法を、例を用いて説明しておく。
今、論理ボリューム104の容量が4nであり、0〜4n−1までアドレスが付与されており、これを0〜3の番号が付けられた容量nの論理記憶装置200にマッピングしたとすると、インデックス0の論理記憶装置番号301および論理アドレス範囲308には、0および0〜n−1が、インデックス1のエントリには1およびn〜2n−1が、…と格納される。
したがって、CPU120から指定された論理アドレスがどの論理記憶装置200に含まれるかは、指定された論理アドレスを論理記憶装置200の容量で割れば、その商が目的の論理記憶装置番号301の格納されたエントリで、余りが論理記憶装置200上のアドレスとして求まる。
そして、CPU120から指定された論理アドレスがリモートコピー対象領域に含まれているかどうかを、このようにして得た目的の論理記憶装置番号301の格納されたエントリの、コピーアドレス範囲305と比較するだけで決定することができる。よって、論理記憶装置という単位を導入することにより、リモートコピー領域の処理を容易に行うことができ、論理記憶装置という単位を導入しない場合に比べオバーヘッドを削減することができる。
さて、論理ボリューム情報テーブル300の、正・副情報304は、当該論理ボリュームがリモートコピーの対象の論理ボリュームとリモートコピー先の論理ボリュームで形成されるペア(以下、「リモートコピーペア」と記す)を形成する論理ボリュームである場合に、論理ボリューム(S)104、すなわちコピー元か、論理ボリューム(T)114、すなわちコピー先であるかを示す。
ペア状態307は、リモートコピーペアがどのような状態にあるかを示す。ここでペアの状態とは、リモートコピーペアを形成する論理ボリュームでないことを示すシンプレックス状態、論理ボリューム(S)104から論理ボリューム(T)114へのコピーを行っているコピー中状態、コピーが完了しており、2重化状態で動作しているデュプレックス状態、障害等により論理ボリューム(S)104と第2論理ボリューム(T)114の内容が不1致となっているサスペンド状態などがある。コピーポインタ306は、リモートコピーペアを形成する論理ボリューム(S)104から論理ボリューム(T)114へのコピーがどこまで完了したかを示す。エミュレーション情報303には、メインフレームの論理ボリュームをエミュレートするために、論理ボリューム(S)104の情報を格納する。メインフレームの論理ボリューム104にはいくつかのエミュレーションタイプがあり、タイプ毎に容量やフォーマット(トラック長、シリンダ数、レコード間ギャップの大きさなど)が異なるので、メインフレームの論理ボリューム104をリモートコピー対象とする場合には、論理ボリューム(S)104と論理ボリューム(T)114間のフォーマットを合わせるためにこれらの情報を格納する。オープンシステムの場合にはこのようなエミュレーションタイプは存在しないので、論理ボリューム(S)104の容量だけを格納する。なお、後述するように、論理ボリューム(T)114には、リモートコピー対象領域の容量分の論理記憶装置210〜212しかマッピングしないので、制御装置(T)111が保持する論理ボリューム(T)114の論理ボリューム情報テーブル300では、全ての論理記憶装置番号301に対して、コピー有無情報302は「リモートコピー有」を格納し、正・副情報304は「コピー先」を格納し、コピーアドレス範囲305は、第1制御装置101から指定されたリモートコピーのアドレス範囲が格納されることになる。
制御装置(T)111が保持する論理ボリューム(T)114の論理ボリューム情報テーブル300のエミュレーションタイプおよび容量には、制御装置(S)101が保持する論理ボリューム(S)104の論理ボリューム情報テーブル300のエミュレーションタイプおよび容量エミュレーション情報303が格納される。論理ボリューム(T)114の論理ボリューム情報テーブル300では、論理ボリューム(S)104の容量をエミュレーション情報303に格納していることに注意を要する。次に、論理記憶装置情報テーブル310は、論理記憶装置200と記憶装置103の対応付けを行い、当該論理記憶装置200がリモートコピー対象となっている場合に論理記憶装置200と相手の論理ボリューム114とを対応付けるテーブルで、各論理記憶装置200毎に存在する。
制御装置(S)101が保持する各論理記憶装置情報テーブル310には、当該論理記憶装置(S)200がマッピングされている記憶装置番号311と、記憶装置(S)103上にマッピングされている当該論理記憶装置(S)200のアドレス範囲を示すアドレス範囲312と、これらの記憶装置(S)103により構成されるRAIDグループ205に割り当てられたRAIDレベル情報313と、当該論理記憶装置200がリモートコピー対象領域の1部を含んでいる場合には、リモートコピー先の記憶装置システム(T)の制御装置(T)111および論理ボリューム(T)114を特定するためのペア制御装置番号314およびペア論理ボリューム番号315から構成されている。制御装置(T)111が保持する各論理記憶装置情報テーブル310には、当該論理記憶装置(T)210がマッピングされている記憶装置113(T)の番号およびそのアドレス範囲を、それぞれ記憶装置番号311およびアドレス範囲312に格納し、RAIDレベル情報313にはこれらの記憶装置(T)113から構成されるRAIDグループ215に割り当てられたRAIDレベルを格納する。また、制御装置(T)111が保持する各論理記憶装置情報テーブル310のペア制御装置番号314には、制御装置(S)101の番号が格納され、ペア論理ボリューム番号315は無効値が格納される。
さて、CPU120から指定された論理アドレスは、前述したように、論理記憶装置番号およびその論理記憶装置200上のアドレスへ変換されるが、この論理アドレスが実際にどの記憶装置103に対応するかは、変換した論理記憶装置番号の論理記憶装置情報テーブル310によって求める。また、この際、CPU120からのアクセスがライトアクセスであれば、論理記憶装置情報テーブル310のRAIDレベル情報313を参照して、RAIDレベルに応じて冗長データを作成し、これも記憶装置103に書き込む。この方法については、 Patterson, D.A., Gibson, G., and Katz,H.; A Case For Redundant Arrays of Inexpensive Disks (RAID)などに記載された方法などを適用することができる。また、後述するようにこのCPU120ライトアクセスの際に、リモートコピーを実施中である場合には、論理ボリューム(S)104の論理ボリューム制御情報テーブル300から、アクセス対象となっている論理記憶装置(S)200がリモートコピー対象領域の1部を含んでいるかどうかを、コピー有無情報302およびコピーアドレス範囲305から調べ、もしリモートコピー対象領域の1部を含んでいる場合には、当該論理記憶装置(S)200に対応する論理記憶装置情報テーブル310から、リモートコピー先の制御装置番号314と論理ボリューム番号315を調べ、制御装置間パス160を介して制御装置111経由で、目的と
する論理ボリューム(T)114にアクセスすることになる。
以下、リモートコピーを行う動作の詳細について説明する。この動作には、リモートコピーペア形成処理、CPU120から記憶装置システム(S)100へのライト時の処理、記憶装置システム(S)100から記憶装置システム(T)110への運用切り替え処理の3つの処理がある。以下、各処理について説明する。
i、リモートコピーペア形成処理
図4にリモートコピーペア形成処理の流れを示す。
図示するように、まず、ステップ400で、第1サイトにおいて、リモートコピーの対象とする論理ボリューム104およびリモートコピー対象領域を、記憶装置システム(S)100の外部、例えばCPU(S)120や、制御装置(S)101に接続された外部端末(以下、「SVP:サービスプロセッサ」と記す)などから、制御装置(S)101にに対して、ユーザが指定する。ここで、ユーザは、リモートコピー対象とすべきデータセットおよびその論理ボリューム104上のアドレスは、あらかじめ分かっているものとする。制御装置(S)101がリモートコピー対象の論理ボリューム104の番号およびリモートコピー対象領域を指定されると、前述した方法で、指定された論理ボリューム104の番号の論理ボリューム情報テーブル300の正・副情報304にコピー元を定義すると共に、コピーアドレス範囲305に、リモートコピー領域より定まるアドレスを格納し、その後、ステップ401で、少なくともエミュレーションタイプ、第1論理ボリューム104の容量、リモートコピー対象領域をパラメータとして伴ったリモートコピーペアの形成要求を制御装置(T)111に対して発行する。各パラメータの値は、エミュレーションタイプおよび第1論理ボリューム104の容量は、エミュレーション情報303から、リモートコピーアドレス領域は、コピーアドレス範囲305を参照して求める。
制御装置(T)111は、リモートコピーペア形成要求を受領すると、ステップ410で論理ボリューム(T)を割り当てる。このために、まず未使用の論理ボリューム(T)114を確保する。この論理ボリュームは、外部から未使用のものを指定しても良いし、制御装置(T)111が任意の未使用のものを割り当てても良い。次に制御装置(S)101から指定されたリモートコピー対象領域を容量的に包含するように、未使用の論理記憶装置(T)210を論理ボリューム(T)114に割り当て、論理ボリューム(T)114の論理ボリューム情報テーブル300の正・副情報304にコピー元を定義する。また、論理ボリューム(T)114に割り当てた論理記憶装置(T)210の番号を、先に割り当てた論理ボリューム(T)114に対応する論理ボリューム情報テーブル300の論理記憶装置番号301へ格納する。そして論理ボリューム情報テーブル300のコピー有無情報302をコピー有とする。
さらに、割り当てた各論理記憶装置(T)210に制御装置(S)101から受領したリモートコピー対象領域を含む論理アドレス範囲をマッピングし、論理ボリューム情報テーブル300の、各論理記憶装置(T)210のエントリの論理アドレス範囲308にマッピングした論理アドレスを格納する。また、割り当てた各論理記憶装置(T)210の論理ボリューム情報テーブル300の、各論理記憶装置(T)210のエントリのコピーアドレス範囲305に、当該論理記憶装置(T)210にマッピングされた論理アドレス範囲に含まれるリモート対象領域のアドレス範囲を格納する。たとえば、論理ボリューム(S)104のアドレスn〜4n−1がリモートコピー対象領域であり、容量2nの番号i、jで示される論理記憶装置(T)210を論理ボリューム(T)に2個割り当て、番号iの論理記憶装置(T)210にはアドレスn〜3n−1を、番号jの論理記憶装置(T)210にはアドレス3n〜5n−1をマッピングした場合には、論理ボリューム情報テーブル300のインデックス0で示される論理記憶装置番号301がiのエントリの論理アドレス範囲308とコピーアドレス範囲305には同じくn〜3n−1が格納され、インデックス1で示される論理記憶装置番号301がjのエントリの論理アドレス範囲308には3n〜5n−1がコピーアドレス範囲305には3n〜4n−1が格納される。
以上の処理によって、たとえば、図2に示すように、2台の網掛けの論理記憶装置(S)201および202がマッピングされているリモートコピー対象領域に対して形成される論理ボリューム(T)114に2台の網掛けの論理記憶装置(T)211および212が割り当てらる。この例のように、論理記憶装置(T)210は記憶装置(T)113上で物理的に離れた位置にあってもよいし、図2には記載されていないが、それぞれ別のRAIDグループ(T)上に215にあっても良い。さて、制御装置(T)111は、論理ボリューム(T)114に割り当てた各論理記憶装置(T)210の論理記憶装置情報テーブル310に対して、制御装置(S)101から受信したエミュレーションタイプおよび容量をエミュレーション情報303へ格納する。
そして、その後ステップ411において、制御装置(S)101に対して処理完了を報告する。制御装置(S)101は、制御装置(T)111から処理完了の報告を受領すると、制御装置(T)111が割り当てた論理ボリューム(T)114の番号を、リモートコピー対象領域の1部を含む論理記憶装置200の論理記憶装置情報テーブル310のペア論理ボリューム番号315格納する。ここで、論理ボリューム(T)114の番号は、制御装置(S)101に対してユーザが外部から与えても良いし、あるいは制御装置(T)111が前記処理完了の報告の際に、併せて制御装置(S)101に通知するようにしてもよい。
さて、ステップでリモートコピーペアの形成が完了すると、制御装置(S)101は、ステップ402で、論理ボリューム(S)104の論理ボリューム情報テーブル300のペア状態307をコピー中状態として、論理ボリューム(S)104上のリモートコピー対象領域を、論理ボリューム(T)114へコピーする、つまり、コピーポインタ306の値にしたがって、リモートコピー対象領域中の未コピーの領域を、その論理アドレスを転送先として記憶装置システム(T)110の制御装置(T)111へ転送していく。制御装置(T)111は、各データを転送先の論理アドレスがマッピングされた論理記憶装置(T)210がマッピングされた記憶装置(T)113に格納する。コピーが進むにつれて、コピーポインタ306が更新され、リモートコピー対象領域のコピーが完了した時点で、論理ボリューム(S)104の論理ボリューム情報テーブル300のペア状態307をデュプレックスとする。
以上をもって、リモートコピーペア形成処理が完了する。
論理ボリューム(S)104の1部の領域に既にリモートコピー対象領域となっている場合に、同1の論理ボリューム(S)104の他の領域を新たにリモートコピー対象領域とする場合には、以上と同様の処理によって、新たなリモートコピー対象領域に新たな論理ボリューム(T)114が割り当てられる。
ところで、以上の処理において、制御装置(S)101からのリモートコピーペア形成要求に対して記憶装置113(T)上に論理記憶装置(T)210が割り当てられない場合がありうる。例えば、リモートコピー対象領域分の容量がない、あるいは指定されたエミュレーションタイプが未定義である場合などが考えられる。この場合には、制御装置(T)111コピー形成不可を制御装置(S)101に通知するようにする。
また、以上の説明では、リモートコピー対象領域は制御装置(S)101にのみ指示し、制御装置(S)101から制御装置(T)111へ通知するものとして説明したが、ユーザが制御装置(T)111にもリモートコピー対象領域を指定するようにしてもよい。この場合も制御装置(T)111は上述の方法で論理ボリューム114を割り当てる。さらに、コピー先の論理ボリューム(T)114として、記憶装置システム(T)110で、未使用の論理ボリューム(T)114の番号を、制御装置(S)101および制御装置(S)111の両方にユーザが指定するようにしてもよい。
また、以上の処理では、リモートコピー先の論理ボリューム(T)114にはリモートコピー対象領域を記憶するのに必要最小限の論理記憶装置(T)200しか割り当てないが、場合によっては、論理ボリューム(S)104と等価な容量を割り当てたほうが良い場合もある。例えば、指定されたリモートコピー領域が、論理ボリューム(S)104のほとんどの領域である場合や、記憶装置システム(T)110に十分な容量が確保できる場合などである。このように論理ボリューム(T)114に論理ボリューム(S)104と等価な容量を割り当てると、後に説明する第1サイトから第2サイトへの切り替えの際の作業の手間を軽減することができる。そこで、制御装置(S)101から指定されたリモートコピー対象領域に必要最小限の論理記憶装置(T)210分の容量のみを、論理ボリューム(T)114の容量として確保するのか、論理ボリューム(S)104と等価な容量を論理ボリューム(T)114の容量として確保するするのかをユーザが指定可能とし、制御装置(T)111は、この指定に従って論理ボリューム(T)114の容量を確保する。このユーザの指定は、制御装置(S)101に行い、制御装置(S)101から制御装置(T)111へ通知するようにしてもよいし、制御装置(T)111へ直接指定するようにしてもよい。
ii、ライト処理
次に、ライト処理について説明する。
この処理は、CPU120から記憶装置システム(S)100へのライト時に行われる。
図5に_ライト処理の流れを示す。
制御装置(S)101は、ステップ500でCPU(S)120から記憶装置システム(S)100へのライト要求を受領すると、ステップ501で制御装置(S)101のキャッシュメモリへCPU(S)120から転送されたライトデータを書き込む。このライトデータは、その後、論理ボリューム情報テーブル300、論理記憶装置情報テーブル310を参照し、論理アドレスに対応するで記憶装置(S)103へ書き込む。
次に、ステップ502で、CPU(S)120から受領したライト要求が、論理ボリューム情報テーブル300の正・副情報304にコピー元が定義されている論理ボリュームに対するものであれば、このライト要求が、リモートコピー対象領域へのライトかどうかを判断する。このためには、さらにアクセス対象領域を含む論理記憶装置番号を、論理ボリューム情報テーブル300から求め、その論理記憶装置(S)200がリモートコピー対象領域の1部を含んでいるかどうかを、論理ボリューム情報テーブル300のコピー有無情報302から調べる。
もし、その論理記憶装置(S)200がリモートコピー対象領域の1部を含んでいれば、コピーアドレス範囲305から、CPU(S)120のアクセス領域が、リモートコピー対象領域に含まれるかどうか調べる。もし、CPU(S)120のアクセス領域がリモートコピー対象領域に含まれていれば、ステップ503で、当該ライトデータを所定のプロトコルに基づいて、制御装置間パス160を介して制御装置(T)111へ転送する、つまり、制御装置(S)101から、制御装置(T)111が定義された論理ボリューム(T)214に対して書き込みを行う。書き込み先の制御装置番号および論理ボリューム番号は、制御装置(S)101の論理記憶装置情報テーブル310に記録されている。所定のプロトコルの実例としては、 例えばメインフレームであればCKDプロトコル、オープンシステムであればファイバチャネルプロトコルなどが存在するので、これらを使用する。制御装置(S)101から制御装置(T)111上への書き込みアドレスはCPU160から論理ボリューム(S)104への書き込みアドレスと同じである。
一方、ステップ510で、制御装置(T)111は、制御装置(S)101から受領したライトデータを、キャッシュに格納した時点で、制御装置(S)101に対してライト完了を報告する。その後、論理ボリューム情報テーブル300、論理記憶装置情報テーブル310を参照し、論理アドレスに対応するで記憶装置(T)113へ書き込みを行う。制御装置(S)101が制御装置(T)111からライト完了の報告を受けると、ステップ504でCPU120に対してライト完了を報告し、ライト処理を完了する。なお、このようなライト処理は、コピーペアの形成中にも実施される。すなわちアクセス対象の領域がコピー済みかどうかを、コピー有無情報302とコピーポインタ306から判断して、コピー済みの領域についてはライトデータを制御装置(T)111へ転送する。また、、CPU120からのライト要求が、リモートコピー対象領域外だった場合は、単にステップ504でCPU120に対してライト完了を報告し、ライト処理を終了する。
iii、記憶装置システム(S)100から記憶装置システム(T)110への運用切り替え処理
この処理は、災害等により、記憶装置システム(S)100が使用不能になった場合に行う。
記憶装置システム(S)100が使用不能になると、第2サイトで業務を引き継ぐ必要がある。このためには、まず記憶装置(T)システム110にCPU(T)140を接続する。接続するCPU(T)140は、もし可能なら、記憶装置システム(S)100に接続していたCPU(S)120を使用し、それが接続不能で、既にCPU(T)140が存在していればそれを使用し、また必要であれば新たにCPU(T)140を設置し、接続する。
この処理では、図6に示すように、まず、ステップ601で制御装置(T)111に格納されている論理ボリューム(S)114の論理ボリューム情報テーブル300の内容を得る。この方法としては、CPU(T)140から論理ボリューム情報テーブル300の内容を読み出すか、あるいは制御装置(T)111に接続されたSVPなどから読み出す。この論理ボリューム情報テーブル300の内容には、論理ボリューム(T)114の容量、論理ボリューム(S)104の容量、リモートコピーアドレス範囲、エミュレーションタイプなどが含まれている。
これまで述べてきたように、論理ボリューム(T)114は論理ボリューム(S)104の1部の領域のコピーしか持たない。このため、読み出した論理ボリューム(T)114の論理ボリューム情報テーブル300を元に、論理ボリューム(T)を物理的、論理的に無矛盾な状態にし、使用可能な状態にする必要がある。ここで、物理的に無矛盾な状態とは、論理ボリューム(T)114の容量を論理ボリューム(S)104の容量と等しくすることである。また、論理的に無矛盾な状態とは、VTOCやi−node情報などのデータセットおよびファイル管理情報を操作して、論理ボリューム(T)114に存在しないデータセットおよびファイル管理情報を消去することである。これらの処理について以下に述べる。
まず、論理ボリューム(S)104と論理ボリューム(T)114の容量を等しくする方法について説明する。
この処理は、論理ボリューム(S)104と論理ボリューム(T)114の容量に差異がある時のみ必要である。また、この処理はユーザの要求に応じて行う。
さて、ユーザはステップ602で、もし必要であれば、論理ボリューム(T)114の容量を拡張するよう、制御装置(T)111に対して指示する。制御装置(T)111では、まず論理ボリューム(S)の容量と論理ボリューム(T)の容量から、その差分を得る。このためには、エミュレーション情報303から、論理ボリューム(T)114の論理ボリュームテーブル300のエミュレーション情報303から論理ボリューム(S)104のエミュレーションタイプおよび容量を取得し、論理ボリューム(T)114の論理ボリュームテーブル300で、論理ボリューム(T)114に割り当てられている論理記憶装置210の個数と容量から論理ボリューム(T)の容量を得る。
そして、CPU(T)140またはSVPから、制御装置(T)111に、差分に見合う容量の論理記憶装置210を割り当てるよう指示する。
これを受けて制御装置(T)111は、未使用状態となっている論理記憶装置210を捜して、指定された容量分の論理記憶装置210を割り当てる。この時に注意すべき点は、割り当てる論理記憶装置210のトラックフォーマットがエミュレーションタイプに合っていなくてはならないことである。このためには、あらかじめ未使用の論理記憶装置210がフォーマットされていなくてはならない。また、未使用の論理記憶装置210が存在しない場合には、記憶装置113を増設するなどして、対応する必要がある。
次に、これらの新しく割り当てた論理記憶装置210に、論理ボリューム(S)104上で存在していた論理アドレスを割り当てる。このためには、すでに割当て済みの論理アドレス領域(すなわちリモートコピー対象領域内のアドレス領域)を除いた論理アドレス領域を、順番にマッピングする。例えば、論理ボリューム(S)104上の論理アドレス0〜4n−1の内、2n〜3n−1がリモートコピー対象の領域となっていた場合、新たに2台の論理記憶装置200割り当て(論理記憶装置番号をiおよびjとする)。そして番号iの論理記憶装置200に論理アドレス0〜2n−1を、番号jの論理記憶装置200に論理アドレス3n〜4n−1を割り当てる。
新しく割り当てた論理記憶装置210の番号、および論理アドレスは、論理ボリューム情報テーブル300の論理記憶装置番号301およびコピーアドレス範囲305に格納される。
ところで、1つの論理ボリューム(S)104に対して複数の論理ボリューム(T)114が存在する場合がある。これは先に説明したように、既にリモートコピー対象領域が存在する論理ボリューム(S)114に対して、新たに他のリモートコピー対象領域を追加した場合である。このような場合には、1つの論理ボリューム(T)114に、論理ボリューム(S)104の容量から全ての論理ボリューム(T)114の容量の総計を引いた値分の論理記憶装置(T)210を新たに割り当て、全ての論理ボリューム(T)114にマッピングされていない、論理ボリューム(S)104上で存在していた論理アドレスを論理アドレスを付与する。
そして、これら全ての論理ボリューム(T)114に割り当てられている論理記憶装置(T)210の集合で、1つの論理ボリューム(T)114を構成し、論理ボリューム番号を割り当てる。割り当てる論理ボリューム番号は、それまで論理ボリューム(T)114として使用していた論理ボリューム番号の1つを割り当てても良いし、ユーザが外部から与えても良い。
このようにして、論理ボリューム(T)114の拡張が完了すると、ユーザはステップ603で、ファイル管理情報を変更する。これは、データセットやファイルの管理情報を論理的に無矛盾にするためのに行う。1般にファイル管理情報には、論理ボリューム番号、格納しているデータセットおよびファイルの名称や論理ボリューム上のアドレスなどが含まれている。変更では、ファイル管理情報に格納されているデータセットおよびファイルの情報で、コピー対象領域に含まれていないものを消去し、未使用領域として定義し直す。
このために、まずリモートコピー対象領域外のアドレスを、制御装置(T)111に保持されている論理ボリューム情報テーブル300のコピーアドレス範囲305を元に求める。次にファイル管理情報をサーチして、リモートコピー対象外の領域に含まれているデータセットおよびファイルを調べ、もし存在すれば、そのデータセットおよびファイルの管理情報を消去し、未使用領域とするように、ファイル管理情報を更新する。
具体的には、以上の機能を持つユーティリティプログラムをCPU140で実行させる。
以上の処理を完了すると、ステップ604で第2サイトでの業務を再開する。
以上、本発明の第1の実施形態について説明した。
ところで、以上の説明では各記憶装置システム内では、論理記憶装置の容量が等しいものとして説明した。しかし、各記憶装置システム内において各論理記憶装置の容量を異ならせるようにすることもできる。ただし、この場合には、各論理記憶装置個々の容量を考慮して以上の処理を行う必要がある。
以下、本発明の第2の実施形態について説明する。
本第2実施形態は、新・旧記憶装置システム間でデータを移行する移行コピーを行うものである。
いま、図7に示すように、記憶装置システム1100から、記憶装置システム1000へ移行コピーを行うものとして説明する。コピー先となる記憶装置システム1000は、制御装置1010と記憶装置1030を有し、コピー元となる記憶装置システム1100は、制御装置1110と記憶装置1130を有している。
以下、コピー元となる記憶装置システム1100と、その構成要素には(S)を、データのコピー先となる記憶装置システム1100と、その構成要素には(T)を付して示す。
移行コピーを行う場合、CPU1200が、当初は記憶装置システム(S)1100、つまり移行コピー元となる記憶装置システムに接続されている。ここへ、移行コピー先である新記憶装置システム(T)1000を搬入し、CPU1200から記憶装置システム(S)1100への接続パスを、記憶装置システム(T)1000へつなぎ変える。そして、制御装置(T)1010と制御装置(T)1110を制御装置間パス1600で接続する。この状態が図7の状態である。ここで、記憶装置システム(T)1000は、前記第1実施形態で示した記憶装置システム100と同様に、制御装置(T)1010において、第1実施形態で説明した示した論理記憶装置200によって論理ボリューム(T)104を管理し、論理ボリューム情報テーブル300および論理記憶装置情報テーブル310(図3参照)を保持している記憶装置システムである。一方、記憶装置システム(S)1100の制御装置(S)1110はこれらのテーブルを保持していなくてもよい。したがって、コピー元の記憶装置システムは、従来の記憶装置システムであってもよい。
図8に、移行コピーの処理の流れを示す。
CPU1200がアクセス対象とするデータは、最初は記憶装置システム(T)1000に存在せず、記憶装置システム(S)1100に存在し、記憶装置システム(T)1000には無効データが格納されている。このような状態において、まず、ステップ701で、ユーザは制御装置(T)1010に対して、論理ボリューム104の番号、エミュレーションタイプ、容量などのパラメータと共に、論理ボリューム(T)104を割り当てるように指示する。制御装置(T)1010はステップ710で、ユーザの指示に従い、論理ボリューム(T)104を割り当てる。これはに、指定された論理ボリュームの容量以上となるように、未使用状態にある論理記憶装置200を割当て、その番号を割当てた順番にしたがって、論理ボリューム情報テーブル300の論理記憶装置番号301に格納する。最後に指定されたエミュレーションタイプと容量を、エミュレーション情報303に格納して、論理ボリューム(T)104の割当てを完了する。この時、ユーザは論理ボリューム(T)104の容量を指定できるものとする。したがって、コピー対象の領域を含む、任意の容量の論理ボリューム(T)104を構成できる。
論理ボリューム(T)104の割当てが完了すると、ユーザは、ステップ702で、コピー元の論理ボリューム(S)1140のファイル管理情報を変更する。これは、移行コピー対象外の領域に含まれるデータセットおよびファイルを、ファイル管理情報から捜して、対象データセットおよびファイルの管理情報を消去する。
続いて、ステップ703で、コピー元の論理ボリューム(S)1140をCPU1200からオフラインにして、アクセスできないようにした後、ステップ704で、少なくともコピー元の制御装置番号および論理ボリューム番号、移行コピー先の論理ボリューム番号、移行コピー対象領域をパラメータとして、制御装置(T)1010に対して移行コピーを指示する。
制御装置(T)1010は移行コピー開始指示を受領すると、ステップ711で記憶装置システム(S)1100の指定された論理ボリューム(S)1140の指定された領域から、移行コピーを開始する。移行コピーに先立ち、まず論理ボリューム情報テーブル300のコピーポインタ306を初期化、すなわち移行コピー対象領域の先頭アドレスを格納し、移行コピー対象領域の1部を含む論理記憶装置200のコピー有無情報302に移行コピー有とし、コピーアドレス範囲305に当該論理記憶装置200にマッピングされた論理アドレス範囲に含まれる移行コピー対象領域の論理アドレスを格納する。例えば、論理アドレスm(0<m<k-1)〜n(k-1<n)が移行コピー対象領域として指定されているとすると、論理アドレス0〜k−1がマッピングされた論理記憶装置(T)200のコピーアドレス範囲305にはm〜k−1が格納される。続いて論理ボリューム情報テーブル300のペア状態307を移行コピー中とし、論理記憶装置情報テーブル310のペア制御装置番号314およびペア論理ボリューム番号315に指定された制御装置番号および論理ボリューム番号を格納する。
以上の処理が完了すると、制御装置(T)1010は移行コピー対象領域のコピーを開始する。制御装置(T)1010は、コピーポインタの値にしたがって、指定領域の先頭から順に、論理ボリューム(S)114の所定の領域から、制御装置(S)1110を介してデータを読み出し、読み出した論理アドレスに対応する論理記憶装置(T)200を形成する記憶装置(T)1030へ書き込んでいく。コピーが完了した論理記憶装置(T)200は、対応する論理ボリューム情報テーブル300のコピー有無情報302をコピーなしとする。そして、最終的に全領域のコピーが完了すると、ペア状態をシンプレックス状態にして、移行コピーを完了する。
ユーザは移行コピーを指示した後、ステップ705で、CPU1200から記憶装置システム(T)1000の移行コピー先の論理ボリューム(T)104をオンラインにして、業務を再開する。業務再開後はCPU1200は記憶装置システム(T)1000に対して入出力要求を発行するようになる。
なお、CPU1200から、記憶装置システム(T)1000に対して未コピー領域に対して入出力要求があった場合は、次のように処理する。
すなわち、制御装置(T)1010は、CPU1200のアクセスアドレスが未コピー領域かどうかを、論理ボリューム情報テーブル300のコピー有無情報302、コピーアドレス範囲305、ペア状態307、コピーポインタ306から調べる。そして、もし未コピー領域であれば、記憶装置システム(S)1100から、対応するデータを読み出して、制御装置(T)1010のキャッシュメモリへ格納し、このデータを用いてCPU1200のアクセスに対応する。
以上、本発明の第2の実施形態について説明した。
ところで、本第2実施形態においても、各記憶装置システム内では、論理記憶装置の容量が等しいものとして説明した。しかし、各記憶装置システム内において各論理記憶装置の容量を異ならせるようにすることもできる。ただし、この場合には、各論理記憶装置個々の容量を考慮して以上の処理を行う必要がある。
以下、本発明の第3の実施形態について説明する。
本第3実施形態は、論理ボリュームを複数のRAIDグループに分散配置/再配置するものである。
図9に、本第3実施形態に係る記憶装置システムの構成を示す。
図示するように、本実施形態に係る記憶装置システム1001は、制御装置1011と、複数のRAIDグループ205を形成する複数の記憶装置1031を有している。記憶装置システム1001は、CPU1201に接続される。
ここで、記憶装置システム10001は、前記第1実施形態で示した記憶装置システム100と同様に、制御装置1010において、第1実施形態で説明した示した論理記憶装置200によって論理ボリューム104を管理し、論理ボリューム情報テーブル300および論理記憶装置情報テーブル310(図3参照)を保持している記憶装置システムである。
なお、論理記憶装置200は、前述したように、RAIDグループ205毎に、そのアドレス空間を固定長毎に分割したものである。したがって、1つの論理記憶装置200は、必ず1つのRAIDグループ205のアドレス空間の1部であり、複数のRAIDグループ205のアドレス空間にまたがることはない。さて、本実施形態では、論理ボリューム104を構成する論理記憶装置200を任意のRAIDグループ205から選ぶことにより、論理ボリュームを任意の領域毎に任意のRAIDグループに配置することを可能とする。
以下、その詳細について説明する。
ユーザはある論理ボリューム104を構成する際に、少なくとも論理ボリューム番号と、論理ボリューム104の領域と、その領域が格納されるべきRAIDグループ205の番号を制御装置1011に指定する。これを受けて制御装置1011は、指定された領域の容量以上となるように、指定されたRAIDグループ205から未使用の論理記憶装置200を割り当て、論理記憶装置200に指定された領域を含む論理アドレス範囲をマッピングする。もし、未使用の論理記憶装置200が存在しなければ、割当て不可能をユーザへ報告する。
割り当てた論理記憶装置200の番号は、論理ボリューム情報テーブル300の論理記憶装置番号301へ、割当て順にしたがって格納し、その後ユーザに対して、割当てた論理記憶装置200にマッピングされた論理アドレス範囲を知らせる。というのは、ユーザは、通知された論理アドレス範囲を元に、領域の重複が発生しないように、次の領域を指定する。
もし、すでに論理ボリューム104が稼働中であり、指定された領域に有効なデータを格納している場合には、有効データを格納している論理記憶装置200を再配置する必要がある。そして、この再配置のためには、論理記憶装置200の論理アドレスのマッピングを変更するだけでなく、有効データを格納している論理記憶装置200から、新たに割り当てた論理記憶装置200へデータをコピーする必要がある。すなわち、論理ボリューム104が既に有効データを保持している場合は、対応する論理ボリューム情報テーブル300が存在する。そこで、制御装置1011は指定されたRAIDグループ205からコピー先の論理記憶装置200を割り当てると、コピー元の論理記憶装置200の論理記憶装置情報テーブル310のペア論理ボリューム番号315に、コピー先の論理記憶装置200の番号を格納し、論理ボリューム情報テーブル300のコピー元の論理記憶装置200のコピー有無情報302に、コピー有を記録する。この操作を、すべてのコピー先の論理記憶装置200に対して行い、最後にコピーポインタ306を初期化、すなわち先頭のコピー元の論理記憶装置200の先頭アドレスからコピーするようにアドレス0をセットし、ペア状態307をコピー中にして、コピーを開始する。ある論理記憶装置200に関してコピーが完了すると、論理ボリューム情報テーブル300に登録されているコピー元の論理記憶装置番号301を、コピー元の論理記憶装置200の論理記憶装置情報テーブル310のペア論理ボリューム番号315に格納されていたコピー先の論理記憶装置番号に書き換え、そのエントリのコピー有無302を「コピー無」とする。さて、CPU1201から送られたライトデータは、もし論理ボリューム情報テーブル300においてライト領域がマッピングされている論理記憶装置200の、論理ボリューム情報テーブル300のコピー有無302に「コピー有り」が設定されている場合には、次のようにして、コピー先の論理記憶装置200に書き込まれるようにする必要がある。
すなわち、論理ボリューム情報テーブル300の、ライト領域がマッピングされている論理記憶装置200のコピー有無302と、コピーポインタ306から、当該ライト領域がコピー済みの領域か、あるいは未コピーの領域か、あるいはコピー対象外の領域かを調べる。そして、もしコピー済みの領域であれば、ライト領域がマッピングされている論理記憶装置200の論理記憶装置情報テーブル310のペア論理ボリューム番号315に格納されたコピー先論理記憶装置番号で示されるコピー先論理記憶装置200へデータを書き込む。もし未コピー領域あるいはコピー対象外の領域ならば、ライト領域がマッピングされている論理記憶装置200へライトデータを書き込む。
一方、CPU1201からリードアクセスがあった場合は、コピー済み領域の場合はコピー先の論理記憶装置200から、未コピー領域あるいはコピー対象外領域の場合はコピー元の論理記憶装置200からデータを読み出す。このようにして、CPU1201からの入出力要求を処理しながら、コピーを実行し、すべての領域についてコピーが完了したら、ペア状態をシンプレックス状態(コピーペアなし)として、論理ボリューム104の再構成を完了する。
以上、本発明の第3の実施形態について説明した。
以下、本発明の第4の実施形態について説明する。
前記第3実施形態では、ユーザから受け付けた論理ボリューム番号と、論理ボリューム104の領域と、その領域が格納されるべきRAIDグループ205の番号の指定に従って論理ボリューム104を再配置した。本第4実施形態では、これに代えて、アクセスパターンや稼動情報などの統計情報を論理記憶装置200毎に取得し、その特徴により、自動的あるいは手動で論理ボリューム104を再配置するものである。
以下、その詳細について説明する。
本第4実施形態では、ランダムアクセスのリード率、ライト率と、シーケンシャルアクセスのリード率、ライト率と、論理記憶装置200の利用率などを、論理記憶装置200毎に取得する。そして、これらの統計情報を、ある1定周期で調べて、最適な論理記憶装置200の配置を計算する。最適な配置を求める方法として、例えば、RAIDグループ205の利用率を、当該RAIDグループ205を構成する論理記憶装置200の利用率の合計により求める。そしてもし各RAIDグループ205の利用率の分散が大きい、すなわちバラ付きがあれば、それを平準化するように論理記憶装置200をRAIDグループ205間で再配置する。
この際、アクセスパターンも考慮して配置を決める。例えば、ランダムアクセスが多い場合には応答時間の短縮が重要となるので、このようなアクセスが多い論理記憶装置は、高速小容量の記憶装置から構成されるRAIDレベルがRAID1のRAIDグループへ配置し、シーケンシャルアクセスが多い場合にはスループット(単位時間当たりのI/O処理件数)が重要となるので、このようなアクセスが多い論理記憶装置は、RAIDレベルがRAID5のRAIDグループへ配置して、多数の記憶装置を同時に動作させることによりスループット向上を計る。
なお、以上の再配置を決定する処理は制御装置101の内部プロセッサで実行しても良いし、あるいは制御装置101に接続された外部端末により実行しても良い。
論理記憶装置200の新配置が決まったら、第3実施形態と同様にコピーを行い、実際に論理ボリューム200の配置を変更する。
以上、本発明の第4の実施形態について説明した。
以下、本発明の第5の実施形態について説明する。
前記第1実施形態では、論理ボリューム104をあらかじめ複数の論理記憶装置200に分割しておく必要があるので、論理記憶装置情報テーブル310を確保するためのメモリ領域が、論理記憶装置200の容量を小さくとればとるほど、大量に必要になる。これは、1部の論理ボリューム104のみをリモートコピー対象とする場合は効率が悪い。
そこで、本第5実施形態では、この問題を解決したリモートコピーを実現する。
本第5実施形態に係る情報システムの構成を図1に示したものと同様である。ただし、図3に示した論理ボリューム情報テーブル300、論理記憶装置情報テーブルに代えて、制御装置(S)101、制御装置(T)111は、図10、図11に示すテーブル備え、これらを用いた各処理を行う点が異なる。
以下、その詳細について説明する。
まず、制御装置(S)101が保持するテーブルについて説明する。
図10に示すように、制御装置(S)101は、論理ボリューム情報テーブル800、RAIDグループ管理テーブル840、グループテーブル820、ペア管理テーブル830を保持する。
論理ボリューム情報テーブル800、グループテーブル820は、論理ボリューム毎に設けられる。RAIDグループ管理テーブル840はRAIDグループ毎に設けられる。 ここで、本第4実施形態では、論理ボリューム104の領域を等しい大きさ毎にグループ化し、これらのグループを順に番号付ける。例えばオープンシステムの場合にはブロック数で、メインフレームの場合には、シリンダ数あるいはトラック数などでグループ化し、先頭アドレスを含むグループから順にグループ0,1…と番号付ける。
さて、論理ボリューム情報テーブル800は、論理ボリューム104を構成するRAIDグループ205の番号を示すRAIDグループ番号801と、論理ボリュームのRAIDグループ205上のアドレス範囲を示すアドレス範囲802と、エミュレーション情報803と、正・副情報804と、グループテーブル番号805から構成される。
ここで、RAIDグループ205上のアドレス範囲とは、そのRAIDグループ205を構成する記憶装置103上のアドレス範囲、すなわち先頭アドレスおよびブロック数であり、このアドレス範囲で示される領域によって論理ボリューム104を構成する。本第4実施形態では、RAIDグループ205を構成する記憶装置103の共通のアドレス範囲で1つの論理ボリューム104を定義するので、アドレス範囲802にはこの共通のアドレス領域の先頭アドレスおよびブロック数が格納される。
また、エミュレーション情報803および正・副情報は、第1実施形態で示したエミュレーション情報303および正・副情報304(図3参照)と同じである。もし、当該論理ボリューム104がコピー対象となっている場合には、「コピー元」が正・副情報804に格納され、その場合に限ってグループテーブル番号805の値が有効となる。
グループテーブル番号805は、論理ボリュームに割り当てられたグループテーブル820の番号を格納する。
次に、RAIDグループ管理テーブル840は、RAIDグループ205と記憶装置103を対応付けるテーブルで、RAIDグループ205を構成する記憶装置103の番号を格納する記憶装置番号841と、RAIDグループ205のRAIDレベルを格納しているRAIDレベル842と、RAIDグループ205の未使用領域を表す空きアドレス範囲843を有する。次に、グループテーブル820は、そのグループテーブル820が割り当てられた論理ボリューム104のグループと、各グループのコピー先の論理ボリューム114を管理するペア管理テーブル830とを対応付ける表であり、各グループに対応付けられたペア管理テーブル番号821を格納している。グループ番号をインデックスとしてグループテーブル820をアクセスすることによって、当該グループのペア管理テーブル番号を知ることができる。
ペア管理テーブル830は、コピー元の論理ボリューム104とコピー先の論理ボリューム114とを対応付ける表で、コピー先である制御装置(T)111の番号を格納している相手制御装置番号831と、コピー先である記憶装置システム(T)110の論理ボリューム(T)114の番号を格納している相手論理ボリューム番号832と、コピー元である論理ボリューム(S)104の番号を格納している自論理ボリューム番号833と、論理ボリューム(S)104のコピー対象となっている先頭および末尾アドレスを格納したコピー元先頭アドレス834およびコピー元末尾アドレス835と、コピーペアの状態を示すペア状態836と、コピーの進捗をあらわすコピーポインタ837を有する。
グループテーブル820およびペア管理テーブル830は、あらかじめシステム内で定められた個数分だけ保持され、制御装置(S)101が搭載するメモリ容量や、ペアを組む最大数によって決定される。また、これらのテーブルは、必要に応じて動的に割当ておよび開放されるものである。つまり、ペアを形成するときに未使用のテーブルが割り当てられ、ペアが解除されると開放され、再び未使用状態になる。したがって、グループテーブル820およびペア管理テーブル830を記憶するために大容量の記憶資源を消費することがない。
次に、制御装置(T)121が保持するテーブルについて説明する。
制御装置(T)111は、図11に示した論理ボリューム情報テーブル900と、図10に示したRAIDグループ管理テーブル840を保持する。
論理ボリューム情報テーブル900は、論理ボリューム(T)114毎に設けられ、論理ボリュームのコピー元である制御装置(S)101の番号を格納しているコピー元制御装置番号905と、コピー元である記憶装置システム(S)100の論理ボリューム(S)104の番号を格納するコピー元論理ボリューム番号906と、コピー元の論理ボリューム(S)104のコピー対象となっているアドレス範囲を格納するコピーアドレス範囲907とを有する。また、その他に、RAIDグループ番号901と、アドレス範囲902と、エミュレーション情報903と、正・副情報904を保持するが、その内容は図10で示したものと同様である。
以下、リモートコピーを行う動作の詳細について説明する。この動作には、第1実施形態と同様にリモートコピーペア形成処理、CPU120から記憶装置システム(S)100へのライト時の処理、記憶装置システム(S)100から記憶装置システム(T)110への運用切り替え処理の3つの処理がある。以下、各処理について説明する。
i、コピーペア形成処理
リモートコピーペアの形成処理を、第1実施形態の説明で用いた図4を用いて説明する。
図ステップ400において、ユーザが制御装置(S)101に対して、リモートコピーペア形成の指示を前記第1実施形態と同様の情報と共に与える。
制御装置(S)101は、ステップ400でリモートコピーペア形成指示を受けると、未使用のペア管理テーブル830を1つ割り当てる。もし未使用のペア管理表830が存在しなければリモートコピーペアを新たに形成することは不可能なので、その旨を報告して処理を終了する。この場合には、ユーザは、既に形成しているリモートコピーペアを解散して、ペア管理テーブル830を開放する必要がある。
次に、ペア管理テーブル830を確保すると、ユーザから与えられたコピー先の制御装置(T)111の番号を、ペア管理テーブル830の相手制御装置番号831へ、コピー元の論理ボリューム(S)104の番号を自論理ボリューム番号833へ格納する。また、ユーザから与えられたコピーの先頭アドレスと、コピーの最終アドレス、それぞれをペア管理テーブル830のコピー元先頭アドレス834とコピー元末尾アドレス番号835に格納する。次に、もし今回リモートコピーペア形成指示でコピー元となる論理ボリューム104が初めてリモートコピーペアを形成する場合には、未使用のグループテーブル820を、この論理ボリュームに割り当てる。そして、リモートコピー対象領域の部分を含むグループのエントリに、先ほど割り当てたペア管理表830の番号を格納し、リモートコピー対象領域外のグループのエントリについては、ヌル値を格納する。各グループは固定長であるので、各グループが対応する論理アドレスは、グループ番号より1義的に定まる。
ここで、リモートコピー対象領域およびリモートコピー対象領域外のグループ番号を求める方法としては、例えばメインフレームのケースでは、nトラックで1つのグループを構成し、シリンダ当たりnトラック存在するとすれば、シリンダアドレスa、ヘッドアドレスbでアドレス付けされるトラックは、グループaに属する。一方、オープンシステムのケースでは、nブロックで1つのグループを構成すれば、ブロックmはm÷nの商の整数部分で番号付けされるグループに属する。このようにして、リモートコピー対象領域の論理アドレスをグループ番号に変換し、リモートコピー対象領域およびリモートコピー対象領域外の範囲のグループ番号を求める。
次に、リモートコピーペア形成を指示された論理ボリューム104に対応した論理ボリューム情報テーブル800のグループ表番号804に、今割り当てたグループテーブル820の番号を格納し、正副情報804に「コピー元」を格納する。
そして、ステップ401でリモートコピーペア形成要求を制御装置(T)111に対して発行する。ここで制御装置(20111にリモートコピーペア形成要求と共に転送されるパラメータは、第1実施形態のものと同様である。
さて、制御装置(T)111は、ペア形成要求を受領すると、ステップ410で、未使用の論理ボリューム114を論理ボリューム(T)114として割り当てる。このとき、制御装置(S)101から指定されたリモートコピー対象領域に見合う容量を、論理ボリューム(T)114に次のように割り当てる。すなわち、制御装置(T)111は、RAIDグループ管理テーブル840の空きアドレス範囲843を参照し、必要な容量があるRAIDグループ(T)215から確保できるかどうかを判断して、もし確保可能であれば、空き領域から必要な容量分を確保し、それに伴って空きアドレス範囲843を更新する。そして、未使用の論理ボリューム情報テーブル900を割り当てて、確保したRAIDグループ215の番号とアドレス範囲をRAIDグループ番号901およびアドレス範囲902に格納する。もし、空きアドレス範囲843が必要容量分存在しなければ、割当て可能なRAIDグループ(T)215を捜し割り当てる。あるいは、ユーザがあらかじめ割当て可能なRAIDグループ215を指定するようにしても構わない。
このようにしてコピー先の論理ボリューム(T)114を割り当てたならば、当該論理ボリューム(T)114の論理ボリューム情報テーブル900のエミュレーション情報903に、制御装置(S)101から受領したエミュレーションタイプおよびコピー元の論理ボリューム(S)104の容量を格納し、正・副情報904に「コピー先」を格納し、コピー元である制御装置(S)101の番号、および論理ボリューム(S)104の番号を、それぞれ論理ボリューム情報テーブル900のコピー元制御装置番号905およびコピー元論理ボリューム番号906に格納し、リモートコピー対象領域のアドレス範囲をコピーアドレス範囲907に格納する。そして、ステップ411で制御装置(S)101に対して、割り当てた論理ボリューム(T)114の番号を通知する。制御装置(S)101はステップ402で、制御装置(T)111から受信した論理ボリューム(T)114の番号を、ペア管理テーブル830の相手論理ボリューム番号832へ格納し、ペア状態836をコピー中、コピーポインタ837にコピー先頭アドレス834の値を格納して、コピー処理を開始する。コピー処理は、コピーポインタ837を更新しながら第1実施形態と同様に行う。
さて、ある論理ボリューム104の1部の領域が既にリモートコピー対象領域となっている場合に、さらに他の領域を新たにリモートコピー対象領域とする場合には、当該論理ボリューム104に対応するグループテーブル820は既に確保済みなので、ペア管理テーブル830のみを新たに割り当て、上述した情報を格納する。そして、グループテーブル820の、今回の指示されたリモートコピー対象領域の部分を含むグループのグループ番号のエントリに、今回割り当てたペア管理テーブル830の番号を格納する。以降の処理はこれまで説明してきたやり方と同じである。
ii、ライト処理
次に、CPU120から記憶装置システム(S)100へライト要求が発行された場合の処理について説明する。
ライト処理に関して第1実施形態と異なる点は、ライト対象領域がコピー範囲に入っているかどうかを判定する方法である。本実施形態では、アクセス対象の論理ボリューム情報テーブル800の正・副情報804を見て、当該論理ボリューム(S)104が「コピー元」としてリモートコピーペアを形成しているかどうかを調べる。もし「コピー元」としてリモートコピーペアを組んでいれば、グループ表番号805を見て、アクセスするアドレスを含むグループ番号をインデックスとして、グループテーブル820をアクセスする。するとペア管理テーブル830の番号が分かるので、この番号で示されるペア管理テーブル830をアクセスする。そしてコピー中かどうかをペア状態836から判断して、もしコピー中であれば、コピー先頭アドレス834とコピーポインタ837の値から、アクセス対象アドレスがコピー済み領域かどうかを調べ、もしコピー済み領域ならばライトデータを記憶装置システム(T)110へ転送し、書き込む。もしデュプレックス状態であれば、コピー先頭アドレス834およびコピー末尾アドレス835から、アクセス対象アドレスがこの範囲に含まれるかどうかを判定し、もし含まれていればライトデータを記憶装置システム(T)110へ転送し書き込む。
iii、記憶装置システム(S)100から記憶装置システム(T)110への運用切り替え処理
記憶装置システム(S)100が使用不能になると、第2サイトで業務を引き継ぐ必要がある。このためには、まず記憶装置(T)システム110にCPU(T)140を接続する。
このとき、論理ボリューム(T)113は、論理ボリューム(S)104の1部の領域しか保持していないので、もし必要であれば論理ボリューム(S)104の容量に見合うように論理ボリューム(T)113を容量的に拡張する。
本第5実施形態では、必要容量を満たす論理ボリュームを記憶装置システム(T)110に新たに割当て、リモートコピー先の論理ボリューム(T)114のデータをこれにコピーする。以下では、リモートコピー先の論理ボリューム(T)114を論理ボリュームA114、新たに割り当てた論理ボリューム114を論理ボリュームB114と記す。
以下、この運用切り替え処理の流れを図12を用いて説明する。
図示するように、まず、ユーザはステップ1001で、CPU140あるいは制御装置(T)111に接続された外部端末から、論理ボリュームA114の容量情報を読み出す。次に論理ボリュームA114をそのまま使用するか、あるいは論理ボリューム(S)104に相当するように、ボリュームを容量的に拡張して使用するかを判断する。
そして、もし拡張が必要な場合は、論理ボリュームA114の論理ボリューム情報900のエミュレーション情報903を読み出し、論理ボリューム(S)104のエミュレーションタイプおよび容量を得、この情報を基に、ユーザは制御装置(T)101に対して、論理ボリュームB114を新たに割り当てるよう指示する。この時、ユーザは少なくともエミュレーションタイプを指定する。さらに必要に応じて論理ボリューム番号を指定する。
制御装置(T)101は、ステップ1010で、指示されたエミュレーションタイプ、容量の論理ボリュームBを割り当てる。ただし、新たな論理ボリュームB114の割当ては必ずしも必要ではなく、例えば、既に第2記憶装置システム100上に定義されている論理ボリューム114を使用してもよい。
続いて、ユーザは、ステップ1003で、論理ボリュームA114から、論理ボリュームB114へデータコピーするように指示する。この時、ユーザは前記読み出した論理ボリューム情報テーブル900のコピーアドレス範囲907を見て、コピーする領域を指定する。
これを受けて制御装置(T)101は、指示された領域を、論理ボリュームA114から論理ボリュームB114へコピーする。コピーアドレス範囲907には、リモートコピー元だった論理ボリューム(S)104上のアドレスが格納されているので、このアドレスに対応する論理ボリュームB114の領域にコピーする。例えば、アドレスm〜nがコピーアドレス範囲907に格納されているとすると、論理ボリュームA114のデータを、論理ボリュームB114のアドレスm〜nの領域へコピーする。
コピーが完了すると、ステップ1004で、第1実施形態と同様に、ファイル管理情報を更新した後、ステップ1005で第2サイトでの運用を開始する。
ところで、本第5実施形態では、論理ボリュームA114から論理ボリュームB114へのコピーが完了してから、ファイル管理情報を更新し、第2サイトでの運用が開始されるが、コピーを行っている最中に、ファイル管理情報を更新し、運用を開始することもできる。これは、CPU140からアクセスのあったデータが、もし論理ボリュームA114へコピー済みであれば、論理ボリュームA114へアクセスし、もし未コピーであれば、論理ボリュームB114へアクセスすることによって実現できる。
以上、本発明の第5の実施形態について説明した。
以下、本発明の第6の実施形態について説明する。
本第6実施形態は、第2実施形態と同様に新・旧記憶装置システム間でデータを移行する移行コピーを行うものである。
ただし、本第6実施形態では、図7の記憶装置システム(T)1000は、前記第2実施形態とは異なり、制御装置(T)1010は第5実施形態で説明した論理ボリューム情報テーブル800、RAIDグループ管理テーブル840、グループテーブル820、ペア管理テーブル830(図10参照)を保持し、これを用いて処理を行う。
以下、移行コピー処理の詳細について、前記第2実施形態の説明で用いた図8を用いて説明する。
本第6実施形態の処理が、第2実施形態の処理と異なる点は、ステップ710の論理ボリューム104の割当て方法と、ステップ711のコピーであるので、この点を中心に説明する。
ステップ701の移行コピー先の論理ボリューム104の割当て指示では、ユーザは少なくともエミュレーションタイプ、割り当てる容量を指定する。ステップ710で、制御装置(T)1010が、論理ボリューム(T)104を割り当てるように指示されると、第5実施形態における論理ボリュームB114の割当と同様にして論理ボリューム(T)104を割り当てる。なお、既に記憶装置システム(T)1000上に既に定義されている論理ボリューム104を、移行コピー先の論理ボリュームとしてユーザが指定することもできる。
さて、ステップ711で、移行コピー開始指示を受領すると、制御装置(T)1010は、未使用のペア管理テーブル830を割り当て、移行コピー元の制御装置(S)1110の番号および論理ボリューム(S)114の番号を、それぞれペア管理テーブル830の相手制御装置番号831および相手論理ボリューム番号832へ格納し、移行コピー先の論理ボリューム(T)104の番号を自論理ボリューム番号833に格納し、移行コピー対象領域の先頭アドレスおよび末尾アドレスを、それぞれコピー先頭アドレス834およびコピー末尾アドレス835に格納し、移行コピーの先頭アドレスをペア管理テーブル830のコピーポインタ837に格納し、ペア状態836を「移行コピー中」とする。
次に、未使用のグループテーブル820を割り当てて、移行コピー対象領域の部分を含むグループのペア管理表番号821に、先に割り当てたペア管理テーブル830の番号を格納する。そして、論理ボリューム(T)104の論理ボリューム情報テーブル800のグループ表番号805に割り当てたグループテーブルの番号を格納し、正・副情報804に「コピー先」を格納する。
以上の処理が完了すると、制御装置(T)1010は、コピーポインタ837で示されたアドレスから順に、論理ボリューム(S)114からデータを読み出し、それを論理ボリューム(T)104へ格納していくことによって、コピーを実施する。
移行コピーが完了すると、論理ボリューム(T)104の論理ボリューム情報テーブル800の正・副情報804にNULLを格納して、ペアを組んでいないことを示し、グループ表番号805にNULLを格納する。そして、グループテーブル820とペア管理テーブル830を開放して、未使用状態にする。
なお、CPU1200から、移行コピー中の論理ボリューム104に対してアクセスがあった場合は、次のように処理する。
すなわち、まず、アクセスのあった論理ボリューム104が移行コピー対象かどうかを、対応する論理ボリューム情報テーブル800の正・副情報804を見て調べる。そして、もし、その内容が「コピー先」であれば、グループ表番号805から、対応するグループテーブル820にアクセスする。そして、アクセス対象アドレスがマッピングされたグループ番号をインデックスとして、グループテーブル820へアクセスし、対応するペア管理表番号を取得する。そして、対応するペア管理テーブル830にアクセスして、コピーポインタ837を見て、アクセスするアドレスがコピーポインタ837より前ならば、すでにコピー済みなため、論理ボリューム(T)104にアクセスする。もしコピーポインタより後ろならば、未コピーなので、論理ボリューム(S)114から目的データを読み出し、CPU1200のアクセスに対応する。論理ボリューム(S)114からデータを読み出す際には、ペア管理テーブル830の相手制御装置番号831および相手論理ボリューム番号832の情報を元にして、記憶装置システム1100の論理ボリューム(S)114に対してリード要求を発行し、目的データを読み出す。
以上、本発明の第6の実施形態について説明した。
以上説明したきたように、第1実施形態、第5実施形態によれば、論理ボリュームの任意の部分的な領域(リモートコピー対象領域)のみをリモートコピーすることができるので、従来発生していたコピー不要なデータのコピーによる不要なオーバーヘッドを排除することができる。また、このリモートコピーに際して、コピー先の記憶装置システムでは、この部分的な領域相当分の容量しか使用せず、従来のようにコピー元の論理ボリューム相当分の容量を使用することはない。
また、第2実施形態、第6実施形態によれば、論理ボリュームの任意の部分的な領域(移行コピー対象領域)のみを移行コピーすることができるので、従来発生していたコピー不要なデータのコピーによる不要なオーバーヘッドを排除することができる。また、この移行コピーに際して、コピー先の記憶装置システムでは、この部分的な領域相当分の容量しか使用せず、従来のようにコピー元の論理ボリューム相当分の容量を使用することはない。
また、第3実施形態、第4実施形態によれば、論理ボリューム単位ではなく、論理ボリュームの部分領域毎に、各部分領域を所望のRAIDグループもしくは各部分領域のアクセス特性に適したRAIDグループに配置/再配置することができる。
ところで、以上の各実施形態では、より処理を容易かつ高速に行えるようにするために、論理ボリュームのリモートコピーまたは移行コピーまたはRAIDグループへの配置の対象となる論理アドレス範囲を、論理記憶装置またはブロックに分割して管理し、各処理を行った。しかし、論理ボリュームのリモートコピーまたは移行コピーまたはRAIDグループへの配置の対象となる論理アドレス範囲は、論理記憶装置またはブロックに分割せずに直接管理し、各処理を行うようにしてもよい。
次に、第7の実施形態を説明する。
図13は、本発明の第7の実施の形態を示すシステム構成図である。システムは、ホスト1300、制御装置1312、記憶装置1313から構成される。ホスト1300は、ユーザの指示、あるいは、ユーザプログラムによって、制御装置1312に対して、さまざまな要求を発行する。記憶装置1313は、データを格納する。制御装置1312は、ホスト1300からの要求にしたがって、記憶装置1313からデータを読み取ったり、記憶装置1313にデータを書き込んだりする。
制御装置1312は、制御プロセッサ1301、制御メモリ1309、キャッシュメモリ1311から構成される。
制御プロセッサ1301は、制御装置1312を制御する。制御プロセッサ1301内では、ペア作成処理1302、ペア分割処理1303、エクステントアップデート処理1304、ライト処理1305、ペア作成コピー処理1306、ペア分割コピー処理1307、エクステントアップデートコピー処理1308が動作する。制御メモリ1309は、制御プロセッサ1301が制御装置1312を制御するために必要な制御情報、例えば、ペア情報1310を格納する。キャッシュメモリ1311は、ホスト1300から受領したデータや記憶装置1313から読み取ったデータを一時的に格納する。
図14は、ペア情報1310のデータ構造を示している。ペア情報1310は、使用フラグ1400、正ボリューム番号1401、副ボリューム番号1402、ペア状態1403、差分情報1404、エクステント情報1405から構成される。使用フラグ1400は、当該ペア情報1410が使用されているかどうか、すなわち、当該ペア情報1310内の情報が有効かどうかを示すフラグで、1が有効を示し、0が無効を示す。正ボリューム番号1401は、ホスト1300からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームの番号を示す。副ボリューム番号1402は、ホスト1300からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームのデータをコピーしたものを格納するボリュームの番号である。ペア状態1403は、ボリュームのコピーを作成する過程がどこまで進んでいるかを示し、「形成中」、「形成完了」、「分割中」、「分割完了」の4つの値を持つ。差分情報1404は、正ボリューム番号1401によって示されるボリュームと、副ボリューム番号1402によって示されるボリュームとでデータが食い違っているところを示す情報である。エクステント情報1405は、データセットやファイルなどの領域がボリュームのどこに格納されるかを示す情報で、使用フラグ1406、開始アドレス1407、終了アドレス1408から構成される。使用フラグ1406は、当該エクステント情報1405が有効かどうかを示すフラグで、1が有効であることを示し、0が無効であることを示す。開始アドレス1407は、データセットやファイルなどの領域の始端を示すアドレスで、終了アドレス1408は、データセットやファイルなどの領域の終端を示すアドレスである。
図15は、差分情報1404の構造を示している。差分情報1404は、作成中差分情報1500、分割中差分情報1501、アップデート中差分情報1502という3種類のビットマップから構成される。1ビットは、1トラックに対応し、値が0のとき、対応するトラックのデータは、正ボリューム番号1401で示されるボリュームと副ボリューム番号1402で示されるボリュームとで一致していることを示し、値が1のとき、一致していないことを示す。もちろん、1ビットを他の単位に適用させても良い。
図16は、ペア作成処理1302の処理フローを示している。ホスト1300は、制御装置1312に、あるボリュームのコピーを作成させるとき、ペア作成要求を発行する。制御プロセッサ1301は、ホスト1300からペア作成要求を受領すると、ペア作成処理1302を開始する。ペア作成要求は、2つのパラメータを持つ。
コピーを作成するボリューム(このボリュームをオリジナルボリュームと呼ぶ)のボリューム番号と、コピーデータを格納するボリューム(このボリュームをコピーボリュームと呼ぶ)のボリューム番号である。
ステップ1600では、使用フラグ1400が0になっている未使用のペア情報1310を選択し、使用フラグ1400を1を設定し、ホスト1300から受領したオリジナルボリュームのボリューム番号を正ボリューム番号1401に設定し、ホスト1300から受領したコピーボリュームのボリューム番号を副ボリューム番号1402に設定し、ペア状態1403に「形成中」を設定し、差分情報1404の作成中差分情報1500のすべてのビットに1を設定し、分割中差分情報1501のすべてのビットに0を設定し、アップデート中差分情報302のすべてのビットに0を設定し、エクステント情報1405の使用フラグ1406に0を設定する。ステップ1601では、ペア作成コピー処理106を起動して、終了する。
図17は、ペア分割処理1303の処理フローを示している。ホスト1300は、制御装置1312に、コピーボリュームに格納されるデータを確定させ、コピーボリュームに格納されているデータを使用できるようにするとき、ペア分割要求を発行する。制御プロセッサ1301は、ホスト1300からペア分割要求を受領すると、ペア分割処理を開始する。ペア分割要求は、2つのパラメータを持つ。オリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号である。
ステップ1700では、まず、オリジナルボリュームのボリューム番号を正ボリューム番号1701にもち、コピーボリュームのボリューム番号を副ボリューム番号1702に持つペア情報1310を選択し、当該ペア情報1310のペア状態1403に「分割中」を設定する。次に、ペア分割コピー処理1307を起動して、終了する。
図18は、エクステントアップデート処理1304の処理フローを示している。ペア分割要求を発行し、これが完了すると、その後にオリジナルボリュームに書き込んだデータは、コピーボリュームには反映されない。したがって、コピーボリュームに格納されているデータは、どんどん古いものになっていき、オリジナルボリュームに格納されている最新のデータとは異なってくる。データセットやファイルなどの特定の領域に関して、コピーボリュームのデータをオリジナルボリュームと一致させたいとき、ホスト1300は、制御装置1312に、エクステントアップデート要求を発行する。エクステントアップデート要求は、4つのパラメータを持つ。オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号と、オリジナルボリュームとコピーボリュームとで一致させたいデータセットやファイルなどの領域の開始アドレスと、前記デ終了アドレスである。開始アドレスと終了アドレスは複数組あっても良い。制御プロセッサ1301は、エクステントアップデート要求を受領すると、エクステントアップデート処理1304を開始する。ステップ1800では、まず、パラメータとして受領したオリジナルボリュームのボリューム番号を正ボリューム番号1401に持ち、コピーボリュームのボリューム番号を副ボリューム番号1402に持つペア情報1310を選択する。次に、選択したペア情報1310の使用フラグ1406が0になっているエクステント情報1405を選択する。次に、選択したエクステント情報1405の使用フラグ1406に1を設定し、開始アドレス1407にパラメータとして受領したデータセットやファイルなどの領域の開始アドレスを設定し、終了アドレス1408にパラメータとして受領した終了アドレスを設定する。ステップ1801では、エクステントアップデートコピー処理1308を起動して、終了する。
図19は、ライト処理1305の処理フローを示している。ホスト1300から書き込み要求を受領すると、制御プロセッサ1301は、ライト処理1305を開始する。書き込み要求は3つのパラメータを持っている。書き込みデータと、書き込みデータを格納するボリュームのボリューム番号と、書き込みデータを格納するボリューム内のアドレスである。
ステップ1900では、使用フラグ1400が1のペア情報1310の中から、パラメータとして受領したボリューム番号を正ボリューム番号1401に持つペア情報1310を選択する。前記条件にあうペア情報1310がない場合は、ステップ1907に進む。前記条件にあうペア情報1310がある場合は、ステップ1901に進む。
ステップ1901では、ステップ1900で選択したペア情報1310に関して、使用フラグ1405が1になっているエクステント情報1405の中から、パラメータとして受領したアドレスが開始アドレス1407と終了アドレス1408の間にはいるエクステント情報1405の有無を調べる。前記条件にあうエクステント情報1405がない場合は、ステップ1908に進む。前記条件にあうエクステント情報1405がある場合は、ステップ1902に進む。
ステップ1902では、ステップ1900で選択したペア情報1310の差分情報1404の分割中差分情報1501を参照し、パラメータとして受領したアドレスに対応するトラックに対応するビットが0か1かを調べる。1の場合はステップ1903に進む。0の場合はステップ1906に進む。
ステップ1903では、パラメータとして受領したアドレスに対応するトラックが格納するデータを、記憶装置1313からキャッシュメモリ1311に読み込む。
ステップ1904では、ステップ1904で読み込んだデータのコピーをキャッシュメモリ1311に作成する。作成したコピーは、ステップ1900で選択したペア情報1310の副ボリューム番号1402が示すコピーボリュームのデータであるが、記憶装置1313に書き込む時期はいつでも良い。
ステップ1905では、ステップ1902で調べたビットに0を設定する。
ステップ1906では、ステップ1900で選択したペア情報1310の差分情報1404の差分ビットを1にする。ペア状態1403が「形成中」あるいは「形成完了」の場合は、作成中差分情報1500の、パラメータとして受領したアドレスに対応するトラックに対応するビットに1を設定する。ペア状態1403が「分割中」の場合は、分割中差分情報1501の、パラメータとして受領したアドレスに対応するトラックに対応するビットに1を設定する。ペア状態1403が「分割完了」で、ステップ1901でエクステント情報1405がありと判定した場合は、アップデート中差分情報1502の、パラメータとして受領したアドレスに対応するトラックに対応するビットに1を設定する。ペア状態1403が「分割完了」で、ステップ1901でエクステント情報1405がなしと判定した場合は、分割中差分情報1501の、パラメータとして受領したアドレスに対応するトラックに対応するビットに1を設定する。
ステップ1907では、パラメータとして受領した書き込みデータをキャッシュメモリ1311に格納して、処理を終了する。
ステップ1908では、ペア状態1403を調べる。「分割中」の場合はステップ1909に進む。「分割中」でない場合はステップ1906に進む。
ステップ1909では、ステップ1900で選択したペア情報1310の差分情報1404の作成中差分情報1500を参照し、パラメータとして受領したアドレスに対応するトラックに対応するビットが1か0かを調べる。1の場合は、ステップ1910に進む。0の場合はステップ1906に進む。
ステップ1910では、パラメータとして受領したアドレスに対応するトラックが格納するデータを、記憶装置1313からキャッシュメモリ1311に読み込む。
ステップ1911では、ステップ1910で読み込んだデータのコピーをキャッシュメモリ1311に作成する。作成したコピーは、ステップ1900で選択したペア情報1310の副ボリューム番号1402が示すコピーボリュームのデータであるが、記憶装置1313に書き込む時期はいつでも良い。
ステップ1912では、ステップ1909で調べたビットに0を設定し、ステップ1906に進む。
図20は、ペア作成コピー処理1306の処理フローを示している。ペア作成コピー処理1306は、ペア作成処理1302から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号が与えられる。
ステップ2000では、変数iに、オリジナルボリュームの先頭のトラックのトラック番号を設定する。
ステップ2001では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号1401に持ち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号1402に持つペア情報1310を選択する。次に、選択したペア情報1310の差分情報1404の作成中差分情報1500を参照して、トラック番号が変数iであるトラックに対応するビットが0か1かを調べる。0の場合は、ステップ2005に進む。1の場合はステップ2002に進む。
ステップ2002では、トラック番号が変数iであるトラックのデータを、記憶装置1313からキャッシュメモリ1311に読み込む。
ステップ2003では、ステップ2002で取りこんだデータのコピーを、キャッシュメモリ1311に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置1313に書き込む時期はいつでも良い。
ステップ2004では、ステップ2001で参照したビットに0を設定する。
ステップ2005では、コピーを作成したトラックがボリュームの終端にあたるトラックかどうかを調べる。終端にあたるトラックである場合、ステップ2007に進む。終端にあたるトラックでない場合、ステップ2006に進む。
ステップ2006では、変数iに1を加算して、ステップ2001に進み、次のトラックに処理を進める。
ステップ2007では、ペア状態1403に「形成完了」を設定して、処理を終了する。
図21は、ペア分割コピー処理1307の処理フローを示している。ペア分割コピー処理1307は、ペア分割処理1303から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号が与えられる。
ステップ2100では、変数iに、オリジナルボリュームの先頭のトラックのトラック番号を設定する。
ステップ2101では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号1401に持ち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号1402に持つペア情報1310を選択する。次に、選択したペア情報1310の差分情報1404の作成中差分情報1500を参照して、トラック番号が変数iであるトラックに対応するビットが0か1かを調べる。0の場合は、ステップ2105に進む。1の場合はステップ2102に進む。
ステップ2102では、トラック番号が変数iであるトラックのデータを、記憶装置1313からキャッシュメモリ1311に読み込む。
ステップ2103では、ステップ2102で取りこんだデータのコピーを、キャッシュメモリ1311に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置1313に書き込む時期はいつでも良い。
ステップ2104では、ステップ2101で参照したビットに0を設定する。
ステップ2105では、コピーを作成したトラックがボリュームの終端にあたるトラックかどうかを調べる。終端にあたるトラックである場合、ステップ2107に進む。終端にあたるトラックでない場合、ステップ2106に進む。
ステップ2106では、変数iに1を加算して、ステップ2101に進み、次のトラックに処理を進める。
ステップ2107では、ペア状態1403に「分割完了」を設定して、処理を終了する。
図22は、エクステントアップデートコピー処理1308の処理フローを示している。エクステントアップデートコピー処理1308は、エクステントアップデート処理1303から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号と、データセットやファイルなどの領域のの開始アドレスと、終了アドレスが与えられる。
ステップ2200では、変数iに、パラメータとして与えられた開始アドレスに対応するトラックのトラック番号を設定する。
ステップ2201では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号1401に持ち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号1402に持つペア情報1310を選択する。次に、選択したペア情報1310の差分情報1404の分割中差分情報1500を参照して、トラック番号が変数iであるトラックに対応するビットが0か1かを調べる。0の場合は、ステップ2205に進む。1の場合はステップ2202に進む。
ステップ2202では、トラック番号が変数iであるトラックのデータを、記憶装置1313からキャッシュメモリ1311に読み込む。
ステップ2203では、ステップ2202で取りこんだデータのコピーを、キャッシュメモリ1311に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置1313に書き込む時期はいつでも良い。
ステップ2204では、ステップ2201で参照したビットに0を設定する。
ステップ2205では、コピーを作成したトラックがパラメータとして与えられた終了アドレスに対応するトラックかどうかを調べる。対応するトラックである場合、ステップ2207に進む。対応するトラックでない場合、ステップ2206に進む。
ステップ2206では、変数iに1を加算して、ステップ2201に進み、次のトラックに処理を進める。
ステップ2207では、まず、アップデート中差分情報1502の、パラメータとして与えられた開始アドレスと終了アドレスの範囲のビットを読み込み、読み込んだ値を分割中差分情報1501に書き込む。次に、エクステント情報1405の使用フラグ1406に0を設定して、エクステント情報1405を無効化して処理を終了する。
図23は、本発明の第8の実施の形態を示すシステム構成図である。システムは、ホスト2300、制御装置2312、記憶装置2313から構成される。
ホスト2300は、ユーザの指示、あるいは、ユーザプログラムによって、制御装置2312に対して、さまざまな要求を発行する。記憶装置2313は、データを格納する。制御装置2312は、ホスト2300からの要求にしたがって、記憶装置2313からデータを読み取ったり、記憶装置2313にデータを書き込んだりする。
制御装置2312は、制御プロセッサ2301、制御メモリ2309、キャッシュメモリ2311から構成される。
制御プロセッサ2301は、制御装置2312を制御する。制御プロセッサ2301内では、ペア作成処理2302、ペア分割処理2303、ライト処理2305、ペア作成コピー処理2306、ペア分割コピー処理2307が動作する。
制御メモリ2309は、制御プロセッサ2301が制御装置2312を制御するために必要な制御情報、例えば、ペア情報2310を格納する。キャッシュメモリ2311は、ホスト2300から受領したデータや記憶装置2313から読み取ったデータを一時的に格納する。
図24は、ペア情報2310のデータ構造を示している。ペア情報2310は、使用フラグ2400、正ボリューム番号2401、副ボリューム番号2402、ペア状態2403、差分情報2404、開始アドレス2405、終了アドレス2406から構成される。使用フラグ2400は、当該ペア情報2410が使用されているかどうか、すなわち、当該ペア情報2310内の情報が有効かどうかを示すフラグで、1が有効を示し、0が無効を示す。正ボリューム番号2401は、ホスト2300からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームの番号を示す。副ボリューム番号2402は、ホスト2300からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームのデータをコピーしたものを格納するボリュームの番号である。ペア状態2403は、ボリュームのコピーを作成する過程がどこまで進んでいるかを示し、「形成中」、「形成完了」、「分割中」、「分割完了」の4つの値を持つ。差分情報2404は、正ボリューム番号2401によって示されるボリュームと、副ボリューム番号2402によって示されるボリュームとでデータが食い違っているところを示す情報である。開始アドレス2405は、データセットやファイルなどの領域のの始端を示すアドレスで、終了アドレス2406は、データセットやファイルなどの終端を示すアドレスである。
図25は、差分情報2404の構造を示している。差分情報2404は、複数のビットで構成され、1ビットは、1トラックに対応し、値が0のとき、対応するトラックのデータは、正ボリューム番号2401で示されるボリュームと副ボリューム番号2402で示されるボリュームとで一致していることを示し、値が1のとき、一致していないことを示す。もちろん、1ビットを他の単位に適用させても良い。
図26は、ペア作成処理2302の処理フローを示している。ホスト2300は、制御装置2312に、あるデータセットやファイルなどの領域のコピーを作成させるとき、ペア作成要求を発行する。制御プロセッサ2301は、ホスト2300からペア作成要求を受領すると、ペア作成処理2302を開始する。ペア作成要求は、4つのパラメータを持つ。コピーを作成したいデータセットやファイルなどの領域が含まれるボリューム(これをコピー元ボリュームと呼ぶ)のボリューム番号と、コピーデータを格納するボリューム(これをコピー先ボリュームと呼ぶ)のボリューム番号と、コピーを作成したいデータセットやファイルなどの領域の始端を示すアドレスと、コピーを作成したいデータセットやファイルなどの領域の終端を示すアドレスである。データセットやファイルなどがボリューム内で複数個の領域から構成されるとき、ホスト2300は複数組の始端アドレスと終端アドレスをパラメータとして制御装置2312に渡す。
ステップ2600では、使用フラグ2400が0になっている未使用のペア情報2310を選択し、使用フラグ2400に1を設定し、ホスト2300から受領したコピー元ボリュームのボリューム番号を正ボリューム番号2401に設定し、ホスト2300から受領したコピー先ボリュームのボリューム番号を副ボリューム番号2402に設定し、ペア状態2403に「形成中」を設定し、差分情報2404のすべてのビットに1を設定し、開始アドレス2405にホスト2300から受領したデータセットやファイルなど領域の始端を示すアドレスを設定し、終了アドレス2406にホスト2300から受領したデータセットやファイルなどの領域の終端を示すアドレスを設定する。複数組の始端アドレスと終端アドレスがパラメータとして与えられたときは、本ステップを繰り返し、パラメータを制御メモリ2309に格納する。ステップ2601では、ペア作成コピー処理2306を起動して、処理を終了する。
図27は、ペア分割処理2303の処理フローを示している。ホスト2300は、制御装置2312に、コピー先ボリュームに入っているデータセットやファイルなどの領域を確定するときに、ペア分割要求を発行する。制御プロセッサ2301は、ホスト2300からペア分割要求を受領すると、ペア分割処理2303を開始する。ペア分割要求は、4つのパラメータを持つ。コピー元ボリュームのボリューム番号と、コピー先ボリュームのボリューム番号と、確定させたいデータセットやファイルなどの領域の始端を示すアドレスと、確定させたいデータセットやファイルなどの領域の終端を示すアドレスである。
ステップ2700では、まず、コピー元ボリュームのボリューム番号を正ボリューム番号2401にもち、コピー先ボリュームのボリューム番号を副ボリューム番号2402に持つペア情報2310を選択し、当該ペア情報2310のペア状態2403に「分割中」を設定する。次に、ペア分割コピー処理2307を起動して、処理を終了する。
図28は、ライト処理2305の処理フローを示している。ホスト2300から書き込み要求を受領すると、制御プロセッサ2301は、ライト処理2305を開始する。書き込み要求は3つのパラメータを持っている。書き込みデータと、書き込みデータを格納するボリュームのボリューム番号と、書き込みデータを格納するボリューム内のアドレスである。
ステップ2800では、使用フラグ2400が1になっているのペア情報2310の中から、パラメータとして受領したボリューム番号を正ボリューム番号2401に持ち、かつ、パラメータとして受領したアドレスが開始アドレス2405と終了アドレス2406の間にあるようなペア情報2310を選択する。前記条件にあうペア情報2310がない場合は、ステップ2807に進む。前記条件にあうペア情報2310あある場合は、ステップ2801に進む。
ステップ2801では、ステップ2800で選択したペア情報2310のペア状態2403を参照する。ペア状態2403が「分割中」の場合はステップ2802に進む。ペア状態2403が「分割中」でない場合は、ステップ2808に進む。
ステップ2802では、ステップ2800で選択したペア情報2310の差分情報2404を参照する。パラメータとして受領したアドレスに対応するトラックに対応するビットが1かどうかを調べる。1の場合はステップ2803に進む。0の場合はステップ2807に進む。
ステップ2803では、パラメータとして受領したアドレスに対応するトラックのデータを記憶装置2313からキャッシュメモリ2311に読み込む。
ステップ2804では、ステップ2803で読み込んだデータのコピーを、キャッシュメモリ2311に作成する。作成したデータは、副ボリューム番号2402が示すボリュームのデータであるが、記憶装置2313に書き込む時期はいつでも良い。
ステップ2805では、ステップ2802で調べたビットに0を設定する。
ステップ2807では、パラメータとして受領した書き込みデータをキャッシュメモリ2311に格納して、処理を終了する。
ステップ2808では、ステップ2800で選択したペア情報2810のペア状態2403を参照する。ペア状態2403が「形成中」または「形成完了」の場合は、ステップ2806に進む。ペア状態2403が「形成中」でも「形成完了」でもない場合は、ステップ2807に進む。
ステップ2806では、パラメータとして受領したアドレスに対応するトラックに対応する差分情報2404のビットに1を設定する。
図29は、ペア作成コピー処理2306の処理フローを示している。ペア作成コピー処理2306は、ペア作成処理2302から起動される。パラメータとして、コピー元ボリュームのボリューム番号と、コピー先ボリュームのボリューム番号と、データセットやファイルなどの領域の始端を示すアドレスと、データセットやファイルなどの領域の終端を示すアドレス与えられる。
ステップ2900では、まず、使用フラグ2400が1である使用中のペア情報2310の中から、パラメータとして与えられたコピー元ボリュームのボリューム番号を正ボリューム番号2401にもち、パラメータとして与えられたコピー先ボリュームのボリューム番号を副ボリューム番号2402にもち、パラメータとして与えられた始端を示すアドレスを開始アドレス2405にもち、パラメータとして与えられた終端を示すアドレスを終了アドレス2406にもつペア情報2310を選択する。次に、変数iに、選択したペア情報2310の開始アドレス2405に対応するトラックのトラック番号を設定する。
ステップ2901では、ステップ2900で選択したペア情報2310の差分情報2404を参照し、トラック番号が変数iであるトラックに対応するビットが0か1かを調べる。0の場合はステップ2905に進む。1の場合はステップ2902に進む。
ステップ2902では、トラック番号が変数iであるトラックのデータを、記憶装置2313からキャッシュメモリ2311に読み込む。
ステップ2903では、ステップ2902で取りこんだデータのコピーを、キャッシュメモリ2311に作成する。作成したデータは、パラメータとして与えられたコピー先ボリュームのボリューム番号のボリュームのデータであるが、記憶装置2313に書き込む時期はいつでも良い。
ステップ2904では、ステップ2901で参照したビットに0を設定する。
ステップ2905では、コピーしたトラックが終了アドレス2406に対応するトラックまで到達したかどうかを調べる。到達している場合はステップ2907に進む。到達していない場合は、ステップ2906に進む。
ステップ2906では、変数iに1を加算して、ステップ2901に進み、次のトラックに処理を進める。
ステップ2907では、ペア状態2403に「形成完了」を設定して、処理を終了する。
図30は、ペア分割コピー処理2307の処理フローを示している。ペア分割コピー処理2307は、ペア分割処理2303から起動される。パラメータとして、コピー元ボリュームのボリューム番号と、コピー先ボリュームのボリューム番号と、データセットやファイルなどの領域の始端を示すアドレスと、データセットやファイルなどの領域の終端を示すアドレスが与えられる。
ステップ3000では、まず、使用フラグ2400が1である使用中のペア情報2310の中から、パラメータとして与えられたコピー元ボリュームのボリューム番号を正ボリューム番号2401にもち、パラメータとして与えられたコピー先ボリュームのボリューム番号を副ボリューム番号2402にもち、パラメータとして与えられた始端を示すアドレスを開始アドレス2405にもち、パラメータとして与えられた終端を示すアドレスを終了アドレス2406にもつペア情報2310を選択する。次に、変数iに、選択したペア情報2310の開始アドレス2405に対応するトラックのトラック番号を設定する。
ステップ3001では、ステップ3000で選択したペア情報2310の差分情報2404を参照し、トラック番号が変数iであるトラックに対応するビットが0か1かを調べる。0の場合はステップ3005に進む。1の場合はステップ3002に進む。
ステップ3002では、トラック番号が変数iであるトラックのデータを、記憶装置2313からキャッシュメモリ2311に読み込む。
ステップ3003では、ステップ2902で取りこんだデータのコピーを、キャッシュメモリ2311に作成する。作成したデータは、パラメータとして与えられたコピー先ボリュームのボリューム番号のボリュームのデータであるが、記憶装置2313に書き込む時期はいつでも良い。
ステップ3004では、ステップ3001で参照したビットに0を設定する。
ステップ3005では、コピーしたトラックが終了アドレス2406に対応するトラックまで到達したかどうかを調べる。到達している場合はステップ3007に進む。到達していない場合は、ステップ3006に進む。
ステップ3006では、変数iに1を加算して、ステップ3001に進み、次のトラックに処理を進める。
ステップ3007では、ペア状態2403に「分割完了」を設定して、処理を終了する。
図31は、本発明の第9の実施の形態を示すシステム構成図である。システムは、ホスト3100、制御装置3101、記憶装置3112から構成される。ホスト3100は、ユーザの指示、あるいは、ユーザプログラムによって、制御装置3101に対して、さまざまな要求を発行する。記憶装置3112は、データを格納する。制御装置3101は、ホスト3100からの要求にしたがって、記憶装置3112からデータを読み取ったり、記憶装置3112にデータを書き込んだりする。
制御装置3101は、制御プロセッサ3102、制御メモリ3110、キャッシュメモリ3111から構成される。
制御プロセッサ3102は、制御装置3101を制御する。制御プロセッサ3102内では、ペア作成処理3103、エクステント分割処理3104、エクステント結合処理3105、ライト処理3106、エクステント分割コピー処理3107、エクステント結合コピー処理3108、ペア形成コピー処理3113が動作する。制御メモリ3110は、制御プロセッサ3102が制御装置3101を制御するために必要な制御情報、例えば、ペア情報3109を格納する。キャッシュメモリ3111は、ホスト3100から受領したデータや記憶装置3112から読みとったデータを一時的に格納する。
図32は、ペア情報3109のデータ構造を示している。ペア情報3109は、使用フラグ3201、正ボリューム番号3202、副ボリューム番号3203、差分情報3204、ペア状態3205、エクステント情報3206から構成される。使用フラグ3201は、当該ペア情報3109が使用されているかどうか、すなわち、当該ペア情報3109内の情報が有効かどうかを示すフラグで、1が有効を示し、0が無効を示す。正ボリューム番号3202は、ホスト3100からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームの番号を示す。副ボリューム番号3203は、ホスト3100からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームのデータをコピーしたものを格納するボリュームの番号を示す。差分情報3204は、正ボリューム番号3202によって示されるボリュームと、副ボリューム番号3203によって示されるボリュームとでデータが異なっているところを示す情報である。ペア状態3205は、ボリューム全体やボリュームの一部のコピーを作成する過程がどこまで進んでいるかを示し、「形成中」、「形成完了」、「エクステント分割中」、「エクステント分割完了」、「エクステント結合中」の5個の値を持つ。エクステント情報3206は、データセットやファイルなどの領域がボリュームのどこに格納されているかを示す情報で、開始アドレス3207、終了アドレス3208から構成される。開始アドレス3207は、データセットやファイルなどの領域の始端を示すアドレスである。終了アドレス3208は、データセットやファイルなどの領域の終端を示すアドレスである。
図33は、差分情報3204の構造を示している。差分情報3204は、作成中差分情報3300と分割中差分情報3301という2種類のビットマップから構成される。1ビットは、1トラックに対応し、値が0のとき、対応するトラックのデータは、正ボリューム番号3202で示されるボリュームと副ボリューム番号3203で示されるボリュームとで一致していることを示し、値が1のとき、一致していないことを示す。もちろん、1ビットを他の単位に適用させても良い。
図34は、ペア作成処理3103の処理フローを示している。ホスト3100は、制御装置3101に、あるボリュームのコピーを作成させるとき、ペア作成要求を発行する。制御プロセッサ3102は、ホスト3100が発行したペア作成要求を受領すると、ペア作成処理3103を開始する。ペア作成要求は、2個のパラメータを持つ。コピーを作成するボリューム(このボリュームをオリジナルボリュームと呼ぶ)のボリューム番号と、コピーデータを格納するボリューム(このボリュームをコピーボリュームと呼ぶ)のボリューム番号である。
ステップ3400では、使用フラグ3401が0になっている未使用のペア情報3109を選択し、使用フラグ3201に1を設定し、ホスト3100から受領したオリジナルボリュームのボリューム番号を正ボリューム番号3202に設定し、ホスト3100から受領したコピーボリュームのボリューム番号を副ボリューム番号3203に設定し、ペア状態3205に「形成中」を設定し、差分情報3204の作成中差分情報3300のすべてのビットに1を設定し、分割中差分情報3301のすべてのビットに0を設定する。
ステップ3401では、ペア作成コピー処理3113を起動して、終了する。
図35は、エクステント分割処理3104の処理フローを示している。ホスト3100は、ボリューム内の特定の領域に関して、コピーボリュームに格納されるデータを確定させるとき、エクステント分割要求を発行する。制御プロセッサ3102は、ホスト3100が発行したエクステント分割要求を受領すると、エクステント分割処理を開始する。エクステント分割要求は、1個のオリジナルボリュームのボリューム番号と、1個のコピーボリュームのボリューム番号と、1個以上のデータを確定させたい領域の始端を示す開始アドレスと、1個以上終端を示す終了アドレスから構成されるパラメータを持つ。
ステップ3500では、まず、パラメータとして受領したオリジナルボリュームのボリューム番号を正ボリューム番号3202にもち、パラメータとして受領したコピーボリュームのボリューム番号を副ボリューム番号3203にもつペア情報3109を選択する。次に、選択したペア情報3109のペア状態3205に「エクステント分割中」を設定する。次に、選択したペア情報3109のエクステント情報3206の開始アドレス3207にパラメータとして受領した開始アドレスを設定し、終了アドレス3208にパラメータとして受領した終了アドレスを設定する。
ステップ3501では、エクステント分割コピー処理を起動して、終了する。
図36は、エクステント結合処理3105の処理フローを示している。制御プロセッサ3100は、ホスト3100が発行したエクステント結合要求を受領すると、エクステント結合処理3105を開始する。エクステント結合要求は、オリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号から構成されるパラメータを持つ。
ステップ3600では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号3202にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号3203にもつペア情報3109を選択し、選択したペア情報3109のペア状態3205に「エクステント結合中」を設定する。次に、エクステント結合コピー処理3108を起動して、終了する。
図37は、ペア作成コピー処理3113の処理フローを示している。ペア作成コピー処理3113は、ペア作成処理3103から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号が与えられる。
ステップ3700では、変数iに、パラメータとして与えられたオリジナルボリュームの先頭のトラックのトラック番号を設定する。
ステップ3701では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号3202にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号3203にもつペア情報3109を選択する。次に、選択したペア情報3200の差分情報3204の作成中差分情報3300を参照して、トラック番号が変数iであるトラックに対応するビットが0か1かを調べる。0の場合は、ステップ3705に進む。1の場合は、ステップ3702に進む。
ステップ3702では、トラック番号が変数iであるトラックのデータを、記憶装置3112からキャッシュメモリ3111に読み込む。
ステップ3703では、ステップ3702で読み込んだデータのコピーを、キャッシュメモリ3111に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置3112に書き込む時期はいつでも良い。
ステップ3704では、ステップ3701で参照したビットに0を設定する。
ステップ3705では、トラック番号が変数iであるトラックが、パラメータとして与えられたオリジナルボリュームのボリューム番号に対応するボリュームの終端にあたるトラックかどうかを調べる。終端にあたるトラックの場合、ステップ3707に進む。終端にあたるトラックでない場合、ステップ3706に進む。
ステップ3706では、変数iを更新してステップ3701に進み、次のトラックに処理を進める。
ステップ3707では、ステップ3701で選択したペア情報3109のペア状態3205に「形成完了」を設定し、処理を終了する。
図38は、ライト処理3106の処理フローを示している。ホスト3100から書き込み要求を受領すると、制御プロセッサ3102は、ライト処理3106を開始する。書き込み要求は3個のパラメータを持っている。書き込みデータと、書き込みデータを格納するボリュームのボリューム番号と、書き込みデータを格納するボリューム内のアドレスである。
ステップ3800では、使用フラグ3201が1のペア情報3109の中から、パラメータとして受領したボリューム番号を正ボリューム番号3202にもつペア情報3109を選択する。前記条件にあうペア情報3109がない場合は、ステップ3808に進む。前記条件にあうペア情報3109がある場合は、ステップ3801に進む。
ステップ3801では、ステップ3800で選択したペア情報3109のペア状態3205を調べる。ペア状態3205が「エクステント分割中」の場合はステップ3802に進む。それ以外の場合はステップ3807に進む。
ステップ3802では、ステップ3800で選択したペア情報3109のエクステント情報3206を参照し、パラメータとして受領したボリューム内のアドレスがエクステント情報3206の開始アドレス3207と終了アドレス3208の間に含まれるかどうかを調べる。含まれる場合はステップ3803に進む。含まれない場合はステップ3807に進む。
ステップ3803では、ステップ3800で選択したペア情報3109の差分情報3204の作成中差分情報3300を参照し、パラメータとして与えられたボリューム内のアドレスに対応するトラックに対応するビットが0か1かを調べる。0の場合は、ステップ3807に進む。1の場合は、ステップ3804に進む。
ステップ3804では、パラメータとして受領したボリューム内のアドレスに対応するトラックのデータを、記憶装置3112からキャッシュメモリ3111に読み込む。
ステップ3805では、ステップ3804で読み込んだデータのコピーをキャッシュメモリ3111に作成する。作成したコピーは、ステップ3800で選択したペア情報3109の副ボリューム番号3203が示すボリュームのデータであるが、記憶装置3112に書き込む時期はいつでも良い。
ステップ3806では、ステップ3803で調べたビットに0を設定する。
ステップ3807では、まず、ステップ3800で選択したペア情報3109のペア状態3205を調べる。ペア状態3205が、「形成中」、「形成完了」、「エクステント結合中」の場合は、差分情報3204の作成中差分情報3300のパラメータとして与えられたボリューム内のアドレスに対応するトラックに対応するビットに1を設定する。ペア状態3205が、「エクステント分割中」、「エクステント分割完了」の場合は、差分情報3204の分割中差分情報3300のパラメータとして与えられたボリューム内のアドレスに対応するトラックに対応するビットに1を設定する。
ステップ3808では、パラメータとして受領した書き込みデータをキャッシュメモリ3111に格納して、処理を終了する。
図39は、エクステント分割コピー処理3107の処理フローを示している。エクステント分割コピー処理3107は、エクステント分割処理3104から起動され、パラメータとしてオリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号が与えられる。
ステップ3900では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号3202にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号3203に持つペア情報3109を選択する。次に、選択したペア情報3109のエクステント情報3206を1個選択し、変数iに開始アドレス3207を設定する。
ステップ3901では、ステップ3900で選択したペア情報3109の差分情報3204の作成中差分情報3300を参照し、トラック番号が変数iであるトラックに対応するビットを調べる。0の場合はステップ3905に進む。1の場合はステップ3902に進む。
ステップ3902では、トラック番号が変数iであるトラックのデータを、記憶装置3112からキャッシュメモリ3111に読み込む。
ステップ3903では、ステップ3902で読み込んだデータのコピーをキャッシュメモリ3111に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号に対応するボリュームのデータであるが、記憶装置3112に書き込む時期はいつでも良い。
ステップ3904では、ステップ3901で調べたビットに0を設定する。
ステップ3905では、トラック番号が変数iであるトラックが、終了アドレス3208に相当するトラックかどうかを調べる。相当するトラックの場合、ステップ3908に進む。それ以外の場合、ステップ3906に進む。
ステップ3906では、変数iを更新してステップ3901に進み、次のトラックに処理を進める。
ステップ3908では、ステップ3900で選択したペア情報3109のすべてのエクステント情報3206に対して、ステップ3900からステップ3906までの処理を行ったかどうかを調べる。処理済みの場合は、ステップ3907に進む。未処理のエクステント情報3206がある場合は、ステップ3900に進み、次のエクステント情報3206に記載されている範囲について処理を実行する。
ステップ3907では、ステップ3900で選択したペア情報3109のペア状態3205に「エクステント分割完了」を設定して、処理を終了する。これにより、エクステント分割要求のパラメータとして与えられたオリジナルボリュームの特定の範囲の、エクステント分割要求を発行した時刻のデータが、コピーボリュームに作成された。
図40は、エクステント結合コピー処理3108の処理フローを示している。エクステント結合コピー処理3108は、エクステント結合処理3105から起動され、パラメータとしてオリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号が与えられる。
ステップ4000では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号3202にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号3203に持つペア情報3109を選択する。次に、選択したペア情報3109のエクステント情報3206を1個選択し、変数iに開始アドレス3207を設定する。
ステップ4001では、ステップ4000で選択したペア情報3109の差分情報3204の分割中差分情報3301を参照し、トラック番号が変数iであるトラックに対応するビットを調べる。0の場合はステップ4005に進む。1の場合はステップ4002に進む。
ステップ4002では、トラック番号が変数iであるトラックのデータを、記憶装置3112からキャッシュメモリ3111に読み込む。
ステップ4003では、ステップ4002で読み込んだデータのコピーをキャッシュメモリ3111に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号に対応するボリュームであるが、記憶装置3112に書き込む時期はいつでも良い。
ステップ4004では、ステップ4001で調べたビットに0を設定する。
ステップ4005では、トラック番号が変数iであるトラックが、終了アドレス3208に相当するトラックかどうかを調べる。相当するトラックの場合、ステップ4008に進む。それ以外の場合、ステップ4006に進む。
ステップ4006では、変数iを更新してステップ4001に進み、次のトラックに処理を進める。
ステップ4008では、ステップ4000で選択したペア情報3109のすべてのエクステント情報3206に対して、ステップ4000からステップ4006までの処理を行ったかどうかを調べる。処理済みの場合は、ステップ4007に進む。未処理のエクステント情報3206がある場合は、ステップ4000に進み、次のエクステント情報3206に記載されている範囲について処理を実行する。
ステップ4007では、ステップ4000で選択したペア情報3109のペア状態3205に「形成完了」を設定して、処理を終了する。
ディスク装置の性能を向上させるために、ライトデータを複数のディスクに並列に書き込むディスクアレイと技術がある。第7の実施の形態、第8の実施の形態、第9の実施の形態に記載されているボリュームは、ディスクアレイ技術を適用して構成されたものであっても良い。第一の実施の形態、第二の実施の形態、第三の実施の形態に記載されているボリュームは、ディスクアレイ技術を適用せず、単一のディスクに格納される領域であっても良い。第一の実施の形態、第二の実施の形態、第三の実施の形態に記載されているオリジナルボリュームは、ディスクアレイ技術を適用して構成され、コピーボリュームは、ディスクアレイ技術を適用せず、単一のディスクに格納される領域であっても良い。第一の実施の形態、第二の実施の形態、第三の実施の形態に記載されているオリジナルボリュームは、ディスクアレイ技術を適用せず、単一のディスクに格納される領域であり、コピーボリュームは、ディスクアレイ技術を適用して構成されたものであっても良い。
次に、第10の実施形態を説明する。
第10の実施形態は、第7の実施形態あるいは第8の実施形態あるいは第9の実施形態のシステムに、遠隔端末4302、保守端末4303を追加したシステムである。遠隔端末4302は、制御装置1312が設置されている場所から離れたところから制御装置1312に対していろいろな要求を発行する装置である。制御装置1312には、遠隔端末4302とのインタフェースである遠隔端末I/F4300がある。遠隔端末I/F4300は、遠隔端末4302が発行した要求を制御プロセッサ1301に渡す機能を有する。保守端末4303は、制御装置1312、記憶装置1313とともに記憶装置サブシステム4307を構成する一要素で、制御装置1312に対していろいろな要求を発行する装置である。制御装置1312には、保守端末4303とのインタフェースである保守端末I/F4301がある。保守端末I/F4301は、保守端末I/F4301は、保守端末4303が発行した要求を制御プロセッサ1301に渡す機能を有する。遠隔端末4302および保守端末4303は、第7の実施形態、第8の実施形態、第9の実施形態で説明したホスト1300、ホスト2300、ホスト3100が発行する要求を発行する機能を有する。
次に、第11の実施形態を説明する。
第11の実施形態は、第7の実施形態あるいは第8の実施形態あるいは第9の実施形態のシステムに、ホスト1300(ホスト2300、ホスト3100)とLAN4304とホスト4305と、磁気テープ装置4306を追加したシステムである。ホスト4305は、LAN4304を経由してホスト1300(ホスト2300、ホスト3100)から副ボリュームが形成された事を通知しもらい、副ボリュームのデータを磁気テープ装置4306に格納し、バックアップを取得する機能を有する。
まず、第7の実施形態で説明したシステムに、LAN4304とホスト4305と磁気テープ装置4306を追加したシステムの場合を説明する。
ホスト1300は、制御装置1312に対して、まず、ペア作成要求を発行し、次に、ペア分割要求を発行して、副ボリュームを作成すると、副ボリュームの論理ボリューム番号をLAN4304を経由してホスト4305に通知する。ホスト4305は、通知された論理ボリューム番号に対応する論理ボリュームのデータを制御装置1312を経由して記憶装置1313から読み込んで、磁気テープ装置4306に書き込んで、バックアップを取得する。さらに、ホスト1300は、制御装置1312に対して、エクステントアップデート要求を発行して副ボリュームの一部の領域のデータを更新する。更新が完了すると、ホスト1300は、LAN4304を経由して、副ボリュームの論理ボリューム番号と更新した領域を示すアドレスを、ホスト4305に通知する。ホスト4305は、通知された論理ボリューム番号と領域を示すアドレスに対応する論理ボリュームと領域に格納されているデータを、制御装置1312を経由して記憶装置1313から読み込んで、磁気テープ装置4306に書き込んでバックアップを取得する。
必要に応じて、ホスト1300がエクステントアップデート要求を発行して副ボリュームの一部の領域を更新し、ホスト4305がその領域のバックアップを取得する流れは繰り返し行なわれる。
次に、第8の実施形態で説明したシステムに、LAN4304とホスト4305と磁気テープ装置4306を追加したシステムの場合を説明する。
ホスト2300は、制御装置2312に対して、まず、ペア作成要求を発行し、次にペア分割要求を発行して、副ボリュームを作成すると、副ボリュームの論理ボリューム番号と副ボリュームの一部の領域を示すアドレスを、LAN4304を経由して、ホスト4305に通知する。この通知を受けて、ホスト4305は、制御装置2312を経由して、記憶装置2313から、副ボリュームの一部の領域のデータを読込んで、磁気テープ装置4306に書き込んで、バックアップを取得する。
次に、第9の実施形態で説明してたシステムに、LAN4304とホスト4305と磁気テープ装置4306を追加したシステムの場合を説明する。
ホスト3100は、制御装置3101に対して、まず、ペア作成要求を発行し、次に、エクステント分割要求を発行して、副ボリュームの一部の領域を作成すると、副ボリュームの論理ボリューム番号と副ボリュームの一部の領域を示すアドレスを、LAN4305を経由して、ホスト4305に通知する。この通知を受けて、ホスト4305は、制御装置3101を経由して、記憶装置3112から、通知をうけた論理ボリュームの一部の領域のデータを読込んで、磁気テープ装置4306に書き込んで、バックアップを取得する。
以上説明した方法により、ボリューム全体、あるいは、ファイルやデータセットといったボリュームの一部の領域のバックアップを取得する。また、以上の説明では、バックアップを取得する為に、副ボリュームを作成する要求を発行するホストとは異なるホストが記憶装置からデータを読込んで磁気テープ装置に書き込んでいるが、もちろん、これらのホストは同一のものであってもよい。
本発明の第1実施形態に係る情報システムの構成を示すブロック図である。
本発明の第1実施形態に係る論理記憶装置を説明する図である。
本発明の第1実施形態に係る記憶装置システムが保持するテーブルを示す図である。
本発明の第1実施形態に係るリモートコピーペア形成処理の流れを示す図である。
本発明の第1実施形態に係るライト処理の流れを示す図である。
本発明の第1実施形態に係る運用切り替え処理の流れを示す図である。
本発明の第2実施形態に係る記憶装置システムの構成を示すブロック図である。
本発明の第2実施形態に係る移行コピー処理の流れを示す図である。
本発明の第3実施形態に係る記憶装置システムの構成を示すブロック図である。
本発明の第5実施形態に係るコピー元の記憶装置システムが保持するテーブルを示す図である。
本発明の第5実施形態に係るコピー先の記憶装置システムが保持するテーブルを示す図である。
本発明の第5実施形態に係る運用切り替え処理の流れを示す図である。
本発明の第7の実施形態におけるシステムの構成を示す。
本発明を実施するさいに、制御プロセッサが必要とする制御情報の内容示す。
制御情報のうちの差分情報の構成を示す。
ホストからペア作成要求を受領したときの処理フローを示す。
ホストからペア分割要求を受領したときの処理フローを示す。
ホストからエクステントアップデート要求を受領したときの処理フローを示す。
ホストから書き込み要求を受領したときの処理フローを示す。
ペア作成コピー処理の処理フローを示す。
ペア分割コピー処理の処理フローを示す。
エクステントアップデートコピー処理の処理フローを示す。
本発明の第8の実施形態におけるシステムの構成を示す。
本発明を実施するさいに、制御プロセッサが必要とする制御情報の内容を示す。
制御情報のうちの差分情報の構成を示す。
ホストからペア作成要求を受領したときの処理フローを示す。
ホストからペア分割要求を受領したときの処理フローを示す。
ホストから書き込み要求を受領したときの処理フローを示す。
ペア作成コピー処理の処理フローを示す。
ペア分割コピー処理の処理フローを示す。
本発明の第9の実施形態におけるシステムの構成を示す。
本発明を実施するさいに、制御プロセッサが必要とする制御情報の内容を示す。
制御情報のうちの差分情報の構成を示す。
ホストからペア作成要求を受領したときの処理フローを示す。
ホストからエクステント分割要求を受領したときの処理フローを示す。
ホストからエクステント結合要求を受領したときの処理フローを示す。
ペア作成コピー処理の処理フローを示す。
ホストからライト要求を受領したときの処理フローを示す。
エクステント分割コピー処理の処理フローを示す。
エクステント結合コピー処理の処理フローを示す。
本発明の第10および第11の実施形態におけるシステムの構成を示す。
符号の説明
100…記憶装置システム、
110…記憶装置システム、
120…CPU、
101…制御装置、
111…制御装置、
103…記憶装置、
104…論理ボリューム、
200…論理記憶装置、
205…RAIDグループ。