(57)【要約】【課題】処理負担軽減及びレスポンス向上のために二重化（ミラーリング）を用いずにスナップショットを管理する。【解決手段】例えばＲＡＩＤ記憶システムにおいて、正ボリューム（４０）の所望時刻でのスナップショットを取得する場合、所望時刻以降に正ボリューム（４０）内のいずれかの記憶領域に対するＷＲ要求を受ける都度、もし、その記憶領域のデータが所望時刻以降未だ副ボリューム（４２）にコピーされていなければ、そのデータを副ボリューム（４２）にコピーし（Ｓ１、６４）、その後に、その記憶領域にＷＲ処理を行なう（Ｓ２、６０）。さらに、シーケンシャルＷＲの場合（Ｓ３）、その記憶領域に続くシーケンシャルＷＲが行なわれると予測される記憶領域のデータについても、もし、所望時刻以降未だ副ボリューム（４２）にコピーされていなければ、同様に副ボリューム（４２）にコピーする。【選択図】        図１
2004272854.tif 000002
【特許請求の範囲】
【請求項１】
第１ボリュームと第２ボリュームを備える記憶システムにおいて、
前記第１ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
前記所望時刻以降に前記第１ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第１ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第２ボリュームにコピーされていない場合、前記ターゲットとされた記憶領域に記録されているデータを前記第２ボリュームにコピーする同期コピー手段と、
前記所望時刻以降に前記第１ボリューム内の将来のアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第２ボリュームにコピーされていない場合、前記予測された記憶領域に記録されているデータを前記第２ボリュームにコピーする先行コピー手段とを備えた記憶システム。
【請求項２】
第１ボリュームと第２ボリュームを備える記憶システムにおいて、
前記第１ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
前記所望時刻以降に前記第２ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第２ボリューム内の前記ターゲットとされた記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットとされた記憶領域にコピーされていない場合、前記ターゲットとされた記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータを前記第２ボリューム内の前記ターゲットとされた記憶領域にコピーする同期コピー手段と、
前記所望時刻以降に前記第２ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測される記憶領域にコピーされていない場合、前記予測された記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする先行コピー手段とを備えた記憶システム。
【請求項３】
請求項１又は２に記載の記憶システムにおいて、
前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを前記第１ボリュームにリストアすることを要求するリストア要求を受けた場合において、
前記リストア要求を受けた時点以降に前記第１ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第１ボリューム内の前記ターゲットとされた記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットにされた記憶領域にコピーされていないと見なされる場合前記ターゲットとされた記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータを前記ターゲットとされた記憶領域にコピーする第２の同期コピー手段と、
前記リストア要求を受けた時点以降に前記第１ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていないと見なされる場合、前記予測された記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする第２の先行コピー手段とを更に備えた記憶システム。
【請求項４】
請求項１又は２に記載の記憶システムにおいて、
前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを前記第１ボリュームにリストアすることを要求するリストア要求を受けた場合において、
前記リストア要求を受けた時点以降に前記第２ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第２ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第１ボリュームにコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に記録されているデータを前記第１ボリュームにコピーする第２の同期コピー手段と、
前記リストア要求を受けた時点以降に前記第２ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第１ボリュームにコピーされていないと見なされる場合、前記予測された記憶領域に記録されているデータを前記第１ボリュームにコピーする第２の先行コピー手段とを更に備えた記憶システム。
【請求項５】
請求項１又は２記載の記憶システムにおいて、
前記所望時刻以降にスナップショット取得のための先行コピー要求を受けた場合、前記第１ボリュームの全範囲又は指定された範囲の記憶領域について、前記先行コピー手段と同様のコピー動作を行なう第２の先行コピー手段を更に備えた記憶システム。
【請求項６】
請求項３又は４記載の記憶システムにおいて、
前記リストア要求を受けた時点以降にスナップショットリストアのための先行コピー要求を受けた場合、前記第２ボリュームの全範囲又は指定された範囲の記憶領域について、前記第２の先行コピー手段と同様のコピー動作を行なう第３の先行コピー手段を更に備えた記憶システム。
【請求項７】
請求項１又は２記載の記憶システムにおいて、
前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを読み出す場合において、
前記第１ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第２ボリュームにコピーされていないデータを選択的に読み出す手段と、
前記第２ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第１ボリュームからコピーされて来たデータを選択的に読み出す手段とを更に備えた記憶システム。
【請求項８】
第１ボリュームと第２ボリュームを備える記憶システムにおいて、前記第１ボリュームの所望時刻でのスナップショットを取得するための方法において、
前記所望時刻以降に前記第１ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第１ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第２ボリュームにコピーされていない場合、前記ターゲットとされた記憶領域に記録されているデータを前記第２ボリュームにコピーする同期コピーステップと、
前記所望時刻以降に前記第１ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第２ボリュームにコピーされていない場合、前記予測された記憶領域に記録されているデータを前記第２ボリュームにコピーする先行コピーステップとを備えた記憶システムにおけるスナップショット管理方法。
【請求項９】
第１ボリュームと第２ボリュームを備える記憶システムにおける、前記第１ボリュームの所望時刻でのスナップショットを取得するための方法において、
前記所望時刻以降に前記第２ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第２ボリューム内の前記ターゲットとされた記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットとされた記憶領域にコピーされていない場合、前記ターゲットとされた記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータを前記第２ボリューム内の前記ターゲットとされた記憶領域にコピーする同期コピーステップと、
前記所望時刻以降に前記第２ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていない場合、前記予測された記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする先行コピーステップとを備えた記憶システムにおけるスナップショット管理方法。
【請求項１０】
請求項８又は９に記載の方法において、
前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを前記第１ボリュームにリストアすることを要求するリストア要求を受けるステップと、
前記リストア要求を受けた時点以降に前記第１ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第１ボリューム内の前記ターゲットとされた記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットにされた記憶領域にコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータを前記ターゲットとされた記憶領域にコピーする第２の同期コピーステップと、
前記リストア要求を受けた時点以降に前記第１ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていないと見なされる場合、前記予測された記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする第２の先行コピーステップとを備えた記憶システムにおけるスナップショット管理方法。
【請求項１１】
請求項８又は９に記載の記憶システムにおいて、
前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを前記第１ボリュームにリストアすることを要求するリストア要求を受けるステップと、
前記リストア要求を受けた時点以降に前記第２ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第２ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第１ボリュームにコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に記録されているデータを前記第１ボリュームにコピーする第２の同期コピー手段と、
前記リストア要求を受けた時点以降に前記第２ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第１ボリュームにコピーされていないと見なされる場合、前記予測された記憶領域に記録されているデータを前記第１ボリュームにコピーする第２の先行コピーステップとを更に備えた記憶システムにおけるスナップショット管理方法。
【請求項１２】
コンピュータからの命令に応答してデータ書き込みや読み出しを行なう記憶領域を有する記憶システムであって、
前記記憶システムは、
前記コンピュータからの命令に応答して前記データの書き込みや読み出しを制御する記憶制御部と、
前記記憶領域内に定義された第１記憶領域と、
前記記憶領域内に定義され、前記第１記憶領域に対応付けられて前記第１記憶領域のある時点のデータイメージを仮想的に保持する第２記憶領域とを含み、
前記記憶制御部は、前記ある時点以降に前記第１記憶領域内のターゲット領域へのデータの書き込み命令を受領した場合に、この書き込み命令を実行する前の前記ターゲット領域上のデータを前記第２記憶領域にコピーする第１コピー手段を有し、
前記記憶制御部が、前記第２記憶領域に対する読み出し要求を受領した場合に、この読み出し要求を受けた領域が前記第１コピー手段によってデータのコピーがされた領域である場合には前記第１コピー手段によりコピーされたデータを読み出して出力し、この読み出し要求を受けた領域が、前記第１コピー手段よってデータのコピーがされていない領域である場合には、この領域に対応する前記第１の記憶領域からデータを読み出して出力することを特徴とする記憶システム。
【請求項１３】
請求項１２記載の記憶システムにおいて、
前記記憶制御部は、前記コンピュータから前記第１記憶領域内のターゲット領域への書き込みがシーケンシャル書き込みであるかどうかを判定する判定手段と、
前記判定手段の判定が、シーケンシャル書き込みであるという判定の場合には、前記ターゲット領域に連続する領域のデータを前記コンピュータからの書き込み要求の発生よりも先行して前記第２記憶領域にコピーする第２コピー手段とを有することを特徴とする記憶システム。
【発明の詳細な説明】
【０００１】
【発明が属する技術分野】
本発明は、計算機システムで用いられる記憶システムにおけるスナップショットの取得やリストアなどのスナップショット管理に関する。
【０００２】
【従来の技術】
この種の記憶システムの典型例として、例えば、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋ）の技術に従うディスクシステムがある。この種の記憶システムにおいて、例えば、障害に対する防護手段に利用するため、記憶内容を他の用途に転用するため、或いは、デバックとの関連において、或る記憶領域のスナップショット（特定の時点の記憶内容）を記録することが行なわれる。
【０００３】
従来のスナップショット作成方法の一つの典型は、特許文献１及び２に記載されているような二重化（ミラーリング）を用いた方法である。この方法では、オンライン操作が連続的に行なわれる通常の稼動中、全ての更新データが必ず２つのボリュームに重複して書き込まれている。そして、所望の時点で一方のボリュームがオンライン操作から切り離され、その切り離されたボリュームの内容が、他方のボリュームの上記所望時点でのスナップショットとして取得される。
【０００４】
【特許文献１】特開２００１−３０６４０７号公報
【特許文献２】特開２００１−３３１３７８号公報
【発明が解決しようとする課題】
従来の二重化によるスナップショット作成方法によると、更新データを常に二重化する処理負担により、記憶システムの上位装置へのレスポンスが低下し、結果として、計算機システム全体のスループットが下がってしまうという問題がある。
【０００５】
従って、本発明の目的は、二重化を用いない新規なスナップショット管理手法を提供することにある。
【０００６】
本発明の別の目的は、記憶システムのレスポンスを向上させ得る新規なスナップショット管理手法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の一つの観点に従う記憶システムは、第１ボリュームと第２ボリュームを備え、前記第１ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
前記所望時刻以降に前記第１ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第１ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第２ボリュームにコピーされていない場合、前記ターゲットとされた記憶領域に記録されているデータを前記第２ボリュームにコピーする同期コピー手段と、
前記所望時刻以降に前記第１ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第２ボリュームにコピーされていない場合、前記予測された記憶領域に記録されているデータを前記第２ボリュームにコピーする先行コピー手段とを備える。
【０００８】
本発明の別の観点に従う記憶システムは、第１ボリュームと第２ボリュームを備え、前記第１ボリュームの所望時刻でのスナップショットを取得することを要求するスナップショット取得要求を受けた場合において、
前記所望時刻以降に前記第２ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第２ボリューム内の前記ターゲットとされた記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットとされた記憶領域にコピーされていない場合、前記ターゲットとされた記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータを前記第２ボリューム内の前記ターゲットとされた記憶領域にコピーする同期コピー手段と、
前記所望時刻以降に前記第２ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測される記憶領域にコピーされていない場合、前記予測された記憶領域に対応する前記第１ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする先行コピー手段とを備える。
【０００９】
好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを前記第１ボリュームにリストアすることを要求するリストア要求を受けた場合において、
前記リストア要求を受けた時点以降に前記第１ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第１ボリューム内の前記ターゲットとされた記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記ターゲットにされた記憶領域にコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータを前記ターゲットとされた記憶領域にコピーする第２の同期コピー手段と、
前記リストア要求を受けた時点以降に前記第１ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータが前記所望時刻以降に前記予測された記憶領域にコピーされていないと見なされる場合、前記予測された記憶領域に対応する前記第２ボリューム内の記憶領域に記録されているデータを前記予測された記憶領域にコピーする第２の先行コピー手段とをさらに備えることができる。
【００１０】
また、別の好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを前記第１ボリュームにリストアすることを要求するリストア要求を受けた場合において、
前記リストア要求を受けた時点以降に前記第２ボリューム内のいずれかの記憶領域をターゲットとするデータアクセス要求を受け、前記第２ボリューム内の前記ターゲットとされた記憶領域に記録されているデータが前記所望時刻以降に前記第１ボリュームにコピーされていないと見なされる場合、前記ターゲットとされた記憶領域に記録されているデータを前記第１ボリュームにコピーする第２の同期コピー手段と、
前記リストア要求を受けた時点以降に前記第２ボリューム内の将来のデータアクセス要求のターゲットにされる記憶領域を予測し、前記予測された記憶領域に記録されているデータが前記所望時刻以降に前記第１ボリュームにコピーされていないと見なされる場合、前記予測された記憶領域に記録されているデータを前記第１ボリュームにコピーする第２の先行コピー手段とを更に備えることができる。
【００１１】
また別の好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻以降にスナップショット取得のための先行コピー要求を受けた場合、前記第１ボリュームの全範囲又は指定された範囲の記憶領域について、前記先行コピー手段と同様のコピー動作を行なう第２の先行コピー手段を更に備えることができる。
【００１２】
また更に別の好適な実施形態においては、本発明に従う記憶システムは、前記リストア要求を受けた時点以降にスナップショットリストアのための先行コピー要求を受けた場合、前記第２ボリュームの全範囲又は指定された範囲の記憶領域について、前記第２の先行コピー手段と同様のコピー動作を行なう第３の先行コピー手段を更に備えることができるた
更にまた別の好適な実施形態においては、本発明に従う記憶システムは、前記所望時刻より後に、前記第１ボリュームの前記所望時刻でのスナップショットを読み出す場合において、
前記第１ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第２ボリュームにコピーされていないデータを選択的に読み出す手段と、
前記第２ボリューム内の記憶領域に記録されているデータのうち、前記所望時刻以降に前記第１ボリュームからコピーされて来たデータを選択的に読み出す手段とを更に備えることができる。
【００１３】
本発明のまた別の観点に従う記憶システムは、コンピュータからの命令に応答してデータ書き込みや読み出しを行なう記憶領域を有する記憶システムであって、
前記コンピュータからの命令に応答して前記データの書き込みや読み出しを制御する記憶制御部と、
前記記憶領域内に定義された第１記憶領域と、
前記記憶領域内に定義され、前記第１記憶領域に対応付けられて前記第１記憶領域のある時点のデータイメージを仮想的に保持する第２記憶領域とを含み、
前記記憶制御部は、前記ある時点以降に前記第１記憶領域内のターゲット領域へのデータの書き込み命令を受領した場合に、この書き込み命令を実行する前の前記ターゲット領域上のデータを前記第２記憶領域にコピーする第１コピー手段を有し、
前記記憶制御部が、前記第２記憶領域に対する読み出し要求を受領した場合に、この読み出し要求を受けた領域が前記第１コピー手段によってデータのコピーがされた領域である場合には前記第１コピー手段によりコピーされたデータを読み出して出力し、この読み出し要求を受けた領域が、前記第１コピー手段よってデータのコピーがされていない領域である場合には、この領域に対応する前記第１の記憶領域からデータを読み出して出力する。
【００１４】
この記憶システムの好適な実施形態では、前記記憶制御部は、前記コンピュータから前記第１記憶領域内のターゲット領域への書き込みがシーケンシャル書き込みであるかどうかを判定する判定手段と、
前記判定手段の判定が、シーケンシャル書き込みであるという判定の場合には、前記ターゲット領域に連続する領域のデータを前記コンピュータからの書き込み要求の発生よりも先行して前記第２記憶領域にコピーする第２コピー手段とを有することができる。
【００１５】
本発明の更なる又はより具体的な目的及び特徴は、以下の実施形態の説明において述べられる。
【００１６】
【発明の実施の形態】
図１は、本発明の一実施形態に係る記憶システムの全体構成を示す。
【００１７】
図１に示すように、計算機システム１において、ホストコンピュータ又はクライアントコンピュータなどと呼ばれる上位装置２に対して、本発明の原理に従う記憶システム３が通信可能に接続されている。記憶システム３は、例えば、ＲＡＩＤ技術が適用されたディスクシステムであって、例えば複数個のディスク装置２２，２２，２２，２２を備えて、そこにデータを記録する。
【００１８】
このディスクシステム３は、ディスク装置２２，２２，２２，２２を制御するために、サービスプロセッサ（以下、ＳＰという）１２、１個又はそれ以上の数のチャンネルアダプタ（以下、ＣＨＡという）１４，１４、及び、１個又はそれ以上の数のディスクアダプタ（以下、ＤＫＡという）１６，１６などの複数のプロセッサを備え、これらのプロセッサ１２，１４，１４，１６，１６は内部ＬＡＮ１０を介して相互に通信可能になっている。また、ＣＨＡ１４，１４とＣＫＡ１６，１６には、それらプロセッサ間のデータの授受に使用されるキャッシュメモリ１８、及び、それらプロセッサ間のコマンド、応答、及びその他の制御情報の授受並びにワーク領域などの用途に使用される共有メモリ２０が接続されている。さらに、ＳＰ１２には、このディスクシステム３のマンマシンインタフェースであるコンソール２４が接続されている。
【００１９】
このディスクシステム３において、ＣＨＡ１４，１４の各々は、予め搭載されているコマンド処理用のプログラム３０に従って、主に、上位装置２からのコマンドの処理及び上位装置２とのデータ授受などのオペレーションを行なう。また、ＤＫＡ１６，１６の各々は、予め搭載されているディスク処理用のプログラム３２に従って、主に、ディスク装置２２，２２，２２，２２内のボリュームへ／からのデータの書き込み及び読み出し並びにボリューム間のデータの受け渡しなどのオペレーションを行なう。ＣＨＡ１４，１４とＤＫＡ１６，１６の相互間及びボリューム相互間などのデータの受け渡しは、キャッシュメモリ１８を介して行なわれる。
【００２０】
このディスクシステム３は、ＲＡＩＤ技術に従い、ディスク装置２２，２２，２２，２２の記録領域上に、複数又は多数の論理的なボリューム４０，４２を構築する。この明細書では、説明の便宜上、それら複数の論理ボリューム４０，４２の内の一つ４０を「正ボリューム」と呼び、別の一つ４２を「副ボリューム」と呼ぶ。正ボリューム４０は、典型的には、例えば、計算機システム１の業務に実際に使用されているオリジナルデータが記録されるボリュームである。一方、副ボリューム４２は、連続的なオンライン操作が行なわれる通常の状態において、正ボリューム４０のスナップショットを作成する目的で、正ボリューム４０内の一部又は全部のデータのコピーを記録するために用いられる。その意味で、正ボリューム４０と副ボリューム４２は互いに関係付けられており、正ボリューム４０内の記憶場所と副ボリューム４２内の記憶場所の間には１対１の対応関係がある。なお、図２に示した例では、１つの正ボリューム４０と副ボリューム４２のペアが存在するにすぎないが、通常は、用途や目的などの異なる複数又は多数の正ボリュームと副ボリュームのペアが存在する。しかし、以下の説明では、説明を簡単にするために、１つの正ボリューム４０と１つの副ボリューム４２のペアにのみ着目して説明する。
【００２１】
正ボリューム４０と副ボリューム４２の１ペアについて、２つのビットマップ３４、３６が共有メモリ２０上に設けられる。この明細書では、これらのビットマップの一方をＡビットマッ３４、他方をＢビットマップ３６と呼ぶ。Ａビットマップ３４及びＢビットマップ３６は、正ボリューム４０と副ボリューム２２の対応する記憶場所の全ペアにそれぞれ割り当てられた多数のビットから構成され、それらのビットの値により正ボリューム４０と副ボリューム２２に記録されている全てのデータの状態を表している。ただし、ビットマップ３４，３６の１ビットに対応するボリューム４０，４２内の１単位の記憶場所のサイズは、ボリューム４０、４２内のデータアクセスの対象としての１単位の記憶場所のサイズとは必ずしも一致しない。後に具体的に説明するように、Ａビットマップ３４及びＢビットマップ３６は、正ボリューム４０のスナップショットを取得したり、そのスナップショットの一部又は全部のデータを正ボリューム４２にリストアしたりするオペレーションを制御するために、ＣＨＡ１４，１４及び／又はＤＫＡ１６，１６によって参照され又は書き換えられる。
【００２２】
ＳＰ１２は、コンソール２４に入力されるユーザの指示などに従って、このディスクシステム３の環境設定や全体的制御などのオペレーションを行なったり、このディスクシステム３のステータスやその他の情報をコンソール２４の表示スクリーン（図示せず）に表示したりするものである。コンソール２４に入力されるユーザの指示に基づいてＳＰ１２が行なえる各種のオペレーションのうち、スナップショット管理に関するものとしては、例えば、後述する「先行コピー」の対象となる記憶領域の範囲の設定などのスナップショット管理に関する各種パラメータの設定、及び、スナップショット取得要求やスナップショットリストア要求などのスナップショット管理に関する各種要求の入力などがある。なお、上記のパラメータ設定や要求入力などのオペレーションは、上位装置２からも行なうことができる。
【００２３】
図２は、ディスクシステム３が行なうスナップショット管理の基本動作を示す。この基本動作は、ディスクシステム３の連続的なオンライン操作が続けられている通常の状態において、上位装置２からディスクシステム３へデータアクセス要求が発行される都度に実行される。この基本動作は、正ボリュームのスナップショットを取得するケースにも、スナップショットの一部又は全部のデータを正ボリュームにリストアするケースにも適用される。スナップショットの取得及びリストアの具体的なケースにおいて、この基本動作がどのように具体的に適用されるかは、後にケース毎に説明することとして、ここでは、図２に基づいてこの基本動作を総括的に説明する。
【００２４】
図２に示すように、上位装置２はディスクシステム３に対して、所望のボリューム内の所望の記憶領域（１又は複数の記憶場所）をターゲットにしたアクセス（読み出し（ＲＤ）又は書き込み（ＷＲ））の要求を出す。データアクセス要求のターゲットにされる記憶領域は、正ボリューム４０内のものである場合もあれば、副ボリューム４２内のものである場合もある。いずれの場合であっても、ディスクシステム３は、上位装置２からのデータアクセス要求に応答して、まず、ターゲットにされた記憶領域に関して「同期コピー」と呼ばれるコピー処理を行なう（ステップＳ１）。同期コピー処理（Ｓ１）は、スナップショットの取得又はリストアの目的で、データアクセス要求のターゲットにされた記憶領域についてのデータを、正ボリューム４０と副ボリューム４２の間で一方から他方へとコピーするオペレーションである。より具体的に述べると、正ボリューム４０のスナップショットを取得しているケースでは、矢印６４に示すように正ボリューム４０から副ボリューム４２へとコピーを行ない、他方、スナップショットの一部又は全部のデータをリストアしているケースでは、矢印６６に示すように副ボリューム４２から正ボリューム４０へとコピーを行なう。
【００２５】
同期コピー処理（Ｓ１）が終わった後、ディスクシステム３は、データアクセス要求のターゲットにされた記憶領域に対してアクセス処理（つまり、データのＲＤ又はＷＲ）を行なう（ステップＳ２）。言うまでも無いが、ターゲットにされた記憶領域が正ボリューム４０内にのものである場合には、矢印６０で示すように、正ボリューム４０内のその記憶領域に対してアクセス処理（Ｓ２）が行なわれるし、一方、ターゲットにされた記憶領域が副ボリューム４２内のものである場合には、矢印６２で示すように、副ボリューム４２内のその記憶領域に対してアクセス処理（Ｓ２）が行なわれる。アクセスの種類がランダムアクセスであるかシーケンシャルアクセスであるかに関わらず、同期コピー処理（Ｓ１）とアクセス処理（Ｓ４）は行なわれる。
【００２６】
さらに、現在行なわれているアクセスの種類がシーケンシャルアクセスである場合（そのようにディスクシステム３が予測した場合を含む）には（Ｓ３）、ディスクシステム３は、上述した一連の同期コピー処理（Ｓ１）とアクセス処理（Ｓ４）のオペレーションと並行的に又は逐次的に、「先行コピー」と呼ばれるコピー処理を実行する（Ｓ４）。この先行コピー処理（Ｓ４）は、スナップショットの取得又はリストアの目的で、データアクセス要求のターゲットにされた記憶領域に続いてこれからシーケンシャルにアクセスされると予測される記録領域の範囲（以下、シーケンシャルアクセス予測範囲という）についてのデータを、正ボリューム４０と副ボリューム４２の間で一方から他方へとコピーするオペレーションである。要するに、この先行コピー処理（Ｓ４）は、これからアクセスされることが相当の可能性をもって判っている記憶領域に対して、その記憶領域をターゲットにしたデータアクセス要求が実際に出されるより前に「先行して」、スナップショットの取得又はリストアのためのコピー処理を実行するものである。従って、或る記憶領域について一旦先行コピー処理（Ｓ４）が行なわれれば、将来その記憶領域をターゲットにしたデータアクセス要求が出された時には最早、その領域について同期コピー処理（Ｓ１）を行なう必要は無いのである。この先行コピー処理（Ｓ４）でも、上述した同期コピー処理（Ｓ１）と同様に、正ボリューム４０のスナップショットを取得しているケースでは、矢印６４に示すように正ボリューム４０から副ボリューム４２へとコピーが行なわれ、他方、スナップショットの一部又は全部のデータをリストアしているケースでは、矢印６６に示すように副ボリューム４２から正ボリューム４０へとコピーが行なわれる。
【００２７】
さて、上述した同期コピー処理（Ｓ１）又は先行コピー処理（Ｓ４）（すなわち、スナップショットの取得又はリストアを目的にしたコピー処理）がいずれかの記憶領域について一旦行なわれたならば、以後は、その同じ記憶領域についてその種のコピー処理を再度行なうべきではない。そこで、ディスクシステム３は、同期コピー処理（Ｓ１）をいずれかの記憶領域に関して行なおうとする際、及び、先行コピー処理（Ｓ４）をいずれかの記憶領域に関して行なおうとする際には、その記憶領域に関してその種のコピー処理が既に行なわれていたかどうかをチェックする。このチェックは、図１に示したビットマップ３４、３６を用いて行なうことができる（具体的方法は後述する）。このチェックの結果、その記憶領域に関して既にその種のコピー処理が行なわれていたならば、ディスクシステム３は、その記憶領域に関して同期コピー処理（Ｓ１）又は先行コピー処理（Ｓ４）をキャンセルする（実行しない）。従って、同期コピー処理（Ｓ１）及び先行コピー処理（Ｓ４）は、その種のコピー処理が未だ行なわれていない記憶領域に対してのみ実行されることになり、その種のコピー処理が既に行なわれている記憶領域に対して再度に実行されることはない。
【００２８】
このことを、簡単な例を用いて説明する。図２において、今、上位装置２から正ボリューム４０内の或る記憶領域をターゲットにしたシーケンシャルなアクセスの要求が出されたとする。そして、正ボリューム４０内に図示した範囲４４が、そのデータアクセス要求のターゲットにされた記憶領域と、その記憶領域に続くシーケンシャルアクセス予測範囲とを合わせた範囲（以下、シーケンシャルアクセス範囲という）であったとする。さらに、このシーケンシャルアクセス範囲４４の中には、既に同期コピー処理又は先行コピー処理が実行済みの領域（以下、既コピー領域という）４６と、未だその種のコピー処理が行なわれていない領域（以下、未コピー領域という）４８とがあるとする（なお、図示の例では、シーケンシャルアクセス範囲４４内には、単純に１つの既コピー領域４６と１つの未コピー領域４８しかないが、実際には、より複雑に複数の既コピー領域と複数の未コピー領域が入り混じっていることがある。）。
【００２９】
この場合、ディスクシステム３は、シーケンシャルアクセス範囲４４の内、データアクセス要求のターゲットになった記憶領域については同期コピー処理（Ｓ１）を行なおうとし、また、シーケンシャルアクセス予測範囲については先行コピー処理（Ｓ４）を行おうとするのであるが、その際、既コピー領域４６については同期コピー処理（Ｓ１）も先行コピー処理（Ｓ４）をキャンセルして、結局、未コピー領域４８についてのみこの種のコピー処理を実際に実行する。従って、例えば、データアクセス要求のターゲットになった記憶領域の全てが既コピー領域４６に入っていた場合には、同期コピー処理（Ｓ１）は全く行なわれないし、或いは、シーケンシャルアクセス予測範囲の全てが既コピー領域４６に入っていた場合には、先行コピー処理（Ｓ４）は全く行なわれない。
【００３０】
上記の例は、正ボリューム４０に対するシーケンシャルアクセスが上位装置２から要求されたケースの例であったが、副ボリューム４２に対してシーケンシャルアクセスが要求されるケースもある。そのケースにおいても、同期コピー処理（Ｓ１）及び先行コピー処理（Ｓ４）は、副ボリューム４２内のシーケンシャルケンシャルアクセス範囲５０のうちの未コピー領域５４についてのみ実行され、既コピー領域５２については実行されない。
【００３１】
このようにして、スナップショット取得又はリストアのためのコピー処理を未コピー処理４８についてのみ選択的に行なうことで、従来のデータを常時二重化しているミラーリングの方法に比較して、ディスクシステム３の処理負担が軽減する。
【００３２】
図３は、上述した同期コピー処理、アクセス処理及び先行コピー処理が実行されるタイミングの一例を示している。
【００３３】
図３に示すように、に、上位装置２からのデータアクセス要求を受けた時刻ｔ１から、直ちに、同期コピー処理（Ｓ１１）とアクセス処理（Ｓ１２）が逐次に行なわれる。アクセス処理（Ｓ１２）が終わった時点ｔ２（具体的には、ＷＲの場合には、ＣＨＡ１４が上位装置２から受け取ったＷＲデータをキャッシュメモリ１８に書き終わった時点、或るいは、ＲＤの場合には、ＣＨＡ１４がキャッシュメモリ１８からＲＤデータを読み込んだ時点）で、完了報告が上位装置２へ返される。その後、次のデータアクセス要求が上位装置から来ることになる。先行コピー処理（Ｓ１３）は、最初のデータアクセス要求を受けた時点ｔ１から次のデータアクセス要求を受ける時点ｔ３までの間の期間Ｔ１の中の可能なときに実行される。もし、データアクセス要求のターゲットとなった記憶領域と、先行コピー処理（Ｓ１３）の対象の記憶領域（シーケンシャルアクセス予測範囲）とが、同時にアクセス可能な物理的に異なる記憶メディアに存在するならば、先行コピー処理（Ｓ１３）は、同期コピー処理（Ｓ１１）又はアクセス処理（Ｓ１２）が行なわれている間にこれと並行して行なうことができる。また、データアクセス要求のターゲットとなった記憶領域と、シーケンシャルアクセス予測範囲とが、同時アクセスが不可能な物理的に同じ記憶メディアに存在するならば、先行コピー処理（Ｓ１３）は、アクセス処理（Ｓ１２）が終わった時点ｔ２と次のデータアクセス要求が来る時点ｔ３との間のインターバルに行なうことができる。いずれにせよ、先行コピー処理（Ｓ１３）を行なうことで、次のデータアクセス要求が来たときには、同期コピー処理をスキップして直ちにアクセス処理（Ｓ１４）に入ることができるので、より早くに上位装置へ完了報告を返すことができる。
【００３４】
このようにして、将来データアクセス要求が来る前に、そのデータアクセス要求のターゲットとされる記憶領域について先行コピー処理を行なうことで、ディスクシステム３の上位装置２に対するレスポンスが早くなる。
【００３５】
ところで、ディスクシステム３におけるアクセスの種類がシーケンシャルであるか否かの判断は、例えば次のような幾つかの方法で行なうことができる。１番目の方法は、上位装置２からのシーケンシャルアクセスを示すコマンドを受ける方法である。例えば、ＣＫＤ（Ｃｏｕｎｔ−Ｋｅｙ−Ｄａｔａ）方式の場合、Ｄｅｆｉｎｅ＿Ｅｘｔｅｎｔコマンドのパラメータを参照することで、シーケンシャルアクセスかどうかが判断できる。また、例えば、上位装置２がディスクシステム３に対してシーケンシャルアクセスか否かを明示する手段が現状では無いようなインタフェースを用いている場合でも、そのようなインタフェース（コマンド、信号など）を追加することもできる。
【００３６】
２番目の方法は、過去最近の複数回のアクセスがシーケンシャルアクセスである場合、今後もシーケンシャルアクセスがなわれるであろうと予測する方法である。例えば、ＳＣＳＩコマンド形式のデータアクセス要求の場合、先頭ＬＢＡ（論理ブロックアドレス）と転送データ長を用いてターゲットの記憶領域が指定されるから、連続して受けた複数のデータアクセス要求の先頭ＬＢＡと転送データ長が連続した記憶領域を指定していれば、今後もシーケンシャルアクセスが行なわれると予測できる。或いは、例えば、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）の場合、データアクセス要求はファイル識別子とそのファイルの先頭ＬＢＡからのと転送データ長とを用いてターゲットの記憶領域を指定しているから、連続して受けた複数のデータアクセス要求の先頭ＬＢＡとオフセットと転送データ長が連続した記憶領域を指定していれば、今後もシーケンシャルアクセスが行なわれると予測できる。
【００３７】
また、先行コピー処理の対象となるシーケンシャルアクセス予測範囲の決定は、例えば次のような方法で行なうことができる。１番目の方法は、ユーザ又は上位装置２がこの範囲の大きさ（又は、大きさを決めるためのパラメータなど）を予め設定しておく方法である。例えば、図１に示したコンソール２４からユーザが又は上位装置２が、任意のＬＢＡ数をシーケンシャルアクセス予測範囲として設定しておくことで、データアクセス要求がきたとき、データアクセス要求のターゲットとなった記憶領域から続く、設定されたＬＢＡ数分の範囲を、先行コピー処理の対象として決定することができる。或いは、例えばＮＡＳの場合のように、データアクセス要求のターゲットのファイルが指定される場合、図１に示したコンソール２４からユーザ又は上位装置２が、シーケンシャルアクセス予測範囲の大きさとして例えば「ファイル全体」と設定しておくことで、データアクセス要求がきたとき、ターゲットのファイルが格納された記憶領域の全てを先行コピー処理の対象とすることができる。
【００３８】
２番目の方法は、ユーザ又は上位装置２が、シーケンシャルアクセスの範囲又はその範囲の大きさ（又は、大きさを決めるためのパラメータなど）を、ボリュームアクセス要求時などのコピー処理を行なうべき機会の都度に、ディスクシステム３に指定する方法である。例えば、上位装置２がシリンダ番号とヘッド番号、ＬＢＡ、又はファイル識別子などを用いてシーケンシャルアクセス範囲を指定すると、ディスクシステム３が指定されたその範囲について先行コピーを行なうようにすることができる。
【００３９】
３番目の方法は、過去にシーケンシャルにアクセスされた範囲の大きさに基づいて、期待可能性の高いシーケンシャルアクセス範囲の大きさを学習する方法である。例えば、そのようにして期待可能性の高いＬＢＡ数を学習しておき、データアクセス要求がきたとき、データアクセス要求のターゲットとなった記憶領域から続く、学習したＬＢＡ数分の範囲を、先行コピー処理の対象として決定することができる。
【００４０】
以上、スナップショット管理の基本動作を説明したので、以下では、幾つかの具体的なケースについて、より具体的な動作を説明する。
【００４１】
まず、正ボリューム４０のスナップショットを取得するケースの一典型例について説明する。図４は、このケースにおけるディスクシステム３１の概略的な動作の流れを示す。
【００４２】
上位装置２は、正ボリューム４０の所望時点でのスナップショットを取得する要求（以下、スナップショット取得要求という）を、ディスクシステム３に与えることができる。また、ユーザもコンソール２４を操作することで、所望時点でのスナップショットの取得要求をディスクシステム３に与えることができる。ディスクシステム３は、受信したスナップショット取得要求に応答して、上記所望時点（スナップショット取得要求で指定された将来の特定時点でもよいし、或いは、スナップショット取得要求を受信した時点でもよく、以下、所望スナップショット時点という）以降、正ボリューム４０に対するデータ書き込み要求（以下、ＷＲ要求という）を上位装置２から受ける都度、図４に示す動作を実行する。
【００４３】
図４に示すように、ディスクシステム３は、受け取った正ボリューム４０に対するＷＲ要求に応答して、まず、正ボリューム４０内のＷＲ要求のターゲットになった記憶領域について同期コピー処理（Ｓ１）を行なう。但し、上記所望スナップショット時点から現時点までの間に、そのターゲットになった記憶領域についてスナップショット取得のためのコピー処理が未だ実行されていなかった場合にのみ、同期コピー処理（Ｓ１）が実行される。この同期コピー処理（Ｓ１）では、正ボリューム４０内の上記ターゲットになった記憶領域に現在記録されているデータ（つまり、上記所望スナップショット時点で記録されていたデータ）が、矢印６４で示すように、副ボリューム４２の対応する記憶領域にコピーされる。
【００４４】
この同期コピー処理（Ｓ１）の後、ディスクシステム３は、そのターゲットになった記憶領域に、上位装置２から受領した新しいデータを書き込む（Ｓ２）。
【００４５】
さらに、今回のアクセスがシーケンシャルアクセスであると判断された場合（Ｓ３）、ディスクシステム３は、正ボリューム４０のシーケンシャルアクセス予測範囲について先行コピー処理を行なう（Ｓ４）。但し、シーケンシャルアクセス予測範囲の中で、上記所望スナップショット時点から現時点までの間に未だスナップショット取得のためのコピー処理が実行されていない記憶領域についてのみ、先行コピー処理（Ｓ４）が実行される。この先行コピー処理（Ｓ４）では、正ボリューム４０内の対象の記憶領域に現在記録されているデータ（つまり、上記所望スナップショット時点で記録されていたデータ）が、矢印６４で示すように、副ボリューム４２の対応する記憶領域にコピーされる。
【００４６】
結局、正ボリューム４０内の上記ターゲットとなった記憶領域とこれに続くシーケンシャルアクセス領域とを合わせた範囲を図示の範囲４４とすると、この範囲４４の内の未コピー領域４８に記録されていたデータだけが、上記同期コピー処理（Ｓ４）及び先行コピー処理（Ｓ４）によって、副ボリューム４２内の対応する記憶領域５４にコピーされることになる。
【００４７】
以後、後続のＷＲ要求が来る都度に、上記の一連のオペレーション（Ｓ１〜Ｓ４）が繰り返し実行される。
【００４８】
図５は、上述の図４に示した動作の結果取得されるスナップショットの構成を示す。
【００４９】
図５に示すように、正ボリューム４０内の全ての記憶領域８０及び８２の内、所望スナップショット時点以後に新データが書き込まれた記憶領域（以下、既ＷＲ領域という）８０については、そこの上記所望スナップショット時点での旧データは、上述した同期又は先行コピー処理（矢印８４）によって、副ボリューム４２の対応する記憶領域８６に退避されて保持されている。他方、正ボリューム４０中で未だ新データが書き込まれていない記憶領域（以下、既ＷＲ領域という）８２には、上記所望スナップショット時点での旧データが依然として保持されたままである。従って、副ボリューム４２内の上記対応する記憶領域８６に記録されているデータと、正ボリューム４０内の未ＷＲ領域８２に記憶されているデータとを合わせたものが、正ボリューム４０の上記所望スナップショット時点でのスナップショット９０である。このように、スナップショット９０は、正ボリューム４０と副ボリューム４２に分かれて保持されている。
【００５０】
このスナップショット９０を利用する必要が生じたとき（例えば、バックアップコピーを作成するとき）には、副ボリューム４２内の上記対応する記憶領域８６と正ボリューム４０内の未ＷＲ領域８２とからデータが読み出され（矢印９２，９４）て、スナップショット利用処理９６へ送られる。
【００５１】
図６は、図４に概略的に示したオペレーションにおけるビットマップ３４，３６の使い方をより具体的に表したものである。
【００５２】
図６に示すように、ディスクシステム３は、スナップショット取得要求を受けると（Ｓ２１）、その所望スナップショット時点において、ビットマップ初期化処理（Ｓ２２）を行なう。このビットマップ初期化処理（Ｓ２２）では、Ａビットマップ３４の全てのビットを値「０」にセットし、Ｂビットマップ３６の全てのビットを値「１」にセットする。
【００５３】
ここで、Ａビットマップ３４内の全てのビットは、既に説明したように、正ボリューム４０内の全ての記憶場所に対応する（当然、副ボリューム４２内の全ての記憶場所にも対応している）。同様に、Ｂビットマップ３６内の全てのビットも、正ボリューム４０内の全ての記憶場所に対応している（当然、副ボリューム４２内の全ての記憶場所にも対応している）。そして、Ａビットマップ３４内の各ビットは、正ボリューム４０内の対応する記憶場所に記録されているべきデータが、その記憶場所に記録されているのか（ビット値「０」）、副ボリューム４２内の対応する記憶場所に記録されているのか（ビット値「１」）という状態を表している。また、Ｂビットマップ３６内の各ビットは、副ボリューム４２内の対応する記憶場所に記録されているべきデータが、その記憶場所に記録されているのか（ビット値「０」）、正ボリューム４０内の対応する記憶場所に記録されているのか（ビット値「１」）という状態を表している。
【００５４】
従って、上述のビットマップ初期化処理（Ｓ２２）で全てのビット値が「０」がセットされたＡビットマップ３４は、正ボリューム４０内の全ての記憶場所に記録されているべきデータは正しくその記憶場所に記録されている、という状態を表している。また、上述のビットマップ初期化処理（Ｓ２２）で全てのビット値が「１」にセットされたＢビットマップ３６は、副ボリューム４２内の全ての記憶場所に記録されているべきデータは正ボリューム４０内の方に記録されている、という状態を表している。
【００５５】
この状態から出発して、以後、ディスクシステム３は、ＷＲ要求を受ける都度に、ステップＳ２３〜Ｓ２５のオペレーション（図４に示した同期コピー処理とＷＲ処理に相当する）と、ステップＳ２６〜Ｓ２８のオペレーション（図４に示したシーケンシャル判断と先行コピー処理に相当する）を行なう。ステップＳ２６〜Ｓ２８のオペレーションは、ステップＳ２３〜Ｓ２５のオペレーションとは並行的に又は逐次的に行なわれる。
【００５６】
ステップＳ２３では、ディスクシステム３は、正ボリューム４０内のデータを書き込むべき記憶場所７０について、同期コピー処理の要否を、Ｂビットマップ３６の対応するビット値（図中、アンダーラインを付したビット値）に基づいて判断する。そのビット値が「１」であれば（図４の未コピー領域４８に属することを意味する）、コピー必要と判断され、ビット値が「０」であれば（図４の既コピー領域４６に属することを意味する）、コピー不要と判断される。上記ビットマップ初期化処理（Ｓ２２）の直後は、Ｂビットマップ３６の全てのビット値が「１」であるから、どの記憶領域についてもコピー必要と判断されるが、以後、いずれかの記憶場所についてコピー処理が一旦行なわれると、後述するように、その記憶場所に対応するビット値が「０」に更新されるので、コピー不要と判断されることになる。
【００５７】
ステップＳ２４では、ディスクシステム３は、上記ステップＳ２３でコピー必要と判断された場合に限り、正ボリューム４０内のデータを書き込むべき記憶場所７０の現在のデータを、副ボリューム４２内の対応する記憶場所７２にコピーするとともに、Ｂビットマップ３６の対応するビット値（図中、アンダーラインを付したビット値）を「１」から「０」に書き換える。
【００５８】
ステップＳ２５では、ディスクシステム３は、正ボリューム４０内のデータを書き込むべき記憶場所７０に、上位装置２から受け取った新しいデータを書き込む。
【００５９】
ステップＳ２６では、ディスクシステム３は、現在のＷＲがシーケンシャルＷＲであるか否かを判断する。
【００６０】
ステップＳ２７では、ディスクシステム３は、上記ステップＳ２６でシーケンシャルＷＲ  であると判断された場合に限り、正ボリューム４０のシーケンシャルＷＲ予測範囲７４を決定し、そのシーケンシャルＷＲ予測範囲７４の各記憶場所について、先行コピーの要否を、Ｂビットマップ３６の対応するビット値（図中、アンダーラインを付したビット値）に基づいて判断する。そのビット値が「１」であれば（図４の未コピー領域４８に属することを意味する）、コピー必要と判断され、ビット値が「０」であれば（図４の既コピー領域４６に属することを意味する）、コピー不要と判断される。
【００６１】
ステップＳ２８では、ディスクシステム３は、シーケンシャルＷＲ予測範囲７４の内の上記ステップＳ２３でコピー必要と判断された記憶場所の現在のデータを、副ボリューム４２内の対応する記憶場所７６にコピーするとともに、Ｂビットマップ３６の対応するビット値（図中、アンダーラインを付したビット値）を「１」から「０」に書き換える。
【００６２】
図７は、図４に概略的に示したオペレーションにおけるディスクシステム３内のＣＨＡ１４とＤＫＡ１６の役割分担をより具体的に表したものである。
【００６３】
図７に示すように、ディスクシステム３内のＣＨＡ１４は、上位装置２よりＷＲ要求を受信すると（Ｓ４０）、正ボリューム４０のＷＲ要求のターゲットとなった記憶場所について同期コピー処理の要否を、Ｂビットマップ３６の対応するビット値を参照して判定し（Ｓ４２）、コピー必要と判断した場合には、ＤＫＡ１６に対して同期コピー処理を要求する。これに応答して、ＤＫＡ１６は、要求された同期コピー処理を実行し（Ｓ６０）、Ｂビットマップ３６の対応するビット値を更新する。
【００６４】
また、ＣＨＡ１４は、今回のＷＲがシーケンシャルＷＲであるか否かを判定し（Ｓ４４）、シーケンシャルＷＲである場合には、シーケンシャルＷＲ予測範囲を決定し、そのシーケンシャルＷＲ予測範囲内の各記憶場所について先行コピーの要否を、Ｂビットマップ３６の対応するビット値を参照して判定し（Ｓ４６）、コピー必要と判定された記憶場所についてのみ、ＤＫＡ１６に対して先行コピー処理を要求する。これに応答して、ＤＫＡ１６は、要求された先行コピー処理を実行し（Ｓ６２）、Ｂビットマップ３６の対応するビット値を更新する。
【００６５】
また、ＣＨＡ１４は、上述したステップＳ４２でＤＫＡ１６に対して同期コピー処理を要求しなかった場合には、上述したステップＳ４２の後直ちに、或るいは、上述したステップＳ４２でＤＫＡ１６に同期コピー処理を要求した場合には、その同期コピー処理が終わった後直ちに、上位装置２に対して書き込むべきデータ（ＷＲデータ）を要求する（Ｓ５０）。そして、上位装置２からＷＲデータを受領すると（Ｓ５２）、ＣＨＡ１４は、受信したＷＲデータをキャッシュメモリ１８に書き込んで、ＤＫＡ１６に対してＷＲ処理を依頼する。その後、ＤＫＡ１６は、キャッシュメモリ１８からＷＲデータを読み出して、正ボリューム４０内のターゲットとな記憶場所に書き込む（Ｓ６４）。
【００６６】
上述したステップＳ５２でＤＫＡ１６に対してＷＲ処理を依頼すると、ＣＨＡ１４は、完了報告を上位装置２へ送る（Ｓ５４）。上位装置２は、完了報告を受けて、今回のＷＲ処理が完了したことを認識する（Ｓ３４）。
【００６７】
以上、正ボリューム４０のスナップショットを取得するケースの一典型例について説明した。
【００６８】
次に、上記のようにして取得されたスナップショットを正ボリューム４０にリストア（戻しコピー）するケースの一典型例について説明する。図８は、このケースにおけるディスクシステム３１の概略的な動作の流れを示す。
【００６９】
所望スナップショット時点以後の所望の時点で、上位装置２は、スナップショットのリストアの要求（以下、リストア要求という）をディスクシステム３に与えることができ、ユーザもコンソール２４を操作することで、リストア要求をディスクシステム３に与えることができる。例えば、正ボリューム４０内の或る記憶領域に間違ったデータを書き込んでしまったような時、リストア要求をディスクシステム３に与えることができる。ディスクシステム３は、リストア要求を受信すた時点（以下、所望リストア時点という）で、上述したスナップショット取得のためのオペレーションを終了し、以後は、上位装置２から正ボリューム４０に対するＲＤ又はＷＲの要求（以下、ＲＤ／ＷＲ要求という）を受ける都度、図８に示すスナップショットのリストアのためのオペレーションを実行する。
【００７０】
図８に示すように、ディスクシステム３は、上位装置２からの正ボリューム４０に対するＲＤ／ＷＲ要求に応答して、まず、正ボリューム４０内のＲＤ／ＷＲ要求のターゲットになった記憶領域について同期コピー処理（Ｓ１）を行なう。但し、上記所望スナップショット時点から現時点までの間に、そのターゲットになった記憶領域についてリストアのためのコピー処理が未だ実行されていなかったと「見なされる」場合にのみ（後述するように、上記所望リストア時点で未だスナップショット取得のためのコピー処理が実行されていなかった記憶領域については、以後にリストアのためのコピー処理が実行されていなくても、リストアのためのコピー処理が既に実行されていたと「見なされる」）、同期コピー処理（Ｓ１）が実行される。この同期コピー処理（Ｓ１）では、正ボリューム４０内の上記ターゲットになった記憶領域に対応する副ボリューム４２内の記憶領域に現在記録されているデータ（これは、上記ターゲットになった記憶領域のスナップショットである）が、矢印６６で示すように、正ボリューム４０の上記ターゲットになった記憶領域にコピーされる。
【００７１】
この同期コピー処理（Ｓ１）の後、ディスクシステム３は、そのターゲットになった記憶領域に対して上位装置２から要求されたＲＤ処理又はＷＤ処理を行なう（Ｓ２）。
【００７２】
さらに、今回のアクセスがシーケンシャルアクセスであると判断された場合（Ｓ３）、ディスクシステム３は、正ボリューム４０のシーケンシャルアクセス予測範囲について先行コピー処理を行なう（Ｓ４）。但し、シーケンシャルアクセス予測範囲の中で、上記所望スナップショット時点から現時点までの間に未だリストアのためのコピー処理が実行されていないと「見なされる」記憶領域についてのみ（後述するように、上記所望リストア時点で未だスナップショット取得のためのコピー処理が実行されていなかった記憶領域については、以後にリストアのためのコピー処理が実行されていなくても、スナップショットリストアのためのコピー処理が既に実行されていたと「見なされる」）、先行コピー処理（Ｓ４）が実行される。この先行コピー処理（Ｓ４）では、正ボリューム４０内の対象の記憶領域に対応する副ボリューム４２内の記憶領域に現在記録されているデータ（これは、上記対象の記憶領域のスナップショットである）が、矢印６４で示すように、正ボリューム４０の上記対象の記憶領域にコピーされる。
【００７３】
結局、正ボリューム４０内の上記ターゲットとなった記憶領域とこれに続くシーケンシャルアクセス領域とを合わせた範囲を図示の範囲４４とすると、この範囲４４の内の未コピー領域（すなわち、リストアのためのコピー処理が未実行と「見なされた」領域）４８に対してだけ、上記同期コピー処理（Ｓ４）及び先行コピー処理（Ｓ４）によって、副ボリューム４２内の対応する記憶領域５４から、スナップショットのデータがコピーされることになる。
【００７４】
以後、後続のＲＤ／ＷＲ要求が来る都度に、上記の一連のオペレーション（Ｓ１〜Ｓ４）が繰り返し実行される。
【００７５】
図９は、図８に概略的に示したオペレーションにおけるビットマップ３４，３６の使い方をより具体的に表したものである。
【００７６】
図９に示すように、ディスクシステム３は、リストア要求を受けると（Ｓ７１）、まず、ビットマップ初期化処理（Ｓ７２）を行なう。このビットマップ初期化処理（Ｓ７２）では、Ｂビットマップ３６の全てのビット値の反転値を、Ａビッマップ３４の全てのビット値にそれぞれセットする。Ｂビットマップ３６では、所望リストア時点において、正ボリューム４０内の対応する記憶場所のスナップショットが副ボリュームの対応する記憶場所に記録されているビット値は「０」になっており、そのスナップショットが副ボリューム４０に未だコピーされていない（つまり、正ボリューム４０内の対応する記憶場所に依然として記録されている）のビット値は「１」になっている。よって、Ｂビットマップ３６の反転をＡビットマップ３４にセットすることによって、Ａビッマップ３４では、所望リストア時点において、正ボリューム４０内の対応する記憶場所のスナップショットが副ボリュームの対応する記憶場所に記録されているビット値は「１」になり、正ボリューム４０内の対応する記憶場所のスナップショットがその記憶場所に依然として記録されているビット値は「０」になる。
【００７７】
この状態から出発して、以後、ディスクシステム３は、ＲＤ／ＷＲ要求を受ける都度に、ステップＳ７３〜Ｓ７５のオペレーション（図８に示した同期コピー処理とＲＤ／ＷＲ処理に相当する）と、ステップＳ７６〜Ｓ７８のオペレーション（図８に示したシーケンシャル判断と先行コピー処理に相当する）を行なう。ステップＳ７６〜Ｓ７８のオペレーションは、ステップＳ７３〜Ｓ７５のオペレーションとは並行的に又は逐次的に行なわれる。
【００７８】
ステップＳ７３では、ディスクシステム３は、正ボリューム４０内のＲＤ／ＷＲのターゲットとなった記憶場所１００について、同期コピー処理の要否を、Ａビットマップ３４の対応するビット値（図中、アンダーラインを付したビット値）に基づいて判断する。そのビット値が「１」であれば、そのターゲットとなった記憶場所１００のスナップショットが副ボリューム４２に記録されていることを意味する（換言すれば、リストアのためのコピー処理が未実行であると見なされる）から、コピー必要と判断さる。他方、そのビット値が「０」であれば、そのターゲットとなった記憶場所１００のスナップショットが既にその記憶場所に記録されていることを意味する（換言すれば、リストアのためのコピー処理が既に実行されたと見なされる）から、コピー不要と判断される。
【００７９】
ステップＳ７４では、ディスクシステム３は、上記ステップＳ７３でコピー必要と判断された場合に限り、正ボリューム４０内の上記ターゲットとなった記憶場所１００に、副ボリューム４２内の対応する記憶場所１０２に記録されているスナップショットのデータをコピーする（リストアする）とともに、Ａビットマップ３４の対応するビット値（図中、アンダーラインを付したビット値）を「１」から「０」に書き換える。
【００８０】
ステップＳ７５では、ディスクシステム３は、正ボリューム４０内の上記ターゲットとなった記憶場所１００に対して、上位装置２から要求されたＲＤ／ＷＲ処理を行なう。
【００８１】
ステップＳ７６では、ディスクシステム３は、現在のアクセスがシーケンシャルであるか否かを判断する。
【００８２】
ステップＳ７７では、ディスクシステム３は、上記ステップＳ７６でシーケンシャルアクセスであると判断された場合に限り、正ボリューム４０のシーケンシャルアクセス予測範囲１０４を決定し、そのシーケンシャルアクセス予測範囲１０４の各記憶場所について、先行コピーの要否を、Ａビットマップ３４の対応するビット値（図中、アンダーラインを付したビット値）に基づいて判断する。そのビット値が「１」であれば、リストアのためのコピー処理が未実行であると見なされるから、コピー必要と判断される。一方、ビット値が「０」であれば、リストアのためのコピー処理が既に実行されたと見なされるから、コピー不要と判断される。
【００８３】
ステップＳ７８では、ディスクシステム３は、シーケンシャルアクセス予測範囲１０４の内の上記ステップＳ７３でコピー必要と判断された記憶場所に対してのみ、副ボリューム４２内の対応する記憶場所に記録されていたスナップショットのデータをコピーするとともに、Ａビットマップ３４の対応するビット値（図中、アンダーラインを付したビット値）を「１」から「０」に書き換える。
【００８４】
図１０は、図８に概略的に示したオペレーションにおけるディスクシステム３内のＣＨＡ１４とＤＫＡ１６の役割分担をより具体的に表したものである。
【００８５】
図１０に示すように、ディスクシステム３内のＣＨＡ１４は、上位装置２よりＲＤ／ＷＲ要求を受信すると（Ｓ９０）、正ボリューム４０のＲＤ／ＷＲ要求のターゲットとなった記憶場所について同期コピー処理の要否を、Ａビットマップ３４の対応するビット値を参照して判定し（Ｓ９２）、コピー必要と判断した場合には、ＤＫＡ１６に対して同期コピー処理を要求する。これに応答して、ＤＫＡ１６は、要求された同期コピー処理を実行し（Ｓ１１０）、Ａビットマップ３４の対応するビット値を更新する。
【００８６】
また、ＣＨＡ１４は、今回のＲＤ／ＷＲがシーケンシャルアクセスであるか否かを判定し（Ｓ９４）、シーケンシャルアクセスである場合には、シーケンシャルアクセス予測範囲を決定し、そのシーケンシャルアクセス予測範囲内の各記憶場所について先行コピーの要否を、Ａビットマップ３４の対応するビット値を参照して判定し（Ｓ９６）、コピー必要と判定された記憶場所についてのみ、ＤＫＡ１６に対して先行コピー処理を要求する。これに応答して、ＤＫＡ１６は、要求された先行コピー処理を実行し（Ｓ１１２）、Ｂビットマップ３６の対応するビット値を更新する。
【００８７】
また、ＣＨＡ１４は、上述したステップＳ９２でＤＫＡ１６に対して同期コピー処理を要求しなかった場合には、上述したステップＳ９２の後直ちに、或るいは、上述したステップＳ９２でＤＫＡ１６に同期コピー処理を要求した場合には、その同期コピー処理が終わった後直ちに、要求されたＲＤ又はＷＲのオペレーションを行なう。ＷＲのオペレーションは、上述した図７に示したステップＳ５０以下と同様なので、ここでは、ＲＤのオペレーションを説明する。まず、ＣＨＡ１４は、ＤＫＡ１６に対してデータＲＤを要求する（Ｓ９８）。これに応答してＤＫＡ１６は、正ボリューム４０の上記ターゲットとなった記憶領域からＲＤデータを読み出してキャッシュメモリ１８に書き込む（Ｓ１１４）。ＣＨＡ１８はキャッシュメモリ１８からデータを読み込み、上位装置２へ送る（Ｓ１００）。上位装置２は、ＲＤデータを受けて、今回のＷＲ処理が完了したことを認識する（Ｓ８２）。
【００８８】
以上が、スナップショットをリストアするケースにおける典型的なオペレーションである。
【００８９】
上述した２つの典型的ケースはいずれも、正ボリューム４０へのアクセスの際にスナップショットの取得又はリストアのためのコピー処理を行なうものであった。これに対し、副ボリューム４２へのアクセスの際にその種のコピー処理を行なうケースもあり得る。そのようなケースのオペレーション例を２つ、図１１及び図１２に示す。
【００９０】
図１１は、副ボリューム４２へのデータＷＲの際にスナップショットをリストアするケースのオペレーション例を示す。
【００９１】
図１１に示すように、ディスムシステム３が、リストア要求を受けた後、副ボリューム４２に対するＷＲ要求が来る都度に、副ボリューム４２内のＷＲ要求のターゲットとなった記憶領域及びそれに続くシーケンシャルＷＲ予測領域から、正ボリューム４０内の対応する記憶領域へと、スナップショットのリストアのためのコピー処理（Ｓ１、Ｓ４、矢印６６）を行なう。この場合も、コピー処理（Ｓ１、Ｓ４）は、図９で説明した同様の方法でビットマップ３４、３６を使うことにより、副ボリューム４２内のシーケンシャルＷＲ範囲５０のうちの未コピー領域（リストアのためのコピーが未だ実行されていないと見なされる領域）５４についてのみ行なわれる。
【００９２】
図１１に示したオペレーションを行なう用途としては、例えば開発用のテストデータを副ボリューム４２に書き込む場合などがある。
【００９３】
図１２は、副ボリューム４２へのデータＲＤ／ＷＲの際にスナップショットを取得するケースにおけるオペレーション例を示す。
【００９４】
図１２に示すように、ディスムシステム３が、スナップショット取得要求を受けた後、副ボリューム４２に対するＲＤ／ＷＲ要求が来る都度に、副ボリューム４２内のＲＤ／ＷＲ要求のターゲットとなった記憶領域及びそれに続くシーケンシャルＷＲ予測領域へ、正ボリューム４０内の対応する記憶領域に記録されているデータをコピーする（Ｓ１、Ｓ４）。この場合も、コピー処理（Ｓ１、Ｓ４）は、図６で説明した同様の方法でビットマップ３４、３６を使うことにより、副ボリューム４２内のシーケンシャルＲＤ／ＷＲ範囲５０のうちの未コピー領域（スナップショット取得のためのコピーが未だ実行されていないと領域）５４についてのみ行なわれる。
【００９５】
図１２に示したデータＲＤの際にスナップショット取得を行なうオペレーションの用途としては、例えばバックアップコピーを作成する場合などがある。また、データＷＲの際にスナップショット取得を行なうオペレーションの用途としては、例えば開発用のテストの場合などがある。
【００９６】
以上、幾つかの具体的なケースを説明したが、これらのケースはいずれも、ボリュームアクセスの際にスナップショット取得又はリストアのためのコピー処理を行なうものであった。しかし、その種のコピー処理は、ボリュームアクセスの際に実行せずに済むのであれば、ディスクシステム３のボリュームアクセス時のレスポンスは一層向上する。そこで、上述したボリュームアクセスの際のコピー処理に加えて又は代えて、ボリュームアクセスとは異なる契機で、その種のコピー処理を大量に先行的に実行しておくという方法も採用することができる。そのような別契機の先行コピー処理は、例えばボリュームアクセスの無い時間帯、或るいはボリュームアクセスの頻度が低いときのインターバルなどに纏めて実行すれば、効果的である。
【００９７】
図１３は、上述したボリュームアクセスとは別の契機で先行コピー処理を行なうケースにおけるディスクシステムのディスクシステム３の概略的なオペレーションの流れを示す。
【００９８】
図１３に示すように、ディスクシステム３は、任意の時点で上位装置２（又はコンソール２４）から正ボリューム４０のスナップショット取得のためのコピー要求を受けると、正ボリューム４０の全体範囲１００について、スナップショット取得のための先行コピー処理を実行する（Ｓ１２０）。但し、正ボリューム４０の全体範囲１００の中で、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されている既コピー領域１０２については先行コピー処理（Ｓ１２０）は省略され、未だそのコピー処理が実行されていない未コピー領域１０４についてのみ先行コピー処理（Ｓ１２０）が実行される。この先行コピー処理（Ｓ１２０）では、矢印１２０に示すように正ボリューム４０から副ボリューム４２へとデータがコピーされる。なお、既にスナップショット取得のためのコピー処理が実行されているか否かの判断は、既に図６を参照して説明したように、Ｂビットマップ３６の対応するビット値に基づいて行なうことができる。
【００９９】
また、ディスクシステム３は、任意の時点で上位装置２（又はコンソール２４）から正ボリューム４０のスナップショットのリストアのためのコピー要求を受けると、（もし、リストア要求を未だ受けていないならば、図９のステップＳ７２と同様にしてＡビットマップ３４を初期化した上で）正ボリューム４０の全体範囲１００について、リストアのための先行コピー処理を実行する（Ｓ１２０）。但し、正ボリューム４０の全体範囲１００の中で、所望スナップショット時点から現在までにリストアのためのコピー処理が既に実行されていると「見なされる」既コピー領域１０２については先行コピー処理（Ｓ１２０）は省略され、未だそのコピー処理が実行されていないと「見なされる」未コピー領域１０４についてのみ先行コピー処理（Ｓ１２０）が実行される。この先行コピー処理（Ｓ１２０）では、矢印１２２に示すように副ボリューム４２から正ボリューム４０へとデータがコピーされる。なお、既にリストアのためのコピー処理が実行されていると見なされるか否かの判断は、既に図９を参照して説明したように、Ａビットマップ３４の対応するビット値に基づいて行なうことができる。
【０１００】
上述した図１３のオペレーションでは、正ボリューム４０の全体を別契機先行コピー処理の対象としたが、別法として、別契機先行コピー処理の対象を、ボリューム内の指定された範囲に限定することもできる。図１４は、そのようなケースにおけるディスクシステムのディスクシステム３の概略的なオペレーションの流れを示す。
【０１０１】
図１４に示すように、ディスクシステム３は、任意の時点で上位装置２（又はコンソール２４）から、正ボリューム４０内の特定範囲を指定した範囲指定付きのスナップショット取得のためのコピー要求を受けると、正ボリューム４０内の指定された範囲１３０について、スナップショット取得のための先行コピー処理を実行する（Ｓ１２２）。但し、その指定範囲１３０の中で、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されている既コピー領域１３２については先行コピー処理（Ｓ１２２）は省略され、未だそのコピー処理が実行されていない未コピー領域１３４についてのみ先行コピー処理（Ｓ１２２）が実行される。この先行コピー処理（Ｓ１２２）では、矢印１５０に示すように正ボリューム４０から副ボリューム４２へとデータがコピーされる。なお、既にスナップショット取得のためのコピー処理が実行されているか否かの判断は、既に図６を参照して説明したように、Ｂビットマップ３６の対応するビット値に基づいて行なうことができる。また、上記範囲指定は、シリンダ番号とヘッド番号、ＬＢＡ、又はファイル識別子などを用いて行なうことができる。
【０１０２】
また、ディスクシステム３は、任意の時点で上位装置２（又はコンソール２４）から、正ボリューム４０内の特定の範囲を指定した範囲指定付きのスナップショットリストアのためのコピー要求を受けると、（もし、リストア要求を未だ受けていないならば、図９のステップＳ７２と同様にしてＡビットマップ３４を初期化した上で）正ボリューム４０の指定された範囲１３０についてリストアのための先行コピー処理を実行する（Ｓ１２２）。但し、その指定範囲１３０の中で、所望スナップショット時点から現在までにリストアのためのコピー処理が既に実行されていると「見なされる」既コピー領域１３２については先行コピー処理（Ｓ１２２）は省略され、未だそのコピー処理が実行されていないと「見なされる」未コピー領域１３４についてのみ先行コピー処理（Ｓ１２２）を実行される。この先行コピー処理（Ｓ１２２）では、矢印１５２に示すように副ボリューム４２から正ボリューム４０へとデータがコピーされる。なお、既にリストアのためのコピー処理が実行されていると見なされるか否かの判断は、既に図９を参照して説明したように、Ａビットマップ３４の対応するビット値に基づいて行なうことができる。
【０１０３】
最後に、バックアップを作成するためにスナップショットを読み出すときのオペレーションについて説明する。
【０１０４】
バックアップを作成するときには、上位装置２からディスクシステム３に対して副ボリューム４２のＲＤ要求が連続的に入ることになる。この場合、ディスクシステム３は、副ボリューム４２のＲＤ要求が入る都度に、図１２に示したオペレーションを行なうことにより、正ボリューム４０のスナップショットを副ボリューム４２にコピーしつつ、そのスナップショットを副ボリューム４２から読み出して、ディスクシステム３の外部又は内部に存在するバックアップ記録装置へ送ることができる。
【０１０５】
さて、バックアップを作成する場合、上記の図１２に示したオペレーションに代えて、図１５に示すようなオペレーションを行なうこともできる。
【０１０６】
図１５に示すように、バックアップを作成するときには、ディスクシステム３は、副ボリューム４２のＲＤ要求が入る都度に、そのＲＤ要求のターゲットとなった副ボリューム４２内の記憶領域について、この明細書で「ボリューム分散ＲＤ処理」と呼ぶＲＤ処理を行なう（Ｓ１３０）。このボリューム分散ＲＤ処理（Ｓ１３０）では、まず、そのターゲットとなった記憶領域について、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されているか否かがチェックされ、次いで、そのチェックの結果、そのコピー処理が既に実行されていれば、副ボリューム４２内のそのターゲットとなった記憶領域からデータが読み出され、他方、そのコピー処理が未だ実行されていなければ、そのターゲットとなった記憶領域に対応する正ボリューム４０内の記憶場所からデータが読み出される。このように、ボリューム分散ＲＤ処理（Ｓ１３０）では、今までのコピー処理の実行の有無に基づいて、正ボリューム４０と副ボリューム４２のいずれのボリュームにスナップショットのデータが記録されているかが判断されて、記録されている方のボリュームからデータが読み出されるのである。なお、今までのコピー処理の実行の有無は、既に説明した図６のステップＳ２３と同様に、Ｂビットマップ３６の対応するビット値で判断することができる。
【０１０７】
また上位装置２が要求するＲＤがシーケンシャルＲＤであると判断される場合（Ｓ１３２）（バックアップのためのＲＤは通常はシーケンシャルである）には、ディスクシステム３は、上記ターゲットとなった記憶領域についてのボリューム分散ＲＤ処理（Ｓ１３０）と並行的に又は逐次的に、上記ターゲットとなった記憶領域に続くシーケンシャルアクセス予想範囲ついて、この明細書で「ボリューム分散先行ＲＤ処理」と呼ぶＲＤ処理を行なうことができる（Ｓ１３４）。このボリューム分散ＲＤ処理（Ｓ１３０）では、まず、シーケンシャルアクセス予想範囲内の記憶場所の各々について、所望スナップショット時点から現在までにスナップショット取得のためのコピー処理が既に実行されているか否かがチェックされ、次いで、そのチェックの結果、そのコピー処理が既に実行されていれば、副ボリューム４２内のその記憶場所からデータが読み出され、他方、そのコピー処理が未だ実行されていなければ、その記憶場所に対応する正ボリューム４０内の記憶場所からデータが読み出される。このように、ボリューム分散先行ＲＤ処理（Ｓ１３４）においても、今までのコピー処理の実行の有無に基づいて、正ボリューム４０と副ボリューム４２のいずれのボリュームにスナップショットのデータが記録されているかが判断されて、記録されている方のボリュームからデータが読み出されるのである。なお、今までのコピー処理の実行の有無は、既に説明した図６のステップＳ２７と同様に、Ｂビットマップ３６の対応するビット値で判断することができる。
【０１０８】
図１３に示したオペレーションは、図１２に示したものと比較すると、データ操作の回数が少ないので処理負担が軽い。すなわち、図１２のオペレーションでは、バックアック作成が要求された時点で正ボリューム４０に依然として記録されているスナップショットのデータは、正ボリューム４０から副ボリューム４２とコピーされた後（すなわち、正ボリューム４０から読み出されて、副ボリューム４２書き込まれた後に）、副ボリューム４０から読み出される。これに対し、図１３に示したオペレーションでは、そのようなデータは正ボリューム４０から読み出されるだけであるから、図１２のオペレーションにおける副ボリューム４２への書き込みが省略されており、故に、処理負担が軽くなる。
【０１０９】
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であり、この実施形態のみに本発明の範囲を限定する趣旨ではない。従って、本発明は、その要旨を逸脱することなく、他の様々な形態で実施することが可能である。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る記憶システムの全体構成を示すブロック図。
【図２】ディスクシステム３が行なうスナップショット管理の基本動作を示す流れ図。
【図３】図２に示した同期コピー処理（Ｓ１）、アクセス処理（Ｓ２）及び先行コピー処理（Ｓ４）が実行されるタイミングの一例を示す図。
【図４】正ボリューム４０へのデータＷＲの際にスナップショットを取得するケースにおけるディスクシステム３の概略的なオペレーションの流れを示す図。
【図５】図４に示したオペレーションによって取得されるスナップショットの構成を示すブロック図。
【図６】図４に概略的に示したオペレーションにおけるビットマップ３４，３６の使い方をより具体的に表した流れ図。
【図７】図４に概略的に示したオペレーションにおけるディスクシステム３内のＣＨＡ１４とＤＫＡ１６の役割分担をより具体的に表した流れ図。
【図８】正ボリューム４０へのデータＲＤ／ＷＲの際にスナップショットを正ボリューム４０にリストア（戻しコピー）するケースにおけるディスクシステム３１の概略的なオペレーションの流れを示す図。
【図９】図８に概略的に示したオペレーションにおけるビットマップ３４，３６の使い方をより具体的に表した流れ図。
【図１０】図８に概略的に示したオペレーションにおけるディスクシステム３内のＣＨＡ１４とＤＫＡ１６の役割分担をより具体的に表した流れ図。
【図１１】副ボリューム４２へのデータＷＲの際にスナップショットをリストアするケースにおけるディスクシステム３１の概略的なオペレーションの流れを示す図。
【図１２】副ボリューム４２へのデータＲＤ／ＷＲの際にスナップショットを取得するケースにおけるディスクシステム３１の概略的なオペレーションの流れを示す図。
【図１３】ボリュームアクセスとは別の契機で先行コピー処理を行なうケースにおけるディスクシステム３１のの概略的なオペレーションの流れを示す図。
【図１４】ボリュームアクセスとは別の契機で先行コピー処理を行なう別のケースにおけるディスクシステム３１のの概略的なオペレーションの流れを示す図。
【図１５】バックアップ作成のためにデータＲＤを行なうケースにおけるディスクシステム３１のの概略的なオペレーションの流れを示す図。
【符号の説明】
１  計算機システム
２  上位装置
３  ディスクシステム（記憶システム）
１０  内部ＬＡＮ
１２  サービスプロセッサ（ＳＰ）
１４  チャンネルアダプタ（ＣＨＡ）
１６  ディスクアダプタ（ＤＫＡ）
１８  キャッシュメモリ
２０  共有メモリ
２２  ディスク装置
２４  コンソール
３４  Ａビットマップ
３６  Ｂビットマップ
４０  正ボリューム
４２  副ボリューム
４４  正ボリュームのシーケンシャルアクセス範囲
４６  正ボリュームのシーケンシャルアクセス範囲内の既コピー領域
４８  正ボリュームのシーケンシャルアクセス範囲内の未コピー領域
５０  副ボリュームのシーケンシャルアクセス範囲
５２  副ボリュームのシーケンシャルアクセス範囲内の既コピー領域
５４  副ボリュームのシーケンシャルアクセス範囲内の未コピー領域
１００  正ボリュームの全範囲
１０２  正ボリューム内の既コピー領域
１０４  正ボリューム内の未コピー領域
１１０  副ボリュームの全範囲
１１２  副ボリューム内の既コピー領域
１１４  副ボリューム内の未コピー領域
１３０  正ボリュームの指定範囲
１３２  正ボリュームの指定範囲内の既コピー領域
１３４  正ボリュームの指定範囲内の未コピー領域
１４０  副ボリュームの指定範囲
１４２  副ボリュームの指定範囲内の既コピー領域
１４４  副ボリュームの指定範囲内の未コピー領域
【図１】
2004272854.tif 000003
【図２】
2004272854.tif 000004
【図３】
2004272854.tif 000005
【図４】
2004272854.tif 000006
【図５】
2004272854.tif 000007
【図６】
2004272854.tif 000008
【図７】
2004272854.tif 000009
【図８】
2004272854.tif 000010
【図９】
2004272854.tif 000011
【図１０】
2004272854.tif 000012
【図１１】
2004272854.tif 000013
【図１２】
2004272854.tif 000014
【図１３】
2004272854.tif 000015
【図１４】
2004272854.tif 000016
【図１５】
2004272854.tif 000017