IP Library Granted Patent US 10,282,128
Granted Patent B2
US 10,282,128 · App. 15/689,626 · Granted May 7, 2019

Data deduplication

Inventor: John C. Rudelic (Folsom, CA)
Assignee: Micron Technology, Inc.
G06F3/0641G06F3/0608G06F3/0673G06F3/0679G06F12/023
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,282,128
App. No.
15/689,626
Granted
May 7, 2019
Kind
B2
Abstract

The present disclosure includes devices and methods for data deduplication. One such method includes receiving a write command, transforming data associated with the write command, determining if a transformation value of the data exists in a transformation table, and responsive to a determination that the transformation value does not exist in the transformation table, writing the data associated with the write command to a memory device.

Claims (37)

1. A method for data deduplication, comprising:

translating a write command into a number of memory device write commands that each include instructions that, when executed, cause a memory device to perform a write operation which writes a particular amount of data to the memory device;

transforming data associated with the write command by creating a number of transformation values for the data, wherein each of the number of transformation values correspond to a portion of data that is less data than the particular amount of data;

identifying those of the number of transformation values that do not exist in a transformation table;

determining that data associated with those of the number of transformation values do not exist in the memory device responsive to identifying those of the number of transformation values do not exist in a transformation table; and

executing at least a portion of the write command by writing the particular amount of data to the memory device.

2. The method of claim 1 , wherein writing the particular amount of data includes only writing data associated with the command having transformation values that do not exist in the transformation table.

3. The method of claim 1 , further including skipping writing data associated with the command with transformation values that exist in the transformation table.

4. The method of claim 1 , wherein identifying the portion of the number of transformation values that that do not exist in the transformation table includes locating transformation values in the transformation table stored in the memory device.

5. The method of claim 1 , wherein the method further includes writing the number of transformation values to the transformation table.

6. The method of claim 1 , wherein the method further includes associating each of the number of transformation values and a particular physical address via the transformation table.

7. The method of claim 1 , wherein transforming data associated with the write command includes hashing the data associated with the write command.

8. A method for data deduplication, comprising:

hashing data associated with a write command via a data deduplication component on a memory device;

wherein the data includes a number of portions of data each comprised of a first amount of data that is less than a second amount of data;

wherein the second amount of data is a particular amount of data written via a write operation, and

wherein hashing data includes creating hash values for each of the number of portions of data comprised of the first amount of data and storing at least one of the hash values in a hash table that includes hash values for each portion of data stored in the memory device; and

executing at least a portion of the write command by writing the particular amount of data, wherein writing the particular amount of data includes only writing the number of portions of data having hash values that do not exist in the hash table.

9. The method of claim 8 , further including determining which hash values associated with the write command do not exist in the hash table.

10. The method of claim 8 , further including writing, to the hash table, the hash value of each of the number of portions the data associated with the write command that is not in the hash table.

11. The method of claim 10 , wherein writing, to the hash table, the hash value of each of the number of portions the data associated with the write command that is not in the hash table includes writing to phase change memory cells.

12. The method of claim 8 , further including sending a successful write indication to a host for the number of portions of data with hash values that exist in the hash table and associating a logical address of the data with the hash value that exists in the hash table.

13. The method of claim 8 , including associating a number of logical addresses that share a common hash value with a common physical location in the memory device via the hash table.

14. An apparatus, comprising:

an array of memory cells; and

a controller coupled to the array and configured to:

hash data associated with a write command received from a host;

wherein the controller translates the write command into a number of memory device write commands that each include instructions that, when executed by the controller, cause the array of memory cells to perform a write operation which writes a particular amount of data to the array of memory cells;

wherein the data includes a number of portions of data that are each an amount of data that is less than the particular amount of data written via the write operation;

wherein a hash value for each of the number of portions of data is created, and

execute the write operation by writing the particular amount of data to the array of memory cells.

15. The apparatus of claim 14 , wherein the controller configured to execute the write operation by writing the particular amount of data to the array of memory cells comprises only writing portions of data having hash values that are not in a hash table.

16. The apparatus of claim 14 , wherein the controller is configured to skip writing portions of data having hash values in the hash table.

17. The apparatus of claim 14 , wherein the controller is configured to send a successful write indication to a host for portions of data having hash values in the hash table.

18. The apparatus of claim 14 , wherein the controller is configured to associate logical addresses of portions of data having hash values in the hash table with the hash values that exists in the hash table.

19. The apparatus of claim 14 , wherein the controller is configured to determine if hash values exist in the hash table via data deduplication circuitry.

20. The apparatus of claim 14 , wherein the number of portions of data are sectors of data and the particular amount of data written via the write operation is a page of data.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050709/0838 →
RELEASE OF SECURITY INTEREST Recorded Jul 20, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 046597/0333 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 044348/0253 →
SUPPLEMENT NO. 6 TO PATENT SECURITY AGREEMENT Recorded Nov 1, 2017
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 044653/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2017
From: RUDELIC, JOHN C.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 043437/0894 →
Continuity (3)
Continuation 14957801 · Dec 3, 2015
Continuation 13083269 · Apr 8, 2011
Related Publication 20170364301A1 · Dec 21, 2017