BUCKETIZED MULTI-INDEX LOW-MEMORY DATA STRUCTURES
First Claim
1. A method for generating and storing a data structure for maintaining a cache supporting compression and a cache-wide deduplication, comprising:
- generating data structures with fixed size memory regions configured to hold multiple signatures as keys, wherein the number of the fixed size memory regions is bounded;
generating a first mapping from short-length signatures to a storage location and a quantized length measure on a cache storage device;
retrieving metadata and cache page content using a single input/output operation;
validating a correctness of a full value of one or more hash functions of uncompressed cache page content using the metadata;
generating a second mapping from short-length signatures to entries in the first mapping, wherein one or more pointers to entries in the first mapping are stored in a non-transitory computer readable storage medium; and
verifying whether the cached page content corresponds to a full-length original logical block address (LBA) using the metadata.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for generating and storing a data structure for maintaining cache supporting compression and cache-wide deduplication, including generating data structures with fixed size memory regions configured to hold multiple signatures as keys, wherein the number of the fixed size memory regions is bounded. A first mapping is generated from short-length signatures to a storage location and a quantized length measure on a cache storage device; and unused contiguous regions on the cache device are allocated. Metadata and cache page content is retrieved using a single input/output operation; a correctness of a full value of hash functions of uncompressed cache page content is validated; a second mapping is generated from short-length signatures to entries in the first mapping; and verification of whether the cached page content corresponds to a full-length original logical block address using the metadata is performed.
66 Citations
18 Claims
-
1. A method for generating and storing a data structure for maintaining a cache supporting compression and a cache-wide deduplication, comprising:
-
generating data structures with fixed size memory regions configured to hold multiple signatures as keys, wherein the number of the fixed size memory regions is bounded; generating a first mapping from short-length signatures to a storage location and a quantized length measure on a cache storage device; retrieving metadata and cache page content using a single input/output operation; validating a correctness of a full value of one or more hash functions of uncompressed cache page content using the metadata; generating a second mapping from short-length signatures to entries in the first mapping, wherein one or more pointers to entries in the first mapping are stored in a non-transitory computer readable storage medium; and verifying whether the cached page content corresponds to a full-length original logical block address (LBA) using the metadata. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for generating and storing a data structure for maintaining a cache supporting compression and a cache-wide deduplication, comprising:
-
one or more data structures with fixed size memory regions configured to hold multiple signatures as keys, wherein the number of the fixed size memory regions is bounded; a mapping generator configured to generate a first mapping from short-length signatures to a storage location and a quantized length measure on a cache storage device, and to generate a second mapping from short-length signatures to entries in the first mapping, wherein one or more pointers to entries in the first mapping are stored; a content retrieval module configured to retrieve metadata and cache page content using a single input/output operation; a validation module configured to validate a correctness of a full value of one or more hash functions of uncompressed cache page content using the metadata; and a verification module configured to verify whether the cached page content corresponds to a full-length original logical block address (LBA) using the metadata. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method for reducing memory and resource costs for a bucketized multi-index data structure, comprising:
-
storing multiple key types concurrently in one or more individual buckets in a non-transitory computer readable storage medium; performing a lookup of a first value of information for one or more data positions (DPs) using a first key for one of more content addresses (CAs); performing a lookup of a second value of information for one or more DPs using a second key for one or more logical block addresses (LBAs) by referring to the CAs; compressing one or more of LBA information, CA information, and bucket header information, or portions thereof; and evicting information from buckets to cause a ratio of LBA keys to CA keys in each bucket to approach a global ratio of LBA keys to CA keys. - View Dependent Claims (16, 17, 18)
-
Specification