IP Library Granted Patent US 11,256,428
Granted Patent B2
US 11,256,428 · App. 16/508,762 · Granted Feb 22, 2022

Scaling raid-based storage by redistributing splits

Inventors: Kuolin Hua (Natick, MA); Kunxiu Gao (Boxborough, MA); Evgeny Malkevich (Newton, MA)
Assignee: Dell Products L.P.
G06F3/0632G06F3/0607G06F3/0644G06F3/0659G06F3/0689
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,256,428
App. No.
16/508,762
Granted
Feb 22, 2022
Kind
B2
Abstract

Each drive in a cluster is organized into splits of a single size. The splits are used as protection group members for a selected RAID level. Individual clusters can be scaled up with a number of new drives that is less than the number of protection group members for the RAID level by redistributing some data/parity to splits of the new drives. Splits are selected for redistribution such that new protection groups are created. If the number of new drives is equal to or greater than the number of protection group members for the RAID level, then new clusters may be created using the new drives. Any remaining drives are used to scale-up individual clusters.

Claims (36)

1. An apparatus, comprising:

at least one computing node comprising a processor and non-transitory memory;

clusters of drives that are managed by the at least one computing node; and

computer program code on the non-transitory memory, executed by the processor, comprising:

instructions that organize each of the drives into a plurality of splits, wherein each split is a fixed-size amount of storage capacity, and all splits have equal storage capacity;

instructions that implement a selected RAID (Redundant Array of Independent Drives) level using a first number of the splits as RAID protection group members, where the first number indicates how many members are in each protection group of the RAID level;

instructions that scale RAID storage capacity in response to addition of a second number of new drives, comprising:

instructions that create one or more new clusters, each of the new clusters comprising the first number of the new drives, leaving a third number of remaining new drives, where the third number is less than the first number;

instructions that add the remaining new drives to a selected cluster, comprising:

instructions that select splits of drives of the selected cluster and redistribute the selected splits to the remaining new drives added to the selected cluster; and

instructions that create at least one new protection group in the selected cluster using at least some splits freed by redistribution of the selected splits to the remaining new drives added to the selected cluster.

2. The apparatus of claim 1 wherein the instructions that scale RAID storage capacity create a maximum possible number of new clusters from the second number of new drives.

3. The apparatus of claim 2 wherein the instructions that add the remaining new drives to the selected cluster add only drives remaining from drives allocated for creation of the maximum possible number of new clusters from the second number of new drives.

4. The apparatus of claim 1 wherein the instructions that add the remaining the new drives to the selected cluster operate to select the cluster to minimizes differences in numbers of drives between clusters.

5. The apparatus of claim 1 wherein the instructions that add fewer than the first number of the new drives to the selected cluster add a single new drive to the selected cluster.

6. The apparatus of claim 1 wherein the selected cluster initially includes conceptual matrices with an upper-left triangle and a lower-right triangle, and after m new drives are added to the selected cluster and splits from the lower-right triangle are redistributed to the m new drives, space is created for m new protection groups in a diagonal conceptual matrix.

7. A method, comprising:

organizing individual storage drives into a plurality of splits, wherein each split is a fixed-size amount of storage capacity and all splits have equal storage capacity;

implementing a selected RAID (Redundant Array of Independent Drives) level using a first number of the splits as RAID protection group members, where the first number indicates how many members are in each protection group of the RAID level;

scaling RAID storage capacity in response to addition of a second number of new drives, comprising:

creating one or more new clusters, each of the new clusters comprising the first number of the new drives, leaving a third number of remaining new drives, where the third number is less than the first number;

adding the remaining new drives to a selected cluster of drives;

selecting splits of drives of the selected cluster and redistributing the selected splits to the remaining new drives added to the selected cluster; and

creating at least one new protection group in the selected cluster using at least some splits freed by redistribution of the selected splits to the remaining new drives added to the selected cluster.

8. The method of claim 7 comprising creating a maximum possible number of new clusters from the second number of new drives.

9. The method of claim 8 comprising adding to the selected cluster only drives remaining from the second number of new drives minus the new drives allocated for creating the maximum possible number of new clusters from the second number of new drives.

10. The method of claim 7 comprising selecting the cluster to minimizes differences in numbers of drives between clusters.

11. The method of claim 7 comprising adding a single new drive to the selected cluster.

12. The apparatus of claim 7 wherein the selected cluster initially includes conceptual matrices with an upper-left triangle and a lower-right triangle and, after m new drives are added to the selected cluster, redistributing splits from the lower-right triangle to the m new drives to create space for m new protection groups in a diagonal conceptual matrix.

13. A scalable storage array, comprising:

clusters of drives that are each organized into a plurality of splits, wherein each split is a fixed-size amount of storage capacity and all splits have equal storage capacity, a selected RAID (Redundant Array of Independent Drives) level using a first number of the splits as RAID protection group members, where the first number indicates how many members are in each protection group of the RAID level; and

at least one computing node that scales RAID storage capacity in response to addition of a second number of new drives by creating one or more new clusters, each of the new clusters comprising the first number of the new drives, leaving a third number of remaining new drives, where the third number is less than the first number; adding the remaining new drives to a selected cluster of drives; selecting splits of drives of the selected cluster and redistributing the selected splits to the remaining new drives added to the selected cluster, and creating at least one new protection group in the selected cluster using at least some splits freed by redistribution of the selected splits to the remaining the new drives added to the selected cluster.

14. The scalable storage array of claim 13 wherein the at least one computing node creates a maximum possible number of new clusters from the second number of new drives.

15. The scalable storage array of claim 14 wherein the at least one computing node adds only drives remaining from drives allocated for creation of the maximum possible number of new clusters from the second number of new drives.

16. The scalable storage array of claim 13 wherein the at least one computing node selects the cluster to minimizes differences in numbers of drives between clusters.

17. The scalable storage array of claim 13 wherein the at least one computing node adds a single new drive to the selected cluster.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2019
From: HUA, KUOLIN; GAO, KUNXIU; MALKEVICH, EVGENY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049727/0042 →