System and method for granular deduplication
First Claim
1. A method of managing a memory system, comprising:
- providing a memory system with a processor having a client interface, a buffer memory, and a storage memory;
allocating a logical unit (LUN) of a plurality of LUNs to the client, the allocated LUN having a memory size, and a QoS specification;
receiving a command to write data to the allocated LUN;
determining if the QoS specification for the allocated LUN includes deduplication and;
if the QoS specification does not include deduplication, process the command by storing the data in the storage memory and creating metadata uniquely referencing a storage location of the data that is written to the storage memory;
orif the QoS specification includes deduplication, determine if deduplication is possible while meeting the QoS specification and;
if deduplication is possible, performing deduplication of the data and creating metadata referencing the storage location where the deduplicated data is stored;
or,if deduplication is not possible, storing the data in a backing LUN associated with the allocated LUN, anddraining the data stored in the backing LUN when deduplication is possible by performing deduplication.
3 Assignments
0 Petitions
Accused Products
Abstract
A method of managing a memory system is described, the memory system having a processor with a client interface, a buffer memory, and a storage memory. A LUN (logical unit) is exposed to the client, the LUN having a memory size, and QoS specification. When the processor receives a command from the client to write data to the LUN, determining if the QoS specification includes deduplication and: if the QoS does not include deduplication, processing the command by storing the data in the storage memory and creating metadata uniquely referencing a storage location of the data that is written; or if the QoS includes deduplication, determine if deduplication is possible while meeting a latency value as specified in the QoS specification and performing deduplication.
-
Citations
22 Claims
-
1. A method of managing a memory system, comprising:
-
providing a memory system with a processor having a client interface, a buffer memory, and a storage memory; allocating a logical unit (LUN) of a plurality of LUNs to the client, the allocated LUN having a memory size, and a QoS specification; receiving a command to write data to the allocated LUN; determining if the QoS specification for the allocated LUN includes deduplication and; if the QoS specification does not include deduplication, process the command by storing the data in the storage memory and creating metadata uniquely referencing a storage location of the data that is written to the storage memory;
orif the QoS specification includes deduplication, determine if deduplication is possible while meeting the QoS specification and; if deduplication is possible, performing deduplication of the data and creating metadata referencing the storage location where the deduplicated data is stored;
or,if deduplication is not possible, storing the data in a backing LUN associated with the allocated LUN, and draining the data stored in the backing LUN when deduplication is possible by performing deduplication. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus for managing a memory system, comprising:
-
storage memory; and a processor configured to; allocate a logical unit (LUN) to a client; receive a command to write data to the allocated LUN; determine if a quality of service (QoS) specification for the allocated LUN includes deduplication; if the QoS specification does not include deduplication, process the command by storing the data in the storage memory and creating metadata referencing a storage location of the data in the storage memory; and if the QoS specification includes deduplication, deduplicating the data and creating metadata referencing the storage location where the deduplicated data is stored. - View Dependent Claims (21, 22)
-
Specification