Method and system for data de-duplication
First Claim
Patent Images
1. An apparatus, comprising:
- a non-volatile random access memory to store data;
a processor coupled to the non-volatile random access memory; and
a data de-duplication module operable on the processor to;
read a signature of incoming data;
compare the signature to first data in the non-volatile random access memory, the data de-duplication module to also include;
a hash generation module operable to produce a first hash that includes pointers to all portions of the first data stored in the non-volatile random access memory, and a first data key to uniquely identify the first data;
a hash translation table generator operable to generate a first hashed system address corresponding to a first system memory address for the first data, and to map the first hashed system address and first data key to a first physical address containing the first data in the non-volatile random access memory; and
a comparison module operable to compare a second hash and second data key of the incoming data with the first hash and first data key; and
flag the incoming data for discard when the signature indicates a match to the first data based on the comparison of the second hash and second data key with the first hash and first data key.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus may comprise a non-volatile random access memory to store data and a processor coupled to the non-volatile random access memory. The apparatus may further include a data de-duplication module operable on the processor to read a signature of incoming data, compare the signature to first data in the non-volatile random access memory, and flag the incoming data for discard when the signature indicates a match to the first data. Other embodiments are disclosed and claimed.
75 Citations
22 Claims
-
1. An apparatus, comprising:
-
a non-volatile random access memory to store data; a processor coupled to the non-volatile random access memory; and a data de-duplication module operable on the processor to; read a signature of incoming data; compare the signature to first data in the non-volatile random access memory, the data de-duplication module to also include; a hash generation module operable to produce a first hash that includes pointers to all portions of the first data stored in the non-volatile random access memory, and a first data key to uniquely identify the first data; a hash translation table generator operable to generate a first hashed system address corresponding to a first system memory address for the first data, and to map the first hashed system address and first data key to a first physical address containing the first data in the non-volatile random access memory; and a comparison module operable to compare a second hash and second data key of the incoming data with the first hash and first data key; and flag the incoming data for discard when the signature indicates a match to the first data based on the comparison of the second hash and second data key with the first hash and first data key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
reading a signature of incoming data; comparing the signature to first data stored in a first portion of non-volatile random access memory of a two-level memory, comparing the signature to include producing a first hash that includes pointers to all portions of the first data stored in the non-volatile random access memory and a first data key to uniquely identify the first data; generating a first hashed system address corresponding to a first system memory address for the first data; mapping the first hashed system address and first data key to a first physical address containing the first data in the non-volatile random access memory; and comparing a second hash and second data key of the incoming data with the first hash and first data key; flagging the incoming data for discard when the signature indicates a match to the first data; and forwarding the incoming data for writing to a second portion of non-volatile random access memory when the signature indicates no match to the first data. - View Dependent Claims (11, 12, 13)
-
-
14. At least one non-transitory computer-readable storage medium comprising a plurality of instructions that, when executed, cause a system to:
-
read a signature of incoming data; compare the signature to first data in the non-volatile random access memory compare the signature to include the system to; produce a first hash that includes pointers to all portions of the first data stored in the non-volatile random access memory, and a first data key to uniquely identify the first data; generate a first hashed system address corresponding to a first system memory address for the first data, and to map the first hashed system address and first data key to a first physical address containing the first data in the non-volatile random access memory; and compare a second hash and second data key of the incoming data with the first hash and first data key; and flag the incoming data for discard when the signature indicates a match to the first data. - View Dependent Claims (15, 16)
-
-
17. An apparatus, comprising:
-
a non-volatile random access memory to store data; a processor coupled to the non-volatile random access memory; and a data de-duplication module operable on the processor to; read a signature of incoming data; compare the signature to first data in the non-volatile random access memory, the comparison of the signature to include the data de-duplication module operable to; read an outer code of the first data to determine a first parity; and compute a second parity of the incoming data; and flag the incoming data for discarding when the computed second parity matches the first parity. - View Dependent Claims (18, 19)
-
-
20. At least one non-transitory computer-readable storage medium comprising a plurality of instructions that, when executed, cause a system to:
-
read a signature of incoming data; compare the signature to first data in the non-volatile random access memory, compare the signature to include the system to; read an outer code of the first data to determine a first parity; and compute parity of the incoming data; and flag the incoming data for discarding when the computed parity matches the first parity. - View Dependent Claims (21, 22)
-
Specification