Method and apparatus for enabling larger memory capacity than physical memory size
AssigneeSamsung Electronics Co., Ltd.
InventorsDongyan Jiang, Changhui Lin, Krishna Malladi, Jongmin Gim, Hongzhong Zheng
Life of this patent
Estimating the term…
Abstract
A dedupe module is provided. The dedupe module includes: a host interface; a dedupe engine to receive a data request from a host system via the host interface; a memory controller; a plurality of memory modules, each memory module being coupled to the memory controller; and a read cache for caching data from the memory controller for use by the dedupe engine.
Claims20
A dedupe module comprising:
- a host interface;
- a dedupe engine to receive a data request from a host system via the host interface;
- a memory controller;
- a plurality of memory modules, each memory module being coupled to the memory controller;
- and
- a read cache for caching data from the memory controller for use by the dedupe engine.
A method of storing data in memory, the memory comprising a hash table, a signature table, a reference counter table, and a translation table, the hash table comprising a plurality of hash buckets, each hash bucket comprising a plurality of ways, the method comprising:
- identifying the data to be stored in the memory;
- determining a first hash value, corresponding to a respective hash bucket of the plurality of hash buckets where the data is to be stored, utilizing a first hash function;
- determining a second hash value, corresponding to a respective way of the plurality of ways of the respective hash bucket where the data is to be stored, utilizing a second hash function;
- storing the data in the respective way of the respective hash bucket when the respective way is available;
- storing the second hash value in the signature table when the respective way is available;
- updating the reference counter table when the respective way is available;
- and
- storing a physical line ID (PLID) in the translation table, the PLID corresponding to a location where the data is stored.
A method of retrieving data in memory, the memory comprising a hash table, a signature table, a reference counter table, and a translation table, the hash table comprising a plurality of hash buckets, each hash bucket comprising a plurality of ways, the method comprising:
- identifying a logical address of the data;
- identifying a physical line ID (PLID) of the data in accordance with the logical address by looking up at least a portion of the logical address in the translation table;
- locating a respective hash bucket of the plurality of hash buckets, the respective hash bucket corresponding to the PLID and storing the data;
- locating a respective way of the plurality of ways of the respective hash bucket, the respective way corresponding to the PLID;
- and
- retrieving the data from the respective way.
Dependencies are inferred from the claim text.