(57)【要約】【課題】  ストレージ装置で記憶ボリュームのデータについての複数の複製を作成する際に、処理装置から複数回の命令を発行する手間を削減でき、その際に関連する複数の記憶ボリュームのデータ整合性を保障できる技術を提供する。【解決手段】  処理装置４の複製管理プログラム４６から、コピー元となる論理ボリューム（ＬＵ）のデータとそのコピー先についての複数の指定情報を含む単一の複製命令が発行される。ストレージ装置１の制御装置５は、命令の受領に基づき、コピー元ボリュームＭとコピー先ボリュームＲとの複数のペアを含むグループについて更新や参照のアクセスが発生した場合におけるデータ整合性も保障しながら複製を作成する処理を行わせる複数複製作成プログラム２０を有する。退避ボリュームＳを設け、共用メモリ９に、コピー元退避情報２２とコピー先更新情報２３でデータの退避や更新の状態を識別・管理する。【選択図】  図６
2006031579.tif 000002
【特許請求の範囲】
【請求項１】
記憶装置と前記記憶装置の記憶領域にデータを記憶ボリュームとして記憶する制御を行う制御装置とを備え、通信手段を通じて接続される処理装置からの命令に基づき前記データの入出力を処理するストレージ装置であって、
前記処理装置の複製管理プログラムから、コピー元データとそのコピー先についての指定情報を含む単一の複製命令が発行され、
前記制御装置は、前記単一の複製命令の受領に基づき、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについて、前記コピー元記憶ボリューム内の複製対象データについての複製を前記コピー先記憶ボリュームへと作成することで前記コピー元データについての複数の複製を作成する複数複製作成機能を有し、
前記複数複製作成機能は、
前記複製命令を前記通信手段を通じて受領する処理と、
前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを含んだグループについて、前記コピー元記憶ボリュームから前記コピー先記憶ボリュームにデータコピー処理を行って複製を作成する処理と、
前記コピー元記憶ボリュームのデータについての退避先となる記憶領域を設け、前記コピー元記憶ボリュームから前記退避先記憶領域へのデータの退避の状態を識別する第１の制御情報と、前記コピー先記憶ボリュームのデータについての更新の状態を識別するための第２の制御情報とを管理して前記退避や前記更新の発生に応じて値を更新する処理と、
前記グループに含まれる記憶ボリュームのデータに対する前記処理装置からの更新または参照のアクセスが発生した際に、前記第１、第２の制御情報を参照して前記アクセスの対象となる記憶ボリュームのデータ及び対応するペアの記憶ボリュームのデータを含む各データの状態を判断し、前記判断に基づき前記コピー元記憶ボリュームからデータを前記退避先記憶領域に退避して前記退避したデータも用いながら、前記アクセスの対象となるデータについての更新または参照を行う処理とを行うことを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、前記処理装置から前記通信手段を通じて前記複製命令を受信して、前記複製命令を受信したことを表わす情報と、前記指定情報に対応したコピー元とコピー先についての情報とを含んだ命令受領情報をストレージ装置内のメモリに格納する処理を行い、命令元の処理装置に対して応答を送信し、前記命令受領情報の参照をもとに複数の複製を作成する処理を開始することを特徴とするストレージ装置。
【請求項３】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームの複数のペアを含んだグループについて、前記コピー元となる「シンプレックス」状態の記憶ボリュームのデータについての複製を、必要なデータコピー処理を行って前記コピー先記憶ボリュームに作成し、そのコピー元とコピー先の記憶ボリュームのペアについての制御状態を「スプリット」状態に遷移させる処理を行うことを特徴とするストレージ装置。
【請求項４】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、前記コピー元記憶ボリュームとコピー先記憶ボリュームを含むグループ及び前記退避先記憶領域におけるデータの配置が複数のストレージ装置に跨る場合に、前記複数のストレージ装置間で前記複数の複製を作成するための処理に係わるデータ転送処理を行うことを特徴とするストレージ装置。
【請求項５】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについて、処理対象となるペアを選択しながら順次に、前記コピー元記憶ボリュームから前記コピー先記憶ボリュームにデータコピー処理を行って複製を作成する処理を行うことを特徴とするストレージ装置。
【請求項６】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、前記複製命令の受領に基づき前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを含んだグループに対応する命令受領フラグをＯＮにし、前記命令受領フラグの参照をもとに前記複製命令と前記処理装置からの更新または参照のアクセスとの順序を判断しながら前記アクセスの対象となるデータの更新または参照を行い、前記複数の複製の作成を完了後に前記命令受領フラグをＯＦＦにする処理を行うことを特徴とするストレージ装置。
【請求項７】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、前記第１の制御情報を前記コピー元記憶ボリューム単位で、前記第２の制御情報を前記コピー先記憶ボリューム単位で、前記記憶ボリューム内の部分データ単位に対応して前記データの状態を識別するビットマップで構成し、前記複製命令の受領に基づきすべてのビットを初期状態にし、前記部分データに対する前記退避や前記更新の発生に伴って当該部分データに対応するビットを更新することを特徴とするストレージ装置。
【請求項８】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、
前記コピー元記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第１の制御情報を確認して、
前記コピー元記憶ボリュームの対応データが未退避状態の場合は、前記コピー元記憶ボリューム内の更新前データを前記退避先記憶領域へ退避処理して前記第１の制御情報を更新し、前記退避後に前記更新前データを更新後データによりライト処理する処理を行い、
前記コピー元記憶ボリュームの対応データが退避済み状態の場合は、前記コピー元記憶ボリューム内の更新前データを退避せずに更新後データによりライト処理する処理を行い、
前記更新のアクセスに対応した退避処理の実行後は、前記退避先記憶領域に退避したデータを用いて前記ペアについて複製を作成する処理を行うことを特徴とするストレージ装置。
【請求項９】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、
前記コピー先記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第１の制御情報と第２の制御情報を確認して、
前記コピー元記憶ボリュームの対応データが未退避状態で前記コピー先記憶ボリュームの対応データが未更新状態である場合は、前記コピー元記憶ボリュームの対応データを前記退避先記憶領域に退避処理して前記第１の制御情報を更新し、前記コピー先記憶ボリュームの対応データを更新後データによりライト処理して前記第２の制御情報を更新する処理を行い、
前記コピー元記憶ボリュームの対応データが退避済み状態で前記コピー先記憶ボリュームの対応データが未更新状態である場合は、前記コピー先ボリュームの対応データを更新後データによりライト処理して前記第２の制御情報を更新する処理を行い、
前記コピー先記憶ボリュームの対応データが更新済み状態である場合は、前記コピー先ボリュームの対応データを更新後データによりライト処理する処理を行うことを特徴とするストレージ装置。
【請求項１０】
請求項１記載のストレージ装置において、
前記複数複製作成機能は、
前記コピー先記憶ボリュームのデータに対する前記処理装置からの参照のアクセスが発生した際、前記第１の制御情報と第２の制御情報を確認して、
前記コピー元記憶ボリュームの対応データが未退避状態で前記コピー先記憶ボリュームの対応データが未更新状態である場合は、前記コピー元記憶ボリュームの対応データを前記退避先記憶領域に退避処理して前記第１の制御情報を更新し、前記退避先記憶領域に退避したデータをリード処理して返す処理を行い、
前記コピー元記憶ボリュームの対応データが退避済み状態で前記コピー先記憶ボリュームの対応データが未更新状態である場合は、前記退避先記憶領域に退避されているデータをリード処理して返す処理を行い、
前記コピー先記憶ボリュームの対応データが更新済み状態である場合は、前記コピー先ボリュームの対応データをリード処理して返す処理を行うことを特徴とするストレージ装置。
【請求項１１】
記憶装置と前記記憶装置の記憶領域にデータを記憶ボリュームとして記憶する制御を行う制御装置とを備え、通信手段を通じて接続される処理装置からの命令に基づき前記データの入出力を処理するストレージ装置であって、
前記処理装置の複製管理プログラムから、コピー元データとそのコピー先についての指定情報を含む単一の複製命令が発行され、
前記制御装置は、前記単一の複製命令の受領に基づき、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについて、前記コピー元記憶ボリューム内の複製対象データについての複製を前記コピー先記憶ボリュームへと作成することで前記コピー元データについての複数の複製を作成する複数複製作成機能を有し、
前記複数複製作成機能は、
前記複製命令を前記通信手段を通じて受領する処理と、
前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを含んだグループについて、前記コピー元記憶ボリュームから前記コピー先記憶ボリュームにデータコピー処理を行って複製を作成する処理と、
前記複製の作成のための前記コピー元記憶ボリュームからコピー先記憶ボリュームへのデータのコピーの状態を識別する第３の制御情報を管理して前記コピーの発生に応じて値を更新する処理と、
前記グループに含まれる記憶ボリュームのデータに対する前記処理装置からの更新または参照のアクセスが発生した際に、前記第３の制御情報を参照して前記アクセスの対象となる記憶ボリュームのデータ及び対応するペアの記憶ボリュームのデータを含む各データの状態を判断し、前記判断に基づき前記コピー元記憶ボリュームから対応データを前記コピー先記憶ボリュームにコピーして、前記アクセス対象データについての更新または参照を行う処理とを行うことを特徴とするストレージ装置。
【請求項１２】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、前記処理装置から前記通信手段を通じて前記複製命令を受信して、前記複製命令を受信したことを表わす情報と、前記指定情報に対応したコピー元とコピー先についての情報とを含んだ命令受領情報をストレージ装置内のメモリに格納する処理を行い、命令元の処理装置に対して応答を送信し、前記命令受領情報の参照をもとに複数の複製を作成する処理を開始することを特徴とするストレージ装置。
【請求項１３】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームの複数のペアを含んだグループについて、前記コピー元となる「シンプレックス」状態の記憶ボリュームのデータについての複製を、必要なデータコピー処理を行って前記コピー先記憶ボリュームに作成し、そのコピー元とコピー先の記憶ボリュームのペアについての制御状態を「スプリット」状態に遷移させる処理を行うことを特徴とするストレージ装置。
【請求項１４】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、前記コピー元記憶ボリュームとコピー先記憶ボリュームを含むグループにおけるデータの配置が複数のストレージ装置に跨る場合に、前記複数のストレージ装置間で前記複数の複製を作成するための処理に係わるデータ転送処理を行うことを特徴とするストレージ装置。
【請求項１５】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについて、処理対象となるペアを選択しながら順次に、前記前記コピー元記憶ボリュームからコピー先記憶ボリュームにデータコピー処理を行って複製を作成する処理を行うことを特徴とするストレージ装置。
【請求項１６】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、前記複製命令の受領に基づき前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを含んだグループに対応する命令受領フラグをＯＮにし、前記命令受領フラグの参照をもとに前記複製命令と前記処理装置からの更新または参照のアクセスとの順序を判断しながら前記アクセスの対象となるデータの更新または参照を行い、前記複数の複製の作成を完了後に前記命令受領フラグをＯＦＦにする処理を行うことを特徴とするストレージ装置。
【請求項１７】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、前記第３の制御情報を、前記コピー元記憶ボリューム単位で、前記記憶ボリューム内の部分データ単位に対応して前記データの状態を識別するビットマップで構成し、前記部分データに対する前記コピーの発生に伴って当該部分データに対応するビットを更新することを特徴とするストレージ装置。
【請求項１８】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、
前記コピー元記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第３の制御情報を確認して、
前記コピー元記憶ボリュームの対応データが未コピー状態の場合は、前記コピー元記憶ボリュームの対応データをペアのコピー先記憶ボリュームへコピー処理して前記第３の制御情報を更新し、前記コピー後にコピー元記憶ボリュームの対応データを更新後データによりライト処理する処理を行い、
前記コピー元記憶ボリュームの対応データがコピー済み状態の場合は、前記コピー元記憶ボリュームの対応データを更新後データによりライト処理する処理を行うことを特徴とするストレージ装置。
【請求項１９】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、
前記コピー先記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第３の制御情報を確認して、
前記コピー元記憶ボリュームの対応データが未コピー状態の場合は、前記コピー元記憶ボリュームの対応データをペアのコピー先記憶ボリュームへコピー処理して前記第３の制御情報を更新し、前記コピー先記憶ボリュームの対応データを更新後データによりライト処理する処理を行い、
前記コピー元記憶ボリュームの対応データがコピー済み状態の場合は、前記コピー先ボリュームの対応データを更新後データによりライト処理する処理を行うことを特徴とするストレージ装置。
【請求項２０】
請求項１１記載のストレージ装置において、
前記複数複製作成機能は、
前記コピー先記憶ボリュームのデータに対する前記処理装置からの参照のアクセスが発生した際、前記第３の制御情報を確認して、
前記コピー元記憶ボリュームの対応データが未コピー状態の場合は、前記コピー元記憶ボリュームの対応データをペアのコピー先記憶ボリュームにコピー処理して前記第３の制御情報を更新し、前記コピー先記憶ボリュームの対応データをリード処理して返す処理を行い、
前記コピー元記憶ボリュームの対応データがコピー済み状態の場合は、前記コピー先記憶ボリュームの対応データをリード処理して返す処理を行うことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置にデータを記憶する制御を行うストレージ装置（ディスクアレイ装置ともいう）に関し、特に、記憶ボリュームのデータについての複製（レプリカ）を作成する技術に関する。
【背景技術】
【０００２】
従来、記憶装置にデータを記憶する制御を行うストレージ装置（ストレージサブシステム）と、前記ストレージ装置に通信手段を通じて接続されデータに対するリード／ライトのアクセスを行うホストとなる処理装置とを含んで構成されるコンピュータシステムが有る。前記コンピュータシステムにおいて、ストレージ装置の記憶領域に設けられる記憶ボリュームのデータについて、ストレージ装置内部でのコピー処理により複製（複製ボリューム）を作成する複製機能が有る。
【０００３】
上記複製機能を備えるストレージ装置及びコンピュータシステムにおいて、記憶ボリュームのデータについて複数の複製を作成したい場合がある。例えば、処理装置がオンライン業務で使用している記憶ボリュームのデータについての複数の複製ボリュームを作成し、作成された複数の複製の記憶ボリュームを前記オンライン業務とは別にバックアップ用、テスト用、バッチ処理用などの各処理用に使い分けたい場合である。
【０００４】
従来の複製機能を用いて記憶ボリュームのデータについて複数の複製を作成したい場合、処理装置のオペレータ（ユーザ）による指示入力に基づき、複数の複製を作成させるために必要となる複数回の命令をストレージ装置に対し時系列で発行する必要があった。すなわち、まずコピー元となる正ボリュームとコピー先となる副ボリュームとの複数のペアを確立させるための複数回のペア作成命令を発行して、ストレージ装置で複数のペアを確立させる処理を行わせる手順が必要であった。
【０００５】
ストレージ装置で記憶ボリュームのデータについて処理装置を介さずにストレージ装置内部でのコピー処理により複製を作成する技術としては、例えば特許文献１記載の技術がある。この技術でも、記憶ボリュームのデータについての複数の複製を作成したい場合には複数回の命令を発行する必要がある。
【特許文献１】特開２０００−１３２３４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記従来の複製機能を用いて、処理装置から発行される命令に基づきストレージ装置で記憶ボリュームのデータについての複数の複製を作成する場合、複数回の命令の発行が必要であり手間がかかっていた。特に複製数すなわちコピー元とコピー先とのペア数が多くなるに従い、複製を作成するためにオペレータ（ユーザ）及び処理装置の負担が増大する問題がある。複製数が少ない場合にはその手間もあまり問題にならないが、例えばある記憶ボリュームのデータについて百個の複製を作成したい場合には、百回のペア作成命令を時系列で順に発行してコピー元とコピー先のペアの確立を行わせる手順が必要となる。
【０００７】
また、前記複数の複製を作成するための処理の際、ストレージ装置の制御装置で前記複数回の命令を受領する時間的なずれが生じる。そのため、この処理の間にコピー元やコピー先の記憶ボリュームに対し処理装置からのデータの更新や参照のアクセスが発生した場合に、前記コピー元とコピー先の記憶ボリュームを含む関連する複数の記憶ボリュームにおけるデータ整合性を保障することが難しいという問題もある。従って、前記複数の複製を作成する処理の際に、前記関連する複数の記憶ボリュームのデータ整合性を保障するための機構も必要となる。
【０００８】
本発明は以上のような問題に鑑みてなされたものであり、その目的は、処理装置からの命令に基づきストレージ装置での処理により記憶ボリュームのデータについての複数の複製（複製ボリューム）を作成する際に、処理装置から複数回の命令を発行して複数のペアを確立させる手間を削減でき、なおかつ前記複数の複製を作成する処理の際にコピー元とコピー先の複数のペアを含む関連する複数の記憶ボリュームのデータ整合性を保障できる技術を提供することにある。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明のストレージ装置は、一つ以上の記憶装置と前記記憶装置の提供する記憶領域上にデータを記憶ボリュームとして記憶する制御を行う制御装置とを備え、通信手段を通じて接続されるホストとなる処理装置からの命令に基づき前記データのリード／ライト等の入出力を処理する装置であって、以下（１）、（２）に示す技術的手段を備えることを特徴とする。
【００１０】
（１）本発明のストレージ装置は、前記処理装置上の複製管理プログラムからオペレータによるコピー元とコピー先についての指示入力に基づき発行される単一の命令（複数複製作成命令、以下単に複製命令とも称する）の受領に基づき、ストレージ装置内部での処理により指定の記憶ボリュームのデータについての複製を複数の異なる記憶ボリュームへと作成する複数複製作成処理を行う複数複製作成機能を備える。かつ前記複数複製作成処理の際は、処理装置から前記コピー元やコピー先のデータに対する更新や参照のアクセスが発生した場合でも、前記コピー元とコピー先を含む関連する複数の記憶ボリュームのデータ整合性を保障しながら前記複製を作成する。
【００１１】
前記オペレータによるコピー元とコピー先についての指示入力に基づき、前記処理装置の複製管理プログラムから、コピー元となるデータとそのコピー先についての指定情報を含んだ単一の複製命令が発行される。発行された複製命令は、通信手段を通じてストレージ装置の制御装置へ送信される。前記指定情報は、例えば記憶ボリューム番号やアドレス等の記憶ボリューム識別情報やあるいは記憶ボリュームに含まれるデータについての識別情報等を含む。前記コピー元とコピー先の関係は、一対多のペアの関係や、あるいは一対一のペアが複数並列される関係などである。例えば前記指定情報は、一つのコピー元記憶ボリューム番号と複数のコピー先記憶ボリューム番号である。
【００１２】
前記複数複製作成機能において、前記制御装置は前記通信手段を介して前記複製命令を受信し、前記複製命令に含まれる指定情報に対応して、コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを認識し、この複数のペアを含んだグループ（コンシステンシーグループ）において各ペアについて前記コピー元記憶ボリューム内の複製対象データから前記コピー先記憶ボリュームへと必要なデータコピー処理を行って複製を作成する処理（複製処理）を行う。すべてのペアについての複製の作成すなわち副ボリューム（コピー先記憶ボリューム）のデータ内容を正ボリューム（コピー元記憶ボリューム）と一致させるデータコピー処理が完了すると、複数複製作成処理が完了する。
【００１３】
また前記複数複製作成機能は、前記グループに含まれる記憶ボリュームのデータに対する前記処理装置からの更新または参照に対しても前記グループのデータ整合性を保障しながら複製を作成するために、前記コピー元記憶ボリュームのデータについての退避先となる記憶領域（退避ボリューム）を設け、前記コピー元記憶ボリュームから前記退避先記憶領域へのデータの退避の状態を識別するための第１の制御情報（コピー元退避情報）と、前記コピー先記憶ボリュームのデータについての更新の状態を識別するための第２の制御情報（コピー先更新情報）とを管理してそれぞれ前記退避や前記更新の発生に応じて値を更新する処理を行う。ただし前記コピー先記憶ボリュームのデータについての更新とは、前記コピー元記憶ボリュームからコピー先記憶ボリュームへのデータコピー処理による更新ではなく、処理装置からのライト命令等のアクセスによる更新を指す。前記退避処理は、処理装置からコピー元記憶ボリュームのデータへの更新が発生した際などに、更新後データをライトする前に、更新前データを退避先へコピーして退避する処理である。退避処理を行うか否かは、例えば処理装置を利用するユーザの方針に基づき決定される。
【００１４】
前記複数複製作成機能は、前記グループに含まれる記憶ボリュームのデータに対する前記処理装置からの更新または参照すなわちライト命令やリード命令のアクセスが発生した際には、前記第１、第２の制御情報を参照して前記アクセスの対象となる記憶ボリュームのデータ及びこれに対応するペアの記憶ボリュームのデータを含む関連の各データの状態を判断し、前記判断に基づき必要に応じて前記コピー元記憶ボリュームから対応データを前記退避先記憶領域に退避する処理を行い、また必要に応じて前記退避したデータも用いながら、前記アクセス対象データについての更新または参照を行う処理（更新／参照処理）を行う。
【００１５】
また、前記複数複製作成機能は、処理装置から通信手段を通じて複製命令を受信して、前記複製命令を受信したことを表わす情報と、前記指定情報に対応したコピー元とコピー先についての識別情報とを含んだ命令受領情報をストレージ装置内のメモリに格納する処理（命令受領処理）を行う。前記指定情報に対応したコピー元とコピー先についての識別情報は、前記指定情報そのもの、あるいはそれをストレージ装置側で解釈して作成された前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについての情報である。前記ストレージ装置内のメモリは、例えば制御装置を構成する各部がアクセス可能な共用メモリや、記憶装置上に設けられるシステム情報記憶領域である。そして、複数複製作成機能は、前記複製命令発行元の処理装置に対して応答を送信する。ストレージ装置内で、前記命令受領情報の参照をもとに指定の複数の複製を作成する処理を開始する。前記複数の複製を作成する処理では、実際に複製データの実体を作成する処理すなわち正ボリュームから副ボリュームへと複製対象データをコピーする処理等は、前記複製命令の受領以後、時間的に後でも開始することができる。すなわち、処理装置からコピー先記憶ボリュームへのアクセスが発生した時点等で前記複製データの実体を作成する処理を行うようにできる。
【００１６】
また、前記複数複製作成機能は、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームの複数のペアを含んだグループ（コンシステンシーグループ）について、前記コピー元となる「シンプレックス」状態の記憶ボリュームのデータについての複製を、必要なデータコピー処理を行って前記コピー先記憶ボリュームに作成し、そのコピー元記憶ボリュームすなわち正ボリュームとコピー先記憶ボリュームすなわち副ボリュームとのペアについての制御状態を「スプリット」状態に遷移させる処理を行う。
【００１７】
また、前記複数複製作成機能は、前記コピー元記憶ボリュームとコピー先記憶ボリュームを含んだグループ及び退避先記憶領域におけるデータの配置が複数のストレージ装置に跨る場合に、前記複数のストレージ装置間で前記複数の複製の作成に係わる処理すなわち前記データコピー処理や前記処理装置からの更新や参照の処理に係わるデータ転送処理を行う。ストレージ装置で、前記複製命令に基づくコピー元記憶ボリュームとコピー先記憶ボリュームとの認識に基づき、自ストレージ装置と通信手段を介して接続される他のストレージ装置とで通信を行い必要なデータの転送処理を行う。
【００１８】
また、前記複数複製作成機能は、前記複製命令の受領に基づき前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについて、処理対象となるペアを一つずつ選択しながら順次に、前記コピー元記憶ボリューム内の複製対象データから前記コピー先記憶ボリュームへと必要なデータコピー処理を行って複製を作成する処理（複製処理）を行う。例えば、前記処理装置からの更新や参照のアクセスが発生した記憶ボリュームのペアについて先に複製を作成する処理を行ってから前記更新や参照を処理するなどの制御を行う。
【００１９】
また、前記複数複製作成機能は、前記複製命令の受領に基づき前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを含んだグループに対応する命令受領フラグをＯＮにし、前記命令受領フラグの参照をもとに前記複製命令と前記処理装置からの更新または参照のアクセスとの順序を判断しながら前記アクセスの対象となるデータの更新または参照の処理を行い、前記複数の複製の作成完了後に前記命令受領フラグをＯＦＦにする処理を行う。
【００２０】
また、前記複数複製作成機能は、前記第１、第２の制御情報を、前記コピー元やコピー先の記憶ボリューム単位で、前記記憶ボリューム内の部分データ単位例えば一定サイズの論理トラック単位に対応して前記データの状態を識別するビットマップで構成し、前記データの退避や更新の発生に伴って前記ビットマップにおける対応ビットを更新する。例えば、前記第１、第２の制御情報を、前記複製命令の受領に伴い作成してすべてのビットをＯＮにし、前記部分データ単位におけるデータの退避や更新の発生に伴って該当部分データに対応するビットをＯＦＦにする。
【００２１】
また、前記複数複製作成機能は、前記複製命令の受領以後に前記グループに含まれる記憶ボリュームのデータに対し処理装置から更新や参照のアクセスが発生した場合、前記更新／参照処理として、以下の処理を実行する。
【００２２】
前記複数複製作成機能は、前記コピー元記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第１の制御情報を確認して、前記コピー元記憶ボリュームの対応データ（アクセス対象データ）が未退避状態の場合は、前記コピー元記憶ボリューム内の更新前データを前記退避先記憶領域へ退避処理して前記第１の制御情報を更新し、前記退避後に更新後データ（ライトデータ）によりライト処理する処理を行い、前記コピー元記憶ボリュームの対応データが退避済み状態の場合は、前記コピー元記憶ボリューム内の更新前データを退避せずに更新後データによりライト処理する処理を行う。前記更新のアクセスに対応した退避処理の実行後は、前記退避したデータすなわち複数複製作成処理開始時点における状態のコピー元記憶ボリュームのデータを用いて前記ペアについて複製を作成する処理を行う。
【００２３】
前記複数複製作成機能は、前記コピー先記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第１の制御情報と第２の制御情報を確認して、前記コピー元記憶ボリュームの対応データが未退避状態で前記コピー先記憶ボリュームの対応データ（アクセス対象データ）が未更新状態である場合は、前記コピー元記憶ボリュームの対応データを前記退避先記憶領域に退避して前記第１の制御情報を更新し、前記コピー先記憶ボリュームの対応データを更新後データによりライト処理して前記第２の制御情報を更新する処理を行い、前記コピー元記憶ボリュームの対応データが退避済み状態で前記コピー先記憶ボリュームの対応データが未更新状態である場合は、前記コピー先ボリュームの対応データを更新後データによりライト処理して前記第２の制御情報を更新する処理を行い、前記コピー先記憶ボリュームの対応データが更新済み状態である場合は、前記コピー先ボリュームの対応データを更新後データによりライト処理する処理を行う。
【００２４】
前記複数複製作成機能は、前記コピー元記憶ボリュームのデータに対する前記処理装置からの参照のアクセスが発生した際、前記コピー元記憶ボリュームの対応データ（アクセス対象データ）をリード処理して返す処理を行う。
【００２５】
前記複数複製作成機能は、前記コピー先記憶ボリュームのデータに対する前記処理装置からの参照のアクセスが発生した際、前記第１の制御情報と第２の制御情報を確認して、前記コピー元記憶ボリュームの対応データが未退避状態で前記コピー先記憶ボリュームの対応データ（アクセス対象データ）が未更新状態である場合は、前記コピー元記憶ボリュームの対応データを前記退避先記憶領域に退避処理して前記第１の制御情報を更新し、前記退避先記憶領域に退避したデータをリード処理して返す処理を行い、前記コピー元記憶ボリュームの対応データが退避済み状態で前記コピー先記憶ボリュームの対応データが未更新状態である場合は、前記退避先記憶領域に退避されているデータをリード処理して返す処理を行い、前記コピー先記憶ボリュームの対応データが更新済み状態である場合は、前記コピー先ボリュームの対応データをリード処理して返す処理を行う。
【００２６】
（２）また、本発明のストレージ装置は、前記処理装置の複製管理プログラムから、コピー元となるデータとそのコピー先についての指定情報を含む単一の複製命令が発行され、前記制御装置は、前記単一の複製命令の受領に基づき、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについて、前記コピー元記憶ボリュームのデータについての複製を前記コピー先記憶ボリュームへと作成する複数複製作成機能を有する。前記複数複製作成機能は、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを含んだグループについて、前記コピー元記憶ボリュームから前記コピー先記憶ボリュームに必要なデータコピー処理を行って複製を作成する処理と、前記コピー元ボリュームのデータについての退避先となる記憶領域（退避ボリューム）は設けず、前記複製の作成のための前記コピー元記憶ボリュームからコピー先記憶ボリュームへのデータのコピーの状態を識別する第３の制御情報（コピー情報）を管理して前記コピーの発生に応じて値を更新する処理と、前記グループに含まれる記憶ボリュームのデータに対する前記処理装置からの更新または参照のアクセスが発生した際に、前記第３の制御情報を参照して前記アクセスの対象となる記憶ボリュームのデータ及び対応するペアの記憶ボリュームのデータを含む各データの状態を判断し、前記判断に基づき必要に応じて前記コピー元記憶ボリュームから対応データを前記コピー先記憶ボリュームにコピーして、前記アクセス対象データについての更新または参照を行う処理とを行う。
【００２７】
また、前記複数複製作成機能は、前記処理装置から前記通信手段を通じて前記複製命令を受信して、前記複製命令を受信したことを表わす情報と、前記指定情報に対応したコピー元とコピー先についての情報とを含んだ命令受領情報をストレージ装置内のメモリに格納する処理を行い、命令元の処理装置に対して応答を送信し、前記命令受領情報の参照をもとに指定の複数の複製を作成する処理を開始する。
【００２８】
また、前記複数複製作成機能は、前記指定情報に対応したコピー元記憶ボリュームとコピー先記憶ボリュームの複数のペアを含んだグループについて、前記コピー元となる「シンプレックス」状態の記憶ボリュームのデータについての複製を、必要なデータコピー処理を行って前記コピー先記憶ボリュームに作成し、そのコピー元とコピー先の記憶ボリュームのペアについての制御状態を「スプリット」状態に遷移させる処理を行う。
【００２９】
また、前記複数複製作成機能は、前記コピー元記憶ボリュームとコピー先記憶ボリュームを含むグループにおけるデータの配置が複数のストレージ装置に跨る場合に、前記複数のストレージ装置間で前記複製の作成のための処理に係わるデータ転送処理を行う。
【００３０】
また、前記複数複製作成機能は、前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについて、処理対象となるペアを選択しながら順次に、前記コピー元記憶ボリューム内の複製対象データから前記コピー先記憶ボリュームへと必要なデータコピー処理を行って複製を作成する処理（複製処理）を行う。
【００３１】
また、前記複数複製作成機能は、前記複製命令の受領に基づき前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアを含んだグループに対応する命令受領フラグをＯＮにし、前記命令受領フラグの参照をもとに前記複製命令と前記処理装置からの更新または参照のアクセスとの順序を判断しながら前記アクセスの対象となるデータの更新または参照を行い、前記複数の複製の作成を完了後に前記命令受領フラグをＯＦＦにする処理を行う。
【００３２】
また、前記複数複製作成機能は、前記第３の制御情報を、前記コピー元記憶ボリューム単位で、前記記憶ボリューム内の部分データ単位に対応して前記データの状態を識別するビットマップで構成し、前記データのコピーの発生に伴って対応ビットを更新する。
【００３３】
また、前記複数複製作成機能は、前記複製命令の受領以後に前記グループに含まれる記憶ボリュームのデータに対し処理装置から更新や参照のアクセスが発生した場合、前記更新／参照処理として、以下の処理を実行する。
【００３４】
前記複数複製作成機能は、前記コピー元記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第３の制御情報を確認して、前記コピー元記憶ボリュームの対応データ（アクセス対象データ）が未コピー状態の場合は、前記コピー元記憶ボリュームの対応データをコピー先記憶ボリューム（複数ある場合は複数のコピー先記憶ボリューム）へコピー処理して前記第３の制御情報を更新し、前記コピー後にコピー元記憶ボリュームの対応データを更新後データ（ライトデータ）によりライト処理する処理を行い、前記コピー元記憶ボリュームの対応データがコピー済み状態の場合は、前記コピー元記憶ボリュームの対応データを更新後データによりライト処理する処理を行う。
【００３５】
前記複数複製作成機能は、前記コピー先記憶ボリュームのデータに対する前記処理装置からの更新のアクセスが発生した際、前記第３の制御情報を確認して、前記コピー元記憶ボリュームの対応データが未コピー状態の場合は、前記コピー元記憶ボリュームの対応データをコピー先記憶ボリューム（複数ある場合は複数のコピー先記憶ボリューム）へコピー処理して前記第３の制御情報を更新し、前記コピー先記憶ボリュームの対応データ（アクセス対象データ）を更新後データ（ライトデータ）によりライト処理する処理を行い、前記コピー元記憶ボリュームの対応データがコピー済み状態の場合は、前記コピー先ボリュームの対応データを更新後データによりライト処理する処理を行う。
【００３６】
前記複数複製作成機能は、前記コピー元記憶ボリュームのデータに対する前記処理装置からの参照のアクセスが発生した際、前記コピー元記憶ボリュームの対応データ（アクセス対象データ）をリード処理して返す処理を行う。
【００３７】
前記複数複製作成機能は、前記コピー先記憶ボリュームのデータに対する前記処理装置からの参照のアクセスが発生した際、前記第３の制御情報を確認して、前記コピー元記憶ボリュームの対応データが未コピー状態の場合は、前記コピー元記憶ボリュームの対応データをコピー先記憶ボリューム（複数ある場合は複数のコピー先記憶ボリューム）にコピー処理して前記第３の制御情報を更新し、前記コピー先記憶ボリュームの対応データ（アクセス対象データ）をリード処理して返す処理を行い、前記コピー元記憶ボリュームの対応データがコピー済み状態の場合は、前記コピー先記憶ボリュームの対応データをリード処理して返す処理を行う。
【００３８】
前記（１）、（２）に示す手段の他、本発明のストレージ装置は、前記複数複製作成処理において、前記コピー元記憶ボリュームとコピー先記憶ボリュームとの複数のペアについての関係が、一対多のツリー状の関係、あるいは、一対一のペアが複数並列される関係となる。
【００３９】
また、前記複製命令におけるコピー元データとそのコピー先の指定は、例えば記憶ボリューム単位である。また、前記複製命令におけるコピー元の指定は、例えば記憶ボリューム内に含まれる部分データ単位であり、前記複数複製作成機能により前記部分データの複製を含んだコピー先記憶ボリュームが作成される。また、前記複製命令におけるコピー先の指定は、例えば複製数による指定であり、前記複数複製作成機能により前記複製数の指定に応じてコピー先記憶ボリュームが選択または作成される。また、前記複製命令におけるコピー先の指定は、例えば記憶領域範囲による指定であり、前記複数複製作成機能により前記記憶領域範囲の指定に応じてコピー先記憶ボリュームが選択または作成される。また、前記複製命令におけるコピー元とコピー先の指定は、例えばコンシステンシーグループ単位である。
【発明の効果】
【００４０】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００４１】
本発明によれば、ストレージ装置で複数の複製を作成させる際、オペレータが処理装置から命令を発行する時点でコピー元ボリュームとコピー先ボリュームの複数のペアを確立しておく必要がなく、この状態から一回の指示で複数の複製を作成できるという従来無かった機能を実現できる。これにより従来必要としていた複数回の命令を発行してペアを確立させる手順に要する手間を削減でき、オペレータ及び処理装置の負荷を削減できる。多数の複製を作成する必要がある場合などには特に効果的である。また、複数の複製を作成する際のデータ整合性も保障される。複数の複製を少ない手間で作成できることで、バックアップ処理など有用な処理に利用できる。
【００４２】
また特に、前記課題を解決するための手段における（１）の構成によれば、処理装置からの参照／更新要求の応答を早くすることができる。また特に前記（２）の構成によれば、記憶リソースを節約できる。
【発明を実施するための最良の形態】
【００４３】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００４４】
（実施の形態１）
図１〜図１６は、本発明の実施の形態１におけるストレージ装置を説明するための図である。図１は、本発明の各実施の形態に係わるストレージ装置全体のハードウェア外観構成を示す。図２は、本発明の実施の形態１におけるストレージ装置１を含んで構成されるコンピュータシステムの機能ブロック構成を示す図である。実施の形態１のストレージ装置１は、ストレージ装置内の記憶領域に記憶ボリュームのデータについての複製（レプリカ）を異なる複数の記憶ボリュームへと作成する複数複製作成機能を備えるものであり、特にその際に正ボリュームのデータについての退避ボリュームを設けて退避処理を行う場合に対応した処理形態である。
【００４５】
＜ストレージ装置＞
まず、本発明の各実施の形態に係わるストレージ装置の全体構成について説明する。図１において、このストレージ装置６００は、一形態として制御装置筐体１００と二つの記憶装置筐体３００とが接続された形態である。ストレージ装置６００は、主に、制御装置筐体１００と、複数の記憶装置筐体３００とから構成されるコンピュータである。ストレージ装置６００の制御装置筐体１００は、記憶装置筐体３００の提供する記憶領域に対し所定のＲＡＩＤレベルに対応したＲＡＩＤ制御が可能である。
【００４６】
制御装置筐体１００は、保守員が使用する管理端末１６０が備えられている。管理端末１６０はストレージ装置６００を各種保守・管理するための処理を行うコンピュータであり、一形態としてノート型ＰＣの形態である。管理端末１６０はカバーで覆われており、カバーを開けることで管理端末１６０を使用できる。管理端末１６０の下部には、チャネル制御部１１０等の回路基板を装着するためのスロットが設けられている。各スロットには一つの回路基板が着脱可能である。ストレージ装置６００は後述の通信手段によりホストとなる処理装置に接続される。
【００４７】
記憶装置筐体３００は、多数の記憶装置となるディスクドライブ（物理ディスク）を備えて構成され、ホストとなる処理装置に対して記憶領域を提供する。処理対象となる記憶ボリュームは、記憶装置により提供される物理的な記憶領域である物理ボリュームと、この物理ボリューム上に論理的に設定される記憶領域である論理ボリューム（ＬＵ）とを含む。記憶ボリュームにおいて、ホストとなる処理装置から直接的に入出力アクセスされオリジナルデータを記憶する記憶ボリュームを正ボリューム（プライマリボリューム）、正ボリュームのデータのコピーを格納する記憶ボリュームを副ボリューム（セカンダリボリューム）と称することとする。ディスクドライブとしては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。記憶装置筐体３００は、例えば複数のディスクドライブによりディスクアレイを構成することもできる。この場合、処理装置に対して提供される記憶領域は、ＲＡＩＤにより管理された複数のディスクドライブ（ＲＡＩＤグループ）により提供されるようにすることができる。制御装置筐体１００は、ＲＡＩＤに関する制御も行う。
【００４８】
制御装置筐体１００と記憶装置筐体３００との間は、直接接続される形態にもできるし、ネットワークを介して接続される形態にもできる。更に記憶装置筐体３００を制御装置筐体１００と一体化構成にもできる。
【００４９】
管理端末１６０は、内部ＬＡＮを通じて、制御装置筐体１００における制御装置を構成する各回路基板に接続される。保守員は、管理端末１６０を操作して各種保守・管理の業務を行う。管理端末１６０を操作することにより、例えば記憶装置筐体３００における物理ディスク構成やＬＵの設定、チャネル制御部１１０等の回路基板において実行されるプログラムのインストール等が可能である。物理ディスク構成の設定としては、例えば物理ディスクの増設や減設、ＲＡＩＤ構成の変更等を行うことができる。また管理端末１６０は、ＬＡＮや電話回線等を通じて外部の保守センタと接続されており、障害が発生した場合に迅速に対応できる。これらの設定や制御は、管理端末１６０で動作するＷｅｂサーバが提供するＷｅｂページをユーザインターフェイスとして保守員により行われる。管理端末１６０は、制御装置筐体１００に内蔵される形態とすることもできるし、外付けされる形態とすることもできる。また管理端末１６０は、制御装置筐体１００及び記憶装置筐体３００の保守・管理を専用に行うコンピュータの形態にも、汎用コンピュータに保守・管理機能を持たせた形態にもできる。管理端末１６０は、制御装置筐体１００に内蔵された形態とすることもできるし、制御装置筐体１００に通信線で接続される別装置の形態とすることもできる。また、管理端末１６０は、ストレージ装置６００の保守・管理を専用に行う装置の形態とすることもできるし、ＰＣ等の汎用情報処理装置に保守・管理機能を備えた形態とすることもできる。
【００５０】
＜コンピュータシステム＞
図２において、実施の形態１のストレージ装置１を含んで構成されるコンピュータシステムは、一つ以上のストレージ装置１と、一つ以上の処理装置４とがネットワーク３で接続された構成である。図２では例として、ネットワーク３に、二つのストレージ装置１，２が接続されている。ストレージ装置２の構成はストレージ装置１と同様であるのでストレージ装置１を代表的に説明する。処理装置４は、ユーザ（個人や企業等）側の使用するコンピュータであり、ストレージ装置１に対するホストとなる。例えば、処理装置４は、ストレージ装置１の備えるデータ記憶制御の機能を用いてデータを記憶領域に記憶させ、当該データを用いてオンライン業務を行う。また別のストレージ装置２を用いてデータの複製等が行われる。ストレージ装置１とストレージ装置２の間は、近距離での配置が可能であると共に、例えば災害対策等のために遠隔のサイトに配置することも可能であり、その間で記憶ボリュームのデータについてのリモートコピー処理等が可能である。図２の場合、ストレージ装置１はプライマリサイトに配置され、ストレージ装置２はそれとは遠隔のセカンダリサイトに配置されるものとする。ストレージ装置２は、特にリモートコピー機能及び複数複製作成機能におけるコピー先／複製先として利用される。処理装置４とストレージ装置１の制御装置５との間は、ポート及びネットワーク３を介して所定のパスにより接続され相互に通信可能である。ストレージ装置１，２の制御装置５の間も、ポート及びネットワーク３を介して所定のパスにより接続され相互に通信可能である。
【００５１】
ネットワーク３は、例えばＬＡＮ（Local Area Network）やＳＡＮ（Storage Area Network）などである。単一種類のネットワーク３や処理装置４に限らず、異種プラットフォームを混在して接続可能である。その場合、制御装置５に各種のプラットフォームに対応した複数のチャネル制御部（ＣＨＡ７）を備え、個別に対応する。処理装置４とストレージ装置１は、ネットワーク３上のプロトコルに対応した通信インターフェイスを備える。
【００５２】
ネットワーク３として例えばＬＡＮを介して制御装置５と処理装置４とが接続される。ＬＡＮは、インターネットとすることもできるし、専用ネットワークとすることもできる。ＬＡＮを介した通信は、例えばＴＣＰ／ＩＰプロトコルに従って行われる。ＬＡＮ上では、処理装置４からストレージ装置１に対して、ファイル名指定によるデータアクセス要求（ファイルアクセス要求）が送信される。
【００５３】
また、ネットワーク３には、バックアップデバイス９００が接続される。バックアップデバイス９００は、具体的には、ＭＯやＣＤ−Ｒ、ＤＶＤ−ＲＡＭなどのディスク系デバイス、ＤＡＴテープ、カセットテープ、オープンテープ、カートリッジテープなどのテープ系デバイスである。ネットワーク３を介した通信により、バックアップデバイス９００に、ストレージ装置１内の記憶装置６に記憶されているデータのバックアップデータが記憶される。バックアップ処理については後述する。
【００５４】
またネットワーク３として例えばＳＡＮを介して制御装置５と処理装置４とが接続される。ＳＡＮは、記憶装置６が提供する記憶領域におけるデータ管理単位であるブロックを単位として処理装置４との間でデータの授受を行うためのネットワークである。ＳＡＮを介して行われる処理装置４と制御装置５との間の通信は、一般にファイバチャネルプロトコルに従って行われる。処理装置４からは、ストレージ装置１に対してファイバチャネルプロトコルに従ってブロック単位のデータアクセス要求（ブロックアクセス要求）が送信される。
【００５５】
ネットワーク３がＳＡＮの場合には、バックアップデバイス９００としてＳＡＮ対応バックアップデバイスが接続される。ＳＡＮ対応バックアップデバイスは、ＳＡＮを介して制御装置５との間で通信を行うことにより、記憶装置６に記憶されているデータのバックアップデータを記憶する。
【００５６】
＜制御装置＞
図２に示すように、制御装置５（前記１００に対応する）は、ＣＨＡ（チャネル制御部）７（前記１１０に対応する）、キャッシュメモリ８、共用メモリ９、ＤＫＡ（ディスク制御部）１０、接続部１１等により構成される。制御装置５を構成するＣＨＡ７、キャッシュメモリ８、共用メモリ９、ＤＫＡ１０等は、例えばそれぞれ単一の回路基板として実装される。これら回路基板がそれぞれ一枚以上、ストレージ装置１のスロットに装着される。
【００５７】
制御装置５は、ストレージ装置１全体を制御し、主に処理装置４と記憶装置６の間でのデータ入出力を制御する。制御装置５は、その制御プログラムを実行するためのプロセッサとメモリを備え、プロセッサにより制御プログラムが実行されることにより後述の各処理が実現される。制御装置５が実行する制御プログラムには、複数複製作成プログラム２０が含まれる。複数複製作成プログラム２０は、複数複製作成機能を実現するためのプログラムであり、ストレージ装置１に、処理装置４からの複数複製作成命令の受領に基づき複数複製作成処理を行わせる。
【００５８】
制御装置５は、ネットワーク３を介した通信手段を通じて接続される処理装置４から受信した命令に従って個々の記憶装置６に対する制御を行う。例えば処理装置４からのデータ入出力命令を受信して、記憶装置６の記憶領域に記憶されているデータの入出力のための処理を行う。ストレージ装置１では、ＬＵ及びその部分データを単位として複製の制御が可能である。また制御装置５は、処理装置４との間で、ストレージ装置１を管理するための各種命令の授受も行う。
【００５９】
ＣＨＡ７は、ネットワーク３を介して処理装置４や他のストレージ装置２との間で通信を行うための通信インターフェイスを備え、処理装置４との間でリード／ライト等のデータ入出力命令を授受する機能を備える。ＣＨＡ７は、図示しないプロセッサ、メモリ、ポート（通信制御部）等を備え、処理装置４や他のストレージ装置２との間で論理的なポート及びパスの設定を介して通信の制御を行う。また、ＣＨＡ７は、接続部１１を介して、ＤＫＡ１０とのデータ入出力の制御を行う。ＣＨＡ７は、処理装置４の複製管理プログラム４６からの命令やデータを受領する処理を行い、また、処理装置４に対し命令に対する応答やデータを返す処理を行う。
【００６０】
ＣＨＡ７は、一体的にユニット化された回路基板上に形成されたハードウェア及びこのハードウェアにより実行されるＯＳ及びＯＳ上で動作するアプリケーションプログラムなどのソフトウェアにより実現される。各ＣＨＡ７は、管理端末１６０と共に内部ＬＡＮで接続されており相互に通信を行うことが可能である。これによりＣＨＡ７に実行させるプログラムを管理端末１６０から送信してインストールすることが可能となっている。
【００６１】
ＣＨＡ７は、例えばＮＡＳ（Network Attached Storage）としての機能を提供する構成（ＣＨＮ）にすることができる。制御装置５は、前記ＣＨＮにより、ネットワーク３としてＬＡＮを介して処理装置４やバックアップデバイス９００との間で通信を行う。例えば、ＣＨＡ７は、処理装置４からのファイルアクセス要求を受け付ける。そしてファイルの記憶アドレスやデータ長等を求めて、ファイルアクセス要求に対応するＩ／Ｏ要求を出力することにより、記憶装置６へのアクセスを行う。なおＩ／Ｏ要求にはデータの先頭アドレス、データ長、読み出し又は書き込み等のアクセス種別が含まれている。またデータの書き込みの場合にはＩ／Ｏ要求には書き込みデータが含まれるようにすることができる。
【００６２】
またＣＨＡ７は、例えばＳＡＮに対応した機能を提供する構成（ＣＨＦ）にすることができる。制御装置５は、前記ＣＨＦにより、ＳＡＮを介して処理装置４及びＳＡＮ対応バックアップデバイス（９００）との間の通信を行う。処理装置４からは、ストレージ装置１に対してファイバチャネルプロトコルに従ってブロックアクセス要求が送信される。例えば、ＣＨＡ７は、処理装置４からのブロックアクセス要求を受け付ける。これにより、ストレージ装置１は高速アクセス可能なデータ記憶サービスを処理装置４に対し提供できる。
【００６３】
またＣＨＡ７は、例えば前記ＬＡＮやＳＡＮ等を介さずに処理装置４が制御装置５に接続される構成に対応した機能を提供する構成にすることができる。この場合、処理装置４と制御装置５との間の通信は、例えばＦＩＣＯＮ（Fibre Connection）（登録商標）などの通信プロトコルに従って行われる。処理装置４からは、ストレージ装置１に対して前記ＦＩＣＯＮ等のプロトコルに従ってブロックアクセス要求が送信される。例えば、ＣＨＡ７は、処理装置４からのブロックアクセス要求を受け付ける。これによりストレージ装置１は、メインフレームコンピュータとしての処理装置４に対してデータ記憶サービスを提供できる。
【００６４】
ＣＨＡ７として、前記ＣＨＮ、ＣＨＦ等を混在させることにより、異種ネットワークに接続されるストレージ装置１を実現できる。具体的には、ストレージ装置１として、ＣＨＮを用いてＬＡＮに接続され、かつＣＨＦを用いてＳＡＮに接続される、ＳＡＮ−ＮＡＳ統合ストレージシステムの構成が可能である。
【００６５】
接続部１１は、ＣＨＡ７、共用メモリ９、キャッシュメモリ９、ＤＫＡ１０を相互に接続する。ＣＨＡ７、共用メモリ９、キャッシュメモリ９、ＤＫＡ６の間でのデータや命令の授受は接続部１１を介することで行われる。接続部１１は、例えば高速スイッチングによりデータ伝送を行うクロスバースイッチなどの高速バスで構成される。またＣＨＡ７間が接続されることにより高速なフェイルオーバなどが可能である。
【００６６】
キャッシュメモリ８は、ＣＨＡ７、ＤＫＡ１０からアクセス可能であり、主にデータ（ユーザデータ）を記憶するために利用される。例えば、ＣＨＡ７とＤＫＡ１０の間で転送対象となる入出力データ、すなわち、処理装置４からのライトデータや記憶装置６からのリードデータ等が一時的に格納される。
【００６７】
共用メモリ９は、ＣＨＡ７、ＤＫＡ１０からアクセス可能であり、主に制御情報や命令等を記憶するために利用される。例えばＬＵ情報やペア管理情報等の制御情報を格納する。実施の形態１の場合、共用メモリ９には、複数複製作成プログラム２０による処理に基づき、後述するコピー元退避情報２２とコピー先更新情報２３を含む制御情報が格納・管理される。なお、この制御情報を共用メモリ９以外のメモリ、例えばキャッシュメモリ８や記憶装置６上のシステムデバイス等に格納する処理形態にしてもよい。
【００６８】
ＤＫＡ１０は、記憶装置６の制御を行う。ＤＫＡ１０は、図示しないプロセッサ、メモリ、ポート（通信制御部）等を備え、ＣＨＡ７からの指示に基づき、記憶装置６上の記憶領域へのデータのリード／ライト等の制御を行う。また、ＤＫＡ１０は、複数の記憶装置６に対するＲＡＩＤ制御が可能である。ストレージ装置１，２内あるいはストレージ装置１，２間では、ＬＵ内の特定の部分データ、例えばブロックやトラックやファイル等を単位としてデータコピー処理が可能である。
【００６９】
ＤＫＡ１０は、例えば前記ＣＨＡ７が処理装置４から受信したライト命令に従って記憶装置６へデータの書き込みを行う。また、ＣＨＡ７により送信された論理アドレス指定によるＬＵへのデータアクセス要求を、物理アドレス指定による物理ディスクへのデータアクセス要求に変換する。記憶装置６における物理ディスクがＲＡＩＤにより管理されている場合には、ＲＡＩＤ構成に従ったデータアクセスを行う。複数の記憶装置６により、所定のＲＡＩＤレベルに対応したＲＡＩＤグループを構成可能である。前記ＲＡＩＤグループは、例えばＲＡＩＤ１＋０やＲＡＩＤ５等のＲＡＩＤレベルに応じて複数の記憶装置から構成される。ストレージ装置１内では、記憶装置６に対し、前記ＲＡＩＤグループに対応した論理デバイス（ＬＤＥＶ）を単位としてデータ記憶の処理を行う。制御装置５で特にＤＫＡ１０によってＬＵとＬＤＥＶが対応付けされる。
【００７０】
記憶装置６上に設定されるＬＵは、処理装置４からアクセス可能でユーザデータの格納に使用されるユーザＬＵ（データデバイスともいう）や、ＣＨＡ７等によるシステム制御のために制御情報の格納に使用されるシステムＬＵ（システムデバイスともいう）等がある。
【００７１】
また各ＬＵには、ＣＨＡ７等が制御ユニット（ＣＵ）として対応付けられている。前記ＣＵはＣＵ番号により識別される。これによりＣＨＡ７ごとにアクセス可能なＬＵが割り当てされる。また複数のＣＨＡ７で一つのＬＵを共用するように対応付けることもできる。処理装置４の複製管理プログラム４６からもＣＵ番号によりＣＵを指定や識別が可能である。
【００７２】
またＤＫＡ１０は、記憶装置６に記憶されたデータの複製管理の制御やバックアップ制御等も行う。更にＤＫＡ１０は、障害発生時のデータ消失防止（ディザスタリカバリ）等を目的としてプライマリサイトのストレージ装置１のデータについての複製をセカンダリサイトのストレージ装置２に記憶する制御（リモートコピー機能）等も行う。各ＤＫＡ１０は、管理端末１６０と共に内部ＬＡＮで接続されており相互に通信を行うことが可能である。これによりＤＫＡ１０に実行させるプログラムを管理端末１６０から送信してインストールすることが可能となっている。ＤＫＡ１０に対して、記憶装置６は、ストレージ装置１内部で通信線で直接接続される。また記憶装置６がネットワークを介して制御装置５に接続される形態とすることもできる。また記憶装置６を制御装置５と一体化構成とすることもできる。
【００７３】
なお本実施の形態では共用メモリ９及びキャッシュメモリ８がＣＨＡ７及びＤＫＡ１０に対して独立に設けられている構成について記載したが、これに限らず、共用メモリ９、キャッシュメモリ８がＣＨＡ７、ＤＫＡ１０の各々に分散されて設けられる形態も可能である。この場合、接続部１１は、分散された共用メモリまたはキャッシュメモリを有するＣＨＡ及びＤＫＡを相互に接続させる。
【００７４】
制御装置５の備えるプロセッサは、ＣＨＡ７とＤＫＡ１０の有するプロセッサに対応する。すなわち本実施の形態の場合、ＣＨＡ７とＤＫＡ１０に有するプロセッサにより複数複製作成プログラム２０を含む制御プログラムが実行されることで複数複製作成機能が実現される。
【００７５】
制御装置５は、制御情報として、ＬＵについて管理するための情報、すなわち論理ボリューム番号や論理アドレス範囲、容量、ＲＡＩＤレベル、正・副の状態情報等の情報をストレージ装置１内のメモリ例えば共用メモリ９等に格納・管理する。またＬＵに対応する論理デバイス（ＬＤＥＶ）の管理のための論理デバイス番号や対応付けの情報も管理する。ストレージ装置１内で、各種制御情報は、必要に応じて動的に割当及び開放される。
【００７６】
処理装置４と記憶装置６の間でのデータ入出力の処理は例えば以下のようになる。例えば、あるＣＨＡ７がある処理装置４から受信したデータ入出力命令がライト命令であった場合、当該ＣＨＡ７は、ライト命令を共用メモリ９に書き込むと共に、処理装置４から受信したライトデータをキャッシュメモリ８に書き込む。一方、ＤＫＡ１０は、共用メモリ９を監視しており、共用メモリ９にライト命令が書き込まれたことを検出すると、当該命令に従ってキャッシュメモリ８からライトデータを読み出して記憶装置６に書き込む。
【００７７】
また、あるＣＨＡ７がある処理装置４から受信したデータ入出力命令がリード命令であった場合、当該ＣＨＡ７は、リード命令を共用メモリ９に書き込むと共に、読み出し対象となるデータがキャッシュメモリ８に存在するかどうか調べる。ここでキャッシュメモリ８に読み出し対象データが存在すれば、ＣＨＡ７はそのデータを処理装置４に送信する。一方、読み出し対象データがキャッシュメモリ８に存在しない場合は、共用メモリ９を監視することによりリード命令が共用メモリ９に書き込まれたことを検出したＤＫＡ１０が、記憶装置６から読み出し対象データを読み出してこれをキャッシュメモリ８に書き込むと共に、その旨を共用メモリ９に書き込む。そして、ＣＨＡ７は、共用メモリ９を監視することで読み出し対象データがキャッシュメモリ８に書き込まれたことを検出すると、そのデータを処理装置４に送信する。
【００７８】
なお、このようにＣＨＡ７からＤＫＡ１０に対するデータの書き込みや読み出しの指示を、共用メモリ９を介在させて間接に行う構成の他に、例えばＣＨＡ７からＤＫＡ１０に対してデータの書き込みや読み出しの指示を、共用メモリ９を介さずに直接行う構成とすることもできる。
【００７９】
＜処理装置＞
図３は、処理装置４の機能ブロック構成を示す図である。処理装置４は、ＣＰＵ４１、メモリ４２、ポート４３を有するコンピュータであり、キーボードやマウス等の入力装置４４、ディスプレイ等の出力装置４５が接続されている。処理装置４は、例えばパーソナルコンピュータやワークステーション、あるいはメインフレームコンピュータ、サーバ専用コンピュータ等である。メモリ４２内に、複製管理プログラム４６と、アプリケーションプログラム４７とが格納され、ＣＰＵ４１は、これらプログラムを実行することにより各種機能を実現する。複製管理プログラム４６は、ストレージ装置１内にデータの複数の複製を作成させるための複数複製作成機能を含むストレージ装置１の各種機能を実現するために、ストレージ装置１に対する命令の発行処理とそのためのユーザインターフェイスの提供とを行うプログラムである。アプリケーションプログラム４７は、処理装置４における通常の業務処理等を行うためのプログラムである。業務処理としては例えば銀行の自動預金預け払いシステムの処理等がある。ポート４３は、ネットワーク３に接続されてストレージ装置１や他の処理装置４等と通信を行うための通信インターフェイスである。
【００８０】
通常時、処理装置４は、ストレージ装置１に対してリード命令やライト命令等のデータ入出力命令を送信することで、記憶装置６上に記憶されているデータの読み出しや記憶装置６上へのデータの書き込みを行う。複製管理プログラム４６やアプリケーションプログラム４７は、図示しないＣＤ−ＲＯＭ等の記憶媒体や外部記憶装置から読み込んで、あるいはネットワーク３を通じて外部から受信して、メモリ４２に格納される。
【００８１】
処理装置４のオペレータ（ユーザ）は、入力装置４４、出力装置４５、複製管理プログラム４６上のユーザインターフェイスを通じて、ストレージ装置１に対し、データの記憶や複製に関する処理を行わせるための指示を入力する。例えば複数複製作成処理を行わせるための指示を入力する。複製管理プログラム４６上のユーザインターフェイスは、例えばＷｅｂブラウザ等のＧＵＩや、コマンドユーザインターフェイス（ＣＵＩ）等の形式である。複製管理プログラム４６は、オペレータによる指示入力に基づき、対応する命令を発行する。処理装置４は、発行された命令をポート４３、ネットワーク３を経由して処理の要求先となるストレージ装置１の制御装置５に送信する処理を行う。処理の要求先は、制御ユニット（ＣＵ）番号やネットワークアドレスなどで識別される。前記ＣＵ番号は、命令に対応する処理を担当するＣＨＡ７等を識別する情報である。送信された命令は、制御装置５のＣＨＡ７のポートで受信される。複製管理プログラム４６では、ＬＵを単位として複数複製作成を要求できる。処理装置４を使用するオペレータ（ユーザ）は、複製管理プログラム４６上のユーザインターフェイスを通じて、ＬＵ単位で処理を指定可能である。例えば、複製対象となるコピー元ボリュームや複製先となるコピー先ボリュームを指定する場合に、論理ボリューム番号を指定する。複製管理プログラム４６は、ストレージ装置１で管理している各種情報を一覧表示する処理を処理装置４に行わせる。例えば、ストレージ装置１に確保されているユーザが利用可能なＬＵを一覧表示可能であり、ユーザはこの中から複製対象等を選択できる。
【００８２】
＜ペア制御状態＞
ストレージ装置１におけるペア制御状態について説明する。ストレージ装置１では、処理装置４の複製管理プログラム４６から発行される命令等に応じて、記憶ボリュームのペアについての制御状態（ペア制御状態）を遷移させ、当該制御状態及び遷移に応じた処理及び制御を実行する。ストレージ装置１での内部処理により、処理装置４のオペレータに指示された通りに、記憶ボリュームのペアが確立・作成される。本実施の形態の場合、複数複製作成にあたっては、複数のペアを確立させるためのペア作成命令による処理を行う必要はない。ストレージ装置１では、複数複製作成に係わる記憶ボリューム及び記憶ボリュームのペアについての制御状態として、「シンプレックス」状態、「過渡中」状態、「スプリット」状態等を有する。
【００８３】
まず、従来のペアについての制御に関して簡単に説明しておく。ストレージ装置１は従来のペアの制御を行う機能も備える。従来のペアの制御では、ペア制御状態として、「ペア」状態、「コピー中」状態、「スプリット」状態等を有する。ストレージ装置１では、処理装置４の複製管理プログラム４６から発行される命令等に応じて、正ボリュームと副ボリュームのペアについてのペア制御状態を前記「ペア」状態や「スプリット」状態の間で遷移させる。なおここでいう「ペア」状態とは、前記ペア制御状態のうちの一つであることに注意しておく。またペアになっていない一つの記憶ボリュームの状態を「シンプレックス」状態と称する。  従来のペアの制御では、処理装置４からの命令（ペア作成命令）等に応じて、ストレージ装置１で正ボリュームと副ボリュームのペアを確立する処理が行われる。例えば、ストレージ装置１内の記憶領域上にペアとなる記憶ボリュームが新たに確保されるか、あるいは既存の設定済み記憶ボリュームの中から指定される。ストレージ装置１は、コピー元となる記憶ボリュームからコピー先となる記憶ボリュームへとデータをコピーする初期コピー処理を行う。そして、当該ペアの記憶ボリュームを「正」−「副」の状態で関連付け、ペア制御状態を「ペア」状態として対応付ける。「ペア」状態は、正ボリュームのデータ内容が更新されるのに応じて当該更新が副ボリュームのデータ内容に反映されるように二つの記憶ボリュームの関係を対応付けた制御状態である。「ペア」状態の記憶ボリュームでは、更新データ量や更新経過時間等の条件に基づくタイミングで実行される更新反映処理により、副ボリュームのデータ内容は正ボリュームのデータ内容に近くなる。「ペア」状態では、処理装置４からの副ボリュームへの更新アクセスは禁止される。
【００８４】
「ペア」状態は、例えば、処理装置４からペアの分割のための命令（ペア分割命令）をストレージ装置１が受領した場合に解除され、これによりペア制御状態が「ペア」状態から過渡中状態である「コピー中」状態を経由して「スプリット」状態に遷移される。この遷移では、正ボリュームと副ボリュームのデータ内容を同期化させるペア分割処理が行われる。前記ペア分割命令の受領に応じたペア分割処理によって、副ボリュームのデータ内容が正ボリュームのデータ内容に完全に一致するようにデータ内容を確定させるために、必要に応じて正副の記憶ボリューム間の差分データについてのデータコピー処理が行われる。「スプリット」状態になった直後は、副ボリュームのデータ内容が正ボリュームと同一となる。「スプリット」状態は、ペアの記憶ボリュームにおいて、正ボリュームのデータ内容の更新と副ボリュームのデータ内容の更新が個別となるように関係が対応付けられた制御状態である。「スプリット」状態では、「ペア」状態において禁止されていた副ボリュームへのアクセスが許可される。「スプリット」状態では、正ボリュームの更新が副ボリュームに反映されないように制御される。「スプリット」状態では、正ボリュームとは別に副ボリュームをデータのバックアップ等の処理に利用できる。このように「ペア」状態での制御で正副の記憶ボリュームのデータ内容を近くしておき、「スプリット」状態に遷移させる際には正副の記憶ボリューム間の差分データについての反映処理で済むので、速やかに複製の作成が完了できる。
【００８５】
「スプリット」状態では、正ボリュームへの更新が副ボリュームに反映されないので、例えばこの「スプリット」状態の間に正ボリュームへの更新により生じた副ボリュームへ未反映のデータを差分データとしてストレージ装置１内に保存しておく制御が行われる。そして「スプリット」状態から再度「ペア」状態に遷移させる際に、そのための命令（ペアリシンク命令）に基づき、前記差分データにより副ボリュームのデータ内容を正ボリュームと一致させる再同期化処理が行われる。これによりペア制御状態が「スプリット」状態から過渡中状態である「コピー中（リシンク中）」状態を経由して「ペア」状態に遷移される。
【００８６】
次に本実施の形態の場合のペア制御状態について説明する。本実施の形態のストレージ装置１の場合、複数の複製を作成するにあたって、前記「ペア」状態を経由する必要は必ずしも無く、処理対象の記憶ボリュームを「シンプレックス」状態から「スプリット」状態へ直接遷移させる制御を行う。単一の複数複製作成命令の受領に基づく複数複製作成処理を通じて、結果的に複数のペアがまとめて確立され、各ペアのペア制御状態が「スプリット」状態となる。
【００８７】
図４は、ペア制御状態に関連して、制御装置５が管理するペア管理テーブル３１を示す。ペア管理テーブル３１は、記憶ボリュームのペアを管理するためのペア管理情報を保持する。ペア管理情報として、ペア番号、正ボリューム番号、副ボリューム番号、ペア制御状態、グループ番号等の情報を保持する。なお番号を＃で表わす。ペア番号は、ペアを識別する情報であり、処理装置４側からこのペア番号を用いて処理対象となる論理ボリュームを指定可能である。正ボリューム番号、副ボリューム番号は、それぞれ正ボリューム、副ボリュームを識別する情報であり、複数複製作成命令で指定されるコピー元ボリュームとコピー先ボリュームにそれぞれ対応する。ペア制御状態は、ストレージ装置１におけるペアについての制御状態を示す情報である。ペア制御状態としては、「過渡中」、「スプリット」等の値を有する。グループ番号は、当該ペアが属するコンシステンシーグループを識別する情報である。
【００８８】
前記図４に示す例では、ペア番号＃１のペアは、正ボリューム番号＃１と副ボリューム番号＃１の記憶ボリュームから成り、そのペア制御状態は「スプリット」状態で、グループ番号＃１のコンシステンシーグループに属する。ストレージ装置１において、ペア番号＃１〜＃ｎのｎ個のペアは、複数複製作成命令で指定されたことに基づき、同一コンシステンシーグループが設定される。例としてグループ＃１について複数複製作成処理中で、ペア＃１のみ複製処理（後述）が完了していて「スプリット」状態で、ペア＃２〜＃ｎについては複製処理が完了しておらず「過渡中」状態である。
【００８９】
ペア制御状態として、前記「過渡中」状態は、記憶ボリュームを「シンプレックス」状態等から「スプリット」状態へと遷移させる途中の処理の状態である。複数複製作成処理の開始後、コンシステンシーグループ内の各ペアは「過渡中」の状態に遷移される。「スプリット」状態は、複製処理が完了後の状態である。複製処理完了直後は正ボリュームと副ボリュームのデータ内容が同一となる。「スプリット」状態では、副ボリュームへの更新アクセスが許可され、正ボリュームと副ボリュームの更新が独立して扱われる制御が行われる。「スプリット」状態の間は、副ボリュームへのアクセスが許可されるので、例えば、処理装置４が正ボリュームのデータを利用してオンライン業務を継続しながら、それとは別に副ボリュームのデータを利用してバックアップ等の処理を行わせることができる。副ボリュームを利用したバックアップ処理例については後述する。ペア制御状態としてはその他「リシンク中」等の状態を有する。「リシンク中」状態は、「スプリット」状態から「ペア」状態に遷移させる場合における途中の処理の状態である。「スプリット」状態から「ペア」状態に遷移させるための命令（ペアリシンク命令）の受領に応じて、ストレージ装置１で、「スプリット」状態の間に正ボリュームに対して発生した更新に対応する差分データを副ボリュームに反映してデータ内容を一致させる再同期化処理が行われる。
【００９０】
ペア制御状態の遷移は、処理装置４のオペレータが複製管理プログラム４６を通じて指示入力して対応する命令を発行することにより実行可能である。制御装置４は、ペア制御状態の遷移に伴いペア管理テーブル３１のペア制御状態を更新する。なおペア制御状態の遷移は、処理装置４のオペレータからの指示入力に基づき開始される以外にも、所定時刻に自動的に開始されるように複製管理プログラム４６を通じて設定することもできる。また、処理装置４の複製管理プログラム４６がネットワーク３を通じて接続される他の処理装置４からの指示を受信してそれに基づき開始させることもできる。
【００９１】
ストレージ装置１では、複数複製作成処理中における一つの「コピー元ボリューム−コピー先ボリューム」のペアについての複製処理の完了に伴い、そのペア制御状態を「スプリット」状態へと遷移させる。
【００９２】
＜コンシステンシーグループ＞
ストレージ装置１における制御情報の一つであるコンシステンシーグループについて説明する。複数複製作成の際、処理装置４からのコピー元ボリュームとその複数のコピー先ボリュームとの指定に応じて、一つのコンシステンシーグループが形成される。このコンシステンシーグループは、複数複製作成処理の際にデータ整合性の保障の対象となる複数のペアの集まりである。複数複製作成処理の際は、このコンシステンシーグループにおける複数のペアについてそれぞれ複製処理が行われるが、この際、各ペアの「スプリット」状態への遷移において、関連する複数の記憶ボリューム間のデータ整合性が保障されるように制御される。ストレージ装置１は、複数複製作成処理中にこれと時間的に近いタイミングでコピー元やコピー先のデータに対する処理装置４からの更新や参照のアクセスが発生した場合にも関連の記憶ボリュームのデータ整合性が保障されるように、後述する更新／参照処理を実行する。
【００９３】
複数複製作成処理中に処理装置４からコンシステンシーグループ内の記憶ボリュームのデータに対しデータの更新や参照すなわちリードやライトのアクセスが発生した場合を考える。例えば、データ整合性保障の機構が無い場合を仮定すると、コピー元ボリュームに対しデータのライトが発生した場合、この更新データは、複製処理済みで「スプリット」状態であるペアのコピー先ボリュームには反映されないが、複製処理が未処理のペアのコピー先ボリュームには複製処理で反映されることとなり、コピー先ボリューム同士においてデータ不一致が生じてしまう。このようなデータ不一致の発生は避けなければならない。一方、本実施の形態の場合、複数複製作成機能においてデータ整合性保障の機構を有し、複製処理中にコピー元ボリュームやコピー先ボリュームに更新や参照のアクセスが発生した場合に、その時点での状況すなわち関連の記憶ボリュームのデータ状態に応じてデータ整合性を保障した更新／参照処理が行われる。前記関連の記憶ボリュームのデータ状態についての把握のために、後述のコピー元退避情報２２やコピー先更新情報２３等の制御情報を用いる。
【００９４】
図５は、制御装置５が管理するグループ管理テーブル３２を示す。グループ管理テーブル３２は、コンシステンシーグループを管理するためのグループ管理情報を保持する。グループ管理情報として、グループ番号、命令受領フラグ等の情報を保持する。なお番号を＃で表わす。グループ番号は、コンシステンシーグループを識別する情報である。命令受領フラグは、処理装置４から複数複製作成命令を受領した際に、処理装置４側から指定されたコピー元ボリュームとコピー先ボリュームに対してコンシステンシーグループが設定されると共に設定される情報である。あるいは、命令受領フラグは、処理装置４側から複数複製作成処理対象となるコンシステンシーグループの指定を受けた際に設定されるようにしてもよい。複数複製作成処理において、命令受領フラグは、コピー元とコピー先を含んだコンシステンシーグループについて複数複製作成処理を開始する際にＯＮされ、またその複数複製作成処理を完了した際にＯＦＦされる。制御装置５は、グループ管理テーブル３２の命令受領フラグの参照により、記憶ボリュームについて複数複製作成処理中であるかどうかを識別できる。制御装置５は、複数複製作成処理中に記憶ボリュームに対する更新／参照のアクセスを受領した際は、命令受領フラグを参照して判断を行い、各状況に応じて更新／参照処理を行う。
【００９５】
前記ペア管理テーブル３１やグループ管理テーブル３２は、制御装置５によりストレージ装置１内のメモリ例えば共用メモリ９に格納され管理される。
【００９６】
＜複数複製作成機能＞
ストレージ装置１の有する複数複製作成機能による複数複製作成処理について説明する。図６は、ストレージ装置１及びこれを含むコンピュータシステムにおける複数複製作成機能に係わる機能ブロック構成を示す図である。ストレージ装置１は、制御装置５のＣＨＡ７とＤＫＡ１０に複数複製作成プログラム２０を有し、複数複製作成プログラム２０は、命令受領処理５１、複製処理５２、転送処理５３、更新／参照処理５４を含む処理を実行させる。ストレージ装置１内のメモリとして例えば共用メモリ９に、複数複製作成プログラム２０が扱う情報として、命令受領情報２１、ペア管理情報３１及びグループ管理情報３２他の管理情報、コピー元退避情報２２、コピー先更新情報２３等が格納される。また、記憶装置６により提供される記憶領域６０に、複数複製作成処理で処理対象となる、関連する複数のＬＵからなるグループ６１が含まれる。グループ６１には、コピー元ボリュームＭ、退避ボリュームＳ、コピー先ボリュームＲ｛Ｒ１〜Ｒｎ｝を含む。すなわち、グループ６１は、コンシステンシーグループと退避ボリュームＳとを含む。処理装置４は、ストレージ装置１に対し、リード／ライト命令（Ｒ／Ｗ命令）を発行する他、複製管理プログラム４６から、複数複製作成命令（複製命令）を発行する。
【００９７】
ストレージ装置１の制御装置５特にＣＨＡ７は、ネットワーク３を介して、処理装置４の複製管理プログラム４６から発行された単一の複製命令を受信する。複製命令には、処理装置４のオペレータによる、一つのコピー元ボリュームＭとその複数のコピー先ボリュームＲの指定が含まれている。制御装置５で動作する複数複製作成プログラム２０は、まず命令受領処理５１を行う。命令受領処理５１として、ＣＨＡ７は、受信した複製命令に基づき、複製命令を受領したことを示す情報（あるいは受信命令自体）と、命令内に含まれているコピー元ボリュームＭとコピー先ボリュームＲの指定情報とを含む命令受領情報２１をストレージ装置１内のメモリ例えば共用メモリ９に格納する。前記命令受領情報２１には、命令受領時刻等を含めてもよい。
【００９８】
次に制御装置５上の複数複製作成プログラム２０は、前記コピー元ボリュームＭとコピー先ボリュームＲの指定に基づき、それら複数のＬＵが含まれたコンシステンシーグループを設定する。複数複製作成プログラム２０は、グループ管理テーブルにおけるグループ管理情報３２を設定する。また、対応してペア管理テーブルにおけるペア管理情報３１を設定する。例えば図５に示すように、グループ＃１のコンシステンシーグループを新たに設定する。そして、例えば図４に示すように、グループ＃１のコンシステンシーグループに、ペア＃１〜ペア＃ｎのｎ個のペアを設定して、各ペアの正ボリュームを正ボリューム＃１、副ボリュームを副ボリューム＃１〜＃ｎと設定する。また、複製命令を受領しているので、グループ管理情報３２におけるグループ＃１の命令受領フラグをＯＮにする。そしてペア管理情報３１におけるグループ＃１に含まれるペア＃１〜＃ｎのペア制御状態をすべて「過渡中」状態に設定する。
【００９９】
グループ＃１の命令受領フラグがＯＮとなったことで、グループ＃１に含まれるペアについての複数複製作成処理が開始された状態であることが識別される。以後、この複数複製作成処理中に処理装置４から複製処理対象ＬＵに対する更新や参照のアクセスが発生した場合は、データ整合性保障のための更新／参照処理５４を実行することで、関連のＬＵのデータにおけるデータ整合性を保障しながら複数の複製が指定のコピー先に作成される。
【０１００】
前記命令受領フラグをＯＮにした後、複数複製作成プログラム２０は、命令元の処理装置４に対して、複数複製作成処理が正常に行われることを示す応答を返す処理を行う。ＣＨＡ７は、命令元の処理装置４に対して当該応答を送信する。
【０１０１】
一処理例として、複数複製作成プログラム２０は、複製命令受領後における指定の各ペアについての複製処理５２を、当該ペアのＬＵに対する更新／参照のアクセスを受領した時点で開始する。すなわち、複製ボリュームの実体（複製データ）を作成する処理は、処理装置４側からその複製ボリューム（実体なし）に対するアクセスが発生した際に開始すればよい。前記複製ボリュームの実体を作成する処理とは、すなわちコピー元ボリュームＭ（正ボリューム）からコピー先ボリュームＲ（副ボリューム）へと必要なデータコピー処理を行って正ボリュームとデータ内容が一致した副ボリュームのデータを作成する処理である。
【０１０２】
また、前記複製ボリュームの実体を作成する処理は、前記命令受領情報２１に基づき当該コンシステンシーグループに含まれる複数のペアについて一つずつ順番に複製処理５２を行うことによってもなされる。複数のペアについて順次に複製処理５２を行う複数複製作成処理例については後述する。
【０１０３】
＜複数複製作成の際の記憶ボリューム＞
図７は、実施の形態１のストレージ装置１で複数複製作成の際に処理対象となるＬＵと制御情報とについて示す説明図である。各実施の形態では、複数複製作成処理に係わるＬＵとして、コピー元ボリュームＭ、複数のコピー先ボリュームＲ｛Ｒ１，Ｒ２，……，Ｒｎ｝、退避ボリュームＳがある。複数複製作成プログラム２０は、一回の複数複製作成処理において処理対象となる複数のペア（ペア＃１〜＃ｎ）について、指定のコピー元ボリュームＭに格納されている複製対象データの複製を、複数の異なるコピー先ボリュームＲ｛Ｒ１，Ｒ２，……，Ｒｎ｝へ作成する処理、すなわち複数回の複製処理５２を行う。各実施の形態では、例として、複数複製作成の際の複製単位をＬＵとする。すなわち、指定のコピー元ボリュームＭとなるＬＵに格納されているすべてのデータを複製対象データとし、この複製対象データと同一データがｎ個のコピー先ボリュームＲとなるＬＵにそれぞれ格納される。なお複数のコピー先ボリュームを区別しない場合をＲで表わす。コピー元ボリュームＭ、コピー先ボリュームＲは、それぞれペアにおける正ボリューム、副ボリュームに対応する。また各実施の形態では、コピー元ボリュームＭとコピー先ボリュームＲのペアの関係は、ツリー状すなわち一つのコピー元ボリュームＭに対して複数のコピー先ボリュームＲがペアとして対応付けされる関係である。一つのコピー元ボリュームＭと複数のコピー先ボリュームＲとで一つのコンシステンシーグループが形成される。
【０１０４】
コピー元ボリュームＭは、複数複製作成の際にコピー元データが格納されているＬＵである。コピー先ボリュームＲは、複数複製作成の際にコピー先データが格納されるＬＵである。退避ボリュームＳは、複数複製作成の際に、複製命令を制御装置５で受領した時点のコピー元データについて後述のデータ整合性保障のために退避処理するために確保及び使用されるＬＵである。コピー元ボリュームＭまたはそれに含まれるコピー元データと、コピー先ボリュームＲとは、処理装置４からの複製命令内において指定される。退避ボリュームＳは、ストレージ装置１における退避処理を行うかどうかの設定に基づき記憶装置６上の記憶領域に確保される。例えば退避ボリュームＳは、退避処理の実行が必要な時にストレージ装置１内で自動的に確保されて使用される。
【０１０５】
コピー元ボリュームＭと複数のコピー先ボリュームＲとで、複数（ｎ個）のペア｛ペア＃１、ペア＃２、……、ペア＃ｎ｝となる。これら複数のペアが、複数複製作成を開始しようとする時点では確立されていなくても構わない。処理装置４からの単一の複製命令において、これら複数のペアに対応するコピー元とコピー先についての指定さえ行われればよく、ストレージ装置１側の処理で複数のペアが確立される。複数複製作成処理におけるコピー元ボリュームＭとコピー先ボリュームＲの各ペアについての複製処理５２により、二つの記憶ボリュームの各「シンプレックス」状態から、ペア制御状態として「過渡中」状態を経由して「スプリット」状態へと遷移される。複数複製作成処理における一つのペアについての複製処理５２は、従来の複製機能で言えばペア分割処理に対応するが、「ペア」状態を経由する必要なしに「スプリット」状態へと遷移すること等が異なる。
【０１０６】
コピー先ボリュームＲは、コピー元ボリュームＭと同一ストレージ装置１内に配置されてもよいし、他のストレージ装置２内に配置されてもよい。また複数のストレージ装置に跨って配置されてもよい。また、コピー先ボリュームＲは、既に設定済みのＬＵが対象であってもよいし、複数複製作成にあたり新規に設定されるＬＵとしてもよい。また、ストレージ装置１内または他のストレージ装置２内に、コピー元ボリュームＭについての退避ボリュームＳが確保される。以下では例としてコピー元ボリュームＭ、複数のコピー先ボリュームＲ、退避ボリュームＳがすべて同一ストレージ装置１内に確保されるものとして説明するが、これら複数の記憶ボリュームは、複数のストレージ装置間に跨った配置が可能である。複数のストレージ装置間に跨った配置の場合、例えばストレージ装置間で、転送処理５３により、例えばＣＨＡ７の制御を通じたデータ転送処理が行われる。
【０１０７】
実施の形態１のストレージ装置１では、ストレージ装置１を含むコンピュータシステムにおけるデータ記憶に関するポリシーに基づき、正ボリュームすなわち前記コピー元ボリュームＭについてのデータ退避処理が行われる。このデータ退避処理は、複数複製作成処理における関連の複数のＬＵにおけるデータ整合性の保障に係わる処理である。データ退避処理は、主にコピー元ボリュームＭのデータに対するライト命令等の更新のアクセスが発生した際に更新前データを退避ボリュームＳにコピーすることで退避する処理である。データの退避後にコピー元ボリュームＭに更新後データがライトされる。データ退避処理を行うか行わないかは処理装置４を使用するユーザが選択できる。退避処理を行う場合、ストレージ装置１内に、コピー元ボリュームＭのデータについての退避用の記憶ボリュームである退避ボリュームＳを設ける。
【０１０８】
＜複数複製作成の際の制御情報＞
前記図７において、ストレージ装置１は、複数複製作成のために使用する制御情報として、コピー元ボリュームＭに対応してコピー元退避情報２２を制御装置５の共用メモリ９内に作成して保持する。また、複数のコピー先ボリュームＲに対応してコピー先更新情報２３｛２３−１，２３−２，……，２３−ｎ｝を制御装置５の共用メモリ９内に作成して保持する。制御装置５で複製命令を受領後に命令受領情報２１を共用メモリ９に格納する際に、指定のコピー元・コピー先となるＬＵにそれぞれ対応してコピー元退避情報２２とコピー先更新情報２３が新規作成される。制御装置５は、前記制御情報（２２，２３）を参照することで複数複製作成に係わる記憶ボリュームにおけるデータ退避の状態とデータ更新の状態をそれぞれ判断する。
【０１０９】
コピー元退避情報２２は、コピー元ボリュームＭに格納されているデータについての退避の状態についてビットマップ形式で管理・識別するために使用される制御情報である。コピー元退避情報２２は、一つのコピー元ボリュームＭにつき一つ作成・保持される。このビットマップでは、コピー元ボリュームＭ内の部分データ１個ごとにＯＮ（“１”）／ＯＦＦ（“０”）の１ビットが対応する。前記部分データは、例えばブロックやトラックやファイルなどが単位である。
【０１１０】
コピー先更新情報２３は、コピー先ボリュームＲに格納されているデータについての更新の状態についてビットマップ形式で管理・識別するために使用される制御情報である。なお前記コピー先ボリュームＲに格納されているデータについての更新とは、処理装置４からのデータのライト命令等による更新を指す。これは複製処理５２でコピー元ボリュームＭ側からデータがコピーされることによる更新ではないことに注意しておく。コピー先更新情報２３は、一つのコピー先ボリュームＲにつき一つ作成・保持される。このビットマップでは、コピー先ボリュームＲ内の部分データ１個ごとにＯＮ（“１”）／ＯＦＦ（“０”）の１ビットが対応する。
【０１１１】
なお本実施の形態ではコピー元退避情報２２、コピー先更新情報２３等の制御情報をビットマップ形式としたが、前記データ退避やデータ更新の状態が識別できれば他の形式としてもよい。
【０１１２】
図８は、前記複数複製作成のための制御情報であるコピー元退避情報２２とコピー先更新情報２３の更新条件について示す表である。制御装置５は、コピー元退避情報２２を、コピー元ボリュームＭ単位で作成して共用メモリ９に格納する。また制御装置５は、コピー先更新情報２３を、コピー先ボリュームＲ単位で作成して共用メモリ９に格納する。制御装置５は、コピー元退避情報２２におけるビットを、処理装置４からの複製命令の受領時にＯＮ（“１”）にする。すなわちコピー元退避情報２２の新規作成時にはビットがすべてＯＮとなる。制御装置５は、コピー元ボリュームＭ内のある部分データについて退避ボリュームＳへの退避が発生した場合に、コピー元退避情報２２における該当部分データに対応するビットを更新すなわちＯＦＦ（“０”）にする。コピー元ボリュームＭのデータへの更新アクセスの発生時、コピー元退避情報２２を参照して対応ビットがＯＦＦであった場合は、退避済み状態であるのでそれ以上はデータ退避処理を行わず、対応ビットもＯＦＦのままとする。
【０１１３】
同様に、制御装置５は、コピー先更新情報２３におけるビットを、処理装置４からの複製命令の受領時にＯＮ（“１”）にする。すなわちコピー先更新情報２３の新規作成時にはビットがすべてＯＮとなる。制御装置５は、コピー先ボリュームＲ内のある部分データについての更新が発生した場合に、コピー先更新情報２３における該当部分データに対応するビットを更新すなわちＯＦＦ（“０”）する。コピー先ボリュームＲのデータへの更新アクセスの発生時、コピー先更新情報２３を参照して対応ビットがＯＦＦであった場合は既に更新済み状態であり、更なる更新処理を行っても対応ビットをＯＦＦのままとする。
【０１１４】
前記図７では、ストレージ装置１での複製命令の受領時の初期状態について示している。例として、コピー元ボリュームＭ内の部分データとしてデータａが格納されている。複製処理５２は未開始であるので、複数のコピー先ボリュームＲは初期状態であり、前記コピー元ボリュームＭのデータａに対応する部分データにおいてデータ無しの状態である。退避ボリュームＳも初期状態であり対応する部分データにおいてデータ無しの状態である。また、制御情報として、コピー元退避情報２２の各ビットはすべてＯＮ（“１”）の状態であり、コピー先更新情報２３の各ビットはすべてＯＮ（“１”）の状態である。
【０１１５】
＜複数複製作成命令＞
処理装置４上の複製管理プログラム４６から発行される複製命令には、命令名や、命令元、命令先の情報に加えて、コピー元ボリュームＭとコピー先ボリュームＲの複数の指定情報が含まれる。例えば前記コピー元とコピー先の指定情報は、処理対象のＬＵである｛Ｍ，Ｒ１，……，Ｒｎ｝についての識別情報、例えばＬＵ番号が含まれ、これにより複数のペア（ペア＃１〜＃ｎ）が指定される。あるいは、前記コピー元とコピー先の指定情報は、設定済みのコンシステンシーグループが指定される形式でもよい。また、コピー元ボリュームＭの指定情報とその複製数ｎを指定する形式や、複数のコピー先ボリュームＲを作成する対象となる記憶領域範囲などを指定する形式でもよい。ストレージ装置１の複数複製作成プログラム２０は、コピー先ボリュームＲの指定が前記複製数ｎの指定のようにＬＵ番号等による直接的な指定ではない形式にも対応する。複数複製作成プログラム２０は、前記各形式に対応して、適宜、複製ボリュームとなるＬＵを選択あるいは新規に確保する処理等を行う。
【０１１６】
複数複製作成の際、処理装置４のオペレータは、複製管理プログラム４６上のユーザインターフェイスを通じて、ストレージ装置１で確保されていて利用可能なＬＵについての情報（ＬＵ情報）を画面に表示して確認する。複製管理プログラム４６は、前記ＬＵ情報以外にも、前記ペア管理情報３１やグループ管理情報３２等に関連する各種情報をコンピュータシステム内のストレージ装置１から取得して表示可能である。処理装置４のオペレータは、前記制御情報の確認に基づき、目的のデータについて複数の複製を作成させるための指定情報を入力する。例えばユーザインターフェイスがＣＵＩの場合、コマンドラインにおいて、複製命令における命令名、前記コピー元とコピー先の複数の指定情報となるＬＵ番号などを入力する。また例えばユーザインターフェイスがＧＵＩの場合、Ｗｅｂブラウザ等において、メニューから複製命令を選択し、またＬＵ管理情報の中からコピー元やコピー先となるＬＵ番号を選択して、その他関連情報を確認してから実行ボタンを押す。処理装置４のオペレータは、画面に表示されるＬＵ情報あるいはペアやコンシステンシーグループに関する情報等の中から、コピー元ボリュームＭやコピー先ボリュームＲとなるＬＵの項目を選択する。これら指示入力に対応して、複製管理プログラム２０の処理によって単一の複製命令が発行され、ネットワーク３を通じて、処理要求先となるコピー元ボリュームＭを有するストレージ装置１に対し送信される。
【０１１７】
＜更新／参照処理＞
ストレージ装置１における複数複製作成処理のうちの更新／参照処理５４について説明する。図９〜図１５は、更新／参照処理５４について説明するための図である。複数複製作成プログラム２０は、複数複製作成処理中にコピー元ボリュームＭあるいはコピー先ボリュームＲに対し処理装置４からデータの更新または参照のアクセスが発生した場合に、更新／参照処理５４を行う。更新／参照処理５４では、基本的な処理方針として、コンシステンシーグループにおける複製処理５２において、複製命令の受領及び複数複製作成処理開始の時点におけるコピー元ボリュームＭのデータの状態をもとに、処理装置４からの更新や参照のアクセスを処理する。複数複製作成プログラム２０は、更新／参照処理５４として、更新／参照のアクセス対象となるＬＵ（データ）についてのペア（アクセス対象ペア）が複製処理５２済みか未処理かで異なる処理を行う。例えば、後述するように複数のペアについての順次の複製処理５２中に更新／参照のアクセスが発生した場合に、前記アクセス対象ペアについて先に複製処理５２を済ませてから該当データのライト処理／リード処理を行う等の制御を行う。
【０１１８】
複数複製作成プログラム２０は、処理対象ＬＵに対する更新／参照アクセスの発生時、前記アクセス対象ペアにおけるＬＵについて、前記制御情報（２２，２３）を参照してデータの退避や更新の状態を判断する。そして複数複製作成プログラム２０は、アクセス対象やアクセス種類や関連ＬＵ（前記グループ６１）におけるデータ状態等に応じて、コピー元ボリュームＭにおけるデータ退避処理及びリード／ライト処理、コピー元からコピー先へのデータコピー処理、及び、コピー先ボリュームＲにおけるリード／ライト処理等を行う。またこれら処理に伴い前記制御情報（２２，２３）の値を更新する。複数複製作成プログラム２０は、更新／参照処理５４の発生に応じて処理対象ペアを適宜選択して複製処理５２を行いながら、コンシステンシーグループ内のすべてのペアについて複製処理５２を完了する。
【０１１９】
複製命令と、関連ＬＵに対する更新／参照の命令との順序については、例えば前記命令受領フラグのＯＮ／ＯＦＦの参照等により判断する。すなわち、制御装置５でリード命令やライト命令を受領した際に、共用メモリ９のグループ管理情報３２における命令受領フラグの値を参照して判断する。またペアについて複製処理５２済みか未処理かについてはペア管理情報３１のペア制御状態の参照等により判断する。ペア制御状態が「スプリット」状態である場合は、そのペアについては複製処理５２済みであるとわかる。
【０１２０】
図９は、更新／参照処理５４に係わる複数複製作成処理例について示す説明図であり、前記図７に対応した複数複製作成処理中の一状態を示している。複数複製作成プログラム２０は、複数のペア（ペア＃１〜＃ｎ）について、指定のコピー元ボリュームＭに格納されている複製対象データの複製を、ｎ個の異なるコピー先ボリュームＲ｛Ｒ１〜Ｒｎ｝へと作成するための複数回の複製処理５２（Ｐ１〜Ｐｎ）を行う。この処理例では、複製処理５２として、ペア＃１についてコピー元ボリュームＭ内の複製対象データをコピー先ボリュームＲ１の対応領域にコピーする複製処理Ｐ１、ペア＃２についてコピー元ボリュームＭ内の複製対象データをコピー先ボリュームＲ２の対応領域にコピーする複製処理Ｐ２、同様にペア＃ｎについてコピー元ボリュームＭ内の複製対象データをコピー先ボリュームＲｎの対応領域にコピーする複製処理Ｐｎまでを行う。複数複製作成プログラム２０は、前記複製処理５２（Ｐ１〜Ｐｎ）を、例えば一つのペアずつ選択しながら順次に実行する。
【０１２１】
前記図７に示すように、コピー元退避情報２２、コピー先更新情報２３｛２３−１〜２３−ｎ｝は、複製命令の受領時点では、ビットがすべてＯＮ（“１”）となる。例えば、前記図６のようにコピー元ボリュームＭのある部分データに初期データａが格納されている状態で、コピー元ボリュームＭ内のデータａを複製対象として複数のコピー先ボリュームＲへ複製を作成させる指定を含んだ複製命令が発行されたものとする。制御装置５での命令受領処理５１後、指定の複数のペア（ペア＃１〜＃ｎ）について、例えば順次に複製処理５２（Ｐ１〜Ｐｎ）が開始される。複製処理５２により、コピー元ボリュームＭ内のデータａがコピー先ボリュームＲにおける対応領域へコピーされる。例えば、図９に示すように、複製処理Ｐ１，Ｐ２で、順にコピー先ボリュームＲ１，Ｒ２へのデータａのコピーが終わる。これによりペア＃１，＃２が「スプリット」状態に遷移される。ペア制御状態が「スプリット」状態であることを点線で示す。この時、その他のコピー先ボリュームＲは対応領域においてデータ無しの状態である。
【０１２２】
例えば前記Ｐ１，Ｐ２までの複製処理５２が完了後に、コピー元ボリュームＭ内のデータａに対し処理装置４から更新のアクセスとして更新データｂを書き込ませるためのライト命令が発生したとする。その場合、複数複製作成プログラム２０は、前記ライト命令を受領後、まずコピー元ボリュームＭの指定位置から更新前データａを退避ボリュームＳの対応位置へ退避処理し、コピー元退避情報２２中の対応ビットをＯＦＦ（“０”）してから、コピー元ボリュームＭの指定位置に更新後データｂを上書きする処理を行う。その後、前記コピー元ボリュームＭに関する複製処理５２は、退避ボリュームＳ内の更新前データａを用いて行われる。すなわち、例えばペア＃２の次のペア＃３（図示しない）に対する複製処理５２で、コピー元ボリュームＭにおける前記更新後データｂを用いてコピー先へのコピー処理が行われてしまうとコピー先ボリュームＲ間でデータａとデータｂとでデータ不整合が生じてしまうが、退避ボリュームＳ内の前記更新前データａを用いてコピーを行えばデータ不整合が生じない。
【０１２３】
また例えば、ペア＃３についての複製処理５２中、処理装置４から、コピー先ボリュームＲ１内の前記データａの部分すなわちコピー処理済みの部分に対し更新のアクセスとしてデータｃを書き込ませるためのライト命令が発生したとする。その場合、複数複製作成プログラム２０は、コピー先ボリュームＲ１がその時点で複製処理５２済みであるので、そのままコピー先ボリュームＲ１のデータａに対し更新データｃを書き込んで更新し、コピー先更新情報２３−１中の対応ビットをＯＦＦ（“０”）にする。
【０１２４】
図１０（ａ）〜（ｄ）は、実施の形態１のストレージ装置１における複数複製作成処理のうちの更新／参照処理５４について、制御情報（２２，２３）と実行処理との対応をまとめた表である。更新または参照のアクセスの発生時におけるコピー元ボリュームＭのデータ状態（退避済みか否か）とコピー先ボリュームＲのデータ状態（更新済みか否か）によって実行処理が異なる。図１０に示す処理は、図１１〜１４に示すフローチャート、図１５に示す状態遷移図にそれぞれ対応している。ストレージ装置１で各状況に応じた処理を実行することで、コンシステンシーグループにおけるデータ整合性が保障される。
【０１２５】
図１０（ａ）は、コピー元ボリュームＭについて更新アクセスが発生した際にストレージ装置１で実行する更新処理を示す。制御装置５は、一つのコピー元ボリュームＭのデータについて更新するためのライト命令を処理装置４から受領すると、共用メモリ９に保持している制御情報を確認する。表に示すように、コピー元退避情報２２における対応ビット、すなわちコピー元ボリュームＭにおける前記ライト命令によるライト指定位置に対応するビットがＯＮ（“１”）である場合、以下の処理を行う。前記コピー元退避情報２２のビットがＯＮであることは、コピー元ボリュームＭにおける対応データが未退避の状態であること、すなわち当該複数複製作成処理においてコピー元ボリュームＭにおける対応位置に対して退避処理を一回も実行したことがない状態を示している。この場合は、まず、コピー元ボリュームＭ内の更新前データについて退避ボリュームＳへ退避すなわちライト処理し、コピー元退避情報２２の前記対応ビットをＯＮ（“１”）からＯＦＦ（“０”）に更新する。そして、前記更新前データの退避後に、コピー元ボリュームＭの対応データを更新後データすなわち処理装置４からのライトデータにより上書きして更新する。一方、前記コピー元退避情報２２の対応ビットがＯＦＦ（“０”）である場合、以下の処理を行う。前記コピー元退避情報２２の対応ビットがＯＦＦ（“０”）であることは、コピー元ボリュームＭにおける対応データが退避済み状態であること、すなわち、当該複数複製作成処理においてコピー元ボリュームＭにおける対応位置に対して退避処理を実行したことがある状態を示している。この場合は、コピー元ボリュームＭ内の更新前データについて退避は行わずに更新後データにより上書きして更新する。複数複製作成処理中、前記更新アクセスの発生及び対応処理の実行後においては、ペアについての複製処理５２を、退避ボリュームＳへの退避データすなわち複数複製作成処理開始時点における状態のコピー元ボリュームＭのデータを用いて行う。これによりコンシステンシーグループにおけるデータ整合性が保障される。
【０１２６】
図１０（ｂ）は、コピー先ボリュームＲについて更新アクセスが発生した際にストレージ装置１で実行する更新処理を示す。制御装置５は、一つのコピー先ボリュームＲのデータについて更新するためのライト命令を処理装置４から受領すると、共用メモリ９に保持している制御情報を確認する。コピー元退避情報２２の対応ビットがＯＮでコピー先更新情報２３の対応ビットがＯＮの場合は、以下の処理を行う。前記コピー先更新情報２３の対応ビットがＯＮであることは、コピー先ボリュームＲにおける対応データが未更新の状態であること、すなわち当該複数複製作成処理においてコピー先ボリュームＲにおける対応位置に対してライト命令によるデータ更新処理を一回も実行したことがない状態を示している。この場合は、まず、コピー元ボリュームＭの更新前データについて退避ボリュームＳへ退避し、コピー元退避情報２２の対応ビットをＯＮからＯＦＦに更新する。そして、指定のコピー先ボリュームＲの対応データを更新後データすなわち処理装置４からのライトデータによりライト処理して更新し、コピー先更新情報２３の対応ビットをＯＮからＯＦＦに更新する。また、コピー元退避情報２２の対応ビットがＯＦＦでコピー先更新情報２３の対応ビットがＯＮの場合は、指定のコピー先ボリュームＲの対応データを同様にライト処理して更新し、コピー先更新情報２３の対応ビットをＯＮからＯＦＦに更新する。また、コピー先更新情報２３の対応ビットがＯＦＦの場合は、コピー先ボリュームＲの対応データをライト処理して更新する。コピー先更新情報２３の対応ビットはＯＦＦのままである。
【０１２７】
図１０（ｃ）は、コピー元ボリュームＭについて参照アクセスが発生した際にストレージ装置１で実行する参照処理を示す。制御装置５は、一つのコピー元ボリュームＭのデータについて参照するためのリード命令を処理装置４から受領すると、制御情報であるコピー元退避情報２２とコピー先更新情報２３の状態に係わらず、指定のコピー元ボリュームＭのデータをリード処理して命令元の処理装置４に対して返す処理を行う。リード対象データに対し既に更新が発生しているなら更新済みの最新データがリードデータとして返されることとなる。
【０１２８】
図１０（ｄ）は、コピー先ボリュームＲについて参照アクセスが発生した際にストレージ装置１で実行する参照処理を示す。制御装置５は、一つのコピー先ボリュームＲのデータについて参照するためのリード命令を処理装置４から受領すると、共用メモリ９に保持している制御情報を確認する。コピー元退避情報２２の対応ビットがＯＮでコピー先更新情報２３の対応ビットがＯＮの場合は、コピー元ボリュームＭの更新前データについて退避ボリュームＳへ退避し、コピー元退避情報２２の対応ビットをＯＮからＯＦＦに更新する。そして、制御装置５は、退避データ（更新前データ）を退避ボリュームＳからリード処理して処理装置４に対して返す処理を行う。この場合、コピー先ボリュームＲとして複数複製作成処理開始時点のコピー元ボリュームＭのデータ（例えば前記データａ）を返すことが目的となるので、上記処理を実行することで対応できる。また、コピー元退避情報２２の対応ビットがＯＦＦでコピー先更新情報２３の対応ビットがＯＮの場合は、退避済み状態であるので、退避ボリュームＳから対応する退避データをリード処理して処理装置４に対して返す処理を行う。また、コピー先更新情報２３の対応ビットがＯＦＦの場合は、指定のコピー先ボリュームＲのリード対象データをリード処理して処理装置４に対し返す。リード対象データに対し既に更新が発生しているので更新済みの最新データがリードデータとして返されることとなる。コピー先更新情報２３の対応ビットはＯＦＦのままである。
【０１２９】
次に、図１１〜図１４のフローを参照しながら各場合における更新／参照処理５４の処理手順について説明する。
【０１３０】
図１１は、前記図１０（ａ）に対応したコピー元更新処理のフローを示す。複数複製作成プログラム２０は、複数複製作成処理中に、コピー元ボリュームＭのデータについて更新するためのライト命令を処理装置４から受領した場合、まず、コピー元退避情報２２における更新対象データに対応するビットを確認する（Ｓ１１１）。前記コピー元退避情報２２の対応ビットがＯＮである場合すなわち未退避状態の場合は、コピー元ボリュームＭの更新前データについて退避ボリュームＳへ退避し（Ｓ１１２）、コピー元退避情報２２の対応ビットをＯＮからＯＦＦに更新する（Ｓ１１３）。そして、コピー元ボリュームＭの更新前データを更新後データすなわち処理装置４からのライトデータにより上書きして更新する（Ｓ１１４）。前記Ｓ１１１でコピー元退避情報２２がＯＦＦである場合すなわち退避済み状態の場合は、コピー元ボリュームＭの対応データを退避は行わずに更新後データにより更新する（Ｓ１１４）。
【０１３１】
図１２は、前記図１０（ｂ）に対応したコピー先更新処理のフローを示す。複数複製作成プログラム２０は、複数複製作成処理中に、コピー先ボリュームＲのデータについて更新するためのライト命令を処理装置４から受領した場合、まず、コピー先更新情報２３における更新対象データに対応するビットを確認する（Ｓ１２１）。前記コピー先更新情報２３の対応ビットがＯＮの場合すなわち未更新状態の場合、更に、コピー元退避情報２２の対応ビットを確認する（Ｓ１２２）。前記コピー元退避情報２２の対応ビットがＯＮの場合すなわち未退避状態の場合、コピー元ボリュームＭの対応データについて退避ボリュームＳへ退避し（Ｓ１２３）、コピー元退避情報２２の対応ビットをＯＮからＯＦＦに更新する（Ｓ１２４）。そして、コピー先ボリュームＲの更新対象データを更新後データすなわち処理装置４からのライトデータにより上書きして更新し（Ｓ１２５）、コピー先更新情報２３の対応ビットをＯＮからＯＦＦに更新する（Ｓ１２６）。前記Ｓ１２２でコピー元退避情報２２がＯＦＦである場合すなわち退避済み状態の場合は、前記コピー元ボリュームＭの対応データの退避は行わずに、前記コピー先ボリュームＲの更新対象データの更新処理とコピー先更新情報２３の更新を行う（Ｓ１２５，Ｓ１２６）。前記Ｓ１２１で前記コピー先更新情報２３の対応ビットがＯＦＦの場合すなわち更新済み状態の場合、コピー先ボリュームＲにおける更新対象データを更新後データにより上書きして更新する処理を行う（Ｓ１２７）。
【０１３２】
図１３は、前記図１０（ｃ）に対応したコピー元参照処理のフローを示す。複数複製作成プログラム２０は、複数複製作成処理中に、コピー元ボリュームＭのデータについて参照するためのリード命令を処理装置４から受領した場合、制御情報であるコピー元退避情報２２とコピー先更新情報２３の状態に係わらず、指定のコピー元ボリュームＭからリード対象となるデータをリード処理して命令元の処理装置４に対して返す処理を行う（Ｓ１３１）。
【０１３３】
図１４は、前記図１０（ｄ）に対応したコピー先参照処理のフローを示す。複数複製作成プログラム２０は、複数複製作成処理中に、コピー先ボリュームＲのデータについて参照するためのリード命令を処理装置４から受領した場合、まず、コピー先更新情報２３におけるリード対象データに対応するビットを確認する（Ｓ１４１）。前記コピー先更新情報２３の対応ビットがＯＮの場合すなわち未更新状態の場合、更に、コピー元退避情報２２の対応ビットを確認する（Ｓ１４２）。前記コピー元退避情報２２の対応ビットがＯＮの場合すなわち未退避状態の場合、コピー元ボリュームＭの対応データについて退避ボリュームＳへ退避し（Ｓ１４３）、コピー元退避情報２２の対応ビットをＯＮからＯＦＦに更新する（Ｓ１４４）。そして、退避ボリュームＳから対応する退避データ（更新前データ）をリード処理して処理装置４に対して返す処理を行う（Ｓ１４５）。前記Ｓ１４２でコピー元退避情報２２の対応ビットがＯＦＦである場合は、退避済み状態であるので退避処理は行わずに、前記退避ボリュームＳから退避データをリード処理して返す処理を行う（Ｓ１４５）。前記Ｓ１４１で、コピー先更新情報２３の対応ビットがＯＦＦの場合すなわち更新済み状態の場合は、指定のコピー先ボリュームＲのリード対象データをリード処理して処理装置４に対し返す処理を行う（Ｓ１４６）。
【０１３４】
図１５は、複数複製作成処理において更新／参照処理５２が行われた場合の、コピー元退避情報２２とコピー先更新情報２３の状態についての状態遷移図である。図中の「ＯＮ―ＯＮ」の状態は、左側でコピー元退避情報２２のビットがＯＮでありかつ右側でコピー先更新情報２３の対応ビットがＯＦＦである状態を示す。他の状態も同様にコピー元退避情報２２のビットとコピー先更新情報２３のビットとのＯＮ・ＯＦＦの組み合わせを示す。図中の矢印は処理装置４からのアクセスの発生及び前記更新／参照処理５４に伴う状態の遷移を示す。例えば前記「ＯＮ―ＯＮ」の状態で、コピー元ボリュームＭへの参照アクセスでは状態は変化せず、コピー元ボリュームＭへの更新アクセスの場合及びコピー先ボリュームＲへの参照アクセスの場合は状態が「ＯＦＦ−ＯＮ」へと遷移し、コピー先ボリュームＲへの更新アクセスの場合は状態が「ＯＦＦ−ＯＦＦ」へと遷移する。他の状態についても前記更新／参照処理５４に伴って図中に示すように状態が遷移される。
【０１３５】
＜複数複製作成処理フロー＞
図１６は、実施の形態１のストレージ装置１での複数複製作成処理の手順を示すフローチャートであり、特に、指定の複数のペアについて順次に複製処理５２を実行する場合の処理手順例を示す。この処理手順では、前記命令受領情報２１に基づきコンシステンシーグループに属する複数のペアについて一つのペアずつ順番に複製処理５２を行う。コピー元からコピー先へ必要なデータコピー処理を行って複製ボリュームを作成する複製処理５２を行って、各ペアを順に「スプリット」状態へと遷移させる。複数複製作成プログラム２０は、コピー元退避情報２２やコピー先更新情報２３、及びペア管理情報３１やグループ管理情報３２等の制御情報を参照してコピー元ボリュームＭやコピー先ボリュームＲにおけるデータの退避や更新の状態を判断しながら、前記複数のペアについて順次に複製処理５２を実行する。前記順次の複製処理５２におけるペアの処理順序については、前記更新／参照処理５２の発生等に応じて適宜選択可能である。
【０１３６】
まず、制御装置５上の複数複製作成プログラム２０は、処理装置４からの複製命令を受信して、命令受領情報２１をストレージ装置１内に格納する命令受領処理を行う（Ｓ１）。例えば処理装置４から複製命令を受信したＣＨＡ７は、共用メモリ９に、コピー元とコピー先の指定情報等を含む命令受領情報２１を格納する処理を行う。次に、複数複製作成プログラム２０は、命令受領情報２１をもとに、グループ管理情報３２において、コピー元ボリュームＭと複数のコピー先ボリュームＲを含んだコンシステンシーグループを設定する。そして、そのグループの命令受領フラグをＯＮにする。また、必要に応じて、前記グループに対応したコピー元退避情報２２やコピー先更新情報２３等の制御情報を作成して共用メモリ９に格納する処理を行う（Ｓ２）。
【０１３７】
複数複製作成プログラム２０は、前記命令受領フラグのＯＮにより複数複製作成処理を開始する（Ｓ３）。例えばＤＫＡ１０は、共用メモリ９に新たな命令受領情報２１が格納されている場合は、その命令受領情報２１を参照して複数複製作成処理を開始する。以後のステップ（Ｓ４〜Ｓ８）で、前記コンシステンシーグループに含まれる複数のペアについて、一つずつ順次に複製処理５２を実行する。
【０１３８】
複数複製作成プログラム２０は、一つのペアについての複製処理５２を実行する前に、複製命令の受領以後にコピー元ボリュームＭやコピー先ボリュームＲに対する更新／参照のアクセスが発生しているかどうかを確認する（Ｓ４）。更新／参照のアクセスが発生している場合（Ｓ４−Ｙｅｓ）、コンシステンシーグループにおけるデータ整合性を保障するために、各種アクセス発生時点の関連ＬＵのデータ状態に応じた更新／参照処理５４を実行する（Ｓ５）。例えば処理装置４からライト命令やリード命令をＣＨＡ７で受信して当該命令が共用メモリ９に格納されている場合にＤＫＡ１０が前記更新／参照処理５４を実行する。
【０１３９】
更新／参照のアクセスが発生していない場合は（Ｓ４−Ｎｏ）、任意に選択した一つのペアについての複製処理５２を実行する（Ｓ６）。複製処理５２では、コピー元ボリュームＭを有するストレージ装置１は、コピー処理位置を示すポインタをもとに、コピー元ボリュームＭ内の複製対象データを所定データ単位例えばトラック単位等で順にコピー先ボリュームＲ内の対応位置へとコピーする処理を行う。例えばＤＫＡ１０は、記憶装置６上のコピー元ボリュームＭに対応するＬＤＥＶから複製対象データをまずキャッシュメモリ８上に読み出し、読み出したデータを記憶装置６上のコピー先ボリュームＲに対応するＬＤＥＶに書き込む処理を行う。コピー先ボリュームＲがコピー元とは別のストレージ装置２内にある場合は、転送処理５３により、ＣＨＡ７及びネットワーク３を通じて複製対象データの転送を行い、転送先のストレージ装置２で、ＣＨＡ７が一旦データをキャッシュしてから、ストレージ装置２内のコピー先ボリュームＲへデータのライト処理を行わせる。
【０１４０】
複製処理５２において一つのペアについてデータコピー処理が終了して複製ボリュームが作成されたら、複数複製作成プログラム２０は、ペア管理情報３１において該当ペアのペア制御状態を「過渡中」状態から「スプリット」状態へと遷移させる（Ｓ７）。
【０１４１】
複製処理５２後、コンシステンシーグループに属するすべてのペアについて複製処理５２が完了したかどうかをペア制御状態の参照等により確認し（Ｓ８）、すべて完了するまで前記複製処理５２を繰り返す。すべてのペアについての複製処理５２の完了後（Ｓ８−Ｙｅｓ）、複数複製作成プログラム２０は、前記グループ管理情報３２における命令受領フラグをＯＦＦにする（Ｓ９）。命令受領フラグをＯＦＦにすることで該当コンシステンシーグループにおける複数複製作成処理が完了したことが識別される。そして、複数複製作成プログラム２０は、例えばＣＨＡ７により命令元の処理装置４に対し、指定された複数の複製の作成を完全に完了したことを報告する応答を返す（Ｓ１０）。
【０１４２】
なお、前記更新／参照処理５４（Ｓ５）に関して、複製処理５２中に更新／参照のアクセスが発生しても該当データの更新／参照を処理せずに、すべてのペアについての複製処理５２が完了してから前記データの更新／参照を処理するように制御してもよい。この制御の場合はその分処理装置４に対する前記データの更新／参照についての応答が遅くなる。
【０１４３】
以上のような処理により、実施の形態１のストレージ装置１では、処理装置４の複製管理プログラム４６から複数の複製を作成させるための命令を発行させる時点で、複数のＬＵについてペアを確立させるための複数回のペア作成命令を発行する必要がない。単一の複製命令によってコピー元とコピー先を複数指定するだけで、ストレージ装置１で複数のペアが確立され、「スプリット」状態すなわち正ボリュームに対する複数の複製ボリュームとなる副ボリュームが作成されて正ボリュームと独立してアクセス可能となる状態になる。またこの複数複製作成処理の際に同タイミングで関連ＬＵに対して更新／参照のアクセスが行われても、データ整合性が保障されながらデータの更新／参照が処理される。また、複数複製作成機能により作成した複数の複製を利用してバックアップ処理を行う等、有用な処理を実現できる。
【０１４４】
＜複数の複製を用いた処理例＞
図１７は、記憶ボリュームのデータについて複数複製作成機能により作成される複数の複製ボリュームを利用した処理の例として、バックアップ処理について示す説明図である。例えば、ストレージ装置１にネットワーク３を介して接続されている処理装置４ａ，４ｂが有る。処理装置４ａは、ストレージ装置１内のコピー元ボリュームＭを利用して、無休で継続するオンライン業務を行っている。すなわち、処理装置４ａは、コピー元ボリュームＭに対し、複数の複製を作成する前後において、データのリード／ライト等のアクセスを行っている。コピー元ボリュームＭについて複数の複製をコピー先ボリュームＲへと作成したい場合、いずれかの処理装置４例えば処理装置４ｂから、コピー元ボリュームＭを有するストレージ装置１に対して複製命令を発行する。そして、ストレージ装置１あるいはストレージ装置１と他のストレージ装置２までを含めた複数複製作成処理によって、コピー元ボリュームＭについての複数の複製ボリューム＃１〜＃ｎを作成させる。例えばストレージ装置１内の記憶領域に複数の複製ボリューム＃１〜＃ｎが作成される。この複数複製作成処理の間も処理装置４ａ，４ｂはコピー元ボリュームＭに対する更新／参照のアクセスが可能である。処理装置４ｂは、複数複製作成処理によって作成された複数の複製ボリューム＃１〜＃ｎのそれぞれについて、コピー元ボリュームＭとは別に利用可能となる。例えば、複製ボリューム＃１を用いてバックアップデバイス９００へのデータのバックアップ処理を行うことができる。またその他の複製ボリューム＃２〜＃ｎをテスト用やバッチ処理用等の他の処理に使い分けることができる。
【０１４５】
バックアップ処理としては、例えば、バックアップデバイス９００を処理装置４ｂと接続して処理装置４ｂを中心にバックアップ処理を行うことができる。この場合、処理装置４ｂを介して、ストレージ装置１に記憶されている複製ボリューム＃１のバックアップデータを取得して、処理装置４ｂからバックアップデバイス９００に対しバックアップデータを格納する。また例えば、処理装置４ｂを介さずにストレージ装置１から直接、ネットワーク３を介してバックアップデバイス９００に対してデータの転送を行ってバックアップデータを格納することもできる。また例えば、ストレージ装置１あるいはコピー元ボリュームＭを利用している処理装置４ａは、作成された複製ボリュームのＬＵ番号を、バックアップ処理を行う処理装置４ｂに対し通知してバックアップ処理を行わせることができる。
【０１４６】
複数複製作成機能の用途としては、前記バックアップ等の各種処理を実行したい場合以外でも、例えば、ライトデータが単一の記憶ボリュームに収まらないサイズを持つために複数の記憶ボリュームに跨って格納される場合や、一つのファイルデータを複数の記憶ボリュームに自動的に格納する制御を行いたい場合などにも有効である。
【０１４７】
（実施の形態２）
次に、本発明の実施の形態２におけるストレージ装置について説明する。図１８〜２７は、実施の形態２のストレージ装置１Ｂを説明するための図である。実施の形態２のストレージ装置１Ｂは、複数複製作成処理の際にコピー元ボリュームＭのデータについての退避処理を行わず退避ボリュームＳも設けない場合に対応した処理形態である。実施の形態２のストレージ装置１Ｂでは、コピー元ボリュームＭやコピー先ボリュームＲのデータに対する更新や参照のアクセスが発生した際にもコピー元ボリュームＭのデータについてのデータ退避処理は行わずに前記更新や参照を処理する。実施の形態２のストレージ装置１Ｂ及びこれを含んだコンピュータシステムのハードウェア構成は、前記図２他に示す実施の形態１の構成と同様である。
【０１４８】
図１８は、実施の形態２のストレージ装置１Ｂ及びこれを含むコンピュータシステムにおける複数複製作成機能に係わる機能ブロック構成を示す図である。処理装置４やネットワーク３を含むコンピュータシステムにおいて、プライマリサイトにストレージ装置１Ｂ、セカンダリサイトにストレージ装置２Ｂを有する。ストレージ装置１Ｂは、制御装置５で複数複製作成プログラム２０Ｂを実行する。複数複製作成プログラム２０Ｂは、命令受領処理５１Ｂ、複製処理５２Ｂ、転送処理５３Ｂ、更新／参照処理５４Ｂを含む処理を実行させる。ストレージ装置１Ｂ内の共用メモリ９に、複数複製作成プログラム２０Ｂが扱う情報として、命令受領情報２１Ｂ、ペア管理情報３１及びグループ管理情報３２他の管理情報、コピー情報２４等が格納される。また、記憶装置６により提供される記憶領域６０Ｂに、複数複製作成処理で処理対象となる、関連する複数のＬＵからなるグループ６１Ｂが含まれる。グループ６１Ｂには、コピー元ボリュームＭ、コピー先ボリュームＲ｛Ｒ１〜Ｒｎ｝を含む。すなわち、グループ６１は、コンシステンシーグループを含む。処理装置４は、ストレージ装置１に対し、リード／ライト命令（Ｒ／Ｗ命令）を発行する他、複製管理プログラム４６Ｂから、複数複製作成命令（複製命令）を発行する。実施の形態１と異なるのは主に、共用メモリ９にコピー情報２４が格納され、記憶装置６上の記憶領域に退避ボリュームＳを設けないこと等である。複数複製作成プログラム２０Ｂは、退避ボリュームＳを用いない複数複製作成処理を行う。コピー情報２４は、複製処理５２Ｂに係わるコピー元ボリュームＭからコピー先ボリュームＲへのデータコピーの状態について識別するための制御情報である。
【０１４９】
複数複製作成プログラム２０Ｂにより実行する処理の概要は実施の形態１の場合と同様である。すなわち、複数複製作成プログラム２０Ｂは、処理装置４の複製管理プログラム４６Ｂから単一の複製命令を受領して、命令受領処理５１Ｂを行い、コピー元ボリュームＭとコピー先ボリュームＲの指定情報を含む命令受領情報２１Ｂを共用メモリ９に格納する。また、前記コピー元とコピー先の指定に基づき、複数のＬＵが含まれたコンシステンシーグループを、グループ管理情報３２やペア管理情報３１において設定する。また、グループ管理情報３２における命令受領フラグをＯＮにする。そしてペア管理情報３１における複数のペアのペア制御状態をすべて「過渡中」状態に設定する。命令受領フラグのＯＮにより複数複製作成処理を開始し、複製処理５２Ｂ及び転送処理５３Ｂによって複数のペアについて複製ボリュームを作成する処理を行う。以後、この複数複製作成処理中に処理装置４から複製処理対象ＬＵに対する更新や参照のアクセスが発生した場合は、データ整合性保障のための更新／参照処理５４Ｂを実行することで、関連ＬＵのデータにおけるデータ整合性を保障しながら複数の複製が指定のコピー先に作成される。複数複製作成プログラム２０Ｂは、複製命令受領後における各ペアについての複製処理５２を、当該ペアのＬＵに対する更新／参照のアクセスを受領した時点で開始する。また、前記複製ボリュームの実体を作成する処理は、命令受領情報２１Ｂに基づき当該コンシステンシーグループに含まれる複数のペアについて一つずつ順番に複製処理５２Ｂを行うことによってもなされる。
【０１５０】
図１９は、実施の形態２のストレージ装置１Ｂで複数複製作成の際に処理対象となるＬＵと制御情報とについて示す説明図である。複数複製作成処理に係わるＬＵとして、コピー元ボリュームＭ、複数のコピー先ボリュームＲ｛Ｒ１，Ｒ２，……，Ｒｎ｝がある。複数複製作成プログラム２０Ｂは、一回の複数複製作成処理において処理対象となる複数のペア（ペア＃１〜＃ｎ）について、指定のコピー元ボリュームＭに格納されている複製対象データの複製を、複数の異なるコピー先ボリュームＲ｛Ｒ１，Ｒ２，……，Ｒｎ｝へ作成する処理を行う。一つのコピー元ボリュームＭと複数のコピー先ボリュームＲとで一つのコンシステンシーグループが形成される。ストレージ装置１における退避処理を行うかどうかの設定に基づき記憶装置６上の記憶領域に退避ボリュームＳは確保されない。コピー元ボリュームＭと複数のコピー先ボリュームＲとで、複数（ｎ個）のペア｛ペア＃１、ペア＃２、……、ペア＃ｎ｝となる。コピー元ボリュームＭとコピー先ボリュームＲの各ペアについての複製処理５２Ｂにより、二つの記憶ボリュームの各「シンプレックス」状態から、ペア制御状態として「過渡中」状態を経由して「スプリット」状態へと遷移される。
【０１５１】
前記図１９において、ストレージ装置１Ｂは、複数複製作成のために使用する制御情報として、コピー元ボリュームＭに対応してコピー情報２４を共用メモリ９内に作成して保持する。コピー情報２４は、コピー元ボリュームＭに格納されているデータについてのコピー先へのデータコピーの状態についてビットマップ形式で管理・識別するために使用される制御情報である。コピー情報２４は、一つのコピー元ボリュームＭにつき一つ作成・保持される。このビットマップでは、コピー元ボリュームＭ内の部分データ１個ごとにＯＮ（“１”）／ＯＦＦ（“０”）の１ビットが対応する。前記部分データは、例えばブロックやトラックやファイルなどが単位である。制御装置５で複製命令を受領後に命令受領情報２１Ｂを共用メモリ９に格納する際に、指定のコピー元となるＬＵに対応してコピー情報２４が新規作成される。制御装置５は、前記制御情報（２４）を参照することで複数複製作成に係わる記憶ボリュームにおける、コピー元からコピー先へのデータコピーの状態を判断する。
【０１５２】
図２０は、コピー情報２４の更新条件について示す表である。複数複製作成プログラム２０Ｂは、コピー情報２４におけるビットを、処理装置４からの複製命令の受領時にＯＮ（“１”）にする。すなわちコピー情報２４の新規作成時にはビットがすべてＯＮとなる。複数複製作成プログラム２０Ｂは、コピー元ボリュームＭ内のある部分データについての複数のコピー先ボリュームＲ｛Ｒ１〜Ｒｎ｝へのデータコピーが発生した場合に、コピー情報２４における該当部分データに対応するビットを更新すなわちＯＦＦ（“０”）にする。すなわち、コピー元ボリュームＭ内の部分データについて複数のコピー先ボリュームＲ｛Ｒ１〜Ｒｎ｝の対応領域へのデータコピーが終了したら、コピー情報２４における対応ビットをＯＦＦにする。
【０１５３】
前記図１９では、ストレージ装置１Ｂでの複製命令の受領時の初期状態について示している。例として、コピー元ボリュームＭ内の部分データとしてデータａが格納されている。複製処理５２Ｂは未開始であるので、複数のコピー先ボリュームＲは初期状態であり、前記コピー元ボリュームＭのデータａに対応する部分データにおいてデータ無しの状態である。また、コピー情報２４の各ビットはすべてＯＮ（“１”）の状態である。
【０１５４】
更新／参照処理５４Ｂについて説明する。図２１〜図２７は、更新／参照処理５４Ｂについて説明するための図である。複数複製作成プログラム２０Ｂは、複数複製作成処理中にコピー元ボリュームＭあるいはコピー先ボリュームＲに対し処理装置４からデータの更新または参照のアクセスが発生した場合に、更新／参照処理５４Ｂを行う。更新／参照処理５４Ｂでは、基本的な処理方針として、コンシステンシーグループにおける複製処理５２Ｂにおいて、複製命令の受領及び複数複製作成処理開始の時点におけるコピー元ボリュームＭのデータの状態をもとに、処理装置４からの更新や参照のアクセスを処理する。複数複製作成プログラム２０Ｂは、更新／参照処理５４Ｂとして、更新／参照のアクセス対象となるＬＵ（データ）についてのペア（アクセス対象ペア）が複製処理５２Ｂ済みか未処理かで異なる処理を行う。例えば、複数のペアについての順次のデータコピー処理中に更新／参照のアクセスが発生した場合に、前記アクセス対象ペアについて先にデータコピー処理を済ませてから該当データのライト処理／リード処理を行う等の制御を行う。
【０１５５】
複数複製作成プログラム２０Ｂは、処理対象ＬＵに対する更新／参照アクセスの発生時、前記アクセス対象ペアにおけるＬＵについて、前記制御情報（２４）を参照してデータコピーの状態を判断する。そして複数複製作成プログラム２０Ｂは、アクセス対象やアクセス種類や関連ＬＵ（前記グループ６１Ｂ）におけるデータ状態等に応じて、コピー元ボリュームＭにおけるリード／ライト処理、コピー元からコピー先へのデータコピー処理、及び、コピー先ボリュームＲにおけるリード／ライト処理等を行う。またこれら処理に伴い前記制御情報（２４）の値を更新する。複数複製作成プログラム２０Ｂは、更新／参照処理５４Ｂの発生に応じて処理対象ペアを適宜選択して複製処理５２Ｂを行いながら、コンシステンシーグループ内のすべてのペアについて複製処理５２Ｂを完了する。
【０１５６】
図２１は、更新／参照処理５４Ｂに係わる複数複製作成処理例について示す説明図であり、前記図１９に対応した複数複製作成処理中の一状態を示している。複数複製作成プログラム２０Ｂは、複数のペア（ペア＃１〜＃ｎ）について、指定のコピー元ボリュームＭに格納されている複製対象データの複製を、ｎ個の異なるコピー先ボリュームＲ｛Ｒ１〜Ｒｎ｝へと作成するための複製処理５２Ｂ（Ｐ）を行う。複数複製作成プログラム２０Ｂは、複製処理５２Ｂ（Ｐ）において、指定のコピー元ボリュームＭ内の部分データを、ｎ個のコピー先ボリュームＲ｛Ｒ１〜Ｒｎ｝へとコピーするための複数のコピー処理（ｐ１〜ｐｎ）を行う。この処理例では、ペア＃１についてコピー元ボリュームＭ内の部分データをコピー先ボリュームＲ１の対応領域にコピーするコピー処理ｐ１、ペア＃２についてコピー元ボリュームＭ内の部分データをコピー先ボリュームＲ２の対応領域にコピーするコピー処理ｐ２、同様にペア＃ｎについてコピー元ボリュームＭ内の部分データをコピー先ボリュームＲｎの対応領域にコピーするコピー処理ｐｎまでを続けて行う。複数複製作成プログラム２０Ｂは、前記コピー処理（ｐ１〜ｐｎ）を、例えば一つのペアずつ選択しながら順次にまとめて実行する。
【０１５７】
例えば、前記図１９のようにコピー元ボリュームＭのある部分データに初期データａが格納されている状態で、コピー元ボリュームＭ内のデータａを複製対象として複数のコピー先ボリュームＲへ複製を作成させる指定を含んだ複製命令が発行されたものとする。制御装置５での命令受領処理５１Ｂ後、複製処理５２Ｂとして、指定の複数のペア（ペア＃１〜＃ｎ）について、例えば順次にデータコピー処理（ｐ１〜ｐｎ）が開始される。データコピー処理５２Ｂにより、コピー元ボリュームＭ内のデータａがコピー先ボリュームＲにおける対応領域へコピーされる。例えば、図２１に示すように、データコピー処理ｐ１〜ｐｎで、順にコピー先ボリュームＲ１〜Ｒｎへのデータａのコピーが終わる。これによりペア＃１〜＃ｎが「スプリット」状態に遷移される。ペア制御状態が「スプリット」状態であることを点線で示す。
【０１５８】
また例えば前記データコピー処理（ｐ１〜ｐｎ）中に、コピー元ボリュームＭ内のデータａに対し処理装置４から更新のアクセスとして更新データｂを書き込ませるためのライト命令が発生したとする。その場合、複数複製作成プログラム２０Ｂは、前記ライト命令を受領後、前記データコピー処理（ｐ１〜ｐｎ）が終了するまで待つ。前記データコピー処理が終了したらコピー情報２４中の対応ビットをＯＦＦ（“０”）してから、コピー元ボリュームＭの指定位置に更新後データｂを上書きする処理を行う。例えば、前記複数のペアについてのデータコピー処理（ｐ１〜ｐｎ）中、例えばペア＃２に対するデータコピー処理ｐ２中に、コピー元ボリュームＭのデータａに対する更新のアクセスが発生したとする。この際に更新前データａをすぐに更新後データｂで更新してしまうと、前記更新後データｂを用いてコピー先ボリュームＲへのコピー処理が行われ、コピー先ボリュームＲ間でデータａとデータｂとでデータ不整合が生じてしまう。従って、前記データコピー処理（ｐ１〜ｐｎ）が終了するまで待ってから、コピー元ボリュームＭの指定位置に更新後データｂを上書きする処理を行えば、データ不整合が生じない。
【０１５９】
また例えば、前記データコピー処理（ｐ１〜ｐｎ）中に、コピー先ボリュームＲ例えばコピー先ボリュームＲ２内の対応データ（複製対象データａに対応する位置のデータ）に対し処理装置４から更新のアクセスとして更新データｃを書き込ませるためのライト命令が発生したとする。その場合、複数複製作成プログラム２０Ｂは、前記ライト命令を受領後、前記データコピー処理（ｐ１〜ｐｎ）が終了するまで待つ。あるいは、アクセス対象のコピー先ボリュームＲ（Ｒ２）に対するデータコピー処理が終了するまで待つ。あるいは、アクセス対象のコピー先ボリュームＲ（Ｒ２）に対するデータコピー処理を優先的に実行する。そして、複数複製作成プログラム２０Ｂは、前記データコピー処理が終了したら、アクセス対象のコピー先ボリュームＲ（Ｒ２）の対応データ（データａ）に対し、その時点でデータコピー処理（ｐ２）済みであるので、更新データｃを書き込んで更新する。
【０１６０】
図２２（ａ）〜（ｄ）は、実施の形態２のストレージ装置１Ｂにおける複数複製作成処理のうちの更新／参照処理５４Ｂについて、制御情報（２４）と実行処理との対応をまとめた表である。更新または参照のアクセスの発生時におけるコピー元ボリュームＭからコピー先ボリュームＲへのデータコピーの状態（コピー済みか否か）によって実行処理が異なる。図２２に示す処理は、図２３〜２６に示すフローチャート、図２７に示す状態遷移図にそれぞれ対応している。ストレージ装置１Ｂで各状況に応じた処理を実行することで、コンシステンシーグループにおけるデータ整合性が保障される。
【０１６１】
図２２（ａ）は、コピー元ボリュームＭについて更新アクセスが発生した際にストレージ装置１で実行する更新処理を示す。制御装置５は、一つのコピー元ボリュームＭのデータについて更新するためのライト命令を処理装置４から受領すると、共用メモリ９に保持している制御情報を確認する。表に示すように、コピー情報２４における対応ビット、すなわちコピー元ボリュームＭにおける前記ライト命令によるライト指定位置に対応するビットがＯＮ（“１”）である場合、以下の処理を行う。前記コピー情報２４のビットがＯＮであることは、コピー元ボリュームＭにおける対応データ（更新対象データ）が未コピー状態であること、すなわち当該複数複製作成処理においてコピー元ボリュームＭの対応データについて複数のコピー先ボリュームＲの対応位置に対するデータコピー処理を実行していない又は完了していない状態を示している。この場合は、まず、コピー元ボリュームＭ内の対応データについて複数のコピー先ボリュームＲへデータコピー処理し、コピー情報２４の対応ビットをＯＮ（“１”）からＯＦＦ（“０”）に更新する。そして、前記更新対象データについてのデータコピー処理後に、コピー元ボリュームＭの対応データを更新後データすなわち処理装置４からのライトデータにより上書きして更新する。一方、前記コピー情報２４の対応ビットがＯＦＦ（“０”）である場合、以下の処理を行う。前記コピー情報２４の対応ビットがＯＦＦ（“０”）であることは、コピー元ボリュームＭにおける対応データがコピー済み状態であること、すなわち当該複数複製作成処理において複数のコピー先ボリュームＲの対応位置に対するデータコピー処理を完了済みである状態を示している。この場合は、コピー元ボリュームＭ内の更新対象データについてそのまま更新後データにより上書きして更新する。コピー情報２４の対応ビットはＯＦＦのままである。このように、複数のコピー先ボリュームＲへすべてデータコピーしてからコピー元ボリュームＭの対象データへの更新が処理される。
【０１６２】
図２２（ｂ）は、コピー先ボリュームＲについて更新アクセスが発生した際にストレージ装置１で実行する更新処理を示す。制御装置５は、一つのコピー先ボリュームＲのデータについて更新するためのライト命令を処理装置４から受領すると、共用メモリ９に保持している制御情報を確認する。コピー情報２４の対応ビットがＯＮは、以下の処理を行う。この場合は、まず、コピー元ボリュームＭ内の対応データについて複数のコピー先ボリュームＲへデータコピー処理し、コピー情報２４の対応ビットをＯＮからＯＦＦに更新する。そして、前記対応データについてのデータコピー処理後に、指定のコピー先ボリュームＲの対応データ（更新対象データ）を更新後データすなわち処理装置４からのライトデータにより上書きして更新する。一方、前記コピー情報２４の対応ビットがＯＦＦである場合、コピー先ボリュームＲ内の更新対象データについてそのまま更新後データにより上書きして更新する。コピー情報２４の対応ビットはＯＦＦのままである。このように、複数のコピー先ボリュームＲへすべてデータコピーしてからコピー先ボリュームＲの対象データへの更新が処理される。あるいは指定のコピー先ボリュームＲへのデータコピー処理が終了してから対象データへの更新が処理される。
【０１６３】
図２２（ｃ）は、コピー元ボリュームＭについて参照アクセスが発生した際にストレージ装置１で実行する参照処理を示す。制御装置５は、一つのコピー元ボリュームＭのデータについて参照するためのリード命令を処理装置４から受領すると、コピー情報２４の状態に係わらず、指定のコピー元ボリュームＭのデータをリード処理して命令元の処理装置４に対して返す処理を行う。
【０１６４】
図２２（ｄ）は、コピー先ボリュームＲについて参照アクセスが発生した際にストレージ装置１で実行する参照処理を示す。制御装置５は、一つのコピー先ボリュームＲのデータについて参照するためのリード命令を処理装置４から受領すると、共用メモリ９に保持している制御情報を確認する。コピー情報２４の対応ビットがＯＮの場合は、以下の処理を行う。この場合は、まず、コピー元ボリュームＭ内の対応データについて複数のコピー先ボリュームＲへデータコピー処理し、コピー情報２４の対応ビットをＯＮからＯＦＦに更新する。そして、前記対応データについてのデータコピー処理後に、指定のコピー先ボリュームＲの対応データ（リード対象データ）をリード処理して命令元の処理装置４に対して返す処理を行う。一方、前記コピー情報２４の対応ビットがＯＦＦである場合、指定のコピー先ボリュームＲ内の対応データについてそのままリード処理して命令元の処理装置４に対して返す処理を行う。
【０１６５】
次に、図２３〜図２６のフローを参照しながら各場合における更新／参照処理５４Ｂの処理手順について説明する。
【０１６６】
図２３は、前記図２２（ａ）に対応したコピー元更新処理のフローを示す。複数複製作成プログラム２０Ｂは、複数複製作成処理中に、コピー元ボリュームＭのデータについて更新するためのライト命令を処理装置４から受領した場合、まず、コピー情報２４における更新対象データに対応するビットを確認する（Ｓ２３１）。前記コピー情報２４の対応ビットがＯＮである場合すなわち未コピー状態の場合は、コピー元ボリュームＭの対応データについてコピー先ボリュームの対応位置へデータコピー処理し（Ｓ２３２）、コピー情報２４の対応ビットをＯＮからＯＦＦに更新する（Ｓ２３３）。そして、コピー元ボリュームＭの対応データを更新後データすなわち処理装置４からのライトデータにより上書きして更新する（Ｓ２３４）。前記Ｓ２３１でコピー情報２４がＯＦＦである場合すなわちコピー済み状態の場合は、コピー元ボリュームＭの対応データをそのまま更新後データにより更新する（Ｓ２３４）。
【０１６７】
図２４は、前記図２２（ｂ）に対応したコピー先更新処理のフローを示す。複数複製作成プログラム２０Ｂは、複数複製作成処理中に、コピー先ボリュームＲのデータについて更新するためのライト命令を処理装置４から受領した場合、まず、コピー情報２４における更新対象データに対応するビットを確認する（Ｓ２４１）。前記コピー情報２４の対応ビットがＯＮの場合すなわち未コピー状態の場合、コピー元ボリュームＭの対応データについて複数のコピー先ボリュームＲへデータコピー処理し（Ｓ２４２）、コピー情報２４の対応ビットをＯＮからＯＦＦに更新する（Ｓ２４３）。そして、コピー先ボリュームＲの対応データを更新後データすなわち処理装置４からのライトデータにより上書きして更新する（Ｓ２４４）。前記Ｓ２４１でコピー情報２４がＯＦＦである場合すなわちコピー済み状態の場合は、前記コピー先ボリュームＲにの対応データをそのまま更新後データにより更新する（Ｓ２４４）。
【０１６８】
図２５は、前記図２２（ｃ）に対応したコピー元参照処理のフローを示す。複数複製作成プログラム２０Ｂは、複数複製作成処理中に、コピー元ボリュームＭのデータについて参照するためのリード命令を処理装置４から受領した場合、コピー情報２４の状態に係わらず、指定のコピー元ボリュームＭからリード対象となるデータをリード処理して命令元の処理装置４に対して返す処理を行う（Ｓ２５１）。
【０１６９】
図２６は、前記図２２（ｄ）に対応したコピー先参照処理のフローを示す。複数複製作成プログラム２０Ｂは、複数複製作成処理中に、コピー先ボリュームＲのデータについて参照するためのリード命令を処理装置４から受領した場合、まず、コピー情報２４におけるリード対象データに対応するビットを確認する（Ｓ２６１）。前記コピー情報２４の対応ビットがＯＮの場合すなわち未コピー状態の場合、コピー元ボリュームＭの対応データについて複数のコピー先ボリュームＲへデータコピー処理し（Ｓ２６２）、コピー情報２４の対応ビットをＯＮからＯＦＦに更新する（Ｓ２６３）。そして、コピー元ボリュームＭから対応する対応データ（リード対象データ）をリード処理して命令元の処理装置４に対して返す処理を行う（Ｓ２６４）。前記Ｓ２６１でコピー情報２４の対応ビットがＯＦＦである場合は、前記コピー元ボリュームＭから対応データをリード処理して返す処理を行う（Ｓ２６１）。
【０１７０】
図２７は、複数複製作成処理において更新／参照処理５２Ｂが行われた場合の、コピー情報２４の状態についての状態遷移図である。図中の「ＯＮ」の状態は、コピー情報２４のビットがＯＮである状態を示す。また「ＯＦＦ」の状態は、コピー情報２４のビットがＯＦＦである状態を示す。図中の矢印は処理装置４からのアクセスの発生及び前記更新／参照処理５４Ｂに伴う状態の遷移を示す。例えば前記「ＯＮ」の状態で、コピー元ボリュームＭへの参照アクセスでは状態は変化せず、コピー元ボリュームＭへの更新アクセスの場合及びコピー先ボリュームＲへの更新アクセスの場合及びコピー先ボリュームへの参照アクセスの場合は、状態が「ＯＦＦ」へと遷移する。前記「ＯＦＦ」の状態についても前記更新／参照処理５４Ｂに伴って図中に示すように状態が遷移される。
【０１７１】
以上のような処理により、実施の形態２のストレージ装置１Ｂでも、実施の形態１と同様に、複数回のペア作成命令を発行する必要がない。また複数複製作成処理の際にデータ整合性が保障されながらデータの更新／参照が処理される。また、複数複製作成機能により作成した複数の複製を利用してバックアップ処理を行う等、有用な処理を実現できる。
【０１７２】
＜記憶ボリュームの配置パターン＞
次に、図２８（ａ），（ｂ）は、前記各実施の形態での複数複製作成処理に係わるＬＵの配置パターンについて示す表である。図２８（ａ）は、実施の形態１に対応し、ストレージ装置１に退避ボリュームＳを設けて退避処理を行う場合のＬＵの配置パターンを示す。パターンＡとパターンＢは、コピー先ボリュームＲがコピー元ボリュームＭと同一ストレージ装置１（「筐体１」）内に作成される場合である。パターンＣとパターンＤは、コピー先ボリュームＲがコピー元ボリュームＭと異なるストレージ装置２（「筐体２」）内に作成される場合である。また、パターンＡとパターンＣは、退避ボリュームＳがコピー元ボリュームＭと同一ストレージ装置１（「筐体１」）内に作成される場合である。パターンＢとパターンＤは、退避ボリュームＳがコピー元ボリュームＭと異なるストレージ装置２（「筐体２」）内に作成される場合である。複数複製作成処理の際、コピー元ボリュームＭとコピー先ボリュームＲの配置が複数のストレージ装置間に跨る場合、前記転送処理５２等によりストレージ装置間でのデータ転送の制御が行われる。
【０１７３】
退避ボリュームＳを設けた処理形態（実施の形態１）の場合、その分記憶リソースを消費することとなるが、代わりに、コピー元ボリュームＭのデータに更新が発生した際の更新前データの保護が十分に行われるので、複数複製作成における応答が早くなる。すなわち処理時間が短くなる。退避ボリュームＳを設けない処理形態（実施の形態２）の場合、その分記憶リソースを節約できるが、代わりに、コピー元ボリュームＭのデータに更新が発生した際の更新前データの退避は行わないことから、その分複数複製作成における応答が遅くなる。すなわち処理時間が長くなる。
【０１７４】
コピー元ボリュームＭとコピー先ボリュームＲが同一ストレージ装置内に作成される場合は、複数複製作成の際にＬＵ間のデータコピーをストレージ装置内で完結させるので処理に要する時間が短くて済む利点がある。コピー元ボリュームＭとコピー先ボリュームＲが異なるストレージ装置内に作成される場合は、その分ＬＵのデータコピー処理に時間を要する代わりに、一方のストレージ装置で災害等による障害の発生によりＬＵのデータが失われた場合でも、他方のストレージ装置でのＬＵを用いてリカバリが可能である利点がある。退避ボリュームＳの配置についても同様であり、コピー元ボリュームＭと退避ボリュームＳが同一ストレージ装置内に作成される場合は、複数複製作成の際にデータ退避処理をストレージ装置内で完結させるので処理に要する時間が短くて済む。コピー元ボリュームＭと退避ボリュームＳが異なるストレージ装置内に作成される場合は、その分退避処理に時間を要する代わりに、一方のストレージ装置で障害の発生により退避に関するデータが失われた場合でも、他方のストレージ装置でのＬＵのデータを用いてリカバリが可能である。
【０１７５】
図２８（ｂ）は、実施の形態２に対応し、ストレージ装置１Ｂに退避ボリュームＳを設けず退避処理を行わない場合の記憶ボリュームの配置パターンを示す。パターンＥは、コピー先ボリュームＲがコピー元ボリュームＭと同一ストレージ装置１Ｂ（「筐体１」）内に作成される場合である。パターンＦは、コピー先ボリュームＲがコピー元ボリュームＭと異なるストレージ装置２Ｂ（「筐体２」）内に作成される場合である。前記図２８（ａ）と同様に、各パターンの利点がある。
【０１７６】
＜処理変形例＞
前記各実施の形態に係わる処理変形例について説明する。まず、ストレージ装置において、前記退避ボリュームＳを設ける場合の複数複製作成処理（実施の形態１）と設けない場合の複数複製作成処理（実施の形態２）を混在させた処理を行うことが可能である。例えば前記退避ボリュームＳを設ける場合の複数複製作成処理と設けない場合の処理を識別する情報をもとにストレージ装置で複数複製作成処理を選択する。例えば処理装置４のユーザは、複製管理プログラム４６上のユーザインターフェイスにおいて退避ボリュームＳを用いた複数複製作成を行うか否かを指示入力し、複製管理プログラム４６がこれに対応する命令をストレージ装置１に対して発行する。
【０１７７】
図２９は、複数複製作成処理におけるコピー元ボリュームＭとコピー先ボリュームＲのペアにおける他の関係を示す説明図である。前記各実施の形態での複数複製作成処理において、コピー元ボリュームＭとコピー先ボリュームＲのペアの関係は、前述した例のようなツリー状に限らず、一つのコピー元ボリュームＭと一つのコピー先ボリュームＲのペアが複数並列となる関係も可能である。複数のコピー元ボリュームＭ｛Ｍ１，Ｍ２，……，Ｍｎ｝のそれぞれについてコピー先ボリュームＲ｛Ｒ１，Ｒ２，……，Ｒｎ｝が対応し、複数のペア｛ペア＃１、ペア＃２、……、ペア＃ｎ｝となる。各コピー元ボリュームＭについて退避処理を行う場合、一つのコピー元ボリュームＭ単位で一つのコピー元退避情報２２が作成され、また一つのコピー先ボリュームＲに対し一つのコピー先更新情報２３が作成されて、前記実施の形態１と同様にデータの退避や更新の状態が管理される。同様に、コピー元ボリュームＭについて退避処理を行わない場合、各コピー元ボリュームＭに対し前記コピー情報２４に相当する情報が作成され、前記実施の形態２と同様にコピー元からコピー先へのデータコピーの状態が管理される。
【０１７８】
また、処理装置４側から前記複製命令を受ける対象となるＬＵは正ボリュームに限らなくともよく、前記複製命令を受ける対象が副ボリュームであっても動作可能である。複製命令内にコピー元ボリュームＭとコピー先ボリュームＲの指定情報が含まれるので、例えば、処理装置４から副ボリュームを処理要求先として複製命令を発行しても、複数のストレージ装置側で前記複製命令の解釈を行って適切な処理を実行する。
【０１７９】
また、前記処理装置４上の複製管理プログラム４６におけるユーザインターフェイスとして、複数複製作成処理対象となるデータに関し、コピー元ボリュームＭやコピー先ボリュームＲの実体を見せる形態とすることもできるし、見せない形態とすることもできる。前記実体を見せる形態とは、ストレージ装置内におけるＬＵの配置や制御情報などをオペレータに対し提示して操作可能にすることである。また、前記実体を見せない形態とは、ストレージ装置内での実際のデータの配置や制御情報などは見せず、データの番号や名称、複製の番号や名称といった情報のみをオペレータに対し提示して操作可能にすることである。
【０１８０】
また、複数複製作成処理対象となるＬＵの容量は、コピー元ボリュームＭとコピー先ボリュームＲとで容量を同一にすることには限らない。例えば、ある容量のコピー元ボリュームＭにおいて、それに含まれる部分的なデータセットすなわち前記コピー元ボリュームＭの容量よりも少ない容量のデータを複製対象として複数の複製を作成する場合に、コピー元ボリュームＭの容量と同一のコピー先ボリュームＲに複製を作成するのではなく、異なる容量のコピー先ボリュームＲへと複製を作成すること等が可能である。
【０１８１】
＜前提技術との比較＞
本発明の実施の形態との比較のために、本発明の発明者が発明の前提技術として検討した複製機能について、図３０を参照して説明する。図３０（ａ），（ｂ）は、前提技術となる複製機能についての概要を示す説明図である。（ａ）は、記憶ボリュームのデータについての複数の複製を作成する際の記憶ボリュームの関係を示す。（ｂ）は、複数の複製を作成する際のデータ整合性保障機構が無い場合の処理順序の例を示す。（ａ）に示すように、例として一つのコピー元ボリュームＭに対しその複製として二つのコピー先ボリュームＲ１，Ｒ２を作成する場合について説明する。
【０１８２】
複製の作成にあたって、まず、二つの「コピー元ボリューム−コピー先ボリューム」のペアとなるペア＃１とペア＃２を確立する必要がある。（ｂ）に示すように、ホストとなる処理装置における当該複製機能実行のための管理プログラムを通じて、ストレージ装置に対し、時系列で順に、ペア作成命令Ｃ１、ペア作成命令Ｃ２、ペア分割命令Ｃ３を発行する必要がある。ペア作成（ペアクリエイト）命令Ｃ１は、コピー元ボリュームＭとコピー先ボリュームＲ１のペア＃１を確立させるための命令である。ペア作成命令Ｃ２は、コピー元ボリュームＭとコピー先ボリュームＲ２のペア＃２を確立させるための命令である。ペア分割（ペアスプリット）命令Ｃ３は、命令Ｃ１，Ｃ２で指定及び確立されるペア＃１，＃２について必要なデータコピーを行って複製データを作成させるための命令である。処理装置のオペレータはこれら命令Ｃ１〜Ｃ３を発行させるための指示を管理プログラム上のユーザインターフェイスを通じて順に入力する。入力に基づき管理プログラムから対応する命令が発行されて、ストレージ装置に対し送信される。
【０１８３】
前記ペア作成命令Ｃ１，Ｃ２を処理装置から受領したストレージ装置は、指定されたペア＃１、ペア＃２の作成処理を行う。すなわち、ストレージ装置内で、各ペアにおいて正ボリュームと副ボリュームとして対応付けされ、ペア制御状態が「ペア」状態となる。このペア作成処理により、「コピー元ボリューム−コピー先ボリューム」のペア＃１、ペア＃２が確立された状態となる。続けて、ストレージ装置は、前記命令Ｃ３の受領に対応して、前記ペア＃１、ペア＃２について、ストレージ装置内部でのコピー処理により、コピー元ボリュームＭのデータの複製を二つのコピー先ボリュームＲ１，Ｒ２へと作成するペア分割処理を行う。すなわち、コピー元ボリュームＭからコピー先ボリュームＲ１へ必要なデータをコピーする処理１、及びコピー元ボリュームＭからコピー先ボリュームＲ２へ必要なデータをコピーする処理２を順に行う。例えば、コピー元ボリュームＭ内に格納されている複製対象データａが、コピー先ボリュームＲ１内の対応領域、コピー先ボリュームＲ２内の対応領域へそれぞれ順にコピーされる。
【０１８４】
上記命令Ｃ１〜Ｃ３による処理を通じて作成された二つのペア＃１，＃２は、「ペア」状態を経由して「スプリット」状態となり、それぞれ個別に利用して更新／参照が可能となる。その後、前記コピー元ボリュームＭのデータに発生した更新を複数のコピー先ボリュームＲ１，Ｒ２に反映させてデータ内容を一致させる処理を行わせたい場合は、そのための命令（ペアリシンク命令）の発行に基づきデータ再同期化処理が行われる。なお、ここでは一つのコピー元ボリュームに対する複数のコピー先ボリュームを作成する場合について示したが、複数のコピー元ボリュームに対してそれぞれのコピー先ボリュームを作成したい場合についても同様である。
【０１８５】
ここで、前記命令Ｃ３による処理開始時点から、関連する複数の記憶ボリュームからなるグループ｛Ｍ，Ｒ１，Ｒ２｝におけるデータ整合性を保障する必要がある。例えば、（ｂ）に示すように、前記命令Ｃ３の発行後、ストレージ装置内部の処理１によりコピー元ボリュームＭのデータａがコピー先ボリュームＲ１にコピーされた直後、処理装置からの命令Ｃ４によってコピー元ボリュームＭのデータａに対する更新、例としてデータｂのライトが発生したものとする。データ整合性保障のための機構が無い場合、前記更新のための命令Ｃ４に対応するストレージ装置内部の処理２で、コピー元ボリュームＭのデータａに対しデータｂがライトされた後、処理３でコピー元ボリュームＭのデータｂが、コピー先ボリュームＲ２にコピーされる。そのため、コピー先ボリュームＲ１のデータａとコピー先ボリュームＲ２のデータｂとでデータ内容が不一致の状態となってしまう。
【０１８６】
上記前提技術に比べて本発明の各実施の形態のストレージ装置では、複数の複製を作成したい場合に、処理装置４から前記命令Ｃ１，Ｃ２のような複数のペアを確立させるための命令を時系列で発行する必要がなく、単一の複数複製作成命令の発行で済む。従ってオペレータ及び処理装置４の負担が削減される。また、複数複製作成処理の際に前記更新／参照処理５４等によってデータ整合性を保障しながら複製を作成できる。
【０１８７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【０１８８】
本発明は、ストレージ装置及びデータ記憶制御に係わるコンピュータシステムに利用可能である。
【図面の簡単な説明】
【０１８９】
【図１】本発明の各実施の形態に係わるストレージ装置全体のハードウェア外観構成を示す図である。
【図２】本発明の実施の形態１におけるストレージ装置を含んで構成されるコンピュータシステムの機能ブロック構成を示す図である。
【図３】本発明の各実施の形態に係わる処理装置の機能ブロック構成を示す図である。
【図４】本発明の実施の形態１におけるストレージ装置で制御装置が管理するペア管理テーブルを示す図である。
【図５】本発明の実施の形態１におけるストレージ装置で制御装置が管理するグループ管理テーブルを示す図である。
【図６】本発明の実施の形態１におけるストレージ装置及びこれを含むコンピュータシステムにおける複数複製作成機能に係わる機能ブロック構成を示す図である。
【図７】本発明の実施の形態１のストレージ装置で複数複製作成の際に処理対象となるＬＵと制御情報とについて示す説明図である。
【図８】本発明の実施の形態１のストレージ装置で複数複製作成のための制御情報であるコピー元退避情報とコピー先更新情報の更新条件について示す表である。
【図９】本発明の実施の形態１のストレージ装置で更新／参照処理に係わる複数複製作成処理例について示す説明図である。
【図１０】（ａ）〜（ｄ）は、本発明の実施の形態１のストレージ装置における複数複製作成処理のうちの更新／参照処理について、制御情報と実行処理との対応をまとめた表である。
【図１１】本発明の実施の形態１のストレージ装置で更新／参照処理のうちコピー元更新処理の手順を示すフロー図である。
【図１２】本発明の実施の形態１のストレージ装置で更新／参照処理のうちコピー先更新処理の手順を示すフロー図である。
【図１３】本発明の実施の形態１のストレージ装置で更新／参照処理のうちコピー元参照処理の手順を示すフロー図である。
【図１４】本発明の実施の形態１のストレージ装置で更新／参照処理のうちコピー先参照処理の手順を示すフロー図である。
【図１５】本発明の実施の形態１のストレージ装置で複数複製作成処理において更新／参照処理が行われた場合の、コピー元退避情報とコピー先更新情報の状態についての状態遷移図である。
【図１６】本発明の実施の形態１のストレージ装置での複数複製作成処理の手順を示すフロー図であり、特に、複数のペアについて順次に複製処理を実行する場合の処理手順例を示す。
【図１７】本発明の各実施の形態のストレージ装置で複数複製作成機能により作成される複数の複製ボリュームを利用した処理の例としてバックアップ処理について示す説明図である。
【図１８】本発明の実施の形態２におけるストレージ装置及びこれを含むコンピュータシステムにおける複数複製作成機能に係わる機能ブロック構成を示す図である。
【図１９】本発明の実施の形態２のストレージ装置で複数複製作成の際に処理対象となるＬＵと制御情報とについて示す説明図である。
【図２０】本発明の実施の形態２のストレージ装置で複数複製作成のための制御情報であるコピー情報の更新条件について示す表である。
【図２１】本発明の実施の形態２のストレージ装置で更新／参照処理に係わる複数複製作成処理例について示す説明図である。
【図２２】（ａ）〜（ｄ）は、本発明の実施の形態２のストレージ装置における複数複製作成処理のうちの更新／参照処理について、制御情報と実行処理との対応をまとめた表である。
【図２３】本発明の実施の形態２のストレージ装置で更新／参照処理のうちコピー元更新処理の手順を示すフロー図である。
【図２４】本発明の実施の形態２のストレージ装置で更新／参照処理のうちコピー先更新処理の手順を示すフロー図である。
【図２５】本発明の実施の形態２のストレージ装置で更新／参照処理のうちコピー元参照処理の手順を示すフロー図である。
【図２６】本発明の実施の形態２のストレージ装置で更新／参照処理のうちコピー先参照処理の手順を示すフロー図である。
【図２７】本発明の実施の形態２のストレージ装置で複数複製作成処理において更新／参照処理が行われた場合の、コピー情報の状態についての状態遷移図である。
【図２８】（ａ），（ｂ）は、本発明の各実施の形態での複数複製作成処理に係わるＬＵの配置パターンについて示す表である。
【図２９】本発明の各実施の形態に係わる複数複製作成処理におけるコピー元ボリュームとコピー先ボリュームのペアにおける他の関係を示す説明図である。
【図３０】（ａ），（ｂ）は、前提技術となる複製機能についての概要を示す説明図である。
【符号の説明】
【０１９０】
１，１Ｂ，２，２Ｂ，６００…ストレージ装置、３…ネットワーク、４，４ａ，４ｂ…処理装置、５…制御装置、６…記憶装置、７…ＣＨＡ、８…キャッシュメモリ、９…共用メモリ、１０…ＤＫＡ、１１…接続部、２０…複数複製作成プログラム、２１，２１Ｂ…命令受領情報、２２…コピー元退避情報、２３…コピー先更新情報、２４…コピー情報、３１…ペア管理情報、３２…グループ管理情報、４１…ＣＰＵ、４２…メモリ、４３…ポート、４４…入力装置、４５…出力装置、４６，４６Ｂ…複製管理プログラム、４７…アプリケーションプログラム、５１，５１Ｂ…命令受領処理、５２，５２Ｂ…複製処理、５３，５３Ｂ…転送処理、５４，５４Ｂ…更新／参照処理、６０，６０Ｂ…記憶領域、６１，６１Ｂ…グループ、１００…制御装置筐体、１６０…管理端末、３００…記憶装置筐体、９００…バックアップデバイス。
【図１】
2006031579.tif 000003
【図２】
2006031579.tif 000004
【図３】
2006031579.tif 000005
【図４】
2006031579.tif 000006
【図５】
2006031579.tif 000007
【図６】
2006031579.tif 000008
【図７】
2006031579.tif 000009
【図８】
2006031579.tif 000010
【図９】
2006031579.tif 000011
【図１０】
2006031579.tif 000012
【図１１】
2006031579.tif 000013
【図１２】
2006031579.tif 000014
【図１３】
2006031579.tif 000015
【図１４】
2006031579.tif 000016
【図１５】
2006031579.tif 000017
【図１６】
2006031579.tif 000018
【図１７】
2006031579.tif 000019
【図１８】
2006031579.tif 000020
【図１９】
2006031579.tif 000021
【図２０】
2006031579.tif 000022
【図２１】
2006031579.tif 000023
【図２２】
2006031579.tif 000024
【図２３】
2006031579.tif 000025
【図２４】
2006031579.tif 000026
【図２５】
2006031579.tif 000027
【図２６】
2006031579.tif 000028
【図２７】
2006031579.tif 000029
【図２８】
2006031579.tif 000030
【図２９】
2006031579.tif 000031
【図３０】
2006031579.tif 000032