(57)【要約】      （修正有）【課題】不要なデータコピー動作を削減でき、バックアップの信頼性を高めることが可能であるストレージ制御装置、ストレージシステム及びコピー方法を提供する。【解決手段】ストレージ制御装置は、コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにコピーするストレージ制御装置であって、ホストから受領したデータと該データを記憶するコピー元ボリューム内の領域の書き込まれたデータとを比較するコピー元データ比較部と、コピー元ボリューム比較部によって比較したデータが一致しているとの判断に基づき、ホストから受領したデータをコピー元ボリュームに書き込むことを回避するコピー機能実行部とを有する。【選択図】図２０
2010238009.tif 000002
【特許請求の範囲】
【請求項１】
コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにコピーするストレージ制御装置であって、
ホストから受領したデータと該データを記憶するコピー元ボリューム内の領域の書き込まれたデータとを比較するコピー元データ比較部と、
前記コピー元ボリューム比較部によって比較したデータが一致しているとの判断に基づき、前記ホストから受領したデータを前記コピー元ボリュームに書き込むことを回避するコピー機能実行部とを有することを特徴とするストレージ制御装置。
【請求項２】
請求項１に記載のストレージ制御装置は、コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにバックアップする時点におけるコピー元データを示すスナップショットを作成する。
【請求項３】
請求項１または２いずれか１項に記載のストレージ制御装置は、ホストから受領したデータを記憶する前記コピー先ボリューム内の領域の書き込まれたデータの有無を確認するコピー先データ確認部を有する。
【請求項４】
請求項１乃至３いずれか１項に記載のストレージ制御装置は、コピー元ボリュームとコピー先ボリュームの各記憶領域同士を対応付ける管理テーブルを有する。
【請求項５】
請求項４に記載のストレージ制御装置は、前記管理テーブルに、
前記コピー元ボリュームの対象領域のデータのコピー先ボリュームへのコピー状況を示す第１ビットマップと、
前記コピー先ボリュームの物理領域の使用状況を示す第２ビットマップとを備える。
【請求項６】
請求項３乃至５いずれか１項に記載のストレージ制御装置は、前記コピー先データ確認部による前記コピー先ボリュームの前記領域に書き込まれたデータが存在するとの判断に基づき、当該データとホストから受領したデータとを比較するコピー先データ比較部を有し、
前記コピー先データ比較部によって比較したデータが同一であるとの判断に基づき、前記コピー先データ確認部が前記第２ビットマップのコピー先ボリュームの前記領域の割り当て状態を書き込み可能な状態にする。
【請求項７】
コピー元データを格納するコピー元ボリュームと、
コピーした前記コピー元データを格納するコピー先ボリュームと、
前記コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにコピーするストレージ制御部と、
ホストからの指示を受け付けるチャネルアダプタとを有し、
前記ストレージ制御部は、ホストから受領したデータと該データを記憶するコピー元ボリューム内の領域の書き込まれたデータとを比較するコピー元データ比較部を備えたデータ比較制御部と、
前記コピー元ボリューム比較部によって比較したデータが一致しているとの判断に基づき、前記ホストから受領したデータを前記コピー元ボリュームに書き込むことを回避するコピー機能実行部とを有する
ことを特徴とするストレージシステム。
【請求項８】
コピー元ボリュームに記憶されたコピー元データについて、コピー先ボリュームにバックアップする場合におけるコピー元データを示すスナップショットを、当該コピーする時点について作成するコピー方法において、
ホストから受領したデータとコピー元ボリュームの当該データを記憶する箇所に記憶されているデータとを比較するコピー元データ比較ステップと、
前記コピー元ボリューム比較部によってデータが同一であると判断した場合、ホストから受領したデータをコピー元ボリュームに書き込むことを抑止する実行ステップと
を有することを特徴とするコピー方法。
【請求項９】
コピー元ボリュームに記憶されたコピー元データについて、コピー先ボリュームにコピーする場合におけるコピー元データを示すスナップショットを、当該コピーする時点について作成するストレージ制御装置において、
コピー元ボリュームとコピー先ボリュームの記憶領域を対応付ける管理テーブルと、
前記管理テーブル上の割り当て済みの記憶領域を検索する検索コピー機能実行部と、
前記コピー元ボリュームと前記コピー先ボリュームの前記割り当て済みの各領域同士のデータを比較する内部データ比較部と
コピー制御部が前記内部データ比較部により、当該データが同一であると判断した場合、前記管理テーブルの当該領域を未使用状態にするビットマップ制御部と
を有することを特徴とするストレージ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージ制御装置、ストレージシステム及びコピー方法に関する。
【背景技術】
【０００２】
ストレージ製品やコンピュータにおけるコピー元ボリュームのデータをバックアップする手法の一つとして、ＯＰＣ（Ｏｎｅ  Ｐｏｉｎｔ  Ｃｏｐｙ）が知られている。ＯＰＣとは、バックアップ対象となるデータについて所定時点における、その後の更新等を含まないデータであるスナップショットを作成するものである。バックアップを作成する際に、当該作成時点における対象となるコピー元ボリュームの全データをバックアップする手法である。
【０００３】
例えば、ＯＰＣを実行するストレージシステムは、ユーザからＯＰＣを行う旨のＯＰＣ指示を受け付けると、当該ＯＰＣ指示を受けた時点におけるコピー元ボリュームの全データをコピーする。
【０００４】
そして、当該ストレージシステムは、ＯＰＣ指示を受け付けた時点におけるスナップショットとして、コピー元ボリュームのデータをコピーしたデータ、つまりバックアップデータをコピー先ボリュームへ格納する。
【０００５】
具体的な一例を挙げて説明すると、当該ストレージシステムは、ＯＰＣ指示を受け付けた時刻や世代、つまりセッション情報に対応付けて、コピー元ボリューム全体を複製したデータであるバックアップデータを格納する。
【０００６】
また、上記したＯＰＣの拡張機能の一つとして、ＳｎａｐＯＰＣという手法が知られている。ＳｎａｐＯＰＣとは、バックアップを作成する際に、コピー元ボリュームのデータのうち、更新の行われた箇所における更新前のデータのみをバックアップする手法である。
【０００７】
例えば、ＳｎａｐＯＰＣを実行するストレージシステムは、ＳｎａｐＯＰＣを行う旨のＳｎａｐＯＰＣ指示を受け付けると、ＳｎａｐＯＰＣ指示を受け付けた時刻や世代に対応付けて、所定の記憶領域を割り当てる。
【０００８】
そして、当該ＳｎａｐＯＰＣ指示を受け付けた後にコピー元ボリュームに更新が行われた場合に、当該更新が行われた箇所における更新前のデータ、つまり当該更新が行われることによって、コピー元ボリュームから失われるデータである差分データのみをコピーして、当該記憶領域に格納する。
【０００９】
なお、特許文献１には、差分データを保存する手法の一つについて開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００５−２９２８６５号公報（第１−４頁、第１図）
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、上記した従来技術は、以下で説明するように、コピー動作が効率的でないという課題があった。
【００１２】
例えば、ＳｎａｐＯＰＣでは、当該ＳｎａｐＯＰＣ指示を受け付けた後に、コピー元ボリュームに更新が行われた場合に、当該更新が行われた箇所におけるデータのみをコピーして、割り当てられた所定の記憶領域に格納しており、データ自身の内容はチェックしていない。
【００１３】
そのため、同一内容のデータがコピー元ボリュームに書き込まれ更新が行われた場合（例えば、ホストからコピー元ボリュームに対しファイルの上書きコピーを実施した場合）は重複したデータをコピーするという不要なコピー動作を行うこととなる。
【００１４】
そこで、本ストレージ制御装置は、上述した従来技術の課題を解決するためになされたものであり、不要なデータコピー動作を削減でき、バックアップの信頼性を高めることが可能であるストレージ制御装置、ストレージシステム及びコピー方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本件開示のストレージ制御装置は、コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにコピーするストレージ制御装置であって、ホストから受領したデータと該データを記憶するコピー元ボリューム内の領域の書き込まれたデータとを比較するコピー元データ比較部と、コピー元ボリューム比較部によって比較したデータが一致しているとの判断に基づき、ホストから受領したデータをコピー元ボリュームに書き込むことを回避するコピー機能実行部とを有する。
【発明の効果】
【００１６】
本件開示のストレージ制御装置によれば、不要なデータコピー動作を省略し、記憶領域を有効に使用できるため、ストレージシステムの信頼性が高まる。
【００１７】
また、本件開示のストレージシステムによれば、不要なデータコピー動作を省略できるため、コピー方法の信頼性が高まる。
【００１８】
また、本件開示のコピー方法によれば、不要なデータコピー動作を省略できるため、コピー方法の効率が高まる。
【図面の簡単な説明】
【００１９】
【図１】ストレージシステムのハードウェア構成図である。
【図２】ストレージ制御装置のファームウェア構成図である。
【図３】ＳｎａｐＯＰＣの概念図である。
【図４】ホストからストレージシステムへ書き込み要求を受信した概念図である。
【図５】一時バッファへのデータの書き込みとホストへの応答を示した概念図である。
【図６】書き込みデータとコピー元ボリュームのデータの比較を示した概念図である。
【図７】データが一致した場合の処理終了を示した概念図である。
【図８】比較したデータが不一致の場合の書き込みデータのコピー先ボリュームへのコピーを示した概念図である。
【図９】比較したデータが不一致の場合の処理終了を示した概念図である。
【図１０】ホストからストレージシステムへ書き込み要求を受信した概念図である。
【図１１】データの書き込みとホストへの応答を示した概念図である。
【図１２】書き込みデータとコピー先ボリュームのデータの比較を示した概念図である。
【図１３】比較したデータが一致した場合に未割り当て領域として終了処理する概念図である。
【図１４】比較したデータが不一致の場合に終了処理する概念図である。
【図１５】論理ビットマップを表した図である。
【図１６】物理ビットマップを表した図である。
【図１７】ＬＢＡ変換テーブルを表した図である。
【図１８】ＳＤＶの概念図である。
【図１９】管理テーブルの遷移図である。
【図２０】書き込み時にデータを比較する方法のフローチャートである。
【図２１】ストレージ制御装置のファームウェア構成図である。
【図２２】内部データを定期的チェックする方法のフローチャートである。
【発明を実施するための形態】
【００２０】
以下に添付図面を参照して、ストレージ制御装置、ストレージシステム及びコピー方法の実施例を詳細に説明する。
【実施例１】
【００２１】
図１を用いて本システムのハードウェア構成を示す。なお、すべての図において同一部分は同一符号で示す。本システムはホスト１とストレージシステム２からなる。ストレージシステム２は、ストレージデバイス３、チャネルアダプタ４、コントローラモジュール５（ＣＭ）を有する。ストレージデバイス３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などのデータ記憶装置である。コントローラモジュール５は、ストレージ制御装置である。ストレージ制御装置は、ＣＰＵ６、不揮発メモリ（ＲＯＭ）７、揮発メモリ（ＲＡＭ）８、キャッシュメモリ９、デバイスアダプタ１０を有する。揮発メモリ８は管理テーブル等の制御データを格納する。キャッシュメモリ９はユーザデータを格納する。揮発メモリ８とキャッシュメモリ９は同一のものでも良い。デバイスアダプタ１０はストレージデバイス３とのインターフェイス制御装置である。
【００２２】
ストレージ制御装置に、オペレータまたはユーザが使用するホスト１、ホスト１とのインターフェイス制御装置であるチャネルアダプタ４、データ記憶装置が接続される。データ記憶装置は、ストレージシステムがホスト１から受領したデータを格納する。データ記憶装置は、コピーやバックアップを行う際にコピー対象となるデータを記憶するボリュームであるコピー元ボリュームと、コピーするデータを格納するコピー先のボリュームであるコピー先ボリュームとが作成される。
【００２３】
図２にストレージ制御装置のファームウェア構成を示す。ストレージ制御装置の機能は不揮発メモリ７に格納されたプログラムにより実行される。ストレージ制御装置１００のファームウェアはコピー制御部１０１と、キャッシュ制御部１０２と、デバイス制御部１０３とチャネル制御部１０４とを有する。
【００２４】
コピー制御部１０１は、コピー機能実行部１０５と、コピーボリューム対応制御部１０６と、ビットマップ制御部１０７と、ＬＢＡ（Ｌｏｇｉｃａｌ  Ｂｌｏｃｋ  Ａｄｄｒｅｓｓｉｎｇ）変換テーブル制御部１０８と、データ比較制御部１０９と、一時バッファ割り当て制御部１１０を有する。コピーボリューム対応制御部１０６は、ＳｎａｐＯＰＣ実行時のコピー元ボリュームとコピー先ボリュームとの対応を制御する。
【００２５】
ビットマップ制御部１０７は、コピー元ボリュームとコピー先ボリュームの夫々の記憶領域を対応付ける管理テーブルであるビットマップを更新、参照する。ビットマップ制御部は、ホストから受領したデータを記憶するコピー先ボリューム内の領域の書き込まれたデータの有無を確認する。ビットマップ制御部１０７は、コピー元ボリュームの対象領域のデータのコピー先ボリュームへのコピー状況を示す論理ビットマップと、コピー先ボリュームの物理領域の使用状況を示す物理ビットマップとを更新、参照する。ＬＢＡ変換テーブルは、論理領域のデータが存在する箇所を示した論理ＬＢＡと物理領域のデータが存在する箇所を示した物理ＬＢＡを対応付ける変換テーブルである。管理テーブルについて図を用いて後述する。
【００２６】
データ比較制御部１０９は、コピー元データ比較部１１１とコピー先データ比較部１１２とを有する。コピー元データ比較部１１１は、ホストから受領したデータと該データを記憶するコピー元ボリューム内のホストから受領したデータが書き込まれる領域に既に書き込まれているデータとを比較する。コピー先データ比較部１１２は、ビットマップ制御部１０７による、コピー先ボリュームの対象とする領域に書き込まれたデータが存在するとの判断に基づき、当該データとホストから受領したデータとを比較する。
【００２７】
一時バッファ割り当て制御部１１０は、バッファを要求されると、キャッシュメモリ上に一時バッファを割り当てる。バッファ領域はコントローラモジュール内のキャッシュメモリ上の領域、もしくは揮発メモリの領域を使用する。
【００２８】
以下において、本システムにおけるＳｎａｐＯＰＣ動作とＳｎａｐＯＰＣ指示後のコピー方法の説明を行う。ＳｎａｐＯＰＣとは、バックアップを実行する際に、コピー元ボリュームのデータのうち、書き込み等による更新が行われた領域における更新前のデータのみをバックアップする手法である。
【００２９】
図３は、ホスト１とストレージシステム２を表した図である。ホスト１が認識しているボリュームはＬＵＮ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）１の論理記憶容量１１とＬＵＮ２の論理記憶容量１２である。ストレージシステム内のストレージデバイスであるコピー元ボリューム１３の物理記憶容量はＬＵＮ１の論理記憶容量と同じである。コピー先ボリューム１４であるＳＤＶ（Ｓｎａｐ  Ｄａｔａ  Ｖｏｌｕｍｅ）の物理容量はＬＵＮ２の論理容量より小さい記憶容量となっている。
【００３０】
ここで、ＳｎａｐＯＰＣを実行するストレージ制御装置は、ユーザからＳｎａｐＯＰＣを行う旨のＳｎａｐＯＰＣ指示を受付けると、コピーボリューム対応制御部により、ＳｎａｐＯＰＣ指示を受付けた時刻や世代（セッション情報）と、ＳｎａｐＯＰＣ指示を受付けた時点におけるコピー元ボリュームのスナップショットを格納する記憶領域との対応付けや管理テーブルの作成を行い、その時点では、コピー先ボリュームに何らデータを格納しない。スナップショットとは、ある過去の一時点で存在した、ストレージ中にある、ファイルとディレクトリの集合およびその記録を指す。
【００３１】
次に、書き込み処理におけるコピー方法について説明する。図４はＳｎａｐＯＰＣ指示後、ホスト１からストレージ制御装置５へ書き込み要求を受信した概念図である。ホスト１に接続されたストレージシステム２は、ストレージ制御装置５にコピー元ボリューム１３とコピー先ボリューム１４であるＳＤＶが接続される。ストレージ制御装置５は、上述のように、ＣＰＵ６と、管理テーブル１５と、キャッシュメモリ９とを有する。コピー元ボリューム１３は所定の記憶領域１３ＡにデータＡ１６が記憶されている。
【００３２】
ホスト１からストレージ制御装置５に、コピー元ボリューム１３のデータＡ１６が記憶されている記憶領域１３ＡにデータＸ１７を書き込むという書き込み要求１８があった場合を例として説明する。ホスト１からストレージ制御装置５に、コピー元ボリューム１３のデータＡ１６が記憶されている領域にデータＸ１７を書き込むという書き込み要求１８があると、ビットマップ制御部１０７は、管理テーブル１５を参照して、記憶領域１３Ａに対応するコピー先ボリューム１４内の記憶領域１４Ａにデータが既に書き込まれているか確認する。このビットマップ制御部（コピー先データ確認部）１０７により、ビットマップを参照してコピー先ボリューム１４の対応領域１４Ａにデータの書き込まれていないと確認されると、一時バッファ割り当て制御部１１０が、キャッシュメモリ９上に一時バッファを割り当て、コピー機能実行部１０５がホスト１から受領したデータＸ１８を一時バッファに格納する。
【００３３】
図５に、一時バッファ１９へのデータの書き込みとホスト１への応答を示す。一字バッファ割り当て制御部１１０が、キャッシュメモリ９上に一時バッファを割り当てる。コピー機能実行部がデータＸ１７を一時バッファ１９に格納する２０と、ストレージ制御装置５からホスト１へチャネルアダプタを通して書き込み要求が完了したことを応答２１する。
【００３４】
図６は、書き込みデータとコピー元ボリューム１３のデータとの比較を示した概念図である。書き込み要求完了応答２１後、コピー元データ比較部１１１が、対応する記憶領域１３Ａに記憶されたコピー元ボリューム１３のデータＡ１６と、書き込み要求されたデータＸ１７とを比較する２２。コピー機能実行部１０５が、コピー元ボリューム１３のデータＡ１６をキャッシュメモリ９上に読み出す２３。読み出し２３後、コピー元データ比較部１１１がキャッシュメモリ９上に読み出されたデータＡ１６と一時バッファ１９上のデータＸ１７とを比較する２２。
【００３５】
データ比較制御部１０９が、データＡ１６とデータＸ１７とが一致していると判断した場合、コピー元ボリューム１３からコピー先ボリューム１４へのデータの退避は行わず、一時バッファ１９を開放する。図７はデータが一致した場合の処理終了を示した概念図である。コピー元ボリューム１３の対応領域１３ＡにデータＡ１６が格納されたままであり、コピー先ボリュームの対応領域１４Ａにはデータは格納されていない。
【００３６】
図８は書き込みデータのコピー先ボリュームへのコピーを示した概念図である。データ比較制御部１０９が、データＡ１６とデータＸ１７とが一致してないと判断した場合、コピー機能実行部１０５がキャッシュメモリ９上のデータＡ１６をコピー先ボリューム１４の対応領域１４Ａにコピーする。一時バッファ上のデータＸはコピー元ボリュームのデータＡ１６が記憶されている領域１３Ａに上書きされる。図９は比較したデータが不一致の場合の処理終了を示した概念図であり、コピー元ボリュームの対応する領域にはデータＸが格納され、コピー先ボリュームにはデータＡ１６が格納される。
【００３７】
書き込み処理におけるコピー方法について、コピー先ボリュームにデータが格納されている場合について説明する。図１０はホスト１からストレージシステム２へ書き込み要求２４を受信した概念図である。コピー元ボリューム１３は所定の領域１３ＡにデータＣ２５が記憶されている。コピー先ボリューム１４は所定の領域１４ＡにデータＡ１６が記憶されている。
【００３８】
コピー先ボリューム１４にデータが格納されている状態は、ＳｎａｐＯＰＣ指示後、少なくとも一回、コピー元ボリューム１３の対象領域１３Ａに書き込みが行われた状態である。具体的には、ホスト１からデータＣ２５がコピー元ボリューム１３に書き込まれ、コピー元ボリューム１３の対象領域１３Ａに格納されていたデータＡ１６がコピー先ボリューム１４にコピーされている。
【００３９】
図１１はキャッシュメモリ９への書き込み２６とホスト１への応答２７を示した概念図である。コピー機能実行部１０５が、ホスト１から受領したデータＸ１７をキャッシュメモリ９上に格納し、さらにコピー元ボリューム１３の所定の領域１３ＡのデータＣ２５に上書きコピーする２８。データＣ２５に関しては、ＳｎａｐＯＰＣ指示時の対象領域のデータであるデータＡ１６がコピー先ボリューム１４に退避しているので上書きする。そして、ストレージ制御装置５からホスト１へ、書き込み要求が完了したことを応答する２７。
【００４０】
図１２は、書き込みデータとコピー先ボリューム１４とのデータの比較を示した概念図である。コピー先ボリュームの対応する記憶領域１４Ａに格納されたデータＡ１６をキャッシュメモリ９上に読み出す２９。データ比較制御部１０９がキャッシュメモリ９上のデータＸ１７とデータＡ１６とを比較３０し、一致するかどうか確認する。
【００４１】
図１３は、比較したデータが一致した場合に未割り当て領域として終了処理する概念図である。データ比較制御部１０９により、比較したデータＸとデータＡ１６とが一致した場合、ビットマップ制御部１０７が管理テーブル１５を更新し、コピー先ボリューム１４のデータＡ１６が記憶されている領域を未割り当て状態とし、書き込み可能にする。
【００４２】
図１４は、比較したデータが不一致の場合に終了処理する概念図である。比較したデータが一致しなかった場合は、コピー元ボリューム１３の対象領域１３ＡにデータＸ１７が格納される。コピー先ボリューム１４の対象領域１４ＡにデータＡが格納される。
【００４３】
従って、ＳｎａｐＯＰＣにおいて、データ内容の比較を行うことで、コピー元ボリュームと割り当てた記憶領域に同一内容のデータが重複して存在しないようにバックアップを行うことができる。
【００４４】
次に、上述の概念図で用いた管理テーブルについて説明する。本件、ストレージ制御装置において、以下の管理テーブルを用いる。図１５は、コピー元ボリュームの対象領域のデータがコピー先ボリュームへコピー済みであることを示す論理ビットマップ３１である。「０」３２の様に、「０」と「１」とでデータを示す。「０」は、対象論理領域のデータはコピー先ボリュームの対応する記憶領域に存在することを示す。「１」は対象論理領域のデータはコピー元ボリュームに存在することを示す。
【００４５】
図１６は、コピー先ボリュームの物理領域の使用状態を示す物理ビットマップ３３である。「０」３４は対象物理領域がデータを保持していることを示す。「１」は対象物理領域がデータを保持していないことを示す。
【００４６】
図１７は、コピー先ボリュームに格納されているデータについて物理ＬＢＡと論理ＬＢＡの変換を示すＬＢＡ変換テーブルである。コピー先ボリュームに対し未コピー状態である部分は無効値として０ｘＦＦＦＦ（１６進数）を記載してある。
【００４７】
図１８は、コピー先ボリューム１４と管理テーブルの概念図である。論理ビットマップ３１と物理ビットマップ３３とＬＢＡ変換テーブルによってコピー先ボリュームの論理領域と、物理領域の状態を表している。コピー先ボリュームで論理ＬＢＡ００にあるデータは、物理ＬＢＡ０４にあることを示す。１領域あたり８ＫＢである。
【００４８】
図１９は、管理テーブルの遷移図である。論理ビットマップ３１と物理ビットマップ３３とＬＢＡ変換テーブル３５とが、記憶領域Ｂを未割り当て状態にする場合の変更点を示す。データＢが格納されていた領域を未割り当てにするときには、論理ビットマップと物理ビットマップの対応箇所３６の「０」を「１」に変換し、ＬＢＡ変換テーブル３５の０９をＦＦＦＦに変換し、書き込み可能な状態になる。これにより、実際に、ストレージ上では例えば磁性的にデータが記憶されていたとしても、ストレージ制御装置上では未割り当て状態となり、データを物理的に消去する手間がかからず、データ領域を効率良く利用できる。
【００４９】
図２０を用いて、ストレージ制御装置の更新処理についての一例を示す。なお、図２０は、ストレージ制御装置による更新処理の一例を示すフローチャートである。
【００５０】
図２０に示すように、ストレージ制御装置は、ホストからコピー元ボリュームへデータの書き込み要求があると（Ｓ１０１）、ビットマップ制御部１０７を用いて、コピー先ボリュームの対応する論理記憶領域にデータが書き込まれているか確認する（Ｓ１０２）。
【００５１】
管理テーブルである論理ビットマップを用いて、コピー先ボリュームの書き込み要求に対応する記憶領域にデータが書き込まれているか確認する。ビットマップの対応箇所が「０」であれば、対象の論理領域のデータはコピー先ボリュームに書き込まれている。「１」であれば、対象の論理領域のデータはコピー先ボリュームに書き込まれておらず、コピー元ボリュームに書き込まれている。
【００５２】
コピー先データ確認部によって、コピー先ボリュームの書き込み要求に対応する論理記憶領域にデータが書き込まれていないと確認されると（Ｓ１０２ＮＯ）、一時バッファ割り当て制御部がキャッシュメモリ上に一時バッファを割り当てる（Ｓ１０３）。そして、割り当てられた一時バッファへホストから受領したデータを格納する（Ｓ１０４）。
【００５３】
一時バッファへホストから受領したデータを格納した後、対応する領域に記憶されたコピー元ボリュームのデータと、書き込み要求され、一時バッファに格納されたデータとを、データ比較制御部が比較する。まず、コピー元ボリュームのデータをキャッシュメモリ上に読み出し、そこで、データ比較制御部がキャッシュメモリ上のデータと一時バッファ上のデータとを比較する（Ｓ１０５。）
ここで、データが一致していると判断した場合（Ｓ１０５ＹＥＳ）、コピー元ボリュームからコピー先ボリュームへのデータの退避は行わず、データを格納した一時バッファを開放し（Ｓ１０８）、処理を終了する。
【００５４】
また、データが一致していないと判断した場合（Ｓ１０５ＮＯ）、キャッシュメモリ上のデータをコピー先ボリュームに書き込む（Ｓ１０６）。
【００５５】
一時バッファ上のデータはコピー元ボリュームの対応する記憶領域に書き込む（Ｓ１０７）。データを格納した一時バッファを開放し（Ｓ１０８）、処理を終了する。
【００５６】
コピー先データ確認手段によって、コピー先ボリュームの書き込み要求に対応する論理記憶領域にデータが書き込まれていると確認されると（Ｓ１０２ＹＥＳ）、ホストから受領したデータをキャッシュメモリ上に格納し、更にコピー元ボリュームの対応する記憶領域にデータを上書きする（Ｓ１０９）。コピー先ボリュームの対応する記憶領域に格納されたデータをキャッシュメモリ上に読み出し、データ比較制御部がキャッシュメモリ上のそれぞれのデータを比較する（Ｓ１１０）。
【００５７】
比較したデータが一致した場合（Ｓ１１０ＹＥＳ）、ビットマップ制御部が管理テーブルを更新し、コピー先ボリュームのデータが記憶されている領域を未割り当て領域とし（Ｓ１１１）、終了処理する。また、比較したデータが一致しない場合（Ｓ１１０ＮＯ）、そのまま終了処理する。
【００５８】
従って、本件開示のストレージ制御装置によれば、不要なデータコピー動作を省略することができる。コピー先ボリュームであるＳＤＶは物理容量が論理容量よりも少ない容量であるため、ＳＤＶの物理容量以上のデータの更新がコピー元ボリュームに行われた場合に、データを退避できなくなってしまい、スナップショットを失ってしまうが、開示の手法により上記事象が発生する割合を減らすことが出来る。記憶領域を有効に使用できるため、ストレージシステムの信頼性が高まる。
【実施例２】
【００５９】
（内部データ比較部でチェックする方法）
第２の実施例として、内部データ比較部を用いてコピー動作を制御する場合について説明する。図２１に第２の実施例におけるストレージ制御装置のファームウェア構成を示す。データ比較制御部１０９がコピー元ボリュームに格納されたデータと、コピー先ボリューム内の該データに対応する箇所に格納されたデータとを比較する内部データ比較部１１３を有する。
【００６０】
図２２のフローチャートを用いて説明する。データの書き込み時には従来のＳｎａｐＯＰＣと同じ処理を行うが、定期的に内部データ比較部によってコピー先ボリュームに存在するデータを読み込み、対応するコピー元ボリュームの論理領域のデータを読み込み、コピー元データとコピー先データとを比較する。一致した場合は本領域に対するデータが削除状態になるように、ＳＤＶを管理するテーブルを更新し対象領域を未割り当てとすることで以降に割り当て可能とする。
【００６１】
内部データ比較部によるコピー動作制御は、検索をする際の該当箇所を指すポインタを論理ビットマップの先頭にセットする（Ｓ２０１）。ポイントする論理ビットマップをチェックし、ビットが0か判断する（Ｓ２０２）
ビットが１であると（Ｓ２０２ＮＯ）、ポインタを論理ビットマップの次に進める（Ｓ２０７）。ビットが0であると（Ｓ２０２ＹＥＳ）、一時バッファ割り当て制御部１１０がキャッシュメモリ上にバッファ１とバッファ２とを割り当てる。デバイス制御部１０３により、コピー元ボリュームのデータをバッファに読み出す（Ｓ２０３）。
【００６２】
ＬＢＡ変換テーブルにより、対応するコピー先ボリュームの物理ＬＢＡへ変換し、コピー先ボリュームのデータをバッファ２に読み出す（Ｓ２０４）。バッファ１のデータとバッファ２のデータが一致するか判断をおこなう（Ｓ２０５）。
【００６３】
バッファ１のデータと、バッファ２のデータが一致すると（Ｓ２０５ＹＥＳ）、Ｓ２０６において、管理テーブルを更新し、コピー先ボリュームのデータを未割り当て状態にする（Ｓ２０６）。
【００６４】
Ｓ２０５において、バッファ１のデータとバッファ２のデータが一致しないと（Ｓ２０５ＮＯ）、ポインタを論理ビットマップの次に進める。（Ｓ２０７）
Ｓ２０８において、ボリュームの最後の位置のデータがどうか判断する。ボリュームの最後の位置のデータである場合（Ｓ２０８ＹＥＳ）、ボリュームの最後のデータでない場合（Ｓ２０８ＮＯ）、一定時間スリープ状態に入る。スケジュール処理により、一定時間後、ポインタを論理ビットマップの先頭にセットし、上述のフローを繰り返す。
【００６５】
各コピー動作時に重複したデータのチェックを行わない代わりに、内部データ比較部による内部データのチェックを行うことによって、記憶領域を有効に使用することができる。
【００６６】
（付記１）コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにコピーするストレージ制御装置であって、ホストから受領したデータと該データを記憶するコピー元ボリューム内の領域の書き込まれたデータとを比較するコピー元データ比較部と、前記コピー元ボリューム比較部によって比較したデータが一致しているとの判断に基づき、前記ホストから受領したデータを前記コピー元ボリュームに書き込むことを回避するコピー機能実行部とを有することを特徴とするストレージ制御装置。
【００６７】
（付記２）付記１に記載のストレージ制御装置は、コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにバックアップする時点におけるコピー元データを示すスナップショットを作成する。
【００６８】
（付記３）付記１または２いずれか１項に記載のストレージ制御装置は、ホストから受領したデータを記憶する前記コピー先ボリューム内の領域の書き込まれたデータの有無を確認するコピー先データ確認部を有する。
【００６９】
（付記４）付記１乃至３いずれか１項に記載のストレージ制御装置は、コピー元ボリュームとコピー先ボリュームの各記憶領域同士を対応付ける管理テーブルを有する。
【００７０】
（付記５）付記４に記載のストレージ制御装置は、前記管理テーブルに、前記コピー元ボリュームの対象領域のデータのコピー先ボリュームへのコピー状況を示す第１ビットマップと、前記コピー先ボリュームの物理領域の使用状況を示す第２ビットマップとを備える。
【００７１】
（付記６）付記３乃至５いずれか１項に記載のストレージ制御装置は、前記コピー先データ確認部による前記コピー先ボリュームの前記領域に書き込まれたデータが存在するとの判断に基づき、当該データとホストから受領したデータとを比較するコピー先データ比較部を有し、前記コピー先データ比較部によって比較したデータが同一であるとの判断に基づき、前記コピー先データ確認部が前記第２ビットマップのコピー先ボリュームの前記領域の割り当て状態を書き込み可能な状態にする。
【００７２】
（付記７）コピー元データを格納するコピー元ボリュームと、コピーした前記コピー元データを格納するコピー先ボリュームと、前記コピー元ボリュームに記憶されたコピー元データを、コピー先ボリュームにコピーするストレージ制御部と、ホストからの指示を受け付けるチャネルアダプタとを有し、前記ストレージ制御部は、ホストから受領したデータと該データを記憶するコピー元ボリューム内の領域の書き込まれたデータとを比較するコピー元データ比較部を備えたデータ比較制御部と、前記コピー元ボリューム比較部によって比較したデータが一致しているとの判断に基づき、前記ホストから受領したデータを前記コピー元ボリュームに書き込むことを回避するコピー機能実行部とを有することを特徴とするストレージシステム。
【００７３】
（付記８）コピー元ボリュームに記憶されたコピー元データについて、コピー先ボリュームにバックアップする場合におけるコピー元データを示すスナップショットを、当該コピーする時点について作成するコピー方法において、ホストから受領したデータとコピー元ボリュームの当該データを記憶する箇所に記憶されているデータとを比較するコピー元データ比較ステップと、前記コピー元ボリューム比較部によってデータが同一であると判断した場合、ホストから受領したデータをコピー元ボリュームに書き込むことを抑止する実行ステップとを有することを特徴とするコピー方法。
【００７４】
（付記９）付記８に記載のコピー方法は、コピー先ボリュームのホストから受領したデータを記憶する領域にデータが記憶されているか確認するコピー先データ確認ステップを有する。
【００７５】
（付記１０）付記９に記載のコピー方法は、コピー先データ確認ステップによりコピー先ボリュームの前記領域にデータが存在すると判断した場合、当該データとホストから受領したデータとを比較するコピー先データ比較ステップを有し、前記コピー先データ比較ステップによって比較したデータが同一であると判断した場合、コピー先ボリュームの前記領域を書き込みが行える状態にする。
【００７６】
（付記１１）コピー元ボリュームに記憶されたコピー元データについて、コピー先ボリュームにコピーする場合におけるコピー元データを示すスナップショットを、当該コピーする時点について作成するストレージ制御装置において、コピー元ボリュームとコピー先ボリュームの記憶領域を対応付ける管理テーブルと、前記管理テーブル上の割り当て済みの記憶領域を検索する検索コピー機能実行部と、前記コピー元ボリュームと前記コピー先ボリュームの前記割り当て済みの各領域同士のデータを比較する内部データ比較部とコピー制御部が前記内部データ比較部により、当該データが同一であると判断した場合、前記管理テーブルの当該領域を未使用状態にするビットマップ制御部とを有することを特徴とするストレージ制御装置。
【００７７】
（付記１２）付記１１に記載のストレージ制御装置は、前記管理テーブルが、前記コピー元ボリュームの対象領域のデータのコピー先ボリュームへのコピー状況を示す第１ビットマップと、前記コピー先ボリュームの物理領域の使用状況を示す第２ビットマップとにより構成される。
【００７８】
（付記１３）コピー元ボリュームに記憶されたコピー元データについて、コピー先ボリュームにコピーする時点におけるコピー元データを示すスナップショットを、当該コピーする時点各々について作成するコピー方法において、コピー元ボリュームとコピー先ボリュームの記憶領域を対応付ける管理テーブル上の割り当て済みの記憶領域を検索する検索ステップと、前記コピー元ボリュームと前記コピー先ボリュームの前記割り当て済みのデータとを比較する内部データ比較ステップと、コピー制御部が前記内部データ比較ステップにより、当該データが同一であると判断した場合、前記管理テーブルの当該領域を未割り当てとする割り当てステップとを有することを特徴とするコピー方法。
【符号の説明】
【００７９】
１．ホスト
２．ストレージシステム
３．ストレージデバイス
４．チャネルアダプタ
５．コントローラモジュール（ストレージ制御装置）
６．ＣＰＵ
７．不揮発メモリ（ＲＯＭ）
８．揮発メモリ（ＲＡＭ）
９．キャッシュメモリ
１０．デバイスアダプタ
１１．ＬＵＮ１の論理記憶容量
１２．ＬＵＮ２の論理記憶容量
１３．コピー元ボリューム
１３Ａ．記憶領域（Ａを利用しても大丈夫でしょうか）
１４．コピー先ボリューム
１４Ａ．記憶領域
１５．管理テーブル
１６．データＡ
１７．データＸ
１８．データ書き込み要求
１９．一時バッファ
２０．データの格納
２１．ホストへの書き込み完了応答
２２．データ比較
２３．データ読み出し
２４．書き込み要求
２５．データＣ
２６．書き込み
２７．ホストへの書き込み完了応答
２８．コピー
２９．データ読み出し
３０．データ比較
３１．論理ビットマップ
３２．「０」
３３．物理ビットマップ
３４．「０」
３５．ＬＢＡ変換テーブル
３６．対応箇所
１００．ストレージ制御装置
１０１．コピー制御部
１０２．キャッシュ制御部
１０３．デバイス制御部
１０４．チャネル制御部
１０５．コピー機能実行部
１０６．コピーボリューム対応制御部
１０７．ビットマップ制御部
１０８．ＬＢＡ変換テーブル
１０９．データ比較制御部
１１０．一時バッファ割り当て制御部
１１１．コピー元データ比較部
１１２．コピー先データ比較部
１１３．内部データ比較部
Ｓ１０１．コピー元ボリュームへの書き込み要求が発生
Ｓ１０２．コピー先ボリュームの書き込み要求に対応する記憶領域にデータがあるか確認する
Ｓ１０３．一時バッファ割り当て制御部によりキャッシュメモリ上に一時バッファを割り当てる
Ｓ１０４．一時バッファにデータを書き込む
Ｓ１０５．書き込みデータと書き込み前のデータが一致するか確認する
Ｓ１０６．コピー先ボリュームへ書き込み前のデータをコピーする。
【００８０】
Ｓ１０７．一時バッファのデータをコピー元ボリュームへコピーする
Ｓ１０８．一時バッファを開放する
Ｓ１０９．コピー元ボリュームへの書き込みを実行する
Ｓ１１０．書き込みデータとコピー先データが一致するか確認する
Ｓ１１１．管理テーブルを更新し、対象物理領域を未割り当て状態にする
Ｓ２０１．ポインタを論理ビットマップの先頭にセットする
Ｓ２０２．ポイントする論理ビットマップのビットが0であるか確認する
Ｓ２０３．コピー元ボリュームのデータをバッファに読み出す
Ｓ２０４．ＬＢＡ変換テーブルによって対応するコピー先ボリュームの物理ＬＢＡを変換し、コピー先ボリュームのデータをバッファ２に読み出す
Ｓ２０５．バッファ１のデータとバッファ２のデータが一致するか確認する
Ｓ２０６．管理テーブルを更新し、コピー先ボリュームのデータを未割り当て状態にする
Ｓ２０７．ポインタを論理ビットマップの次のマスに進める
Ｓ２０８．ボリュームの最後の位置にあるデータであるか確認する
Ｓ２０９．一定時間スリープする
【図１】
2010238009.tif 000003
【図２】
2010238009.tif 000004
【図３】
2010238009.tif 000005
【図４】
2010238009.tif 000006
【図５】
2010238009.tif 000007
【図６】
2010238009.tif 000008
【図７】
2010238009.tif 000009
【図８】
2010238009.tif 000010
【図９】
2010238009.tif 000011
【図１０】
2010238009.tif 000012
【図１１】
2010238009.tif 000013
【図１２】
2010238009.tif 000014
【図１３】
2010238009.tif 000015
【図１４】
2010238009.tif 000016
【図１５】
2010238009.tif 000017
【図１６】
2010238009.tif 000018
【図１７】
2010238009.tif 000019
【図１８】
2010238009.tif 000020
【図１９】
2010238009.tif 000021
【図２０】
2010238009.tif 000022
【図２１】
2010238009.tif 000023
【図２２】
2010238009.tif 000024