JP2022516502A - コンピュータメモリにおける重複および値冗長性を排除するためのシステム、方法、および装置 - Google Patents
コンピュータメモリにおける重複および値冗長性を排除するためのシステム、方法、および装置 Download PDFInfo
- Publication number
- JP2022516502A JP2022516502A JP2021538111A JP2021538111A JP2022516502A JP 2022516502 A JP2022516502 A JP 2022516502A JP 2021538111 A JP2021538111 A JP 2021538111A JP 2021538111 A JP2021538111 A JP 2021538111A JP 2022516502 A JP2022516502 A JP 2022516502A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- unique
- computer
- block
- duplicate
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 230000015654 memory Effects 0.000 claims abstract description 590
- 238000007906 compression Methods 0.000 claims abstract description 140
- 230000006835 compression Effects 0.000 claims abstract description 140
- 230000008569 process Effects 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 8
- 230000001737 promoting effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 abstract 1
- 230000008030 elimination Effects 0.000 description 10
- 238000003379 elimination reaction Methods 0.000 description 10
- 238000013519 translation Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 238000013144 data compression Methods 0.000 description 5
- 230000006837 decompression Effects 0.000 description 5
- 238000005265 energy consumption Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 235000019580 granularity Nutrition 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3091—Data deduplication
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/405—Tree adaptation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
- H03M7/6029—Pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Peptides Or Proteins (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
図3のエントロピーベースの圧縮と組み合わせた重複排除を使用して、メモリページをどのように圧縮するかの例示的な概要を提供する。しかしながら、デルタ符号化(例えば、ベースデルタ即符号化)のような他の値冗長性除去圧縮方法も可能であることに留意されたい。ページの例示的なレイアウト300は、図3の左側に(A)で示され、1、2、…、Nと番号が付され、従来の非圧縮コンピュータメモリ内の連続するメモリブロックアドレスに現れるN個のブロックを含み、310は第一のメモリブロックを表し、320は最後のメモリブロックを表す。重複排除の狙いは、重複ブロックを除去して、固有ブロックのみがメモリページに属するようにすることである。図3の中央に(B)で示すページ内のメモリブロックの例示的なレイアウト300では、340および350によって表現されるメモリブロックは、重複である。重複したデータをメモリに格納する代わりに、後で詳述するように、固有ブロックへの参照(例えば、ポインタ)のみを格納する。メモリブロック350は、370と付されたポインタを使用して、メモリブロック2(330)を参照する。同様に、メモリブロック340は、360と付されたポインタを使用して、メモリブロック1を参照する。したがって、重複排除プロセスの後、メモリページには、個別のコンテンツを有し、固有メモリブロックと呼ばれるメモリブロックのみが含まれる。
・前記個別メモリオブジェクトが、一致する前記シグネチャによって表現される前記固有メモリブロックと同一であるかどうかを決定するステップと、
・前記個別メモリオブジェクトと、一致する前記シグネチャによって表現される前記固有メモリブロックとが同一でない場合、
〇ツリーデータ構造400にノードを挿入するステップと、
〇挿入したノードに作成したシグネチャSを入力するステップと、
〇個別メモリオブジェクトに対するメタデータ500を、それが固有メモリオブジェクトであることを示す情報510と、個別メモリオブジェクトに対する固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
を含む。
・メモリオブジェクトが排除された重複メモリオブジェクトまたは残りの固有メモリオブジェクトであることを示す情報510と、
・メモリオブジェクトが固有メモリオブジェクトの場合、使用された圧縮のタイプを示す情報520と、固有メモリオブジェクトへの固有メモリオブジェクト参照(530、U_PTR)と、
・メモリオブジェクトが重複メモリオブジェクトの場合、固有メモリオブジェクトへの固有メモリオブジェクト参照(530、U_PTR)であって、その非圧縮コンテンツは重複メモリオブジェクトと同一である、固有メモリオブジェクト参照(530、U_PTR)と、
を含む。
・シグネチャSを作成するステップであって、シグネチャはメモリオブジェクトのデータ値の緻密表現である、ステップと、
・ツリーデータ構造400を横断して、作成された前記シグネチャSをツリーデータ構造400で既に表現されているシグネチャと比較するステップと、
・作成されたシグネチャSがツリーデータ構造400で表現されたシグネチャのいずれとも一致しない場合660、
〇ツリーデータ構造400にノードを挿入するステップと、
〇挿入したノードに作成したシグネチャSを入力するステップと、
〇個別メモリオブジェクトに対するメタデータ500を、それが固有メモリオブジェクトであることを示す情報510と、個別メモリオブジェクトに対する固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
・作成されたシグネチャSがツリーデータ構造400内に表現されるシグネチャと一致する場合650、
〇前記個別メモリオブジェクトに対するメタデータ500を、それが重複メモリオブジェクトであることを示す情報510と、ツリーデータ構造400内で一致する前記シグネチャによって表現される固有メモリブロックに対する固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
〇ツリーデータ構造400内で一致する前記シグネチャによって表現される固有メモリブロックのメタデータ500を更新して、前記個別メモリオブジェクトに対する重複メモリオブジェクト参照(540、D_PTR)を導入するステップと、
を行うことによって、処理する600ように構成される。
・ツリーデータ構造400を横断して、ツリーデータ構造400のノードによって表現される固有メモリオブジェクトのデータ値の値頻度表を生成するステップと、
・生成された値頻度表を使用して、エントロピーベースの圧縮スキームによって各固有メモリオブジェクトを圧縮するステップと、
を行なうように構成され得る。
・ツリーデータ構造400を横断して、ツリーデータ構造400のノードによって表現される固有メモリオブジェクトのデータ値の値頻度表を生成するステップと、
・生成された値頻度表を使用して、エントロピーベースの圧縮スキームによって各固有メモリオブジェクトを圧縮するステップと、
を行なうように構成され得る。
次に、重複排除と値冗長性除去の組み合わせ圧縮技法を使用して、圧縮メモリ内でメモリブロックがどのように位置特定され、解凍されるかに注目する。図2に戻ると、ロケータ(アドレス変換)ユニット211のタスクは、従来の物理アドレスを圧縮アドレス空間内のアドレスに変換することであることを思い出されたい。図10は、図2のロケータ(アドレス変換)ユニット211の詳細なレイアウト1000を示す。これは、いくつかのページエントリを含み、その各エントリ1010がいくつかのフィールド、すなわち、物理アドレス1011および圧縮アドレス1012を含む。これらは、ページの物理アドレスおよび圧縮アドレスにそれぞれ対応する。図5の1021~1023に見られるように、各ページエントリは、各ブロックのメタデータMD 1、…、MD Nに関連付けられている。メタデータの詳細については、前述したように、図5の左端(A)を参照されたい。図5に示すように、メモリブロックが固有であるか重複排除されているかにかかわらず、U_PTRは、圧縮アドレスCAに対するブロックの位置へのオフセットとして機能する。加算器1030は、U_PTRと圧縮アドレスCA 1012との和を確立することによって、ブロックアドレス1040を形成する。
図5のメタデータの一部は、符号化(520のENC)に使用される圧縮アルゴリズムを含む。ブロックがメモリから検索されると(retrieved)、解凍される。これは、図11において、圧縮アルゴリズム(ENC)のタイプおよびメモリからの解凍されたブロックを入力として取るデコンプレッサユニット1110によって示されている。圧縮アルゴリズムのタイプは、重複排除、エントロピーベースの圧縮、デルタ符号化(例えば、ベースデルタ即符号化)、または値冗長性を除去することを目的とする任意の他の圧縮方法とすることができる。
・物理メモリページアドレスPAを有するメモリページ内のメモリブロックの読み取り要求を受信するステップと、
・ルックアップテーブル1010からの圧縮メモリページアドレスCAを決定するステップと、
・メモリブロックに対するメタデータ1020を検索するステップと、
・圧縮メモリページアドレスCAと検索されたメタデータの固有メモリオブジェクト参照530、U_PTRからの圧縮メモリブロックアドレス1040を計算するステップと、
・計算された圧縮メモリブロックアドレス1040での圧縮メモリブロック1105を検索するステップと、
・圧縮のタイプを示し、メモリブロックに対して検索された前記メタデータで利用可能な情報520;1120、ENCを使用して、デコンプレッサユニット213によって、検索された圧縮メモリブロック1105を解凍するステップ1110と、
を行うように構成することができる。
・当初メモリ位置における固有メモリブロック830の更新を含むライトバック要求を受信するステップと、
・コンピュータメモリコンテンツの専用空きメモリ領域840内の新規メモリ位置870に更新する前に、固有メモリブロック830をコピーするステップと、
・固有メモリブロック830にリンクされた重複メモリブロック810、820のメタデータを更新して、その前記重複メモリオブジェクト参照540、D_PTRが専用空きメモリ領域840内の前記新規メモリ位置870にリダイレクトされるようにするステップと、
・ライトバック要求に従って、その当初メモリ位置830で固有メモリブロックを更新するステップと、
をさらに行うように構成される。
・専用空きメモリ領域840の開始アドレス805への参照F_PTRを含むメタデータを提供するステップと、
・専用空きメモリ領域840内の新規メモリ位置870への固有メモリブロック830をコピーした後に、新規開始アドレス880を反映するように、前記参照F_PTRを更新するステップと、
をさらに行うように構成され得る。
・当初メモリ位置における固有メモリブロック830の更新を含むライトバック要求を受信するステップと、
・重複排除メモリブロック820が固有メモリブロック830の重複であることを見つけるステップと、
・固有メモリブロック830のシグネチャSを使用することによって、見つかった重複排除メモリブロック820をツリーデータ構造400内で固有のものとしてプロモートするステップと、
・専用空きメモリ領域840内の新規メモリ位置870へのライトバック要求に従って、固有メモリブロック830の更新されたコンテンツを書き込むステップと、
・固有メモリブロック830のメタデータを更新して、その前記固有メモリオブジェクト参照530、U_PTRが専用空きメモリ領域840内の新規メモリ位置870にリダイレクトされるようにして、その一方で、その重複メモリオブジェクト参照540、D_PTRは除去される、ステップと、
をさらに行うように構成され得る。
・専用空きメモリ領域840の開始アドレス805への参照F_PTRを含むメタデータを提供するステップと、
・専用空きメモリ領域840の新規メモリ位置870へのライトバック要求に従って、固有メモリブロック830の更新されたコンテンツの書き込み後に、新規開始アドレス880を反映するように前記参照F_PTRを更新するステップと、
をさらに行うように構成され得る。
・重複メモリブロック920の更新を含むライトバック要求を受信するステップと、
・更新された前記重複メモリブロックのコンテンツを、専用空きメモリ領域940内の新規固有メモリブロック980として格納するステップと、
・重複メモリブロック920に以前にリンクされた固有メモリブロック910のメタデータを更新して、固有メモリブロック910が、固有メモリブロック910と他の重複メモリブロック930との間のリンクを維持しつつ、重複メモリブロック920にリンクされなくなったことを反映するステップと、
をさらに行うように構成され得る。
・メモリページの圧縮率を経時的に監視するステップと、
・圧縮率が所与の基準を満たさない場合、本明細書に記載のコンピュータメモリ圧縮方法1200の機能を実行することによって、メモリページの再圧縮を実行するステップと、
をさらに行うように構成され得る。
Claims (37)
- コンピュータメモリ圧縮方法(1200)であって、
重複メモリオブジェクトの発生および固有メモリオブジェクトにおけるデータ値の値冗長性に関するコンピュータメモリコンテンツを分析するステップ(1210)と、
前記重複メモリオブジェクトを排除し、残りの各固有メモリオブジェクトをそのデータ値のデータ値局所性を利用することで圧縮することによって、前記コンピュータメモリコンテンツを符号化するステップ(1220)と、
符号化された前記コンピュータメモリコンテンツの前記メモリオブジェクトを表すメタデータ(500)を提供するステップ(1230)であって、前記メタデータ(500)は、排除された重複メモリオブジェクト、残りの固有メモリオブジェクト、および残りの各固有メモリオブジェクトを圧縮するために使用される圧縮のタイプを反映する、ステップと、
前記メタデータ(500)を使用して、符号化された前記コンピュータメモリコンテンツ内のメモリオブジェクトを位置特定するステップ(1240)と、
を含む、コンピュータメモリ圧縮方法。 - 前記メタデータ(500)は、符号化された前記コンピュータメモリコンテンツの各メモリオブジェクトについて、
前記メモリオブジェクトが排除された重複メモリオブジェクトまたは残りの固有メモリオブジェクトであることを示す情報(510)と、
前記メモリオブジェクトが固有メモリオブジェクトの場合、使用された圧縮のタイプを示す情報(520)と、前記固有メモリオブジェクトへの固有メモリオブジェクト参照(530、U_PTR)と、
前記メモリオブジェクトが重複メモリオブジェクトの場合、固有メモリオブジェクトへの固有メモリオブジェクト参照(530、U_PTR)であって、その非圧縮コンテンツは前記重複メモリオブジェクトと同一である、固有メモリオブジェクト参照(530、U_PTR)と、
を含む、請求項1に記載のコンピュータメモリ圧縮方法。 - 前記メタデータ(500)は、各メモリオブジェクトが固有メモリオブジェクトであるために、排除された重複メモリオブジェクトへの重複メモリオブジェクト参照(540、D_PTR)をさらに含み、その非圧縮コンテンツは、前記固有メモリオブジェクトと同一である、請求項2に記載のコンピュータメモリ圧縮方法。
- 前記コンピュータメモリコンテンツ内の各個別メモリオブジェクトを処理するステップ(600)であって、
シグネチャ(S)を作成するステップであって、前記シグネチャは前記メモリオブジェクトのデータ値の緻密表現である、ステップと、
ツリーデータ構造(400)を横断して、作成された前記シグネチャ(S)を前記ツリーデータ構造(400)で既に表現されているシグネチャと比較するステップと、
作成された前記シグネチャ(S)が前記ツリーデータ構造(400)で表現されたシグネチャのいずれとも一致しない場合(660)、
前記ツリーデータ構造(400)にノードを挿入するステップと、
挿入した前記ノードに作成した前記シグネチャ(S)を入力するステップと、
前記個別メモリオブジェクトに対する前記メタデータ(500)を、それが固有メモリオブジェクトであることを示す情報(510)と、前記個別メモリオブジェクトに対する固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
作成された前記シグネチャ(S)が前記ツリーデータ構造(400)内に表現されるシグネチャと一致する場合(650)、
前記個別メモリオブジェクトに対する前記メタデータ(500)を、それが重複メモリオブジェクトであることを示す情報(510)と、前記ツリーデータ構造(400)内で一致する前記シグネチャによって表現される固有メモリブロックに対する前記固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
前記ツリーデータ構造(400)内で一致する前記シグネチャによって表現される前記固有メモリブロックの前記メタデータ(500)を更新して、前記個別メモリオブジェクトに対する重複メモリオブジェクト参照(540、D_PTR)を導入するステップと、
を行うことによって、処理するステップ(600)をさらに含む、請求項3に記載のコンピュータメモリ圧縮方法。 - 作成された前記シグネチャ(S)が前記ツリーデータ構造(400)内に表現されるシグネチャと一致する場合(650)、
前記個別メモリオブジェクトが、一致する前記シグネチャによって表現される前記固有メモリブロックと同一であるかどうかを決定するステップと、
前記個別メモリオブジェクトと、一致する前記シグネチャによって表現される前記固有メモリブロックとが同一でない場合:
前記ツリーデータ構造(400)にノードを挿入するステップと、
挿入した前記ノードに作成した前記シグネチャ(S)を入力するステップと、
前記個別メモリオブジェクトに対するメタデータ(500)を、それが固有メモリオブジェクトであることを示す情報(510)と、前記個別メモリオブジェクトに対する固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
をさらに含む、請求項4に記載のコンピュータメモリ圧縮方法。 - 前記コンピュータメモリコンテンツ内の全てのメモリオブジェクトが処理された場合(600)、
前記ツリーデータ構造(400)を横断して、前記ツリーデータ構造(400)の前記ノードによって表現される前記固有メモリオブジェクトの前記データ値の値頻度表を生成するステップと、
生成された前記値頻度表を使用して、エントロピーベースの圧縮スキームによって各固有メモリオブジェクトを圧縮するステップと、
をさらに含む、請求項4または5に記載のコンピュータメモリ圧縮方法。 - 前記コンピュータメモリコンテンツ内の全てのメモリオブジェクトが処理された場合(600)、
前記ツリーデータ構造(400)のノードによって表現される前記固有メモリオブジェクトの前記データ値を調べ、1つまたは複数のベース値を決定することによって、前記ツリーデータ構造(400)を横断するステップと、
決定された1つまたは複数の前記ベース値を使用して、デルタ符号化ベース圧縮スキームによって各固有メモリオブジェクトを圧縮するステップと、
をさらに含む、請求項4または5に記載のコンピュータメモリ圧縮方法。 - 前記データ値は、前記メモリオブジェクトよりも細かい粒度であり、前記メモリオブジェクトは、前記コンピュータメモリコンテンツよりも細かい粒度である、請求項1~7のいずれか一項に記載のコンピュータメモリ圧縮方法。
- 前記コンピュータメモリコンテンツはコンピュータメモリのページであり、前記メモリオブジェクトはメモリブロックであり、各メモリブロックは複数のデータ値を含む、請求項8に記載のコンピュータメモリ圧縮方法。
- 物理メモリページアドレス(PA)を有するメモリページ内のメモリブロックの読み取り要求を受信するステップと、
ルックアップテーブル(1010)からの圧縮メモリページアドレス(CA)を決定するステップと、
前記メモリブロックに対するメタデータを検索するステップ(1020)と、
前記圧縮メモリページアドレス(CA)と検索された前記メタデータの前記固有メモリオブジェクト参照(530、U_PTR)からの圧縮メモリブロックアドレス(1040)を計算するステップと、
計算された前記圧縮メモリブロックアドレス(1040)での圧縮メモリブロック(1105)を検索するステップと、
前記メモリブロックに対して検索された前記メタデータからの圧縮のタイプを示す情報(520;1120、ENC)を使用して、検索された前記圧縮メモリブロック(1105)を解凍するステップ(1110)と、
をさらに含む、請求項2に従属するときの請求項9に記載のコンピュータメモリ圧縮方法。 - 当初メモリ位置における固有メモリブロック(830)の更新を含むライトバック要求を受信するステップと、
前記コンピュータメモリコンテンツの専用空きメモリ領域(840)内の新規メモリ位置(870)に更新する前に、前記固有メモリブロック(830)をコピーするステップと、
前記固有メモリブロック(830)にリンクされた重複メモリブロック(810、820)の前記メタデータを更新して、その前記重複メモリオブジェクト参照(540、D_PTR)が前記専用空きメモリ領域(840)内の前記新規メモリ位置(870)にリダイレクトされるようにするステップと、
前記ライトバック要求に従って、その当初メモリ位置(830)で前記固有メモリブロックを更新するステップと、
をさらに含む、請求項3に従属するときの請求項9または10に記載のコンピュータメモリ圧縮方法。 - 前記専用空きメモリ領域(840)の開始アドレス(805)への参照(F_PTR)を含むメタデータを提供するステップと、
前記専用空きメモリ領域(840)内の前記新規メモリ位置(870)への前記固有メモリブロック(830)をコピーした後に、新規開始アドレス(880)を反映するように、前記参照(F_PTR)を更新するステップと、
をさらに含む、請求項11に記載のコンピュータメモリ圧縮方法。 - 当初メモリ位置における固有メモリブロック(830)の更新を含むライトバック要求を受信するステップと、
重複排除メモリブロック(820)が固有メモリブロック(830)の重複であることを見つけるステップと、
前記固有メモリブロック(830)の前記シグネチャ(S)を使用することによって、見つかった前記重複排除メモリブロック(820)を前記ツリーデータ構造(400)内で固有のものとしてプロモートするステップと、
専用空きメモリ領域(840)内の新規メモリ位置(870)への前記ライトバック要求に従って、前記固有メモリブロック(830)の更新されたコンテンツを書き込むステップと、
前記固有メモリブロック(830)の前記メタデータを更新して、その前記固有メモリオブジェクト参照(530、U_PTR)が前記専用空きメモリ領域(840)内の前記新規メモリ位置(870)にリダイレクトされるようにして、その一方で、その重複メモリオブジェクト参照(540、D_PTR)は除去されるようにするステップと、
をさらに含む、請求項4および請求項9または10に記載のコンピュータメモリ圧縮方法。 - 前記専用空きメモリ領域(840)の開始アドレス(805)への参照(F_PTR)を含むメタデータを提供するステップと、
前記専用空きメモリ領域(840)の前記新規メモリ位置(870)への前記ライトバック要求に従って、前記固有メモリブロック(830)の更新された前記コンテンツの書き込み後に、新規開始アドレス(880)を反映するように前記参照(F_PTR)を更新するステップと、
をさらに含む、請求項13に記載のコンピュータメモリ圧縮方法。 - 重複メモリブロック(920)の更新を含むライトバック要求を受信するステップと、
更新された前記重複メモリブロックの前記コンテンツを、専用空きメモリ領域(940)内の新規固有メモリブロック(980)として格納するステップと、
前記重複メモリブロック(920)に以前にリンクされた固有メモリブロック(910)の前記メタデータを更新して、前記固有メモリブロック(910)が、前記固有メモリブロック(910)と他の重複メモリブロック(930)との間のリンクを維持しつつ、前記重複メモリブロック(920)にリンクされなくなったことを反映するステップと、
をさらに含む、請求項9~14のいずれか一項に記載のコンピュータメモリ圧縮方法。 - メモリページの圧縮率を経時的に監視するステップと、
前記圧縮率が所与の基準を満たさない場合、請求項1~10のいずれか一項に記載のコンピュータメモリ圧縮方法の機能を実行することによって、前記メモリページの再圧縮を実行するステップと、
をさらに含む、請求項11~15のいずれか一項に記載のコンピュータメモリ圧縮方法。 - 請求項1~10のいずれか一項に記載のコンピュータメモリ圧縮方法の機能を実行することによって、メモリページの再圧縮を定期的に実行し、圧縮率を改善するステップ
をさらに含む、請求項15または16に記載のコンピュータメモリ圧縮方法。 - 前記データ値局所性を利用することによる前記圧縮は、
エントロピーベースの符号化と、
デルタ符号化と、
辞書ベースの符号化と、
パターンベースの符号化と
のうちの1つを含む、請求項1~17のいずれか一項に記載のコンピュータメモリ圧縮方法。 - コンピュータメモリ圧縮装置(205)であって、
重複メモリオブジェクトの発生および固有メモリオブジェクトにおけるデータ値の値冗長性に関するコンピュータメモリコンテンツを分析するように構成されたアナライザユニット(214)と、
前記重複メモリオブジェクトを排除し、残りの各固有メモリオブジェクトをそのデータ値のデータ値局所性を利用することで圧縮することによって、前記コンピュータメモリコンテンツを符号化するように構成された符号化ユニット(212)であって、前記符号化ユニット(212)は符号化された前記コンピュータメモリコンテンツの前記メモリオブジェクトを表すメタデータ(500)を提供するように、さらに構成され、前記メタデータ(500)は、除去された重複メモリオブジェクト、残りの固有メモリオブジェクト、および残りの各固有メモリオブジェクトを圧縮するために使用される圧縮のタイプを反映する、符号化ユニット(212)と、
前記メタデータ(500)を使用して、符号化された前記コンピュータメモリコンテンツ内にメモリオブジェクトを配置するように構成されたロケータユニット(211)と、
を備える、コンピュータメモリ圧縮装置。 - 前記メタデータ(500)は、符号化された前記コンピュータメモリコンテンツの各メモリオブジェクトについて、
前記メモリオブジェクトが排除された重複メモリオブジェクトまたは残りの固有メモリオブジェクトであることを示す情報(510)と、
前記メモリオブジェクトが固有メモリオブジェクトの場合、使用された圧縮のタイプを示す情報(520)と、前記固有メモリオブジェクトへの固有メモリオブジェクト参照(530、U_PTR)と、
前記メモリオブジェクトが重複メモリオブジェクトの場合、固有メモリオブジェクトへの固有メモリオブジェクト参照(530、U_PTR)であって、その非圧縮コンテンツは前記重複メモリオブジェクトと同一である、固有メモリオブジェクト参照(530、U_PTR)と、
を含む、請求項19に記載のコンピュータメモリ圧縮装置。 - 前記メタデータ(500)は、各メモリオブジェクトが固有メモリオブジェクトであるために、排除された重複メモリオブジェクトへの重複メモリオブジェクト参照(540、D_PTR)をさらに含み、その非圧縮コンテンツは、前記固有メモリオブジェクトと同一である、請求項20に記載のコンピュータメモリ圧縮装置。
- 前記アナライザユニット(214)および前記符号化ユニット(212)は、前記コンピュータメモリコンテンツ内の各個別メモリオブジェクトを、
シグネチャ(S)を作成するステップであって、前記シグネチャは前記メモリオブジェクトのデータ値の緻密表現である、ステップと、
ツリーデータ構造(400)を横断して、作成された前記シグネチャ(S)を前記ツリーデータ構造(400)で既に表現されているシグネチャと比較するステップと、
作成された前記シグネチャ(S)が前記ツリーデータ構造(400)で表現されたシグネチャのいずれとも一致しない場合(660)、
前記ツリーデータ構造(400)にノードを挿入するステップと、
挿入した前記ノードに作成した前記シグネチャ(S)を入力するステップと、
前記個別メモリオブジェクトに対する前記メタデータ(500)を、それが固有メモリオブジェクトであることを示す情報(510)と、前記個別メモリオブジェクトに対する前記固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
作成された前記シグネチャ(S)が前記ツリーデータ構造(400)内に表現されるシグネチャと一致する場合(650)、
前記個別メモリオブジェクトに対する前記メタデータ(500)を、それが重複メモリオブジェクトであることを示す情報(510)と、前記ツリーデータ構造(400)内で一致する前記シグネチャによって表現される固有メモリブロックに対する前記固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
前記ツリーデータ構造(400)内で一致する前記シグネチャによって表現される前記固有メモリブロックの前記メタデータ(500)を更新して、前記個別メモリオブジェクトに対する重複メモリオブジェクト参照(540、D_PTR)を導入するステップと、
を行うことによって、処理する(600)ように構成される、請求項21に記載のコンピュータメモリ圧縮装置。 - 前記アナライザユニット(214)および前記符号化ユニット(212)は、
作成された前記シグネチャ(S)が、前記ツリーデータ構造(400)に表現されるシグネチャと一致する場合(650)、
前記個別メモリオブジェクトが、一致する前記シグネチャによって表現される前記固有メモリブロックと同一であるかどうかを決定するステップと、
前記個別メモリオブジェクトと、一致する前記シグネチャによって表現される前記固有メモリブロックとが同一でない場合:
前記ツリーデータ構造(400)にノードを挿入するステップと、
挿入した前記ノードに作成した前記シグネチャ(S)を入力するステップと、
前記個別メモリオブジェクトに対するメタデータ(500)を、それが固有メモリオブジェクトであることを示す情報(510)と、前記個別メモリオブジェクトに対する固有メモリオブジェクト参照(530、U_PTR)とを用いて、生成するステップと、
行なうように、さらに構成される、請求項22に記載のコンピュータメモリ圧縮装置。 - 前記アナライザユニット(214)および前記符号化ユニット(212)は、前記コンピュータメモリコンテンツ内の全てのメモリオブジェクトが処理された場合(600)、
前記ツリーデータ構造(400)を横断して、前記ツリーデータ構造(400)の前記ノードによって表現される前記固有メモリオブジェクトの前記データ値の値頻度表を生成するステップと、
生成された前記値頻度表を使用して、エントロピーベースの圧縮スキームによって各固有メモリオブジェクトを圧縮するステップと、
をさらに行うように構成される、請求項23に記載のコンピュータメモリ圧縮装置。 - 前記アナライザユニット(214)および前記符号化ユニット(212)は、前記コンピュータメモリコンテンツ内の全てのメモリオブジェクトが処理された場合(600)、
前記ツリーデータ構造(400)のノードによって表現される前記固有メモリオブジェクトの前記データ値を調べ、1つまたは複数のベース値を決定することによって、前記ツリーデータ構造(400)を横断するステップと、
決定された1つまたは複数の前記ベース値を使用して、デルタ符号化ベース圧縮スキームによって各固有メモリオブジェクトを圧縮するステップと、
をさらに行うように構成される、請求項23に記載のコンピュータメモリ圧縮装置。 - 前記データ値は、前記メモリオブジェクトよりも細かい粒度であり、前記メモリオブジェクトは、前記コンピュータメモリコンテンツよりも細かい粒度である、請求項19~25のいずれか一項に記載のコンピュータメモリ圧縮装置。
- 前記コンピュータメモリコンテンツはコンピュータメモリのページであり、前記メモリオブジェクトはメモリブロックであり、各メモリブロックは複数のデータ値を含む、請求項26に記載のコンピュータメモリ圧縮装置。
- デコンプレッサユニット(213;1110)をさらに備え、
物理メモリページアドレス(PA)を有するメモリページ内のメモリブロックの読み取り要求を受信するステップと、
ルックアップテーブル(1010)からの圧縮メモリページアドレス(CA)を決定するステップと、
前記メモリブロックに対するメタデータを検索するステップ(1020)と、
前記圧縮メモリページアドレス(CA)と検索された前記メタデータの前記固有メモリオブジェクト参照(530、U_PTR)からの圧縮メモリブロックアドレス(1040)を計算するステップと、
計算された前記圧縮メモリブロックアドレス(1040)での圧縮メモリブロック(1105)を検索するステップと、
前記メモリブロックに対して検索された前記メタデータからの圧縮のタイプを示す情報(520;1120、ENC)を使用して、検索された前記圧縮メモリブロック(1105)を解凍するステップと、
を行うように構成される、請求項20に従属するときの請求項27に記載のコンピュータメモリ圧縮装置。 - 当初メモリ位置における固有メモリブロック(830)の更新を含むライトバック要求を受信するステップと、
前記コンピュータメモリコンテンツの専用空きメモリ領域(840)内の新規メモリ位置(870)に更新する前に、前記固有メモリブロック(830)をコピーするステップと、
前記固有メモリブロック(830)にリンクされた重複メモリブロック(810、820)の前記メタデータを更新して、その前記重複メモリオブジェクト参照(540、D_PTR)が前記専用空きメモリ領域(840)内の前記新規メモリ位置(870)にリダイレクトされるようにするステップと、
前記ライトバック要求に従って、その当初メモリ位置(830)で前記固有メモリブロックを更新するステップと、
をさらに行うように構成される、請求項21に従属するときの請求項27または28に記載のコンピュータメモリ圧縮装置。 - 前記専用空きメモリ領域(840)の開始アドレス(805)への参照(F_PTR)を含むメタデータを提供するステップと、
前記専用空きメモリ領域(840)内の前記新規メモリ位置(870)への前記固有メモリブロック(830)をコピーした後に、新規開始アドレス(880)を反映するように、前記参照(F_PTR)を更新するステップと、
をさらに行うように構成される、請求項29に記載のコンピュータメモリ圧縮装置。 - 当初メモリ位置における固有メモリブロック(830)の更新を含むライトバック要求を受信するステップと、
重複排除メモリブロック(820)が固有メモリブロック(830)の重複であることを見つけるステップと、
前記固有メモリブロック(830)の前記シグネチャ(S)を使用することによって、見つかった前記重複排除メモリブロック(820)を前記ツリーデータ構造(400)内で固有のものとしてプロモートするステップと、
専用空きメモリ領域(840)内の新規メモリ位置(870)への前記ライトバック要求に従って、前記固有メモリブロック(830)の更新されたコンテンツを書き込むステップと、
前記固有メモリブロック(830)の前記メタデータを更新して、その前記固有メモリオブジェクト参照(530、U_PTR)が前記専用空きメモリ領域(840)内の前記新規メモリ位置(870)にリダイレクトされるようにして、その一方で、その重複メモリオブジェクト参照(540、D_PTR)は除去されるようにするステップと、
をさらに行うように構成される、請求項22および請求項27または28のいずれかに記載のコンピュータメモリ圧縮装置。 - 前記専用空きメモリ領域(840)の開始アドレス(805)への参照(F_PTR)を含むメタデータを提供するステップと、
前記専用空きメモリ領域(840)の前記新規メモリ位置(870)への前記ライトバック要求に従って、前記固有メモリブロック(830)の更新された前記コンテンツの書き込み後に、新規開始アドレス(880)を反映するように前記参照(F_PTR)を更新するステップと、
をさらに行うように構成される、請求項31に記載のコンピュータメモリ圧縮装置。 - 重複メモリブロック(920)の更新を含むライトバック要求を受信するステップと、
更新された前記重複メモリブロックの前記コンテンツを、専用空きメモリ領域(940)内の新規固有メモリブロック(980)として格納するステップと、
前記重複メモリブロック(920)に以前にリンクされた固有メモリブロック(910)の前記メタデータを更新して、前記固有メモリブロック(910)が、前記固有メモリブロック(910)と他の重複メモリブロック(930)との間のリンクを維持しつつ、前記重複メモリブロック(920)にリンクされなくなったことを反映するステップと、
をさらに行うように構成される、請求項27~32のいずれか一項に記載のコンピュータメモリ圧縮装置。 - メモリページの圧縮率を経時的に監視するステップと、
前記圧縮率が所与の基準を満たさない場合、請求項1~10のいずれか一項に記載のコンピュータメモリ圧縮方法の機能を実行することによって、前記メモリページの再圧縮を実行するステップと、
をさらに行うように構成される、請求項32または33に記載のコンピュータメモリ圧縮装置。 - 請求項1~9のいずれか一項に記載のコンピュータメモリ圧縮方法の機能を実行することによって、圧縮率を改善するために、メモリページの再圧縮を定期的に実行するように、
さらに構成される、請求項32~34のいずれか一項に記載のコンピュータメモリ圧縮装置。 - 前記符号化ユニット(212)が、
エントロピーベースの圧縮と、
ベースデルタ即圧縮と、
のうちの1つを適用することで、データ値局所性を利用することによって圧縮するように構成される、請求項19~35のいずれか一項に記載のコンピュータメモリ圧縮装置。 - 1つまたは複数のプロセッサ(P1、…、PN)と、
1つまたは複数のコンピュータメモリ(M1~MK、C1~C3)と、
請求項19~36のいずれか一項に記載のコンピュータメモリ圧縮装置(205)と、
を備える、コンピュータシステム(200)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE1950027A SE543186C2 (en) | 2019-01-11 | 2019-01-11 | Systems, methods and devices for eliminating duplicates and value redundancy in computer memories |
SE1950027-1 | 2019-01-11 | ||
PCT/SE2020/050013 WO2020145874A1 (en) | 2019-01-11 | 2020-01-09 | Systems, methods and devices for eliminating duplicates and value redundancy in computer memories |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022516502A true JP2022516502A (ja) | 2022-02-28 |
JP7571026B2 JP7571026B2 (ja) | 2024-10-22 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
US20230076729A2 (en) | 2023-03-09 |
WO2020145874A1 (en) | 2020-07-16 |
EP3908938A1 (en) | 2021-11-17 |
CA3124691A1 (en) | 2020-07-16 |
EP3908938A4 (en) | 2022-09-21 |
CN113366463A (zh) | 2021-09-07 |
SE1950027A1 (en) | 2020-07-12 |
KR20210113297A (ko) | 2021-09-15 |
SE543186C2 (en) | 2020-10-20 |
US20220100718A1 (en) | 2022-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11640256B2 (en) | Methods and systems for object level de-duplication for data storage system | |
US10642522B2 (en) | Method and system for in-line deduplication in a storage drive based on a non-collision hash | |
US7587401B2 (en) | Methods and apparatus to compress datasets using proxies | |
US9880746B1 (en) | Method to increase random I/O performance with low memory overheads | |
US10031675B1 (en) | Method and system for tiering data | |
US9268783B1 (en) | Preferential selection of candidates for delta compression | |
US10635359B2 (en) | Managing cache compression in data storage systems | |
US9262434B1 (en) | Preferential selection of candidates for delta compression | |
JP5423896B2 (ja) | ストレージシステム | |
US10135462B1 (en) | Deduplication using sub-chunk fingerprints | |
JP6320432B2 (ja) | データ重複排除における、類似性探索に基づくダイジェスト検索 | |
US9026740B1 (en) | Prefetch data needed in the near future for delta compression | |
JP6608468B2 (ja) | ストレージ装置及びその制御方法 | |
CN113535670B (zh) | 一种虚拟化资源镜像存储系统及其实现方法 | |
JP2019506667A (ja) | プロセッサ・グリッド内の分散データ重複排除 | |
US20140351522A1 (en) | Storage system with reduced hash key memory | |
US9116902B1 (en) | Preferential selection of candidates for delta compression | |
CN110321079B (zh) | 一种基于混合页面的磁盘缓存去重方法 | |
EP3908938A1 (en) | Systems, methods and devices for eliminating duplicates and value redundancy in computer memories | |
JP7571026B2 (ja) | コンピュータメモリにおける重複および値冗長性を排除するためのシステム、方法、および装置 | |
US12124420B2 (en) | Systems, methods and devices for eliminating duplicates and value redundancy in computer memories | |
Agrawal et al. | Clustered outband deduplication on primary data | |
Vikraman et al. | A study on various data de-duplication systems | |
CN114115734B (en) | Data deduplication method, device, equipment and storage medium | |
CN118159936A (zh) | 顺序存储介质上的并行重复数据删除机制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221212 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240116 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20240411 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240611 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240910 |