CPC G06F 3/0614 (2013.01) [G06F 3/0629 (2013.01); G06F 3/0689 (2013.01)] | 20 Claims |
1. An apparatus, comprising:
a plurality of non-volatile drives on which Erasure Coding (EC) or Redundant Array of Independent Disks (RAID) protection groups of a selected type are implemented, each protection group having G members;
at least one compute node configured to manage access of the non-volatile drives, the at least one compute node comprising at least one processor and non-transitory computer-readable memory; and
a load balancing controller configured to:
organize the drives into clusters of multiples of G+1 drives with G same-size indexed subdivisions able to be represented as a set of matrices having rows and columns that represent subdivision indices and drive indices;
in each of the clusters, create G+1 groupings, including G groupings distributed over G drives in single subdivision indices and one grouping distributed diagonally over multiple subdivision indices as represented in the matrices;
reserve a single grouping in at least one of the clusters as a spare grouping of spare capacity; and
locate ones of the protection groups in ones of the groupings that are not the spare grouping.
|