JP2017531892A - ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法 - Google Patents

ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法 Download PDF

Info

Publication number
JP2017531892A
JP2017531892A JP2017538169A JP2017538169A JP2017531892A JP 2017531892 A JP2017531892 A JP 2017531892A JP 2017538169 A JP2017538169 A JP 2017538169A JP 2017538169 A JP2017538169 A JP 2017538169A JP 2017531892 A JP2017531892 A JP 2017531892A
Authority
JP
Japan
Prior art keywords
snapshot
block
storage device
file system
logical volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017538169A
Other languages
English (en)
Inventor
スティーブンソン、デール
ハーソーン、トレバー
Original Assignee
オーバーランド・ストレージ・インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オーバーランド・ストレージ・インコーポレイテッド filed Critical オーバーランド・ストレージ・インコーポレイテッド
Publication of JP2017531892A publication Critical patent/JP2017531892A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

ブロックレベル記憶デバイス内の論理ボリュームのスナップショットを実行するための改善された装置および方法を開示する。スナップショットが生成されたときに、論理ボリュームマネージャは、割り当てられていない関連ボリューム中のブロックを判断し、これらのブロックを例外テーブル中にリストする。書き込み要求を受信すると、ボリュームマネージャは、例外テーブルをチェックして、質問中の特定のブロックが割り当てられているか否かを判断する。割り当てられている場合、ボリュームマネージャは、スナップショットのために、ブロックに対してコピーオンライトを実行する。割り当てられていない場合、ボリュームマネージャは、ブロックをコピーしない。コピーオンライト動作はスナップショットボリューム内で割り当てられていないブロックに対して実行されないことから、これは、結果として、著しい効率性をもたらす。【選択図】図8

Description

発明の分野
[0001] 本発明は、ブロックレベル記憶デバイス内の論理ボリュームのスナップショットを実行するための、改善された装置および方法に関連する。
発明の背景
[0002] 世界のデジタルデータの相当量は、ブロックレベル記憶デバイス上に記憶されている。単純なブロックレベル記憶デバイスの例は、ハードディスクドライブである。より複雑なブロックレベル記憶デバイスの例は、SAN(記憶エリアネットワーク)、あるいは、ソフトウェアまたはハードウェアRAID(独立ディスクの冗長アレイ)である。
[0003] ブロックレベル記憶デバイスは、論理ボリュームマネージャによって管理されることができ、論理ボリュームマネージャは、ブロックレベル記憶デバイス内にブロックを含む、1つ以上の論理ボリュームを生成できる。論理ボリュームの例は、Linux(登録商標)中のデバイスマッパーボリュームである。そして、論理ボリューム上にファイルシステムを実装できる。
[0004] ブロックレベル記憶デバイスは、ファイルシステムのような、別のデバイスまたはレイヤから受信した読み取りまたは書き込みコマンドに応答して、データのブロック上で、読み取りおよび書き込み動作を実行できる。
[0005] 先行技術は、ブロックレベル記憶デバイス内の論理ボリュームのスナップショットをとる能力も含んでいる。例えば、時間Tに存在するようなボリュームのスナップショットが生成され、記憶されることができる。後に、スナップショットがとられてからボリュームの内容が変化したとしても、時間Tで存在したように、ボリュームは再構成されることができる。
[0006] 先行技術システムおよび方法の例は、図1−図7中に示されている。図1−図7はそれぞれ、ブロックレベル記憶システム100を描いている。
[0007] 図1において、ブロックレベル記憶システム100は、ファイルシステム101、論理ボリューム102、およびブロックレベルデバイス105を備えている。ファイルシステム101の例は、XFS、Fat16、Fat32、NTFS、ext2、ext3、ext4、reiserFS、JFS、およびUFSを含んでいる。
[0008] ファイルシステム101は、ファイルの形態でデータを管理する。論理ボリューム102は、ブロックレベルデバイス105内のブロックに論理記憶ユニットをマッピングするソフトウェアレイヤである。ファイルシステム101は、論理ボリューム102内に記憶される。ブロックレベルデバイス105は、ブロック中にデータを書き込み、ブロック中のデータを読み取る記憶デバイスである。ブロックレベルデバイス105の例は、ハードディスクドライブ、光学ドライブ、フラッシュメモリ、テープドライブ、ネットワークアタッチトストレージ(NAS)、ストレージエリアネットワーク(SAN)、ソフトウェアまたはハードウェアRAID、あるいは他の記憶媒体を含む。
[0009] 図2において、ブロックレベルデバイス105は、例示的なブロック111、112、113、114、115、116、117、および118を備えている。例示の目的で8個のブロックのみが示されているが、ブロックレベルデバイス105は、数百万個以上のブロックを備えることができることを、当業者によって理解されるだろう。この例では、ボリューム102は、ブロック111、112、113、および114を割り当てられている。
[0010] 図3において、ファイルシステム101は、ボリューム102内にファイルを記憶し始め、この簡略化された例では、ブロック111、112、および113は、データを記憶するために現在使用されており、ブロック114は、依然としフリーであるか、または割り当てられていない(free or unallocated)。これらの現在の状態で、ファイルシステム101および論理ボリューム102のスナップショットがとられ、スナップショットファイルシステム121およびスナップショット論理ボリューム122を発生させる。スナップショットは、典型的には、Linuxにおけるデバイスマッパのような、論理ボリュームマネージャによって実行される。スナップショットファイルシステム121は、その時点で、ファイルシステム101と同一である。スナップショット論理ボリューム122は、論理ボリューム102をスナップショットに対するベースとして識別するメタデータ123を備えており、論理ボリューム102は、ここでは、ブロック111、112、113、および114を備えている。スナップショットバッキングストア125は、スナップショット論理ボリューム122のために保存される必要のあるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア125は、典型的には、ブロックレベルデバイス105内の、または、他の記憶デバイス内の、その自身の論理ボリュームである。メタデータ123は、スナップショットバッキングストア125とともに記憶されることができ、または、論理ボリュームマネージャによって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア125は空(empty)である。実際のデータが修正されない限り、メタデータ123を使用して、ブロックレベルデバイス105からブロック111、112、および113からの実際のデータを取得することにより、論理ボリューム102の状態は、後に再生成されることができることから、ブロック111、112、113、および114中の実際のデータは、スナップショット論理ボリューム122の一部としてコピーまたは記憶される必要はない。
[0011] 図4は、ファイルシステム101は、ブロック113中のデータを今修正したことを示し、ラベル「ブロック113’」によって図4中に示されている。ブロック113(ブロック113’ではない)はスナップショット論理ボリューム122の一部となるように意図されているので、ブロック113の修正前に、論理ボリュームマネージャは、ブロック113をスナップショットバッキングストア125にコピーする。これは、コピーオンライト(copy-on-write)動作として知られている。メタデータ123は、ブロック113がバッキングストア124中に含まれていることを示すために、ブロック113に対する識別子をその例外リスト内にリストする。
[0012] 図4において、ブロック113が113’に修正された後に、別のスナップショットをとることができる。スナップショットファイルシステム131とスナップショット論理ボリューム132を発生させるために、現在の状態のファイルシステム101と論理ボリューム102のスナップショットがとられる。スナップショットは、典型的には、Linuxにおけるデバイスマッパのような、論理ボリュームマネージャによって実行される。スナップショットファイルシステム131は、その時点で、ファイルシステム101と同一である。スナップショット論理ボリューム132は、論理ボリューム102をスナップショットに対するベースと識別するメタデータ133を備えており、論理ボリューム102は、ここでは、ブロック111、112、113’、および114を備えている。スナップショットバッキングストア135は、スナップショット論理ボリューム132のために保存する必要があるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア135は、典型的には、ブロックレベルデバイス105内の、または、他の記憶デバイス内の、その自身の論理ボリュームである。メタデータ133は、スナップショットバッキングストア135とともに記憶されることができ、または、論理ボリュームマネージャによって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア135は空である。実際のデータが修正されない限り、メタデータ133を使用して、ブロックレベルデバイス105から、ブロック111、112、および113からの実際のデータを取得することにより、論理ボリューム102の状態は、後に再生成されることができることから、ブロック111、112、113’、および114中の実際のデータは、スナップショット論理ボリューム132の一部としてコピーまたは記憶される必要はない。
[0013] 図5において、図4への代替的なアプローチが描かれている。スナップショット論理ボリューム132が生成されるときに、ブロックレベル105中のブロックの代わりに、スナップショット論理ボリューム132を参照するように、スナップショット121に対するメタデータ123が修正される。これは、スナップショット連鎖アプローチ(snapshot chaining approach)と呼ばれることがある。
[0014] 図6において、ファイルシステム101は、以前はフリーであったかまたは割り当てられていなかったブロック114にデータを書き込むコマンドを送る。書き込みが生じる前に、ブロック114は、スナップショットバッキングストア125とスナップショットバッキングストア135にコピーされる。ブロック114はフリーであるかまたは割り当てられておらず、しがたがって、任意のユーザデータを含まないことから、(時間、処理使用、記憶空間の観点で)これは、非効率である。しかし、先行技術のボリュームマネージャは、ブロック114が割り当てられているか否かの知識を有さないことから、割り当てられたブロックと同様にコピーオンライトが生じる。その後、ブロック114は書き込まれ、ブロック114’として表されている。
[0015] 図7において、図6に示した同じ概念が、スナップショット連鎖アプローチに対して描かれている。
[0016] 必要とされるものは、書き込み要求を受信すると、ボリュームを復元するために必要とされるブロック中のデータのみがコピーされる、ブロックレベル記憶デバイス内のボリュームに対してスナップショットを実行するための改善された方法およびシステムである。
発明の簡単な概要
[0017] ブロックレベル記憶デバイス内の論理ボリュームのスナップショットを実行するための、改善された方法およびシステムをここで説明する。スナップショットが生成されるときに、論理ボリュームマネージャは、割り当てられていない関連ボリューム中のブロックを判断し、例外テーブル中にこれらのブロックをリストする。書き込み要求を受信すると、ボリュームマネージャは、例外テーブルをチェックして、当該特定のブロックが割り当てられているか否かを判断する。割り当てられている場合、ボリュームマネージャは、スナップショットのためにブロックに対してコピーオンライトを実行する。割り当てられていない場合、ボリュームマネージャは、ブロックをコピーしない。コピーオンライト動作は、スナップショットボリューム内の割り当てられていないブロックに対して実行されないことから、これは、結果として、著しい効率性をもたらす。
[0018] 図1は、先行技術のブロックレベル記憶システムを描いている。 [0019] 図2は、先行技術のブロックレベル記憶システムおよび記憶装置の例示的なブロックを描いている。 [0020] 図3は、先行技術のブロックレベル記憶システム内でとられた第1のスナップショットを描いている。 [0021] 図4は、ブロックが修正され、第1のスナップショットに対してコピーオンライトが実行され、先行技術のブロックレベル記憶システム内で第2のスナップショットがとられることを描いている。 [0022] 図5は、スナップショット連鎖アプローチを使用する、先行技術のブロックレベル記憶システム内でとられた第2のスナップショットを描いていている。 [0023] 図6は、割り当てられていないブロックに対するブロック書き込みコマンドを受信し、両方のスナップショットに対してコピーオンライト動作が実行される、先行技術のブロックレベル記憶システムを描いている。 [0024] 図7は、割り当てられていないブロックに対するブロック書き込みコマンドを受信し、スナップショット連鎖アプローチを使用する、両方のスナップショットに対してコピーオンライト動作が実行される、先行技術のブロックレベル記憶システムを描いている。 [0025] 図8は、ブロックレベル記憶システムの一実施形態内でとられた第1のスナップショットを描いている。 [0026] 図9は、ブロックが修正され、第1のスナップショットに対してコピーオンライトが実行され、ブロックレベル記憶システムの一実施形態内で第2のスナップショットがとられることを描いている。 [0027] 図10は、スナップショット連鎖アプローチを使用する、ブロックレベル記憶システムの一実施形態内でとられた第2のスナップショットを描いている。 [0028] 図11は、割り当てられていないブロックに対するブロック書き込みコマンドを受信する、ブロックレベル記憶システムの一実施形態を描いている。 [0029] 図12は、スナップショット連鎖アプローチを使用する、割り当てられていないブロックに対するブロック書き込みコマンドを受信する、ブロックレベル記憶システムの一実施形態を描いている。 [0030] 図13は、ブロックレベル記憶システムの一実施形態のコンポーネントを描いている。
本発明の詳細な説明
[0031] いくつかの実施形態が図8−13中に図示される。図8−13はそれぞれ、ブロックレベル記憶システム200を図示している。ブロックレベル記憶システム200は、先行技術のように、ファイルシステム101、論理ボリューム102、ブロックレベル105を備えている。
[0032] 図8において、ブロックレベルデバイス105は、例示的なブロック111、112、113、114、115、116、117、および、118を備えている。例示の目的で、8個のブロックのみが示されているが、ブロックレベルデバイス105は数百万個以上のブロックを備えることができると当業者によって理解されるだろう。この例では、ボリューム102は、ブロック111、112、113、および114を割り当てられている。
[0033] 図8において、ファイルシステム101は、ボリューム102内にファイルを記憶し始め、この簡略化された例では、ブロック111、112、および113は、データを記憶するために使用されており、ブロック114は、依然としてフリーであるか、または割り当てられていない。これらの現在の状態で、ファイルシステム101および論理ボリューム102のスナップショットがとられ、スナップショットファイルシステム221およびスナップショット論理ボリューム222を発生させる。スナップショットは、典型的には、Linuxにおけるデバイスマッパの修正されたバージョンであることがある、(図13中に示す)論理ボリュームマネージャ312によって実行される。スナップショットファイルシステム221は、その時点で、ファイルシステム101と同一である。スナップショット論理ボリューム222は、論理ボリューム102をスナップショットに対するベースとして識別するメタデータ223を備えている。スナップショットバッキングストア225は、スナップショット論理ボリューム222のために保存される必要のあるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア225は、典型的には、ブロックレベルデバイス105内の、または、他の記憶デバイス内の、その自身の論理ボリュームである。メタデータ223は、スナップショットバッキングストア225で記憶されることができ、または、論理ボリュームマネージャ312によって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア225は空である。実際のデータが修正されない限り、メタデータ223を使用して、ブロックレベルデバイス105から、ブロック111、112、および113からの実際のデータを取得することにより、論理ボリューム222の状態は、後に再生成されることができることから、ブロック111、112、113、および114中の実際のデータは、スナップショット論理ボリューム222の一部としてコピーまたは記憶される必要はない。
[0034] メタデータ223も例外テーブルを備えている。しかしながら、先行技術とは異なり、論理ボリュームマネージャ312は、ファイルシステム221を分析する複数のコード行を備え、該当する場合には、どのブロックが割り当てられているか、またはフリーであるかを判断し、これらのブロックに対する識別子を例外テーブルに追加する。この例では、論理ボリュームマネージャ312は、ブロック114がフリーであると判断し、ブロック114をメタデータ223内の例外テーブルに追加するだろう。
[0035] 図9は、ファイルシステム101は、ブロック113中のデータを今修正したことを示し、ラベル「ブロック113’」によって図9中に示されている。ブロック113(ブロック113’ではない)はスナップショット論理ボリューム222の一部となるように意図されているので、ブロック113の修正前に、論理ボリュームマネージャ312は、メタデータ223中の例外テーブルをチェックして、ブロック113がリストされているか否かを判断し(この時点では、されていない)、リストされていない場合、論理ボリュームマネージャ312は、ブロック113をスナップショットバッキングストア225にコピーする。この時点で、その例外テーブルが(図9中で示すように)ブロック113をリストするように、メタデータ223は、訂正される。ブロック113のコピーがスナップショットバッキングストア225中に現在存在する。
[0036] 図9において、ブロック113がブロック113’に修正された後に、スナップショット231をとることができる。スナップショットファイルシステム231とスナップショット論理ボリューム232を発生させるために、現在の状態のファイルシステム101と論理ボリューム102のスナップショットがとられる。スナップショットは、典型的には、(図13中に示す)論理ボリュームマネージャ312によって実行され、これは、Linuxにおけるデバイスマッパの修正されたバージョンであってもよい。スナップショットファイルシステム231は、その時点で、ファイルシステム101と同一である。スナップショット論理ボリューム232は、論理ボリューム102をスナップショットに対するベースとして識別するメタデータ233を備えている。スナップショットバッキングストア235は、スナップショット論理ボリューム232のために保存される必要のあるデータのコピーをブロック中に記憶するために使用される。スナップショットバッキングストア235は、典型的には、ブロックレベルデバイス105内の、または、他の記憶デバイス内の、それ自身の論理ボリュームである。メタデータ233は、スナップショットバッキングストア235とともに記憶されることができ、または、論理ボリュームマネージャ312によって利用されるアクティブ記憶エリア中に記憶されることができる。この時点で、スナップショットバッキングストア235は空である。メタデータ233を使用して、ブロックレベルデバイス105からブロック111、112、および113からの実際のデータを取得することにより、実際のデータが修正されない限り、論理ボリューム232の状態は、後に再生成されることができることから、ブロック111、112、113、および114中の実際のデータは、スナップショット論理ボリューム232の一部としてコピーまたは記憶される必要はない。
[0037] 図10において、スナップショット連鎖アプローチを使用する図9への代替的なアプローチが示されている。スナップショット論理ボリューム232が生成されるときに、論理ボリューム102の代わりに、スナップショット論理ボリューム232を参照するように、スナップショット論理ボリューム223に対するメタデータ223が修正される。
[0038] 図11において、ファイルシステム101は、以前はフリーであったかまたは割り当てられていなかったブロック114にデータを書き込むコマンドを送る。図1−7の先行技術システムでは、ブロック114は、この時点で、バッキングストア225およびバッキングストア235にコピーされるだろう。しかしながら、本発明の実施形態下では、ブロック114は、スナップショットが生成された時点で割り当てられていなかったことから、メタデータ223および233中の例外テーブルは、ブロック114をリストし、ボリュームマネージャは、例外テーブルをチェックし、ブロック114は、スナップショット論理ボリューム222および232によって必要とされないと判断する。したがって、ボリュームマネージャは、ブロック114に対するコピーオンライト動作を実行しないと知る。したがって、ブロック114は、バッキングストア225および235にコピーされない。これは、先行技術には見られない顕著な効率性である。
[0039] 図12では、図11の同じ概念が示されているが、スナップショット連鎖アプローチを使用している。図10のように、メタデータ223および233中の例外テーブルがブロック114をリストし、したがって、ボリュームマネージャ312は、ブロック114に対するコピーオンライト動作を実行しないと知る。したがって、ブロック114は、バッキングストア225および235にコピーされない。
[0040] 図13は、ブロックレベル記憶システム200のコンポーネントを描いている。ブロックレベル記憶システム200は、プロセッサ310、不揮発性記憶装置320、およびメモリ330を備えている。プロセッサ310は、ファイルシステム311および論理ボリュームマネージャ312として動作でき、メモリ330を利用する。不揮発性記憶装置320は、ブロックレベルデバイス105を備え、オプション的に、スナップショットバッキングストア225およびスナップショットバッキングストア235を備えている(そして他の任意のスナップショットバッキングストアがスナップショットを実行する際に生成される)。不揮発性記憶装置320の例は、ハードディスクドライブ、光学ドライブ、フラッシュメモリ、テープドライブ、ネットワークアッタッチトストレージ(NAS)、ストレージエリアネットワーク(SAN)、ソフトウェアまたはハードウェアRAID、あるいは他の記憶媒体を含む。ブロックレベルデバイス105も物理デバイスである場合、不揮発性記憶媒体320はブロックレベルデバイス105と同義であることがある。
[0041] 本発明は、上記で説明し、ここに図示した実施形態に限定されないが、上記の説明から明らかな、任意のおよびすべてのバリエーションを包含すると理解すべきである。例えば、ここでの本発明への言及は、任意の請求項または請求項の用語の範囲を限定することを意図してはおらず、代わりに、1つ以上の請求項によって最終的にカバーすることができる1つ以上の特徴を単に言及するにすぎない。

Claims (20)

  1. 記憶システムにおいて、
    ブロックレベル記憶デバイスと、
    プロセッサであって、
    ファイルシステムと、
    前記ブロックレベル記憶デバイス中の複数のブロックを備えるボリュームのスナップショットを実行し、前記ボリューム内に割り当てられていないブロックを示すデータ構造を発生させるためのモジュールと、
    を実行するプロセッサと、を備え、
    前記モジュールは、
    前記ボリューム中の選択されたブロックに書き込むコマンドを受信すると、
    前記選択されたブロックが、前記データ構造中に示されるか否かを判断し、
    前記選択されたブロックが前記データ構造中に示されない場合、前記選択されたブロックのコンテンツをコピーして、前記コマンドを実行し、
    前記選択されたブロックが前記データ構造中に示される場合、前記選択されたブロックの前記コンテンツをコピーすることなく、前記コマンドを実行するように構成されている、
    記憶システム。
  2. 前記ブロックレベル記憶デバイスは、1つ以上のハードディスクデバイスを備える、請求項1に記載の記憶システム。
  3. 前記ブロックレベル記憶デバイスは、記憶エリアネットワーク(SAN)を備える、請求項1に記載の記憶システム。
  4. 前記ブロックレベル記憶デバイスは、1つ以上のフラッシュメモリアレイを備える、請求項1に記載の記憶システム。
  5. 前記モジュールは、論理ボリュームマネージャ内に含まれる、請求項1に記載の記憶システム。
  6. 前記スナップショットを記憶するための記憶デバイスをさらに備える、請求項1に記載の記憶システム。
  7. 前記スナップショットは、前記記憶デバイス中の論理ボリューム中に記憶される、請求項6に記載の記憶システム。
  8. 前記ファイルシステムは、XFSファイルシステムである、請求項1に記載の記憶システム。
  9. 前記ファイルシステムは、NTFSファイルシステムである、請求項1に記載の記憶システム。
  10. 前記ファイルシステムは、EXTファイルシステムである、請求項1に記載の記憶システム。
  11. ブロックレベル記憶デバイスにデータを書き込む方法において、
    プロセッサ上で動作する論理ボリュームマネージャによって、ブロックレベル記憶デバイス中の複数のブロックをボリュームに割り当てることと、
    前記プロセッサ上で動作する第1のモジュールによって、前記ボリュームのスナップショットを実行することと、
    前記第1のモジュールによって、割り当てられていない前記ボリューム中のブロックを示すデータ構造を発生することと、
    前記プロセッサ上で動作する第2のモジュールによって、前記ボリューム内の選択されたブロックに書き込むためのコマンドを受信することと、
    前記第1のモジュールによって、前記選択されたブロックが、前記データ構造内に示されるか否かを判断することと、
    前記選択されたブロックが前記データ構造中に示されない場合、前記選択されたブロックのコンテンツをコピーして、前記コマンドを実行することと、
    前記選択されたブロックが前記データ構造中に示される場合、前記選択されたブロックの前記コンテンツをコピーすることなく、前記コマンドを実行することと、
    を備える、方法。
  12. 前記ブロックレベル記憶デバイスは、1つ以上のハードディスクドライブを備える、請求項11に記載の方法。
  13. 前記ブロックレベル記憶デバイスは、記憶エリアネットワーク(SAN)を備える、請求項11に記載の方法。
  14. 前記ブロックレベル記憶デバイスは、1つ以上のフラッシュメモリアレイを備える、請求項11に記載の方法。
  15. 前記第1のモジュールは、前記論理ボリュームマネージャ内に含まれる、請求項11に記載の方法。
  16. 前記スナップショットは、記憶デバイス上に記憶される、請求項11に記載の方法。
  17. 前記スナップショットは、前記記憶デバイス中の論理ボリューム中に記憶される、請求項16に記載の方法。
  18. ファイルシステムは、XFSファイルシステムである、請求項11に記載の方法。
  19. ファイルシステムは、NTFSファイルシステムである、請求項11に記載の方法。
  20. ファイルシステムは、EXTファイルシステムである、請求項11に記載の方法。
