(57)【特許請求の範囲】
【請求項１】
コピー元データを格納するコピー元ボリュームと、
前記コピー元データのコピーを格納するコピー先ボリュームと、
前記コピー元ボリュームに記憶されたコピー元データのコピーを、前記コピー先ボリュームに格納するコピー処理を実行するコピー処理部と、
コピー処理にかかるコピー実行準備を行ない、該コピー処理をコピー実行待機状態に設定するコピー実行管理部と、
前記コピー実行待機状態に設定されたコピー処理のうち、上位装置からのアクティブ化指示によって指定されたコピー処理に対してアクティブ化対象であることを示すアクティブ化対象情報を設定するアクティブ化管理部と、
前記アクティブ化指示とは非同期の、前記アクティブ化対象情報が設定されたコピー処理の対象領域に重なるコピー元ボリュームに対するデータアクセス要求を受信したタイミングで、前記アクティブ化対象情報が設定されているコピー実行待機状態の複数のコピー処理に対して、前記コピー実行待機状態を解除してアクティブ化し、前記コピー処理部に該複数のコピー処理を一斉に実行させるコピー制御部と、を備えることを特徴とする、ストレージ装置。
【請求項２】
前記アクティブ化対象情報が設定されたコピー処理にかかるコピー元ボリュームに対するデータアクセス要求を受信すると、
該データアクセス要求に対応するデータアクセスの実行に先立って、前記コピー処理部は、前記コピー元ボリュームにおける当該データアクセス要求の対象領域のデータを前記コピー先ボリュームにコピーすることを特徴とする、請求項１記載のストレージ装置。
【請求項３】
コピー元ボリュームに記憶されたコピー元データのコピー先ボリュームへのコピー制御を行う制御装置において、
前記コピー元ボリュームに記憶されたコピー元データのコピーを、前記コピー先ボリュームに格納するコピー処理を実行するコピー処理部と、
コピー処理にかかるコピー実行準備を行ない、該コピー処理をコピー実行待機状態に設定するコピー実行管理部と、
前記コピー実行待機状態に設定されたコピー処理のうち、アクティブ化指示によって指定されたコピー処理に対してアクティブ化対象であることを示すアクティブ化対象情報を設定するアクティブ化管理部と、
前記アクティブ化指示とは非同期の、前記アクティブ化対象情報が設定されたコピー処理の対象領域に重なるコピー元ボリュームに対するデータアクセス要求を受信したタイミングで、前記アクティブ化対象情報が設定されているコピー実行待機状態の複数のコピー処理に対して、前記コピー実行待機状態を解除してアクティブ化し、前記コピー処理部に該複数のコピー処理を一斉に実行させるコピー制御部と、を備えることを特徴とする、制御装置。
【請求項４】
前記アクティブ化対象情報が設定されたコピー処理にかかるコピー元ボリュームに対するデータアクセス要求を受信すると、
前記データアクセス要求に対応するデータアクセスの実行に先立って、前記コピー処理部は、前記コピー元ボリュームにおける当該データアクセス要求の対象領域のデータを前記コピー先ボリュームにコピーすることを特徴とする、請求項３記載の制御装置。
【請求項５】
コピー元ボリュームに記憶されたコピー元データのコピー先ボリュームへのコピー制御を行う制御機能をコンピュータに実行させるためのプログラムであって、
前記コピー元ボリュームに記憶されたコピー元データのコピーを、前記コピー先ボリュームに格納するコピー処理にかかるコピー実行準備を行ない、該コピー処理をコピー実行待機状態に設定し、
前記コピー実行待機状態に設定されたコピー処理のうち、アクティブ化指示によって指定されたコピー処理に対してアクティブ化対象であることを示すアクティブ化対象情報を設定し、
前記アクティブ化指示とは非同期の、前記アクティブ化対象情報が設定されたコピー処理の対象領域に重なるコピー元ボリュームに対するデータアクセス要求を受信したタイミングで、前記アクティブ化対象情報が設定されているコピー実行待機状態の複数のコピー処理に対して、前記コピー実行待機状態を解除してアクティブ化し、該複数のコピー処理を一斉に実行する、
処理を前記コンピュータに実行させるプログラム。
【請求項６】
前記アクティブ化対象情報が設定されたコピー処理にかかるコピー元ボリュームに対するデータアクセス要求を受信すると、
前記データアクセス要求に対応するデータアクセスの実行に先立って、前記コピー処理部は、前記コピー元ボリュームにおける当該データアクセス要求の対象領域のデータを前記コピー先ボリュームにコピーする、
処理を前記コンピュータに実行させる、請求項５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージ装置，制御装置及びプログラムに関する。
【背景技術】
【０００２】
ストレージ製品やコンピュータにおけるコピー元ボリュームのデータをバックアップする手法の一つとして、ＯＰＣ（One Point Copy）が知られている。ＯＰＣとは、バックアップ対象となるデータについて所定時点における、その後の更新等を含まないデータであるスナップショット（Snapshot）を作成するものである。バックアップを作成する際に、当該作成時点における対象となるコピー元ボリュームの全データをバックアップする手法である。
【０００３】
例えば、ＯＰＣを実行するストレージシステムは、ユーザからＯＰＣを行なう旨のＯＰＣ指示を受け付けると、当該ＯＰＣ指示を受けた時点におけるコピー元ボリュームの全データをコピーする。
そして、当該ストレージシステムは、ＯＰＣ指示を受け付けた時点におけるスナップショットとして、コピー元ボリュームのデータをコピーしたデータ、つまりバックアップデータをコピー先ボリュームへ格納する。
【０００４】
例えば、当該ストレージシステムは、ＯＰＣ指示を受け付けた時刻や世代、つまりセッション情報に対応付けて、コピー元ボリューム全体を複製したデータであるバックアップデータを格納する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−３３４７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような従来のストレージシステムのデータバックアップ手法においては、スナップショットを作成する前にコピー元のボリュームに対して上書き要求が行なわれると、上書き前のデータのバックアップが作成されないおそれがある。
図１２は従来のＯＰＣ処理を説明するための図である。この図１２に示す例においては、ボリューム０１〜０４，１１〜１４をそなえるストレージシステムが示されている。そして、第１のコピーセッションにより、ボリューム０１のスナップショットがボリューム１１に格納される。同様に、第２〜第４のコピーセッションにより、ボリューム０２のスナップショットがボリューム１２に、ボリューム０３のスナップショットがボリューム１３に、ボリューム０４のスナップショットがボリューム１４に、それぞれ格納される。
【０００７】
また、図１２に示す例においては、ボリューム０１のデータＡの領域にデータａを上書きする書込要求が行なわれる。同様に、ボリューム０２のデータＢの領域にデータｂを、ボリューム０３のデータＣの領域にデータｃを、ボリューム０４のデータＤの領域にデータｄを、それぞれ上書きする書込要求が行なわれる。
また、各ボリュームのスナップショットは、ボリューム０１，０２，０３，０４の順で作成される。そして、この図１２においては、ボリューム０２のスナップショットの作成前のタイミングでボリューム０３のデータＣの領域に対してデータｃの書き込み要求（Ｉ／Ｏ処理要求）が行なわれる例を示す。
【０００８】
まず、図示しないホスト装置から、ボリューム０１に対してＯＰＣのStartコマンドが発行され、矢印Ａ１に示すように、ボリューム０１のデータＡの領域のスナップショットがボリューム１１に格納される。その後、Ｉ／Ｏ処理要求により、ボリューム０１のデータＡの領域にデータａの書き込みが行なわれる（矢印Ａ２参照）。
そして、ボリューム０３のデータＣの領域にデータｃの書き込みが行なわれる（矢印Ａ３参照）。その後、ボリューム０２に対しStartコマンドが発行され、矢印Ａ４に示すように、ボリューム０２のデータのＢの領域のスナップショットがボリューム１２に格納される。更に、ボリューム０２のデータＢの領域にデータｂの書き込みが行なわれる（矢印Ａ５参照）。
【０００９】
その後、ボリューム０３に対してStartコマンドが発行され、矢印Ａ６に示すように、ボリューム０２のスナップショットがボリューム１３に格納される。ここで、上述の如く、ボリューム０３のデータＣのデータは、既にデータｃによって上書きされているので、ボリューム１３にはデータｃのスナップショットが格納される。
このように、ボリューム０１〜０４のデータＡ，Ｂ，Ｃ，Ｄのスナップショットを作成するところが、ボリューム０３については、Startコマンドの発行前にＩ／Ｏ処理要求が行なわれることにより、書き換え後のデータｃのスナップショットが作成されてしまう。すなわち、複数のボリュームについて、タイミングに一貫性のあるスナップショットを作成することが困難であるという課題がある。
【００１０】
また、全てのボリューム０１〜０４についてのStartコマンドの処理が完了するまで、Ｉ／Ｏ処理要求の受け付けを停止することにより、Startコマンドの発行前にＩ／Ｏ処理要求が行なわれることを防止して、タイミングに一貫性のあるスナップショットを作成することも考えられる。
しかし、全てのボリューム０１〜０４についてのStartコマンドの処理が完了するまで、Ｉ／Ｏ処理要求の受け付けを停止することにより、Ｉ／Ｏ処理が遅滞し、業務に影響を与えるおそれがある。
【００１１】
１つの側面では、本件は、複数のコピーセッションについてタイミングに一貫性のあるデータバックアップを行なうことができるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
【課題を解決するための手段】
【００１２】
このため、このストレージ装置は、コピー元データを格納するコピー元ボリュームと、前記コピー元データのコピーを格納するコピー先ボリュームと、前記コピー元ボリュームに記憶されたコピー元データのコピーを、前記コピー先ボリュームに格納するコピー処理を実行するコピー処理部と、コピー処理にかかるコピー実行準備を行ない、該コピー処理をコピー実行待機状態に設定するコピー実行管理部と、前記コピー実行待機状態に設定されたコピー処理のうち、上位装置からのアクティブ化指示によって指定されたコピー処理に対してアクティブ化対象であることを示すアクティブ化対象情報を設定するアクティブ化管理部と、前記アクティブ化指示とは非同期の、前記アクティブ化対象情報が設定されたコピー処理の対象領域に重なるコピー元ボリュームに対するデータアクセス要求を受信したタイミングで、前記アクティブ化対象情報が設定されているコピー実行待機状態の複数のコピー処理に対して、前記コピー実行待機状態を解除してアクティブ化し、前記コピー処理部に該複数のコピー処理を一斉に実行させるコピー制御部と、を備える。
【００１３】
また、この制御装置は、コピー元ボリュームに記憶されたコピー元データのコピー先ボリュームへのコピー制御を行う制御装置において、前記コピー元ボリュームに記憶されたコピー元データのコピーを、前記コピー先ボリュームに格納するコピー処理を実行するコピー処理部と、コピー処理にかかるコピー実行準備を行ない、該コピー処理をコピー実行待機状態に設定するコピー実行管理部と、前記コピー実行待機状態に設定されたコピー処理のうち、アクティブ化指示によって指定されたコピー処理に対してアクティブ化対象であることを示すアクティブ化対象情報を設定するアクティブ化管理部と、前記アクティブ化指示とは非同期の、前記アクティブ化対象情報が設定されたコピー処理の対象領域に重なるコピー元ボリュームに対するデータアクセス要求を受信したタイミングで、前記アクティブ化対象情報が設定されているコピー実行待機状態の複数のコピー処理に対して、前記コピー実行待機状態を解除してアクティブ化し、前記コピー処理部に該複数のコピー処理を一斉に実行させるコピー制御部と、を備える。
【００１４】
さらに、このプログラムは、コピー元ボリュームに記憶されたコピー元データのコピー先ボリュームへのコピー制御を行う制御機能をコンピュータに実行させるためのプログラムであって、前記コピー元ボリュームに記憶されたコピー元データのコピーを、前記コピー先ボリュームに格納するコピー処理にかかるコピー実行準備を行ない、該コピー処理をコピー実行待機状態に設定し、前記コピー実行待機状態に設定されたコピー処理のうち、アクティブ化指示によって指定されたコピー処理に対してアクティブ化対象であることを示すアクティブ化対象情報を設定し、記アクティブ化指示とは非同期の、前記アクティブ化対象情報が設定されたコピー処理の対象領域に重なるコピー元ボリュームに対するデータアクセス要求を受信したタイミングで、前記アクティブ化対象情報が設定されているコピー実行待機状態の複数のコピー処理に対して、前記コピー実行待機状態を解除してアクティブ化し、該複数のコピー処理を一斉に実行する、処理を前記コンピュータに実行させる。
【発明の効果】
【００１５】
開示の技術によれば、Ｉ／Ｏ処理性能を低下させることなく、複数のコピーセッションについてタイミングに一貫性のあるデータバックアップを行なうことができる
【図面の簡単な説明】
【００１６】
【図１】実施形態の一例としてのストレージシステムの構成を模式的に示す図である。
【図２】ストレージ装置におけるボリューム構成例を模式的に示す図である。
【図３】実施形態の一例としてのストレージシステムにおけるセッション管理テーブルを例示する図である。
【図４】実施形態の一例としてのストレージシステムにおけるコピービットマップを説明するための図である。
【図５】実施形態の一例としてのストレージシステムにおけるポーリング契機によるアクティブ化処理を説明するフローチャートである。
【図６】実施形態の一例としてのストレージシステムにおけるホスト装置からのＩ／Ｏ契機によるアクティブ化処理を説明するフローチャートである。
【図７】実施形態の一例としてのストレージシステムにおけるホスト装置の処理を説明するフローチャートである。
【図８】実施形態の一例としてのストレージシステムにおけるストレージ装置によるセッション定義処理を説明するフローチャートである。
【図９】コピーセッションについてのボリューム構成例を模式的に示す図である。
【図１０】実施形態の一例としてのストレージシステムにおけるストレージ装置によるＣＣＣコマンド受信時の処理を説明するフローチャートである。
【図１１】コピーセッションのステータスの変移を模式的に示す図である。
【図１２】従来のＯＰＣ処理を説明するための図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照してストレージ装置，制御装置及びプログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
図１は実施形態の一例としてのストレージシステム１の構成を模式的に示す図、図２はストレージ装置１０におけるボリューム構成例を模式的に示す図である。
【００１８】
実施形態の一例としてのストレージシステム１は、図１に示すように、ストレージ装置１０に図示しない通信回線を介して上位装置としてのホスト装置２が接続されている。
ホスト装置２は、接続されたストレージ装置１０のボリューム（論理ボリューム）にデータの書き込みや読み出しを行なう。例えば、ホスト装置２はストレージ装置１０の業務ボリュームであるコピー元ボリューム＃００〜＃０２（図２参照）に対してリードやライトのＩ／Ｏ（Input/ Output）処理要求（データアクセス要求）を行なう。ストレージ装置１０は、このＩ／Ｏ処理要求に応じてコピー元ボリューム＃００〜＃０２に対するデータアクセスを行ない、ホスト装置２に対して応答を行なう。
【００１９】
ホスト装置２は、情報処理装置であり、例えば、図示しない、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory），ＲＯＭ（Read Only Memory）等をそなえたコンピュータである。
また、ホスト装置２は、ストレージ装置１０におけるコピーセッション（コピー処理）についてのセッション情報の作成等を行なう。
【００２０】
セッション情報は、コピーセッションに関する情報であって、例えば、セッションＩＤ（Session ID），コピー元のＬＵＮ（Logical Unit Number）及び開始ＬＢＡ（Logical Block Address），コピー先のＬＵＮ及び開始ＬＢＡ及びＢＣ（Block Count）並びにコピー種別である。
また、ホスト装置２によって作成されたセッション情報は、ストレージ装置１０に送信され、このストレージ装置１０のＲＡＭ１２１等に、後述するセッション管理テーブル２０１（図３参照）として格納される。なお、セッション情報は既知の手法を用いて作成することができる。
【００２１】
さらに、ホスト装置２は、後述の如く、ストレージ装置１０に対して、コンカレント・コントロール・コピー（Concurrent Control Copy ）コマンド（以下、ＣＣＣコマンドという）を発行する。このＣＣＣコマンドは、レディイング状態（後述）になっている複数のコピーセッションを一斉にアクティブ状態（後述）にさせる指示であり、例えば、StartコマンドもしくはRestartコマンドと、パラメータとしてアクティブ状態にする複数のコピーセッションを特定する情報（例えば、セッションＩＤ）とをそなえる。
【００２２】
ここで、ホスト装置２は、ＣＣＣコマンドにおいて、任意のタイミングでコピーセッションのアクティブ化を行なわせる場合には、Startコマンドを用いる。又、ストレージ装置１０の再起動時にコピーセッションのアクティブ化を行なわせる場合には、ＣＣＣコマンドにおいて、Restartコマンドを用いる。
また、ホスト装置２は、従来手法を用いて、個々のボリュームに対してStartコマンドもしくはRestartコマンドをそれぞれ発行することにより、一のボリューム毎のバックアップを作成する機能もそなえる。
【００２３】
ストレージ装置１０は、ホスト装置２に対して記憶領域を提供するものであり、例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置である。なお、図１中においては、便宜上、ストレージ装置１０にホスト装置２が接続された状態を示しているが、ストレージ装置１０に２以上のホスト装置が接続されてもよい。又、ストレージ装置２に他のストレージが接続されてもよく、適宜変更して実施することができる。
【００２４】
ストレージ装置１０は、図１に示すように、ＣＭ（Controller Module：制御装置）１１１，２１１，ＣＡ（Channel Adapter）１２４及びディスク装置１３１，２３１をそなえる。ＣＭ１１１，２１１はストレージ装置１０における種々の制御を行なうものであり、ホスト装置２からのＩ／Ｏ処理要求に従って、ディスク装置１３１，２３１へのアクセス制御等、各種制御を行なう。
【００２５】
ディスク装置１３１，２３１は、例えば、ＨＤＤ（Hard Disk Drive）である。ＣＭ１１１には１以上（図１に示す例においては２つ）のＨＤＤ１３１が接続され、又、ＣＭ２１１には１以上（図１に示す例においては２つ）のＨＤＤ２３１が接続されている。ストレージ装置１０においては、これらのＨＤＤ１３１，２３１の記憶領域が論理ボリュームに対して割り当てられる。なお、ＣＭ１１１，２１１に接続されるＨＤＤ１３１，２３１の台数は適宜変更して実施することができる。
【００２６】
図２に示す例においては、ストレージ装置１０内においては、ＬＵＮ０〜２，１０〜１２の６つの論理ボリューム（以下、単にボリュームという）をそなえ、ＬＵＮ０〜２がＨＤＤ１３１に、又、ＬＵＮ１０〜１２がＨＤＤ２３１に、それぞれ割り当てられている。なお、以下、ＬＵＮ０〜２をボリューム＃００〜＃０２という場合があり、ＬＵＮ１０〜１２をボリューム＃１０〜＃１２という場合がある。
【００２７】
また、本ストレージシステム１は、ストレージ装置１０において、一のボリュームのデータを他のボリュームにコピーするデータコピー機能をそなえる。本実施形態においては、ＣＭ１１１に接続されたボリューム＃００〜＃０２がＣＭ２１１に接続されたボリューム＃１０〜＃１２にコピーされる例について説明する。すなわち、ボリューム＃００〜＃０２がコピー元のボリュームであり、ボリューム＃１０〜＃１２がコピー先のボリュームである。以下、ボリューム＃００〜＃０２をコピー元ボリューム、ボリューム＃１０〜＃１２をコピー先ボリュームという場合がある。又、以下、データのコピーをデータ移行もしくはバックアップと表現する場合がある。
【００２８】
コピー元ボリューム＃００〜＃０２は、例えば、ホスト装置２の業務データを格納する業務ボリュームであり、ホスト装置２からのＩ／Ｏ処理要求に基づき、データの書き込み等の更新が行なわれる。そして、本ストレージシステム１においては、このストレージ装置１０のコピー元ボリューム＃００〜＃０２のデータが、コピーされるバックアップ対象である。
【００２９】
コピー先ボリューム＃１０〜＃１２は、コピー元ボリューム＃００〜＃０２のストレージ装置１０内でのバックアップ先（ローカルバックバックアップ）として用いられるボリュームである。すなわち、コピー先ボリューム＃１０〜＃１２には、コピー元ボリューム＃００〜０２のデータ（コピー元データ）のコピーがバックアップデータとして記憶される。
【００３０】
ＣＡ１２４は、ホスト装置２と通信可能に接続するインタフェースコントローラであり、例えば、ファイバチャネルアダプタである。そして、例えばオペレータがホスト装置２から、ストレージ装置１０におけるデータのコピー指示を入力すると、ＣＡ１２４がこのコピー指示を受信する。又、ホスト装置２からボリューム＃００〜＃０２に対するＩ／Ｏ処理要求も、このＣＡ１２４により受信される。
【００３１】
ＤＡ１２６，２２６は、ＨＤＤ１３１，２３１と通信可能に接続するインタフェースコントローラであり、例えば、ファイバチャネルアダプタやＳＣＳＩアダプタ，ｉＳＣＳＩアダプタである。
ＣＭ１１１，２１１は、図１に示すように、ＣＰＵ１１０，２１０，ＲＯＭ１２２，２２２及びＲＡＭ１２１，２２１をそなえる情報処理装置である。そして、本実施形態においては、ＣＭ１１１がコピー元ボリューム＃００〜＃０２を管理し、ＣＭ２１１がコピー先ボリューム＃１０〜＃１２を管理する。
【００３２】
ＲＡＭ１２１，２２１は、種々のデータやプログラムを一時的に格納するメモリ（記憶領域）である。ＲＡＭ１２１，２２１における所定の領域には、例えば、ホスト装置２から受信したデータや、ホスト装置２に対して送信するデータが一時的に格納され、これによりＲＡＭ１２１，２２１はバッファメモリとしても機能する。
さらに、ＲＡＭ１２１，２２１における他の所定の領域には、後述するＣＰＵ１１０，２１０がプログラムを実行する際に、データやプログラムが一時的に格納・展開される。又、ＲＡＭ１２１における他の所定の領域には、後述するセッション管理テーブル２０１が格納される。
【００３３】
また、ＲＡＭ１２１における他の所定の領域には、後述するコピービットマップ１３２が格納される。
なお、複数のメモリ装置をそなえ、ＲＡＭ１２１において複数の領域に分けて格納されるこれらのデータを、これらの複数のメモリ装置に分散して格納してもよく、適宜変更して実施することができる。
【００３４】
ＲＯＭ１２２，２２２は、ＣＰＵ１１０，２１０が実行するプログラムや種々のデータを格納する記憶装置である。
ＣＰＵ１１０，２１０は、種々の制御や演算を行なう処理装置であり、ＲＯＭ１２２，２２２等に格納されたプログラムを実行することにより、種々の機能を実現する。
そして、ＣＰＵ１１０は、図１に示すように、データアクセス制御部１１，コピー処理部１２，セッション定義部１３，アクティブ化管理部１４及び非同期アクティブ化制御部１５として機能する。
【００３５】
なお、データアクセス制御部１１，コピー処理部１２，セッション定義部１３，アクティブ化管理部１４及び非同期アクティブ化制御部１５としての機能を実現するためのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００３６】
データアクセス制御部１１，コピー処理部１２，セッション定義部１３，アクティブ化管理部１４及び非同期アクティブ化制御部１５としての機能を実現する際には、内部記憶装置（本実施形態ではＲＡＭ１２１やＲＯＭ１２２）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではＣＰＵ１１０）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【００３７】
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ＣＭ１１１，２１１がコンピュータとしての機能を有しているのである。
【００３８】
データアクセス制御部１１は、ホスト装置２からのＩ／Ｏ処理要求に応じてコピー元ボリューム＃００〜＃０２に対するデータアクセスを行なう。例えば、ホスト装置２からボリューム＃００〜＃０２に対してデータの書き込みや読み出しのアクセス要求が行なわれると、データアクセス制御部１１は、このＩ／Ｏ処理要求に応じて、ボリューム＃００〜＃０２に対するデータの書き込みや読み出しを行なう。
【００３９】
ホスト装置２から受信したＩ／Ｏ処理要求は、例えば、図示しない管理キューに接続（キューイング）され、データアクセス制御部１１は、この管理キューに接続されたＩ／Ｏ処理要求を、ＦＩＦＯ（First In, First Out）により順次デキューして処理を行なう。
コピー処理部１２は、コピー元ボリューム＃００〜＃０２に記憶されたコピー元データのコピーをコピー先ボリューム＃１０〜＃１２に転送し、このコピー先ボリューム＃１０〜＃１２に格納することにより、データのバックアップを行なう。本実施形態において、コピー処理部１２は、コピー元ボリューム＃００〜＃０２からコピー先ボリューム＃１０〜＃１２へのデータ転送をＯＰＣ，ＳｎａｐＯＰＣ，ＳｎａｐＯＰＣ＋，ＱｕｉｃｋＯＰＣ等の手法を用いて行なう。
【００４０】
なお、このＯＰＣによるコピー元ボリューム＃００〜＃０２からコピー先ボリューム＃１０〜＃１２へのデータのバックアップ手法は既知の手法であり、その詳細な説明は省略する。
以下、コピー処理部１２が、コピー元ボリューム＃００〜＃０２からコピー先ボリューム＃１０〜＃１２へのデータ転送をＯＰＣの手法を用いて行なう例について示す。
【００４１】
１回のＯＰＣ等のコピーの処理の単位をセッションという。以下、コピー元のボリュームからコピー先のボリュームへのデータのコピー処理をコピーセッションもしくは単にセッションという場合がある。
また、コピー処理部１２は、後述するステータスがアクティブになっていないコピーセッションは実行しない。従って、本ストレージシステム１においては、コピー処理部１２は、状態がアクティブであることが確認されていないコピーセッションについては、そのコピーセッションの実行を抑止する抑止部としても機能する。
【００４２】
セッション定義部（実行準備制御部）１３は、コピーセッションにかかるコピー実行準備を行ない、コピーセッションの定義を行なう。
セッション定義部１３は、コピー実行準備として、例えば、そのコピーセッションを特定するためのセッションＩＤの設定や、コピーセッションにかかる資源獲得処理、セッション管理テーブル２０１の作成、コピービットマップ１３２の作成を行なう。
【００４３】
コピーセッションにかかる資源獲得処理とは、例えば、コピー先ボリュームにおけるコピーデータの格納領域の確保である。又、この確保されたコピー先ボリュームにおける格納先領域の情報は、セッション管理テーブル２０１に登録される。セッションＩＤは、各コピーセッションを特定するユニークな識別情報である。
コピーセッションの定義には、例えば、Get Session IDコマンドやStartコマンドを用いる等、既知の手法を用いて実現することができる。又、再起動にかかるコピーセッションの定義には、Startコマンドに代えてRestartコマンドが用いられる。
【００４４】
図３は実施形態の一例としてのストレージシステム１におけるセッション管理テーブル２０１を例示する図である。
セッション管理テーブル２０１は、コピーセッションに関する情報を管理する管理情報である。このセッション管理テーブル２０１においては、図３に示すように、セッションＩＤ，コピー元のＬＵＮ及び開始ＬＢＡ，コピー先のＬＵＮ及び開始ＬＢＡ，ＢＣ（Block Counter），コピー種別，ステータス，Async Start及びAsync Restartの項目が相互に関連付けて管理される。
【００４５】
ここで、コピー元のＬＵＮは、そのコピーセッションにおいてコピーされるデータが格納されているボリュームに設定されたＬＵＮ、すなわち、データ転送元となるボリュームに設定されたＬＵＮである。コピー元の開始ＬＢＡは、そのコピーセッションにおいてコピーされる領域の先頭位置を示すアドレスである。又、コピー先のＬＵＮは、そのコピーセッションにおけるデータ転送先となるボリュームに設定されたＬＵＮである。コピー先の開始ＬＢＡは、そのコピーセッションにおいてコピーされるデータの格納位置の先頭位置を示すアドレスである。ＢＣは、そのコピーセッションにおいてコピーされるデータのサイズ（コピーサイズ，ブロックサイズ）である。
【００４６】
コピー種別は、そのコピーセッションの種類であり、例えば、ＯＰＣ，ＳｎａｐＯＰＣ，ＳｎａｐＯＰＣ＋，ＱｕｉｃｋＯＰＣ等を表す情報が設定される。ステータスはそのコピーセッションの状態であり、セッション定義部１３によるコピーの実行準備の進捗状況を表す。このコピー種別としては、例えば、アイドル（Idle），リザーブ（Reserve），レディイング（Readying），アクティブ（Active），エラー／サスペンド(Error/Suspend）のいずれかの状態を表す情報が設定される。
【００４７】
ここで、アイドルは、当該コピーセッションが実行されていない状態である。リザーブは、セッション定義部１３によって行なわれるコピー準備においてセッションＩＤの確保が行なわれた状態であって、資源獲得処理が完了していない状態である。アクティブは、そのコピーセッションが実行中（コピー中）の状態である。エラー／サスペンドは、何らかの理由でそのコピーセッションが実行できない状態である。例えばコピー対象のデータが破損している場合や対象のボリュームにアクセスできない場合に、エラー／サスペンドが設定される。
【００４８】
レディイングは、セッション定義部１３によって行なわれるコピー実行準備において、セッションＩＤの確保及び資源獲得処理が完了した状態である。すなわち、コピー処理を実行可能な状態であるが、まだ実行されていない状態（コピー実行待機状態）を示す。
これらのステータスは、セッション定義部１３が、コピー実行準備の進行状態に応じて、遂次設定する。すなわち、セッション定義部１３は、コピー実行準備が完了したコピー処理をコピー実行待機状態（レディイング）に設定するコピー実行管理部としても機能する。
【００４９】
Async Start及びAsync Restartは、当該コピーセッションが、後述する非同期アクティブ化制御部１５によってアクティブ化されるものであることを示す情報（アクティブ化対象情報）である。すなわち、Async Start及びAsync Restartは、アクティブ化対象であることを示すアクティブ化対象情報である。これらのAsync Start及びAsync Restartには、例えば、“０”もしくは“１”がフラグとして設定される。本実施形態においては、Async Start及びAsync Restartにフラグ“１”が設定されている場合に、当該コピーセッションがアクティブ化対象であり、後述の如く、非同期アクティブ化制御部１５がこのコピーセッションをアクティブ化する。
【００５０】
ここで、Async Startは任意のタイミングで非同期アクティブ化制御部１５によってアクティブ化処理が行なわれる対象であることを示す。又、Async Restartは、当該コピーセッションが、当該ストレージ装置１０の再起動時にアクティブ化処理が行なわれる対象であることを示す。
そして、これらのAsync Start及びAsync Restartは、アクティブ化管理部１４によってセッション管理テーブル２０１に設定される。アクティブ化管理部１４は、ホスト装置２から受信するＣＣＣコマンドのパラメータによって指定されるコピーセッションについて、これらのAsync Start及びAsync Restartに“１”を設定する。具体的には、アクティブ化管理部１４は、ＣＣＣコマンドがStartコマンドをそなえる場合にAsync Startにフラグ“１”を設定する。又、アクティブ化管理部１４は、ＣＣＣコマンドがRestartコマンドをそなえる場合にAsync Restartにフラグ“１”を設定する。
【００５１】
以下、セッション管理テーブル２０１のAsync Startを非同期アクティブ化フラグという場合がある。又、セッション管理テーブル２０１のAsync Restartをリスタート用非同期アクティブフラグという場合がある。又、以下、非同期アクティブ化フラグもしくはリスタート用非同期アクティブ化フラグに“１”が設定されているコピーセッションを非同期アクティブ化対象コピーセッションという場合がある。
【００５２】
例えば、図３に示すセッションマッピングテーブル２０１において先頭に登録されているセッションＩＤ“００”のコピーセッションについて説明する。このセッションＩＤ“００”のコピーセッションは、コピー種別がＯＰＣである。このコピーセッションにおいては、ＬＵＮ“００”のボリュームにおけるＬＢＡ“０００”を先頭アドレスとする１０００ブロックのデータが、ＬＵＮ“１０”のボリュームにおけるＬＢＡ“０００”を先頭アドレスとする領域にコピーされることを示す。
【００５３】
また、この図３に示す例においては、セッションＩＤ“００”のコピーセッションのステータスはレディイングの状態であり、非同期アクティブ化制御部１５によるアクティブ化処理が行なわれるのを待っている状態であることがわかる。そして、このセッションＩＤ“００”のコピーセッションには非同期アクティブ化フラグ“１”が設定されている。すなわち、このセッションＩＤ“００”のコピーセッションは、後述する非同期アクティブ化制御部１５によるアクティブ化対象である。
【００５４】
なお、セッション定義部１３により作成されたセッション管理テーブル２０１は、例えばＲＡＭ１２１に格納される。
コピービットマップ１３２は、本ストレージシステム１にそなえられたボリューム間でのデータ転送状態を管理するデータ転送状態管理情報である。
このコピービットマップ１３２は、例えば、コピー元ボリュームを所定サイズ（例えば８ＫＢ）単位の複数の単位領域に区分し、これらの単位領域毎に、当該単位領域に格納されているデータがコピー先ボリュームに転送されたか否かを表す情報を対応付けることにより作成される。すなわち、コピービットマップ１３２は、コピー元ボリューム＃００のデータ転送の進捗状況を管理する。
【００５５】
ストレージ装置１０において、複数のコピーセッションが存在する場合には、セッション定義部１３は、これらのセッション毎にコピービットマップ１３２を作成する。
図４は実施形態の一例としてのストレージシステム１におけるコピービットマップ１３２を説明するための図である。
図４に示す例においては、コピー元ボリューム＃００が４つの領域（部分）に分割されている。従って、コピービットマップ１３２は、コピー元ボリューム＃００を構成する４つの領域のそれぞれについて、データ転送が行なわれたか否かを表す“０”もしくは“１”のいずれかの値が関連付けられる。例えば、データが未転送状態である領域には“１”を、又、データが転送済みであり、コピーの実行が不要である領域には“０”が設定される。
【００５６】
コピー処理部１２は、コピービットマップ１３２を参照し、このコピービットマップ１３２においてデータが未転送状態であることを示す“１”が設定された領域のデータを、コピー先のボリュームに順次コピーする。又、コピー処理部１２は、コピービットマップ１３２においてデータが転送を完了した領域に対して“０”を設定する。
これにより、コピービットマップ１３２を参照することにより、コピー元ボリューム＃００を構成する複数の領域について、それぞれ、データ転送が完了しているか否かの進捗状況を容易に判断することができる。
【００５７】
アクティブ化管理部１４は、ホスト装置２から受信するＣＣＣコマンドのパラメータによって指定されるコピーセッションについて、セッション管理テーブル２０１のAsync StartもしくはAsync Restartにフラグ“１”を設定する。具体的には、アクティブ化管理部１４は、ホスト装置２からStartコマンドを伴うＣＣＣコマンドを受信した場合には、そのＣＣＣコマンドで指定されるコピーセッションについて、セッション管理テーブル２０１のAsync Startにフラグ“１”を設定する。又、アクティブ化管理部１４は、ホスト装置２からRestartコマンドを伴うＣＣＣコマンドを受信した場合には、そのＣＣＣコマンドで指定されるコピーセッションについて、セッション管理テーブル２０１のAsync Restartにフラグ“１”を設定する。
【００５８】
すなわち、アクティブ化管理部１４は、ホスト装置２から受信するＣＣＣコマンドに従い、このＣＣＣコマンドによって指定されたコピーセッションについてアクティブ化対象であることを示すアクティブ化対象情報（非同期アクティブ化フラグ）を設定する。
非同期アクティブ化制御部１５は、セッション管理テーブル２０１のAsync StartもしくはAsync Restartにフラグ“１”が設定されたコピーセッションについて、レディイングの状態をアクティブの状態に移行させる。以下、コピーセッションをレディイングの状態からアクティブの状態に移行させることをアクティブ化という。
【００５９】
本ストレージシステム１においては、コピー処理部１２は、非同期アクティブ化フラグに“１”が設定されていて、且つ、状態がアクティブであることが確認されたコピーセッションを実行する。すなわち、コピー処理部１２は、状態がアクティブになっていないコピーセッションは実行しない。
非同期アクティブ化制御部（コピー制御部）１５は、非同期アクティブ化フラグに“１”が設定されているコピーセッションに対して、そのコピーセッションのステータスをレディイング状態から解除してアクティブ状態にする。これにより、非同期アクティブ化制御部１５は、コピー処理部１２に、そのコピーセッションにかかるコピーを実行させる。
【００６０】
また、非同期アクティブ化制御部１５は、セッション管理テーブル２０１において、そのコピーセッションのステータスをレディイングからアクティブに変更する。
本ストレージシステム１においては、非同期アクティブ化制御部１５は、（１）ポーリング契機と（２）ホスト装置２からのＩ／Ｏ契機との２つの契機でアクティブ化を実行する。
【００６１】
（１）ポーリング契機によるアクティブ化
本ストレージシステム１においては、ストレージ装置１０内において所定間隔毎（例えば、１秒おき）にポーリング処理が起動される。このポーリング処理の中で、アクティブ化管理部１４は、セッション管理テーブル２０１の非同期アクティブ化フラグを参照する。そして、アクティブ化管理部１４は、非同期アクティブ化フラグに“１”が設定されているコピーセッションを、順次、レディイング状態からアクティブ状態にする処理を実行する。
【００６２】
実施形態の一例としてのストレージシステム１におけるポーリング契機によるアクティブ化処理を、図５に示すフローチャート（ステップＡ１０〜Ａ７０）に従って説明する。
ポーリング処理が開始されると、非同期アクティブ化制御部１５は、例えば、セッション管理テーブル２０１に登録された先頭のコピーセッションを処理対象のコピーセッションとして設定（選択）する（ステップＡ１０）。
【００６３】
非同期アクティブ化制御部１５は、この選択されたコピーセッションについて、非同期アクティブ化フラグに“１”が設定されているか否かを判断する（ステップＡ２０）。非同期アクティブ化フラグに“１”が設定されている場合には（ステップＡ２０のＹＥＳルート参照）、非同期アクティブ化制御部１５は、そのコピーセッションのステータスをレディイングからアクティブに変更する（ステップＡ３０）。非同期アクティブ化制御部１５は、セッション管理テーブル２０１において、そのステータスをレディイングからアクティブに変更する。
【００６４】
非同期アクティブ化制御部１５は、セッション管理テーブル２０１におけるそのコピーセッションの非同期アクティブ化フラグを“０”にする（ステップＡ４０）。
その後、コピー処理部１２は、ステータスがアクティブになったコピーセッションを実行する。すなわち、セッション管理テーブル２０１を参照して、当該コピーセッションのコピー元のボリュームのデータをコピー先のボリュームへコピーすることにより、データバックアップを行なう（ステップＡ５０）。
【００６５】
このように、本ストレージシステム１においては、コピー処理部１２は、非同期アクティブ化フラグに“１”が設定されていて、且つ、ステータスがアクティブであることが確認されたコピーセッションが実行される。
その後、非同期アクティブ化制御部１５は、セッション管理テーブル２０１に登録された全てのコピーセッションについて処理が実施されたかを確認する（ステップＡ６０）。全てのコピーセッションの処理が完了していない場合には（ステップＡ６０のＮＯルート参照）、次のセッションを設定して（ステップＡ７０）、ステップＡ２０に戻る。全てのコピーセッションの処理が完了した場合には（ステップＡ６０のＹＥＳルート参照）、処理を終了する。
【００６６】
また、選択されたコピーセッションに対して非同期アクティブ化フラグに“１”が設定されていない場合には（ステップＡ２０のＮＯルート参照）、ステップＡ６０へ移行する。
このように、ポーリング処理時に、セッション管理テーブル２０１において非同期アクティブ化フラグに“１”が設定された１以上のコピーセッションのバックアップを一斉に行なう。
【００６７】
すなわち、非同期アクティブ化フラグ“１”が設定されたコピーセッションのバックアップ処理は、ポーリング契機というストレージ装置１０における自発的なタイミングで実行され、ホスト装置２からのＣＣＣコマンドの受信とは非同期で行なわれる。
（２）Ｉ／Ｏ契機によるアクティブ化
本ストレージシステム１においては、ホスト装置２等からボリュームに対するＩ／Ｏ処理要求を受信した場合に、そのＩ／Ｏ処理要求の対象のボリュームが非同期アクティブ化対象コピーセッションのコピー範囲と重なる場合に、当該非同期アクティブ化対象コピーセッションをアクティブ化させる。
【００６８】
すなわち、ホスト装置２からストレージ装置１０がＣＣＣコマンドを受信してから、ポーリング処理により当該非同期アクティブ化対象コピーセッションのバックアップを行なう前に、ホスト装置２等からＩ／Ｏ処理要求が行なわれる場合がある。このような場合に、受信したＩ／Ｏ処理要求の対象となっている記憶領域が、非同期アクティブ化対象コピーセッションのコピー範囲と重なる場合には、かかるＩ／Ｏ処理要求の実行を一時的に抑止する。そして、非同期アクティブ化対象コピーセッションのアクティブ化を実行し、当該Ｉ／Ｏ処理要求にかかる領域のバックアップを実行した後に、Ｉ／Ｏ処理要求を実行する。
【００６９】
実施形態の一例としてのストレージシステム１におけるホスト装置２からのＩ／Ｏ契機によるアクティブ化処理を、図６に示すフローチャート（ステップＢ１０〜Ｂ８０）に従って説明する。
ストレージ装置１０においては、ホスト装置２からＩ／Ｏ処理要求を受信すると、ＣＰＵ１１１は、当該Ｉ／Ｏ処理要求の対象となっている記憶領域が、セッション管理テーブル２０１に登録されているいずれかのコピーセッションのコピー領域と重なっているか否かを判断する（ステップＢ１０）。かかる判断は、例えば、セッション管理テーブル２０１におけるＬＵＮやＬＢＡ，ＢＣの値に基づいて行なわれる。
【００７０】
Ｉ／Ｏ処理要求の対象領域といずれかのコピーセッションのコピー範囲とが一部でも重なっている場合には（ステップＢ１０のＹＥＳルート参照）、非同期アクティブ化制御部１５は、そのコピーセッションについて、非同期アクティブ化フラグが“１”に設定されているか否かを確認する（ステップＢ２０）。
セッション管理テーブル２０１において、そのコピーセッションの非同期アクティブ化フラグに“１”が設定されている場合には（ステップＢ２０のＹＥＳルート参照）、例えば、データアクセス制御部１１が、そのＩ／Ｏ処理要求を管理キューにキューイングする（ステップＢ３０）。非同期アクティブ化制御部１５は、そのコピーセッションのステータスをレディイングからアクティブに変更することにより（ステップＢ４０）、コピーセッションを開始できる状態にする。非同期アクティブ化制御部１５は、セッション管理テーブル２０１において、そのステータスをレディイングからアクティブに変更する。
【００７１】
非同期アクティブ化制御部１５は、セッション管理テーブル２０１におけるそのコピーセッションの非同期アクティブ化フラグを“０”にする（ステップＢ５０）。又、データアクセス制御部１１は、管理キューからそのＩ／Ｏ処理要求をデキューする（ステップＢ６０）。
その後、コピー処理部１２が、コピー元ボリュームにおける、当該Ｉ／Ｏ処理要求にかかる領域（範囲）のデータをコピー先ボリュームにバックアップする（ステップＢ７０）。これにより、コピー元ボリュームにおけるＩ／Ｏ処理前のデータがコピー先ボリュームにバックアップされる。
【００７２】
そして、データアクセス制御部１１は、ステップＢ６０においてデキューしたＩ／Ｏ処理要求に従いＩ／Ｏ処理を実行し（ステップＢ８０）、処理を終了する。
一方、Ｉ／Ｏ処理要求の対象領域とコピーセッションのコピー範囲とが重なっていない場合には（ステップＢ１０のＮＯルート参照）、ホスト装置２からのＩ／Ｏ処理がＯＰＣのコピー範囲に対して行なわれるものではないと判断され、ステップＢ８０において、ホスト装置２から送信されたＩ／Ｏ処理要求が実行される。
【００７３】
また、セッション管理テーブル２０１において、そのコピーセッションの非同期アクティブ化フラグに“１”が設定されていない場合には（ステップＢ２０のＮＯルート参照）、ホスト装置２から受信したＩ／Ｏ処理要求に対して通常のＯＰＣ処理を行なう。すなわち、ステップＢ７０において、当該Ｉ／Ｏ処理要求にかかる領域のバックアップを行なってから、ステップＢ８０においてＩ／Ｏ処理を実行する。
【００７４】
上述の如く構成された実施形態の一例としてのストレージシステム１におけるホスト装置２の処理を、図７に示すフローチャート（ステップＣ１０〜Ｃ３０）に従って説明する。
ホスト装置２においては、例えば、ストレージシステム１のメンテナンス処理を開始する前等、特定のタイミングでのストレージ装置１０のバックアップを行なう場合に以下の処理を行なう。
【００７５】
先ず、ホスト装置２は、ストレージ装置１０に対して、コピーセッション定義指示を行なう（ステップＣ１０）。このコピーセッション定義指示には、バックアップを行なうコピー元のボリュームの領域とコピー先のボリュームの領域の情報等が含まれる。
このコピーセッション定義指示に従い、ストレージ装置１０においては、セッション定義部１３がコピー実行準備を行ない、コピーセッションの定義を行なう。なお、ストレージ装置１０にけるコピーセッション定義処理については後述する。又、セッション定義部１３は、セッション定義部１３は、コピー実行準備が完了したコピーセッションをレディイングの状態にする。
【００７６】
ホスト装置２は、バックアップを行なう全てのコピーセッションについての定義が完了したかを確認し（ステップＣ２０）、全てのコピーセッションの定義が完了するまでステップＣ１０を繰り返し実行する（ステップＣ２０のＮＯルート参照）。すなわち、複数のコピーセッションを定義する場合には、定義するコピーセッションの数だけステップＣ１０の処理が行なわれる。
【００７７】
全てのコピーセッションの定義が完了すると（ステップＣ２０のＹＥＳルート参照）、ホスト装置２はストレージ装置１０に対してＣＣＣコマンドを発行することにより、定義したコピーセッションのアクティブ化を指示する（ステップＣ３０）。ＣＣＣコマンドには、アクティブ化するコピーセッションを指定するセッションＩＤがパラメータとして含まれており、このパラメータによりアクティブ化するコピーセッションが特定される。なお、ストレージ装置１０によるＣＣＣコマンド受信時の処理については後述する。
【００７８】
また、このＣＣＣコマンドを受信したストレージ装置１０は、ホスト装置２に対してコマンド応答を行ない、これによりホスト装置２からストレージ装置１０にＩ／Ｏ処理要求を送信可能な状態となる。
次に、実施形態の一例としてのストレージシステム１におけるストレージ装置１０によるセッション定義処理を、図９を参照しながら図８に示すフローチャート（ステップＤ１０〜Ｄ３０）に従って説明する。図９はコピーセッションについてのボリューム構成例を模式的に示す図である。
【００７９】
ホスト装置２からのコピーセッション定義指示を受信（図７のステップＣ１０参照）すると、ストレージ装置１０においては、セッション定義部１３は、指示されたコピーセッションを定義可能であるか否かを判断する（ステップＤ１０）。例えば、指定されたボリュームが存在しない等、何らかの理由でコピーセッションを定義できない場合には（ステップＤ１０のＮＯルート参照）、セッション定義異常が発生したとしてコピーセッションの定義処理を終了する。ストレージ装置１０は、ホスト装置２に対して、セッション定義異常が発生した旨の通知を行なうことが望ましい。
【００８０】
指定されたコピーセッションを定義可能である場合には（ステップＤ１０のＹＥＳルート参照）、セッション定義部１３は、当該コピーセッションを定義するための資源の獲得を行ない（ステップＤ２０）、セッションの定義を行なう。すなわち、セッション定義部１３は、コピー先ボリュームにおけるコピーデータの格納領域の確保等を行なう。又、セッション定義部１３は、コピーセッションを特定するためのセッションＩＤの設定や、セッション管理テーブル２０１への登録（作成）、コピービットマップ１３２の作成も行なう。
【００８１】
その後、セッション定義部１３は、図９に示すように、定義したコピーセッションに対して、セッション管理テーブル２０１におけるステータスをレディイングに設定して（ステップＤ３０）、処理を終了する。ストレージ装置１０は、ホスト装置２に対して、セッション定義が正常に終了した旨の通知を行なう。
図９に示す例においては、ボリューム＃００〜＃０２をボリューム＃１０〜＃１２にコピーする例において、各コピーセッション（ＳＳＩＤ＝０〜２）をレディイングにした状態を示している。
【００８２】
次に、実施形態の一例としてのストレージシステム１におけるストレージ装置１０によるＣＣＣコマンド受信時の処理を、図１１を参照しながら図１０に示すフローチャート（ステップＥ１０〜Ｅ３０）に従って説明する。図１１はコピーセッションのステータスの変移を模式的に示す図である。
ホスト装置２からのＣＣＣコマンドを受信（図７のステップＣ３０参照）すると、ストレージ装置１０においては、アクティブ化管理部１４は、ＣＣＣコマンドにパラメータとして設定されたセッションＩＤを取得し、これらのセッションＩＤで示されるコピーセッションをアクティブにすることが可能であるか否かを判断する（ステップＥ１０）。かかる判断は、例えば、指定されたコピーセッションにかかるボリュームが壊れていないか、ボリュームが割り当てられているＨＤＤ１３１，２３１の電源が入っているか、ＨＤＤ１３１，２３１のモータが省電力設定によりオフになっていないか等を確認することにより行なう。
【００８３】
指定されたコピーセッションをアクティブにできない場合には（ステップＥ１０のＮＯルート参照）、コマンド異常が発生したとしてコピーセッションのＣＣＣコマンド処理を終了する。ストレージ装置１０は、ホスト装置２に対して、ＣＣＣコマンド処理異常が発生した旨の通知を行なう。
指定されたコピーセッションをアクティブにすることが可能である場合には（ステップＥ１０のＹＥＳルート参照）、アクティブ化管理部１４は、セッション管理テーブル２０１における当該コピーセッションに対応する非同期アクティブ化フラグ（Async Start）に“１”を設定する（ステップＥ２０）。
【００８４】
そして、アクティブ化管理部１４は、受信したＣＣＣコマンドによって指定された全てのコピーセッションに対して非同期アクティブ化フラグ“１”を設定したかを確認する（ステップＥ３０）。指定された全てのコピーセッションに対して非同期アクティブ化フラグ“１”が設定された場合には（ステップＥ３０のＹＥＳルート参照）、ＣＣＣコマンドを正常に終了したとして処理を終了する。ストレージ装置１０は、ホスト装置２に対して、ＣＣＣコマンド処理が正常に終了した旨の通知を行なう。
【００８５】
図１１に示す例においては、コピーセッション（ＳＳＩＤ＝０〜２）について、レディイングの状態からアクティブの状態に変更され、コピーが開始される例を示している。
また、指定された全てのコピーセッションに対する非同期アクティブ化フラグ“１”の設定が完了していない場合には（ステップＥ３０のＮＯルート参照）、ステップＥ２０に戻る。
【００８６】
また、ストレージ装置１０の再起動時においても、この図１０に示すＣＣＣコマンド処理と同様の処理が行なわれるが、ステップＥ２０に相当する処理において、アクティブ化管理部１４は、セッション管理テーブル２０１における当該コピーセッションに対応するリスタート用非同期アクティブ化フラグ（Async Restart）に“１”を設定する。
このように、実施形態の一例としてのストレージシステム１によれば、セッション定義部１３が複数のコピーセッションを定義した後にレディイングの状態に設定し、アクティブ化管理部１４が、ホスト装置２から送信されるＣＣＣコマンドに従って、指定されたコピーセッションに非同期アクティブ化フラグを設定する。その後、非同期アクティブ化制御部１５が、ポーリング処理により自発的なタイミングで非同期アクティブ化フラグに“１”が設定されたコピーセッションをアクティブ化して、指定されたコピーセッションのバックアップを実行する。
【００８７】
これにより、ＣＣＣコマンドにより指定された複数のコピーセッションのコピー処理を短時間で実行することができる。又、複数のコピーセッションのコピー処理を短時間で実行することができるので、バックアップコピー処理中にＩ／Ｏ処理要求が入力される可能性を低くすることができる。更に、複数のコピーセッションについて、ほぼ同一のタイミングでバックアップを行なうことができる。
【００８８】
特に、ホスト装置２からのStartコマンドを受信して、当該Startコマンドにより指定されたボリュームのバックアップを実行する処理を繰り返し実行する従来手法と比べて、コピー処理部１２による複数のコピーセッションに対するバックアップコピー処理に要する時間を短縮することができる。
また、仮に、バックアップコピー処理中にＩ／Ｏ処理要求を受信した場合でも、当該Ｉ／Ｏ要求処理が非同期アクティブ化フラグに“１”が設定されたコピーセッションのコピー範囲と重なる場合には、そのＩ／Ｏ処理要求にかかる領域のバックアップを作成してからＩ／Ｏ処理を実施する。すなわち、Ｉ／Ｏ処理要求の対象となっている記憶領域が、非同期アクティブ化対象コピーセッションのコピー範囲と重なる場合には、非同期アクティブ化制御部１５が、かかるＩ／Ｏ処理要求の実行を一時的に抑止する。そして、先に非同期アクティブ化対象コピーセッションのアクティブ化を実行し、当該Ｉ／Ｏ処理要求にかかる領域のバックアップを実行した後に、Ｉ／Ｏ処理要求を実行する。
【００８９】
これにより、コピー元ボリュームにおけるＩ／Ｏ処理前のバックアップを確実に作成することができる。従って、Ｉ／Ｏ処理性能を低下させることなく複数のボリュームについてタイミングに一貫性のあるデータバックアップを行なうことができる。
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００９０】
例えば、上述した実施形態においては、ストレージ装置１０にコピー元のボリュームを管理するＣＭ１１１とコピー先のボリュームを管理する１つのＣＭ２１１とがそなえられているが、これに限定されるものではなく、３つ以上のＣＭ１１１，２１１をそなえてもよい。すなわち、コピー元のボリュームを管理するＣＭ１１１を複数そなえてもよく、又コピー先のボリュームを管理するＣＭ２１１を複数そなえてもよく、適宜変更して実施することができる。
【００９１】
また、上述した実施形態においては、ストレージ装置１０内においては、ＬＵＮ０〜２，１０〜１２の６つの論理ボリュームをそなえ、ボリューム＃００〜＃０２がボリューム＃１０〜＃１２にコピーする例について説明しているが、これに限定されるものではない。すなわち、コピー元及びコピー先のボリュームの数や構成は適宜変形して実施することができる。
【００９２】
さらに、上述した実施形態においては、コピー処理部１２は、コピー元ボリューム＃００〜＃０２からコピー先ボリューム＃１０〜＃１２へのデータ転送をＯＰＣの手法を用いて行なっているが、これに限定されるものではない。例えば、ＳｎａｐＯＰＣ，ＳｎａｐＯＰＣ＋，ＱｕｉｃｋＯＰＣ等の他の手法を用いてバックアップを行なってもよく、適宜変更して実施することができる。
【００９３】
また、上述した実施形態においては、コピーセッションに関する情報をセッション管理テーブル２０１として管理しているが、これに限定されるものではない。すなわち、図３に示すような各種情報を、テーブル以外の種々の形式で関連付けて管理してもよい。
さらに、図５のフローチャートに示すポーリング処理によるアクティブ化の実行中には、外部から受信するＩ／Ｏ処理要求についての処理を一時的に停止させてもよい。これにより、ポーリング処理に伴うボリュームのバックアップを優先的に行なわせることができ、複数のコピーセッションについてタイミングに一貫性のあるデータバックアップを行なうことができる。
【００９４】
本ストレージシステム１においては、コピー処理部１２による複数のコピーセッションに対するバックアップコピー処理に要する時間を短縮することができるので、ポーリング処理によるアクティブ化の実行中にＩ／Ｏ処理要求についての処理を一時的に停止させても、これによるＩ／Ｏ処理要求の処理の停滞を少なくすることができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【符号の説明】
【００９５】
１    ストレージシステム
２    ホスト装置
１０    ストレージ装置
１１    データアクセス制御部
１２    コピー処理部
１３    セッション定義部
１４    アクティブ化管理部
１５    非同期アクティブ化制御部（コピー制御部）
１１０，２１０    ＣＰＵ
１１１，２１１，    ＣＭ
１２１，２２１    ＲＡＭ
１２２，２２２    ＲＯＭ
１２４    ＣＡ
１２６，２２６    ＤＡ
１３１，２３１    ＨＤＤ
１３２    コピービットマップ
２０１    セッション管理テーブル
【図１】
0005853649.tif 000002
【図２】
0005853649.tif 000003
【図３】
0005853649.tif 000004
【図４】
0005853649.tif 000005
【図５】
0005853649.tif 000006
【図６】
0005853649.tif 000007
【図７】
0005853649.tif 000008
【図８】
0005853649.tif 000009
【図９】
0005853649.tif 000010
【図１０】
0005853649.tif 000011
【図１１】
0005853649.tif 000012
【図１２】
0005853649.tif 000013