×

Managing deduplication of stored data

  • US 9,092,151 B1
  • Filed: 03/13/2013
  • Issued: 07/28/2015
  • Est. Priority Date: 09/17/2010
  • Status: Active Grant
First Claim
Patent Images

1. A method for managing data, the method comprising:

  • receiving, at a data deduplication engine executing on at least one processor of a computer system, data stored in a data storage system in communication with the computer system,wherein the data storage system comprises at least one flash memory device that includes a flash memory controller and a flash memory;

    computing, by the at least one processor, a first value corresponding to at least one portion of the received data;

    determining, by the at least one processor, that the first value matches a second value stored in a collection of identifiers,each identifier corresponding to a particular portion of data stored in the flash memory of the flash memory device, each identifier comprising a computed value corresponding to the particular portion of data and including metadata indicating a location where the particular portion of data is being stored in the flash memory of the flash memory device;

    determining, by the at least one processor, that a first virtual location of the flash memory contains a portion of data corresponding to an identifier that corresponds to the first value; and

    based on the determination that the first value matches a second value stored in the collection of identifiers, and on the determination that the first virtual location contains the portion of data corresponding to the identifier that corresponds to the first value,communicating, by the at least one processor, to the flash memory controller of the flash memory device, a request to;

    1) allocate the first virtual location of the flash memory to a first physical location of the flash memory, the first physical location being associated with at least a second virtual location of the flash memory, and2) remove an association between the first virtual location and a second physical location of the flash memory.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×