JP2017208096A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2017208096A5 JP2017208096A5 JP2017099688A JP2017099688A JP2017208096A5 JP 2017208096 A5 JP2017208096 A5 JP 2017208096A5 JP 2017099688 A JP2017099688 A JP 2017099688A JP 2017099688 A JP2017099688 A JP 2017099688A JP 2017208096 A5 JP2017208096 A5 JP 2017208096A5
- Authority
- JP
- Japan
- Prior art keywords
- hash
- data
- bucket
- stored
- plid
- 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
- 230000000875 corresponding Effects 0.000 claims 14
- 239000002131 composite material Substances 0.000 claims 7
- 238000006243 chemical reaction Methods 0.000 claims 5
- 230000005540 biological transmission Effects 0.000 claims 3
- 238000005192 partition Methods 0.000 claims 2
- 238000003379 elimination reaction Methods 0.000 claims 1
Claims (21)
- 重複除去モジュールに関連するメモリに格納されたデータを回収する方法であって、
前記データの論理的アドレスを識別する段階と、
変換テーブル内の前記論理的アドレスの少なくとも一部を検索し、前記論理的アドレスに従って、前記データがハッシュテーブルに格納されたか又はオーバーフローメモリ領域に格納されたかを示す第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識別子を含む前記データのPLID(物理的ラインID)を設定する段階と、
前記第1ハッシュ関数よりも小さい第2ハッシュ関数を利用して、前記データが格納されなければならない位置にも対応する第2ハッシュ値を決定する段階と、
前記メモリの変換テーブルに前記第1ハッシュ値を格納する段階と、
前記メモリの署名テーブルに前記第2ハッシュ値を格納する段階と、を有することを特徴とする方法。 - 前記データに対応する参照カウンターテーブル内の参照カウンターを増加させる段階を更に含むことを特徴とする請求項7に記載の方法。
- 前記メモリは、
複数のデータを格納する前記ハッシュテーブルと、
前記第1ハッシュ関数を利用して生成される複数のPLIDを格納する前記変換テーブルと、
前記第2ハッシュ関数を利用して生成される複数の署名を格納する前記署名テーブルと、
各参照カウンターが前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡する複数の参照カウンターを格納する参照カウンターテーブルと、
前記オーバーフローメモリ領域と、を含むことを特徴とする請求項7に記載の方法。 - 前記複数のPLIDの各々は、
前記データが格納された行を示す第2識別子と、
前記データが格納された列を示す第3識別子と、を更に含むことを特徴とする請求項9に記載の方法。 - 前記ハッシュテーブル、前記署名テーブル、及び前記参照カウンターテーブルは、複合型データ構造に統合され、
前記複合型データ構造は、複数のハッシュシリンダを含み、
各ハッシュシリンダは、
複数の物理的ラインを含むハッシュバケットと、
前記複数の物理的ラインに対応するそれぞれの署名を含む署名バケットと、
前記複数の物理的ラインに対応するそれぞれの参照カウンターを含む参照カウンターバケットと、を含むことを特徴とする請求項9に記載の方法。 - 前記第1ハッシュ値に対応する前記ハッシュテーブル内の位置に前記データを格納する段階は、前記第1ハッシュ値に対応する前記ハッシュバケットに前記データを格納する段階を含み、
前記メモリの署名テーブルに前記第2ハッシュ値を格納する段階は、前記データが格納された前記ハッシュバケットに対応する前記署名バケットに前記第2ハッシュ値を格納する段階を含むことを特徴とする請求項11に記載の方法。 - 読出しキャッシュと、
ホストシステムからデータ回収要請を受信する重複除去エンジンと、
メモリと、を備え、
前記メモリは、変換テーブル及び複合型データ構造を含み、
前記複合型データ構造は、
各ハッシュバケットが各物理的ラインにデータを格納する複数の物理的ラインを含む複数のハッシュバケットを含むハッシュテーブルと、
各参照カウンターバケットが複数の参照カウンターを含む複数の参照カウンターバケットを含む参照カウンターテーブルと、
各ハッシュシリンダが前記ハッシュバケットの中の1つ及び前記参照カウンターバケットの中の1つを含む複数のハッシュシリンダと、を含み、
前記データ回収要請は、前記重複除去エンジンが、
前記データの論理的アドレスを識別し、
前記変換テーブル内の前記論理的アドレスの少なくとも一部を検索し、前記論理的アドレスに従って、前記データが前記ハッシュテーブルに格納されたか又はオーバーフローメモリ領域に格納されたかを示す第1識別子を含む前記データのPLID(物理的ラインID)を識別し、
前記第1識別子を用いて、前記データが前記ハッシュテーブルに格納されているか又は前記オーバーフローメモリ領域に格納されているかを判断し、
前記PLIDに対応する前記複数の物理的ラインのそれぞれの物理的ラインの位置を特定し、
前記ハッシュテーブル内又は前記オーバーフローメモリ領域内の前記それぞれの物理的ラインから前記データを回収することをもたらし、
前記データの回収は、前記複数のハッシュシリンダのそれぞれのハッシュシリンダを前記読出しキャッシュにコピーすることを含み、
前記それぞれのハッシュシリンダは、
前記それぞれの物理的ラインを含む前記複数のハッシュバケットのそれぞれのハッシュバケットと、
前記それぞれの物理的ラインに関連するそれぞれの参照カウンターを含む前記複数の参照カウンターバケットのそれぞれの参照カウンターバケットと、を含むことを特徴とする重複除去モジュール。 - 前記データ回収要請は、前記重複除去エンジンが、前記PLIDに基づいて、前記データが前記ハッシュテーブルに格納されていると判断することを更にもたらすことを特徴とする請求項13に記載の重複除去モジュール。
- 前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、
前記PLIDは、前記ハッシュテーブル内の位置を示すアドレスを含むことを特徴とする請求項13に記載の重複除去モジュール。 - 前記PLIDは、
前記データが格納された行を示す第2識別子と、
前記データが格納された列を示す第3識別子と、を更に含むことを特徴とする請求項15に記載の重複除去モジュール。 - 前記複合型データ構造は、各署名バケットが複数の署名を含む複数の署名バケットを含む署名テーブルを更に含み、
前記それぞれのハッシュシリンダは、前記複数の署名バケットのそれぞれの署名バケットを更に含み、
前記それぞれの署名バケットは、前記それぞれの物理的ラインに関連するそれぞれの署名を含むことを特徴とする請求項13に記載の重複除去モジュール。 - 前記PLIDは、前記データに適用された第1ハッシュ関数を利用して生成され、
前記PLIDは、前記ハッシュテーブル内の位置を示すアドレスを含み、
前記複数の署名は、前記第1ハッシュ関数よりも小さい第2ハッシュ関数を利用して生成されることを特徴とする請求項17に記載の重複除去モジュール。 - 各参照カウンターは、前記ハッシュテーブルに格納された該当データに対する重複除去回数を追跡することを特徴とする請求項13に記載の重複除去モジュール。
- ホストインターフェイスと、
前記ホストインターフェイスを通じてホストシステムからデータ伝送要請を受信する伝送管理部と、
複数のパーティションと、を備え、
各パーティションは、
前記伝送管理部からのパーティションデータ要請、及び前記ホストシステムからのデータ回収要請を受信する重複除去エンジンと、
複数のメモリコントローラと、
前記重複除去エンジンと前記メモリコントローラとの間に提供されるメモリ管理部と、
各メモリモジュールが前記複数のメモリコントローラの中の1つに連結される複数のメモリモジュールと、を含み、
前記データ回収要請は、前記重複除去エンジンが、
前記メモリモジュール内の前記データの論理的アドレスを識別し、
変換テーブル内の前記論理的アドレスの少なくとも一部を検索し、前記論理的アドレスに従って、前記データがハッシュテーブルに格納されたか又はオーバーフローメモリ領域に格納されたかを示す第1識別子を含む前記データのPLID(物理的ラインID)を識別し、
物理的ラインの位置を特定し、
前記PLIDに対応する前記ハッシュテーブル内又は前記オーバーフローメモリ領域内の前記物理的ラインから前記データを回収することをもたらすことを特徴とする重複除去モジュール。 - 読出しキャッシュと、
メモリと、
複数のハッシュバケットの第1ハッシュバケットに対するV個の仮想バケットを識別する重複除去エンジンと、を備え、
前記メモリは、
変換テーブルと、
各ハッシュバケットが各物理的ラインにデータを格納する複数の物理的ラインを含む複数のハッシュバケットを含むハッシュテーブルと、
各参照カウンターバケットが複数の参照カウンターを含む複数の参照カウンターバケットを含む参照カウンターテーブルと、を含み、
前記仮想バケットは、前記第1ハッシュバケットに隣接する前記複数のハッシュバケットの中の他のものであり、
前記仮想バケットは、前記第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 US10496543B2 (en) | 2016-03-31 | 2016-05-23 | Virtual bucket multiple hash tables for efficient memory in-line deduplication application |
US15/162,517 | 2016-05-23 | ||
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 true JP2017208096A5 (ja) | 2020-07-02 |
JP6920107B2 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 (11)
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 | 慧荣科技股份有限公司 | 链表搜索装置及方法 |
US10628072B2 (en) * | 2018-08-21 | 2020-04-21 | Samsung Electronics Co., Ltd. | Scalable architecture enabling large memory system for in-memory computations |
US11079954B2 (en) * | 2018-08-21 | 2021-08-03 | Samsung Electronics Co., Ltd. | Embedded reference counter and special data pattern auto-detect |
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 | 삼성전자주식회사 | 스토리지 장치 및 이의 동작 방법 |
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 |
JP5603997B2 (ja) | 2010-10-26 | 2014-10-08 | 株式会社日立製作所 | ストレージ装置及びデータ制御方法 |
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
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017208096A5 (ja) | ||
US11216443B2 (en) | Processing device configured for data integrity testing utilizing signature-based multi-phase write operations | |
US9891858B1 (en) | Deduplication of regions with a storage system | |
US10761758B2 (en) | Data aware deduplication object storage (DADOS) | |
US11620064B2 (en) | Asynchronous semi-inline deduplication | |
EP3095029B1 (en) | Set-associative hash table organization for efficient storage and retrieval of data in a storage system | |
US20190391738A1 (en) | Processing device configured for data integrity testing utilizing replicated test metadata file | |
US10127242B1 (en) | Data de-duplication for information storage systems | |
US20180113631A1 (en) | Enhancing flash translation layer to improve performance of databases and filesystems | |
TWI683217B (zh) | 使用去重複dram系統演算法架構的去重複記憶體模組及其方法 | |
US9779026B2 (en) | Cache bypass utilizing a binary tree | |
US10254964B1 (en) | Managing mapping information in a storage system | |
TW201741883A (zh) | 能使記憶體容量較實體記憶體大小大的方法與去重複模組 | |
WO2014018742A1 (en) | Contention-free multi-path storage access in distributed compute systems | |
WO2016054212A1 (en) | Efficient metadata in a storage system | |
US9110820B1 (en) | Hybrid data storage system in an HPC exascale environment | |
US8799595B1 (en) | Eliminating duplicate data in storage systems with boot consolidation | |
WO2015162469A1 (en) | Unified caching of storage blocks and memory pages in a compute-node cluster | |
US10114566B1 (en) | Systems, devices and methods using a solid state device as a caching medium with a read-modify-write offload algorithm to assist snapshots | |
JP2017049806A (ja) | ストレージ制御装置およびストレージ制御プログラム | |
US10528284B2 (en) | Method and apparatus for enabling larger memory capacity than physical memory size | |
US9009204B2 (en) | Storage system | |
CN110647476B (zh) | 一种固态硬盘写数据的方法、装置、设备及存储介质 | |
CN108614781B (zh) | 基于NANDflash的有效数据查找方法和NANDflash存储设备 | |
KR101341995B1 (ko) | 공유 데이터 저장소 관리 장치 및 방법 |