×

Non-parity in grid encoded data storage systems

  • US 9,998,539 B1
  • Filed: 07/01/2015
  • Issued: 06/12/2018
  • Est. Priority Date: 07/01/2015
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising:

  • generating a grid of shards, the grid of shards indexed by row and column, the grid of shards comprising a set of data shards and a set of derived shards, the set of derived shards comprising a set of horizontally-derived shards and a set of vertically-derived shards, wherein each shard of the grid of shards has a corresponding datacenter location, a corresponding row, and corresponding column and is configured such that;

    the shard is reproducible from other shards associated with the row and reproducible from other shards associated with the column;

    if the shard is a horizontally-derived shard of the set of horizontally-derived shards, the shard is derived based at least in part on a set of data shards having a same corresponding row as the horizontally-derived shard using a first linear redundancy code;

    if the shard is a vertically-derived shard of the set of vertically-derived shards, the shard is derived based at least in part on a set of shards having a same corresponding column as the vertically-derived shard using a second linear redundancy code and the shard is derived based at least in part a set of vertically-derived shards having the same corresponding row as the vertically-derived shard using the first redundancy code;

    each row of the grid of shards with one or more data shards includes a first number of horizontally-derived shards, the first number being at least two and a subset of the set of data shards with a second number of data shards, the second number being at least twice the first number; and

    each row of the grid of shards with less than one data shard includes a subset of the set of vertically-derived shards with a third number of vertically-derived shards, the third number being equal to the first number plus the second number;

    receiving a request to repair the grid of shards; and

    as a result of receiving the request, at least;

    selecting a set of shards to repair based at least in part on the request; and

    repairing a shard of the set of shards to repair by at least;

    selecting a first set of shards of the grid of shards, each shard of the first set of shards selected based at least in part on the row and column of the shard of the set of shards to repair; and

    reproducing the shard of the set of shards to repair from a subset of the set of selected shards based at least in part on a first redundancy code and a second redundancy code.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×