Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application
First Claim
1. A deduplication dynamic random-access memory (DRAM) memory module for deduplicating memory by performing deduplication on-chip and reducing duplicate blocks of data in memory to increase a logical capacity of the deduplication DRAM memory module, to reduce use of host processor resources, and to reduce a number of memory accesses to the deduplication DRAM memory module, the deduplication DRAM memory module comprising:
- a hash table memory for storing only deduplicated blocks of data;
an address lookup table memory (ALUTM) for storing addresses corresponding to the deduplicated blocks of data; and
a processor for receiving read requests to enable the deduplication DRAM memory module to retrieve the blocks of data from the hash table memory and to export the blocks of data, and for receiving write requests to enable the deduplication DRAM memory module to store the blocks of data in the hash table memory.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of memory deduplication includes identifying hash tables each corresponding to a hash function, and each including physical buckets, each physical bucket including ways and being configured to store data, identifying virtual buckets each including some physical buckets, and each sharing a physical bucket with another virtual bucket, identifying each of the physical buckets having data stored thereon as being assigned to a single virtual bucket, hashing a data line according to a hash function to produce a hash value, determining whether a corresponding virtual bucket has available space for a block of data according to the hash value, sequentially moving data from the corresponding virtual bucket to an adjacent virtual bucket when the corresponding virtual bucket does not have available space until the corresponding virtual bucket has space for the block of data, and storing the block of data in the corresponding virtual bucket.
58 Citations
6 Claims
-
1. A deduplication dynamic random-access memory (DRAM) memory module for deduplicating memory by performing deduplication on-chip and reducing duplicate blocks of data in memory to increase a logical capacity of the deduplication DRAM memory module, to reduce use of host processor resources, and to reduce a number of memory accesses to the deduplication DRAM memory module, the deduplication DRAM memory module comprising:
-
a hash table memory for storing only deduplicated blocks of data; an address lookup table memory (ALUTM) for storing addresses corresponding to the deduplicated blocks of data; and a processor for receiving read requests to enable the deduplication DRAM memory module to retrieve the blocks of data from the hash table memory and to export the blocks of data, and for receiving write requests to enable the deduplication DRAM memory module to store the blocks of data in the hash table memory. - View Dependent Claims (2, 3, 4, 5, 6)
-
Specification