IP Library Granted Patent US 11,106,376
Granted Patent B2
US 11,106,376 · App. 16/811,530 · Granted Aug 31, 2021

Method of storage allocation, electronic device, storage system and computer program product

Inventors: Xinlei Xu (Beijing, CN); Jian Gao (Beijing, CN); Ruiyong Jia (Beijing, CN); Liam Li (Beijing, CN); Yousheng Liu (Beijing, CN); Hongpo Gao (Beijing, CN)
Assignee: Dell Products L.P.
G06F3/0644G06F3/0616G06F3/0689G06F11/1076G06F11/3442
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,106,376
App. No.
16/811,530
Granted
Aug 31, 2021
Kind
B2
Abstract

Embodiments of the present disclosure provide a method of storage allocation, an electronic device, a storage system and a computer program product. The method of storage allocation includes: obtaining respective wear levels of a plurality of disks associated with a redundant array of independent disks (RAID). The method further includes: determining respective spare extents in disk extents of the plurality of disks based on the obtained wear levels, such that a number of spare extents in a disk is positively correlated with the wear level of the disk. The method also includes: selecting, from disk extents other than the spare extents, a predetermined number of disk extents for creating RAID extents for the RAID, the predetermined number of disk extents being from different disks of the plurality of disks. Through the embodiments of the present disclosure, a life cycle of a disk is prolonged, frequent replacement of worn disks with new disks is avoided, and data loss is reduced.

Claims (50)

1. A method comprising:

defining a pool of storage drives for storing data in accordance with a mapped redundant array of independent disks (RAID) arrangement;

determining wear levels of respective ones of the storage drives in the pool; and

allocating different numbers of spare extents to different ones of the storage drives in the pool based at least in part on their respective wear levels;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The method of claim 1 further comprising selecting particular extents other than the allocated spare extents from particular ones of the storage drives for use in the mapped RAID arrangement.

3. The method of claim 1 wherein a first one of the storage drives having a relatively high wear level is allocated a higher number of spare extents than a second one of the storage drives having a relatively low wear level.

4. The method of claim 1 wherein the numbers of spare extents allocated to respective ones of the storage drives are positively correlated with the respective wear levels of those storage drives.

5. The method of claim 1 wherein each of the storage drives in the pool comprises a plurality of drive extents with each such drive extent comprising a fixed-sized, non-overlapping segment of a storage space of the storage drive and wherein the plurality of drive extents of a given one of the storage drives comprises the spare extents allocated to that storage drive and other ones of the drive extents selected for utilization in the mapped RAID arrangement.

6. The method of claim 5 wherein the mapped RAID arrangement comprises a plurality of RAID extents with each such RAID extent comprising a fixed-sized, non-overlapping segment of the mapped RAID arrangement and wherein a given one of the RAID extents comprises a designated number of drive extents selected from different ones of the storage drives.

7. The method of claim 1 wherein allocating different numbers of spare extents to different ones of the storage drives in the pool based at least in part on their respective wear levels comprises:

determining an average wear level of storage drives in the pool;

determining an average number of spare extents of the storage drives in the pool; and

allocating a particular number of spare extents to a given one of the storage drives in the pool based at least in part on the average wear level, the average number of spare extents and the wear level of the given storage drive.

8. The method of claim 7 wherein allocating a particular number of spare extents to the given storage drive comprises:

in response to the wear level of the given storage drive being equal to the average wear level, determining the number as equal to the average number of spare extents;

in response to the wear level of the given storage drive being greater than the average wear level, determining the number as greater than the average number of spare extents; and

in response to the wear level of the given storage drive being less than the average wear level, determining the number as less than the average number of spare extents.

9. The method of claim 7 wherein determining the average number of spare extents of the storage drives in the pool comprises:

determining a total capacity of the spare extents based on a difference between a total capacity of the storage drives and a capacity required for the mapped RAID arrangement;

determining a total number of the spare extents based on a ratio of the total capacity of the spare extents to a capacity of a single extent; and

determining the average number of spare extents based on a ratio of the total number of the spare extents to a total number of the storage drives.

10. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to define a pool of storage drives for storing data in accordance with a mapped redundant array of independent disks (RAID) arrangement;

to determine wear levels of respective ones of the storage drives in the pool; and

to allocate different numbers of spare extents to different ones of the storage drives in the pool based at least in part on their respective wear levels.

11. The apparatus of claim 10 further comprising selecting particular extents other than the allocated spare extents from particular ones of the storage drives for use in the mapped RAID arrangement.

12. The apparatus of claim 10 wherein a first one of the storage drives having a relatively high wear level is allocated a higher number of spare extents than a second one of the storage drives having a relatively low wear level.

13. The apparatus of claim 10 wherein the numbers of spare extents allocated to respective ones of the storage drives are positively correlated with the respective wear levels of those storage drives.

14. The apparatus of claim 10 wherein allocating different numbers of spare extents to different ones of the storage drives in the pool based at least in part on their respective wear levels comprises:

determining an average wear level of storage drives in the pool;

determining an average number of spare extents of the storage drives in the pool; and

allocating a particular number of spare extents to a given one of the storage drives in the pool based at least in part on the average wear level, the average number of spare extents and the wear level of the given storage drive.

15. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code, when executed by at least one processing device comprising a processor coupled to a memory, causes said at least one processing device:

to define a pool of storage drives for storing data in accordance with a mapped redundant array of independent disks (RAID) arrangement;

to determine wear levels of respective ones of the storage drives in the pool; and

to allocate different numbers of spare extents to different ones of the storage drives in the pool based at least in part on their respective wear levels.

16. The computer program product of claim 15 wherein the program code when executed by said at least one processing device further causes said at least one processing device to select particular extents other than the allocated spare extents from particular ones of the storage drives for use in the mapped RAID arrangement.

17. The computer program product of claim 15 wherein a first one of the storage drives having a relatively high wear level is allocated a higher number of spare extents than a second one of the storage drives having a relatively low wear level.

18. The computer program product of claim 15 wherein the numbers of spare extents allocated to respective ones of the storage drives are positively correlated with the respective wear levels of those storage drives.

19. The computer program product of claim 15 wherein allocating different numbers of spare extents to different ones of the storage drives in the pool based at least in part on their respective wear levels comprises:

determining an average wear level of storage drives in the pool;

determining an average number of spare extents of the storage drives in the pool; and

allocating a particular number of spare extents to a given one of the storage drives in the pool based at least in part on the average wear level, the average number of spare extents and the wear level of the given storage drive.

20. The computer program product of claim 19 wherein allocating a particular number of spare extents to the given storage drive comprises:

in response to the wear level of the given storage drive being equal to the average wear level, determining the number as equal to the average number of spare extents;

in response to the wear level of the given storage drive being greater than the average wear level, determining the number as greater than the average number of spare extents; and

in response to the wear level of the given storage drive being less than the average wear level, determining the number as less than the average number of spare extents.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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
Reel/Frame 060436/0582 →
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 (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 AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
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 May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2020
From: XU, XINLEI; GAO, JIAN; JIA, RUIYONG; LI, LIAM; LIU, YOUSHENG; GAO, HONGPO
To: DELL PRODUCTS L.P.
Reel/Frame 052040/0392 →