(57)【特許請求の範囲】
【請求項１】
記憶システムであって、
１つまたは複数の第１の記憶媒体および１つまたは複数の第２の記憶媒体と通信するコントローラと、
前記１つまたは複数の第１の記憶媒体から割り当てられた記憶容量を有する第１のボリュームと
を含み、
当初、前記１つまたは複数の第１の記憶媒体と前記１つまたは複数の第２の記憶媒体とが、電源がオフの状態に構成され、
前記コントローラが、前記第１のボリュームに記憶されることになる第１のデータに関して命令を受信し、前記１つまたは複数の第２の記憶媒体は依然として電源がオフの状態であるものの、前記１つまたは複数の第１の記憶媒体は電源がオンにされた状態にするように構成され、
前記コントローラによって受信された前記第１のデータのコンテンツが、前記第１のボリューム内に記憶された任意の既存のデータのコンテンツと比較され、
前記比較の結果が、前記データの前記コンテンツは前記第１のボリューム内の前記既存のデータの前記コンテンツと一致しないことを示す場合、前記第１のデータが前記第１のボリューム内に記憶される
記憶システム。
【請求項２】
前記比較の前記結果が、前記第１のデータの前記コンテンツが前記第１のボリューム内に記憶された前記既存のデータの前記コンテンツと一致することを示す場合、前記第１のデータの識別子を前記既存のデータの識別子と結びつける第１の記録が記憶されて、前記第１のデータが破棄される
請求項１に記載の記憶システム。
【請求項３】
前記第１のデータの前記コンテンツが一致しない場合、前記第１のボリュームに前記第１のデータを記憶することの完了に続いて、または前記第１のデータの前記コンテンツが一致する場合、前記記録を記憶することの完了に続いて、前記１つまたは複数の第１の記憶媒体は電源がオフにされる
請求項２に記載の記憶システム。
【請求項４】
前記１つまたは複数の第２の記憶媒体から割り当てられた記憶容量を有する第２のボリュームをさらに含み、
前記コントローラが、前記第２のボリュームに記憶されることになる第２のデータに関して命令を受信し、
前記コントローラが、前記１つまたは複数の第１の記憶媒体は依然として電源がオフであるものの、前記１つまたは複数の第２の記憶媒体の電源をオンの状態に構成し、
前記コントローラによって受信された前記第２のデータのコンテンツが、前記第２のボリューム内に記憶された任意の既存のデータのコンテンツと比較され、
前記比較の結果が、前記第２のデータの前記コンテンツが、前記第２のボリューム内の前記既存のデータの前記コンテンツと一致しないことを示す場合、前記第２のデータが前記第２のボリュームに記憶され、
前記比較の前記結果が、前記第２のデータの前記コンテンツが前記第２のボリューム内に記憶された前記既存のデータの前記コンテンツと一致することを示す場合、第２のデータの識別子を前記第２のボリューム内に記憶された前記既存のデータの識別子と結びつける第２の記録が記憶され、前記第２のデータが破棄され、
前記第２のデータの前記コンテンツが一致しない場合、前記第２のボリュームに前記第２のデータを記憶することの完了に続いて、または前記第２のデータの前記コンテンツが一致する場合、前記記録を記憶することの完了に続いて、前記１つまたは複数の第２の記憶媒体は電源がオフにされる
請求項３に記載の記憶システム。
【請求項５】
第１のハッシュ値が前記第１のデータの前記コンテンツに関して計算され、前記比較の間、前記第１のデータの前記コンテンツの前記第１のボリューム上の前記既存のデータの前記コンテンツとの直接比較が実行されるべきかどうかを決定するために、前記ハッシュ値が、前記第１のボリューム上に記憶された前記既存のデータの前記コンテンツに関して計算された第２のハッシュ値と比較される
請求項１に記載の記憶システム。
【請求項６】
複数の前記第１の記憶媒体が存在し、前記第１の記憶媒体は第１のアレイグループ内に構成されており、前記第１のボリュームは前記第１のアレイグループから割り当てられた記憶容量を有し、
複数の前記第２の記憶媒体が存在し、前記第２の記憶媒体は第２のアレイグループ内に構成されており、第２のボリュームは前記第２のアレイグループから割り当てられた記憶容量を有し、
前記第１および第２のアレイグループが、互いと関係なく前記コントローラによって電源がオンおよびオフにされるように構成された
請求項１に記載の記憶システム。
【請求項７】
前記第１のボリュームと、前記第１のボリューム上に記憶された第１のデータ領域に対応する第１のハッシュ値表と、データの前記領域が前記第１のボリューム上に記憶された場所の第１の論理ブロックアドレス表とを含む第１の重複除外範囲と、
前記第２のボリュームと、前記第２のボリューム上に記憶された第２のデータ領域に対応する第２のハッシュ値表と、前記第２のデータ領域が前記第２のボリューム上に記憶された場所の第２の論理ブロックアドレス表とを含む第２の重複除外範囲とを含み、
前記第１の範囲が、第１のデータソースからのデータを重複除外および記憶する際に使用され、前記第２の範囲が、第２のデータソースからのデータを重複除外および記憶する際に使用されるように構成された
請求項１に記載の記憶システム。
【請求項８】
第１のアプリケーションコンピュータが、前記第１のデータソースとして第１のソースボリューム内に記憶された第１のアプリケーションデータを作成し、第２のアプリケーションコンピュータが、前記第２のデータソースとして第２のソースボリューム内に記憶された第２のアプリケーションデータを作成し、
前記記憶システムと通信する管理コンピュータが、前記第１の範囲を使用して、前記第１のソースボリュームを前記第１のボリュームにバックアップし、前記第２の範囲を使用して、前記第２のソースボリュームを前記第２のボリュームにバックアップするよう前記記憶システムに周期的に命令する
請求項７に記載の記憶装置。
【請求項９】
情報システムであって、
１つまたは複数の第１の記憶媒体および１つまたは複数の第２の記憶媒体と通信するコントローラを含む記憶システムと、
前記１つまたは複数の第１の記憶媒体から割り当てられた記憶容量を有する第１のボリュームと、
前記１つまたは複数の第２の記憶媒体から割り当てられた記憶容量を有する第２のボリュームと、
第１のボリュームと、前記第１のボリューム上に記憶された第１のデータ領域に対応する第１のハッシュ値表と、前記データ領域が前記第１のボリューム上に記憶された場所の第１の論理ブロックアドレス表とを含む第１の重複除外範囲と、
第２のボリュームと、前記第２のボリューム上に記憶された第２のデータ領域に対応する第２のハッシュ値表と、前記第２のデータ領域が前記第２のボリューム上に記憶された場所の第２の論理ブロックアドレス表とを含む第２の重複除外範囲と
を含み、
前記第１の範囲が、第１のデータソースからの第１のデータを重複除外および記憶する際に使用され、前記第２の範囲が、第２のデータソースからの第２のデータを重複除外および記憶する際に使用されるように構成された
情報システム。
【請求項１０】
前記１つまたは複数の第１の記憶媒体と前記１つまたは複数の第２の記憶媒体とが、当初、電源がオフの状態に構成され、
前記コントローラが、前記第１のデータソースから前記第１のデータを記憶するための命令を受信して、前記第１の範囲に対応する前記第１のボリュームと、前記第１のハッシュ値表と、前記第１の論理ブロックアドレス表とを識別し、１つまたは複数の第２の記憶媒体の電源は依然としてオフであるものの、前記１つまたは複数の第１の記憶媒体の電源をオンの状態にするように構成され、
前記コントローラが、前記コントローラによって受信された前記第１のデータのコンテンツを前記第１のボリューム内に記憶された任意の既存のデータのコンテンツと比較することによって前記第１のデータを前記重複除外および記憶することを実行するように構成され、
前記比較の結果が、前記データの前記コンテンツが、前記第１のボリューム内の前記既存のデータの前記コンテンツと一致しないことを示す場合、前記第１のデータが前記第１のボリュームに記憶される
請求項９に記載の情報システム。
【請求項１１】
前記比較の前記結果が、前記第１のデータの前記コンテンツが前記第１のボリューム内に記憶された前記既存のデータの前記コンテンツと一致することを示す場合、前記第１のデータの識別子を前記既存のデータの識別子と結びつける第１の記録が記憶され、前記第１のデータが破棄される
請求項１０に記載の情報システム。
【請求項１２】
前記第１のデータの前記コンテンツが一致しない場合、前記第１のデータを前記第１のボリュームに記憶することの完了に続いて、または前記第１のデータの前記コンテンツが一致する場合、前記記録を記憶することの完了に続いて、前記１つまたは複数の第１の記憶媒体の電源がオフにされる
請求項１１に記載の情報システム。
【請求項１３】
第１のハッシュ値が前記第１のデータの前記コンテンツに関して計算され、前記比較の間、前記第１のデータの前記コンテンツの前記第１のボリューム上の前記既存のデータの前記コンテンツとの直接比較が実行されるべきかどうかを決定するために、前記第１のハッシュ値が前記第１のボリューム上に記憶された前記既存のデータの前記コンテンツに関して計算された第２のハッシュ値と比較される
請求項１０に記載の情報システム。
【請求項１４】
複数の前記第１の記憶媒体が存在し、前記第１の記憶媒体は第１のアレイグループ内に構成されており、前記第１のボリュームは前記第１のアレイグループから割り当てられた記憶容量を有し、
複数の前記第２の記憶媒体が存在し、前記第２の記憶媒体は第２のアレイグループ内に構成されており、前記第２のボリュームは前記第２のアレイグループから割り当てられた記憶容量を有し、
前記第１および第２のアレイグループが、互いと関係なく前記コントローラによって電源がオンおよびオフにされるように構成された
請求項９に記載の情報システム。
【請求項１５】
第１のアプリケーションコンピュータが前記第１のデータソースとして第１のソースボリューム内に記憶された第１のアプリケーションデータを作成し、第２のアプリケーションコンピュータが前記第２のデータソースとして第２のソースボリューム内に記憶された第２のアプリケーションデータを作成し、
前記記憶システムと通信する管理コンピュータが、前記第１の範囲を使用して、前記第１のソースボリュームを前記第１のボリュームにバックアップし、前記第２の範囲を使用して、前記第２のソースボリュームを前記第２のボリュームにバックアップするように前記記憶システムに周期的に命令する
請求項９に記載の情報システム。
【請求項１６】
１つまたは複数の第１の記憶媒体および１つまたは複数の第２の記憶媒体と通信するコントローラを有する記憶システムを操作する方法であって、前記方法が、
前記１つまたは複数の第１の記憶媒体から第１のボリュームを割り当てるステップと、
前記１つまたは複数の第２の記憶媒体から第２のボリュームを割り当てるステップと、
前記１つまたは複数の第１の記憶媒体と前記１つまたは複数の第２の記憶媒体とを電源がオフの状態に構成するステップと、
第１のデータを前記第１のボリュームに記憶するための命令を受信するステップと、
前記１つまたは複数の第２の記憶媒体は電源がオフの状態であるものの、前記１つまたは複数の第１の記憶媒体を電源がオンの状態に構成するステップと、
前記第１のデータを、所定のサイズの部分に分割して、前記第１のボリューム内に記憶された任意の既存のデータが前記所定のサイズの領域として記憶されるステップと、
各分割された部分のコンテンツを前記第１のボリューム上にすでに記憶された任意の既存の領域と比較するステップと、
各分割された部分に関して、前記分割された部分の前記比較の結果が、前記分割された部分の前記コンテンツが前記第１のボリューム上の前記既存の領域の前記コンテンツに一致しないことを示す場合、前記分割された部分を新しい領域として前記第１のボリュームに記憶するステップと、
前記分割された部分の前記比較の前記結果が、前記分割された部分の前記コンテンツが前記第１のボリューム上の前記既存の領域のうちの１つの前記コンテンツに一致することを示す場合、前記分割された部分の識別子を前記既存のデータの識別子と結びつける記録を記憶して、前記第１のデータの前記分割された部分を破棄するステップと
を含む方法。
【請求項１７】
前記分割された部分のすべての前記コンテンツが前記既存の領域の前記コンテンツと比較されて、前記分割された部分が新しい領域として前記第１のボリュームに記憶された後、または前記分割された部分の前記識別子を前記既存のデータの前記識別子と結びつける前記記録が記憶された後、前記１つまたは複数の第１の記憶媒体への電源をオフにするステップをさらに含む
請求項１６に記載の方法。
【請求項１８】
各前記分割された部分の前記コンテンツに関して第１のハッシュ値を計算するステップをさらに含み、
前記分割された部分の前記コンテンツを比較する前記ステップが、前記第１の分割された部分のいずれかの前記コンテンツと前記既存のデータとの直接比較が実行されるべきかどうかを決定するために、前記第１のハッシュ値を前記第１のボリューム上に記憶された任意の既存のデータの前記コンテンツに関して計算された第２のハッシュ値と比較することを含む
請求項１６に記載の方法。
【請求項１９】
前記第１のボリュームと、前記第１のボリューム上に記憶されたデータの第１の領域に対応する第１のハッシュ値表と、前記データ領域が前記第１のボリューム上に記憶された場所の第１の論理ブロックアドレス表とを含むように第１の重複除外範囲を構成するステップと、
前記第２のボリュームと、前記第２のボリューム上に記憶された第２のデータ領域に対応する第２のハッシュ値表と、前記第２のデータ領域が前記第２のボリューム上に記憶された場所の第２の論理ブロックアドレス表とを含むように第２の重複除外範囲を構成するステップとをさらに含み、
前記第１の範囲が、第１のデータソースからの前記第１のデータを重複除外および記憶する際に使用され、前記第２の範囲が、第２のデータソースからの第２のデータを重複除外および記憶する際に使用されるように構成された
請求項１６に記載の方法。
【請求項２０】
第１のアプリケーションコンピュータ内に第１のアプリケーションデータを作成するステップであって、前記第１のアプリケーションデータが前記第１のデータソースとして第１のソースボリューム内に記憶されているステップと、
第２のコンピュータ内に第２のアプリケーションデータを作成するステップであって、前記第２のアプリケーションデータが前記第２のデータソースとして第２のソースボリューム内に記憶されているステップと、
前記第１の範囲を使用して、前記第１のソースボリュームを前記第１のボリュームにバックアップし、前記第２の範囲を使用して、前記第２のソースボリュームを前記第２のボリュームにバックアップするように前記記憶システムに周期的に命令するステップと
をさらに含む請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0002]  本発明は、一般に、情報システムおよび記憶システムに関する。
【背景技術】
【０００２】
[0004]  いくつかの要因は、データセンターならびにその他の情報処理・記憶装置（ｉｎｆｏｒｍａｔｉｏｎ  ｐｒｏｃｅｓｓｉｎｇ  ａｎｄ  ｓｔｏｒａｇｅ  ｆａｃｉｌｉｔｉｅｓ）の操作コストを著しく増加している。これらの要因は、記憶されているデータ量の途方もなく大きな増加と、エネルギー価格の上昇と、より多くの電気を消費して、より大きな冷却容量を要求するコンピュータおよび記憶システムとを含む。現在の傾向が続く場合、多くのデータセンターは、機器の増大する密度と、データセンターの規模の急成長とにより、それらのニーズを満たすのに不十分な電力容量を間もなく有する可能性がある。したがって、電力効率を達成することは、今日のデータセンターおよびその他の情報処理・記憶装置において非常に重要な課題である。関連技術は、参照によりその開示全体が本明細書に組み込まれている、２００３年６月２６に出願した、Ｇｕｈａ他に対する「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｐｏｗｅｒ−Ｅｆｆｉｃｉｅｎｔ  Ｈｉｇｈ−Ｃａｐａｃｉｔｙ  Ｓｃａｌａｂｌｅ  Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」と題された、米国特許第７０３５９７２号を含む。
【０００３】
[0005]  また、記憶されているデータ量の途方もなく大きな増加に対処するためのソリューションは、この非常に大きなデータ量を削減するための技術を含む。１つのかかる技術は、特定の記憶環境内に記憶された大量のデータは、やはり同じ記憶環境内に記憶された冗長的な部分をすでに有することを前提とする、データ重複除外（ｄｅ−ｄｕｐｌｉｃａｔｉｏｎ）である。データ書込みプロセスの間、一般的な重複除外機能は、データストリームをデータのより小さな領域に分解して、データの各領域のコンテンツを記憶環境内に予め記憶された領域と比較する。データの同じ領域が記憶システム内にすでに記憶されている場合、記憶システムは、同じコンテンツを有する新しいデータ領域を記憶するのではなく、すでに記憶されたデータ領域に単に新しいリンクを作成する。関連技術は、参照によりその開示全体が本明細書に組み込まれており、重複除外機能を用いたデータ記憶のための一般的な方法を教示する、２００５年５月２４日に出願した、Ｚｈｕ他に対する、「Ｅｆｆｉｃｉｅｎｔ  Ｄａｔａ  Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」と題された、米国特許公開第２００５／０２１６６６９号を含む。
【０００４】
[0006]  その結果、記憶環境内でのデータ重複除外の使用は、記憶環境内に記憶されたデータの全体的なサイズを削減し、この技術は、ＶＴＬ（仮想テープライブラリ（Ｖｉｒｔｕａｌ  Ｔａｐｅ  Ｌｉｂｒａｒｙ））システムおよびデータバックアップを実行するためのその他のシステムを含めて、多くの記憶システム内に取り入れられている。ＶＴＬシステムに関する先行技術は、参照によりその開示全体が本明細書に組み込まれており、ＶＴＬシステム、すなわち、テープバックアップをエミュレートするためにディスクドライブを使用する仮想テープバックアップシステムに関する、「Ｔａｐｅ  Ｄｒｉｖｅ  Ｅｍｕｌａｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｏｒ  ａ  Ｄｉｓｋ  Ｄｒｉｖｅ」と題された、Ｐｌｏｔｋｉｎ他に対する、米国特許第５２９７１２４号を含む。ＶＴＬまたはその他のデータバックアップシステムを使用することで、様々なアプリケーション、部、ソースなどからバックアップのためのすべてのデータを、単一点管理（ｓｉｎｇｌｅ−ｐｏｉｎｔ  ｍａｎａｇｅｍｅｎｔ）も同様に可能にする単一のデータバックアップ記憶ソリューション内に統合することが可能である。しかし、重複除外技術は、新しい着信データ領域を記憶システムのボリュームで予め記憶されたデータ領域と引き続き比較するため、これらのボリュームは常に電源がオンにされる必要がある。これは、予め記憶された領域のいずれかが新しい着信領域と比較される必要があり、記憶されたデータの特定部分が任意の一定期間にわたって比較するために必要にならないという保証は存在しないからである。この状況は、記憶されたデータの全体的な量を削減するものの、他には、記憶システムによって消費される電力量の削減にはほとんど役立たない。したがって、やはりバックアップされているデータの重複除外も実行しながら、データバックアップを実行するためのより電力効率的な方法の必要性が存在する。
【発明の開示】
【課題を解決するための手段】
【０００５】
[0007]  本発明の実施形態は、要求される記憶容量の全体的な量を削減するためにシステム上で重複除外機能も利用しながら、ディスク電源装置を制御することによってデータバックアップシステムの電源消費を削減する。これにより、本発明は、重複除外機能を実行することによって記憶システムにより効率的にデータを記憶させると同時に、電力を節約するため、本発明は先行技術では利用可能でなかった利点を提供する。本発明のこれらのおよびその他の特徴と利点とは、以下の好ましい実施形態の詳細な説明を鑑みて当業者に明らかになるであろう。
【０００６】
[0008]  上で提示された一般的な説明、および下で提示される好ましい実施形態の詳細な説明と共に、添付の図面は、現在企画される本発明の最良の形態の好ましい実施形態の原理を例示および説明する働きをする。
【発明を実施するための最良の形態】
【０００７】
[0021]  以下の本発明の詳細な説明で、開示の一部を形成し、その中で、限定ではなく例として、それによって本発明が実施され得る特定の実施形態が示される添付の図面が参照される。図面では、同様の番号はいくつかの図を通して実質的に同様の構成要素を説明する。さらに、図面、前述の議論、および以下の説明は、単に例示的および説明的であり、本発明の範囲または本出願をいかなるようにも限定することが意図されない。
【０００８】
[0022]  本発明の実施形態は、ある種の産業において記憶されているデータ量の急増に対処するために重複除外ソリューションを提供するための方法と装置とを含み、本発明の実施形態は、記憶装置によって消費される電力量を削減するディスク電源制御技術も導入する。発明者は、一定の記憶環境で、記憶されている大量のデータは、頻繁にアクセスされる必要のないバックアップデータであり、実際に、大量のデータは記憶されて、決して再度アクセスされないと判断した。本発明は、常に活動状態でなくてよい記憶装置用のディスク駆動軸（ｓｐｉｎｄｌｅｓ）をオフにする最適な状況を決定し、それにより、記憶装置の電力消費量を削減し、冷却用の電力消費量も削減することによって、この現象を利用する。
【０００９】
[0023]  本発明の実施形態は、システム内の内部に「重複除外範囲」を維持するＶＴＬシステムなどのデータバックアップシステムを含む。重複除外範囲は、重複除外領域のハッシュ表と、重複除外領域が記憶されることになる記憶ボリュームとを含む。各重複除外範囲は、電子メールサーバデータ、ファイルサーバデータなど、それぞれのバックアップソースデータに割り当てられる。例えば、電子メールサーバのデータなど、特定のタイプのデータに関してバックアップタスクを開始する時が来ると、バックアップ管理モジュールは、対応する重複除外範囲を記憶システム内に設定する。記憶システムは、特定の重複除外範囲に関係するディスクドライブだけをオンにして、ディスクドライブの残りの部分の電力をオフにする。バックアップ管理モジュールは、バックアップデータストリームを記憶システムに書き込み、記憶システム上の重複除外モジュールは、特定のデータタイプのために適用可能な重複除外範囲に関して予め設定されたハッシュ表と領域ボリュームとを利用して重複除外プロセスを実行する。これにより、異なる範囲のデータをバックアップするために使用されるその他のディスクは依然として電源がオフの状態であるものの、冗長的なデータ部分を統合することによって重複除外を使用して、ソースデータは記憶システムにバックアップされる。
【００１０】
[0024]  重複除外範囲に従って比較目標領域を区分化することによって、プロセスは重複除外のごくわずかな効果を失うことになる。例えば、データ重複除外がデータバックアップ動作にうまく機能する理由は、特定のソースデータが繰返しバックアップされるからである。他方で、異なるデータソース間でデータ重複除外を実行することは、記憶されているデータのサイズを削減することに関して効率性の期待がはるかに小さい。したがって、この状況で電力消費量を大量に削減することは、わずかなデータが実際に重複除外されている状態で大量のデータの重複除外を試みるよりもより効果的である。これにより、本発明によって記載された方法は、所有者の観点および環境上の観点の総コストの両方からより貴重である。ＶＴＬ記憶システムなど、単一の記憶システム内に複数のかかる重複除外範囲を有して、電源装置制御を統合することは、データ記憶装置に共通の多数の長いバックアップウィンドウの間、大きな割合のディスクドライブが電源をオフにされることを可能にして、記憶システムの区分全体をオンにすることが回避され得る。さらに、本発明の実施形態は、ＶＴＬシステムの例という状況に関して説明されるが、本発明はその他のデータバックアップ記憶システム、アーカイブ記憶システムなどに応用されることが可能であることは当業者に明らかになるであろう。
【００１１】
[0025]  第１の実施形態−ハードウェアアーキテクチャ
【００１２】
[0026]  図１は、第１の実施形態の情報システムの物理的ハードウェアアーキテクチャの例を示す。これらの実施形態の情報システムは、記憶システム１００と、１つまたは複数のアプリケーションコンピュータ１１０と、管理コンピュータ１２０とからなる。アプリケーションコンピュータ１１０と、管理コンピュータ１２０と、記憶システム１００とは、ＳＡＮ（記憶域ネットワーク）、ＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（広域ネットワーク）、またはその他のタイプのネットワークであってよいネットワーク１３０を介して通信のために接続される。さらに、例えば、ＳＡＮがネットワーク１３０として使用される場合、管理専用ネットワークとして、管理コンピュータ１２０と記憶システム１００の間の追加の通信のためにＬＡＮ（図示せず）が含まれてもよい。
【００１３】
[0027]  記憶システム１００は、記憶媒体１０６など、複数の記憶装置へのアクセスを制御するためのコントローラ１０１を含む。コントローラ１０１は、ＣＰＵ１０２と、メモリ１０３と、ネットワーク１３０と接続するための１つまたは複数のポート１０４とを含む。記憶媒体１０６は、コントローラ１０１との通信のために接続され、好ましい実施形態では、ハードディスクドライブであってよいが、その他の実施形態では、固体メモリ、光ディスク、テープドライブなど、様々なその他のタイプの記憶装置のいずれかであってよい。ＶＴＬまたはその他のバックアップ機能性は、この例で説明されるように記憶システム１００に統合されてよいが、その他の実施形態では、この機能性は、独立した装置として一般的な記憶システムから切り離して提供されてよい。
【００１４】
[0028]  アプリケーションコンピュータ１１０は、ＣＰＵ１１１と、メモリ１１２と、ポート１１３と、記憶媒体１１４とを含むコンピュータであってよい。アプリケーションコンピュータ１１０は、その上でアプリケーションが実行され、アプリケーションに関連するデータを維持するサーバであってよい。示された例では、アプリケーションデータは、内部の記憶媒体１１４内に記憶されると想定され得るが、ネットワーク１３０を介してなど、アプリケーションコンピュータに接続された外部の記憶システムに記憶されてもよい。
【００１５】
[0029]  管理コンピュータ１２０は、ＣＰＵ１２１と、メモリ１２２と、ポート１２３とを含むコンピュータサーバであってよい。管理コンピュータ１２０は、記憶システム１００上でバックアップタスクを管理するためにバックアップ管理者（ｂａｃｋｕｐ  ａｄｍｉｎｉｓｔｒａｔｏｒ）によって使用されることが可能であり、アプリケーションコンピュータ１１０から記憶システム１００にデータをバックアップする端末コンピュータである。
【００１６】
[0030]  論理素子構造
【００１７】
[0031]  図２および３は、この実施形態の例示的なソフトウェアおよび論理素子構造を示す。図２で例示されたように、アプリケーションコンピュータ１１０上の素子は、例えば、電子メールなど、特定のタイプの企業データ（ｅｎｔｅｒｐｒｉｓｅ  ｄａｔａ）を作成するアプリケーションコンピュータ１１０上のモジュールであるアプリケーション２８０を含む。アプリケーション２８０によって作成されたデータは、アプリケーションコンピュータ１１０上の記憶媒体１１４上など、ソースボリューム２７０内に記憶される。
【００１８】
[0032]  管理コンピュータ１２０は、バックアッププロセス全体を制御するバックアップ管理モジュール２９０を含む。管理コンピュータ１２０は、まず、どのアプリケーションデータ（例えば、ソースボリューム２７０）が記憶システム１００内にバックアップされることになるかを特定する。記憶システム１００の準備ができた後、コントローラ１０１は、アプリケーションコンピュータ１１０からバックアップソースデータを受信する。バックアップスケジュール表５００は、各データソースがバックアップされることになる時間に関する情報、およびデータ転送を開始する前に記憶システムに対して特定される各バックアップデータの識別（すなわち、下でさらに説明される「重複除外範囲」）も維持する。
【００１９】
[0033]  記憶ボリューム構成
【００２０】
[0034]  各アレイグループ２１０は、複数の記憶媒体１０６からの物理的容量から構成される論理記憶容量であり、ＲＡＩＤ（独立ディスク冗長アレイ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ））構成で構成されてよい。例えば、アレイグループは、データを記憶する３つのディスクと、各データストライプに関してパリティデータを記憶するもう１つのディスクとを有するなど、ＲＡＩＤ５構成として構成されてよい。目標ボリューム２２０は、アレイグループ２１０のうちの１つから利用可能な記憶空間を切り取ることによって利用可能な記憶容量として作成される論理記憶エクステント（ｅｘｔｅｎｔ）（すなわち、論理ボリューム）である。図２では、目標ボリューム２２０−１はアレイグループ２１０−１から生成され、目標ボリューム２２０−２はアレイグループ２１０−２から生成され、目標ボリューム２２０−３はアレイグループ２１０−３から生成される。各目標ボリューム２２０は、（通常、１対１の関係にある）アプリケーションコンピュータ１１０のうちの１つの特定のソースボリューム２７０に関してバックアップデータを保持する論理ボリュームである。各目標ボリューム２２０は、複数のデータ領域２３０を保持する。領域２３０は、ボリューム２２０内に記憶されたバックアップデータの一部である。しかし、重複除外プロセスは、バックアッププロセスの間に同じバイトパターンを有する領域を統合するため、それぞれの目標ボリューム２２０内のその他の領域２３０と比較し、ボリューム２２０内に含まれた各領域２３０は独自のコンテンツを有する。領域２３０は、複数のブロック２４０から構成される。領域２３０内の最大ブロック数は、特定された量に限定されるが、これらのブロックのすべてが任意の特定の領域内に充当されなくてもよい。特定のソースボリューム２７０に対するバックアッププロセスの間に、対応する目標ボリューム２２０だけの電源がオンにされることになり、これは、そこから目標ボリューム２２０が割り当てられる特定のアレイグループ２１０を作り上げる記憶媒体１０６だけがオンにされる必要があり、記憶媒体１０６の残りの部分と、それらの対応する目標ボリューム２２０とは、依然として電源がオフの状態であることを意味する。したがって、例示された実施形態によれば、すべての目標ボリューム２２０は、異なるアレイグループから割り当てられることが好ましい。すなわち、言い換えれば、複数のアレイグループを通して目標ボリュームを割り当てることが回避される。
【００２１】
[0035]  コントローラ上のソフトウェア
【００２２】
[0036]  図２に例示されたように、重複除外モジュール２００は、バックアップ管理モジュール２９０からの指示に応答して記憶システム１００に重複除外サービスを提供するためのプログラムである。重複除外モジュール２００は、対応するアレイグループ２１０を作り上げる記憶媒体１０６への電源装置を制御することによって目標ボリューム２２０をオンおよびオフにするために電源装置を制御するようにも構成される。バックアップ管理モジュール２９０から任意の特定の重複除外範囲が特定される場合、重複除外モジュール２００は、対応するアレイグループ内の記憶媒体への電源装置をオンにすることによって関連した目標ボリュームをオンにする。重複除外モジュール２００は、次いで、バックアップ管理モジュール２９０によって特定された重複除外範囲に対応する目標ボリューム２２０にバックアップデータのデータストリームを書き込むための書込み要求を受け入れる。目標ボリュームへのデータ書込みの間、重複除外モジュール２００は、データストリームを領域のサイズに分解して、新しいデータを目標ボリューム内にすでに記憶された領域と比較する。新しいデータパターンが識別された場合、重複除外モジュール２００は、バックアップデータストリームのその部分を用いて新しい領域を作成して、目標ボリューム内に新しい領域を記憶する。他方で、バックアップデータストリームの部分が既存の領域と同じである場合、重複除外モジュール２００は、既存の領域に対して追加のリンクを単に作成する。バックアップデータの全体量の処理が完了した後で、目標ボリュームは、重複除外モジュール２００によって再びオフにされることが可能であり、これはバックアップ管理モジュール２９０からの命令によってトリガされ得る。
【００２３】
[0037]  コントローラ１０１は、重複除外モジュール２００によって使用されるデータ構造も含む。範囲表６００は、特定の範囲に関してハッシュ表８００、領域表９００、バックアップ画像カタログ表１０００、および目標ボリューム２２０のセットを見つけるために重複除外範囲情報の記録を保持する。アレイグループ表７００は、重複除外モジュール２００が、記憶媒体のどのセットが特定のアレイグループを作り上げるかを決定することを可能にするためにアレイグループ情報の記録を保持する。各ハッシュ表８００は、対応する目標記憶ボリューム２２０内の各領域に関して生成されたハッシュ値を保持する。ハッシュ値は、新しい着信データとボリューム内の既存の領域との初期の比較を実行するために使用される。領域表９００は、それぞれの目標ボリューム２２０内で各領域が実際に記憶される場所（論理ブロックアドレス−ＬＢＡ）の情報を保持する。バックアップ画像カタログ表１０００は、特定の目標ボリューム２２０に関してバックアップされた画像の情報を保持し、特定の目標ボリューム内に記憶された領域に対する各画像のマッピング情報を有する。ハッシュ表８００と、領域表９００と、バックアップ画像カタログ表１０００とは、各目標ボリュームすなわち対応する範囲に対して１つが存在するように生成される。
【００２４】
[0038]  重複除外範囲の構成要素
【００２５】
[0039]  図３で例示されたように、重複除外範囲３００は、特定のソースボリューム２７０に関して重複除外機能を利用すると同時に、データバックアップを実行するために必要な素子のセットを保持する論理グループである。したがって、重複除外範囲３００は、目標ボリューム２２０と、ハッシュ表８００と、領域表９００と、バックアップ画像カタログ表１０００とからなる。本発明の記憶システムは、かかる範囲の複数のセットを有し、バックアップ管理モジュール２９０から受信されたコマンドに基づいて１つの範囲から次の範囲に交換することが可能である（すなわち、特定のソースボリュームに関する特定のバックアッププロセスの間、１つの範囲セットだけが使用される）。
【００２６】
[0040]  バックアップスケジュール表
【００２７】
[0041]  図４は、バックアップソースデータ用の名称を識別するバックアップソース名５１０を含むバックアップスケジュール表５００のデータ構造の例を示す。トリガタイミング５２０は、特定のバックアップソースからのデータに関してバックアッププロセスを開始するための時間を示す。範囲ＩＤ５３０は、バックアップソースのために使用されることになる重複除外範囲を識別する。例えば、行５９１は、毎「水曜日の午前２時」からバックアップされることが予定され、記憶システムで「Ｓ１」の範囲ＩＤを有する重複除外範囲を有するバックアップソースデータ「電子メール」についての記録を示す。バックアップスケジュール表５００は、管理コンピュータ１２０内で維持され、各バックアッププロセスをいつ開始するか、どの範囲記憶システム１００が使用すべきかを決定するためにバックアップ管理モジュール２９０によって参照される。
【００２８】
[0042]  範囲表
【００２９】
[0043]  図５は、重複除外範囲を識別する範囲ＩＤ６１０を含む範囲表６００のデータ構造の例を示す。ハッシュＩＤ６２０は、特定の範囲に属すハッシュ表８００を識別する。領域表ＩＤ６３０は、特定の範囲に属する領域表９００を識別する。カタログＩＤ６４０は、特定の範囲に属するバックアップ画像カタログ表１０００を識別する。目標ボリュームＩＤ６５０は、特定の範囲に属する目標ボリューム２２０を識別する。アレイグループＩＤ６６０は、そこから目標ボリュームが当初切り取られたアレイグループを識別する。例えば、行６９１は、その中で、重複除外範囲「Ｓ１」がハッシュ表「Ｈ１」と、領域表「ＣＴ１」と、バックアップ画像カタログ表「ＣＬＧ１」とからなる記録を例示し、バックアップデータはアレイグループ「Ａ１」から切り取られた目標ボリューム「Ｖ１」上に記憶されることになる。各範囲の構成要素は、それらのそれぞれの範囲に関して１つずつ生成され、それにより、記憶システムはこれらの構成要素の複数のセット、すなわち、各範囲に１セットを有することになる。範囲表６００は、バックアップ管理モジュール２９０によって特定されたデータをバックアップするために使用される、特定された重複除範囲３００に対応する表８００、９００、１０００および目標ボリューム２２０のセットを突き止めるために重複除外モジュール２００によって参照される。
【００３０】
[0044]  アレイグループ表
【００３１】
[0045]  図６は、各記述項（ｅｎｔｒｙ）のためのアレイグループを識別するアレイグループＩＤ７１０を含むアレイグループ表７００のデータ構造の例を示す。媒体ＩＤ７２０は、アレイグループに対応する記憶媒体を識別する。例えば、記述項７９１、７９２、および７９３は、その中に記憶媒体「Ｍ１」、「Ｍ２」、および「Ｍ３」を含むアレイグループ「Ａ１」の記録を表す。アレイグループ表７００は、特定の記憶媒体のための電力がオフおよびオンにされることが可能であるように、記憶媒体１０６のどのセットがあるアレイグループ２１０を作り上げるかを決定するために重複除外モジュール２００によって参照される。
【００３２】
[0046]  ハッシュ表
【００３３】
[0047]  図７は、ハッシュ表８００のデータ構造の例を示す。ハッシュ値の記述項８１０は、バックアッププロセスの間に重複除外モジュール２００によってそれぞれの領域から生成されたハッシュ値を含む。領域ＩＤ８２０は、それに関してハッシュ表が生成されている特定の目標ボリューム内の領域を識別する。例えば、行８９１は、ハッシュ値として「Ｓ１ＨＶ１」を有し、領域ＩＤは「Ｓ１Ｃｈ１」を有する領域の記録を表す。同じハッシュ値は、両方とも同じハッシュ値「Ｓ１ＨＶ２」を有する、領域ＩＤ「Ｓ１Ｃｈ２」に関して行８９２で、かつ領域ＩＤ「Ｓ１Ｃｈ３」に関して行８９３で例示されるように、異なるデータコンテンツを実際に有する領域に関して時々生成される場合がある点に留意されたい。これにより、ハッシュ表８００は、新しく分割されたソースバックアップデータと目標ボリューム上の既存の領域との間の当初の比較を行うために重複除外モジュール２００によって使用される。次いで、一致するハッシュ値が識別された場合、データが既存の領域と真に同じであるかどうかを決定するために、直接ビット対ビットまたはバイト対バイトの比較が実行される。各重複除外範囲３００に関して、１つのハッシュ表８００が生成される。
【００３４】
[0048]  領域表
【００３５】
[0049]  図８は、特定の領域を識別する領域ＩＤ９１０を含む領域表９００のデータ構造の例を示す。開始ＬＢＡ９２０は、それぞれの領域の開始アドレスである目標ボリューム上のＬＢＡを示す。ブロック９３０の数は、それぞれの領域内の有効なブロック数を示す。例えば、行９９１は、領域ＩＤとして「Ｓ１Ｃｈ１」を有する領域の記録を表し、ボリューム上のＬＢＡ「０」で開始する領域が記録され、次いで、有効ブロックの数は開始ＬＢＡから「３２」ブロックである。重複除外プロセスの間、バックアップソースデータのバイトストリームは、領域の最大ブロック数（例えば、この例では３２ブロック）に等しいサイズの部分に分割される。しかし、データの終了部分はこの境界に正確に分割されない可能性が発生する場合があり、したがって、いくつかの領域は、多くの場合、領域内で許可される最大ブロック数よりも長さが短いことになる。これが発生すると、領域表９００内のブロック数９３０は、比較が実行されている場合、有効なデータの終了部分を示す。例えば、行９９２は、ＬＢＡ３２で開始し、２５ブロックの有効データを含む領域ＩＤ「Ｓ１Ｃｈ２」を示す。この領域の残りの部分は、データ比較目的で、重複除外モジュール２００によって無視される無効データにより充当されことが可能である。領域表９００は更新されて、新しく分割されたソースバックアップデータと目標ボリューム上の既存の領域の間の比較の間、各領域のコンテンツへのアクセスに使用するために重複除外モジュール２００によって参照される。各重複除外範囲３００に関して、１つの領域表９００が作成および維持される。
【００３６】
[0050]  バックアップ画像カタログ表
【００３７】
[0051]  図９は、バックアップ画像を識別するバックアップ画像ＩＤ１０１０を含むバックアップ画像カタログ表１０００の例示的なデータ構造を示す。タイムスタンプ１０２０は、特定のバックアップ画像に関するバックアッププロセスの開始時間用のタイムスタンプを示す。通し番号１０３０は、バックアップデータストリームの各分割された部分に関する通し番号を示す。領域ＩＤ１０４０は、データのその分割された部分に対応する領域を示す。例えば、行１０９１は、「Ｔ１」（ある時間値）でバックアップされ、バックアップデータストリームの第１の分割された部分（通し番号「０」）であったバックアップ画像「Ｓ１ＢＵ００００」に属す領域「Ｓ１Ｃｈ１」の記録を表す。バックアップ画像カタログ表は更新されて、重複除外機能を利用してバックアップが実行される場合、重複除外モジューリ２００によって参照される。
【００３８】
[0052]  データバックアップのプロセス
【００３９】
[0053]  図１０は、バックアップ管理モジュール２９０と重複除外モジュール２００とによって実行されたアプリケーションデータのデータバックアップのためのプロセスの例を示す。プロセスは、一般に、バックアップスケジュール表５００によって示されるように、アプリケーションをバックアップする時間が到着したときに始まる。あるいは、プロセスは、管理者によって手動でトリガされることも可能である。バックアップ管理モジュール２９０は、特定のアプリケーションに対応する範囲を決定して、範囲の設定を命じることによってバックアップを実行するよう記憶システム１００を準備する。記憶システム１００は、特定された範囲に関して対応する表を識別して、その範囲に属す目標ボリュームの電源をオンにする。アプリケーションデータが目標ボリュームにバックアップされると同時に、重複除外機能も実行される。目標ボリュームは、バックアッププロセスの完了に続いて電源がオフにされることが可能である。この例では、「電子メール」アプリケーションがバックアップされることになる。
【００４０】
[0054]  ステップ１５００。バックアップ管理モジュール２９０は、その中で、記録がそのトリガ時間が来た「電子メール」として設定されたバックアップソース名５１０を有する範囲ＩＤ５３０をバックアップスケジュール表５００から選択する。
【００４１】
[0055]  ステップ１５１０。バックアップ管理モジュール２９０は、選択された範囲に関して範囲ＩＤを設定するよう記憶システム１００に命令を送る。
【００４２】
[0056]  ステップ１５２０。重複除外モジュール２００は、特定された範囲に関して表８００、９００、１０００を識別および選択し、対応する目標ボリューム２２０の電源をオンにするために、図１１に記載されたように「範囲設定プロセス」を実行する。
【００４３】
[0057]  ステップ１５３０。バックアップ管理モジュール２９０は、それぞれのアプリケーションコンピュータ１１０からバックアップソースデータを受信して、そのデータストリームを記憶システム１００に転送する。
【００４４】
[0058]  ステップ１５４０。重複除外モジュール２００は、重複除外機能を利用すると同時に、図１２Ａ〜１２Ｂに記載されたように、受信されたデータを目標ボリューム２２０に書き込む「データ書込みプロセス」を実行する。
【００４５】
[0059]  ステップ１５５０。記憶システムへのバックアップデータの転送が完了した場合、バックアップ管理モジュール２９０は、バックアッププロセスが完了したという通知を記憶システム１００に送付する。
【００４６】
[0060]  ステップ１５６０。重複除外モジュールは、ステップ１５２０で電源がオンにされたすべての記憶媒体１０６の電源をオフにする。
【００４７】
[0061]  範囲設定プロセス
【００４８】
[0062]  図１１は、実際のデータバックアップ（すなわち、目標ボリュームへのデータの書込み）が重複除外モジュール２００によって実行され始める前に記憶システム上に範囲を設定するためのプロセスの例を示す。範囲設定プロセスは、特定された範囲に関して表を選択して、その範囲に属する目標ボリュームに関して記憶媒体の電源をオンにする。
【００４９】
[0063]  ステップ１６００。重複除外モジュール２００は、識別された範囲ＩＤに対応するハッシュ表ＩＤ、領域表ＩＤ、バックアップ画像カタログ表ＩＤ、目標ボリュームＩＤおよびアレイグループＩＤなど、範囲表６００から特定された重複除外範囲３００に関して範囲素子のＩＤを選択する。
【００５０】
[0064]  ステップ１６１０。重複除外モジュール２００は、記憶媒体１０６のアレイグループ表７００から、ステップ１６００で取得されたアレイグループＩＤに対応するすべての媒体ＩＤ７２０を識別する。
【００５１】
[0065]  ステップ１６２０。重複除外モジュール２００は、ステップ１６１０で識別された記憶媒体１０６の電源をオンにする。
【００５２】
[0066]  データ書込みプロセス
【００５３】
[0067]  図１２Ａ〜１２Ｂは、重複除外モジュール２００によって実行された目標ボリューム２２０のうちの１つにバックアップソースデータを書き込むためのプロセスの例を示す。プロセスは、（ａ）バックアップデータを領域サイズの断片に分割し、（ｂ）分割された部分に関して計算されたハッシュ値を記憶システム内にすでに記憶された既存のデータに関する既存のハッシュ値と比較し、ｃ）ハッシュ値が一致する場合、分割された部分を実際の領域コンテンツと比較し、ｄ）分割された部分がすでに記憶されたデータのいずれかに一致しない場合、新しい領域を記憶システムに記憶し、ｅ）範囲の関連する表８００、９００、１００を更新する。
【００５４】
[0068]  ステップ１７００。重複除外モジュール２００は、特定のバックアップ画像に関して通し番号を追跡するために変数「ｖ＿通し番号」を０（ゼロ）に初期化する。
【００５５】
[0069]  ステップ１７１０。重複除外モジュール２００は、データストリームが受信されると、バックアップデータを領域の指定された最大ブロック数と同じブロック数を有する部分に分割することによって、データストリームを領域のサイズに分解する。図８を参照して上で提示された例では、領域用の最大ブロック数は３２ブロックであるが、任意のその他の実用的なブロック数が使用されてよい。
【００５６】
[0070]  ステップ１７２０。重複除外モジュール２００は、処理のためにステップ１７１０で作成された分割されたデータ部分のうちの１つを選択する。バックアップデータの分割されたデータ部分のすべての断片がすでに処理されている場合、プロセスは終了する。そうでない場合、プロセスはステップ１７３０に進む。
【００５７】
[0071]  ステップ１７３０。重複除外モジュール２００は、ステップ１７２０で選択された分割されたバックアップデータ部分に関して新しいハッシュ値を生成する。使用される特定のハッシュ機能は、本発明にとって重要ではない。例えば、ＭＤ５、ＳＨＡ１、ＳＨＡ２５６などが使用されてよい。
【００５８】
[0072]  ステップ１７４０。重複除外モジュール２００は、ステップ１７３０で計算された新しく生成されたハッシュ値に一致する既存のハッシュ値を有する、ハッシュ表８００内のいずれの記録も識別する。一致するハッシュ値を有する記録が存在しない場合または一致するハッシュ値を有するすべての記録がすでに処理されている場合、プロセスは図１２Ｂのステップ１８００に進む（すなわち、調査されている特定の分割されたデータ部分のデータコンテンツは独自であり、分割されたデータ部分を記憶するために目標ボリューム２２０上に新しい領域を作成することが必要になる）。そうでない場合、１つまたは複数の一致するハッシュ値がステップ１７４０内で突き止められる場合、プロセスは直接データ比較のためにステップ１７５０に進む。上で議論されたように、比較のためにここで使用されるハッシュ表８００は、図１１を参照して上で説明された範囲設定プロセスのステップ１６００で取得されたハッシュ表ＩＤによって選択される。
【００５９】
[0073]  ステップ１７５０。重複除外モジュール２００は、ハッシュ表８００から、一致するハッシュ値を有する領域の領域ＩＤを識別し、次いで、開始ＬＢＡ９２０と、識別された領域のブロック数９３０とを領域表９００から取得するためにこの領域ＩＤを使用する。この情報は、調査されている分割されたバックアップデータ部分と同じハッシュ値を有する実際の領域コンテンツの記憶位置と長さとを示す。比較のためにここで使用される領域表は、図１１を参照して上で説明された範囲設定プロセスのステップ１６００内で取得されたそのＩＤによって選択される。
【００６０】
[0074]  ステップ１７６０。重複除外モジュール２００は、分割されたバックアップデータ部分のバイトストリームを、ステップ１７５０で取得された既存の領域のコンテンツと直接的に比較する。バイトパターンが一致する場合、データは記憶システム内にすでに記憶されたコンテンツに一致するコンテンツを有し、目標ボリューム上に予め記憶された領域は共有されることが可能であり、新しい領域が作成される必要がないため、データを再度記憶する必要はなく、したがって、プロセスはステップ１７７０に進む。そうでない場合、バイトパターンが互いに一致しない場合、プロセスはステップ１７４０に戻り、任意のその他の一致するハッシュ値を処理する。
【００６１】
[0075]  ステップ１７７０。同じデータコンテンツは目標ボリューム上にすでに記憶されているため、新しい領域を作成および記憶する必要がなく、したがって、重複除外モジュール２００は、ステップ１７４０で選択された既存の領域の領域ＩＤとして変数「ｖ＿領域ＩＤ」を設定し、次いで、図１２Ｂのステップ１８５０に進む。
【００６２】
[0076]  ステップ１８００。図１２Ｂを参照すると、ステップ１７４０に続いて、調査されている分割されたデータ部分に関して一致するハッシュ値または同じコンテンツが見つからない場合、新しい領域は特定の分割されたデータ部分に関して記憶される必要がある。重複除外モジュール２００は、目標ボリューム２００に関して空の領域のＩＤを取得して（または重複除外モジュールは、ボリュームの部分に関して任意の独自の領域ＩＤを作成することができる）、新しい流域としてバックアップデータ部分を記憶するための目標ボリューム２２０の開始ＬＢＡも取得する。新しい領域にボリューム容量を割り当てることは、様々な方法で実行されてよい。例えば、目標ボリューム２２０の容量全体は、ボリューム２２０が当初割り当てられる場合、領域に関して最大ブロック数を有する領域に区分化されてよい。これは等しいサイズの記憶領域の利用可能なプールを作成することができ、これらの区分化された領域の各々の境界ブロックアドレスは、この場合、新しい空の領域が要求されると、新しい領域を記憶するための開始ＬＢＡとして１つずつ提供されることができる。
【００６３】
[0077]  ステップ１８１０。重複除外モジュール２００は、ステップ１８００で取得された開始ＬＢＡによって特定されたＬＢＡでバックアップデータ部分のコンテンツを新しい領域として目標ボリューム２００に記憶する。
【００６４】
[0078]  ステップ１８２０。重複除外モジュール２００は、ステップ１７３０で生成されたハッシュ表と、ステップ１８００で取得された領域ＩＤとを使用してハッシュ表８００内に新しい記録を作成する。
【００６５】
[0079]  ステップ１８３０。重複除外モジュール２００は、ステップ１８００で取得された領域ＩＤおよび開始ＬＢＡと、新しく記憶されたバックアップデータコンテンツのブロック数で表した長さとを使用して、領域表９００内に新しい記録を作成する。
【００６６】
[0080]  ステップ１８４０。重複除外モジュール２００は、ステップ１８００で取得された領域ＩＤ（すなわち、新しい領域のＩＤ）になるように変数「ｖ＿領域ＩＤ」を設定する。
【００６７】
[0081]  ステップ１８５０。重複除外モジュール２００は、新しい記録をバックアップ画像カタログ表１０００に挿入して、下の値を充当する。バックアップ画像ＩＤ１０１０は、重複除外モジュール２００またはバックアップ管理モジュール２９０によって割り当てられた、処理されているバックアップ画像用の独自のＩＤである。タイムスタンプ１０２０は、現在のバックアッププロセスの開始時間を示す。通し番号１０３０は、処理された、分割されたデータ部分の通し番号である変数ｖ＿通し番号の値である。領域ＩＤは、その値が、新しい領域が作成されたかかどうか（ステップ１８００〜１８４０）または同じコンテンツを有する既存の領域が発見されたかどうか（ステップ１７７０）によって決まる変数ｖ＿領域ＩＤの値である。
【００６８】
[0082]  ステップ１８６０。重複除外モジュール２００は、変数ｖ＿通し番号の値を増分して、バックアップデータの次の分割されたデータ部分に関してプロセスを繰り返すためにステップ１７２０に戻る。バックアップデータのすべての部分が調査されて、バックアップ画像カタログ表１０００内に記憶された記述項が場合、プロセスは終了する。
【００６９】
[0083]  これにより、ディスク電源制御技術が記憶システムの全体的な電力消費量を削減すると同時に、本発明の重複除外ソリューションは記憶される必要があるデータ量を削減する手段を提供する。本発明のデータバックアップ構成に基づき、記憶媒体の一部だけがオンにされる必要があり、記憶媒体の残りの部分は依然としてオフの状態である。記憶システムは、システムの内部に複数の重複除外範囲を保持し、各重複除外範囲は、電子メールサーバデータ、ファイルサーバデータなど、それぞれのバックアップソースデータに割り当てられる。特定のデータソースに関してバックアップタスクを開始する時間が来ると、バックアップ管理モジュールは対応する重複除外範囲を設定し、次いで、特定された重複除外範囲に関連する記憶媒体だけに電源を入れ、記憶媒体の残りの部分は電力をオフの状態に維持する。重複除外プロセスは、設定された重複除外範囲内に含まれた特定のボリュームに関して実行され、それにより、冗長的なデータ部分を削除すると同時に、その他のバックアップ目標ボリュームはオフの状態に維持する。加えて、バックアップデータが取り出される必要がある場合、そのデータを含む特定のボリュームに対応する記憶媒体だけがオンにされる必要があり、所望されるバックアップ画像は、対応するバックアップ画像カタログ表と領域表とを使用して読み取られることが可能である。さらに、本発明はＶＴＬバックアップ記憶システムの環境で説明されているものの、本発明はその他のタイプのバックアップ記憶システム、アーカイブ記憶システム、およびその中で本発明の重複除外範囲が適用され得るその他のタイプの記憶システムにも適用可能である。
【００７０】
[0084]  前述の説明から、本発明は、使用される記憶容量の量を削減するために記憶システム上に重複除外機能を同時に利用しながら、記憶装置の電源装置を制御することによって記憶システム用の電力消費量を削減するための方法および装置を提供することが明らかになるであろう。加えて、本明細書では特定の実施形態が例示および説明されているが、当業者は、開示された特定の実施形態は、同じ目的を達成するために計算される任意の構成に置き換えられることが可能である点を理解されよう。この開示は、本発明のすべてのおよび任意の適合形態または改変形態を網羅することが意図され、上の説明は、限定的ではなく、例示的な形で行われている点を理解されたい。したがって、本発明の範囲は添付の特許請求の範囲の資格が与えられる均等物の完全範囲と共に、かかる特許請求の範囲を参照して適切に決定されるべきである。
【図面の簡単な説明】
【００７１】
【図１】[0009]本発明の方法および装置が適用され得るハードウェア構成の例を例示する図である。
【図２】[0010]図１のアーキテクチャに適用される本発明の論理構成の例を例示する図である。
【図３】[0011]重複除外範囲の論理構造の例を例示する図である。
【図４】[0012]バックアップスケジュール表の例示的なデータ構造を示す図である。
【図５】[0013]範囲表の例示的なデータ構造を示す図である。
【図６】[0014]アレイグループ表の例示的なデータ構造を示す図である。
【図７】[0015]ハッシュ表の例示的なデータ構造を示す図である。
【図８】[0016]領域表の例示的なデータ構造を示す図である。
【図９】[0017]バックアップ画像カタログ表の例示的なデータ構造を示す図である。
【図１０】[0018]データバックアップのための例示的なプロセスを示す図である。
【図１１】[0019]例示的な範囲設定プロセスを示す図である。
【図１２Ａ】[0020]例示的なデータ書込みプロセスを示す図である。
【図１２Ｂ】[0020]例示的なデータ書込みプロセスを示す図である。
【符号の説明】
【００７２】
１００……記憶システム、１０１……コントローラ、１１０……アプリケーションコンピュータ、１０３、１１２、１２２……メモリ、１０４、１１３、１２３……ポート、１０６、１１４……記憶媒体、１２０……管理コンピュータ、１３０……ネットワーク
【図１】
0005121581.tif 000002
【図２】
0005121581.tif 000003
【図３】
0005121581.tif 000004
【図４】
0005121581.tif 000005
【図５】
0005121581.tif 000006
【図６】
0005121581.tif 000007
【図７】
0005121581.tif 000008
【図８】
0005121581.tif 000009
【図９】
0005121581.tif 000010
【図１０】
0005121581.tif 000011
【図１１】
0005121581.tif 000012
【図１２Ａ】
0005121581.tif 000013
【図１２Ｂ】
0005121581.tif 000014