IP Library Granted Patent US 11,372,562
Granted Patent B1
US 11,372,562 · App. 17/225,170 · Granted Jun 28, 2022

Group-based RAID-1 implementation in multi-RAID configured storage array

Inventors: Peng Wu (Westborough, MA); Rong Yu (West Roxbury, MA); Jiahui Wang (Framingham, MA); Lixin Pang (Needham, MA)
Assignee: Dell Products L.P.
G06F3/0631G06F3/0604G06F3/0614G06F3/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,372,562
App. No.
17/225,170
Granted
Jun 28, 2022
Kind
B1
Abstract

A storage system that supports multiple RAID levels presents storage objects with front-end tracks corresponding to back-end tracks on non-volatile drives and accesses the drives using a single type of back-end allocation unit that is larger than a back-end track. When the number of members of a protection group of a RAID level does not align with the back-end allocation unit, multiple back-end tracks are grouped and accessed using a single IO. The number of back-end tracks in a group is selected to align with the back-end allocation unit size. If the front-end tracks are variable size, then front-end tracks may be destaged into a smaller number of grouped back-end tracks in a single IO.

Claims (28)

1. A method implemented in a data storage system with a plurality of non-volatile drives and a plurality of interconnected compute nodes that access the drives using only one size of back-end allocation unit, the method comprising:

the compute nodes presenting first and second logical production volumes to hosts, wherein front-end tracks of the first and second production volumes correspond to back-end tracks of the non-volatile drives, and the backend allocation unit has a size that is an integer multiple of the back-end track size that is greater than 1;

implementing a first RAID level for the first production volume, wherein protection groups of the first RAID level have a number of back-end track members that aligns with the backend allocation unit; and

implementing a second RAID level for the second production volume, wherein protection groups of the second RAID level have a number of back-end track members that does not align with the backend allocation unit, the compute nodes configured to respond to hosts accessing front-end tracks of the second production volume by grouping a plurality of accessed back-end tracks and accessing the back-end tracks of the group using a single IO.

2. The method of claim 1 wherein implementing the first RAID level for the first production volume comprises implementing RAID-1 for the first production volume.

3. The method of claim 2 wherein grouping a plurality of accessed back-end tracks comprises grouping four accessed back-end tracks.

4. The method of claim 3 wherein accessing the back-end tracks of the group using a single IO comprises copying the grouped back-end tracks from the non-volatile drives to cache.

5. The method of claim 3 wherein accessing the back-end tracks of the group using a single IO comprises destaging the grouped back-end tracks from cache to the non-volatile drives.

6. The method of claim 3 comprising destaging a larger number of variable size front-end tracks into a smaller number of grouped back-end tracks.

7. The method of claim 3 comprising destaging a number of fixed size front-end tracks into an equal number of grouped back-end tracks.

8. A non-transitory computer-readable storage medium storing instructions that when executed by a compute node of a storage array cause the compute node to perform a method for accessing non-volatile drives using only one size of back-end allocation unit while supporting multiple RAID levels, the method comprising:

presenting first and second logical production volumes to hosts, wherein front-end tracks of the first and second production volumes correspond to back-end tracks of the non-volatile drives, and the backend allocation unit has a size that is an integer multiple of the back-end track size that is greater than 1;

implementing a first RAID level for the first production volume, wherein protection groups of the first RAID level have a number of back-end track members that aligns with the backend allocation unit; and

implementing a second RAID level for the second production volume, wherein protection groups of the second RAID level have a number of back-end track members that does not align with the backend allocation unit, the compute nodes configured to respond to hosts accessing front-end tracks of the second production volume by grouping a plurality of accessed back-end tracks and accessing the back-end tracks of the group using a single IO.

9. The non-transitory computer-readable storage medium of claim 8 wherein the method further comprises implementing the first RAID level for the first production volume comprises implementing RAID-1 for the first production volume.

10. The non-transitory computer-readable storage medium of claim 9 wherein the method further comprises grouping a plurality of accessed back-end tracks comprises grouping four accessed back-end tracks.

11. The non-transitory computer-readable storage medium of claim 10 wherein the method further comprises copying the grouped back-end tracks from the non-volatile drives to cache.

12. The non-transitory computer-readable storage medium of claim 10 wherein the method further comprises destaging the grouped back-end tracks from cache to the non-volatile drives.

13. The non-transitory computer-readable storage medium of claim 10 wherein the method further comprises destaging a larger number of variable size front-end tracks into a smaller number of grouped back-end tracks.

14. The non-transitory computer-readable storage medium of claim 10 wherein the method further comprises destaging a number of fixed size front-end tracks into an equal number of grouped back-end tracks.

15. An apparatus comprising:

a plurality of non-volatile drives;

a plurality of interconnected compute nodes that access the drives using only one size of back-end allocation unit, the compute nodes configured to present first and second logical production volumes to hosts, wherein front-end tracks of the first and second production volumes correspond to back-end tracks of the non-volatile drives, and the backend allocation unit has a size that is an integer multiple of the back-end track size that is greater than 1, and wherein a first RAID level is implemented for the first production volume, wherein protection groups of the first RAID level have a number of back-end track members that aligns with the backend allocation unit, and a second RAID level is implemented for the second production volume, wherein protection groups of the second RAID level have a number of back-end track members that does not align with the backend allocation unit, the compute nodes configured, responsive to hosts accessing front-end tracks of the second production volume, to group a plurality of accessed back-end tracks and access the back-end tracks of the group using a single IO.

16. The apparatus of claim 15 wherein the first RAID level is RAID-1.

17. The apparatus of claim 16 wherein each group contains four accessed back-end tracks.

18. The apparatus of claim 17 wherein the compute nodes copy grouped back-end tracks from the non-volatile drives to cache with a single IO.

19. The apparatus of claim 17 wherein the compute nodes destage grouped back-end tracks from cache to the non-volatile drives with a single IO.

20. The apparatus of claim 17 wherein the compute nodes destage a larger number of variable size front-end tracks into a smaller number of grouped back-end tracks.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2021
From: WANG, JIAHUI; WU, PENG; YU, RONG; PANG, LIXIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055925/0470 →