Overlay methods for fast and deterministic RAID relocation supporting disk array growth
AssigneeDell Products L.P.
InventorKuolin Hua
Life of this patent
Estimating the term…
Abstract
An initial drive cluster of G drives with G subdivisions is represented by a G*G drive matrix, where G equals the number of data and parity members in the RAID level implemented on the drive cluster. A corresponding G×G overlay matrix is created in which a value at row R, column C equals a remainder of (R+C−2) divided by G, such that there are G distinct values in a range of 0 to G−1. Responsive to addition of N new drives to the drive cluster, the N new drives are added to the drive matrix and the overlay matrix is used to select and relocate RAID members within the drive matrix so that new RAID groups can be created.
Claims20
An apparatus, comprising:
- a plurality of non-volatile drives;
- 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 Redundant Array of Independent Drives (RAID) controller configured to:
- organize the non-volatile drives into drive clusters, each having G non-volatile drives with G subdivisions, where G equals a number of data members and parity members of an implemented RAID level;
- create a G*G drive matrix for each of the drive clusters, the drive matrix representing the corresponding drive cluster;
- create a G×G overlay matrix in which a value at row R, column C equals a remainder of (R+C−2) divided by G, such that there are G distinct values in a range of 0 to G−1;
- and
- responsive to addition of N new drives to one of the drive clusters, add the N new drives to the corresponding drive matrix and use the overlay matrix to relocate RAID members within the drive matrix.
A method comprising:
- organizing non-volatile drives into drive clusters, each having G non-volatile drives with G subdivisions, where G equals a number of data members and parity members of an implemented RAID level;
- creating a G*G drive matrix for each of the drive clusters, the drive matrix representing the corresponding drive cluster;
- creating a G×G overlay matrix in which a value at row R, column C equals a remainder of (R+C−2) divided by G, such that there are G distinct values in a range of 0 to G−1;
- and
- responsive to addition of N new drives to one of the drive clusters, adding the N new drives to the corresponding drive matrix and using the overlay matrix to relocate RAID members within the drive matrix.
A non-transitory computer-readable storage medium with instructions that when executed by a computer perform a method comprising:
- organizing non-volatile drives into drive clusters, each having G non-volatile drives with G subdivisions, where G equals a number of data members and parity members of an implemented RAID level;
- creating a G*G drive matrix for each of the drive clusters, the drive matrix representing the corresponding drive cluster;
- creating a G×G overlay matrix in which a value at row R, column C equals a remainder of (R+C−2) divided by G, such that there are G distinct values in a range of 0 to G−1;
- and
- responsive to addition of N new drives to one of the drive clusters, adding the N new drives to the corresponding drive matrix and using the overlay matrix to relocate RAID members within the drive matrix.
Dependencies are inferred from the claim text.