JP6920107B2 - データの取得方法及び格納方法並びに重複除去モジュール - Google Patents
データの取得方法及び格納方法並びに重複除去モジュール Download PDFInfo
- Publication number
- JP6920107B2 JP6920107B2 JP2017099688A JP2017099688A JP6920107B2 JP 6920107 B2 JP6920107 B2 JP 6920107B2 JP 2017099688 A JP2017099688 A JP 2017099688A JP 2017099688 A JP2017099688 A JP 2017099688A JP 6920107 B2 JP6920107 B2 JP 6920107B2
- Authority
- JP
- Japan
- Prior art keywords
- hash
- data
- bucket
- memory
- stored
- 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
Images
Classifications
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
- G06F12/0261—Garbage collection, i.e. reclamation of unreferenced memory using reference counting
-
- 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
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、前記PLIDは、前記ハッシュテーブルの位置を示すアドレスを含み得る。
前記PLIDは、前記データが前記ハッシュテーブルに格納されたか又はオーバーフローメモリ領域(overflow memory region)に格納されたかを示す第1識別子(identifier)と、前記データが格納された行を示す第2識別子と、前記データが格納された列を示す第3識別子と、を含み得る。
前記複合型データ構造は、各署名バケットが複数の署名を含む複数の署名バケットを含む署名テーブルを更に含み、前記それぞれのハッシュシリンダは、前記複数の署名バケットのそれぞれの署名バケットを更に含み、前記それぞれの署名バケットは、前記それぞれの物理的ラインに関連するそれぞれの署名を含み得る。
前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、前記PLIDは、前記ハッシュテーブルの位置を示すアドレスを含み、前記複数の署名は、前記第1ハッシュ関数よりも小さい第2ハッシュ関数を利用して生成され得る。
各参照カウンターは、前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡し得る。
前記メモリは、複数のデータを格納する前記ハッシュテーブルと、前記第1ハッシュ関数を利用して生成される複数のPLID(physical line ID)を格納する前記変換テーブルと、前記第2ハッシュ関数を利用して生成される複数の署名を格納する前記署名テーブルと、各参照カウンターが前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡する複数の参照カウンターを格納する参照カウンターテーブルと、オーバーフローメモリ領域(overflow memory region)と、を含み得る。
前記複数のPLIDの各々は、前記データが前記ハッシュテーブルに格納されたか又は前記オーバーフローメモリ領域に格納されたかを示す第1識別子(identifier)と、前記データが格納された行を示す第2識別子と、前記データが格納された列を示す第3識別子と、含み得る。
前記ハッシュテーブル、前記署名テーブル、及び前記参照カウンターテーブルは、複合型データ構造に統合され、前記複合型データ構造は、複数のハッシュシリンダ(cylinder)を含み、各ハッシュシリンダは、複数の物理的ラインを含むハッシュバケットと、前記複数の物理的ラインに対応するそれぞれの署名を含む署名バケットと、前記複数の物理的ラインに対応するそれぞれの参照カウンターを含む参照カウンターバケットと、を含み得る。
前記第1ハッシュ値に対応する前記ハッシュテーブルの位置に前記データを格納する段階は、前記第1ハッシュ値に対応する前記ハッシュバケットに前記データを格納する段階を含み、前記メモリの署名テーブルに前記第2ハッシュ値を格納する段階は、前記データが格納された前記ハッシュバケットに対応する前記署名バケットに前記第2ハッシュ値を格納する段階を含み得る。
前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、前記PLIDは、前記ハッシュテーブルの位置を示すアドレスを含み得る。
前記PLIDは、前記データが前記ハッシュテーブルに格納されたか又はオーバーフローメモリ領域(overflow memory region)に格納されたかを示す第1識別子(identifier)と、前記データが格納された行を示す第2識別子と、前記データが格納された列を示す第3識別子と、を含み得る。
前記複合型データ構造は、各署名バケットが複数の署名を含む複数の署名バケットを含む署名テーブルを更に含み、前記それぞれのハッシュシリンダは、前記複数の署名バケットのそれぞれの署名バケットを更に含み、前記それぞれの署名バケットは、前記それぞれの物理的ラインに関連するそれぞれの署名を含み得る。
前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、前記PLIDは、前記ハッシュテーブルの位置を示すアドレスを含み、前記複数の署名は、前記第1ハッシュ関数よりも小さい第2ハッシュ関数を利用して生成され得る。
各参照カウンターは、前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡し得る。
dupe engine)200を含む。
130 ブリッジ
140 メモリコントローラ
142 メモリコントローラ0
144 メモリコントローラ1
160、162 ホストインターフェイス
170、170’ 読出しキャッシュ
180 メモリモジュール(DIMM/フラッシュ)
182 DIMM/フラッシュ0
184 DIMM/フラッシュ1
200、202 重複除去エンジン
210 メモリ管理部
220、220’ ハッシュテーブル
230 伝送管理部
240 変換テーブル
242、242’ ページ索引テーブル
244、244’ L2マップテーブル
250 パーティション
250−0 パーティション0
250−1 パーティション1
260、260’ 署名及び参照カウンターテーブル
280、280’、280” オーバーフローメモリ領域
310、310’ 論理的アドレス
312 変換テーブル索引
314、314’ 細分性
318 ページエントリ
320、320’ 物理的アドレス
322 領域ビット(RGN)
326、326’ 行索引(R_INDX)
328、328’ 列索引(COL_INDX)
400、400’ 物理的ライン(PL)
500 ハッシュシリンダ
520 署名バケット
540、540’ 参照カウンターバケット
560’ ハッシュバケット
600 複合型データ構造
Claims (19)
- 重複除去モジュールに関連するメモリに格納されたデータを取得する方法であって、
前記データの論理的アドレスを識別する段階と、
変換テーブル内の前記論理的アドレスの少なくとも一部を検索し、前記論理的アドレスに従って、前記データがハッシュテーブルに格納されたか又はオーバーフローメモリ領域に格納されたかを示す第1識別子を含む前記データのPLID(物理的ラインID)を識別する段階と、
前記第1識別子を用いて、前記データが前記ハッシュテーブルに格納されているか又は前記オーバーフローメモリ領域に格納されているかを判断する段階と、
前記PLIDに対応する物理的ラインの位置を特定する段階と、
前記物理的ラインから前記データを取得する段階と、を有し、
前記データを取得する段階は、ハッシュシリンダを読出しキャッシュにコピーする段階を含み、
前記ハッシュシリンダは、
前記物理的ラインを含むハッシュバケットと、
前記物理的ラインに関連して前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡するための参照カウンターを含む参照カウンターバケットと、を含むことを特徴とする方法。 - 前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、
前記PLIDは、前記ハッシュテーブル内の位置を示すアドレスを更に含むことを特徴とする請求項1に記載の方法。 - 前記PLIDは、
前記データが格納された行を示す第2識別子と、
前記データが格納された列を示す第3識別子と、を更に含むことを特徴とする請求項2に記載の方法。 - 前記参照カウンターバケットは、参照カウンターテーブルの一部であり、
前記ハッシュテーブル及び前記参照カウンターテーブルは、複合型データ構造の一部であり、
前記複合型データ構造は、各署名バケットが複数の署名を含む複数の署名バケットを含む署名テーブルを更に含み、
前記ハッシュシリンダは、前記複数の署名バケットのそれぞれの署名バケットを更に含み、
前記それぞれの署名バケットは、前記物理的ラインに関連するそれぞれの署名を含むことを特徴とする請求項1に記載の方法。 - 前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、
前記PLIDは、前記ハッシュテーブル内の位置を示すアドレスを含み、
前記複数の署名は、前記第1ハッシュ関数よりも小さい第2ハッシュ関数を利用して生成されることを特徴とする請求項4に記載の方法。 - 重複除去エンジンに関連するメモリにデータを格納する方法であって、
格納されるデータを識別する段階と、
第1ハッシュ関数を利用して、前記データが前記メモリのハッシュテーブル内に格納されなければならない物理的ラインに対応する第1ハッシュ値を決定する段階と、
前記第1ハッシュ値に対応する前記ハッシュテーブル内の位置に前記物理的ラインが発見されて前記物理的ラインが利用可能な場合、前記第1ハッシュ値に対応する前記ハッシュテーブル内の位置に前記データを格納する段階と、
前記第1ハッシュ値に対応する前記ハッシュテーブル内の位置に前記物理的ラインが発見されずに利用できない場合、オーバーフローメモリ領域に対応する位置に前記データを格納する段階と、
前記ハッシュテーブル内の位置又は前記オーバーフローメモリ領域に対応する位置に応じて、前記データが前記ハッシュテーブルに格納されたか又は前記オーバーフローメモリ領域に格納されたかを示す第1識別子を含む前記データのPLID(物理的ラインID)を設定する段階と、
前記第1ハッシュ関数よりも小さい第2ハッシュ関数を利用して、前記データが格納されなければならない位置にも対応する第2ハッシュ値を決定する段階と、
前記メモリの変換テーブルに前記第1ハッシュ値を格納する段階と、
前記メモリの署名テーブルに前記第2ハッシュ値を格納する段階と、を有することを特徴とする方法。 - 前記メモリは、
複数のデータを格納する前記ハッシュテーブルと、
前記第1ハッシュ関数を利用して生成される複数のPLIDを格納する前記変換テーブルと、
前記第2ハッシュ関数を利用して生成される複数の署名を格納する前記署名テーブルと、
前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡するための複数の参照カウンターを格納する参照カウンターテーブルと、
前記オーバーフローメモリ領域と、を含むことを特徴とする請求項6に記載の方法。 - 重複除去された前記データのインスタンスが前記ハッシュテーブルに追加されると、前記参照カウンターテーブル内の参照カウンターを増加させる段階を更に含むことを特徴とする請求項7に記載の方法。
- 前記複数のPLIDの各々は、
前記データが格納された行を示す第2識別子と、
前記データが格納された列を示す第3識別子と、を更に含むことを特徴とする請求項7に記載の方法。 - 前記ハッシュテーブル、前記署名テーブル、及び前記参照カウンターテーブルは、複合型データ構造に統合され、
前記複合型データ構造は、複数のハッシュシリンダを含み、
各ハッシュシリンダは、
複数の物理的ラインを含むハッシュバケットと、
前記複数の物理的ラインに対応するそれぞれの署名を含む署名バケットと、
前記複数の物理的ラインに対応するそれぞれの参照カウンターを含む参照カウンターバケットと、を含むことを特徴とする請求項7に記載の方法。 - 前記第1ハッシュ値に対応する前記ハッシュテーブル内の位置に前記データを格納する段階は、前記第1ハッシュ値に対応する前記ハッシュバケットに前記データを格納する段階を含み、
前記メモリの署名テーブルに前記第2ハッシュ値を格納する段階は、前記データが格納された前記ハッシュバケットに対応する前記署名バケットに前記第2ハッシュ値を格納する段階を含むことを特徴とする請求項10に記載の方法。 - 読出しキャッシュと、
ホストシステムからデータ取得要請を受信する重複除去エンジンと、
メモリと、を備え、
前記メモリは、変換テーブル及び複合型データ構造を含み、
前記複合型データ構造は、
各ハッシュバケットが各物理的ラインにデータを格納する複数の物理的ラインを含む複数のハッシュバケットを含むハッシュテーブルと、
前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡するための複数の参照カウンターを含む複数の参照カウンターバケットを含む参照カウンターテーブルと、
各ハッシュシリンダが前記ハッシュバケットの中の1つ及び前記参照カウンターバケットの中の1つを含む複数のハッシュシリンダと、を含み、
前記データ取得要請は、前記重複除去エンジンが、
前記データの論理的アドレスを識別し、
前記変換テーブル内の前記論理的アドレスの少なくとも一部を検索し、前記論理的アドレスに従って、前記データが前記ハッシュテーブルに格納されたか又はオーバーフローメモリ領域に格納されたかを示す第1識別子を含む前記データのPLID(物理的ラインID)を識別し、
前記第1識別子を用いて、前記データが前記ハッシュテーブルに格納されているか又は前記オーバーフローメモリ領域に格納されているかを判断し、
前記PLIDに対応する前記複数の物理的ラインのそれぞれの物理的ラインの位置を特定し、
前記ハッシュテーブル内又は前記オーバーフローメモリ領域内の前記それぞれの物理的ラインから前記データを取得することをもたらし、
前記データの取得は、前記複数のハッシュシリンダのそれぞれのハッシュシリンダを前記読出しキャッシュにコピーすることを含み、
前記それぞれのハッシュシリンダは、
前記それぞれの物理的ラインを含む前記複数のハッシュバケットのそれぞれのハッシュバケットと、
前記それぞれの物理的ラインに関連するそれぞれの参照カウンターを含む前記複数の参照カウンターバケットのそれぞれの参照カウンターバケットと、を含むことを特徴とする重複除去モジュール。 - 前記データ取得要請は、前記重複除去エンジンが、前記PLIDに基づいて、前記データが前記ハッシュテーブルに格納されていると判断することを更にもたらすことを特徴とする請求項12に記載の重複除去モジュール。
- 前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、
前記PLIDは、前記ハッシュテーブル内の位置を示すアドレスを含むことを特徴とする請求項12に記載の重複除去モジュール。 - 前記PLIDは、
前記データが格納された行を示す第2識別子と、
前記データが格納された列を示す第3識別子と、を更に含むことを特徴とする請求項14に記載の重複除去モジュール。 - 前記複合型データ構造は、各署名バケットが複数の署名を含む複数の署名バケットを含む署名テーブルを更に含み、
前記それぞれのハッシュシリンダは、前記複数の署名バケットのそれぞれの署名バケットを更に含み、
前記それぞれの署名バケットは、前記それぞれの物理的ラインに関連するそれぞれの署名を含むことを特徴とする請求項12に記載の重複除去モジュール。 - 前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、
前記PLIDは、前記ハッシュテーブル内の位置を示すアドレスを含み、
前記複数の署名は、前記第1ハッシュ関数よりも小さい第2ハッシュ関数を利用して生成されることを特徴とする請求項16に記載の重複除去モジュール。 - ホストインターフェイスと、
前記ホストインターフェイスを通じてホストシステムからデータ伝送要請を受信する伝送管理部と、
複数のパーティションと、を備え、
各パーティションは、
前記伝送管理部からのパーティションデータ要請、及び前記ホストシステムからのデータ取得要請を受信する重複除去エンジンと、
複数のメモリコントローラと、
前記重複除去エンジンと前記メモリコントローラとの間に提供されるメモリ管理部と、
各メモリモジュールが前記複数のメモリコントローラの中の1つに連結される複数のメモリモジュールと、を含み、
前記データ取得要請は、前記重複除去エンジンが、
前記メモリモジュール内の前記データの論理的アドレスを識別し、
変換テーブル内の前記論理的アドレスの少なくとも一部を検索し、前記論理的アドレスに従って、前記データがハッシュテーブルに格納されたか又はオーバーフローメモリ領域に格納されたかを示す第1識別子を含む前記データのPLID(物理的ラインID)を識別し、
物理的ラインの位置を特定し、
前記PLIDに対応する前記ハッシュテーブル内又は前記オーバーフローメモリ領域内の前記物理的ラインから前記データを取得することをもたらすことを特徴とする重複除去モジュール。 - 読出しキャッシュと、
メモリと、
複数のハッシュバケットの第1ハッシュバケットに対するV個の仮想バケットを識別する重複除去エンジンと、を備え、
前記メモリは、
変換テーブルと、
各ハッシュバケットが各物理的ラインにデータを格納する複数の物理的ラインを含む複数のハッシュバケットを含むハッシュテーブルと、
前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡するための複数の参照カウンターを含む複数の参照カウンターバケットを含む参照カウンターテーブルと、を含み、
前記仮想バケットは、前記ハッシュテーブル内で整列された接触するか又は隣接する物理的バケットの総合を含み、
前記仮想バケットは、前記第1ハッシュバケットがフルに満たされた場合、前記第1ハッシュバケットのデータの一部を前記物理的バケットに格納し、
前記Vは、前記第1ハッシュバケットの仮想バケットがフルに満たされた場合に動的に調節される整数であることを特徴とする重複除去モジュール。
Applications Claiming Priority (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/161,136 | 2016-05-20 | ||
US15/161,136 US9983821B2 (en) | 2016-03-29 | 2016-05-20 | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application |
US15/162,517 | 2016-05-23 | ||
US15/162,517 US10496543B2 (en) | 2016-03-31 | 2016-05-23 | Virtual bucket multiple hash tables for efficient memory in-line deduplication application |
US201662368775P | 2016-07-29 | 2016-07-29 | |
US62/368,775 | 2016-07-29 | ||
US201762450502P | 2017-01-25 | 2017-01-25 | |
US62/450,502 | 2017-01-25 | ||
US201762451157P | 2017-01-27 | 2017-01-27 | |
US62/451,157 | 2017-01-27 | ||
US201762453461P | 2017-02-01 | 2017-02-01 | |
US62/453,461 | 2017-02-01 | ||
US15/476,757 US10678704B2 (en) | 2016-03-29 | 2017-03-31 | Method and apparatus for enabling larger memory capacity than physical memory size |
US15/476,757 | 2017-03-31 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017208096A JP2017208096A (ja) | 2017-11-24 |
JP2017208096A5 JP2017208096A5 (ja) | 2020-07-02 |
JP6920107B2 true JP6920107B2 (ja) | 2021-08-18 |
Family
ID=60404742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017099688A Active JP6920107B2 (ja) | 2016-05-20 | 2017-05-19 | データの取得方法及び格納方法並びに重複除去モジュール |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP6920107B2 (ja) |
KR (1) | KR102190403B1 (ja) |
CN (1) | CN107402889B (ja) |
TW (1) | TWI804466B (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9983821B2 (en) * | 2016-03-29 | 2018-05-29 | Samsung Electronics Co., Ltd. | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application |
US10705969B2 (en) * | 2018-01-19 | 2020-07-07 | Samsung Electronics Co., Ltd. | Dedupe DRAM cache |
KR102540964B1 (ko) * | 2018-02-12 | 2023-06-07 | 삼성전자주식회사 | 입출력 장치의 활용도 및 성능을 조절하는 메모리 컨트롤러, 애플리케이션 프로세서 및 메모리 컨트롤러의 동작 |
US11023374B2 (en) | 2018-07-09 | 2021-06-01 | Silicon Motion, Inc. | Apparatus and method and computer program product for controlling data access |
CN110765156A (zh) | 2018-07-09 | 2020-02-07 | 慧荣科技股份有限公司 | 链表搜索装置及方法 |
US11079954B2 (en) * | 2018-08-21 | 2021-08-03 | Samsung Electronics Co., Ltd. | Embedded reference counter and special data pattern auto-detect |
US10628072B2 (en) * | 2018-08-21 | 2020-04-21 | Samsung Electronics Co., Ltd. | Scalable architecture enabling large memory system for in-memory computations |
CN109299215B (zh) * | 2018-09-28 | 2024-06-18 | 平安科技(深圳)有限公司 | 倒排索引查询的资源分配方法、装置及存储介质、服务器 |
CN112181242B (zh) * | 2019-07-02 | 2021-11-02 | 北京百度网讯科技有限公司 | 页面展示方法及装置 |
CN114253472B (zh) * | 2021-11-29 | 2023-09-22 | 郑州云海信息技术有限公司 | 一种元数据管理方法、设备及存储介质 |
KR102467372B1 (ko) * | 2022-01-06 | 2022-11-14 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
CN117857468A (zh) * | 2024-01-05 | 2024-04-09 | 合肥卓讯云网科技有限公司 | 一种基于dpdk的网络数据包去重方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5796939A (en) * | 1997-03-10 | 1998-08-18 | Digital Equipment Corporation | High frequency sampling of processor performance counters |
JP2003030040A (ja) * | 2001-07-12 | 2003-01-31 | Nec Commun Syst Ltd | オブジェクトデータベースシステムの複数ハッシュインデックスおよび非ユニークインデックス管理方式 |
US8407428B2 (en) * | 2010-05-20 | 2013-03-26 | Hicamp Systems, Inc. | Structured memory coprocessor |
JP5026213B2 (ja) * | 2007-09-28 | 2012-09-12 | 株式会社日立製作所 | ストレージ装置及びデータ重複排除方法 |
CN101655861B (zh) * | 2009-09-08 | 2011-06-01 | 中国科学院计算技术研究所 | 基于双计数布鲁姆过滤器的哈希方法和哈希装置 |
US8370593B2 (en) * | 2010-04-14 | 2013-02-05 | Hitachi, Ltd. | Method and apparatus to manage groups for deduplication |
US8352676B2 (en) * | 2010-10-26 | 2013-01-08 | Hitachi, Ltd. | Apparatus and method to store a plurality of data having a common pattern and guarantee codes associated therewith in a single page |
US9047304B2 (en) * | 2011-11-28 | 2015-06-02 | International Business Machines Corporation | Optimization of fingerprint-based deduplication |
US8688661B2 (en) * | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
US9069782B2 (en) * | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9792063B2 (en) * | 2014-01-15 | 2017-10-17 | Intel Corporation | Deduplication-based data security |
US9983821B2 (en) * | 2016-03-29 | 2018-05-29 | Samsung Electronics Co., Ltd. | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application |
US10496543B2 (en) * | 2016-03-31 | 2019-12-03 | Samsung Electronics Co., Ltd. | Virtual bucket multiple hash tables for efficient memory in-line deduplication application |
-
2017
- 2017-05-19 CN CN201710358270.3A patent/CN107402889B/zh active Active
- 2017-05-19 TW TW106116633A patent/TWI804466B/zh active
- 2017-05-19 JP JP2017099688A patent/JP6920107B2/ja active Active
- 2017-05-19 KR KR1020170062408A patent/KR102190403B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
CN107402889A (zh) | 2017-11-28 |
TWI804466B (zh) | 2023-06-11 |
JP2017208096A (ja) | 2017-11-24 |
TW201741883A (zh) | 2017-12-01 |
KR102190403B1 (ko) | 2020-12-11 |
CN107402889B (zh) | 2023-07-11 |
KR20170131274A (ko) | 2017-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6920107B2 (ja) | データの取得方法及び格納方法並びに重複除去モジュール | |
JP6764362B2 (ja) | メモリの重複除去方法及び重複除去dramメモリモジュール | |
JP6764359B2 (ja) | 重複除去dramメモリモジュール及びそのメモリ重複除去方法 | |
CN108804031B (zh) | 最佳记录查找 | |
US10678704B2 (en) | Method and apparatus for enabling larger memory capacity than physical memory size | |
US20140310476A1 (en) | Bucketized multi-index low-memory data structures | |
JP6893805B2 (ja) | メモリモジュールの重複メモリ除去方法、及びそのためのdramメモリモジュール | |
US10528284B2 (en) | Method and apparatus for enabling larger memory capacity than physical memory size | |
Guo et al. | HP-mapper: A high performance storage driver for docker containers | |
Qiu et al. | {Light-Dedup}: A Light-weight Inline Deduplication Framework for {Non-Volatile} Memory File Systems | |
US11747998B1 (en) | Indexing technique for large scale distributed key-value systems | |
Xue et al. | NVM-accelerated metadata management for flash-based SSDs | |
US20160103766A1 (en) | Lookup of a data structure containing a mapping between a virtual address space and a physical address space | |
Mishra | A survey of LSM-Tree based Indexes, Data Systems and KV-stores | |
Boggavarapu | Deduplication-aware Page Cache in Linux Kernel for Improved Read Performance | |
Ge et al. | SpacKV: A Pmem-Aware Key-Value Separation Store Based on LSM-Tree | |
Sha et al. | The Design and Implementation of a High-Performance Hybrid Memory File System | |
TW202340934A (zh) | 用於具有計算儲存裝置的跨層鍵值儲存體的系統和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200519 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200519 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200519 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200916 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210419 |
|
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: 20210629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210726 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6920107 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |