(57)【要約】  ブロックレベル記憶デバイス内の論理ボリュームのスナップショットを実行するための改善された装置および方法を開示する。スナップショットが生成されたときに、論理ボリュームマネージャは、割り当てられていない関連ボリューム中のブロックを判断し、これらのブロックを例外テーブル中にリストする。書き込み要求を受信すると、ボリュームマネージャは、例外テーブルをチェックして、質問中の特定のブロックが割り当てられているか否かを判断する。割り当てられている場合、ボリュームマネージャは、スナップショットのために、ブロックに対してコピーオンライトを実行する。割り当てられていない場合、ボリュームマネージャは、ブロックをコピーしない。コピーオンライト動作はスナップショットボリューム内で割り当てられていないブロックに対して実行されないことから、これは、結果として、著しい効率性をもたらす。【選択図】図８
2017531892.tif 000002
【特許請求の範囲】
【請求項１】
記憶システムにおいて、
ブロックレベル記憶デバイスと、
プロセッサであって、
ファイルシステムと、
前記ブロックレベル記憶デバイス中の複数のブロックを備えるボリュームのスナップショットを実行し、前記ボリューム内に割り当てられていないブロックを示すデータ構造を発生させるためのモジュールと、
を実行するプロセッサと、を備え、
前記モジュールは、
前記ボリューム中の選択されたブロックに書き込むコマンドを受信すると、
前記選択されたブロックが、前記データ構造中に示されるか否かを判断し、
前記選択されたブロックが前記データ構造中に示されない場合、前記選択されたブロックのコンテンツをコピーして、前記コマンドを実行し、
前記選択されたブロックが前記データ構造中に示される場合、前記選択されたブロックの前記コンテンツをコピーすることなく、前記コマンドを実行するように構成されている、
記憶システム。
【請求項２】
前記ブロックレベル記憶デバイスは、１つ以上のハードディスクデバイスを備える、請求項１に記載の記憶システム。
【請求項３】
前記ブロックレベル記憶デバイスは、記憶エリアネットワーク（ＳＡＮ）を備える、請求項１に記載の記憶システム。
【請求項４】
前記ブロックレベル記憶デバイスは、１つ以上のフラッシュメモリアレイを備える、請求項１に記載の記憶システム。
【請求項５】
前記モジュールは、論理ボリュームマネージャ内に含まれる、請求項１に記載の記憶システム。
【請求項６】
前記スナップショットを記憶するための記憶デバイスをさらに備える、請求項１に記載の記憶システム。
【請求項７】
前記スナップショットは、前記記憶デバイス中の論理ボリューム中に記憶される、請求項６に記載の記憶システム。
【請求項８】
前記ファイルシステムは、ＸＦＳファイルシステムである、請求項１に記載の記憶システム。
【請求項９】
前記ファイルシステムは、ＮＴＦＳファイルシステムである、請求項１に記載の記憶システム。
【請求項１０】
前記ファイルシステムは、ＥＸＴファイルシステムである、請求項１に記載の記憶システム。
【請求項１１】
ブロックレベル記憶デバイスにデータを書き込む方法において、
プロセッサ上で動作する論理ボリュームマネージャによって、ブロックレベル記憶デバイス中の複数のブロックをボリュームに割り当てることと、
前記プロセッサ上で動作する第１のモジュールによって、前記ボリュームのスナップショットを実行することと、
前記第１のモジュールによって、割り当てられていない前記ボリューム中のブロックを示すデータ構造を発生することと、
前記プロセッサ上で動作する第２のモジュールによって、前記ボリューム内の選択されたブロックに書き込むためのコマンドを受信することと、
前記第１のモジュールによって、前記選択されたブロックが、前記データ構造内に示されるか否かを判断することと、
前記選択されたブロックが前記データ構造中に示されない場合、前記選択されたブロックのコンテンツをコピーして、前記コマンドを実行することと、
前記選択されたブロックが前記データ構造中に示される場合、前記選択されたブロックの前記コンテンツをコピーすることなく、前記コマンドを実行することと、
を備える、方法。
【請求項１２】
前記ブロックレベル記憶デバイスは、１つ以上のハードディスクドライブを備える、請求項１１に記載の方法。
【請求項１３】
前記ブロックレベル記憶デバイスは、記憶エリアネットワーク（ＳＡＮ）を備える、請求項１１に記載の方法。
【請求項１４】
前記ブロックレベル記憶デバイスは、１つ以上のフラッシュメモリアレイを備える、請求項１１に記載の方法。
【請求項１５】
前記第１のモジュールは、前記論理ボリュームマネージャ内に含まれる、請求項１１に記載の方法。
【請求項１６】
前記スナップショットは、記憶デバイス上に記憶される、請求項１１に記載の方法。
【請求項１７】
前記スナップショットは、前記記憶デバイス中の論理ボリューム中に記憶される、請求項１６に記載の方法。
【請求項１８】
ファイルシステムは、ＸＦＳファイルシステムである、請求項１１に記載の方法。
【請求項１９】
ファイルシステムは、ＮＴＦＳファイルシステムである、請求項１１に記載の方法。
【請求項２０】
ファイルシステムは、ＥＸＴファイルシステムである、請求項１１に記載の方法。
【発明の詳細な説明】
【発明の分野】
【０００１】
［０００１］  本発明は、ブロックレベル記憶デバイス内の論理ボリュームのスナップショットを実行するための、改善された装置および方法に関連する。
【発明の背景】
【０００２】
［０００２］  世界のデジタルデータの相当量は、ブロックレベル記憶デバイス上に記憶されている。単純なブロックレベル記憶デバイスの例は、ハードディスクドライブである。より複雑なブロックレベル記憶デバイスの例は、ＳＡＮ（記憶エリアネットワーク）、あるいは、ソフトウェアまたはハードウェアＲＡＩＤ（独立ディスクの冗長アレイ）である。
【０００３】
［０００３］  ブロックレベル記憶デバイスは、論理ボリュームマネージャによって管理されることができ、論理ボリュームマネージャは、ブロックレベル記憶デバイス内にブロックを含む、１つ以上の論理ボリュームを生成できる。論理ボリュームの例は、Ｌｉｎｕｘ（登録商標）中のデバイスマッパーボリュームである。そして、論理ボリューム上にファイルシステムを実装できる。
【０００４】
［０００４］  ブロックレベル記憶デバイスは、ファイルシステムのような、別のデバイスまたはレイヤから受信した読み取りまたは書き込みコマンドに応答して、データのブロック上で、読み取りおよび書き込み動作を実行できる。
【０００５】
［０００５］  先行技術は、ブロックレベル記憶デバイス内の論理ボリュームのスナップショットをとる能力も含んでいる。例えば、時間Ｔに存在するようなボリュームのスナップショットが生成され、記憶されることができる。後に、スナップショットがとられてからボリュームの内容が変化したとしても、時間Ｔで存在したように、ボリュームは再構成されることができる。
【０００６】
［０００６］  先行技術システムおよび方法の例は、図１−図７中に示されている。図１−図７はそれぞれ、ブロックレベル記憶システム１００を描いている。
【０００７】
［０００７］  図１において、ブロックレベル記憶システム１００は、ファイルシステム１０１、論理ボリューム１０２、およびブロックレベルデバイス１０５を備えている。ファイルシステム１０１の例は、ＸＦＳ、Ｆａｔ１６、Ｆａｔ３２、ＮＴＦＳ、ｅｘｔ２、ｅｘｔ３、ｅｘｔ４、ｒｅｉｓｅｒＦＳ、ＪＦＳ、およびＵＦＳを含んでいる。
【０００８】
［０００８］  ファイルシステム１０１は、ファイルの形態でデータを管理する。論理ボリューム１０２は、ブロックレベルデバイス１０５内のブロックに論理記憶ユニットをマッピングするソフトウェアレイヤである。ファイルシステム１０１は、論理ボリューム１０２内に記憶される。ブロックレベルデバイス１０５は、ブロック中にデータを書き込み、ブロック中のデータを読み取る記憶デバイスである。ブロックレベルデバイス１０５の例は、ハードディスクドライブ、光学ドライブ、フラッシュメモリ、テープドライブ、ネットワークアタッチトストレージ（ＮＡＳ）、ストレージエリアネットワーク（ＳＡＮ）、ソフトウェアまたはハードウェアＲＡＩＤ、あるいは他の記憶媒体を含む。
【０００９】
［０００９］  図２において、ブロックレベルデバイス１０５は、例示的なブロック１１１、１１２、１１３、１１４、１１５、１１６、１１７、および１１８を備えている。例示の目的で８個のブロックのみが示されているが、ブロックレベルデバイス１０５は、数百万個以上のブロックを備えることができることを、当業者によって理解されるだろう。この例では、ボリューム１０２は、ブロック１１１、１１２、１１３、および１１４を割り当てられている。
【００１０】
［００１０］  図３において、ファイルシステム１０１は、ボリューム１０２内にファイルを記憶し始め、この簡略化された例では、ブロック１１１、１１２、および１１３は、データを記憶するために現在使用されており、ブロック１１４は、依然としフリーであるか、または割り当てられていない（free or unallocated）。これらの現在の状態で、ファイルシステム１０１および論理ボリューム１０２のスナップショットがとられ、スナップショットファイルシステム１２１およびスナップショット論理ボリューム１２２を発生させる。スナップショットは、典型的には、Ｌｉｎｕｘにおけるデバイスマッパのような、論理ボリュームマネージャによって実行される。スナップショットファイルシステム１２１は、その時点で、ファイルシステム１０１と同一である。スナップショット論理ボリューム１２２は、論理ボリューム１０２をスナップショットに対するベースとして識別するメタデータ１２３を備えており、論理ボリューム１０２は、ここでは、ブロック１１１、１１２、１１３、および１１４を備えている。スナップショットバッキングストア１２５は、スナップショット論理ボリューム１２２のために保存される必要のあるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア１２５は、典型的には、ブロックレベルデバイス１０５内の、または、他の記憶デバイス内の、その自身の論理ボリュームである。メタデータ１２３は、スナップショットバッキングストア１２５とともに記憶されることができ、または、論理ボリュームマネージャによって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア１２５は空（empty）である。実際のデータが修正されない限り、メタデータ１２３を使用して、ブロックレベルデバイス１０５からブロック１１１、１１２、および１１３からの実際のデータを取得することにより、論理ボリューム１０２の状態は、後に再生成されることができることから、ブロック１１１、１１２、１１３、および１１４中の実際のデータは、スナップショット論理ボリューム１２２の一部としてコピーまたは記憶される必要はない。
【００１１】
［００１１］  図４は、ファイルシステム１０１は、ブロック１１３中のデータを今修正したことを示し、ラベル「ブロック１１３’」によって図４中に示されている。ブロック１１３（ブロック１１３’ではない）はスナップショット論理ボリューム１２２の一部となるように意図されているので、ブロック１１３の修正前に、論理ボリュームマネージャは、ブロック１１３をスナップショットバッキングストア１２５にコピーする。これは、コピーオンライト（copy-on-write）動作として知られている。メタデータ１２３は、ブロック１１３がバッキングストア１２４中に含まれていることを示すために、ブロック１１３に対する識別子をその例外リスト内にリストする。
【００１２】
［００１２］  図４において、ブロック１１３が１１３’に修正された後に、別のスナップショットをとることができる。スナップショットファイルシステム１３１とスナップショット論理ボリューム１３２を発生させるために、現在の状態のファイルシステム１０１と論理ボリューム１０２のスナップショットがとられる。スナップショットは、典型的には、Ｌｉｎｕｘにおけるデバイスマッパのような、論理ボリュームマネージャによって実行される。スナップショットファイルシステム１３１は、その時点で、ファイルシステム１０１と同一である。スナップショット論理ボリューム１３２は、論理ボリューム１０２をスナップショットに対するベースと識別するメタデータ１３３を備えており、論理ボリューム１０２は、ここでは、ブロック１１１、１１２、１１３’、および１１４を備えている。スナップショットバッキングストア１３５は、スナップショット論理ボリューム１３２のために保存する必要があるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア１３５は、典型的には、ブロックレベルデバイス１０５内の、または、他の記憶デバイス内の、その自身の論理ボリュームである。メタデータ１３３は、スナップショットバッキングストア１３５とともに記憶されることができ、または、論理ボリュームマネージャによって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア１３５は空である。実際のデータが修正されない限り、メタデータ１３３を使用して、ブロックレベルデバイス１０５から、ブロック１１１、１１２、および１１３からの実際のデータを取得することにより、論理ボリューム１０２の状態は、後に再生成されることができることから、ブロック１１１、１１２、１１３’、および１１４中の実際のデータは、スナップショット論理ボリューム１３２の一部としてコピーまたは記憶される必要はない。
【００１３】
［００１３］  図５において、図４への代替的なアプローチが描かれている。スナップショット論理ボリューム１３２が生成されるときに、ブロックレベル１０５中のブロックの代わりに、スナップショット論理ボリューム１３２を参照するように、スナップショット１２１に対するメタデータ１２３が修正される。これは、スナップショット連鎖アプローチ（snapshot chaining approach）と呼ばれることがある。
【００１４】
［００１４］  図６において、ファイルシステム１０１は、以前はフリーであったかまたは割り当てられていなかったブロック１１４にデータを書き込むコマンドを送る。書き込みが生じる前に、ブロック１１４は、スナップショットバッキングストア１２５とスナップショットバッキングストア１３５にコピーされる。ブロック１１４はフリーであるかまたは割り当てられておらず、しがたがって、任意のユーザデータを含まないことから、（時間、処理使用、記憶空間の観点で）これは、非効率である。しかし、先行技術のボリュームマネージャは、ブロック１１４が割り当てられているか否かの知識を有さないことから、割り当てられたブロックと同様にコピーオンライトが生じる。その後、ブロック１１４は書き込まれ、ブロック１１４’として表されている。
【００１５】
［００１５］  図７において、図６に示した同じ概念が、スナップショット連鎖アプローチに対して描かれている。
【００１６】
［００１６］  必要とされるものは、書き込み要求を受信すると、ボリュームを復元するために必要とされるブロック中のデータのみがコピーされる、ブロックレベル記憶デバイス内のボリュームに対してスナップショットを実行するための改善された方法およびシステムである。
【発明の簡単な概要】
【００１７】
［００１７］  ブロックレベル記憶デバイス内の論理ボリュームのスナップショットを実行するための、改善された方法およびシステムをここで説明する。スナップショットが生成されるときに、論理ボリュームマネージャは、割り当てられていない関連ボリューム中のブロックを判断し、例外テーブル中にこれらのブロックをリストする。書き込み要求を受信すると、ボリュームマネージャは、例外テーブルをチェックして、当該特定のブロックが割り当てられているか否かを判断する。割り当てられている場合、ボリュームマネージャは、スナップショットのためにブロックに対してコピーオンライトを実行する。割り当てられていない場合、ボリュームマネージャは、ブロックをコピーしない。コピーオンライト動作は、スナップショットボリューム内の割り当てられていないブロックに対して実行されないことから、これは、結果として、著しい効率性をもたらす。
【図面の簡単な説明】
【００１８】
【図１】［００１８］  図１は、先行技術のブロックレベル記憶システムを描いている。
【図２】［００１９］  図２は、先行技術のブロックレベル記憶システムおよび記憶装置の例示的なブロックを描いている。
【図３】［００２０］  図３は、先行技術のブロックレベル記憶システム内でとられた第１のスナップショットを描いている。
【図４】［００２１］  図４は、ブロックが修正され、第１のスナップショットに対してコピーオンライトが実行され、先行技術のブロックレベル記憶システム内で第２のスナップショットがとられることを描いている。
【図５】［００２２］  図５は、スナップショット連鎖アプローチを使用する、先行技術のブロックレベル記憶システム内でとられた第２のスナップショットを描いていている。
【図６】［００２３］  図６は、割り当てられていないブロックに対するブロック書き込みコマンドを受信し、両方のスナップショットに対してコピーオンライト動作が実行される、先行技術のブロックレベル記憶システムを描いている。
【図７】［００２４］  図７は、割り当てられていないブロックに対するブロック書き込みコマンドを受信し、スナップショット連鎖アプローチを使用する、両方のスナップショットに対してコピーオンライト動作が実行される、先行技術のブロックレベル記憶システムを描いている。
【図８】［００２５］  図８は、ブロックレベル記憶システムの一実施形態内でとられた第１のスナップショットを描いている。
【図９】［００２６］  図９は、ブロックが修正され、第１のスナップショットに対してコピーオンライトが実行され、ブロックレベル記憶システムの一実施形態内で第２のスナップショットがとられることを描いている。
【図１０】［００２７］  図１０は、スナップショット連鎖アプローチを使用する、ブロックレベル記憶システムの一実施形態内でとられた第２のスナップショットを描いている。
【図１１】［００２８］  図１１は、割り当てられていないブロックに対するブロック書き込みコマンドを受信する、ブロックレベル記憶システムの一実施形態を描いている。
【図１２】［００２９］  図１２は、スナップショット連鎖アプローチを使用する、割り当てられていないブロックに対するブロック書き込みコマンドを受信する、ブロックレベル記憶システムの一実施形態を描いている。
【図１３】［００３０］  図１３は、ブロックレベル記憶システムの一実施形態のコンポーネントを描いている。
【本発明の詳細な説明】
【００１９】
［００３１］  いくつかの実施形態が図８−１３中に図示される。図８−１３はそれぞれ、ブロックレベル記憶システム２００を図示している。ブロックレベル記憶システム２００は、先行技術のように、ファイルシステム１０１、論理ボリューム１０２、ブロックレベル１０５を備えている。
【００２０】
［００３２］  図８において、ブロックレベルデバイス１０５は、例示的なブロック１１１、１１２、１１３、１１４、１１５、１１６、１１７、および、１１８を備えている。例示の目的で、８個のブロックのみが示されているが、ブロックレベルデバイス１０５は数百万個以上のブロックを備えることができると当業者によって理解されるだろう。この例では、ボリューム１０２は、ブロック１１１、１１２、１１３、および１１４を割り当てられている。
【００２１】
［００３３］  図８において、ファイルシステム１０１は、ボリューム１０２内にファイルを記憶し始め、この簡略化された例では、ブロック１１１、１１２、および１１３は、データを記憶するために使用されており、ブロック１１４は、依然としてフリーであるか、または割り当てられていない。これらの現在の状態で、ファイルシステム１０１および論理ボリューム１０２のスナップショットがとられ、スナップショットファイルシステム２２１およびスナップショット論理ボリューム２２２を発生させる。スナップショットは、典型的には、Ｌｉｎｕｘにおけるデバイスマッパの修正されたバージョンであることがある、（図１３中に示す）論理ボリュームマネージャ３１２によって実行される。スナップショットファイルシステム２２１は、その時点で、ファイルシステム１０１と同一である。スナップショット論理ボリューム２２２は、論理ボリューム１０２をスナップショットに対するベースとして識別するメタデータ２２３を備えている。スナップショットバッキングストア２２５は、スナップショット論理ボリューム２２２のために保存される必要のあるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア２２５は、典型的には、ブロックレベルデバイス１０５内の、または、他の記憶デバイス内の、その自身の論理ボリュームである。メタデータ２２３は、スナップショットバッキングストア２２５で記憶されることができ、または、論理ボリュームマネージャ３１２によって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア２２５は空である。実際のデータが修正されない限り、メタデータ２２３を使用して、ブロックレベルデバイス１０５から、ブロック１１１、１１２、および１１３からの実際のデータを取得することにより、論理ボリューム２２２の状態は、後に再生成されることができることから、ブロック１１１、１１２、１１３、および１１４中の実際のデータは、スナップショット論理ボリューム２２２の一部としてコピーまたは記憶される必要はない。
【００２２】
［００３４］  メタデータ２２３も例外テーブルを備えている。しかしながら、先行技術とは異なり、論理ボリュームマネージャ３１２は、ファイルシステム２２１を分析する複数のコード行を備え、該当する場合には、どのブロックが割り当てられているか、またはフリーであるかを判断し、これらのブロックに対する識別子を例外テーブルに追加する。この例では、論理ボリュームマネージャ３１２は、ブロック１１４がフリーであると判断し、ブロック１１４をメタデータ２２３内の例外テーブルに追加するだろう。
【００２３】
［００３５］  図９は、ファイルシステム１０１は、ブロック１１３中のデータを今修正したことを示し、ラベル「ブロック１１３’」によって図９中に示されている。ブロック１１３（ブロック１１３’ではない）はスナップショット論理ボリューム２２２の一部となるように意図されているので、ブロック１１３の修正前に、論理ボリュームマネージャ３１２は、メタデータ２２３中の例外テーブルをチェックして、ブロック１１３がリストされているか否かを判断し（この時点では、されていない）、リストされていない場合、論理ボリュームマネージャ３１２は、ブロック１１３をスナップショットバッキングストア２２５にコピーする。この時点で、その例外テーブルが（図９中で示すように）ブロック１１３をリストするように、メタデータ２２３は、訂正される。ブロック１１３のコピーがスナップショットバッキングストア２２５中に現在存在する。
【００２４】
［００３６］  図９において、ブロック１１３がブロック１１３’に修正された後に、スナップショット２３１をとることができる。スナップショットファイルシステム２３１とスナップショット論理ボリューム２３２を発生させるために、現在の状態のファイルシステム１０１と論理ボリューム１０２のスナップショットがとられる。スナップショットは、典型的には、（図１３中に示す）論理ボリュームマネージャ３１２によって実行され、これは、Ｌｉｎｕｘにおけるデバイスマッパの修正されたバージョンであってもよい。スナップショットファイルシステム２３１は、その時点で、ファイルシステム１０１と同一である。スナップショット論理ボリューム２３２は、論理ボリューム１０２をスナップショットに対するベースとして識別するメタデータ２３３を備えている。スナップショットバッキングストア２３５は、スナップショット論理ボリューム２３２のために保存される必要のあるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア２３５は、典型的には、ブロックレベルデバイス１０５内の、または、他の記憶デバイス内の、それ自身の論理ボリュームである。メタデータ２３３は、スナップショットバッキングストア２３５とともに記憶されることができ、または、論理ボリュームマネージャ３１２によって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア２３５は空である。メタデータ２３３を使用して、ブロックレベルデバイス１０５からブロック１１１、１１２、および１１３からの実際のデータを取得することにより、実際のデータが修正されない限り、論理ボリューム２３２の状態は、後に再生成されることができることから、ブロック１１１、１１２、１１３、および１１４中の実際のデータは、スナップショット論理ボリューム２３２の一部としてコピーまたは記憶される必要はない。
【００２５】
［００３７］  図１０において、スナップショット連鎖アプローチを使用する図９への代替的なアプローチが示されている。スナップショット論理ボリューム２３２が生成されるときに、論理ボリューム１０２の代わりに、スナップショット論理ボリューム２３２を参照するように、スナップショット論理ボリューム２２３に対するメタデータ２２３が修正される。
【００２６】
［００３８］  図１１において、ファイルシステム１０１は、以前はフリーであったかまたは割り当てられていなかったブロック１１４にデータを書き込むコマンドを送る。図１−７の先行技術システムでは、ブロック１１４は、この時点で、バッキングストア２２５およびバッキングストア２３５にコピーされるだろう。しかしながら、本発明の実施形態下では、ブロック１１４は、スナップショットが生成された時点で割り当てられていなかったことから、メタデータ２２３および２３３中の例外テーブルは、ブロック１１４をリストし、ボリュームマネージャは、例外テーブルをチェックし、ブロック１１４は、スナップショット論理ボリューム２２２および２３２によって必要とされないと判断する。したがって、ボリュームマネージャは、ブロック１１４に対するコピーオンライト動作を実行しないと知る。したがって、ブロック１１４は、バッキングストア２２５および２３５にコピーされない。これは、先行技術には見られない顕著な効率性である。
【００２７】
［００３９］  図１２では、図１１の同じ概念が示されているが、スナップショット連鎖アプローチを使用している。図１０のように、メタデータ２２３および２３３中の例外テーブルがブロック１１４をリストし、したがって、ボリュームマネージャ３１２は、ブロック１１４に対するコピーオンライト動作を実行しないと知る。したがって、ブロック１１４は、バッキングストア２２５および２３５にコピーされない。
【００２８】
［００４０］  図１３は、ブロックレベル記憶システム２００のコンポーネントを描いている。ブロックレベル記憶システム２００は、プロセッサ３１０、不揮発性記憶装置３２０、およびメモリ３３０を備えている。プロセッサ３１０は、ファイルシステム３１１および論理ボリュームマネージャ３１２として動作でき、メモリ３３０を利用する。不揮発性記憶装置３２０は、ブロックレベルデバイス１０５を備え、オプション的に、スナップショットバッキングストア２２５およびスナップショットバッキングストア２３５を備えている（そして他の任意のスナップショットバッキングストアがスナップショットを実行する際に生成される）。不揮発性記憶装置３２０の例は、ハードディスクドライブ、光学ドライブ、フラッシュメモリ、テープドライブ、ネットワークアッタッチトストレージ（ＮＡＳ）、ストレージエリアネットワーク（ＳＡＮ）、ソフトウェアまたはハードウェアＲＡＩＤ、あるいは他の記憶媒体を含む。ブロックレベルデバイス１０５も物理デバイスである場合、不揮発性記憶媒体３２０はブロックレベルデバイス１０５と同義であることがある。
【００２９】
［００４１］  本発明は、上記で説明し、ここに図示した実施形態に限定されないが、上記の説明から明らかな、任意のおよびすべてのバリエーションを包含すると理解すべきである。例えば、ここでの本発明への言及は、任意の請求項または請求項の用語の範囲を限定することを意図してはおらず、代わりに、１つ以上の請求項によって最終的にカバーすることができる１つ以上の特徴を単に言及するにすぎない。
【図１】
2017531892.tif 000003
【図２】
2017531892.tif 000004
【図３】
2017531892.tif 000005
【図４】
2017531892.tif 000006
【図５】
2017531892.tif 000007
【図６】
2017531892.tif 000008
【図７】
2017531892.tif 000009
【図８】
2017531892.tif 000010
【図９】
2017531892.tif 000011
【図１０】
2017531892.tif 000012
【図１１】
2017531892.tif 000013
【図１２】
2017531892.tif 000014
【図１３】
2017531892.tif 000015
【国際調査報告】
2017531892.tif 000016
2017531892.tif 000017