Storage system deduplication
First Claim
1. A storage system comprising:
- storage media;
processing circuitry; and
non-transitory machine-readable media storing machine-readable instructions that, when executed by the processing circuitry, cause the processing circuitry to;
establish virtual volumes, private data stores, and a deduplication data store, each being a virtual storage space of the storage media, wherein each of the private data stores is associated with one of the virtual volumes and the deduplication data store is shared among the virtual volumes;
in response to receiving input data that is to be stored in a given virtual volume of the virtual volumes, determine a signature for the input data and;
if a metadata storage location addressed by a first portion of the signature includes valid metadata, select where to store the input data based on;
whether the metadata includes a back-pointer to one of the virtual volumes, andwhether a second portion of the signature matches a key included in the metadata; and
if the metadata storage location does not include valid metadata,store the second portion of the signature and a back-pointer to the given virtual volume in the metadata storage location, andstore the input data in the private data store associated with the given virtual volume.
1 Assignment
0 Petitions
Accused Products
Abstract
An example storage system may include storage media and a storage controller. The storage controller may be to establish virtual volumes, private data stores, and a deduplication data store, each being a virtual storage space of the storage media, wherein each of the private data stores is associated with one of the virtual volumes and the deduplication data store is shared among the virtual volumes. The storage controller may, in response to receiving input data that is to be stored in a given one of the virtual volumes, determine a signature for the input data and select between storing the input data in the private data store associated with the given one of the virtual volumes and storing the input data in the deduplication data store. The storage controller may select where to store the input data based on whether a metadata storage location addressed by a first portion of the signature includes valid metadata, and, if so: whether the metadata includes a back-pointer to one of the virtual volumes, and whether a second portion of the signature matches a key included in the metadata.
-
Citations
18 Claims
-
1. A storage system comprising:
-
storage media; processing circuitry; and non-transitory machine-readable media storing machine-readable instructions that, when executed by the processing circuitry, cause the processing circuitry to; establish virtual volumes, private data stores, and a deduplication data store, each being a virtual storage space of the storage media, wherein each of the private data stores is associated with one of the virtual volumes and the deduplication data store is shared among the virtual volumes; in response to receiving input data that is to be stored in a given virtual volume of the virtual volumes, determine a signature for the input data and; if a metadata storage location addressed by a first portion of the signature includes valid metadata, select where to store the input data based on; whether the metadata includes a back-pointer to one of the virtual volumes, and whether a second portion of the signature matches a key included in the metadata; and if the metadata storage location does not include valid metadata, store the second portion of the signature and a back-pointer to the given virtual volume in the metadata storage location, and store the input data in the private data store associated with the given virtual volume. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. Non-transitory machine-readable media storing machine-readable instructions that, when executed by processing circuitry of a storage system, cause the processing circuitry to:
-
establish virtual volumes, private data stores, and a deduplication data store, each being a virtual storage space of storage media of the storage system, wherein each of the private data stores is associated with one of the virtual volumes and the deduplication data store is shared among the virtual volumes; and for input data that is to be stored in one of the virtual volumes; determine a signature for the input data; read a metadata storage location that is addressed by a first portion of the signature; when the metadata storage location does not include valid metadata, store a second portion of the signature and a back-pointer to the virtual volume in the metadata storage location and store the input data in the private data store associated with the virtual volume; and when the entry includes valid metadata, determine whether to store the input data in the private data store associated with the virtual volume or in the deduplication data store based on;
whether the metadata includes a back-pointer to one of the virtual volumes, and whether a second portion of the signature matches a key included in the metadata. - View Dependent Claims (9, 10, 11, 12, 13, 15)
-
-
14. A method of controlling a storage system comprising virtual volumes, private data stores associated respectively with the virtual volumes, and a deduplication data store shared among the virtual volumes, the method comprising:
-
determining a signature for input data that is to be written to one of the virtual volumes by applying a hash function to a first portion of the input data to obtain a first hash and applying the hash function to a second portion of the input data to obtain a second hash wherein the signature comprises the combination of the first hash and the second hash; determining whether to store the input data in the private data store associated with the virtual volume or in the deduplication data store based on; whether a metadata storage location addressed by a first portion of the signature includes valid metadata, and, when so; whether the metadata includes a back-pointer to one of the virtual volumes, and whether a second portion of the signature matches a key included in the metadata; and storing the input data in the private data store associated with the virtual volume or in the deduplication data store. - View Dependent Claims (16, 17, 18)
-
Specification