(57)【要約】      （修正有）【課題】記憶装置内でデータセットやファイルのコピーを作成する。【解決手段】制御装置１１２は、ホスト１００から、オリジナルのデータが入っているボリューム（オリジナルボリューム）と、コピーを格納するボリューム（コピーボリューム）と、対象となるデータセットやファイルなどの領域の開始と終了のアドレス受領する。そして、制御装置１１２は、受領した情報をもとに、記憶装置１１３から、オリジナルボリュームの対象領域のデータを読み込み、コピーを作成する。【選択図】図１
2008276795.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータと接続される記憶装置システムであって、
制御装置と、
前記制御装置と接続される複数の記憶装置を有し、
前記複数の記憶装置内には、前記コンピュータから書き込まれるデータが格納される第１のボリュームと、前記第１のボリュームに格納されるデータのコピーが格納される第２のボリュームが存在し、
前記制御装置は、前記コンピュータから、第１のボリュームの番号と、第２のボリュームの番号とを含むペア作成命令を受信し、
前記ペア作成命令により指定される第１のボリューム内に格納されるデータを、前記ペア作成命令により指定される第２のボリュームにコピーし、
前記コンピュータからライト命令を受信した場合、
前記ライト命令により書き込まれるライトデータが格納される記憶領域が、前記ペア作成命令により指定される第１のボリュームであれば、前記ライトデータのコピーを前記ペア作成命令により指定される第２のボリュームに格納し、
前記ライトデータが格納される記憶領域が、前記ペア作成命令により指定される第１のボリュームでない場合には、前記ライトデータを前記コンピュータから指定された記憶領域に格納し、
前記第１のボリュームの番号と、第２のボリュームの番号とを含むペア分割命令を受信し、
前記ペア分割命令により指定された第１のボリューム内に格納されているデータを前記ペア分割命令により指定された第２のボリュームに反映させ、かつ、その後に該第１のボリュームへのライト命令を受信すると該ライト命令のライトデータを前記第１のボリュームに書き込むとともにその書き込み位置を記憶し、該ライトデータは前記第２のボリュームにコピーしないことを特徴とする記憶装置システム。
【請求項２】
請求項１記載の記憶装置システムであって、
前記制御装置は、前記ペア分割命令により指定された第１のボリュームの番号と、第２のボリュームの番号と、該第１のボリューム内の記憶領域を示す開始アドレスと終了アドレスとを含むエクステントアップデート要求を受信し、
前記エクステントアップデート要求により指定された前記第１のボリューム内の記憶領域のうち、前記記憶されている書き込み位置のデータを前記エクステントアップデート要求により指定された第２のボリュームにコピーし、
前記エクステントアップデータ要求に基づくコピーを行った後に、前記コンピュータからライト命令を受信した場合、
前記制御装置は、前記ライト命令により書き込まれるライトデータが格納される記憶領域が前記エクステントアップデート要求で指定された前記第１のボリュームの記憶領域であれば、前記ライトデータのコピーを前記エクステントアップデート要求により指定された第２のボリュームに格納することを特徴とする記憶装置システム。
【請求項３】
請求項２に記載の記憶装置システムであって、
前記制御装置は、複数の開始アドレスと終了アドレスの組を含む前記エクステントアップデート命令を受信することを特徴とする記憶装置システム。
【請求項４】
コンピュータと接続される記憶装置システムであって、
制御装置と、
前記制御装置と接続される複数の記憶装置を有し、
前記複数の記憶装置内には、前記コンピュータから書き込まれるデータが格納される第１のボリュームと、前記第１のボリュームに格納されるデータのコピーが格納される第２のボリュームが存在し、
前記制御装置は、
前記コンピュータから、第１のボリュームの番号と、第２のボリュームの番号とを含むペア作成命令を受信し、
前記ペア作成命令により指定される第１のボリューム内に格納されるデータを、前記ペア作成命令により指定される第２のボリュームにコピーして該第１のボリュームと該第２のボリュームをペアとし、
前記コンピュータからデータのライト命令を受信した場合、
前記ライト命令により書き込まれるライトデータが格納される記憶領域が、前記ペアを形成する前記第１のボリュームであれば、前記ライトデータのコピーを該ペアを形成する第２のボリュームにも格納し、
前記ライトデータが格納される記憶領域が、前記ペアを形成する前記第１のボリュームでない場合には、前記ライトデータを前記コンピュータから指定された記憶領域に格納し、
前記ペアを形成する第１のボリュームの番号と、第２のボリュームの番号と、該第１のボリューム内の記憶領域を示す開始アドレスと終了アドレスとを含むエクステント分割要求を受信し、
前記エクステント分割要求により指定された前記第１のボリューム内の記憶領域に格納されているデータを前記エクステント分割要求により指定された第２のボリュームにコピーし、かつ、その後に前記第１のボリュームの記憶領域へのライト命令を受信すると該ライト命令のライトデータを前記第１のボリュームの記憶領域に書き込むとともにその書き込み位置を記憶し、該ライトデータは前記第２のボリュームにコピーしないように該記憶領域におけるペア分割を行うことを特徴とする記憶装置システム。
【請求項５】
請求項４記載の記憶装置システムであって、
前記制御装置は、前記ペアを形成する第１のボリュームの番号と第２のボリュームの番号とを含むエクステント結合要求を受信し、
前記エクステント結合要求で指定される前記第１のボリュームと前記第２のボリュームのペアにおいて前記ペア分割のなされている複数の記憶領域について、
前記第１のボリュームの前記複数の記憶領域内に格納されているデータを前記エクステント結合要求により指定された第２のボリュームに反映させ、かつ、その後に該第１のボリュームの前記複数の記憶領域何れかへのライト命令を受信した場合には該ライト命令のライトデータを前記第２のボリュームにコピーすることを特徴とする記憶装置システム。
【請求項６】
請求項５記載の記憶装置システムであって、
前記制御装置は、複数の開始アドレスと終了アドレスの組を含む前記エクステント分割命令を受信することを特徴とする記憶装置システム。
【請求項７】
コンピュータと接続される記憶装置システムであって、
制御装置と、
前記制御装置と接続される複数の記憶装置を有し、
前記複数の記憶装置内には、前記コンピュータから書き込まれるデータが格納される第１のボリュームと、前記第１のボリュームに格納されるデータのコピーが格納される第２のボリュームが存在し、
前記制御装置は、前記コンピュータから、第１のボリュームの番号と、該第１のボリューム内のある記憶領域を示す開始アドレスと終了アドレスと、第２のボリュームの番号とを含むペア作成命令を受信し、
前記ペア作成命令により指定される第１のボリューム内の記憶領域に格納されるデータを、前記ペア作成命令により指定される第２のボリュームにコピーし、
前記制御装置は、前記コンピュータからデータのライト命令を受信した場合、
前記ライト命令により書き込まれるライトデータが格納される記憶領域が、前記ペア作成命令により指定された前記第１のボリュームの記憶領域であれば、前記ライトデータのコピーを前記ペア作成命令により指定された第２のボリュームに格納し、
前記ライトデータが格納される記憶領域が、前記ペア作成命令により指定されていない記憶領域であれば、前記ライトデータを前記コンピュータから指定された記憶領域に格納し、
前記制御装置は、前記第１のボリュームの番号と、該第１のボリューム内の記憶領域を示す開始アドレスと終了アドレスと、前記第２のボリュームの番号とを含むペア分割命令を受信し、
前記制御装置は、前記ペア分割命令により指定された第１のボリューム内の記憶領域に格納されているデータを前記ペア分割命令により指定された第２のボリュームに反映させ、かつ、その後のライト命令により前記第１のボリュームの記憶領域に書き込まれるライトデータは前記第２のボリュームにコピーしないことを特徴とする記憶装置システム。
【請求項８】
請求項７記載の記憶装置システムであって、
前記制御装置は、複数の開始アドレスと終了アドレスの組を含む前記ペア作成命令を受信することを特徴とする記憶装置システム。
【請求項９】
請求項７記載の記憶装置システムであって、
前記制御装置は、前記ペア作成命令により指定される第１のボリューム内の記憶領域に格納されるデータと、前記ペア作成命令により指定される第２のボリュームに格納されているデータとの差分を管理する情報を有することことを特徴とする記憶装置システム。
【請求項１０】
請求項９記載の記憶装置システムであって、
前記制御装置は、前記差分を管理する情報は複数ビットで構成され、所定単位のビット数が所定の記憶領域単位に割り当てられていることを特徴とする記憶装置システム。
【請求項１１】
請求項１０記載の記憶装置システムであって、
前記差分を管理する情報は1ビットで前記記憶領域の1トラックに格納されるデータを管理することを特徴とする記憶装置システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システムなどにおける記憶装置システムに係り、ボリュームに格納されているデータのコピーを作成する機能を有する計算機システムに関する。
【背景技術】
【０００２】
記憶装置に障害が発生したときに大切なデータを完全に失ってしまうことを防ぐ手段として、バックアップをとることが一般的に知られている。通常、バックアップをとるデータの整合性を保証するために、バックアップをとっている間は、当該ボリュームに対するリード／ライト処理を停止する。このため、バックアップをとっている間は、バックアップ対象のボリュームを使用する処理は停止しなくてはならないという問題がある。この問題を解決する方法として、記憶装置内でボリュームのコピーを作成して、（１）通常は、オリジナルボリュームのデータとコピーボリュームのデータを一致させる、（２）バックアップをとる間は、オリジナルボリュームのデータとコピーボリュームのデータとを一致させない（したがって、コピーボリュームは整合性のとれているある時点のオリジナルボリュームをあらわすことになる）、（３）バックアップはコピーボリュームを使用する、という方法が知られている。これにより、バックアップをとっている間に処理を停止させることなく、整合性の取れたデータをバックアップデータとしてとることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記の方法では、コピーを作成する単位がボリュームであるため、ボリューム内の特定の領域（例えば、データセットやファイルなど）単位のデータを必要とする場合でも、ボリューム全体のコピーを作成する必要がある。したがって、不要なコピーが発生し、（１）記憶装置に余計な負荷をかける、（２）余計に時間がかかる、という課題があった。
【課題を解決するための手段】
【０００４】
一般に、記憶装置は、ホストが管理しているファイルシステムの構造が分からないため、データセットやファイルがどの領域のデータで構成されるのかが分からない。本発明では、ホストから記憶装置に領域を通知する手段を設ける。この手段を用いて、記憶装置は、本来必要とされるだけのデータセットやファイルなどの領域のコピーを作成し、余計な負荷や時間を削減する。
【発明の効果】
【０００５】
データセットやファイルなどの領域単位のコピーが可能になったため、余計なコピーを削減することができる。これにより、記憶装置の負荷やコピー作成の時間を削減することができる。
【発明を実施するための最良の形態】
【０００６】
図１は、本発明の第一の実施の形態を示すシステム構成図である。システムは、ホスト１００、制御装置１１２、記憶装置１１３から構成される。ホスト１００は、ユーザの指示、あるいは、ユーザプログラムによって、制御装置１１２に対して、さまざまな要求を発行する。記憶装置１１３は、データを格納する。制御装置１１２は、ホスト１００からの要求にしたがって、記憶装置１１３からデータを読み取ったり、記憶装置１１３にデータを書き込んだりする。
制御装置１１２は、制御プロセッサ１０１、制御メモリ１０９、キャッシュメモリ１１１から構成される。
制御プロセッサ１０１は、制御装置１１２を制御する。制御プロセッサ１０１内では、ペア作成処理１０２、ペア分割処理１０３、エクステントアップデート処理１０４、ライト処理１０５、ペア作成コピー処理１０６、ペア分割コピー処理１０７、エクステントアップデートコピー処理１０８が動作する。制御メモリ１０９は、制御プロセッサ１０１が制御装置１１２を制御するために必要な制御情報、例えば、ペア情報１１０を格納する。キャッシュメモリ１１１は、ホスト１００から受領したデータや記憶装置１１３から読み取ったデータを一時的に格納する。
図２は、ペア情報１１０のデータ構造を示している。ペア情報１１０は、使用フラグ２００、正ボリューム番号２０１、副ボリューム番号２０２、ペア状態２０３、差分情報２０４、エクステント情報２０５から構成される。使用フラグ２００は、当該ペア情報１１０が使用されているかどうか、すなわち、当該ペア情報１１０内の情報が有効かどうかを示すフラグで、１が有効を示し、０が無効を示す。正ボリューム番号２０１は、ホスト１００からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームの番号を示す。副ボリューム番号２０２は、ホスト１００からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームのデータをコピーしたものを格納するボリュームの番号である。ペア状態２０３は、ボリュームのコピーを作成する過程がどこまで進んでいるかを示し、「形成中」、「形成完了」、「分割中」、「分割完了」の４つの値を持つ。差分情報２０４は、正ボリューム番号２０１によって示されるボリュームと、副ボリューム番号２０２によって示されるボリュームとでデータが食い違っているところを示す情報である。エクステント情報２０５は、データセットやファイルなどの領域がボリュームのどこに格納されるかを示す情報で、使用フラグ２０６、開始アドレス２０７、終了アドレス２０８から構成される。使用フラグ２０６は、当該エクステント情報２０５が有効かどうかを示すフラグで、１が有効であることを示し、０が無効であることを示す
。開始アドレス２０７は、データセットやファイルなどの領域の始端を示すアドレスで、終了アドレス２０８は、データセットやファイルなどの領域の終端を示すアドレスである。
図３は、差分情報２０４の構造を示している。差分情報２０４は、作成中差分情報３００、分割中差分情報３０１、アップデート中差分情報３０２という３種類のビットマップから構成される。１ビットは、１トラックに対応し、値が０のとき、対応するトラックのデータは、正ボリューム番号２０１で示されるボリュームと副ボリューム番号２０２で示されるボリュームとで一致していることを示し、値が１のとき、一致していないことを示す。もちろん、１ビットを他の単位に適用させても良い。
図４は、ペア作成処理１０２の処理フローを示している。ホスト１００は、制御装置１１２に、あるボリュームのコピーを作成させるとき、ペア作成要求を発行する。制御プロセッサ１０１は、ホスト１００からペア作成要求を受領すると、ペア作成処理１０２を開始する。ペア作成要求は、２つのパラメータを持つ。
【０００７】
コピーを作成するボリューム（このボリュームをオリジナルボリュームと呼ぶ）のボリューム番号と、コピーデータを格納するボリューム（このボリュームをコピーボリュームと呼ぶ）のボリューム番号である。
ステップ４００では、使用フラグ２００が０になっている未使用のペア情報１１０を選択し、使用フラグ２００を１を設定し、ホスト１００から受領したオリジナルボリュームのボリューム番号を正ボリューム番号２０１に設定し、ホスト１００から受領したコピーボリュームのボリューム番号を副ボリューム番号２０２に設定し、ペア状態２０３に「形成中」を設定し、差分情報２０４の作成中差分情報３００のすべてのビットに１を設定し、分割中差分情報３０１のすべてのビットに０を設定し、アップデート中差分情報３０２のすべてのビットに０を設定し、エクステント情報２０５の使用フラグ２０６に０を設定する。ステップ４０１では、ペア作成コピー処理１０６を起動して、終了する。
図５は、ペア分割処理１０３の処理フローを示している。ホスト１００は、制御装置１１２に、コピーボリュームに格納されるデータを確定させ、コピーボリュームに格納されているデータを使用できるようにするとき、ペア分割要求を発行する。制御プロセッサ１０１は、ホスト１００からペア分割要求を受領すると、ペア分割処理を開始する。ペア分割要求は、２つのパラメータを持つ。オリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号である。
ステップ５００では、まず、オリジナルボリュームのボリューム番号を正ボリューム番号２０１にもち、コピーボリュームのボリューム番号を副ボリューム番号２０２に持つペア情報１１０を選択し、当該ペア情報１１０のペア状態２０３に「分割中」を設定する。次に、ペア分割コピー処理１０７を起動して、終了する。
図６は、エクステントアップデート処理１０４の処理フローを示している。ペア分割要求を発行し、これが完了すると、その後にオリジナルボリュームに書き込んだデータは、コピーボリュームには反映されない。したがって、コピーボリュームに格納されているデータは、どんどん古いものになっていき、オリジナルボリュームに格納されている最新のデータとは異なってくる。データセットやファイルなどの特定の領域に関して、コピーボリュームのデータをオリジナルボリュームと一致させたいとき、ホスト１００は、制御装置１１２に、エクステントアップデート要求を発行する。エクステントアップデート要求は、４つのパラメータを持つ。オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号と、オリジナルボリュームとコピーボリュームとで一致させたいデータセットやファイルなどの領域の開始アドレスと、前記デ終了アドレスである。開始アドレスと終了アドレスは複数組あっても良い。制御プロセッサ１０１は、エクステントアップデート要求を受領すると、エクステントアップデート処理１０４を開始する。ステップ６００では、まず、パラメータとして受領したオリジナルボリュームのボリューム番号を正ボリューム番号２０１に持ち、コピーボリュームのボリューム番号を副ボリューム番号２０２に持つペア情報１１０を選択する。次に、選択したペア情報１１０の使用フラグ２０６が０になっているエクステント情報２０５を選択する。次に、選択したエクステント情報２０５の使用フラグ２０６に１を設定し、開始アドレス２０７にパラメータとして受領したデータセットやファイルなどの領域の開始アドレスを設定し、終了アドレス２０８にパラメータとして受領した終了アドレスを設定する。ステップ６０１では、エクステントアップデートコピー処理１０８を起動して、終了する。
図７は、ライト処理１０５の処理フローを示している。ホスト１００から書き込み要求を受領すると、制御プロセッサ１０１は、ライト処理１０５を開始する。書き込み要求は３つのパラメータを持っている。書き込みデータと、書き込みデータを格納するボリュームのボリューム番号と、書き込みデータを格納するボリューム内のアドレスである。
ステップ７００では、使用フラグ２００が１のペア情報１１０の中から、パラメータとして受領したボリューム番号を正ボリューム番号２０１に持つペア情報１１０を選択する。前記条件にあうペア情報１１０がない場合は、ステップ７０７に進む。前記条件にあうペア情報１１０がある場合は、ステップ７０１に進む。
ステップ７０１では、ステップ７００で選択したペア情報１１０に関して、使用フラグ２０５が１になっているエクステント情報２０５の中から、パラメータとして受領したアドレスが開始アドレス２０７と終了アドレス２０８の間にはいるエクステント情報２０５の有無を調べる。前記条件にあうエクステント情報２０５がない場合は、ステップ７０８に進む。前記条件にあうエクステント情報２０５がある場合は、ステップ７０２に進む。
ステップ７０２では、ステップ７００で選択したペア情報１１０の差分情報２０４の分割中差分情報３０１を参照し、パラメータとして受領したアドレスに対応するトラックに対応するビットが０か１かを調べる。１の場合はステップ７０３に進む。０の場合はステップ７０６に進む。
ステップ７０３では、パラメータとして受領したアドレスに対応するトラックが格納するデータを、記憶装置１１３からキャッシュメモリ１１１に読み込む。
ステップ７０４では、ステップ７０４で読み込んだデータのコピーをキャッシュメモリ１１１に作成する。作成したコピーは、ステップ７００で選択したペア情報１１０の副ボリューム番号２０２が示すコピーボリュームのデータであるが、記憶装置１１３に書き込む時期はいつでも良い。
ステップ７０５では、ステップ７０２で調べたビットに０を設定する。
ステップ７０６では、ステップ７００で選択したペア情報１１０の差分情報２０４の差分ビットを１にする。ペア状態２０３が「形成中」あるいは「形成完了」の場合は、作成中差分情報３００の、パラメータとして受領したアドレスに対応するトラックに対応するビットに１を設定する。ペア状態２０３が「分割中」の場合は、分割中差分情報３０１の、パラメータとして受領したアドレスに対応するトラックに対応するビットに１を設定する。ペア状態２０３が「分割完了」で、ステップ７０１でエクステント情報２０５がありと判定した場合は、アップデート中差分情報３０２の、パラメータとして受領したアドレスに対応するトラックに対応するビットに１を設定する。ペア状態２０３が「分割完了」で、ステップ７０１でエクステント情報２０５がなしと判定した場合は、分割中差分情報３０１の、パラメータとして受領したアドレスに対応するトラックに対応するビットに１を設定する。
ステップ７０７では、パラメータとして受領した書き込みデータをキャッシュメモリ１１１に格納して、処理を終了する。
ステップ７０８では、ペア状態２０３を調べる。「分割中」の場合はステップ７０９に進む。「分割中」でない場合はステップ７０６に進む。
ステップ７０９では、ステップ７００で選択したペア情報１１０の差分情報２０４の作成中差分情報３００を参照し、パラメータとして受領したアドレスに対応するトラックに対応するビットが１か０かを調べる。１の場合は、ステップ７１０に進む。０の場合はステップ７０６に進む。
ステップ７１０では、パラメータとして受領したアドレスに対応するトラックが格納するデータを、記憶装置１１３からキャッシュメモリ１１１に読み込む。
ステップ７１１では、ステップ７１０で読み込んだデータのコピーをキャッシュメモリ１１１に作成する。作成したコピーは、ステップ７００で選択したペア情報１１０の副ボリューム番号２０２が示すコピーボリュームのデータであるが、記憶装置１１３に書き込む時期はいつでも良い。
ステップ７１２では、ステップ７０９で調べたビットに０を設定し、ステップ７０６に進む。
図８は、ペア作成コピー処理１０６の処理フローを示している。ペア作成コピー処理１０６は、ペア作成処理１０２から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号が与えられる。
ステップ８００では、変数ｉに、オリジナルボリュームの先頭のトラックのトラック番号を設定する。
ステップ８０１では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号２０１に持ち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号２０２に持つペア情報１１０を選択する。次に、選択したペア情報１１０の差分情報２０４の作成中差分情報３００を参照して、トラック番号が変数ｉであるトラックに対応するビットが０か１かを調べる。０の場合は、ステップ８０５に進む。１の場合はステップ８０２に進む。
ステップ８０２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１１３からキャッシュメモリ１１１に読み込む。
ステップ８０３では、ステップ８０２で取りこんだデータのコピーを、キャッシュメモリ１１１に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置１１３に書き込む時期はいつでも良い。
ステップ８０４では、ステップ８０１で参照したビットに０を設定する。
ステップ８０５では、コピーを作成したトラックがボリュームの終端にあたるトラックかどうかを調べる。終端にあたるトラックである場合、ステップ８０７に進む。終端にあたるトラックでない場合、ステップ８０６に進む。
ステップ８０６では、変数ｉに１を加算して、ステップ８０１に進み、次のトラックに処理を進める。
ステップ８０７では、ペア状態２０３に「形成完了」を設定して、処理を終了する。
図９は、ペア分割コピー処理１０７の処理フローを示している。ペア分割コピー処理１０７は、ペア分割処理１０３から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号が与えられる。
ステップ９００では、変数ｉに、オリジナルボリュームの先頭のトラックのトラック番号を設定する。
ステップ９０１では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号２０１に持ち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号２０２に持つペア情報１１０を選択する。次に、選択したペア情報１１０の差分情報２０４の作成中差分情報３００を参照して、トラック番号が変数ｉであるトラックに対応するビットが０か１かを調べる。０の場合は、ステップ９０５に進む。１の場合はステップ９０２に進む。
ステップ９０２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１１３からキャッシュメモリ１１１に読み込む。
ステップ９０３では、ステップ９０２で取りこんだデータのコピーを、キャッシュメモリ１１１に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置１１３に書き込む時期はいつでも良い。
ステップ９０４では、ステップ９０１で参照したビットに０を設定する。
ステップ９０５では、コピーを作成したトラックがボリュームの終端にあたるトラックかどうかを調べる。終端にあたるトラックである場合、ステップ９０７に進む。終端にあたるトラックでない場合、ステップ９０６に進む。
ステップ９０６では、変数ｉに１を加算して、ステップ９０１に進み、次のトラックに処理を進める。
ステップ９０７では、ペア状態２０３に「分割完了」を設定して、処理を終了する。
図１０は、エクステントアップデートコピー処理１０８の処理フローを示している。エクステントアップデートコピー処理１０８は、エクステントアップデート処理１０３から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号と、データセットやファイルなどの領域のの開始アドレスと、終了アドレスが与えられる。
ステップ１０００では、変数ｉに、パラメータとして与えられた開始アドレスに対応するトラックのトラック番号を設定する。
ステップ１００１では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号２０１に持ち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号２０２に持つペア情報１１０を選択する。次に、選択したペア情報１１０の差分情報２０４の分割中差分情報３００を参照して、トラック番号が変数ｉであるトラックに対応するビットが０か１かを調べる。０の場合は、ステップ１００５に進む。１の場合はステップ１００２に進む。
ステップ１００２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１１３からキャッシュメモリ１１１に読み込む。
ステップ１００３では、ステップ１００２で取りこんだデータのコピーを、キャッシュメモリ１１１に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置１１３に書き込む時期はいつでも良い。
ステップ１００４では、ステップ１００１で参照したビットに０を設定する。
ステップ１００５では、コピーを作成したトラックがパラメータとして与えられた終了アドレスに対応するトラックかどうかを調べる。対応するトラックである場合、ステップ１００７に進む。対応するトラックでない場合、ステップ１００６に進む。
ステップ１００６では、変数ｉに１を加算して、ステップ１００１に進み、次のトラックに処理を進める。
ステップ１００７では、まず、アップデート中差分情報３０２の、パラメータとして与えられた開始アドレスと終了アドレスの範囲のビットを読み込み、読み込んだ値を分割中差分情報３０１に書き込む。次に、エクステント情報２０５の使用フラグ２０６に０を設定して、エクステント情報２０５を無効化して処理を終了する。
図１１は、本発明の第二のの実施の形態を示すシステム構成図である。システムは、ホスト１１００、制御装置１１１２、記憶装置１１１３から構成される。
ホスト１１００は、ユーザの指示、あるいは、ユーザプログラムによって、制御装置１１１２に対して、さまざまな要求を発行する。記憶装置１１１３は、データを格納する。制御装置１１１２は、ホスト１１００からの要求にしたがって、記憶装置１１１３からデータを読み取ったり、記憶装置１１１３にデータを書き込んだりする。
制御装置１１１２は、制御プロセッサ１１０１、制御メモリ１１０９、キャッシュメモリ１１１１から構成される。
制御プロセッサ１１０１は、制御装置１１１２を制御する。制御プロセッサ１１０１内では、ペア作成処理１１０２、ペア分割処理１１０３、ライト処理１１０５、ペア作成コピー処理１１０６、ペア分割コピー処理１１０７が動作する。
制御メモリ１１０９は、制御プロセッサ１１０１が制御装置１１１２を制御するために必要な制御情報、例えば、ペア情報１１１０を格納する。キャッシュメモリ１１１１は、ホスト１１００から受領したデータや記憶装置１１１３から読み取ったデータを一時的に格納する。
図１２は、ペア情報１１１０のデータ構造を示している。ペア情報１１１０は、使用フラグ１２００、正ボリューム番号１２０１、副ボリューム番号１２０２、ペア状態１２０３、差分情報１２０４、開始アドレス１２０５、終了アドレス１２０６から構成される。使用フラグ１２００は、当該ペア情報１１１０が使用されているかどうか、すなわち、当該ペア情報１１１０内の情報が有効かどうかを示すフラグで、１が有効を示し、０が無効を示す。正ボリューム番号１２０１は、ホスト１１００からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームの番号を示す。副ボリューム番号１２０２は、ホスト１１００からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームのデータをコピーしたものを格納するボリュームの番号である。ペア状態１２０３は、ボリュームのコピーを作成する過程がどこまで進んでいるかを示し、「形成中」、「形成完了」、「分割中」、「分割完了」の４つの値を持つ。差分情報１２０４は、正ボリューム番号１２０１によって示されるボリュームと、副ボリューム番号１２０２によって示されるボリュームとでデータが食い違っているところを示す情報である。開始アドレス１２０５は、データセットやファイルなどの領域のの始端を示すアドレスで、終了アドレス１２０６は、データセットやファイルなどの終端を示すアドレスである。
図１３は、差分情報１２０４の構造を示している。差分情報１２０４は、複数のビットで構成され、１ビットは、１トラックに対応し、値が０のとき、対応するトラックのデータは、正ボリューム番号１２０１で示されるボリュームと副ボリューム番号１２０２で示されるボリュームとで一致していることを示し、値が１のとき、一致していないことを示す。もちろん、１ビットを他の単位に適用させても良い。
図１４は、ペア作成処理１１０２の処理フローを示している。ホスト１１００は、制御装置１１２に、あるデータセットやファイルなどの領域のコピーを作成させるとき、ペア作成要求を発行する。制御プロセッサ１１０１は、ホスト１１００からペア作成要求を受領すると、ペア作成処理１１０２を開始する。ペア作成要求は、４つのパラメータを持つ。コピーを作成したいデータセットやファイルなどの領域が含まれるボリューム（これをコピー元ボリュームと呼ぶ）のボリューム番号と、コピーデータを格納するボリューム（これをコピー先ボリュームと呼ぶ）のボリューム番号と、コピーを作成したいデータセットやファイルなどの領域の始端を示すアドレスと、コピーを作成したいデータセットやファイルなどの領域の終端を示すアドレスである。データセットやファイルなどがボリューム内で複数個の領域から構成されるとき、ホスト１１００は複数組の始端アドレスと終端アドレスをパラメータとして制御装置１１２に渡す。
ステップ１４００では、使用フラグ１２００が０になっている未使用のペア情報１１１０を選択し、使用フラグ１２００に１を設定し、ホスト１１００から受領したコピー元ボリュームのボリューム番号を正ボリューム番号１２０１に設定し、ホスト１１００から受領したコピー先ボリュームのボリューム番号を副ボリューム番号１２０２に設定し、ペア状態１２０３に「形成中」を設定し、差分情報１２０４のすべてのビットに１を設定し、開始アドレス１２０５にホスト１１００から受領したデータセットやファイルなど領域の始端を示すアドレスを設定し、終了アドレス１２０６にホスト１１００から受領したデータセットやファイルなどの領域の終端を示すアドレスを設定する。複数組の始端アドレスと終端アドレスがパラメータとして与えられたときは、本ステップを繰り返し、パラメータを制御メモリ１１０９に格納する。ステップ１４０１では、ペア作成コピー処理１１０６を起動して、処理を終了する。
図１５は、ペア分割処理１１０３の処理フローを示している。ホスト１１００は、制御装置１１１２に、コピー先ボリュームに入っているデータセットやファイルなどの領域を確定するときに、ペア分割要求を発行する。制御プロセッサ１１０１は、ホスト１１００からペア分割要求を受領すると、ペア分割処理１１０３を開始する。ペア分割要求は、４つのパラメータを持つ。コピー元ボリュームのボリューム番号と、コピー先ボリュームのボリューム番号と、確定させたいデータセットやファイルなどの領域の始端を示すアドレスと、確定させたいデータセットやファイルなどの領域の終端を示すアドレスである。
ステップ１５００では、まず、コピー元ボリュームのボリューム番号を正ボリューム番号１２０１にもち、コピー先ボリュームのボリューム番号を副ボリューム番号１２０２に持つペア情報１１１０を選択し、当該ペア情報１１１０のペア状態１２０３に「分割中」を設定する。次に、ペア分割コピー処理１１０７を起動して、処理を終了する。
図１６は、ライト処理１１０５の処理フローを示している。ホスト１１００から書き込み要求を受領すると、制御プロセッサ１１０１は、ライト処理１１０５を開始する。書き込み要求は３つのパラメータを持っている。書き込みデータと、書き込みデータを格納するボリュームのボリューム番号と、書き込みデータを格納するボリューム内のアドレスである。
ステップ１６００では、使用フラグ１２００が１になっているのペア情報１１１０の中から、パラメータとして受領したボリューム番号を正ボリューム番号１２０１に持ち、かつ、パラメータとして受領したアドレスが開始アドレス１２０５と終了アドレス１２０６の間にあるようなペア情報１１１０を選択する。前記条件にあうペア情報１１１０がない場合は、ステップ１６０７に進む。前記条件にあうペア情報１１１０あある場合は、ステップ１６０１に進む。
ステップ１６０１では、ステップ１６００で選択したペア情報１１１０のペア状態１２０３を参照する。ペア状態１２０３が「分割中」の場合はステップ１６０２に進む。ペア状態１２０３が「分割中」でない場合は、ステップ１６０８に進む。
ステップ１６０２では、ステップ１６００で選択したペア情報１１１０の差分情報１２０４を参照する。パラメータとして受領したアドレスに対応するトラックに対応するビットが１かどうかを調べる。１の場合はステップ１６０３に進む。０の場合はステップ１６０７に進む。
ステップ１６０３では、パラメータとして受領したアドレスに対応するトラックのデータを記憶装置１１１３からキャッシュメモリ１１１１に読み込む。
ステップ１６０４では、ステップ１６０３で読み込んだデータのコピーを、キャッシュメモリ１１１１に作成する。作成したデータは、副ボリューム番号１２０２が示すボリュームのデータであるが、記憶装置１１１３に書き込む時期はいつでも良い。
ステップ１６０５では、ステップ１６０２で調べたビットに０を設定する。
ステップ１６０７では、パラメータとして受領した書き込みデータをキャッシュメモリ１１１１に格納して、処理を終了する。
ステップ１６０８では、ステップ１６００で選択したペア情報１１１０のペア状態１２０３を参照する。ペア状態１２０３が「形成中」または「形成完了」の場合は、ステップ１６０６に進む。ペア状態１２０３が「形成中」でも「形成完了」でもない場合は、ステップ１６０７に進む。
ステップ１６０６では、パラメータとして受領したアドレスに対応するトラックに対応する差分情報１２０４のビットに１を設定する。
図１７は、ペア作成コピー処理１１０６の処理フローを示している。ペア作成コピー処理１１０６は、ペア作成処理１１０２から起動される。パラメータとして、コピー元ボリュームのボリューム番号と、コピー先ボリュームのボリューム番号と、データセットやファイルなどの領域の始端を示すアドレスと、データセットやファイルなどの領域の終端を示すアドレス与えられる。
ステップ１７００では、まず、使用フラグ１２００が１である使用中のペア情報１１１０の中から、パラメータとして与えられたコピー元ボリュームのボリューム番号を正ボリューム番号１２０１にもち、パラメータとして与えられたコピー先ボリュームのボリューム番号を副ボリューム番号１２０２にもち、パラメータとして与えられた始端を示すアドレスを開始アドレス１２０５にもち、パラメータとして与えられた終端を示すアドレスを終了アドレス１２０６にもつペア情報１１１０を選択する。次に、変数ｉに、選択したペア情報１１１０の開始アドレス１２０５に対応するトラックのトラック番号を設定する。
ステップ１７０１では、ステップ１７００で選択したペア情報１１１０の差分情報１２０４を参照し、トラック番号が変数ｉであるトラックに対応するビットが０か１かを調べる。０の場合はステップ１７０５に進む。１の場合はステップ１７０２に進む。
ステップ１７０２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１１１３からキャッシュメモリ１１１１に読み込む。
ステップ１７０３では、ステップ１７０２で取りこんだデータのコピーを、キャッシュメモリ１１１１に作成する。作成したデータは、パラメータとして与えられたコピー先ボリュームのボリューム番号のボリュームのデータであるが、記憶装置１１１３に書き込む時期はいつでも良い。
ステップ１７０４では、ステップ１７０１で参照したビットに０を設定する。
ステップ１７０５では、コピーしたトラックが終了アドレス１２０６に対応するトラックまで到達したかどうかを調べる。到達している場合はステップ１７０７に進む。到達していない場合は、ステップ１７０６に進む。
ステップ１７０６では、変数ｉに１を加算して、ステップ１７０１に進み、次のトラックに処理を進める。
ステップ１７０７では、ペア状態１２０３に「形成完了」を設定して、処理を終了する。
図１８は、ペア分割コピー処理１１０７の処理フローを示している。ペア分割コピー処理１１０７は、ペア分割処理１１０３から起動される。パラメータとして、コピー元ボリュームのボリューム番号と、コピー先ボリュームのボリューム番号と、データセットやファイルなどの領域の始端を示すアドレスと、データセットやファイルなどの領域の終端を示すアドレスが与えられる。
ステップ１８００では、まず、使用フラグ１２００が１である使用中のペア情報１１１０の中から、パラメータとして与えられたコピー元ボリュームのボリューム番号を正ボリューム番号１２０１にもち、パラメータとして与えられたコピー先ボリュームのボリューム番号を副ボリューム番号１２０２にもち、パラメータとして与えられた始端を示すアドレスを開始アドレス１２０５にもち、パラメータとして与えられた終端を示すアドレスを終了アドレス１２０６にもつペア情報１１１０を選択する。次に、変数ｉに、選択したペア情報１１１０の開始アドレス１２０５に対応するトラックのトラック番号を設定する。
ステップ１８０１では、ステップ１８００で選択したペア情報１１１０の差分情報１２０４を参照し、トラック番号が変数ｉであるトラックに対応するビットが０か１かを調べる。０の場合はステップ１８０５に進む。１の場合はステップ１８０２に進む。
ステップ１８０２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１１１３からキャッシュメモリ１１１１に読み込む。
ステップ１８０３では、ステップ１７０２で取りこんだデータのコピーを、キャッシュメモリ１１１１に作成する。作成したデータは、パラメータとして与えられたコピー先ボリュームのボリューム番号のボリュームのデータであるが、記憶装置１１１３に書き込む時期はいつでも良い。
ステップ１８０４では、ステップ１８０１で参照したビットに０を設定する。
ステップ１８０５では、コピーしたトラックが終了アドレス１２０６に対応するトラックまで到達したかどうかを調べる。到達している場合はステップ１８０７に進む。到達していない場合は、ステップ１８０６に進む。
ステップ１８０６では、変数ｉに１を加算して、ステップ１８０１に進み、次のトラックに処理を進める。
【０００８】
ステップ１８０７では、ペア状態１２０３に「分割完了」を設定して、処理を終了する。
【０００９】
図１９は、本発明の第三の実施の形態を示すシステム構成図である。システムは、ホスト１９００、制御装置１９０１、記憶装置１９１２から構成される。ホスト１９００は、ユーザの指示、あるいは、ユーザプログラムによって、制御装置１９０１に対して、さまざまな要求を発行する。記憶装置１９１２は、データを格納する。制御装置１９０１は、ホスト１９００からの要求にしたがって、記憶装置１９１２からデータを読み取ったり、記憶装置１９１２にデータを書き込んだりする。
【００１０】
制御装置１９０１は、制御プロセッサ１９０２、制御メモリ１９１０、キャッシュメモリ１９１１から構成される。
【００１１】
制御プロセッサ１９０２は、制御装置１９０１を制御する。制御プロセッサ１９０２内では、ペア作成処理１９０３、エクステント分割処理１９０４、エクステント結合処理１９０５、ライト処理１９０６、エクステント分割コピー処理１９０７、エクステント結合コピー処理１９０８、ペア形成コピー処理１９１３が動作する。制御メモリ１９１０は、制御プロセッサ１９０２が制御装置１９０１を制御するために必要な制御情報、例えば、ペア情報１９０９を格納する。キャッシュメモリ１９１１は、ホスト１９００から受領したデータや記憶装置１９１２から読みとったデータを一時的に格納する。
【００１２】
図２０は、ペア情報１９０９のデータ構造を示している。ペア情報１９０９は、使用フラグ２００１、正ボリューム番号２００２、副ボリューム番号２００３、差分情報２００４、ペア状態２００５、エクステント情報２００６から構成される。使用フラグ２００１は、当該ペア情報１９０９が使用されているかどうか、すなわち、当該ペア情報１９０９内の情報が有効かどうかを示すフラグで、１が有効を示し、０が無効を示す。正ボリューム番号２００２は、ホスト１９００からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームの番号を示す。副ボリューム番号２００３は、ホスト１００からの要求によって、ボリュームのコピーを作成するときの、オリジナルとなるボリュームのデータをコピーしたものを格納するボリュームの番号を示す。差分情報２００４は、正ボリューム番号２００２によって示されるボリュームと、副ボリューム番号２００３によって示されるボリュームとでデータが異なっているところを示す情報である。ペア状態２００５は、ボリューム全体やボリュームの一部のコピーを作成する過程がどこまで進んでいるかを示し、「形成中」、「形成完了」、「エクステント分割中」、「エクステント分割完了」、「エクステント結合中」の５個の値を持つ。エクステント情報２００６は、データセットやファイルなどの領域がボリュームのどこに格納されているかを示す情報で、開始アドレス２００７、終了アドレス２００８から構成される。開始アドレス２００７は、データセットやファイルなどの領域の始端を示すアドレスである。終了アドレス２００８は、データセットやファイルなどの領域の終端を示すアドレスである。
【００１３】
図２１は、差分情報２００４の構造を示している。差分情報２００４は、作成中差分情報２１００と分割中差分情報２１０１という２種類のビットマップから構成される。１ビットは、１トラックに対応し、値が０のとき、対応するトラックのデータは、正ボリューム番号２００２で示されるボリュームと副ボリューム番号２００３で示されるボリュームとで一致していることを示し、値が１のとき、一致していないことを示す。もちろん、１ビットを他の単位に適用させても良い。
【００１４】
図２２は、ペア作成処理１９０３の処理フローを示している。ホスト１９００は、制御装置１９０１に、あるボリュームのコピーを作成させるとき、ペア作成要求を発行する。制御プロセッサ１９０２は、ホスト１９００が発行したペア作成要求を受領すると、ペア作成処理１９０３を開始する。ペア作成要求は、２個のパラメータを持つ。コピーを作成するボリューム（このボリュームをオリジナルボリュームと呼ぶ）のボリューム番号と、コピーデータを格納するボリューム（このボリュームをコピーボリュームと呼ぶ）のボリューム番号である。
【００１５】
ステップ２２００では、使用フラグ２００１が０になっている未使用のペア情報１９０９を選択し、使用フラグ２００１に１を設定し、ホスト１９００から受領したオリジナルボリュームのボリューム番号を正ボリューム番号２００２に設定し、ホスト１９００から受領したコピーボリュームのボリューム番号を副ボリューム番号２００３に設定し、ペア状態２００５に「形成中」を設定し、差分情報２００４の作成中差分情報２１００のすべてのビットに１を設定し、分割中差分情報２１０１のすべてのビットに０を設定する。
【００１６】
ステップ２２０１では、ペア作成コピー処理１９１３を起動して、終了する。
【００１７】
図２３は、エクステント分割処理１９０４の処理フローを示している。ホスト１９００は、ボリューム内の特定の領域に関して、コピーボリュームに格納されるデータを確定させるとき、エクステント分割要求を発行する。制御プロセッサ１９０２は、ホスト１９００が発行したエクステント分割要求を受領すると、エクステント分割処理を開始する。エクステント分割要求は、１個のオリジナルボリュームのボリューム番号と、１個のコピーボリュームのボリューム番号と、１個以上のデータを確定させたい領域の始端を示す開始アドレスと、１個以上終端を示す終了アドレスから構成されるパラメータを持つ。
【００１８】
ステップ２３００では、まず、パラメータとして受領したオリジナルボリュームのボリューム番号を正ボリューム番号２００２にもち、パラメータとして受領したコピーボリュームのボリューム番号を副ボリューム番号２００３にもつペア情報１９０９を選択する。次に、選択したペア情報１９０９のペア状態２００５に「エクステント分割中」を設定する。次に、選択したペア情報１９０９のエクステント情報２００６の開始アドレス２００７にパラメータとして受領した開始アドレスを設定し、終了アドレス２００８にパラメータとして受領した終了アドレスを設定する。
【００１９】
ステップ２３０１では、エクステント分割コピー処理を起動して、終了する。
【００２０】
図２４は、エクステント結合処理１９０５の処理フローを示している。制御プロセッサ１９００は、ホスト１９００が発行したエクステント結合要求を受領すると、エクステント結合処理１９０５を開始する。エクステント結合要求は、オリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号から構成されるパラメータを持つ。
【００２１】
ステップ２４００では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号２００２にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号２００３にもつペア情報１９０９を選択し、選択したペア情報１９０９のペア状態２００５に「エクステント結合中」を設定する。次に、エクステント結合コピー処理１９０８を起動して、終了する。
【００２２】
図２５は、ペア作成コピー処理１９１３の処理フローを示している。ペア作成コピー処理１９１３は、ペア作成処理１９０３から起動される。パラメータとして、オリジナルボリュームのボリューム番号と、コピーボリュームのボリューム番号が与えられる。
【００２３】
ステップ２５００では、変数ｉに、パラメータとして与えられたオリジナルボリュームの先頭のトラックのトラック番号を設定する。
【００２４】
ステップ２５０１では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号２００２にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号２００３にもつペア情報１９０９を選択する。次に、選択したペア情報２０００の差分情報２００４の作成中差分情報２１００を参照して、トラック番号が変数ｉであるトラックに対応するビットが０か１かを調べる。０の場合は、ステップ２５０５に進む。１の場合は、ステップ２５０２に進む。
【００２５】
ステップ２５０２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１９１２からキャッシュメモリ１９１１に読み込む。
【００２６】
ステップ２５０３では、ステップ２５０２で読み込んだデータのコピーを、キャッシュメモリ１９１１に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号のボリュームのデータであるが、記憶装置１９１２に書き込む時期はいつでも良い。
【００２７】
ステップ２５０４では、ステップ２５０１で参照したビットに０を設定する。
【００２８】
ステップ２５０５では、トラック番号が変数ｉであるトラックが、パラメータとして与えられたオリジナルボリュームのボリューム番号に対応するボリュームの終端にあたるトラックかどうかを調べる。終端にあたるトラックの場合、ステップ２５０７に進む。終端にあたるトラックでない場合、ステップ２５０６に進む。
【００２９】
ステップ２５０６では、変数ｉを更新してステップ２５０１に進み、次のトラックに処理を進める。
【００３０】
ステップ２５０７では、ステップ２５０１で選択したペア情報１９０９のペア状態２００５に「形成完了」を設定し、処理を終了する。
【００３１】
図２６は、ライト処理１９０６の処理フローを示している。ホスト１９００から書き込み要求を受領すると、制御プロセッサ１９０２は、ライト処理１９０６を開始する。書き込み要求は３個のパラメータを持っている。書き込みデータと、書き込みデータを格納するボリュームのボリューム番号と、書き込みデータを格納するボリューム内のアドレスである。
【００３２】
ステップ２６００では、使用フラグ２００１が１のペア情報１９０９の中から、パラメータとして受領したボリューム番号を正ボリューム番号２００２にもつペア情報１９０９を選択する。前記条件にあうペア情報１９０９がない場合は、ステップ２６０８に進む。前記条件にあうペア情報１９０９がある場合は、ステップ２６０１に進む。
【００３３】
ステップ２６０１では、ステップ２６００で選択したペア情報１９０９のペア状態２００５を調べる。ペア状態２００５が「エクステント分割中」の場合はステップ２６０２に進む。それ以外の場合はステップ２６０７に進む。
【００３４】
ステップ２６０２では、ステップ２６００で選択したペア情報１９０９のエクステント情報２００６を参照し、パラメータとして受領したボリューム内のアドレスがエクステント情報２００６の開始アドレス２００７と終了アドレス２００８の間に含まれるかどうかを調べる。含まれる場合はステップ２６０３に進む。含まれない場合はステップ２６０７に進む。
【００３５】
ステップ２６０３では、ステップ２６００で選択したペア情報１９０９の差分情報２００４の作成中差分情報２１００を参照し、パラメータとして与えられたボリューム内のアドレスに対応するトラックに対応するビットが０か１かを調べる。０の場合は、ステップ２６０７に進む。１の場合は、ステップ２６０４に進む。
ステップ２６０４では、パラメータとして受領したボリューム内のアドレスに対応するトラックのデータを、記憶装置１９１２からキャッシュメモリ１９１１に読み込む。
【００３６】
ステップ２６０５では、ステップ２６０４で読み込んだデータのコピーをキャッシュメモリ１９１１に作成する。作成したコピーは、ステップ２６００で選択したペア情報１９０９の副ボリューム番号２００３が示すボリュームのデータであるが、記憶装置１９１２に書き込む時期はいつでも良い。
【００３７】
ステップ２６０６では、ステップ２６０３で調べたビットに０を設定する。
【００３８】
ステップ２６０７では、まず、ステップ２６００で選択したペア情報１９０９のペア状態２００５を調べる。ペア状態２００５が、「形成中」、「形成完了」、「エクステント結合中」の場合は、差分情報２００４の作成中差分情報２１００のパラメータとして与えられたボリューム内のアドレスに対応するトラックに対応するビットに１を設定する。ペア状態２００５が、「エクステント分割中」、「エクステント分割完了」の場合は、差分情報２００４の分割中差分情報２１００のパラメータとして与えられたボリューム内のアドレスに対応するトラックに対応するビットに１を設定する。
【００３９】
ステップ２６０８では、パラメータとして受領した書き込みデータをキャッシュメモリ１９１１に格納して、処理を終了する。
【００４０】
図２７は、エクステント分割コピー処理１９０７の処理フローを示している。エクステント分割コピー処理１９０７は、エクステント分割処理１９０４から起動され、パラメータとしてオリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号が与えられる。
【００４１】
ステップ２７００では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号２００２にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号２００３に持つペア情報１９０９を選択する。次に、選択したペア情報１９０９のエクステント情報２００６を１個選択し、変数ｉに開始アドレス２００７を設定する。
【００４２】
ステップ２７０１では、ステップ２７００で選択したペア情報１９０９の差分情報２００４の作成中差分情報２１００を参照し、トラック番号が変数ｉであるトラックに対応するビットを調べる。０の場合はステップ２７０５に進む。１の場合はステップ２７０２に進む。
【００４３】
ステップ２７０２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１９１２からキャッシュメモリ１９１１に読み込む。
【００４４】
ステップ２７０３では、ステップ２７０２で読み込んだデータのコピーをキャッシュメモリ１９１１に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号に対応するボリュームのデータであるが、記憶装置１９１２に書き込む時期はいつでも良い。
【００４５】
ステップ２７０４では、ステップ２７０１で調べたビットに０を設定する。
【００４６】
ステップ２７０５では、トラック番号が変数ｉであるトラックが、終了アドレス２００８に相当するトラックかどうかを調べる。相当するトラックの場合、ステップ２７０８に進む。それ以外の場合、ステップ２７０６に進む。
【００４７】
ステップ２７０６では、変数ｉを更新してステップ２７０１に進み、次のトラックに処理を進める。
【００４８】
ステップ２７０８では、ステップ２７００で選択したペア情報１９０９のすべてのエクステント情報２００６に対して、ステップ２７００からステップ２７０６までの処理を行ったかどうかを調べる。処理済みの場合は、ステップ２７０７に進む。未処理のエクステント情報２００６がある場合は、ステップ２７００に進み、次のエクステント情報２００６に記載されている範囲について処理を実行する。
【００４９】
ステップ２７０７では、ステップ２７００で選択したペア情報１９０９のペア状態２００５に「エクステント分割完了」を設定して、処理を終了する。これにより、エクステント分割要求のパラメータとして与えられたオリジナルボリュームの特定の範囲の、エクステント分割要求を発行した時刻のデータが、コピーボリュームに作成された。
【００５０】
図２８は、エクステント結合コピー処理１９０８の処理フローを示している。エクステント結合コピー処理１９０８は、エクステント結合処理１９０５から起動され、パラメータとしてオリジナルボリュームのボリューム番号とコピーボリュームのボリューム番号が与えられる。
【００５１】
ステップ２８００では、まず、パラメータとして与えられたオリジナルボリュームのボリューム番号を正ボリューム番号２００２にもち、パラメータとして与えられたコピーボリュームのボリューム番号を副ボリューム番号２００３に持つペア情報１９０９を選択する。次に、選択したペア情報１９０９のエクステント情報２００６を１個選択し、変数ｉに開始アドレス２００７を設定する。
【００５２】
ステップ２８０１では、ステップ２８００で選択したペア情報１９０９の差分情報２００４の分割中差分情報２１０１を参照し、トラック番号が変数ｉであるトラックに対応するビットを調べる。０の場合はステップ２８０５に進む。１の場合はステップ２８０２に進む。
【００５３】
ステップ２８０２では、トラック番号が変数ｉであるトラックのデータを、記憶装置１９１２からキャッシュメモリ１９１１に読み込む。
【００５４】
ステップ２８０３では、ステップ２８０２で読み込んだデータのコピーをキャッシュメモリ１９１１に作成する。作成したデータは、パラメータとして与えられたコピーボリュームのボリューム番号に対応するボリュームであるが、記憶装置１９１２に書き込む時期はいつでも良い。
【００５５】
ステップ２８０４では、ステップ２８０１で調べたビットに０を設定する。
【００５６】
ステップ２８０５では、トラック番号が変数ｉであるトラックが、終了アドレス２００８に相当するトラックかどうかを調べる。相当するトラックの場合、ステップ２８０８に進む。それ以外の場合、ステップ２８０６に進む。
【００５７】
ステップ２８０６では、変数ｉを更新してステップ２８０１に進み、次のトラックに処理を進める。
【００５８】
ステップ２８０８では、ステップ２８００で選択したペア情報１９０９のすべてのエクステント情報２００６に対して、ステップ２８００からステップ２８０６までの処理を行ったかどうかを調べる。処理済みの場合は、ステップ２８０７に進む。未処理のエクステント情報２００６がある場合は、ステップ２８００に進み、次のエクステント情報２００６に記載されている範囲について処理を実行する。
【００５９】
ステップ２８０７では、ステップ２８００で選択したペア情報１９０９のペア状態２００５に「形成完了」を設定して、処理を終了する。
【００６０】
ディスク装置の性能を向上させるために、ライトデータを複数のディスクに並列に書き込むディスクアレイと技術がある。第一の実施の形態、第二の実施の形態、第三の実施の形態に記載されているボリュームは、ディスクアレイ技術を適用して構成されたものであっても良い。第一の実施の形態、第二の実施の形態、第三の実施の形態に記載されているボリュームは、ディスクアレイ技術を適用せず、単一のディスクに格納される領域であっても良い。第一の実施の形態、第二の実施の形態、第三の実施の形態に記載されているオリジナルボリュームは、ディスクアレイ技術を適用して構成され、コピーボリュームは、ディスクアレイ技術を適用せず、単一のディスクに格納される領域であっても良い。第一の実施の形態、第二の実施の形態、第三の実施の形態に記載されているオリジナルボリュームは、ディスクアレイ技術を適用せず、単一のディスクに格納される領域であり、コピーボリュームは、ディスクアレイ技術を適用して構成されたものであっても良い。
【図面の簡単な説明】
【００６１】
【図１】本発明の第一の実施形態におけるシステムの構成を示す。
【図２】本発明を実施するさいに、制御プロセッサが必要とする制御情報の内容を示す。
【図３】制御情報のうちの差分情報の構成を示す。
【図４】ホストからペア作成要求を受領したときの処理フローを示す。
【図５】ホストからペア分割要求を受領したときの処理フローを示す。
【図６】ホストからエクステントアップデート要求を受領したときの処理フローを示す。
【図７】ホストから書き込み要求を受領したときの処理フローを示す。
【図８】ペア作成コピー処理の処理フローを示す。
【図９】ペア分割コピー処理の処理フローを示す。
【図１０】エクステントアップデートコピー処理の処理フローを示す。
【図１１】本発明の第二の実施形態におけるシステムの構成を示す。
【図１２】本発明を実施するさいに、制御プロセッサが必要とする制御情報の内容を示す。
【図１３】制御情報のうちの差分情報の構成を示す。
【図１４】ホストからペア作成要求を受領したときの処理フローを示す。
【図１５】ホストからペア分割要求を受領したときの処理フローを示す。
【図１６】ホストから書き込み要求を受領したときの処理フローを示す。
【図１７】ペア作成コピー処理の処理フローを示す。
【図１８】ペア分割コピー処理の処理フローを示す。
【図１９】本発明の第三の実施形態におけるシステムの構成を示す。
【図２０】本発明を実施するさいに、制御プロセッサが必要とする制御情報の内容を示す。
【図２１】制御情報のうちの差分情報の構成を示す。
【図２２】ホストからペア作成要求を受領したときの処理フローを示す。
【図２３】ホストからエクステント分割要求を受領したときの処理フローを示す。
【図２４】ホストからエクステント結合要求を受領したときの処理フローを示す。
【図２５】ペア作成コピー処理の処理フローを示す。
【図２６】ホストからライト要求を受領したときの処理フローを示す。
【図２７】エクステント分割コピー処理の処理フローを示す。
【図２８】エクステント結合コピー処理の処理フローを示す。
【符号の説明】
【００６２】
１００…ホスト、１０１…制御プロセッサ、１０９…制御メモリ、１１１…キャッシュメモリ、１１２…制御装置、１１３…記憶装置。
【図１】
2008276795.tif 000003
【図２】
2008276795.tif 000004
【図３】
2008276795.tif 000005
【図４】
2008276795.tif 000006
【図５】
2008276795.tif 000007
【図６】
2008276795.tif 000008
【図７】
2008276795.tif 000009
【図８】
2008276795.tif 000010
【図９】
2008276795.tif 000011
【図１０】
2008276795.tif 000012
【図１１】
2008276795.tif 000013
【図１２】
2008276795.tif 000014
【図１３】
2008276795.tif 000015
【図１４】
2008276795.tif 000016
【図１５】
2008276795.tif 000017
【図１６】
2008276795.tif 000018
【図１７】
2008276795.tif 000019
【図１８】
2008276795.tif 000020
【図１９】
2008276795.tif 000021
【図２０】
2008276795.tif 000022
【図２１】
2008276795.tif 000023
【図２２】
2008276795.tif 000024
【図２３】
2008276795.tif 000025
【図２４】
2008276795.tif 000026
【図２５】
2008276795.tif 000027
【図２６】
2008276795.tif 000028
【図２７】
2008276795.tif 000029
【図２８】
2008276795.tif 000030