(57)【要約】【課題】  実際にスナップショットコピーを採取しなくても、スナップショットコピー取得時の必要容量を予想することのできるストレージ装置を提供する。【解決手段】  ストレージ装置１０において、ディスク制御装置１００は、ディスク装置２００内のある時点のデータを参照できるようにするスナップショットを取得する際に必要とされる容量を算出する指示があると、ホスト処理装置３００からのライト指示を一定期間モニタし、その一定期間のモニタ情報に基づいて、スナップショット時に必要な容量の算出する。【選択図】  図１
2006113667.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ制御装置と複数の物理記憶デバイスからなるディスク装置とを備えたストレージ装置であって、
前記ストレージ制御装置は、上位装置との間および前記ディスク装置との間でデータ転送を制御するデータ転送制御部と、前記データを一時的に記憶するキャッシュメモリと、前記ストレージ装置の構成情報が格納される共有メモリと、を有し、
前記ストレージ制御装置は、前記ディスク装置内のある時点のデータを参照できるようにするスナップショットを取得する際に必要とされる容量を算出する指示があると、前記上位装置からのライト指示を一定期間モニタし、その一定期間のモニタ情報に基づいて、前記スナップショット時に必要な容量を算出することを特徴とするストレージ装置。
【請求項２】
請求項１記載のストレージ装置において、
前記ストレージ制御装置は、前記スナップショットを取得する際に必要とされる容量を算出する際、前記一定期間に前記上位装置からのライト指示により、前記ディスク装置内の更新された単位領域の数をカウントし、そのカウント数および前記単位領域の容量に基づいて、前記スナップショット時に必要な容量を算出することを特徴とするストレージ装置。
【請求項３】
請求項１記載のストレージ装置において、
前記ストレージ制御装置は、複数世代の前記スナップショットの情報を管理し、前記スナップショットを取得する際に必要とされる容量を算出する際、前記複数世代のスナップショットの関係を考慮した容量を算出することを特徴とするストレージ装置。
【請求項４】
請求項３記載のストレージ装置において、
前記ストレージ制御装置は、前記複数世代のスナップショットがそれぞれ格納されるスナップショットボリュームの情報を管理するスナップショットテーブルを有し、前記スナップショットテーブルに基づいて、前記複数世代のスナップショットの関係を管理することを特徴とするストレージ装置。
【請求項５】
請求項４記載のストレージ装置において、
前記ストレージ制御装置は、前記複数世代のスナップショットの関係を管理する際、前記複数世代のスナップショットで重複するデータは共有して管理することを特徴とするストレージ装置。
【請求項６】
請求項１記載のストレージ装置において、
前記ストレージ制御装置は、前記スナップショットを取得する際に必要とされる容量の算出結果を、前記上位装置上または前記ストレージ装置に接続されたサービスプロセッサ上に表示することを特徴とするストレージ装置。
【請求項７】
請求項６記載のストレージ装置において、
前記ストレージ制御装置は、前記上位装置上または前記ストレージ装置に接続されたサービスプロセッサ上に表示する前記スナップショットを取得する際に必要とされる容量の算出結果に基づいて、スナップショットの運用プランを提供することを特徴とするストレージ装置。
【請求項８】
ストレージ制御装置と複数の物理記憶デバイスからなるディスク装置とを備えたストレージ装置であって、
前記ストレージ制御装置は、上位装置との間および前記ディスク装置との間でデータ転送を制御するデータ転送制御部と、前記データを一時的に記憶するキャッシュメモリと、前記ストレージ装置の構成情報が格納される共有メモリと、を有し、
前記ストレージ制御装置は、前記ディスク装置内のある時点のデータを参照できるようにするスナップショットを取得する際に必要とされる容量を算出する指示があると、前記上位装置からのライト指示により、実際のスナップショットコピーは行わずに、前記スナップショット時に使用される差分ビットマップを更新し、一定時間の前記差分ビットマップの更新情報に基づいて、前記スナップショット時に必要な容量を算出することを特徴とするストレージ装置。
【請求項９】
請求項８記載のストレージ装置において、
前記ストレージ制御装置は、前記スナップショットを取得する際に必要とされる容量を算出する際、一定期間に前記上位装置からのライト指示により更新された前記差分ビットマップの情報を取得し、その更新されたビット数の情報および前記差分ビットマップで管理している単位領域の容量に基づいて、前記スナップショット時に必要な容量を算出することを特徴とするストレージ装置。
【請求項１０】
請求項８記載のストレージ装置において、
前記ストレージ制御装置は、前記スナップショットを取得する際に必要とされる容量を算出する際、一定期間に前記上位装置からのライト指示により更新された前記差分ビットマップからのビットオフの情報をカウントし、そのカウント数の情報および前記差分ビットマップで管理している単位領域の容量に基づいて、前記スナップショット時に必要な容量を算出することを特徴とするストレージ装置。
【請求項１１】
請求項８記載のストレージ装置において、
前記ストレージ制御装置は、複数世代の前記スナップショットの情報を管理し、前記スナップショットを取得する際に必要とされる容量を算出する際、前記複数世代のスナップショットの関係を考慮した容量を算出することを特徴とするストレージ装置。
【請求項１２】
請求項１１記載のストレージ装置において、
前記ストレージ制御装置は、前記複数世代のスナップショットがそれぞれ格納されるスナップショットボリュームの情報を管理するスナップショットテーブルを有し、前記スナップショットテーブルに基づいて、前記複数世代のスナップショットの関係を管理することを特徴とするストレージ装置。
【請求項１３】
請求項１２記載のストレージ装置において、
前記ストレージ制御装置は、前記複数世代のスナップショットの関係を管理する際、前記複数世代のスナップショットで重複するデータは共有して管理することを特徴とするストレージ装置。
【請求項１４】
請求項８記載のストレージ装置において、
前記ストレージ制御装置は、前記スナップショットを取得する際に必要とされる容量の算出結果を、前記上位装置上または前記ストレージ装置に接続されたサービスプロセッサ上に表示することを特徴とするストレージ装置。
【請求項１５】
請求項１４記載のストレージ装置において、
前記ストレージ制御装置は、前記上位装置上または前記ストレージ装置に接続されたサービスプロセッサ上に表示する前記スナップショットを取得する際に必要とされる容量の算出結果に基づいて、スナップショットの運用プランを提供することを特徴とするストレージ装置。
【請求項１６】
上位装置との間および前記ディスク装置との間でデータ転送を制御するデータ転送制御部と、前記データを一時的に記憶するキャッシュメモリと、前記ストレージ装置の構成情報が格納される共有メモリとを有したストレージ制御装置と複数の物理記憶デバイスからなるディスク装置とを備えたストレージ装置の制御方法であって、
前記ディスク装置内のある時点のデータを参照できるようにするスナップショットを取得する際に必要とされる容量を算出する指示があると、前記上位装置からのライト指示を一定期間モニタし、その一定期間のモニタ情報に基づいて、前記スナップショットを取得する際に必要とされる容量を算出することを特徴とするストレージ装置の制御方法。
【請求項１７】
請求項１６記載のストレージ装置の制御方法において、
前記スナップショットを取得する際に必要とされる容量を算出する際、前記一定期間に前記上位装置からのライト指示により、前記ディスク装置内の更新された単位領域の数をカウントし、そのカウント数および前記単位領域の容量に基づいて、前記スナップショット時に必要な容量を算出することを特徴とするストレージ装置の制御方法。
【請求項１８】
請求項１６記載のストレージ装置の制御方法において、
複数世代の前記スナップショットの情報を管理し、前記スナップショット時に必要な容量の算出する際、前記複数世代のスナップショットの関係を考慮した容量を算出することを特徴とするストレージ装置の制御方法。
【請求項１９】
請求項１８記載のストレージ装置の制御方法において、
前記複数世代のスナップショットがそれぞれ格納されるスナップショットボリュームの情報を管理するスナップショットテーブルを有し、前記スナップショットテーブルに基づいて、前記複数世代のスナップショットの関係を管理することを特徴とするストレージ装置の制御方法。
【請求項２０】
請求項１９記載のストレージ装置の制御方法において、
前記複数世代のスナップショットの関係を管理する際、前記複数世代のスナップショットで重複するデータは共有して管理することを特徴とするストレージ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置およびその制御方法に関し、特にスナップショットコピー時におけるコピーに必要なディスク容量の算出に適用して有効な技術に関するものである。
【背景技術】
【０００２】
従来、通信処理装置間のデータ転送を高速化するために、送信側通信処理装置でデータファイルのデータの更新データを更新データファイルに格納し、受信側通信処理装置に対するデータ転送時に、データファイルのデータと更新データファールの更新データの差分情報を転送するデータ転送システムがあった（例えば、特許文献１参照）。
【０００３】
また、更新データを管理する技術として、ストレージ装置において、記憶ボリュームに対して、ある時点以降に更新があると、更新前のデータを別の記憶ボリュームに格納し、記憶ボリュームに対してある時点のデータを参照できるようにしたスナップショットと呼ばれる技術が開発されている。
【特許文献１】特開平１０−２８９１７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１記載のように、更新データを更新データファイルに格納するものでは、更新データファイルの容量をデータファイルの容量より小さくして運用する場合に、コピーに必要な更新データファイルの容量を見積もることができなかった。したがって、実際に更新データを更新データファイルにコピーしてみないと更新データファイルが足りなくなるなどの状況を把握することができなかった。
【０００５】
また、スナップショットにおいても、通常、更新前のデータを格納する別の記憶ボリュームの容量は、記憶ボリュームの容量よりも小さく、スナップショットコピーにおいて、コピーに必要な容量を見積もることができなかった。したがって、実際にスナップショット制御を開始し、スナップショットコピーを採取してみないと、スナップショットコピーのためのＰＯＯＬ領域が足りなくなるなどの状況を把握できなかった。
【０００６】
そこで、本発明の目的は、実際にスナップショットコピーを採取しなくても、スナップショットコピー取得時の必要容量を予想することのできるストレージ装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【０００７】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【０００８】
本発明によるストレージ装置は、ストレージ制御装置と複数の物理記憶デバイスからなるディスク装置とを備えたストレージ装置であって、ストレージ制御装置は、上位装置との間およびディスク装置との間でデータ転送を制御するデータ転送制御部と、データを一時的に記憶するキャッシュメモリと、ストレージ装置の構成情報が格納される共有メモリと、を有し、ストレージ制御装置は、ディスク装置内のある時点のデータを参照できるようにするスナップショットを取得する際に必要とされる容量を算出する指示があると、上位装置からのライト指示を一定期間モニタし、その一定期間のモニタ情報に基づいて、スナップショット時に必要な容量を算出するものである。
【０００９】
また、本発明によるストレージ装置は、ストレージ制御装置と複数の物理記憶デバイスからなるディスク装置とを備えたストレージ装置であって、ストレージ制御装置は、上位装置との間およびディスク装置との間でデータ転送を制御するデータ転送制御部と、データを一時的に記憶するキャッシュメモリと、ストレージ装置の構成情報が格納される共有メモリと、を有し、ストレージ制御装置は、ディスク装置内のある時点のデータを参照できるようにするスナップショットを取得する際に必要とされる容量を算出する指示があると、上位装置からのライト指示により、実際のスナップショットコピーは行わずに、スナップショット時に使用される差分ビットマップを更新し、一定時間の差分ビットマップの更新情報に基づいて、スナップショット時に必要な容量を算出するものである。
【００１０】
また、本発明によるストレージ装置の制御方法は、上位装置との間およびディスク装置との間でデータ転送を制御するデータ転送制御部と、データを一時的に記憶するキャッシュメモリと、ストレージ装置の構成情報が格納される共有メモリとを有したストレージ制御装置と複数の物理記憶デバイスからなるディスク装置とを備えたストレージ装置の制御方法であって、ディスク装置内のある時点のデータを参照できるようにするスナップショットを取得する際に必要とされる容量を算出する指示があると、上位装置からのライト指示を一定期間モニタし、その一定期間のモニタ情報に基づいて、スナップショット時に必要な容量を算出するものである。
【発明の効果】
【００１１】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１２】
本発明によれば、実際にスナップショットコピーを採取しなくても、スナップショットコピー取得時の必要容量を予想することができる。
【００１３】
また、本発明によれば、スナップショットコピー取得時の必要容量を予想結果に基づいて、今後の運用可能なスナップショットのプランを割り出すことができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００１５】
＜ストレージ装置の構成＞
図１により、本発明の一実施の形態に係るストレージ装置の構成について説明する。図１は本発明の一実施の形態に係るストレージ装置の構成を示す構成図である。
【００１６】
図１において、ストレージ装置１０は、ディスク制御装置１００とディスク装置２００から構成されている。
【００１７】
ディスク制御装置１００は、チャネルアダプタ１０１、ディスクアダプタ１０２、キャッシュメモリ１０３、共有メモリ１０４から構成され、ディスク制御装置１００にはサービスプロセッサ（ＳＶＰ）４００が接続されている。
【００１８】
チャネルアダプタ１０１は、ホスト処理装置（上位装置）３００との間で通信を行うための通信インタフェースを備え、ホスト処理装置３００との間でデータ入出力コマンド等を授受する。
【００１９】
ディスクアダプタ１０２は、データを記憶する複数の物理記憶デバイス２０１と通信可能に接続され、ディスク装置２００の制御を行う。
【００２０】
キャッシュメモリ１０３は、ホスト処理装置３００とディスク装置２００との間で送受信されるデータを一時的に格納する。
【００２１】
共有メモリ１０４は、チャネルアダプタ１０１およびディスクアダプタ１０２によって通信される制御情報やモニタ情報などを格納する。
【００２２】
サービスプロセッサ４００は、ストレージ装置１０を保守・管理するために用いられるコンピュータである。サービスプロセッサ４００を操作することにより、例えば、物理記憶デバイス２０１の設定、記憶ボリュームの設定、ディスク制御装置１００において実行されるスナップショットの設定などを行うことができる。
【００２３】
ディスク装置２００は、複数の物理記憶デバイス２０１を備えている。これによりホスト処理装置３００に対して大容量の記憶領域を提供することができる。また、ディスク装置２００は、例えば、複数の物理記憶デバイス２０１によりＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）を構成している。
【００２４】
＜スナップショット＞
次に、図２〜図４により、本発明の一実施の形態に係るストレージ装置のスナップショットについて説明する。図２および図３は本発明の一実施の形態に係るストレージ装置のスナップショットを説明するための説明図、図４は本発明の一実施の形態に係るストレージ装置のスナップショットのＧＵＩイメージを示す図である。
【００２５】
スナップショットは、データのある時点におけるコピーを高速に取得する機能であり、スナップショットによりある時点でのデータを保証することができるようになっている。
【００２６】
図２において、ストレージ装置１０は、ディスク装置２００内の物理記憶デバイス２０１によるプライマリボリューム（ＰＶＯＬ）２１０とスナップショットボリューム（ＳＳＶＯＬ）２３０を備えている。また、ストレージ装置１０はセカンダリボリューム（ＳＶＯＬ）としての仮想的なボリュームである仮想ボリューム（Ｖ−ＬＵ）２２０も備えており、スナップショット取得時に、プライマリボリューム２１０との間でマッピングされ、ホスト処理装置３００は仮想ボリューム２２０を介してスナップショットにより取得したデータへアクセスするようになっている。
【００２７】
スナップショットでは、ある時点でスナップショットを取得すると、そのスナップショット取得時点以降にプライマリボリューム２１０内のデータにライト指示により更新があると、更新前のデータがスナップショットボリューム２３０に格納される。
【００２８】
したがって、スナップショット取得時点以降、プライマリボリューム２１０のデータはライト指示の都度、更新されているが、スナップショットボリューム２３０内には、プライマリボリューム２１０内で更新されたデータの更新前のデータが格納され、プライマリボリューム２１０内に格納されたデータによりスナップショット取得時点のデータにアクセスすることができる。
【００２９】
そして、スナップショット取得時点のデータにアクセスする場合には、スナップショットボリューム２３０内にデータがあれば、スナップショットボリューム２３０内のデータにアクセスし、スナップショットボリューム２３０内にデータが無ければ、プライマリボリューム２１０内のデータが更新されていないので、プライマリボリューム２１０内のデータにアクセスすることにより、スナップショット取得時点のデータにアクセスすることができる。
【００３０】
また、スナップショットボリューム２３０へのアクセスは、仮想ボリューム２２０を介してアクセスするので、ホスト処理装置３００では、仮想ボリューム２２０にアクセスすることにより、スナップショット取得時点のスナップショットにより取得したデータにアクセスすることができる。
【００３１】
また、図３に示すように、スナップショットを複数取得することができ、仮想ボリューム２２０と複数のスナップショットボリューム２３０の対応付けを切り替えることにより、任意のスナップショットへのアクセスを行うことができるようになっている。このとき、スナップショットボリューム２３０の世代管理も行われており、複数のスナップショットボリューム２３０間での同一データの管理などが行われている。
【００３２】
スナップショットの選択は、例えば、ホスト処理装置３００やサービスプロセッサ４００上に表示された、図４に示すようなスナップショット選択の画面などにより、アクセスしたいスナップショットを選択することにより、仮想ボリューム２２０と選択したスナップショットボリューム２３０の対応付けが切り替わりホスト処理装置３００からアクセスできる状態となる。
【００３３】
また、スナップショットのインタフェースとして、以下のものが用意されている。
【００３４】
（１）仮想ボリューム作成
仮想ボリューム２２０はＨＤＥＶ（ホストデバイス）番号とＶＤＥＶ空間（キャッシュ空間）を持つ。パス定義可能。ホスト処理装置３００は仮想ボリューム２２０を介してスナップショットにより取得したデータにアクセスする。
【００３５】
（２）スナップショットプール定義
以下のインタフェースを提供
・スナップショットプールを定義する。
【００３６】
・スナップショットプールへＨＤＥＶを加える。
【００３７】
・スナップショットプールを解散する。
【００３８】
（３）スナップショット取得
プライマリボリューム２１０と仮想ボリューム２２０を指定する。ディスクアダプタ１０２はスナップショットＩＤを割り当て、それを仮想ボリューム２２０と対応付けてスナップショットを取得し始める。
【００３９】
（４）スナップショット削除
スナップショットＩＤを指定する。ディスクアダプタ１０２は指定されたスナップショットにより取得したデータを破棄し、スナップショットＩＤを解放する。
【００４０】
（５）スナップショットのマウント（仮想ボリューム２２０とスナップショットを対応付ける）
仮想ボリューム２２０とスナップショットＩＤを指定する。マウントすると、ホスト処理装置３００は仮想ボリューム２２０を介して指定されたスナップショットへアクセスできる。
【００４１】
（６）スナップショットのアンマウント（仮想ボリューム２２０とスナップショットの対応付けを解除する）
仮想ボリューム２２０を指定する。仮想ボリューム２２０に対応付けられたスナップショットとの関係を解除する。その際、仮想ボリューム２２０のキャッシュ上にあるデータを全て破棄しなければならない。
【００４２】
＜スナップショット関連のモジュール＞
次に、図５により、本発明の一実施の形態に係るストレージ装置のスナップショット関連のモジュールについて説明する。図５は本発明の一実施の形態に係るストレージ装置のスナップショット関連のモジュールを示す図である。
【００４３】
図５において、スナップショット関連のモジュールとしては、チャネルアダプタモジュールとして、サービスプロセッサインタフェース（ＳＶＰ  ＩＦ）５０１、ホストコマンド処理部（ＣＭＤＤＥＶ）５０２、リードライト処理部（ＲＤＷＲ）５０３、構成制御５０４、仮想ボリューム管理部（ＶＦＳ）５０５を備えている。
【００４４】
また、ディスクアダプタモジュールとしては、ビットマップ管理５０６、コピー処理５０８、破棄処理５０９、マウント・アンマウント処理５１０を備えている。
【００４５】
また、全てのモジュールに関連するモジュールとしてペア管理５０７を備えている。
【００４６】
サービスプロセッサインタフェース５０１は、サービスプロセッサ４００とのインタフェース処理を実行する。例えば、システム領域定義、スナップショットボリューム２３０となるスナップショットプール定義、仮想ボリューム定義、スナップショット情報取得、スナップショット制御の一部（削除、イニシャライズ等）を行う。
【００４７】
システム領域は、スナップショット制御のための領域であり、例えば、共有メモリ１０４内などに作成される。
【００４８】
ホストコマンド処理部５０２は、ホスト処理装置３００からのコマンド群を処理し、ホスト処理装置３００とのインタフェース処理を実行する。例えば、スナップショット制御、スナップショット情報取得を行う。
【００４９】
リードライト処理部５０３は、ホスト処理装置３００からのリード・ライト処理に伴い、先行・先取りコピー処理判定を行い、コピーメッセージを送信する。
【００５０】
構成制御５０４は、スナップショットに関する構成制御を行う。例えば、システム領域管理、仮想ボリューム管理、スナップショットプール管理を行う。
【００５１】
システム領域管理は、システム領域定義の有無、定義範囲（容量）のみの管理を行う。システム領域の中身については仮想ボリューム管理部５０５が管理する。
【００５２】
仮想ボリューム管理は、仮想ボリューム定義・解除の管理を行う。これにはＶＤＥＶ空間の割り当てを含む。仮想ボリューム２２０がスナップショットを取得しているか、スナップショットが仮想ボリューム２２０にマウントされているか等はペア管理５０７が行う。
【００５３】
スナップショットプール管理は、複数の物理記憶デバイス２０１による論理デバイス（ＬＤＥＶ）がスナップショットプールボリュームとして定義されているかどうかのみを管理する。プールグループの所属や、格納されたデータの管理は仮想ボリューム管理部５０５が行う。
【００５４】
仮想ボリューム管理部５０５は、スナップショットプール定義、システム領域定義に関する処理を実行する。例えば、スナップショットプール管理、動的アドレスマッピング、プールボリューム領域割り当て・解放を行う。
【００５５】
スナップショットプール管理は、プールボリュームがどのグループに属するかを管理する。プールの定義、解除等も仮想ボリューム管理部５０５で行う。
【００５６】
動的アドレスマッピングは、スナップショットにより取得したデータがどこにあるか（プライマリボリューム２１０にあるか、プールボリュームにあるか）を管理する。管理テーブル（動的アドレスマップ）はシステム領域に持ち、システム領域上のメモリ管理も行う。
【００５７】
プールボリューム領域割り当て・解放は、ペア管理５０７の指示にしたがって、プールボリューム領域の割り当てと解放を行う。
【００５８】
ビットマップ管理５０６は、ペア管理５０７の指示にしたがい、スナップショットにより用いられるビットマップ領域の確保と解放、差分ビットの参照、差分ビットのオン・オフを行う。
【００５９】
ペア管理５０７は、プライマリボリューム２１０と仮想ボリューム２２０のペア状態の管理、ビットマップ参照と更新、対仮想ボリューム管理部５０５とのインタフェースの提供を行う。
【００６０】
コピー処理５０８は、スナップショットの取得、リストア処理、仮想ボリュームリード処理、仮想ボリュームデステージ処理を実行する。
【００６１】
スナップショットの取得は、プライマリボリューム２１０上のデータをスナップショットボリューム２３０であるスナップショットプールへコピーする。
【００６２】
リストア処理は、スナップショットプール上のデータをプライマリボリューム２１０へコピーする。
【００６３】
仮想ボリュームリード処理は、仮想ボリューム２２０リードに伴い、データをプライマリボリューム２１０またはスナップショットプールから仮想ボリューム２２０キャッシュへコピーする。この処理は、仮想ボリューム２２０のキャッシュミスかつスナップショット未取得ならプライマリボリューム２１０からデータをコピーし、仮想ボリューム２２０のキャッシュミスかつスナップショット取得済みならスナップショットプールからデータをコピーする。
【００６４】
仮想ボリュームデステージ処理は、仮想ボリュームキャッシュ上にあるダーティデータをスナップショットプールへコピーする。
【００６５】
破棄処理５０９は、スナップショットプール上に確保されている領域を解放する（破棄対象のＳｎａｐｓｈｏｔのみが確保している領域を解放する）。破棄処理は、例えば、特定の世代データの削除などで実行される。
【００６６】
マウント・アンマウント処理５１０は、各ボリュームのマウント・アンマウントを実行する。
【００６７】
＜スナップショットの管理＞
次に、図６〜図９により、本発明の一実施の形態に係るストレージ装置のスナップショットの管理について説明する。図６は本発明の一実施の形態に係るストレージ装置のスナップショットの管理を説明するための説明図、図７は本発明の一実施の形態に係るストレージ装置のスナップショットの世代管理の状態を示す図、図８は本発明の一実施の形態に係るストレージ装置のスナップショットの世代管理におけるデータの詳細を示す図、図９は本発明の一実施の形態に係るストレージ装置のスナップショットのスナップショットテーブル内のデータに関連付けられたデータを示す図である。
【００６８】
スナップショットにおいては、複数のスナップショットを取得できるようになっており、複数のスナップショットを世代によって管理している。
【００６９】
図６に示すように、仮想ボリューム２２０は、仮想デバイス空間２５０として管理され、その中で、スナップショットテーブル２５１は、プライマリボリューム２１０と、プールとしてのスナップショットボリューム２３０のそれぞれのアドレスマップ２５２を管理している。
【００７０】
スナップショットテーブル２５１内では、プライマリボリューム番号２６０に対して、スナップショットＩＤ２６１、スナップショットのペアステータス２６２、時間２６３、差分ビットマップ番号２６４が、スナップショットの数だけ管理されている。
【００７１】
プライマリボリューム２１０のアドレスマップ２５２としては、最新世代のスロットコントロールブロック２７０のデータが管理され、プールとしてのスナップショットボリューム２３０のアドレスマップ２５２としては、スナップショット間のデータ共有を管理するスナップショットＩＤビットマップ２７１、プライマリボリューム２１０のスロット番号２７２、１世代前のスロットコントロールブロック２７３のデータが管理されている。
【００７２】
これにより、図７に示すように、プライマリボリューム２１０に対して、スナップショットボリューム２３０内に、最新の世代、世代１、世代２、世代３、世代４、世代５という世代が管理されて格納される。
【００７３】
また、スナップショットＩＤビットマップ２７１は、例えば、図８に示すように、スロット（トラック）に対する世代管理の方法として、世代数分のビットマップ（例えば、１６世代）を作成し、これが、オンのスナップショット世代で当該トラックデータが使用されていることを示している。例えば、２ビット以上のデータがオンの場合は複数世代間で当該トラックのデータが共用されていることを表している。
【００７４】
このスナップショットＩＤビットマップ２７１により、図８の波線で示したような、同一プライマリボリューム２１０のスロットに対する複数世代のデータがリンクされる。
【００７５】
また、スナップショットテーブル２５１内のデータに関連付けられたデータとしては、差分ビットマップ番号２６４のそれぞれのスナップＩＤに対応して、スナップショットの差分ビットマップ２８０が関連付けられ、スナップショットのペアステータス２６２に対応して、ペア管理情報２８１が関連付けられている。
【００７６】
＜スナップショット時に必要な容量の算出動作＞
次に、図１０および図１１により、本発明の一実施の形態に係るストレージ装置のスナップショット時に必要な容量の算出動作について説明する。図１０および図１１は本発明の一実施の形態に係るストレージ装置のスナップショット時に必要な容量の算出動作を説明するための説明図である。
【００７７】
本実施の形態では、スナップショットを実際には取得せずに、スナップショット時に必要な容量の算出する機能（以下、ドライラン機能という）を備えており、このドライラン機能により、実際にスナップショットを取得した際に必要な容量を算出し、その算出結果により、実際のスナップショット処理を自動的に行うことができるようになっている。
【００７８】
ドライラン機能の動作としては、図１０に示すように、ホスト処理装置３００からのプライマリボリューム２１０に対するライトＩＯをＩＯモニタ２８５によりモニタし、そのライト範囲がドライランスナップショット取得範囲の場合は、該当スナップショットＩＤの差分ビットマップ２８０の当該ビットをオフする。
【００７９】
ここで、差分ビットマップ２８０内のデータの詳細について説明する。
【００８０】
まず、スナップショット取得毎にスナップショットＩＤが割り当てられ、そのスナップショットＩＤ毎に差分ビットマップ２８０が割り当てられている。
【００８１】
この差分ビットマップ２８０は最初全てのビットが１という状態となる。ビットが１というのはそのビットが示す単位領域（例えばトラック）に対し、スナップショットコピーが取られていない状態を示す。
【００８２】
つまり、ドライラン対象ボリュームにライトが入った場合はスナップショットコピーとしての旧データを保持するために差分ビットマップ２８０の当該ビットがオフになる。
【００８３】
通常のスナップショットは更に当該更新前データを退避させる処理となるが、ドライラン機能では本当の退避処理は行わず、コピーがストップするため実際のコピー領域（スナップショット領域）を消費しない。
【００８４】
また、既にビットがＯＦＦされた所に更にライトが来ても、差分ビットとしては、０のままとなる。これはそのスナップショットＩＤに対しては既にデータを退避しているため必要ないということになる。また、違う世代のスナップショットＩＤに対しても別に差分管理が行われ、世代間でデータが同じ場合は、図８の示すように同一データを各世代で共用しその際の容量は少なく済むようになっている。
【００８５】
そして、このように、実際のコピー動作であるプライマリボリューム２１０の旧データ−＞スナップショットボリューム２３０のプール領域に退避という、スナップショット作成の処理は行わず、差分ビットマップ２８０の差分ビットの更新のみを行う。
【００８６】
その後ユーザ指示、または外部からの要求により当該ドライランスナップショット領域での差分ビットの量から、実際にスナップショットを取得していたら必要となっていたプールディスク容量を下式の算出式により算出し報告する。
【００８７】
(単位領域の容量)×（差分ビットマップ内のオフの差分ビット個数）＝スナップショット必要容量
この算出式によるプールディスク容量としては、ユーザ指示、または外部からの要求があった時点で、差分ビットマップ内のオフの差分ビット個数を参照して算出してもいいし、例えば、差分ビットマップ２８０のビットがオフになった際に、そのビットオフ情報を取得し、取得済みスナップショット容量２８６を加算していくことにより、この取得済みスナップショット容量２８６の最終的な容量がスナップショット必要容量として算出するようにしてもよい。
【００８８】
なお、図１０に示した例では、スナップショット時に使用される差分ビットマップ２８０のビットオフ情報に基づいて、スナップショット必要容量を算出しているが、ホスト処理装置３００からのプライマリボリューム２１０に対するライトＩＯをＩＯモニタ２８５によりモニタすることにより、そのモニタ情報を管理することにより、スナップショット必要容量を算出することも可能である。
【００８９】
このドライラン機能の動作により、実際のスナップショットボリューム２３０へのデータのコピーは行わずに、スナップショットを管理する差分ビットマップ２８０内のデータの更新のみの動作を行い、実際にスナップショット処理を行った際に必要となるスナップショット必要容量を算出することが可能である。
【００９０】
また、算出されたスナップショット必要容量に基づいて、今後の運用可能なスナップショットのプランを割り出すことができ、その後の自動運用を行うことも可能である。
【００９１】
＜ドライラン指示・結果画面＞
次に、図１２〜図１５により、本発明の一実施の形態に係るストレージ装置のドライラン指示画面について説明する。図１２は本発明の一実施の形態に係るストレージ装置のドライラン指示画面を示す図、図１３は本発明の一実施の形態に係るストレージ装置のドライラン指示画面で指示されたスナップショットの状態を示す図、図１４は本発明の一実施の形態に係るストレージ装置のドライラン結果画面を示す図、図１５は本発明の一実施の形態に係るストレージ装置のドライラン結果画面で指示されたスナップショットの状態を示す図である。
【００９２】
ドライランを指示するのは、ホスト処理装置３００の組み込みソフトからの場合もあるが、図１２に示した例は、ストレージ装置１０に付帯するサービスプロセッサ４００の画面イメージで示している。
【００９３】
この図１２に示すような画面により、実際のスナップショット取得とドライラン取得を行うことができる。
【００９４】
制御装置ＩＤ（ＣＵ  Ｎｕｍｂｅｒ）５２０と論理装置番号（ＬＵ＃）５２１で規定される論理ボリュームに対し、ドライラン候補にする場合はＳＮＡＰ  Ｙ／Ｎ５２２の欄をチェックする。そのスナップショット取得が１回のみの場合はＯｎｅＴｉｍｅ５２３に数時間おきの場合は該当の時間５２４〜５２６にチェックを入れ、取得世代数５２７を入力することでスナップショット取得プランが作成できる。
【００９５】
この時、Ｄｒｙ  Ｒｕｎ５２８にチェックを入れればドライラン機能による処理となり、Ｒｅａｌ  Ｓｎａｐ  Ｓｈｏｔ５２９にチェックを入れれば通常のスナップショット取得処理となる。
【００９６】
また、作成されたプランは、ＳＡＶＥ５３０を押すことにより、ファイルとして保存することができ、ＬＯＡＤ５３１を押すことにより、後で保存した内容を再び読み出すこともできる。
【００９７】
ドライランやスナップショット自身を開始する場合はＥＸＥＣＵＴＥ  ＰＬＡＮＥ５３２を押すことでプランがスタートする。また既起動済みのドライランプランを中止する場合はＳＴＯＰ  ＰＬＡＮ５３４を、その時点現在までのドライラン結果を取得するには、ＣＡＰＡＣＩＴＹ  ＤＩＳＰＬＡＹ５３３を押す。
【００９８】
例えば、図１２に示したようなスナップショット取得プランの場合では、図１３に示すようなスナップショットを取得するプランとなる。
【００９９】
そして、図１２に示すようなスナップショット指示において、ドライランを実行した後、ＣＡＰＡＣＩＴＹ  ＤＩＳＰＬＡＹ５３３を押した場合には、図１４に示したようなドライラン結果が表示される。図１４に示した例は、７日間経過後の結果を示している。
【０１００】
図１４により得られる情報としては、スナップショット対象のプライマリボリューム２１０の実容量６００、もっとも新しい世代で必要とされたその１世代分の必要容量６０１、ドライラン取得プランで実際に取得算出できた世代数６０２、ドライラン結果表示時点までの取得世代全体での必要容量６０３、このプランでスナップショット取得対象ＶＯＬは変更しなかった場合の現状構成での取得可能世代数６０４が示される。
【０１０１】
この結果により、取得世代数６０２＞取得可能世代数６０４の場合は現状用意してあるコピー容量では足りないことを示し、その場合は（全体必要量）−（既存構成中のスナップショットボリューム容量）分のディスク増設が必要となることをユーザに表示する。
【０１０２】
この図１４に示すようなドライラン結果は、図１５に示すように、ドライラン期間の状況が今後も同じように続き、その時のホストからのＩＯ状況もドライラン期間と同様に続くという前提に基づく将来予想である。
【０１０３】
この結果より、スナップショット取得対象ボリューム数を多くすれば、必然的に取得可能世代数は少なくなり、その逆でスナップショット取得対象ボリューム数を絞りこめば、取得可能世代数は多くなるということが、具体的な試行により明らかとなり、ユーザにどのような施策でスナップショットコピーを取得していくのかを検討する判断材料を提供でき、その結果、自動運用が可能となる。
【０１０４】
また、ドライラン実行時のスナップショット取得プランはファイルとして保存しているので、ドライラン結果により、スナップショット取得に問題が無ければ、そのまま、ドライラン実行時のスナップショット取得プランを読み込み、実際のスナップショット処理を開始することが可能となる。
【０１０５】
また、図１４に示すドライラン結果により、世代数優先での設定や、取得ボリューム数優先の設定などを行うこともでき、その場合には、それぞれ優先された設定で取得可能な情報を表示することもできる。
【０１０６】
＜ストレージ装置のスナップショット取得プランの処理動作＞
次に、図１６および図１７により、本発明の一実施の形態に係るストレージ装置のスナップショット取得プランの処理動作について説明する。図１６は本発明の一実施の形態に係るストレージ装置のスナップショット取得プランの処理動作を示すフローチャート、図１７は本発明の一実施の形態に係るストレージ装置のＩＯ処理動作を示すフローチャートである。
【０１０７】
まず、スナップショット取得プランの処理動作は、例えば、図１２に示すような表示画面などからのスナップショット取得プランの指示があると（Ｓ１００）、スナップショットＩＤを付与し（Ｓ１０１）、当該ボリュームに対して、差分ビットマップ２８０を確保する（Ｓ１０２）。
【０１０８】
そして、ドライラン指示か否かを判断し（Ｓ１０３）、Ｓ１０３でドライラン指示でないと判断されると、実際のスナップショット取得処理を行う（Ｓ１０４）。
【０１０９】
また、Ｓ１０３でドライラン指示であると判断されると、ドライラン運用を行い、ホスト処理装置３００からのライトＩ／Ｏをモニタする（Ｓ１０５）。
【０１１０】
そして、図１２に示すような表示画面などからの表示指示があるか否かを判断し（Ｓ１０６）、Ｓ１０６で表示指示が無いと判断されると、Ｓ１０５に戻りドライラン運用を継続する。
【０１１１】
また、Ｓ１０６で表示指示があると判断されると、例えば、図１３に示すようなドライラン結果表示画面を表示し（Ｓ１０７）、当該プランの対象ボリュームに対して以下の情報を報告する（Ｓ１０８）。
【０１１２】
・最新世代の必要容量
・取得世代数
・全体必要容量
・取得可能最大世代予想数
また、スナップショットおよびドライラン時のホスト処理装置３００からのライトＩＯの処理は、ホスト処理装置３００よりライト指示があると（Ｓ１１０）、ライト指示対象の当該ボリュームはスナップショット対象か否かを判断し（Ｓ１１１）、スナップショット対象でないと判断されると通常のＩＯ処理を行う（Ｓ１１２）。
【０１１３】
また、Ｓ１１１でスナップショット対象であると判断されると、当該ライト領域は既にビットマップオフか否かを判断し（Ｓ１１３）、Ｓ１１３で既にビットマップオフであると判断されれば、ホストライト処理を継続する（Ｓ１１４）。
【０１１４】
また、Ｓ１１３で既にビットマップオフでないと判断されれば、当該スナップショットＩＤの差分ビットマップ２８０の当該ビットをオフにする（Ｓ１１５）。
【０１１５】
そして、ドライランか否かを判断し（Ｓ１１６）、Ｓ１１６でドライランであると判断されれば、ホストライト処理を継続し（Ｓ１１４）、Ｓ１１６でドライランでないと判断されれば、実際のスナップショット取得処理が行われ、当該単位領域を、スナップショットボリューム２３０に退避し（Ｓ１１７）、ホストライト処理を継続する（Ｓ１１４）。
【０１１６】
以上の処理により、例えば、図１２に示すような指示画面による指示により、スナップショット、ドライランの処理が行われ、ドライラン運用時にドライラン結果表示の指示があれば、ドライラン運用による結果をユーザに表示することが可能である。
【０１１７】
なお、図１６に示す例では、スナップショットを取得せずにドライラン結果表示を行う場合と、ドライラン結果表示を行わずに、スナップショットを取得する場合について記載したが、スナップショットを取得しつつ、ドライラン機能の結果表示を行う構成をとることも可能である。
【０１１８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施の形態に係るストレージ装置の構成を示す構成図である。
【図２】本発明の一実施の形態に係るストレージ装置のスナップショットを説明するための説明図である。
【図３】本発明の一実施の形態に係るストレージ装置のスナップショットを説明するための説明図である。
【図４】本発明の一実施の形態に係るストレージ装置のスナップショットのＧＵＩイメージを示す図である。
【図５】本発明の一実施の形態に係るストレージ装置のスナップショット関連のモジュールを示す図である。
【図６】本発明の一実施の形態に係るストレージ装置のスナップショットの管理を説明するための説明図である。
【図７】本発明の一実施の形態に係るストレージ装置のスナップショットの世代管理の状態を示す図である。
【図８】本発明の一実施の形態に係るストレージ装置のスナップショットの世代管理におけるデータの詳細を示す図である。
【図９】本発明の一実施の形態に係るストレージ装置のスナップショットのスナップショットテーブル内のデータに関連付けられたデータを示す図である。
【図１０】本発明の一実施の形態に係るストレージ装置のスナップショット時に必要な容量の算出動作を説明するための説明図である。
【図１１】本発明の一実施の形態に係るストレージ装置のスナップショット時に必要な容量の算出動作を説明するための説明図である。
【図１２】本発明の一実施の形態に係るストレージ装置のドライラン指示画面を示す図である。
【図１３】本発明の一実施の形態に係るストレージ装置のドライラン指示画面で指示されたスナップショットの状態を示す図である。
【図１４】本発明の一実施の形態に係るストレージ装置のドライラン結果画面を示す図である。
【図１５】本発明の一実施の形態に係るストレージ装置のドライラン指示画面で指示されたスナップショットの状態を示す図である。
【図１６】本発明の一実施の形態に係るストレージ装置のスナップショット取得プランの処理動作を示すフローチャートである。
【図１７】本発明の一実施の形態に係るストレージ装置のＩＯ処理動作を示すフローチャートである。
【符号の説明】
【０１２０】
１０…ストレージ装置、１００…ディスク制御装置、１０１…チャネルアダプタ、１０２…ディスクアダプタ、１０３…キャッシュメモリ、１０４…共有メモリ、２００…ディスク装置、２０１…物理記憶デバイス、２１０…プライマリボリューム、２２０…仮想ボリューム、２３０…スナップショットボリューム、２５０…仮想デバイス空間、２５１…スナップショットテーブル、２５２…アドレスマップ、２６０…プライマリボリューム番号、２６１…スナップショットＩＤ、２６２…ペアステータス、２６３…時間、２６４…差分ビットマップ番号、２７０…スロットコントロールブロック、２７１…ビットマップ、２７２…スロット番号、２７３…スロットコントロールブロック、２８０…差分ビットマップ、２８１…ペア管理情報、２８５…ＩＯモニタ、２８６…取得済みスナップショット容量、３００…ホスト処理装置、４００…サービスプロセッサ、５０１…サービスプロセッサインタフェース、５０２…ホストコマンド処理部、５０３…リードライト処理部、５０４…構成制御、５０５…仮想ボリューム管理部、５０６…ビットマップ管理、５０７…ペア管理、５０８…コピー処理、５０９…破棄処理、５１０…アンマウント処理。
【図１】
2006113667.tif 000003
【図２】
2006113667.tif 000004
【図３】
2006113667.tif 000005
【図４】
2006113667.tif 000006
【図５】
2006113667.tif 000007
【図６】
2006113667.tif 000008
【図７】
2006113667.tif 000009
【図８】
2006113667.tif 000010
【図９】
2006113667.tif 000011
【図１０】
2006113667.tif 000012
【図１１】
2006113667.tif 000013
【図１２】
2006113667.tif 000014
【図１３】
2006113667.tif 000015
【図１４】
2006113667.tif 000016
【図１５】
2006113667.tif 000017
【図１６】
2006113667.tif 000018
【図１７】
2006113667.tif 000019