×

Local erasure codes for data storage

  • US 9,600,365 B2
  • Filed: 04/16/2013
  • Issued: 03/21/2017
  • Est. Priority Date: 04/16/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising:

  • arranging a set of data symbols into a plurality of data groups so that each data group in the plurality of data groups includes a subset of the set of data symbols;

    for each data group in the plurality of data groups;

    generating a group parity symbol based on the subset of the set of data symbols included in the data group; and

    including the group parity symbol in the data group;

    storing the plurality of data groups across a first set of machines;

    generating at least two global parity symbols, wherein each of the at least two global parity symbols is generated based on all the data symbols in the set of data symbols;

    including the at least two global parity symbols in a global parity group;

    storing the global parity group across a second set of machines that is different than the first set of machines; and

    recovering from failures, wherein the failures comprise;

    up to a first failure associated with any one symbol included in each data group of the plurality of data groups;

    up to a number of additional failures associated with additional symbols of the plurality of data groups and the at least two global parity symbols in the global parity group, wherein the number of additional failures is up to a number of the at least two global parity symbols; and

    wherein generating the at least two global parity symbols comprises solving b equations with P=0, b−

    1, wherein the b equations comprise;

    setting a first sum plus a second sum equal to zero, wherein;

    the first sum comprises a sum from j=1 to g of;

    a sum from i=1 to r of;

    a product of ω

    i and λ

    j, raised to a power of 2p, and multiplied by Xi,j;

    andthe second sum comprises a sum from i=1 to b of;

    a product of ω

    i and λ

    g+1, raised to a power of 2p, and multiplied by Yi,wherein Xi,j is a data symbol, Yi is a global parity symbol, g is a number of the plurality of data groups, r is a number of data symbols per data group, b is the number of global parity symbols, {λ

    1, . . . , Δ

    g+1} is a collection of elements such that any b of them are linearly independent in a particular field, and co is a primitive element of the particular field.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×