JP5925968B2 - ファイルストレージシステムにおけるチェックポイントを用いて重複排除を管理するシステムおよび方法 - Google Patents
ファイルストレージシステムにおけるチェックポイントを用いて重複排除を管理するシステムおよび方法 Download PDFInfo
- Publication number
- JP5925968B2 JP5925968B2 JP2015533024A JP2015533024A JP5925968B2 JP 5925968 B2 JP5925968 B2 JP 5925968B2 JP 2015533024 A JP2015533024 A JP 2015533024A JP 2015533024 A JP2015533024 A JP 2015533024A JP 5925968 B2 JP5925968 B2 JP 5925968B2
- Authority
- JP
- Japan
- Prior art keywords
- file system
- deduplication
- checkpoint
- candidate
- file
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000004590 computer program Methods 0.000 claims description 26
- 238000013500 data storage Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000012856 packing Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000026676 system process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010367 cloning Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000760358 Enodes Species 0.000 description 1
- RTAQQCXQSZGOHL-UHFFFAOYSA-N Titanium Chemical compound [Ti] RTAQQCXQSZGOHL-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- QSHDDOUJBYECFT-UHFFFAOYSA-N mercury Chemical compound [Hg] QSHDDOUJBYECFT-UHFFFAOYSA-N 0.000 description 1
- 229910052753 mercury Inorganic materials 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000013509 system migration Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
- G06F16/152—File search processing using file content signatures, e.g. hash values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Description
図1は、本発明の例示的な実施形態によるファイルストレージシステムの概略ブロック図である。ファイルストレージシステムは、特に、いくつかのファイルサーバ(簡単にするため、便宜上、単一のファイルサーバ102を示している)を含み、これらは、インターネットプロトコル・ネットワーク(例えば、インターネット)などの通信ネットワーク104を介して様々なクライアント装置1061〜106Mと通信し、さらに、ファイバチャネル(FibreChannel)ネットワークなどのストレージネットワーク110を介して様々なRAIDシステム1081〜108Nと通信する。クライアント装置1061〜106Mとファイルサーバ102とは、CIFSおよび/またはNFSなど、1つ以上のネットワークファイルプロトコルを用いて通信する。ファイルサーバ102とRAIDシステム1081〜108Nとは、SCSIなどのストレージプロトコルを用いて通信する。留意すべきことは、ファイルストレージシステムは、様々な構成で相互接続された複数のファイルサーバと複数のRAIDシステムを含み得るということであり、それには、冗長スイッチド・ファイバチャネルネットワークを介して任意のファイルサーバが任意のRAIDシステムと通信することが可能なフルメッシュ構成が含まれる。
いくつかの例示的な実施形態において、ファイルサーバは、ソフトウェアベースのシステムとハードウェアベースのシステムとの間の独特な役割分担によって重複排除を実現する。図2は、そのような例示的な実施形態によるソフトウェア/ハードウェア・アーキテクチャの概略図である。この場合、ソフトウェアベースのシステム210は、ソフトウェアベースの重複排除マネージャ212と重複排除検出/インデキシング・エンジン213とを含む各種ソフトウェアコンポーネントを有し、それらは、マイクロプロセッサシステム(例えば、マイクロプロセッサと、関連付けられたメモリおよび周辺機器と、を含む)上で動作するオペレーティングシステム211の下で実行される。ソフトウェアベースの重複排除マネージャ212と重複排除検出/インデキシング・エンジン213との間で通信を可能とするために、(例えば、Bossockソケット層を介して)プロセス間通信チャネル214が提供される。ハードウェアベースのシステム220は、ハードウェアベースのハッシュ生成器222(より詳細に後述する)およびファイルシステム223と通信するハードウェアベースのファイルシステム・マネージャ221を含む各種ハードウェアコンポーネントを有し、ファイルシステムは、各種メモリおよびストレージデバイスに保存されており、それらの一部はファイルサーバ102内(例えば、内部キャッシュメモリ内)にある場合があり、また、それらの一部はファイルサーバ102の外部にある場合がある(例えば、各種RAIDシステムまたは他のストレージシステムに保存される)。ソフトウェアベースの重複排除マネージャ212とハードウェアベースのファイルシステム・マネージャ221との間の通信を可能とするために、インタフェース230が提供される。
ファイルサーバ102は、各種タイプのオブジェクトをファイルシステムに保存する。オブジェクトは、一般にシステムオブジェクトとファイルオブジェクトに分類することができる。ファイルオブジェクトは、ワードプロセッサファイルまたはスプレッドシートファイルなどのように、ユーザデータおよび関連付けられた属性の保存用に作成される。システムオブジェクトは、情報の管理用に、ファイルストレージシステムによって作成されるものであり、数例を挙げると、ルートディレクトリオブジェクト、空き領域割り当てオブジェクト、変更チェックポイントオブジェクトリストオブジェクト、変更保持オブジェクトリストオブジェクト、ソフトウェアメタデータオブジェクト、などが含まれる。より具体的には、ディレクトリオブジェクトは、ディレクトリ情報の保存用に作成される。空き領域割り当てオブジェクトは、空き領域の割り当て情報の保存用に作成される。変更チェックポイントオブジェクトリストオブジェクトおよび変更保持オブジェクトリストオブジェクト(これら両方についてはより詳細に後述する)は、それぞれ、チェックポイントおよび保持チェックポイントに関する情報の保存用に作成される。ソフトウェアメタデータオブジェクト(より詳細に後述する)は、ファイルオブジェクトまたはディレクトリオブジェクトに関連付けられた余分なファイル属性(すなわち、CIFSセキュリティ属性など、後述するように、そのファイルオブジェクトまたはディレクトリオブジェクト内の予め定められた領域内に収めることができないファイル属性)を保持するための特殊オブジェクトであって、ファイルオブジェクトまたはディレクトリオブジェクトの作成者によって作成されるものであり、そのファイルオブジェクトまたはディレクトリオブジェクト内には、ソフトウェアメタデータオブジェクトへの参照が格納される。
・ チェックポイント番号。
・ 間接ノードまたは直接ノードのいずれかへのポインタ(例えば、最大60個までの、そのようなポインタ)。
・ 間接ノードの妥当性チェックを可能とするためのCRCおよび各種サニティ・ダブルワード。
・ チェックポイント番号。
・ 複数のデータブロック記述子(例えば、最大60個までの、そのような記述子)。各データブロック記述子は、データブロックへのポインタと、チェックポイント番号と、そのブロックがゼロ充填されるかどうかを示すビットと、を含む。
・ 直接ノードの妥当性チェックを可能とするためのCRCおよび各種サニティ・ダブルワード。
ファイルのルートノードの実例:
onode/ccache: onode -o 16392
onode/ccache: Read 1024 bytes from sector 0x38b560 (Byte Offset 0x716ac000)
onode/ccache:
onode/ccache: ActiveRootNode
onode/ccache: AsciiDescriptor : RONA
onode/ccache: SanityDWord0 : WFS1 (valid)
onode/ccache: ObjectNumber : 0x4008 (Type: OBJ_TYPE_FSOBJECT_FILE)
onode/ccache: Checkpoint : 0x123ab (本オブジェクトが直近で変更されたときのチェックポイント番号)
onode/ccache: ReuseCount : 0x123ab
onode/ccache: WriteCount : 0x3
onode/ccache: IndirectionCount : 2
onode/ccache: ResiliencyMode : None
onode/ccache: DataLength : 1 MB (1048576 B)
onode/ccache: FreeRootOnodePtr : 0x0 (unused)
onode/ccache: SavedRootOnodePtr: 0x0 (unused)
onode/ccache: BlockPtr[00] : 0x38d0c8 (Checkpoint: 0x123ab) (チェックポイント0x123abで書き込まれたデータブロックへのポインタ)
onode/ccache: BlockPtr[01] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[02] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[03] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[04] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[05] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[06] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[07] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[08] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[09] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[10] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[11] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[12] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[13] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[14] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: BlockPtr[15] : (Checkpoint: 0x123ab) (ZeroFill) (Sparse)
onode/ccache: LeafOnodePtr : 0x38b5c0 (Checkpoint: 0x123ab) (残りのデータブロックを指す追加のoノードツリー)
onode/ccache: Format TimeStamp : 0x5034155431d149c3
onode/ccache: WfsEnode
onode/ccache: <Enode contains file's attributes - snipped>
onode/ccache:
onode/ccache: Cloned Checkpoint: 0x0 (本オブジェクトが他のオブジェクトのクローンである場合は、Cloned Checkpointは非ゼロである)
onode/ccache: Reserved[1] : 0x0
onode/ccache: Reserved[2] : 0x0
onode/ccache: BlockCount : 0x100 (sparse blocks)
onode/ccache: CreationChkpoint : 0x123ab (本オブジェクトが作成されたチェックポイント)
onode/ccache: Crc32 : 0xcbe306ba (valid)
onode/ccache: SanityDWord1 : WFS2 (valid)
oノードツリーにおける次のレベルの実例:
onode/ccache: onode -s 0x38b5c0
onode/ccache: Read 1024 bytes from sector 0x38b5c0 (Byte Offset 0x716b8000)
onode/ccache: Leaf Onode:
onode/ccache: IndirectOnode
onode/ccache: AsciiDescriptor : IONA
onode/ccache: SanityDWord0 : WFS1 (valid)
onode/ccache: ObjectNumber : 0x4008 (Type: OBJ_TYPE_FSOBJECT_FILE)
onode/ccache: Checkpoint : 0x123ab (本ノードが書き込まれたときのチェックポイントであり、これは、本ノードを指すポインタにおけるチェックポイントフィールドと一致していなければならず、それは、本例では、上記ルートoノードからのリーフoノードポインタである)
onode/ccache: ReuseCount : 0x123ab
onode/ccache: WriteCount : 0x3
onode/ccache: ResiliencyMode : None
onode/ccache: ObjectPtr[00] : 0x38b5b8 (Checkpoint: 0x123ab) (ツリーの第1の次の分岐へのポインタ)
onode/ccache: ObjectPtr[01] : 0x38b5c8 (Checkpoint: 0x123ab) (ツリーの第2の次の分岐へのポインタ)
onode/ccache: ObjectPtr[02] : 0x38b5d0 (Checkpoint: 0x123ab) (ツリーの第3の次の分岐へのポインタ)
onode/ccache: ObjectPtr[03] : 0x38b5d8 (Checkpoint: 0x123ab) (ツリーの第4の次の分岐へのポインタ)
onode/ccache: Reserved[0] : 0x0
onode/ccache: Reserved[1] : 0x0
onode/ccache: Reserved[2] : 0x0
onode/ccache: Crc32 : 0x25972e2f (valid)
onode/ccache: SanityDWord1 : WFS2(valid)
本発明の実施形態が、特定の重複排除検出/インデキシング・エンジンに限定されることはないものの、いくつかの例示的な実施形態では、重複排除検出/インデキシング・エンジン213は、マサチューセッツ州ケンブリッジのPermabit Technology社からライセンスされるALBIREO(登録商標)データ最適化ソフトウェアとして知られる市販のソフトウェア製品(以下、「エンジン」と呼ぶ)であり、これは、プリコンパイル済みの共有ライブラリと実行ファイルとして提供されて、ソフトウェアベースのシステム210に統合される。
極めて上位のレベルでは、重複排除プロセスは、重複排除の候補となるチャンクを特定することと、特定の候補チャンクが、ファイルシステム内の別のチャンクの重複であるかどうか判断することと、候補チャンク(ひいては、重複データ)が保存される必要がないように、重複チャンクを、その別のチャンクへの参照で置き換えることと、を伴う。また、保存されるデータ量をさらに削減するように、同じくその別のチャンクの重複である他の候補チャンクも、その別のチャンクへの参照で置き換えることができる。
上述のように、変更ブロック検出ステージ402では、ファイルシステムにおける変更を、それらの重複排除を試みるために、特定しなければならない。いくつかの例示的な実施形態において、ソフトウェアベースの重複排除マネージャ212は、変更されたオブジェクトを特定することと、そしてさらに、チェックポイント番号を用いて、そのような変更されたオブジェクト内で変更されたブロックを特定することを、間接オブジェクトについて繰り返す。図6は、例示的な一実施形態により候補チャンクを特定する場合の論理フロー図である。この場合、ブロック602において、変更ブロック検出ステージ402で、ファイルシステムオブジェクトのルートノードを調べる。そのオブジェクトの作成チェックポイントが、チェックポイント範囲内にある場合(ブロック604でYES)は、そのオブジェクトが(後述する)クローンオブジェクトでなければ、そのファイルシステムオブジェクトに関連付けられた全てのブロックは、そのチェックポイント範囲内で変更されていることになり、従って、そのファイルシステムオブジェクトの全てのブロックは、(オプションとして、後述する例を除いて)典型的には、候補チャンクとみなされる。
いくつかの例示的な実施形態において、ストレージ空間を節約するために、システムは、一般的に行われているように各データセグメントを別個のブロックに保存するのではなく、同じファイルシステムオブジェクトからの、または異なるファイルシステムオブジェクトからの、複数のデータセグメント(例えば、フルブロックよりも小さい、oノードおよび/またはユーザデータセグメント)を単一のブロックにパックすることを可能にすることができる。例えば、所定数までのoノードを単一のブロックに保存することができ、または、複数のデータセグメントを(複数のファイルシステムオブジェクトに関連付けられたデータであっても)単一のブロックに保存することができる。
上述のように、重複排除と、さらにデータパッキングによって、ブロックは2つ以上のエンティティにより参照(共有)されることがある。従って、各ブロックへの参照を追跡するための機構が必要となる。典型的には、参照は、参照カウントを用いて追跡され、参照カウントがゼロに達しない限り(すなわち、ブロックを参照する最後のエンティティが削除されるまでは)、ブロックを削除することはできない。
− 値=0:ブロックは未割り当てである
− 値=[1,239(0xEF)]:通常のブロックまたはスナップショット・ブロックの参照カウント
− 値=[240(0xF0),247(0xF7)]:パックされたブロックの参照カウント(参照カウント1〜8)
− 値=248(0xF8)〜255(0xFF):未使用/予備
いくつかの例示的な実施形態では、(例えば、インデックス付きチャンクに関連付けられたオリジナルのオブジェクトが削除または破棄されていることによって)インデックス付きチャンクが、もはや、そのオリジナルのオブジェクトに関連付けられていない場合に、重複排除のプロセスを放棄する必要はない。その代わりに、ファイルシステムごとに、インデキシングされたチャンク内のブロック(複数の場合もある)の連結リストを格納する別個のデータ構造を維持することができる。このデータ構造は、ファイルシステムごとのウェルノウン・オブジェクト内に保持することができる。上述のように、重複排除検出/インデキシング・エンジン213によって重複が検出された場合は、このデータ構造を用いて、インデックス付きチャンクに関連付けられたブロック(複数の場合もある)を見つけることができ、そしてこれを調べることで、そのブロックを候補チャンクの重複排除に使用可能かどうか(例えば、そのブロックの内容が変更されていないこと)を判断することができる。候補チャンクの重複排除のためにインデックス付きチャンクを使用する場合は、各ブロックに関連付けられた参照カウントがインクリメントされ、ブロックは、その後、それを参照しているものがなくならない限り、解放されることはできない。
いくつかの例示的な実施形態では、ファイルシステムは、例えば、その全体が参照により本明細書に組み込まれる米国特許出願第13/043837号(2337/128)に記載されているような多層ファイルシステム(MTFS)とすることができる。MTFSでは、より高速なストレージ(メタデータ層)にファイルシステム・メタデータを配置することにより性能を向上させることができる。
いくつかの例示的な実施形態では、いわゆる「耐障害性」オブジェクトをサポートすることができ、この場合、耐障害性オブジェクトとは、そのオブジェクトの2つの完全なコピーが保存されているファイルシステムオブジェクトである。そのような耐障害性オブジェクトは、重複排除され得るものの、いずれかのブロックを2つのコピーで共有する(これによって、オブジェクトの耐障害性が基本的に取り除かれることになる)ようにして重複排除されてはならない。従って、耐障害性オブジェクトを重複排除する場合、システムは、2つのコピーがディスク上の同じデータを指すことにならないことを保証する。
いくつかの例示的な実施形態において、重複排除の際に実行される変更オペレーションはいずれも、NVRAMにログ記録されない。これは、クラッシュした場合に、その後のロールバックによって、最後のチェックポイントの後でファイルシステムにおいて実施された全ての重複排除が取り消されることを意味する。
複数のファイルシステムの重複排除は、例えば、複数のファイルシステムに単一のインデックスを用いる、またはファイルシステムごとに別個のインデックスを用いるなど、様々な方法で処理することができる。いくつかの例示的な実施形態では、後者のアプローチを用いる。
いくつかの例示的な実施形態において、オブジェクトのスナップショットコピーは、ライブファイルシステムにおいて新しいオブジェクト番号を割り当てるとともに、そのオブジェクトのoノードツリーおよびブロックポインタをスナップショットのファイルと共有させることによって、復元することができる。各共有ブロックは、その参照カウントをインクリメントされることが必要となる。その最大参照カウントに達しているブロックがある場合、そのブロックのコピーを作成して、そのコピーブロックを指すようにライブオブジェクトが更新されることになる。この新しいオブジェクトが、ライブファイルシステム・ディレクトリツリーに挿入されて、必要であれば、オリジナルとスナップショット復元オブジェクトの両方を共存させることが可能となる。そのオブジェクトがスナップショット復元されたことを示すためのフラグを、ルートoノードに含むことができる。ライブオブジェクトの変更は、必要に応じて共有ブロックの参照カウントをインクリメントしつつ、可能とすることができる。
上述の例示的な実施形態では、各チャンクは、所与のファイルシステムオブジェクトの単一のブロックを包含し、これにより、実施上の観点から、重複排除におけるいくつかの単純化が得られたが、それらは、各チャンクが複数のブロック(例えば、チャンクごとに4個または8個のブロック)を包含する代替的実施形態についての以下の説明から明らかになるであろう。
上述の例示的な実施形態では、重複排除は、変更されたチャンクの検出と重複チャンクの重複排除の両方が、バックグラウンド機能として実行される。しかしながら、本発明者らは、他のタイプの重複排除管理が可能であることを認識している。例えば、1つの代替例では、重複排除は、チャンクが変更されるときの書き込み過程と同期して実施することができ、その場合、書き込みが生じると、それらのチャンクは、重複排除検出/インデキシング・エンジンによってハッシュ化および処理されて、もし重複が検出された場合には、その重複排除が、書き込みオペレーションの一部として実行される。このような同期重複排除によって、書き込み過程に待ち時間が導入されることになり、ファイルシステムの性能にマイナスの影響を及ぼし得る。別の代替例では、重複排除は、「ハイブリッド」同期/非同期方式で実施することができ、この場合、書き込みが生じると、それらのチャンクは、(上記の同期ソリューションの場合と同様に)重複排除検出/インデキシング・エンジンによってハッシュ化および処理され、一方で、それらのチャンク自体は、(完全バックグラウンド重複排除プロセスの場合と同様に)ストレージに書き込まれ、もし重複が検出された場合には、その重複排除が、後にバックグラウンドで実行される。
本発明のいくつかの実施形態では、重複排除に加えて、またはそれに代えて、ハッシュベースの他の機能のために、例えば、IPsec、SMB2署名、HCP外部移行、またはその他の、SHA−256ハッシュを利用する機能のためなどに、ソフトウェアベースのシステムによって、さらに/またはハードウェアベースのシステムによって、ハッシュ生成器222を起動することができるように、ハードウェアベースのシステム220が構成される。
上記では、重複排除およびデータパッキング機能について説明している。これらの機構は相互排他的、すなわち、いくつかの実施形態では、重複排除は実施され得るが、データパッキングは実施されず、他のいくつかの実施形態では、データパッキングは実施され得るが、重複排除は実施されない、と考えられるべきものであるが、さらに他の実施形態では、重複排除とデータパッキングの両方が実施され得る。重複排除とデータパッキングの両方に使用できる参照カウント機構(例えば、参照カウントビットマップ、または他の機構)が、例示的な実施形態において実現されることによって、例えば、一方または両方の機能の後の追加が可能となることが好ましい。
Claims (15)
- 重複排除マネージャを含んだソフトウェアコンポーネントを実行する第1のシステムとファイルシステムを管理するファイルシステム・マネージャを含んだ第2のシステムとを備えるファイルサーバにデータ重複排除方法を実行させるコンピュータプログラムであって、
前記データ重複排除方法が、
前記第1のシステムにより、ファイルシステムに関するデータの複数のデータユニットの中から、重複排除候補のデータユニットである候補ユニットを特定し、
前記第1のシステムにより、前記特定された候補ユニットのハッシュ値を送信することを前記第2のシステムに要求し、
前記第2のシステムにより、前記特定された候補ユニットのハッシュ値を前記第1のシステムに返し、
前記特定された候補ユニットがインデックス付きデータユニットと重複することが前記返されたハッシュ値に基づき判断される場合、前記第1のシステムにより、前記特定された候補ユニットの重複排除を前記第2のシステムに要求する、
ことを含む、
コンピュータプログラム。 - 前記データ重複排除方法が、更に、
前記第1のシステムにより、前記ファイルシステムのスナップショットコピーを行い、
前記第1のシステムにより、前記第2のシステムにより管理される複数のチェックポイントであり前記ファイルシステムの複数のチェックポイントのうちから、重複排除のためのチェックポイント範囲を決定する、
ことを含み、
前記候補ユニットの特定が、前記決定されたチェックポイント範囲に基づき前記スナップショットコピーにおいて行われる、
請求項1記載のコンピュータプログラム。 - 前記データ重複排除方法が、更に、
前記候補ユニットが前記インデックス付きデータユニットにマッチする場合、前記第1のシステムにより、前記インデックス付きデータユニットのメタデータを提供し、
前記第2のシステムにより、前記提供されたメタデータに基づき前記インデックス付きデータユニットを用いて前記ファイルシステムにおいて前記候補ユニットが重複排除されることが可能かどうか検証する、
ことを含む、
請求項1又は2記載のコンピュータプログラム。 - 前記データ重複排除方法が、更に、
前記ファイルシステムにおいて前記候補ユニットが重複排除されることが可能であると判断される場合、前記第2のシステムにより、前記候補ユニットに関連付けられたポインタの各々を、前記インデックス付きデータユニットに関連付けられた対応するポインタに置き換える
ことを含む、
請求項1乃至3のうちのいずれか1項に記載のコンピュータプログラム。 - 前記候補ユニットは、ファイルシステムオブジェクトからの単一又は複数のファイルシステムブロックを包含する、
請求項1乃至4のうちのいずれか1項に記載のコンピュータプログラム。 - 前記ファイルシステムにおいて前記候補ユニットが重複排除されることが可能かどうか検証することは、前記候補ユニットに関連付けられたチェックポイント番号および前記インデックス付きデータユニットに関連付けられたチェックポイント番号に少なくとも部分的に基づいている、
請求項3記載のコンピュータプログラム。 - 前記ファイルシステムにおいて前記候補ユニットが重複排除されることが可能かどうか検証することは、前記インデックス付きデータユニットのブロックに関連付けられた参照カウントに少なくとも部分的に基づいている、
請求項3記載のコンピュータプログラム。 - 前記候補ユニットに関連付けられたポインタの各々を、前記インデックス付きデータユニットに関連付けられた対応するポインタで置き換えることは、対応する各ポインタに関連付けられた参照カウントを増加させることを含む、
請求項4記載のコンピュータプログラム。 - 前記候補ユニットを特定することは、
ファイルシステムオブジェクトのルートノード内の作成チェックポイントを調べることと、
前記作成チェックポイントに少なくとも部分的に基づいて、前記ファイルシステムオブジェクトがいずれかの候補ユニットを含むかどうか判断することと
を含む、
請求項1乃至8のうちのいずれか1項に記載のコンピュータプログラム。 - 前記ファイルシステムオブジェクトがいずれかの候補ユニットを含むかどうか判断することは、
前記作成チェックポイントがチェックポイント範囲内にあって、かつ前記ファイルシステムオブジェクトがクローンオブジェクトではない場合に、前記ファイルシステムオブジェクトに関連付けられたデータユニットはすべて候補ユニットであると判断することと、
前記作成チェックポイントが前記チェックポイント範囲内にあって、かつ前記ファイルシステムオブジェクトがクローンオブジェクトである場合に、前記ファイルシステムオブジェクトのクローン元のオブジェクトから分岐したデータユニットをいずれも特定するために、オブジェクトツリー構造をトラバースすることと、
前記作成チェックポイントが前記チェックポイント範囲外にある場合に、前記チェックポイント範囲内にある変更チェックポイントを持つデータユニットをいずれも特定するために、オブジェクトツリー構造をトラバースすることと
を含む、
請求項9記載のコンピュータプログラム。 - 前記ファイルシステムオブジェクトがいずれかの候補ユニットを含むかどうか判断することは、
前記作成チェックポイントがチェックポイント範囲内にあって、かつ前記ファイルシステムオブジェクトがクローンオブジェクトではなく、かつ前記ファイルシステムオブジェクトが疎なオブジェクトではない場合に、前記ファイルシステムオブジェクトに関連付けられたデータユニットはすべて候補ユニットであると判断することと、
前記作成チェックポイントが前記チェックポイント範囲内にあって、かつ前記ファイルシステムオブジェクトがクローンオブジェクトではなく、かつ前記ファイルシステムオブジェクトが疎なオブジェクトである場合に、疎ではない候補ユニットをいずれも特定するためにオブジェクトツリー構造をトラバースすることと、
前記作成チェックポイントが前記チェックポイント範囲内にあって、かつ前記ファイルシステムオブジェクトがクローンオブジェクトである場合に、前記ファイルシステムオブジェクトのクローン元のオブジェクトから分岐した候補ユニットをいずれも特定するためにオブジェクトツリー構造をトラバースすることと、
前記作成チェックポイントが前記チェックポイント範囲外にある場合に、前記チェックポイント範囲内にある変更チェックポイントを持つ候補ユニットをいずれも特定するためにオブジェクトツリー構造をトラバースすることと
を含む、
請求項9記載のコンピュータプログラム。 - 前記データ重複排除方法が、更に、
前記候補ユニットが前記インデックス付きデータユニットにマッチする場合、前記第1のシステムにより、前記インデックス付きデータユニットのメタデータを提供し、
重複排除のために前記インデックス付きデータユニットを使用できないと判断される場合に、前記候補ユニットに関連付けられた前記ハッシュ値および前記メタデータに基づいて、前記候補ユニットをインデキシングすること
を含む、
請求項1乃至11のうちのいずれか1項に記載のコンピュータプログラム。 - 重複排除マネージャを含んだソフトウェアコンポーネントを実行する第1のシステムとファイルシステムを管理するファイルシステム・マネージャを含んだ第2のシステムとを備えるファイルサーバを有するデータストレージシステムにおけるデータ重複排除方法であって、
前記第1のシステムにより、ファイルシステムに関するデータの複数のデータユニットの中から、重複排除候補のデータユニットである候補ユニットを特定し、
前記第1のシステムにより、前記特定された候補ユニットのハッシュ値を送信することを前記第2のシステムに要求し、
前記第2のシステムにより、前記特定された候補ユニットのハッシュ値を前記第1のシステムに返し、
前記特定された候補ユニットがインデックス付きデータユニットと重複することが前記返されたハッシュ値に基づき判断される場合、前記第1のシステムにより、前記特定された候補ユニットの重複排除を前記第2のシステムに要求する、
ことを含む、
データ重複排除方法。 - 重複排除マネージャを含んだソフトウェアコンポーネントを実行する第1のシステムと、
ファイルシステムを管理するファイルシステム・マネージャを含んだ第2のシステムとを備え、
前記第1のシステムが、ファイルシステムに関するデータの複数のデータユニットの中から、重複排除候補のデータユニットである候補ユニットを特定し、
前記第1のシステムが、前記特定された候補ユニットのハッシュ値を送信することを前記第2のシステムに要求し、
前記第2のシステムが、前記特定された候補ユニットのハッシュ値を前記第1のシステムに返し、
前記特定された候補ユニットがインデックス付きデータユニットと重複することが前記返されたハッシュ値に基づき判断される場合、前記第1のシステムが、前記特定された候補ユニットの重複排除を前記第2のシステムに要求する、
ファイルサーバ。 - 1以上のファイルサーバと、
前記1以上のファイルサーバと通信可能に接続された複数のクライアント計算機と
を備え、
前記1以上のファイルサーバの各々が、
重複排除マネージャを含んだソフトウェアコンポーネントを実行する第1のシステムと、
ファイルシステムを管理するファイルシステム・マネージャを含んだ第2のシステムとを備え、
前記第1のシステムが、ファイルシステムに関するデータの複数のデータユニットの中から、重複排除候補のデータユニットである候補ユニットを特定し、
前記第1のシステムが、前記特定された候補ユニットのハッシュ値を送信することを前記第2のシステムに要求し、
前記第2のシステムが、前記特定された候補ユニットのハッシュ値を前記第1のシステムに返し、
前記特定された候補ユニットがインデックス付きデータユニットと重複することが前記返されたハッシュ値に基づき判断される場合、前記第1のシステムが、前記特定された候補ユニットの重複排除を前記第2のシステムに要求する、
データストレージシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/056032 WO2014046650A1 (en) | 2012-09-19 | 2012-09-19 | System and method for managing deduplication using checkpoints in a file storage system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015534684A JP2015534684A (ja) | 2015-12-03 |
JP5925968B2 true JP5925968B2 (ja) | 2016-05-25 |
Family
ID=50341791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015533024A Active JP5925968B2 (ja) | 2012-09-19 | 2012-09-19 | ファイルストレージシステムにおけるチェックポイントを用いて重複排除を管理するシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10176189B2 (ja) |
EP (1) | EP2898424B8 (ja) |
JP (1) | JP5925968B2 (ja) |
CN (1) | CN104641365B (ja) |
WO (1) | WO2014046650A1 (ja) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496490B2 (en) | 2013-05-16 | 2019-12-03 | Hewlett Packard Enterprise Development Lp | Selecting a store for deduplicated data |
US10592347B2 (en) * | 2013-05-16 | 2020-03-17 | Hewlett Packard Enterprise Development Lp | Selecting a store for deduplicated data |
US20140372717A1 (en) * | 2013-06-18 | 2014-12-18 | Microsoft Corporation | Fast and Secure Virtual Machine Memory Checkpointing |
US10223208B2 (en) * | 2013-08-13 | 2019-03-05 | Sandisk Technologies Llc | Annotated atomic write |
US9772789B1 (en) * | 2014-03-25 | 2017-09-26 | EMC IP Holding Company LLC | Alignment fixing on a data protection system during continuous data replication to deduplicated storage |
US10027547B1 (en) * | 2014-03-28 | 2018-07-17 | EMC IP Holding Company LLC | Autonomic self-optimization of protection storage |
US10198321B1 (en) * | 2014-04-01 | 2019-02-05 | Storone Ltd. | System and method for continuous data protection |
CN105446964B (zh) * | 2014-05-30 | 2019-04-26 | 国际商业机器公司 | 用于文件的重复数据删除的方法及装置 |
US10318194B2 (en) | 2014-10-02 | 2019-06-11 | Hitachi Vantara Corporation | Method and an apparatus, and related computer-program products, for managing access request in multi-tenancy environments |
KR101960339B1 (ko) * | 2014-10-21 | 2019-03-20 | 삼성에스디에스 주식회사 | 파일 동기화 방법 |
US10061834B1 (en) * | 2014-10-31 | 2018-08-28 | Amazon Technologies, Inc. | Incremental out-of-place updates for datasets in data stores |
US9830342B2 (en) | 2014-11-20 | 2017-11-28 | International Business Machines Corporation | Optimizing database deduplication |
US10248623B1 (en) * | 2015-03-30 | 2019-04-02 | EMC IP Holding Company LLC | Data deduplication techniques |
US9612749B2 (en) * | 2015-05-19 | 2017-04-04 | Vmware, Inc. | Opportunistic asynchronous deduplication using an in-memory cache |
CN105094924B (zh) * | 2015-08-21 | 2018-06-26 | 华为技术有限公司 | 镜像文件的导入方法及装置 |
US9703643B2 (en) * | 2015-11-25 | 2017-07-11 | International Business Machines Corporation | Calculation of representative values for similarity units in deduplication of snapshots data |
US10585611B2 (en) * | 2016-04-26 | 2020-03-10 | Netapp Inc. | Inline deduplication |
CN109074226B (zh) * | 2016-09-28 | 2020-03-20 | 华为技术有限公司 | 一种存储系统中重复数据删除方法、存储系统及控制器 |
WO2018075042A1 (en) * | 2016-10-20 | 2018-04-26 | Hitachi, Ltd. | Data storage system, process, and computer program for de-duplication of distributed data in a scalable cluster system |
US11644992B2 (en) * | 2016-11-23 | 2023-05-09 | Samsung Electronics Co., Ltd. | Storage system performing data deduplication, method of operating storage system, and method of operating data processing system |
CN110603517B (zh) * | 2017-06-08 | 2023-07-25 | 日立数据管理有限公司 | 对分布的经过擦除编码的对象去复制 |
US10521400B1 (en) * | 2017-07-31 | 2019-12-31 | EMC IP Holding Company LLC | Data reduction reporting in storage systems |
US11755759B2 (en) * | 2017-08-10 | 2023-09-12 | Shardsecure, Inc. | Method for securing data utilizing microshard™ fragmentation |
US10884868B2 (en) * | 2017-10-05 | 2021-01-05 | Zadara Storage, Inc. | Dedupe as an infrastructure to avoid data movement for snapshot copy-on-writes |
US10776256B2 (en) * | 2018-05-16 | 2020-09-15 | International Business Machines Corporation | Sharing consumed off-heap for parallel data loading |
CN109522291B (zh) * | 2018-11-29 | 2022-06-21 | 郑州云海信息技术有限公司 | 一种迁移文件系统的方法、装置以及计算机可读存储介质 |
US20200311030A1 (en) * | 2019-03-28 | 2020-10-01 | EMC IP Holding Company LLC | Optimizing file system defrag for deduplicated block storage |
US11429573B2 (en) * | 2019-10-16 | 2022-08-30 | Dell Products L.P. | Data deduplication system |
CN111078276B (zh) * | 2019-12-20 | 2022-12-30 | 抖音视界有限公司 | 应用程序的冗余资源处理方法、装置、设备及存储介质 |
CN111104206B (zh) * | 2019-12-25 | 2023-09-01 | 曙光信息产业(北京)有限公司 | 虚拟机存储迁移方法、装置和计算机设备 |
US11468012B2 (en) * | 2020-02-28 | 2022-10-11 | EMC IP Holding Company LLC | Garbage collection assisted deduplication in a log structured file system |
US11093442B1 (en) * | 2020-03-25 | 2021-08-17 | EMC IP Holding Company LLC | Non-disruptive and efficient migration of data across cloud providers |
US11321278B2 (en) * | 2020-04-29 | 2022-05-03 | Rubrik, Inc. | Light-weight index deduplication and hierarchical snapshot replication |
CN111639008B (zh) * | 2020-05-29 | 2023-08-25 | 杭州海康威视系统技术有限公司 | 基于双端口ssd的文件系统状态监测方法、装置及电子设备 |
US11537526B2 (en) * | 2020-09-10 | 2022-12-27 | Micron Technology, Inc. | Translating of logical address to determine first and second portions of physical address |
US11385817B2 (en) | 2020-09-22 | 2022-07-12 | Vmware, Inc. | Supporting deduplication in object storage using subset hashes |
US11500819B2 (en) | 2020-09-22 | 2022-11-15 | Vmware, Inc. | Supporting deduplication in file storage using file chunk hashes |
CN115033525B (zh) * | 2021-03-05 | 2023-06-09 | 荣耀终端有限公司 | 文件系统管理方法及电子设备 |
CN113721861B (zh) * | 2021-11-01 | 2022-02-08 | 深圳市杉岩数据技术有限公司 | 基于定长块的数据存储实现方法和计算机可读存储介质 |
WO2023244491A1 (en) * | 2022-06-16 | 2023-12-21 | Oracle International Corporation | Techniques for replication checkpointing during disaster recovery |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5220974B2 (ja) | 1999-10-14 | 2013-06-26 | ブルアーク ユーケー リミテッド | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 |
US8041735B1 (en) | 2002-11-01 | 2011-10-18 | Bluearc Uk Limited | Distributed file system and method |
US7457822B1 (en) | 2002-11-01 | 2008-11-25 | Bluearc Uk Limited | Apparatus and method for hardware-based file system |
US8165221B2 (en) * | 2006-04-28 | 2012-04-24 | Netapp, Inc. | System and method for sampling based elimination of duplicate data |
US7921077B2 (en) * | 2006-06-29 | 2011-04-05 | Netapp, Inc. | System and method for managing data deduplication of storage systems utilizing persistent consistency point images |
US8762345B2 (en) * | 2007-05-31 | 2014-06-24 | Netapp, Inc. | System and method for accelerating anchor point detection |
US9767120B2 (en) * | 2008-01-16 | 2017-09-19 | Hitachi Data Systems Engineering UK Limited | Multi-way checkpoints in a data storage system |
US8190835B1 (en) * | 2007-12-31 | 2012-05-29 | Emc Corporation | Global de-duplication in shared architectures |
US20090193210A1 (en) * | 2008-01-29 | 2009-07-30 | Hewett Jeffrey R | System for Automatic Legal Discovery Management and Data Collection |
US8117464B1 (en) * | 2008-04-30 | 2012-02-14 | Netapp, Inc. | Sub-volume level security for deduplicated data |
US9063947B2 (en) * | 2008-08-18 | 2015-06-23 | Hewlett-Packard Development Company, L.P. | Detecting duplicative hierarchical sets of files |
WO2010045262A1 (en) * | 2008-10-14 | 2010-04-22 | Wanova Technologies, Ltd. | Storage-network de-duplication |
US20110307457A1 (en) * | 2009-03-05 | 2011-12-15 | Hitachi Solutions, Ltd. | Integrated duplicate elimination system, data storage device, and server device |
US9009429B2 (en) * | 2009-03-30 | 2015-04-14 | Hewlett-Packard Development Company, L.P. | Deduplication of data stored in a copy volume |
US8205065B2 (en) * | 2009-03-30 | 2012-06-19 | Exar Corporation | System and method for data deduplication |
US8095756B1 (en) * | 2009-04-28 | 2012-01-10 | Netapp, Inc. | System and method for coordinating deduplication operations and backup operations of a storage volume |
JP2012531674A (ja) * | 2009-06-26 | 2012-12-10 | シンプリヴィティ・コーポレーション | ノンユニフォームアクセスメモリにおけるスケーラブルなインデックス付け |
US8032498B1 (en) * | 2009-06-29 | 2011-10-04 | Emc Corporation | Delegated reference count base file versioning |
US8171063B1 (en) * | 2009-06-30 | 2012-05-01 | Symantec Corporation | System and method for efficiently locating and processing data on a deduplication storage system |
US8234250B1 (en) * | 2009-09-17 | 2012-07-31 | Netapp. Inc. | Processing data of a file using multiple threads during a deduplication gathering phase |
US8595188B2 (en) | 2009-11-06 | 2013-11-26 | International Business Machines Corporation | Operating system and file system independent incremental data backup |
US9239843B2 (en) * | 2009-12-15 | 2016-01-19 | Symantec Corporation | Scalable de-duplication for storage systems |
WO2011075610A1 (en) * | 2009-12-16 | 2011-06-23 | Renew Data Corp. | System and method for creating a de-duplicated data set |
US8407193B2 (en) | 2010-01-27 | 2013-03-26 | International Business Machines Corporation | Data deduplication for streaming sequential data storage applications |
US8843459B1 (en) | 2010-03-09 | 2014-09-23 | Hitachi Data Systems Engineering UK Limited | Multi-tiered filesystem |
US8370593B2 (en) | 2010-04-14 | 2013-02-05 | Hitachi, Ltd. | Method and apparatus to manage groups for deduplication |
US8898114B1 (en) * | 2010-08-27 | 2014-11-25 | Dell Software Inc. | Multitier deduplication systems and methods |
JP5948340B2 (ja) * | 2010-11-22 | 2016-07-06 | ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited | データストレージシステムにおける、ファイルのクローニング及びデクローニング |
US8930653B1 (en) * | 2011-04-18 | 2015-01-06 | American Megatrends, Inc. | Data de-duplication for information storage systems |
US8782003B1 (en) * | 2011-05-13 | 2014-07-15 | Emc Corporation | Synchronization of storage using log files and snapshots |
CN103620591A (zh) * | 2011-06-14 | 2014-03-05 | 惠普发展公司,有限责任合伙企业 | 分布式文件系统中的去重复 |
US8521705B2 (en) * | 2011-07-11 | 2013-08-27 | Dell Products L.P. | Accelerated deduplication |
US8832035B2 (en) * | 2011-08-30 | 2014-09-09 | Netapp, Inc. | System and method for retaining deduplication in a storage object after a clone split operation |
US8543609B1 (en) * | 2011-09-29 | 2013-09-24 | Emc Corporation | Snapshots in deduplication |
US8521704B2 (en) * | 2011-09-30 | 2013-08-27 | Symantec Corporation | System and method for filesystem deduplication using variable length sharing |
-
2012
- 2012-09-19 EP EP12884949.4A patent/EP2898424B8/en active Active
- 2012-09-19 US US14/429,185 patent/US10176189B2/en active Active
- 2012-09-19 CN CN201280075854.5A patent/CN104641365B/zh active Active
- 2012-09-19 WO PCT/US2012/056032 patent/WO2014046650A1/en active Application Filing
- 2012-09-19 JP JP2015533024A patent/JP5925968B2/ja active Active
-
2016
- 2016-02-17 US US15/045,946 patent/US9928250B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2898424A4 (en) | 2017-02-08 |
EP2898424B8 (en) | 2019-08-21 |
WO2014046650A1 (en) | 2014-03-27 |
EP2898424B1 (en) | 2019-07-17 |
CN104641365A (zh) | 2015-05-20 |
CN104641365B (zh) | 2019-05-31 |
US20150234710A1 (en) | 2015-08-20 |
US9928250B2 (en) | 2018-03-27 |
EP2898424A1 (en) | 2015-07-29 |
US20160162509A1 (en) | 2016-06-09 |
US10176189B2 (en) | 2019-01-08 |
JP2015534684A (ja) | 2015-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5925968B2 (ja) | ファイルストレージシステムにおけるチェックポイントを用いて重複排除を管理するシステムおよび方法 | |
US9619160B2 (en) | NVRAM data organization using self-describing entities for predictable recovery after power-loss | |
US9798728B2 (en) | System performing data deduplication using a dense tree data structure | |
US10496626B2 (en) | Deduplication in a highly-distributed shared topology with direct-memory-access capable interconnect | |
US9043540B2 (en) | Systems and methods for tracking block ownership | |
US9977746B2 (en) | Processing of incoming blocks in deduplicating storage system | |
JP5948340B2 (ja) | データストレージシステムにおける、ファイルのクローニング及びデクローニング | |
US10198193B2 (en) | Computer program product, method, apparatus and data storage system for controlling write operations in the data storage system | |
US9529551B2 (en) | Systems and methods for instantaneous cloning | |
US11816093B2 (en) | Storage tier verification checks | |
US8943282B1 (en) | Managing snapshots in cache-based storage systems | |
US9454532B2 (en) | Method and apparatus for migration of a virtualized file system, data storage system for migration of a virtualized file system, and file server for use in a data storage system | |
US8620962B1 (en) | Systems and methods for hierarchical reference counting via sibling trees | |
US8868520B1 (en) | System and method for removing overlapping ranges from a flat sorted data structure | |
US10311152B2 (en) | System for queue based object cloning | |
US20110055471A1 (en) | Apparatus, system, and method for improved data deduplication | |
CN115668166A (zh) | 由区块对象构成的文件系统 | |
WO2016083938A1 (en) | Snapshots and thin-provisioning in distributed storage over shared storage devices | |
US11256720B1 (en) | Hierarchical data structure having tiered probabilistic membership query filters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160309 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5925968 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |