Failure mode-sensitive layered redundancy coding techniques
First Claim
Patent Images
1. A computer-implemented method, comprising:
- analyzing one or more failure characteristics of one or more data storage layers, the data storage layers each comprising one or more data storage devices of a computer system;
determining, based on the analyzed failure characteristics, one or more parameters for a redundancy code to be applied to archives intended to be stored on the one or more data storage layers;
configuring the redundancy code with the one or more parameters;
processing the archives with the configured redundancy code so as to;
generate a plurality of shards, an identity subset of which includes identity shards that contain original data of the archives; and
group the shards according to the one or more parameters into one or more groups of shards that are each configured for the failure characteristics of a respective data storage layer of the one or more data storage layers on which a respective group is to be stored; and
storing each group of the one or more groups of shards on the respective data storage layer such that the one or more failure characteristics of the respective data storage layer are reduced for the archives represented by the plurality of shards relative to other data stored on the respective data storage layer.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques and methods for generating and implementing multiple layers of redundancy coded data are disclosed. For example, a redundancy coding scheme may include data elements that include data that is unencoded relative to the input, yet may still fully participate in providing redundancy to any data element in a given set. In a layered scheme, the input may include a bundle or group of encoded (or unencoded) data elements, thereby nesting two or more layers of redundancy coding. The specific amount of redundancy generated by such a scheme may be adjusted and adapted to failure characteristics of the entity on which the data elements are stored.
189 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
analyzing one or more failure characteristics of one or more data storage layers, the data storage layers each comprising one or more data storage devices of a computer system; determining, based on the analyzed failure characteristics, one or more parameters for a redundancy code to be applied to archives intended to be stored on the one or more data storage layers; configuring the redundancy code with the one or more parameters; processing the archives with the configured redundancy code so as to; generate a plurality of shards, an identity subset of which includes identity shards that contain original data of the archives; and group the shards according to the one or more parameters into one or more groups of shards that are each configured for the failure characteristics of a respective data storage layer of the one or more data storage layers on which a respective group is to be stored; and storing each group of the one or more groups of shards on the respective data storage layer such that the one or more failure characteristics of the respective data storage layer are reduced for the archives represented by the plurality of shards relative to other data stored on the respective data storage layer. - 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; determine, based on failure characteristics of a data storage layer, the data storage layer comprising one or more data storage devices of the system, a redundancy level for a group of redundancy coded shards stored on the data storage layer; configure the group with the determined redundancy level by at least applying a redundancy code to a subset of the shards in the group; store the group on the data storage layer such that the failure characteristics of the data storage layer are reduced, relative to other data outside of the group, for data represented by the group; and in response to receiving information that a quantity of shards in the group is unavailable, regenerate the unavailable shards using a remainder of shards in the group. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of execution by one or more processors of a computer system, cause the computer system to at least:
-
analyze failure characteristics of data storage layers associated with the computer system, the data storage layers each comprising one or more data storage devices of the computer system; determine redundancy levels for the data storage layers based on the analyzed failure characteristics; process groups of redundancy coded shards associated with the data storage layers to configure the groups to conform with the determined redundancy levels; store the groups on the respective data storage layers such that the failure characteristics of the respective data storage layers are reduced for data represented by the at least one of the groups relative to other data represented outside of the at least one of the groups; and in response to receiving information that shards in the groups are unavailable, regenerate the unavailable shards using a remainder of shards in a respective group. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification