Device type differentiation for redundancy coded data storage systems
First Claim
Patent Images
1. A computer-implemented method, comprising:
- receiving a plurality of archives associated with a plurality of volumes for storage on a plurality of storage devices;
generating a set of shards representing the plurality of volumes, a minimum quorum quantity of the shards in the set being usable, by a redundancy code, to generate original data of the archives, the set of shards including at least;
identity shards that contain the original data of the plurality of archives; and
encoded shards representing an encoded form of the original data; and
storing the set of shards on the plurality of storage devices such that the identity shards are stored on a subset of the plurality of storage devices having a different performance capability than that of a remainder of the plurality of storage devices; and
in response to receiving a request for an archive among the stored plurality of archives, at least;
determining a volume of the plurality of volumes associated with the archive;
determining an identity shard associated with the archive and the volume; and
retrieving the archive using the determined identity shard, a corresponding storage device of the subset of the plurality of storage devices, and the different performance capability.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques described and suggested herein include systems and methods for optimizing performance characteristics by differentiating data storage device types for data archives stored on data storage systems using redundancy coding techniques. For example, redundancy coded shards, which may include identity shards that contain unencoded original data of archives, may be stored on different types of data storage devices to optimize for various retrieval use cases and implemented environments. Implementing systems may monitor various performance characteristics so as to adaptively account for changes to some or all of the monitored parameters.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
receiving a plurality of archives associated with a plurality of volumes for storage on a plurality of storage devices; generating a set of shards representing the plurality of volumes, a minimum quorum quantity of the shards in the set being usable, by a redundancy code, to generate original data of the archives, the set of shards including at least; identity shards that contain the original data of the plurality of archives; and encoded shards representing an encoded form of the original data; and storing the set of shards on the plurality of storage devices such that the identity shards are stored on a subset of the plurality of storage devices having a different performance capability than that of a remainder of the plurality of storage devices; and in response to receiving a request for an archive among the stored plurality of archives, at least; determining a volume of the plurality of volumes associated with the archive; determining an identity shard associated with the archive and the volume; and retrieving the archive using the determined identity shard, a corresponding storage device of the subset of the plurality of storage devices, and the different performance capability. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
at least one computing device that implements one or more services, wherein the one or more services at least; process a plurality of archives to generate a set of shards, a minimum quorum quantity of the shards in the set being usable, by a redundancy code, to generate original data of the archives, the set of shards including at least some identity shards that contain the original data of the plurality of archives; store the set of shards on a plurality of storage devices associated with the system, a subset of the plurality of storage devices having a different performance capability than at least one other storage device of the plurality of storage device; and in response to receiving a request for an archive of the plurality of archives, at least; determine a storage device of the subset of the plurality of storage devices associated with an identity shard corresponding to the archive; and retrieve, using the storage device, the identity shard, and the different performance capability, the requested archive. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, upon execution by one or more processors of a computer system, cause the computer system to at least:
-
generate, from archives received by the computer system, a set of shards, a minimum quorum quantity of the shards in the set being usable, by a redundancy code, to generate original data of the archives, the set of shards including at least some identity shards that contain the original data of the archives; store the identity shards on a first set of storage devices having a differing performance capability than a second set of storage devices; store a remainder of the set of shards on the second set of storage devices; and in response to receiving a request for retrieving an archive of the archives; determine a storage device of the first set of storage devices that stores a subset of the identity shards associated with the archive; and retrieve, using the storage device, the subset of the identity shards, and the differing performance capability, the archive. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification