Throughput-sensitive redundancy encoding schemes for data storage
First Claim
1. A computer-implemented method for optimizing data storage, comprising:
- under the control of one or more computer systems configured with executable instructions,receiving information that includes at least;
a transaction rate requirement for data stored on a storage system;
a durability requirement for the data, the durability requirement including at least a maximum level of data loss per unit of time; and
one or more operational characteristics of the storage system;
determining, based at least in part on the transaction rate requirement, the durability requirement, and the one or more operational characteristics, an erasure coding scheme to be applied to the data;
at a time after the erasure coding scheme is determined, modifying the erasure coding scheme applied to the data in response to a change in at least one of the transaction rate requirement, the durability requirement, or the one or more operational characteristics; and
applying the modified erasure coding scheme to the data.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for optimizing data storage are disclosed herein. In particular, methods and systems for implementing redundancy encoding schemes with data storage systems are described. The redundancy encoding schemes may be scheduled according to system and data characteristics. The schemes may span multiple tiers or layers of a storage system. The schemes may be generated, for example, in accordance with a transaction rate requirement, a data durability requirement or in the context of the age of the stored data. The schemes may be designed to rectify entropy-related effects upon data storage. The schemes may include one or more erasure codes or erasure coding schemes. Additionally, methods and systems for improving and/or accounting for failure correlation of various components of the storage system, including that of storage devices such as hard disk drives, are described.
-
Citations
23 Claims
-
1. A computer-implemented method for optimizing data storage, comprising:
under the control of one or more computer systems configured with executable instructions, receiving information that includes at least; a transaction rate requirement for data stored on a storage system; a durability requirement for the data, the durability requirement including at least a maximum level of data loss per unit of time; and one or more operational characteristics of the storage system; determining, based at least in part on the transaction rate requirement, the durability requirement, and the one or more operational characteristics, an erasure coding scheme to be applied to the data; at a time after the erasure coding scheme is determined, modifying the erasure coding scheme applied to the data in response to a change in at least one of the transaction rate requirement, the durability requirement, or the one or more operational characteristics; and applying the modified erasure coding scheme to the data. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer-implemented method for optimizing data storage, comprising:
under the control of one or more computer systems configured with executable instructions, receiving information about one or more access-related characteristics required for data stored on a storage system; determining, based at least in part on the received information, a redundancy coding scheme to be applied to the data; and at a time after the redundancy encoding scheme is determined, modifying the redundancy encoding scheme to be applied to the data in response to receiving information regarding a change of at least one of the access-related characteristics. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. A data storage management system, comprising:
-
one or more processors; and memory, including instructions executable by the one or more processors to cause the computer system to at least; detect changes to one or more access-related requirements for data stored according to an error correction encoding scheme; and at a time after detecting a change to at least a subset of the one or more access-related requirements, modifying the error correction encoding such that the stored data conforms with the changed access-related requirements. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computing resource provider'"'"'s computer system, cause the computer system to at least:
-
causing an error correction scheme that satisfies one or more storage requirements relating to be applied to data stored upon the media, wherein the one or more storage requirements are requirements of the computing resource provider; and in response to information that at least one storage requirement has changed; updating the error correction scheme to satisfy the changed storage requirement; and causing the updated error correction scheme to be applied to the stored data. - View Dependent Claims (20, 21, 22, 23)
-
Specification