Layered redundancy coding for encoded parity data
First Claim
Patent Images
1. A computer-implemented method, comprising:
- processing archives to be stored on a set of volumes by at least;
applying a first redundancy code to the archives to generate a plurality of shards, a first subset of which include original data of the archives, a second subset of which include encoded shards, such that at least a predetermined first quorum quantity of the plurality of shards is usable to regenerate any shard of the plurality of shards; and
layering the plurality of shards into a plurality of groups such that a first group of the plurality of groups includes the first subset of shards, and a second group of the plurality of groups includes the second subset of shards;
processing the second group with a second redundancy code so as to generate a third group including the second group and parity shards for the encoded shards in the second group, the parity shards being usable for regenerating any shards in the first group and the second group; and
storing the third group on a computer system so as to enable the computer system to regenerate any stored shard of the second group using only shards in the third group, if a quantity of shards in the third group available for access by the computer system is equal to or greater than a predetermined second quorum quantity for the third group.
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.
190 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
processing archives to be stored on a set of volumes by at least; applying a first redundancy code to the archives to generate a plurality of shards, a first subset of which include original data of the archives, a second subset of which include encoded shards, such that at least a predetermined first quorum quantity of the plurality of shards is usable to regenerate any shard of the plurality of shards; and layering the plurality of shards into a plurality of groups such that a first group of the plurality of groups includes the first subset of shards, and a second group of the plurality of groups includes the second subset of shards; processing the second group with a second redundancy code so as to generate a third group including the second group and parity shards for the encoded shards in the second group, the parity shards being usable for regenerating any shards in the first group and the second group; and storing the third group on a computer system so as to enable the computer system to regenerate any stored shard of the second group using only shards in the third group, if a quantity of shards in the third group available for access by the computer system is equal to or greater than a predetermined second quorum quantity for the third group. - View Dependent Claims (2, 3, 4)
-
-
5. A system, comprising:
memory storing instructions that, as a result of being executed by one or more processors of the system, cause the system to; apply a redundancy code to archives to generate a plurality of shards, a first subset of which includes original data of the archives, a second subset of which include encoded shards; group the plurality of shards such that a first encoded group includes only shards from the second subset; process the first encoded group to generate a second encoded group including the first encoded group and additional encoded shards based at least in part on the first encoded group; and store the second encoded group so as to enable the at least one computing device to regenerate any shard of the first encoded group using only shards in the second encoded 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:
-
process archives to generate, using a redundancy code, a plurality of shards, a first subset of which includes original data of the archives, a second subset of which include encoded shards; apportion the plurality of shards into a plurality of groups, including at least a first encoded group that includes only shards from the second subset; generate a second encoded group including the first encoded group and additional encoded shards by applying a second redundancy code to the first encoded group; and store the second encoded group so as to enable the computer system to regenerate any shard of the first encoded group using only shards in the second encoded group. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification