(57)【要約】 【課題】２つのデータの差分データの作成及びこの差分データを用いた複製の効率化。【解決手段】差分管理装置は、第１の差分マップ情報を管理する第１の差分管理テーブルと、前記第１の差分管理テーブルの第１の管理単位の全域において差分が発生していない場合に前記第１の差分管理テーブルの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するエントリが生成される第２の差分管理テーブルと、を備える。前記第２の差分管理テーブルの前記第２の差分マップ情報の更新の結果、前記第２の差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブルから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除する。【選択図】図１
2018156446.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置の複製対象の領域を分割した第１の管理単位毎に、差分が発生している箇所を示す第１の差分マップ情報を管理する第１の差分管理テーブルと、
前記第１の差分管理テーブルの前記第１の管理単位の全域において差分が発生していない場合に前記第１の差分管理テーブルの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するエントリが生成される第２の差分管理テーブルと、
前記ストレージ装置におけるデータの更新に応じて、前記第１、第２の差分管理テーブルの更新箇所に対応する差分マップ情報を更新し、
前記第２の差分管理テーブルの前記第２の差分マップ情報の更新の結果、前記第２の差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブルから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除する差分管理部と、
を備える差分管理装置。
【請求項２】
前記第２の管理単位は、前記第１の管理単位を所定数に分割して得られる大きさである請求項１の差分管理装置。
【請求項３】
前記ストレージ装置の複製元と複製先とを対応付けた複製管理テーブルと、前記複製管理テーブルと、前記第１、第２の差分管理テーブルとを参照して、データの複製を実行する複製作成部と、を備える請求項１又は２の差分管理装置。
【請求項４】
前記差分管理部は、データの複製後、前記第２の差分管理テーブルから不要なエントリを削除する請求項１から３いずれか一の差分管理装置。
【請求項５】
請求項１から４いずれか一の差分管理装置と、前記ストレージ装置を構成するディスク装置とを含むストレージシステム。
【請求項６】
ストレージ装置の複製対象の領域を分割した第１の管理単位毎に、差分が発生している箇所を示す第１の差分マップ情報を管理する第１の差分管理テーブルと、
前記第１の差分管理テーブルの前記第１の管理単位の全域において差分が発生していない場合に前記第１の差分管理テーブルの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するエントリが生成される第２の差分管理テーブルと、を保持する差分管理装置が、
前記ストレージ装置におけるデータの更新に応じて、前記第１、第２の差分管理テーブルの更新箇所に対応する差分マップ情報を更新するステップと、
前記第２の差分管理テーブルの前記第２の差分マップ情報の更新の結果、前記第２の差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブルから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除するステップと、を含む差分管理方法。
【請求項７】
ストレージ装置の複製対象の領域を分割した第１の管理単位毎に、差分が発生している箇所を示す第１の差分マップ情報を管理する第１の差分管理テーブルと、
前記第１の差分管理テーブルの前記第１の管理単位の全域において差分が発生していない場合に前記第１の差分管理テーブルの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するエントリが生成される第２の差分管理テーブルと、を保持するコンピュータに、
前記ストレージ装置におけるデータの更新に応じて、前記第１、第２の差分管理テーブルの更新箇所に対応する差分マップ情報を更新する処理と、
前記第２の差分管理テーブルの前記第２の差分マップ情報の更新の結果、前記第２の差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブルから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除する処理と、を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、差分管理装置、ストレージシステム、差分管理方法及びプログラムに関し、特に、データの更新部分を差分として管理する差分管理装置、ストレージシステム、差分管理方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１に、データ複製元論理記憶装置に対応付けられてペアとなる複製先論理記憶装置に対する複製世代数の管理を差分マップを用いてなすようにしたストレージ装置の一例が開示されている。この種のストレージ装置では、複製元となるボリュームと、複製先となるボリュームとの対応関係を設定した際に、差分のみのコピーができるように、ストレージ装置のメモリ上の差分管理テーブルを、ボリューム容量分だけ静的に割り付けている。この差分管理テーブルは、ビットマップの構造を持ち、１ビット毎に一定の容量単位で差分の有無を記憶することができるようになっている。
【０００３】
特許文献２には、上記差分ビットマップが必要とするメモリ量を削減できるという差分ビットマップ管理方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２５１９３７号公報
【特許文献２】特開２００６−３３１１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は、本発明によって与えられたものである。上記差分管理テーブルの１ビットの容量単位（差分の管理単位）を小さくすれば、差分を細かく管理することができ、無駄なデータコピーを減らすことが可能となる。その一方で、複製対象ボリュームが大規模になると、大きな差分管理テーブルが必要となり、メモリが不足し割り当てができない場合がある。この解決方法として、ディスクを使って仮想的にメモリを拡大し、差分管理テーブルを割り付ける方法があるが、ディスクとメモリとのスワップ処理のため、ストレージの入出力性能に大きな影響を与えてしまうという問題点がある。
【０００６】
逆に、差分管理テーブルの１ビットの容量単位を大きくすれば、少ないメモリ容量でも大規模なボリューム複製が可能となるが、反面、データコピー量が増えるため、ストレージ装置内部の負荷を増加させ入出力性能に影響を与えてしまう。また、ネットワーク接続したストレージ装置との複製では、大量のデータ転送に対応できるよう、コストの高いネットワーク回線が必要となる。
【０００７】
特許文献２では、差分管理テーブルに、階層構造を持たせ、第２層目のあるエントリのビットマップのデータが、すべて予め定めた値と一致した場合に、第１層目の差分管理テーブルの第１層目のエントリの代表ビットに前記予め定めた値をセットし、かつ、前記エントリが存在しないことを記録することで、第２層目のビットマップのためのメモリ容量を削減する方法を採用している。
【０００８】
しかしながら、特許文献２にも、１ビットの容量単位をどのような値にするのかは開示されていない。このため、複製対象ボリュームの規模が大きくなった場合、差分管理テーブルが大きくなったり、無駄なコピーが増えてしまうなど、同様の問題が生じうる。
【０００９】
本発明は、２つのデータの差分データの作成及びこの差分データを用いた複製の効率化に貢献できる差分管理装置、ストレージシステム、差分管理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
第１の視点によれば、ストレージ装置の複製対象の領域を分割した第１の管理単位毎に、差分が発生している箇所を示す第１の差分マップ情報を管理する第１の差分管理テーブルと、前記第１の差分管理テーブルの前記第１の管理単位の全域において差分が発生していない場合に前記第１の差分管理テーブルの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するエントリが生成される第２の差分管理テーブルと、を用いて差分を管理する差分管理装置が提供される。この差分管理装置は、さらに、前記ストレージ装置におけるデータの更新に応じて、前記第１、第２の差分管理テーブルの更新箇所に対応する差分マップ情報を更新し、前記第２の差分管理テーブルの前記第２の差分マップ情報の更新の結果、前記第２の差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブルから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除する差分管理部と、を備える。
【００１１】
第２の視点によれば、上記した差分管理装置と、前記ストレージ装置を構成するディスク装置とを含むストレージシステムが提供される。
【００１２】
第３の視点によれば、ストレージ装置の複製対象の領域を分割した第１の管理単位毎に、差分が発生している箇所を示す第１の差分マップ情報を管理する第１の差分管理テーブルと、前記第１の差分管理テーブルの前記第１の管理単位の全域において差分が発生していない場合に前記第１の差分管理テーブルの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するエントリが生成される第２の差分管理テーブルと、を保持する差分管理装置が、前記ストレージ装置におけるデータの更新に応じて、前記第１、第２の差分管理テーブルの更新箇所に対応する差分マップ情報を更新するステップと、前記第２の差分管理テーブルの前記第２の差分マップ情報の更新の結果、前記第２の差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブルから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除するステップと、を含む差分管理方法が提供される。本方法は、前記第１、第２の差分管理テーブルを用いて差分を管理する差分管理装置という、特定の機械に結びつけられている。
【００１３】
第４の視点によれば、ストレージ装置の複製対象の領域を分割した第１の管理単位毎に、差分が発生している箇所を示す第１の差分マップ情報を管理する第１の差分管理テーブルと、前記第１の差分管理テーブルの前記第１の管理単位の全域において差分が発生していない場合に前記第１の差分管理テーブルの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するエントリが生成される第２の差分管理テーブルと、を保持するコンピュータに、前記ストレージ装置におけるデータの更新に応じて、前記第１、第２の差分管理テーブルの更新箇所に対応する差分マップ情報を更新する処理と、前記第２の差分管理テーブルの前記第２の差分マップ情報の更新の結果、前記第２の差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブルから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な（非トランジエントな）記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
【発明の効果】
【００１４】
本発明によれば、２つのデータの差分データの作成及びこの差分データを用いた複製の効率化を実現することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態の構成を示す図である。
【図２】本発明の一実施形態の差分管理装置における第２の差分管理テーブルの変化を説明するための図である。
【図３】本発明の一実施形態の差分管理装置における第２の差分管理テーブルの変化を説明するための図である。
【図４】本発明の第１の実施形態の構成を示す図である。
【図５】本発明の第１の実施形態の静的差分管理テーブルの構成例を示す図である。
【図６】本発明の第１の実施形態の動的差分管理テーブルの構成例を示す図である。
【図７】本発明の第１の実施形態のボリューム空間、静的差分管理テーブル、動的差分管理テーブルの関係を模式的に表した図である。
【図８】本発明の第１の実施形態のストレージ装置の動作（初期設定）を表したフローチャートである。
【図９】本発明の第１の実施形態のストレージ装置の動作（差分管理処理）を表したフローチャートである。
【図１０】図９の端子Ａ、Ｂからの続図である。
【図１１】本発明の第１の実施形態のストレージ装置の動作（データ複製時）を表したフローチャートである。
【発明を実施するための形態】
【００１６】
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号（データ）の流れを模式的に示すものであり、双方向性を排除するものではない。
【００１７】
本発明は、その一実施形態において、図１に示すように、第１の差分管理テーブル１２０Ａと、第２の差分管理テーブル１３０Ａとを記憶可能な記憶装置と、差分管理部１５０Ａを構成するプロセッサと、を備える差分管理装置４００にて実現できる。
【００１８】
より具体的には、第１の差分管理テーブル１２０Ａは、ストレージの複製対象の領域を分割した第１の管理単位毎に、差分が発生している箇所を示す第１の差分マップ情報を管理するために用いられる。
【００１９】
第２の差分管理テーブル１３０Ａは、前記第１の差分管理テーブル１２０Ａの前記第１の管理単位の全域において差分が発生していない場合に、新規エントリが追加される動的なテーブルで構成される。このエントリは、前記第１の差分管理テーブル１２０Ａの前記第１の差分マップ情報と対応付けて、前記第１の管理単位よりも細かい第２の管理単位で、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を管理するために用いられる。
【００２０】
差分管理部１５０Ａは、前記ストレージにおけるデータの更新に応じて、前記第１、第２の差分管理テーブルの更新箇所に対応する差分マップ情報を更新する。さらに、差分管理部１５０Ａは、前記第２の差分管理テーブル１３０Ａの前記第２の差分マップ情報の更新の結果、前記差分マップ情報の全域に差分が生じている場合、前記第２の差分管理テーブル１３０Ａから前記全域に差分が生じている第２の差分マップ情報に対応するエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除する。より好ましくは、その際に、差分管理部１５０Ａが、前記第１の差分管理テーブル１２０Ａの第１の差分マップ情報の該当エントリにおいて全域差分が発生しているとの情報を記録してもよい。
【００２１】
図２、図３を参照して、上記差分管理装置における第２の差分管理テーブル１３０Ａの変化を説明する。図２の上段は、複製元のストレージと分割された複製対象の領域を模式的に表している。図２（ａ）の初期状態においては、第１の差分管理テーブル１２０Ａに、複製元のストレージの領域に対応する差分マップ情報が生成されているだけである。この時点では、第２の差分管理テーブル１３０Ａに差分マップ情報を格納するエントリは生成されていない。
【００２２】
その後、図２（ｂ）に示すように、複製元のストレージに更新が行われたものとする（便宜上、左から３番目のデータ「０」がデータ「Ａ」に書き換えられたものとする）。この場合、差分管理部１５０Ａは、第１の差分管理テーブル１２０Ａの第１の差分マップ情報の該当する位置に、差分が生じたことを示すビット「１」を立てる。また、差分管理部１５０Ａは、第２の差分管理テーブル１３０Ａに、新規エントリを追加し、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を作成する。この第２の差分マップ情報には、図２の（ｂ）の下段に示すように、データ「Ａ」の更新に伴い、複製の対象となったストレージデータを特定するビットが立てられる。
【００２３】
その後、同様に、図２（ｃ）に示すように、複製元のストレージに更新が行われたものとする（便宜上、左から５番目のデータ「０」がデータ「Ｂ」に書き換えられたものとする）。この場合も同様に、差分管理部１５０Ａは、第１の差分管理テーブル１２０Ａの第１の差分マップ情報の該当する位置に、差分が生じたことを示すビット「１」を立てる。また、差分管理部１５０Ａは、第２の差分管理テーブル１３０Ａに、新規エントリを追加し、前記第１の差分マップ情報において差分が発生している箇所を示す第２の差分マップ情報を作成する。この第２の差分マップ情報には、図２の（ｃ）の下段に示すように、データ「Ｂ」の更新に伴い、複製の対象となったストレージデータを特定するビットが立てられる。
【００２４】
この状態で、データ複製が行われる場合、第２の差分管理テーブル１３０Ａが指し示す箇所だけを複製すればよい。上述のとおり、第２の差分管理テーブル１３０Ａは、第１の管理単位よりも細かい第２の管理単位で記録されているため、データコピーの量を減らすことが可能となっている。
【００２５】
その後、図３（ｄ）に示すように、複製元のストレージに更新が行われたものとする（便宜上、左から５番目のデータ「Ｂ」がデータ「Ｆ」に書き換えられたものとする）。この場合、図３（ｅ）に示すように、差分管理部１５０Ａは、第２の差分管理テーブル１３０Ａの既存エントリの第２の差分マップを更新する。前記更新の結果、図３（ｅ）に示すように、前記第２の差分マップ情報の全域において差分が発生している状態になっている場合、差分管理部１５０Ａは、図３（ｆ）に示すように、第２の差分管理テーブル１３０Ａから全域において差分が発生している状態になったエントリを削除し、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除する。また、図３（ｆ）の例では、差分管理部１５０Ａは、第１の差分管理テーブル１２０Ａの第１の差分マップ情報の該当エントリにおいて全域差分が発生しているとの情報「２」を記録している。これによりデータ複製時に、前記第１の差分マップ情報における前記第２の差分管理テーブルとの対応関係を削除されたか否かを確認しなくてもデータ複製箇所を特定することが可能となる。
【００２６】
図３（ｆ）の状態で、データ複製が行われる場合、データ「Ｆ」に対応する第１の差分管理テーブル１２０Ａと、データ「Ａ」に対応する第２の差分管理テーブル１３０Ａが指し示す箇所だけを複製すればよい。上述のとおり、第２の差分管理テーブル１３０Ａは、第１の管理単位よりも細かい第２の管理単位で記録されているため、データコピーの量を減らすことが可能となっている。また、差分管理部１５０Ａが、第２の差分管理テーブル１３０Ａから、全域において差分が発生している状態になったエントリを削除するため、第２の差分管理テーブル１３０Ａのサイズも抑えることが可能となっている。
【００２７】
以上のとおり、本発明の差分管理装置は、１ビットに対応する容量単位（差分の管理単位）の大きい差分管理マップを用い、第１の差分管理テーブルのサイズを抑えつつ、詳細な差分の管理が必要な箇所については、必要なだけ第２の差分管理テーブルにエントリを作成する。これにより、本発明は、差分管理テーブルのサイズを抑えつつ、複製時の無駄を抑えることに成功している。
【００２８】
［第１の実施形態］
続いて、本発明の第１の実施形態について図面を参照して詳細に説明する。図４は、本発明の第１の実施形態の構成を示す図である。図４を参照すると、複数のサーバー３００〜３０ｎと、ストレージ装置１００とがネットワーク３１０を介して接続された構成が示されている。
【００２９】
ストレージ装置１００は、サーバー３００〜３０ｎの入出力要求を処理する。ストレージ装置１００は、業務データを格納するボリューム群２００を有している。ここで、ボリュームとは、ストレージ装置１００を構成するディスクドライブ等の管理単位であり、本実施形態では、ボリュームの利用目的に応じて、複製を作成しない複製非対象（ボリューム）２３０〜２３ｎと、複製対象の複製元（ボリューム）２１０〜２１ｎ、複製先（ボリューム）２２０〜２２ｎの属性が与えられているものとして説明する。
【００３０】
本実施形態のストレージ装置１００は、複製管理テーブル１１０と、静的差分管理テーブル１２０と、動的差分管理テーブル１３０と、差分管理手段１５０と、複製作成手段１４０とを備えている。このうち、複製管理テーブル１１０と、静的差分管理テーブル１２０と、動的差分管理テーブル１３０は、ストレージ装置１００の管理用の記憶装置１６０に記憶される。
【００３１】
複製管理テーブル１１０は、複製元２１０〜２１ｎと複製先２２０〜２２ｎとの対応関係や複製状態を記憶するために使用される。複製管理テーブル１１０としては、特許文献１の図２や図４に開示されている複製世代管理テーブルを用いることもできる。
【００３２】
静的差分管理テーブル１２０及び動的差分管理テーブル１３０は、複製元と複製先のデータの差分を記憶するテーブルであり、それぞれ上述の第１、第２の差分管理テーブルに対応する。
【００３３】
差分管理手段１５０は、静的差分管理テーブル１２０と動的差分管理テーブル１３０のデータの差分管理を行う。その詳細は、本実施形態の動作と合わせて説明する。
【００３４】
複製作成手段１４０は、複製管理テーブル１１０を参照更新し、差分管理手段１５０と連携し、ボリューム複製を行う。具体的には、複製作成手段１４０は、複製管理テーブル１１０から複製元と複製先の組を取り出して、静的差分管理テーブル１２０及び動的差分管理テーブル１３０に記録された差分が生じている箇所のデータコピーを実施する。
【００３５】
ここで、静的差分管理テーブル１２０及び動的差分管理テーブル１３０について、図面を参照して詳細に説明する。図５は、静的差分管理テーブルの構成例を示す図である。静的差分管理テーブル１２０は、要素（エントリ）１２１〜１２ｎを持つ配列構成をとる。それぞれの要素には、動的差分管理テーブル１３０の識別情報を記憶する動的リンク１２１Ａ〜１２ｎＡと、未使用の要素をリスト管理するための未使用リンク１２１Ｂ〜１２ｎＢと、複製元と複製先の差分場所を記憶する静的差分マップ１２１Ｃ〜１２ｎＣとを格納するフィールドが設けられている。静的差分管理テーブル１２０の要素は、複製元ボリューム２１０〜２１ｎによって構成される複製対象ボリュームを分割した領域と対応付けて生成され、複製対象ボリュームの構成や分割数に変更が無い限り、削除されない。このため、静的差分管理テーブル１２０と呼んでいる。
【００３６】
図６は、動的差分管理テーブル１３０の構成例を示す図である。動的差分管理テーブル１３０は、要素（エントリ）１３１〜１３ｎを持つ配列構成をとる。それぞれの要素には、使用状態を記憶する状態情報１３１Ａ〜１３ｎＡと、未使用の要素をリスト管理するための未使用リンク１３１Ｂ〜１３ｎＢと、複製元と複製先の差分場所を記憶する動的差分マップ１３１Ｃ〜１３ｎＣとを格納するフィールドが設けられている。動的差分管理テーブル１３０の要素は、静的差分マップ１２１Ｃ〜１２ｎＣよりも細かい差分マップが必要になった場合に作成される。また、動的差分管理テーブル１３０の要素は、必要がなくなり次第削除される。このため、動的差分管理テーブル１３０と呼んでいる。
【００３７】
ここで、図７を用いて、ボリューム空間と、静的差分管理テーブル１２０、動的差分管理テーブル１３０との関係を説明する。図７は、本実施形態のボリューム空間、静的差分管理テーブル、動的差分管理テーブルの関係を模式的に表した図である。図７の例では、複製対象ボリュームの空間を、６４ＭＢ（Ｍｅｇａ  Ｂｙｔｅ）毎に区切り（５００〜５０ｎ）、静的差分管理テーブルの要素１２１〜１２ｎをそれぞれ割り付けている。また、静的差分管理テーブル１２０の要素の静的差分マップは、８つの区分（管理単位）に分けられている。従って、図７の静的差分管理テーブル１２０の静的差分マップは、６４ＭＢ分の領域に発生した差分箇所を８ＭＢ単位という粒度で記録可能となっている。
【００３８】
ストレージ装置１００の取り扱うボリュームの大きさや、ストレージ装置の性能にも依存するが、８ＭＢという単位では、冒頭に述べたように、データコピー量が増えてしまう場合がある。そこで、本実施形態では、更に細かな単位で差分を管理できるように、動的差分管理テーブル１３０を、静的差分管理テーブル１２０の要素に動的に割り付けることが可能となっている。図７の例では、動的差分管理テーブル１３０の要素の動的差分マップは、２５６個の区分（管理単位）に分けられている。従って、図７の動的差分管理テーブル１３０の動的差分マップは、８ＭＢ分の領域に発生した差分箇所を３２ＫＢ（ＫｉｌｏＢｙｔｅ）単位という粒度で細かく記録可能となっている。
【００３９】
なお、図７は、静的差分管理テーブルの要素１２２内の静的差分マップ上で差分が生じている先頭から２つの区分に対し、それぞれ動的差分管理テーブルの要素１３１〜１３２が割り付けられている状態を示している。これにより、データコピー量は、静的差分マップ上の区分８ＭＢ全体でなく、そのうちの３２ＫＢ＊２＝６４ＫＢに圧縮されることになる。
【００４０】
なお、図１及び図４に示した差分管理装置４００乃至ストレージ装置１００の各部（処理手段）は、これらの装置に搭載されたプロセッサに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
【００４１】
続いて、本実施形態の動作について図面を参照して詳細に説明する。図８は、本発明の第１の実施形態のストレージ装置の動作（初期設定）を表したフローチャートである。具体的には、図８は、複製元ボリュームと複製先ボリュームの対応関係が設定された際に、差分管理手段１５０が行う、静的差分管理テーブル１２０の割り付け処理（初期設定）を示している。
【００４２】
最初に、差分管理手段１５０は、複製対象のボリューム空間に、静的差分管理テーブル１２０が割り付け済みかを判断する（ステップＳ０１０）。未割り付け部分があれば、静的差分管理テーブルの未使用の要素を選択し、要素を初期化する（ステップＳ０２０）。次に、差分管理手段１５０は、複製管理テーブル１１０に、選択した要素の識別情報を登録し、ボリューム空間への割り付けを行う（ステップＳ０３０）。対象ボリュームの全ての空間に、割り付けが完了すると（ステップＳ０１０のＹｅｓ）、処理を完了する。なお、図８の例では、差分管理手段１５０が、一連の処理を行うものとしているが、図８相当の処理を実行するプログラムを用いて、静的差分管理テーブル１２０の初期化と複製管理テーブル１１０への割り付けを行うようにしてもよい。
【００４３】
以上の処理により、図７の中段に示す静的差分管理テーブル１２０と、ボリューム空間への割り付けが完了する。
【００４４】
続いて、複製対象のボリュームのデータ更新が行われた際の差分管理手段１５０の動作について説明する。図９、図１０は、本実施形態のストレージ装置の動作（差分管理処理）を表した流れ図である。
【００４５】
図９、図１０の一連の処理は、ストレージ装置１００と接続されているサーバー３００〜３０ｎから、複製対象のボリュームに書き込みが行われ、データが更新されたことを契機として開始する。最初に、差分管理手段１５０は、ボリューム空間の更新部分に、動的差分管理テーブルが割り付け済みか否か判断する（ステップＳ１２０）。割り付け済みの場合は、ステップＳ１６０へジャンプする。
【００４６】
未割り付けの場合、差分管理手段１５０は、サーバーが更新したデータ長を確認し、動的差分管理テーブル１３０の新規要素を割り付けるべきか否かを判定する。本実施形態では、差分管理手段１５０は、データ長が８ＭＢ以上、即ち、静的差分管理テーブル１２０の差分マップの単位以上となっているか否かを判定する（ステップＳ１３０）。
【００４７】
ステップＳ１３０の判定の結果、データ長が８ＭＢよりも小さい場合、差分管理手段１５０は、動的差分管理テーブル１３０の未使用要素を選択し、内容を初期化する（ステップＳ１４０）。
【００４８】
次に、差分管理手段１５０は、選択した要素の識別情報を、ボリューム空間の更新部分に対応する静的差分管理テーブルの対応要素の動的リンク１２１Ａ〜１２ｎＡへ登録し、割り付けを行う（ステップＳ１５０）。
【００４９】
次に、差分管理手段１５０は、更新部分に対応する動的差分マップの該当ビットを更新し、当該位置に差分があることを記録する（ステップＳ１６０）。
【００５０】
次に、差分管理手段１５０は、ステップＳ１６０で更新した動的差分マップの全ビット（図７の例の場合、３２ＫＢ＊２５６＝８ＭＢ）に差分が記憶されているか否かを判断する（図１０のステップＳ１８０）。全ビットに差分が記憶されていない場合は、処理を終了する。
【００５１】
一方、ステップＳ１８０の判定の結果、全ビットに差分が記憶されている場合、動的差分管理テーブルの該当要素は不要のため、差分管理手段１５０は、動的差分マップの内容を静的差分マップへ反映し、動的差分管理テーブルの該当要素の割り付けを解除し、該当要素の状態情報１３１Ａ〜１３ｎＡの値を未使用に変更する（ステップＳ１９０）。
【００５２】
また、ステップＳ１３０で、データ長が８ＭＢ以上の場合、差分管理手段１５０は、更新部分に対応する静的差分マップのビットを更新し、差分があることを記憶する（ステップＳ１７０）。さらに、差分管理手段１５０は、８ＭＢ以上のデータのうち、静的差分マップの更新に反映されていない未処理の部分があるか否かを確認する（図１０のステップＳ１８５）。この判定の結果、未処理の部分がある場合、図９のステップＳ１２０に戻って、差分マップの更新を継続する（図１０の端子Ｃから図９の端子Ｃへ）。
【００５３】
以上の処理が、複製対象のボリュームに書き込みが行われ、データが更新される度に実行され、なるべく少ない数の差分管理マップで、差分内容が記録されていく。そして、所定の契機で、静的差分管理テーブル１２０及び動的差分管理テーブル１３０に記憶された差分に基づき、複製元から複製先へデータのコピーが行われる。
【００５４】
図１１は、本実施形態のストレージ装置１００のデータ複製時の動作を示している。複製作成手段１４０は、静的差分管理テーブル１２０及び動的差分管理テーブル１３０を参照して、差分が生じているデータを特定し、データのコピーを実行する（ステップＳ２１０）。その際に、複製作成手段１４０は、静的差分管理テーブル１２０及び動的差分管理テーブル１３０の差分管理マップの複製が完了した部分のビットを戻していく。
【００５５】
複製作成手段１４０によるデータコピーの都度、差分管理手段１５０は、データコピーが行われたボリューム空間に割り付けられている動的差分管理テーブル１３０の該当要素を確認し、動的差分マップの全ビットに差分があるか否かを確認する（ステップＳ２２０）。前記確認の結果、全ビットに差分が無い場合、差分管理手段１５０は、動的差分管理テーブル１３０の該当要素の割り付けを解除し、該当要素の状態情報１３１Ａ〜１３ｎＡの値を未使用に変更する（ステップＳ２３０）。
【００５６】
一方、動的差分マップの差分を示すビットが残っている場合、差分管理手段１５０は、処理を終了する。この結果、動的差分管理テーブル１３０の該当要素の割り付けは維持されるので、データコピーと動的差分管理テーブル１３０の該当要素の要否の判定が繰り返されることになる。
【００５７】
以上説明したように、本実施形態によれば、ストレージ装置の限られたメモリ容量を有効に使い、大規模なボリューム複製を効率的且つ高速に作成することができる。その理由は、大小２つの管理単位粒度を持つ差分マップを用意し、複製対象のボリュームが大きい場合でも、ストレージ装置の限られたメモリ内でボリューム間のデータの差分管理をなしうる構成を採用したことにある。
【００５８】
また、本実施形態によれば、背景技術に記載した差分管理のためのメモリ不足や、ディスクを使って仮想的にメモリを拡大したことによる入出力性能への影響もなくすことができる。また、細かな差分管理もできることから、不必要に差分が増えることもなく、複製によるデータコピーで、ストレージ装置の負荷を不必要に上げることはなく、また、ネットワークで接続したストレージ装置との間での複製時にも、高価で高い帯域のネットワークを必要とすることもない。
【００５９】
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、テーブルの構成等は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。
【００６０】
また、上記した実施形態では、ストレージ装置１００が差分管理装置としての機能を有するものとして説明したが、ストレージ装置と差分管理装置とがそれぞれ独立した装置で構成されていてもよい。
【００６１】
また、上記した実施形態では、第１の差分管理テーブル１２０Ａ内の差分管理マップの粒度（第１の管理単位）が８ＭＢ、第２の差分管理テーブル１３０Ａ内の差分管理マップの粒度（第２の管理単位）が３２ＫＢであるものとして説明したが、第２の管理単位が、第１の管理単位より細かければよく、その値に制約はない。例えば、第１の差分管理テーブル１２０Ａ内の差分管理マップの粒度（第１の管理単位）に対し、第２の差分管理テーブル１３０Ａ内の差分管理マップの粒度（第２の管理単位）をその半分としてもよい。しかしながら、一般的なストレージ装置のボリュームの大きさや処理能力や、さらにはデータ更新パターンを考慮すると、前記第２の管理単位は、前記第１の管理単位を所定数に分割して得られる大きさであることが好ましい。
【００６２】
また、上記した実施形態では、大小２つの管理単位粒度を持つ差分マップを用意するものとして説明したが、３階層以上の差分マップを用意して段階的な管理を行うようにしてもよい。例えば、図７の静的差分管理テーブル１２０と、動的差分管理テーブル１３０との間に、その中間の粒度（例えば、５１２ＫＢ）の差分管理マップを保持する第３の差分管理テーブル（第２の動的差分管理テーブル）を設けてもよい。
【００６３】
最後に、本発明の好ましい形態を要約する。
［第１の形態］
（上記第１の視点による差分管理装置参照）
［第２の形態］
上記した差分管理装置の前記第２の管理単位は、前記第１の管理単位を所定数に分割して得られる大きさであることが好ましい。
［第３の形態］
上記した差分管理装置は、さらに、
前記ストレージ装置の複製元と複製先とを対応付けた複製管理テーブルと、前記複製管理テーブルと、前記第１、第２の差分管理テーブルとを参照して、データの複製を実行する複製作成部と、を備えることができる。
［第４の形態］
上記した差分管理装置の差分管理部は、データの複製後、前記第２の差分管理テーブルから不要なエントリを削除することができる。
［第５の形態］
（上記第２の視点によるストレージシステム参照）
［第６の形態］
（上記第３の視点による差分管理方法参照）
［第７の形態］
（上記第４の視点によるプログラム参照）
なお、上記第５〜第７の形態は、第１の形態と同様に、第２〜第４の形態に展開することが可能である。
【００６４】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素（各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
【符号の説明】
【００６５】
１００  ストレージ装置
１１０  複製管理テーブル
１２０  静的差分管理テーブル
１２０Ａ  第１の差分管理テーブル
１２１〜１２ｎ、１３１〜１３ｎ  要素（エントリ）
１２１Ａ〜１２ｎＡ  動的リンク
１２１Ｂ〜１２ｎＢ、１３１Ｂ〜１３ｎＢ  未使用リンク
１２１Ｃ〜１２ｎＣ  静的差分マップ
１３０  動的差分管理テーブル
１３０Ａ  第２の差分管理テーブル
１３１Ａ〜１３ｎＡ  状態情報
１３１Ｃ〜１３ｎＣ  動的差分マップ
１４０  複製作成手段
１５０  差分管理手段
１５０Ａ  差分管理部
１６０  記憶装置
２００  ボリューム群
２１０〜２１ｎ  複製元（ボリューム）
２２０〜２２ｎ  複製先（ボリューム）
２３０〜２３ｎ  複製非対象（ボリューム）
３００〜３０ｎ  サーバー
３１０  ネットワーク
４００  差分管理装置
５００〜５０ｎ  複製対象ボリュームの空間
【図１】
2018156446.tif 000003
【図２】
2018156446.tif 000004
【図３】
2018156446.tif 000005
【図４】
2018156446.tif 000006
【図５】
2018156446.tif 000007
【図６】
2018156446.tif 000008
【図７】
2018156446.tif 000009
【図８】
2018156446.tif 000010
【図９】
2018156446.tif 000011
【図１０】
2018156446.tif 000012
【図１１】
2018156446.tif 000013