Reordered local data deduplication in storage devices
First Claim
1. A device comprising:
- a solid state data storage device (SSD) having multiple storage units, the SSD including;
a deduplication control circuit configured to;
determine whether selected data content to be stored is a duplicate of previous data content already in a first buffer of data buffered to be stored in a set of storage units of the multiple storage units of the SSD;
based at least in part on a determination that the selected data content is a duplicate of first previous data content already buffered in the first buffer, instead of buffering another copy of the selected data content, buffer a first header including a first pointer that associates the first header with the first previous data content already buffered in the first buffer; and
reorder the first buffer such that individual data contents in the first buffer are grouped near headers associated with the individual data contents.
1 Assignment
0 Petitions
Accused Products
Abstract
A device may include a SSD having multiple storage units and a deduplication control circuit configured to determine whether selected data content to be stored is a duplicate of previous data content already in a first buffer of data buffered to be stored in a set of storage units. The deduplication circuit may be further configured to, based on a determination that the selected data content is a duplicate of first previous data content already buffered in the first buffer, instead of buffering another copy of the selected data content, buffer a first header including a first pointer that associates the first header with the first previous data content already buffered in the first buffer. The deduplication circuit may also be configured to reorder the first buffer such that individual data contents in the first buffer are grouped near headers associated with the individual data contents.
16 Citations
19 Claims
-
1. A device comprising:
a solid state data storage device (SSD) having multiple storage units, the SSD including; a deduplication control circuit configured to; determine whether selected data content to be stored is a duplicate of previous data content already in a first buffer of data buffered to be stored in a set of storage units of the multiple storage units of the SSD; based at least in part on a determination that the selected data content is a duplicate of first previous data content already buffered in the first buffer, instead of buffering another copy of the selected data content, buffer a first header including a first pointer that associates the first header with the first previous data content already buffered in the first buffer; and reorder the first buffer such that individual data contents in the first buffer are grouped near headers associated with the individual data contents. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A device comprising:
a solid state data storage device (SSD) having multiple storage units, the SSD including; a first buffer configured to buffer data to be stored in a set of local deduplication storage units of the multiple storage units of the SSD including one or more data contents and one or more headers associated with individual data contents of the one or more data contents, individual headers of the one or more headers associating a logical address with a respective data content; a deduplication control circuit configured to; count a number of occurrences of headers in the first buffer associated with a first data content of the one or more data contents buffered in the first buffer; and when the number of occurrences is greater than a threshold, buffer the first data content in a second buffer of data buffered to be stored in a global deduplication storage space of the SSD and add a hash value of the first data content to a global hash lookup table. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
17. A device comprising:
a solid state data storage device (SSD) having multiple storage units, the SSD including; a deduplication control circuit configured to; determine whether selected data content to be stored is a duplicate of previous data content already in a first buffer of data buffered to be stored in a set of storage units of the multiple storage units of the SSD; based at least in part on a determination that the selected data content is a duplicate of first previous data content already buffered in the first buffer, instead of buffering another copy of the selected data content, buffer a first header including a first pointer that associates the first header with the first previous data content already buffered in the first buffer; reorder the first buffer such that individual data contents in the first buffer are grouped near headers associated with the individual data contents; a hash lookup table including hashes of data content buffered in the first buffer; the deduplication control circuit further configured to; determine that the selected data content is a duplicate of the first previous data content already buffered in the first buffer being performed at least in part by performing a lookup in the hash lookup table for a first hash value of the selected data content; determine whether a second selected data content to be stored is a duplicate of previous data content already in the first buffer; and based at least in part on a determination that the second selected data content is not a duplicate of previous data content already buffered in the first buffer, buffer, in the first buffer, the second selected data content and a second header including a second pointer that associates the second header with the second selected data content buffered in the first buffer. - View Dependent Claims (18, 19)
Specification