Efficient management of reference blocks used in data deduplication
First Claim
1. A data storage system, comprising:
- a non-volatile cache memory device including a buffer memory storing a plurality of comparison blocks; and
a storage controller coupled to the non-volatile cache memory device, the storage controller including a processor configured to;
initialize a data deduplication process utilizing the plurality of comparison blocks stored in the non-volatile cache memory device, andperform garbage collection in conjunction with the data deduplication process, wherein to perform the garbage collection, the processor is further configured to;
maintain a hit count for comparison blocks of a passive set of comparison blocks in the buffer memory by incrementing or decrementing the hit count based on utilization of a comparison block in the data deduplication process, wherein the hit count is indicative of whether data in the comparison block matches data in an incoming user data block, anddelete the passive set from the buffer memory responsive to the hit count satisfying a predetermined value.
7 Assignments
0 Petitions
Accused Products
Abstract
Various aspects for managing data blocks in a storage system are provided. For instance, a method may include storing, in a buffer memory, a plurality of comparison blocks, initiating a data deduplication process utilizing the plurality of comparison blocks, and performing garbage collection in conjunction with the data deduplication process. Garbage collection may include maintaining a hit count for comparison blocks of a passive set of comparison blocks in the buffer memory and deleting the passive set from the buffer memory when the hit count is decremented to a predetermined value. The hit count may be incremented and decremented based on utilization of a comparison block in the data deduplication process.
-
Citations
20 Claims
-
1. A data storage system, comprising:
-
a non-volatile cache memory device including a buffer memory storing a plurality of comparison blocks; and a storage controller coupled to the non-volatile cache memory device, the storage controller including a processor configured to; initialize a data deduplication process utilizing the plurality of comparison blocks stored in the non-volatile cache memory device, and perform garbage collection in conjunction with the data deduplication process, wherein to perform the garbage collection, the processor is further configured to; maintain a hit count for comparison blocks of a passive set of comparison blocks in the buffer memory by incrementing or decrementing the hit count based on utilization of a comparison block in the data deduplication process, wherein the hit count is indicative of whether data in the comparison block matches data in an incoming user data block, and delete the passive set from the buffer memory responsive to the hit count satisfying a predetermined value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of operation in a data storage system including a set of non-volatile memory devices, the method comprising:
-
storing, in a buffer memory, a plurality of comparison blocks; initializing a data deduplication process utilizing the plurality of comparison blocks stored in the buffer memory; and performing garbage collection in conjunction with the data deduplication process, the garbage collection comprising; maintaining a hit count for comparison blocks of a passive set of comparison blocks in the buffer memory by incrementing or decrementing the hit count based on utilization of a comparison block in the data deduplication process, wherein the hit count is indicative of whether data in the comparison block matches data in an incoming user data block, and deleting the passive set from the buffer memory responsive to the hit count satisfying a predetermined value. - View Dependent Claims (18, 19, 20)
-
Specification