US 12,135,881 B2
Disk array load balancing via interchangeable spare and data allocation
Kuolin Hua, Natick, MA (US); Kunxiu Gao, Boxborough, MA (US); and Malak Alshawabkeh, Franklin, MA (US)
Assigned to Dell Products L.P., Hopkinton, MA (US)
Filed by Dell Products L.P., Hopkinton, MA (US)
Filed on Dec. 19, 2022, as Appl. No. 18/067,855.
Prior Publication US 2024/0201862 A1, Jun. 20, 2024
Int. Cl. G06F 3/00 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/0614 (2013.01) [G06F 3/0629 (2013.01); G06F 3/0689 (2013.01)] 20 Claims
OG exemplary drawing
 
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.