IP Library Granted Patent US 11,556,270
Granted Patent B2
US 11,556,270 · App. 17/143,339 · Granted Jan 17, 2023

Leveraging garbage collection for raid transformation

Inventors: Shuyu Lee (Acton, MA); Vamsi K. Vankamamidi (Hopkinton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0652G06F3/0608G06F3/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,556,270
App. No.
17/143,339
Granted
Jan 17, 2023
Kind
B2
Abstract

A technique performs Redundant Array of Independent Disks (RAID) transformation. The technique involves performing a garbage collection operation on a first uber within a storage array, the garbage collection operation freeing a set of disk slices of the first uber. The technique further involves, upon completing the garbage collection operation, reallocating storage of the set of disk slices from the first uber to a second uber within the storage array. The technique further involves, after the storage of the set of disk slices is reallocated from the first uber to the second uber, storing data within the second uber. Such leveraging of garbage collection when performing RAID transformation reduces overhead and wear without not negatively affecting system performance.

Claims (57)

1. A method of performing Redundant Array of Independent Disks (RAID) transformation, the method comprising:

receiving a RAID transformation command sent by an administrator;

performing a garbage collection operation on a first uber within a storage array in response to the RAID transformation command, the garbage collection operation freeing a set of device slices of the first uber;

upon completing the garbage collection operation, reallocating storage of the set of device slices from the first uber to a second uber within the storage array; and

after the storage of the set of device slices is reallocated from the first uber to the second uber, storing data within the second uber;

wherein the RAID transformation command (i) identifies multiple ubers including the first uber, and (ii) directs the storage array to perform the garbage collection operation as part of a RAID transformation processing on all of the identified multiple ubers; and

wherein performing the garbage collection operation on the first uber includes garbage collecting data from the first uber independently of how many sections of invalid data currently exist in the first uber.

2. A method as in claim 1 wherein performing the garbage collection operation includes:

garbage collecting the first uber entirely to free all disk slices of the first uber.

3. A method as in claim 2 wherein reallocating the storage of the set of disk slices from the first uber to the second uber includes:

unmapping the first uber to deconstruct the first uber.

4. A method as in claim 3 wherein reallocating the storage of the set of disk slices from the first uber to the second uber further includes:

after the first uber is unmapped, creating the second uber from the storage of the set of disk slices from the first uber.

5. A method as in claim 4 wherein creating the second uber includes:

mapping a new set of disk slices to construct the second uber, the new set of disk slices reusing at least some of the storage of the set of disk slices from the first uber.

6. A method as in claim 5 wherein the first uber and the second uber implement a same RAID configuration.

7. A method as in claim 5 wherein the first uber implements a first RAID width; and

wherein the second uber implements a second RAID width that is different from the first RAID width.

8. A method as in claim 5 wherein the first uber and the second uber have a same number of disk slices storing parity.

9. A method as in claim 5 wherein the first uber has a first number of disk slices storing parity; and

wherein the second uber has a second number of disk slices storing parity, the second number of disk slices storing parity being different from the first number of disk slices storing parity.

10. A method as in claim 5 wherein the second uber includes all of the disk slices of the first uber.

11. A method as in claim 2 wherein garbage collecting the first uber entirely to free all disk slices of the first uber includes:

consolidating all valid data from the first uber into a third uber which is different from the first uber and the second uber.

12. A method as in claim 11 wherein storing the data within the second uber includes:

storing at least some valid data from the third uber into the second uber.

13. A method as in claim 12 wherein storing the at least some valid data from the third uber into the second uber includes:

updating the valid data to form newest data and writing the newest data into the second uber.

14. A method as in claim 12 wherein storing the at least some valid data from the third uber into the second uber includes:

consolidating at least a portion of the at least some valid data from the third uber into the second uber.

15. A method as in claim 1 , further comprising:

constructing the first uber and storing data in the first uber; and

after the first uber is constructed and after data is stored in the first uber, detecting a set of new storage devices being added to the storage array, the set of new storage devices providing new disk slices that are separate from storage of the first uber.

16. A method as in claim 15 wherein reallocating the storage of the set of disk slices from the first uber includes:

constructing the second uber from at least some of the storage of the set of disk slices from the first uber and storage of the set of new storage devices.

17. A method as in claim 16 , further comprising:

after constructing the first uber and prior to performing the garbage collection operation, incorporating the first uber in log-structured storage.

18. A method as in claim 17 , further comprising:

after constructing the second uber and prior to storing the data within the second uber, incorporating the second uber in the log-structured storage.

19. A method as in claim 1 , further comprising:

performing garbage collection operations on all of the remaining ubers of the identified multiple ubers to garbage collect other data from the remaining ubers to a set of new ubers independently of how many sections of invalid data currently exist in the remaining ubers.

20. Data storage equipment, comprising:

memory; and

control circuitry coupled to the memory, the memory storing instructions which, when carried out by the control circuitry, causes the control circuitry to perform a method including:

receiving a RAID transformation command sent by an administrator;

performing a garbage collection operation on a first uber within a storage array in response to the RAID transformation command, the garbage collection operation freeing a set of disk slices of the first uber,

upon completing the garbage collection operation, reallocating storage of the set of disk slices from the first uber to a second uber within the storage array, and

after the storage of the set of disk slices is reallocated from the first uber to the second uber, storing data within the second uber;

wherein the RAID transformation command (i) identifies multiple ubers including the first uber, and (ii) directs the storage array to perform the garbage collection operation as part of a RAID transformation processing on all of the identified multiple ubers; and

wherein performing the garbage collection operation on the first uber includes garbage collecting data from the first uber independently of how many sections of invalid data currently exist in the first uber.

21. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform Redundant Array of Independent Disks (RAID) transformation; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method including:

receiving a RAID transformation command sent by an administrator;

performing a garbage collection operation on a first uber within a storage array in response to the RAID transformation command, the garbage collection operation freeing a set of disk slices of the first uber;

upon completing the garbage collection operation, reallocating storage of the set of disk slices from the first uber to a second uber within the storage array; and

after the storage of the set of disk slices is reallocated from the first uber to the second uber, storing data within the second uber;

wherein the RAID transformation command (i) identifies multiple ubers including the first uber, and (ii) directs the storage array to perform the garbage collection operation as part of a RAID transformation processing on all of the identified multiple ubers; and

wherein performing the garbage collection operation on the first uber includes garbage collecting data from the first uber independently of how many sections of invalid data currently exist in the first uber.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2021
From: LEE, SHUYU; VANKAMAMIDI, VAMSI K.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055423/0636 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →