IP Library Granted Patent US 11,262,920
Granted Patent B2
US 11,262,920 · App. 17/038,869 · Granted Mar 1, 2022

Mapped raid (redundant array of independent disks) with drive health aware protection groups

Inventors: Nickolay Dalmatov (Saint Petersburg, RU); Mikhail Danilov (Saint Petersburg, RU)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/0631G06F3/0647G06F3/0653G06F3/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,262,920
App. No.
17/038,869
Granted
Mar 1, 2022
Kind
B2
Abstract

Mapped RAID protection is provided for data written into multiple logical RAID spaces, and the data written to each one of the RAID spaces is stored in data storage drives contained in a corresponding one of multiple protection groups of data storage drives. Drive health information is collected for each data storage drive contained in the protection groups, and a faultiness level of each individual data storage drive in the protection groups is calculated based on the drive health information. A faultiness-balanced distribution of the data storage drives across the protection groups is then generated based on the calculated faultiness levels of the individual data storage drives.

Claims (36)

1. A method comprising:

providing mapped RAID (Redundant Array of Independent Disks) protection for data written into a plurality of logical RAID spaces, wherein data written to each one of the logical RAID spaces is stored in data storage drives contained in a corresponding one of a plurality of protection groups of data storage drives;

collecting drive health information for each data storage drive contained in the protection groups;

calculating a faultiness level of each individual data storage drive in the protection groups based on the drive health information; and

generating a faultiness-balanced distribution of the data storage drives across the protection groups based on the calculated faultiness levels of the individual data storage drives, at least in part by determining a faultiness-balanced distribution of the data storage drives across the protection groups that minimizes a range of values of a faultiness metric calculated for the individual protection groups based on the faultiness levels of the individual data storage drives, wherein the values of the faultiness metric calculated for the individual protection groups is based on the sizes of the individual protection groups, and wherein the faultiness metric calculated for each protection group comprises a size of the protection group divided by a sum of the faultiness levels of the data storage drives contained in the protection group.

2. The method of claim 1 , further comprising:

determining whether the faultiness-balanced distribution of the data storage drives across the protection groups matches a current distribution of the data storage drives across the protection groups; and

in response to the faultiness-balanced distribution of the data storage drives across the protection groups not matching the current distribution of the data storage drives across the protection groups, automatically redistributing the data storage drives across the protection groups according to the faultiness-balanced distribution of the data storage drives.

3. The method of claim 2 , wherein automatically redistributing the data storage drives across the protection groups of data storage drives according to the faultiness-balanced distribution of the data storage drives includes moving at least one of data storage drive from a first one of the protection groups to a second one of the protection groups.

4. The method of claim 1 , wherein the sizes of the individual protection groups used to calculate the values of the faultiness metric for the individual protection groups comprises a total capacity of each protection group.

5. The method of claim 1 , wherein the sizes of the individual protection groups used to calculate the values of the faultiness metric for the individual protection groups comprises an amount of data stored in each protection group.

6. The method of claim 1 , further comprising:

determining whether the faultiness-balanced distribution of the data storage drives across the protection groups provides a significant improvement over a current distribution of the data storage drives across the protection groups; and

in response to the faultiness-balanced distribution of the data storage drives across the protection groups providing a significant improvement over the current distribution of the data storage drives across the protection groups, automatically redistributing the data storage drives across the protection groups according to the faultiness-balanced distribution of the data storage drives.

7. A data storage system comprising:

at least one storage processor including processing circuitry and a memory;

a plurality of data storage drives communicably coupled to the storage processor; and

wherein the memory has program code stored thereon, wherein the program code, when executed by the processing circuitry, causes the processing circuitry to:

provide mapped RAID (Redundant Array of Independent Disks) protection for data written into a plurality of logical RAID spaces, wherein data written to each one of the logical RAID spaces is stored in data storage drives contained in a corresponding one of a plurality of protection groups of data storage drives,

collect drive health information for each data storage drive contained in the protection groups,

calculate a faultiness level of each individual data storage drive in the protection groups based on the drive health information, and

generate a faultiness-balanced distribution of the data storage drives across the protection groups based on the calculated faultiness levels of the individual data storage drives, at least in part by causing the processing circuitry to determine a faultiness-balanced distribution of the data storage drives across the protection groups that minimizes a range of values of a faultiness metric calculated for the individual protection groups based on the faultiness levels of the individual data storage drives, wherein the values of the faultiness metric calculated for the individual protection groups is based on the sizes of the individual protection groups, and wherein the faultiness metric calculated for each protection group comprises a size of the protection group divided by a sum of the faultiness levels of the data storage drives contained in the protection group.

8. The data storage system of claim 7 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to:

determine whether the faultiness-balanced distribution of the data storage drives across the protection groups matches a current distribution of the data storage drives across the protection groups; and

in response to the faultiness-balanced distribution of the data storage drives across the protection groups not matching the current distribution of the data storage drives across the protection groups, automatically redistribute the data storage drives across the protection groups according to the faultiness-balanced distribution of the data storage drives.

9. The data storage system of claim 8 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to automatically redistribute the data storage drives across the protection groups of data storage drives according to the faultiness-balanced distribution of the faulty data storage drives at least in part by causing the processing circuitry to move at least one of data storage drive from a first one of the protection groups to a second one of the protection groups.

10. The data storage system of claim 7 , wherein the sizes of the individual protection groups used to calculate the values of the faultiness metric for the individual protection groups comprises a total capacity of each protection group.

11. The data storage system of claim 7 , wherein the sizes of the individual protection groups used to calculate the values of the faultiness metric for the individual protection groups comprises an amount of data stored in each protection group.

12. The data storage system of claim 7 , wherein the program code, when executed by the processing circuitry, further causes the processing circuitry to:

determine whether the faultiness-balanced distribution of the data storage drives across the protection groups provides a significant improvement over a current distribution of the data storage drives across the protection groups; and

in response to the faultiness-balanced distribution of the data storage drives across the protection groups providing a significant improvement over the current distribution of the data storage drives across the protection groups, automatically redistribute the data storage drives across the protection groups according to the faultiness-balanced distribution of the data storage drives.

13. A computer program product including a non-transitory computer readable medium having instructions stored thereon, wherein the instructions, when executed on processing circuitry, cause the processing circuitry to perform the steps of:

providing mapped RAID (Redundant Array of Independent Disks) protection for data written into a plurality of logical RAID spaces, wherein data written to each one of the logical RAID spaces is stored in data storage drives contained in a corresponding one of a plurality of protection groups of data storage drives;

collecting drive health information for each data storage drive contained in the protection groups;

calculating a faultiness level of each individual data storage drive in the protection groups based on the drive health information; and

generating a faultiness-balanced distribution of the data storage drives across the protection groups based on the calculated faultiness levels of the individual data storage drives, at least in part by determining a faultiness-balanced distribution of the data storage drives across the protection groups that minimizes a range of values of a faultiness metric calculated for the individual protection groups based on the faultiness levels of the individual data storage drives, wherein the values of the faultiness metric calculated for the individual protection groups is based on the sizes of the individual protection groups, and wherein the faultiness metric calculated for each protection group comprises a size of the protection group divided by a sum of the faultiness levels of the data storage drives contained in the protection group.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) 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 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) 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 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) 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/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
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 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
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 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2020
From: DALMATOV, NICKOLAY; DANILOV, MIKHAIL
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054147/0361 →
Priority Claims (1)
RU 2020110748 · Mar 13, 2020 · national
Continuity (1)
Related Publication 20210286529A1 · Sep 16, 2021