IP Library Granted Patent US 11,163,470
Granted Patent B2
US 11,163,470 · App. 16/654,702 · Granted Nov 2, 2021

Method, electronic device and computer program product for managing redundant arrays of independent disks

Inventors: Xiongcheng Li (Beijing, CN); Xinlei Xu (Beijing, CN); Geng Han (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/064G06F3/0616G06F3/0619G06F3/0631G06F3/0653G06F3/0689G06F11/1092
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,163,470
App. No.
16/654,702
Granted
Nov 2, 2021
Kind
B2
Abstract

Techniques manage a redundant array of independent disks. Such techniques involve: obtaining information on a wear level associated with each of a plurality of disks; selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between the wear levels of any two of the group of disks being below a predetermined threshold; and creating a RAID with extents from the selected group of disks. Such techniques can sufficiently utilize the wear level to balance the data storage distribution among redundant arrays of independent disks, thereby enabling efficient management of redundant arrays of independent disks.

Claims (80)

1. A method of managing a redundant array of independent disks (RAID), comprising:

obtaining information on a wear level associated with each of a plurality of disks;

selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between wear levels of any two of the group of disks being below a predetermined threshold; and

creating a RAID with extents from the selected group of disks;

wherein the RAID comprises a plurality of physical large blocks (PLBs),

each PLB including a block in extents of each of the group of disks,

the method further comprising:

in response to receiving a request to write target data to the RAID, determining, from the plurality of PLBs of the RAID, a first number of used PLBs having data stored therein;

determining, based on an average value of wear levels of the group of disks and from the plurality of PLBs of the RAID, a second number of PLBs expected to store data; and

in response to the first number being below the second number, determining a third number of free PLBs available for storing the target data.

2. The method according to claim 1 , further comprising:

determining the third number of free PLBs from the plurality of PLBs; and

storing the target data in the free PLBs.

3. The method according to claim 1 , wherein determining the second number of PLBs expected to store data comprises:

determining, based on the average value of the wear levels of the group of disks, a first wear level of the RAID;

determining, based on the first wear level of the RAID, a fourth number of unreserved PLBs from the plurality of PLBs of the RAID;

determining, based on a second wear level of another RAID associated with the RAID, a fifth number of used PLBs and a sixth number of unreserved PLBs of the other RAID; and

determining, based on the first number of used PLBs and the fourth number of unreserved PLBs of the RAID as well as the fifth number of used PLBs and the sixth number of unreserved PLBs of the other RAID, the second number of PLBs from the plurality of PLBs of the RAID.

4. The method according to claim 1 , further comprising:

in response to the first number exceeding the second number, determining whether there is another RAID available for storing the target data; and

in response to absence of the other RAID, adding a new disk to the plurality of disks to update the RAID.

5. The method according to claim 1 , wherein obtaining information on the wear level associated with each of the plurality of disks comprises:

obtaining used time of a disk, the used time indicating a duration that the disk has been used to store data;

obtaining a rated lifetime of the disk, the rated lifetime indicating the maximum time that the disk can be used to store data; and

obtaining, based on the used time and the rated lifetime, the information on the wear level associated with the disk.

6. An electronic device for managing a redundant array of independent disks (RAID), comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the device to perform acts, the acts comprising:

obtaining information on a wear level associated with each of a plurality of disks;

selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between wear levels of any two of the group of disks being below a predetermined threshold; and

creating a RAID with extents from the selected group of disks;

wherein the RAID comprises a plurality of physical large blocks (PLBs),

each PLB including a block in extents of each of the group of disks,

the device further comprising:

in response to receiving a request to write target data to the RAID, determining, from the plurality of PLBs of the RAID, a first number of used PLBs having data stored therein;

determining, based on an average value of wear levels of the group of disks and from the plurality of PLBs of the RAID, a second number of PLBs expected to store data; and

in response to the first number being below the second number, determining a third number of free PLBs available for storing the target data.

7. The electronic device according to claim 6 ,

wherein the acts further comprise:

determining the third number of free PLBs from the plurality of PLBs; and

storing the target data in the free PLBs.

8. The electronic device according to claim 6 ,

wherein determining the second number of PLBs expected to store data comprises:

determining, based on the average value of the wear levels of the group of disks, a first wear level of the RAID;

determining, based on the first wear level of the RAID, a fourth number of unreserved PLBs from the plurality of PLBs of the RAID;

determining, based on a second wear level of another RAID associated with the RAID, a fifth number of used PLBs and a sixth number of unreserved PLBs of the other RAID; and

determining, based on the first number of used PLBs and the fourth number of unreserved PLBs of the RAID as well as the fifth number of used PLBs and the sixth number of unreserved PLBs of the other RAID, the second number of PLBs from the plurality of PLBs of the RAID.

9. The electronic device according to claim 6 ,

wherein the acts further comprise:

in response to the first number exceeding the second number, determining whether there is another RAID available for storing the target data; and

in response to absence of the other RAID, adding a new disk to the plurality of disks to update the RAID.

10. The electronic device according to claim 6 , wherein obtaining information on the wear level associated with each of the plurality of disks comprises:

obtaining used time of a disk, the used time indicating a duration that the disk has been used to store data;

obtaining a rated lifetime of the disk, the rated lifetime indicating the maximum time that the disk can be used to store data; and

obtaining, based on the used time and the rated lifetime, the information on the wear level associated with the disk.

11. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage a redundant array of independent disks (RAID); the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

obtaining information on a wear level associated with each of a plurality of disks;

selecting, based on the information on the wear level, a group of disks from the plurality of disks, a difference between wear levels of any two of the group of disks being below a predetermined threshold; and

creating a RAID with extents from the selected group of disks;

wherein the RAID comprises a plurality of physical large blocks (PLBs),

each PLB including a block in extents of each of the group of disks,

the method further comprising:

in response to receiving a request to write target data to the RAID, determining, from the plurality of PLBs of the RAID, a first number of used PLBs having data stored therein;

determining, based on an average value of wear levels of the group of disks and from the plurality of PLBs of the RAID, a second number of PLBs expected to store data; and

in response to the first number being below the second number, determining a third number of free PLBs available for storing the target data.

12. The computer program product according to claim 11 , wherein the method further comprises:

determining the third number of free PLBs from the plurality of PLBs; and

storing the target data in the free PLBs.

13. The computer program product according to claim 11 , wherein determining the second number of PLBs expected to store data comprises:

determining, based on the average value of the wear levels of the group of disks, a first wear level of the RAID;

determining, based on the first wear level of the RAID, a fourth number of unreserved PLBs from the plurality of PLBs of the RAID;

determining, based on a second wear level of another RAID associated with the RAID, a fifth number of used PLBs and a sixth number of unreserved PLBs of the other RAID; and

determining, based on the first number of used PLBs and the fourth number of unreserved PLBs of the RAID as well as the fifth number of used PLBs and the sixth number of unreserved PLBs of the other RAID, the second number of PLBs from the plurality of PLBs of the RAID.

14. The computer program product according to claim 11 , wherein the method further comprises:

in response to the first number exceeding the second number, determining whether there is another RAID available for storing the target data; and

in response to absence of the other RAID, adding a new disk to the plurality of disks to update the RAID.

15. The method according to claim 11 , wherein obtaining information on the wear level associated with each of the plurality of disks comprises:

obtaining used time of a disk, the used time indicating a duration that the disk has been used to store data;

obtaining a rated lifetime of the disk, the rated lifetime indicating the maximum time that the disk can be used to store data; and

obtaining, based on the used time and the rated lifetime, the information on the wear level associated with the disk.

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 (051302/0528) 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 IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
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 →
SECURITY AGREEMENT Recorded Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: LI, XIONGCHENG; XU, XINLEI; HAN, GENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051021/0621 →
Priority Claims (1)
CN 201811288170.9 · Oct 31, 2018 · national
Continuity (1)
Related Publication 20200133494A1 · Apr 30, 2020