IP Library Granted Patent US 10,628,071
Granted Patent B2
US 10,628,071 · App. 16/177,736 · Granted Apr 21, 2020

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 10,628,071
App. No.
16/177,736
Granted
Apr 21, 2020
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 (66)

1. A method of storage allocation, comprising:

obtaining respective wear levels of a plurality of disks associated with a redundant array of independent disks (RAID);

determining, based on the wear levels, respective spare extents from disk extents of the plurality of disks, such that a number of spare extents in a disk is positively correlated with the wear level of the disk; and

selecting, from disk extents other than the spare extents in the disk 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.

2. The method according to claim 1 , wherein determining respective spare extents based on the wear levels comprises, for a given disk of the plurality of disks:

determining an average wear level of the plurality of disks;

determining an average number of spare extents of the plurality of disks; and

determining a number of spare extents of the given disk based on the average wear level, the average number of spare extents and the wear level of the given disk.

3. The method according to claim 2 , wherein determining a number of spare extents of the given disk comprises:

in response to the wear level of the given disk 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 disk 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 disk being less than the average wear level, determining the number as less than the average number of spare extents.

4. The method according to claim 2 , wherein determining the average number of spare extents comprises:

determining a total capacity of the spare extents based on a difference between a total capacity of the plurality of disks and a capacity required for the RAID;

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 disk 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 plurality of disks.

5. The method according to claim 1 , wherein the plurality of disks are included in a disk pool for creating the RAID, and the method further comprises, for a given disk of the plurality of disks:

comparing the wear level of the given disk with a predetermined threshold;

in response to the wear level of the given disk being greater than the predetermined threshold,

removing the given disk from the disk pool, and

adding a new disk to the disk pool, a wear level of the new disk being less than the predetermined threshold.

6. An electronic device, comprising:

at least one processor; and

at least one memory comprising computer program instructions, the at least one memory and the computer program instructions being configured, together with the at least one processor, to cause the electronic device to perform acts comprising:

obtaining respective wear levels of a plurality of disks associated with a redundant array of independent disks (RAID);

determining, based on the wear levels, respective spare extents from disk extents of the plurality of disks, such that a number of spare extents in a disk is positively correlated with the wear level of the disk; and

selecting, from disk extents other than the spare extents in the disk 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.

7. The electronic device according to claim 6 , wherein the acts further comprise, for a given disk of the plurality of disks:

determining an average wear level of the plurality of disks;

determining an average number of spare extents of the plurality of disks; and

determining a number of spare extents of the given disk based on the average wear level, the average number of spare extents and the wear level of the given disk.

8. The electronic device according to claim 7 , wherein the acts further comprise:

in response to the wear level of the given disk 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 disk 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 disk being less than the average wear level, determining the number as less than the average number of spare extents.

9. The electronic device according to claim 7 , wherein the acts further comprise:

determining a total capacity of the spare extents based on a difference between a total capacity of the plurality of disks and a capacity required for the RAID;

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 disk 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 plurality of disks.

10. The electronic device according to claim 6 , wherein the plurality of disks are included in a disk pool for creating the RAID, and the acts further comprise:

comparing the wear level of the given disk with a predetermined threshold;

in response to the wear level of the given disk being greater than the predetermined threshold,

removing the given disk from the disk pool, and

adding a new disk to the disk pool, a wear level of the new disk being less than the predetermined threshold.

11. A computer program product, which is tangibly stored on a non-volatile computer readable medium and comprises machine executable instructions, the machine executable instructions, when executed, causing a machine to perform a method of storage allocation, the method comprising:

obtaining respective wear levels of a plurality of disks associated with a redundant array of independent disks (RAID);

determining, based on the wear levels, respective spare extents from disk extents of the plurality of disks, such that a number of spare extents in a disk is positively correlated with the wear level of the disk; and

selecting, from disk extents other than the spare extents in the disk 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.

12. The computer program product according to claim 11 , wherein determining respective spare extents based on the wear levels comprises, for a given disk of the plurality of disks:

determining an average wear level of the plurality of disks;

determining an average number of spare extents of the plurality of disks; and

determining a number of spare extents of the given disk based on the average wear level, the average number of spare extents and the wear level of the given disk.

13. The computer program product according to claim 12 , wherein determining a number of spare extents of the given disk comprises:

in response to the wear level of the given disk 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 disk 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 disk being less than the average wear level, determining the number as less than the average number of spare extents.

14. The computer program product according to claim 12 , wherein determining the average number of spare extents comprises:

determining a total capacity of the spare extents based on a difference between a total capacity of the plurality of disks and a capacity required for the RAID;

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 disk 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 plurality of disks.

15. The computer program product according to claim 11 , wherein the plurality of disks are included in a disk pool for creating the RAID, and the method further comprises, for a given disk of the plurality of disks:

comparing the wear level of the given disk with a predetermined threshold;

in response to the wear level of the given disk being greater than the predetermined threshold,

removing the given disk from the disk pool, and

adding a new disk to the disk pool, a wear level of the new disk being less than the predetermined threshold.

16. A storage system, comprising a plurality of disks associated with a redundant array of independent disks (RAID) and an electronic device according to claim 6 .

Assignments (6)
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 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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: XU, XINLEI; GAO, JIAN; JIA, RUIYONG; LI, LIAM; LIU, YOUSHENG; GAO, HONGPO
To: DELL PRODUCTS L.P.
Reel/Frame 047814/0439 →