Optimized inline deduplication
AssigneePure Storage, Inc.
InventorsJohn Colgrove, John Hayes, Ethan Miller, Feng Wang
Life of this patent
Estimating the term…
Abstract
Methods, computer systems, and computer readable medium are described. In a particular embodiment, a storage controller is configured to receive, from a host computing device, a request to perform a bulk array task and in response to receiving the request, store an indication relating old keys of a mapping table to new keys, wherein both the old keys and the new keys correspond to the request. The storage controller is also configured to convey a response indicating completing of the request without prior access of user data and update the mapping table to replace the old keys with the new keys.
Claims17
A method comprising:
- receiving a request to write data to a storage system;
- generating, based on the request, a hash value associated with the request to write data;
- based upon a determination that a sub-portion of a deduplication data structure is cached, determining whether the generated hash value matches an entry in the cached sub-portion of the deduplication data structure, wherein the deduplication data structure also includes a non-cached sub-portion that is not searched;
- and
- responsive to determining that the generated hash value matches an entry in the deduplication data structure, discarding the data and updating the entry in the deduplication data structure.
A computing system comprising:
- a storage controller coupled to at least one storage device, wherein the storage controller is configured for:
- receiving a request to write data to a storage system;
- generating, based on the request, a hash value associated with the request to write data;
- based upon a determination that a sub-portion of the deduplication data structure is cached, determining whether the generated hash value matches an entry in the cached sub-portion of the deduplication data structure, wherein the deduplication data structure also includes a non-cached sub-portion that is not searched;
- and
- responsive to determining that the generated hash value matches an entry in the deduplication data structure, discarding the data and updating the entry in the deduplication data structure.
A computer readable storage medium that is non-transitory storing program instruction executable by a processor for:
- receiving a request to write data to a storage system;
- generating, based on the request, a hash value associated with the request to write data;
- based upon a determination that a sub-portion of the deduplication data structure is cached, determining whether the generated hash value matches an entry in the cached sub-portion of the deduplication data structure, wherein the deduplication data structure also includes a non-cached sub-portion that is not searched;
- and
- responsive to determining that the generated hash value matches an entry in the deduplication data structure, discarding the data and updating the entry in the deduplication data structure.
Dependencies are inferred from the claim text.