×

Incremental media size extension for grid encoded data storage systems

  • US 9,904,589 B1
  • Filed: 07/01/2015
  • Issued: 02/27/2018
  • Est. Priority Date: 07/01/2015
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising:

  • under the control of one or more computer systems configured with executable instructions,generating a grid of shards, the grid of shards forming a partitioned data set, the grid of shards being 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;

    the partitioned data set includes one or more shards containing one or more portions of the data set and one or more shards generated by applying an erasure code to the one or more shards containing the one or more portions of the data set;

    each shard of the grid of shards has 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 associated with the row; and

    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 associated with the column;

    each shard of the grid of shards having a corresponding first data size; and

    each shard of the grid of shards has a corresponding storage device of a set of storage devices that stores the shard, each storage device of the set of storage devices having a first storage capacity sufficient for a maximum corresponding first data size of the grid of shards;

    determining a second data size for the shards of the grid of shards;

    padding each shard of the grid of shards with a corresponding number of zero values, the corresponding number of zero values determined based at least in part on subtracting the corresponding first data size from the second data size;

    replacing a first storage device of the set of storage devices that stores a first data shard of the grid of shards with a first replacement storage device that stores the first data shard, the first replacement storage device having a second storage capacity sufficient for the second data size, the first data shard having a corresponding first row and first column;

    replacing a first subset of the set of storage devices with a first set of replacement storage devices having a storage capacity sufficient for the second data size, each replacement storage device of the first set of replacement storage devices configured to store a corresponding derived shard of a first set of derived shards associated with the first row, the first set of derived shards associated with the first row having a shard that is associated with a second column;

    replacing a second subset of the set of storage devices with a second set of replacement storage devices having a storage capacity sufficient for the second data size, each replacement storage device of the second set of replacement storage devices configured to store a corresponding derived shard of a second set of derived shards associated with the first column; and

    replacing a third subset of the set of storage devices with a third set of replacement storage devices having a storage capacity sufficient for the second data size, each replacement storage device of the third set of replacement storage devices configured to store a corresponding derived shard of a third set of derived shards associated with the second column.

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