JP2017538169A 2014-10-02 2015-10-02 ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法 Pending JP2017531892A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/505,302 2014-10-02
US14/505,302 US20160098413A1 (en) 2014-10-02 2014-10-02 Apparatus and method for performing snapshots of block-level storage devices
PCT/US2015/053840 WO2016054582A1 (en) 2014-10-02 2015-10-02 Improved apparatus and method for performing snapshots of block-level storage devices

Publications (1)

Publication Number Publication Date
JP2017531892A true JP2017531892A (ja) 2017-10-26

Family

ID=54325742

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017538169A Pending JP2017531892A (ja) 2014-10-02 2015-10-02 ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法

Country Status (5)

Country Link
US (1) US20160098413A1 (ja)
EP (1) EP3201754A1 (ja)
JP (1) JP2017531892A (ja)
CA (1) CA2963285A1 (ja)
WO (1) WO2016054582A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372607B2 (en) * 2015-09-29 2019-08-06 Veritas Technologies Llc Systems and methods for improving the efficiency of point-in-time representations of databases
US10331374B2 (en) * 2017-06-30 2019-06-25 Oracle International Corporation High-performance writable snapshots in data storage systems
US11269716B2 (en) * 2019-05-13 2022-03-08 Microsoft Technology Licensing, Llc Self-healing operations for root corruption in a file system
US10921986B2 (en) 2019-05-14 2021-02-16 Oracle International Corporation Efficient space management for high performance writable snapshots

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792518B2 (en) * 2002-08-06 2004-09-14 Emc Corporation Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US7664771B2 (en) * 2002-10-16 2010-02-16 Microsoft Corporation Optimizing defragmentation operations in a differential snapshotter
TWI224467B (en) * 2003-03-26 2004-11-21 Benq Corp Stand
US6959313B2 (en) * 2003-07-08 2005-10-25 Pillar Data Systems, Inc. Snapshots of file systems in data storage systems
US20140215149A1 (en) * 2013-01-31 2014-07-31 Lsi Corporation File-system aware snapshots of stored data
US10417196B2 (en) * 2014-01-06 2019-09-17 Tuxera Inc. Systems and methods for fail-safe operations of storage devices

Also Published As

Publication number Publication date
CA2963285A1 (en) 2016-04-07
US20160098413A1 (en) 2016-04-07
WO2016054582A1 (en) 2016-04-07
EP3201754A1 (en) 2017-08-09

Similar Documents

Publication Publication Date Title
US10430286B2 (en) Storage control device and storage system
US9928003B2 (en) Management of writable snapshots in a network storage device
US9348827B1 (en) File-based snapshots for block-based backups
US10126946B1 (en) Data protection object store
US9411821B1 (en) Block-based backups for sub-file modifications
US9836244B2 (en) System and method for resource sharing across multi-cloud arrays
US8473462B1 (en) Change tracking for shared disks
WO2018040591A1 (zh) 一种远程数据复制方法及系统
US10872017B2 (en) Restoring a file system object
US20150317209A1 (en) System and method for incremental virtual machine backup using storage system functionality
US20190339896A1 (en) System for migrating virtual tape volumes between filesystems
JP2008282382A (ja) 仮想化されたストレージ領域に関するデータのバックアップおよび復元を行う方法および装置
US10778762B2 (en) Cloud computing service architecture
US10437682B1 (en) Efficient resource utilization for cross-site deduplication
US9274907B1 (en) Decommissioning of virtual backup appliances
US10042719B1 (en) Optimizing application data backup in SMB
US9465543B2 (en) Fine-grained data reorganization in tiered storage architectures
US8572338B1 (en) Systems and methods for creating space-saving snapshots
US20150378843A1 (en) Restoration of a file system object from raw image backup data
JP2017531892A (ja) ブロックレベル記憶デバイスのスナップショットを実行するための改善された装置および方法
US10503426B2 (en) Efficient space allocation in gathered-write backend change volumes
US20150261465A1 (en) Systems and methods for storage aggregates and infinite storage volumes
US10853185B1 (en) Virtual machine image backup to exclude system page file
US9645897B2 (en) Using duplicated data to enhance data security in RAID environments
US9830471B1 (en) Outcome-based data protection using multiple data protection systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200310