IP Library Granted Patent US 11,287,997
Granted Patent B2
US 11,287,997 · App. 16/877,881 · Granted Mar 29, 2022

Method, electronic device and computer program product for managing disk array

Inventors: Rongrong Shang (Beijing, CN); Haiying Tang (Beijing, CN); Xiaobo Zhang (Beijing, CN); Jian Gao (Beijing, CN); Zhilong Wu (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0644G06F3/0604G06F3/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,287,997
App. No.
16/877,881
Granted
Mar 29, 2022
Kind
B2
Abstract

Techniques involve determining a stripe width of an array and metadata of candidate disks available for allocating a new array, the metadata indicating a total slice number in each of the candidate disks and a number of used slices in the candidate disks. The techniques further involve determining, based on the width and the total slice number, a first number of slices in the candidate disks that are available. The techniques further involve determining, based on the number of the used slices, a second slice number in the used slices that are available; and determining, based on the first number and the second number, utilization rates of the candidate disks for the allocation for the new array. Such techniques may make the utilization rates of the candidate disks more accurate, which ensures uniform use of the respective candidate disks and improves the performance of the candidate disks.

Claims (87)

1. A method of managing disk arrays, comprising:

determining a width of a stripe of a disk array in a set of disk arrays and metadata of candidate disks available for allocating a new disk array to the set of disk arrays, the metadata indicating a total number of physical disk slices in each of the candidate disks and a number of used physical disk slices in the candidate disks;

determining, based on the width of the stripe and the total number, a first number of physical disk slices in the candidate disks that are available as disk slices of the set of disk arrays;

determining, based on the number of the used physical disk slices, a second number of physical disk slices in the used physical disk slices that are available as disk slices of the set of disk arrays; and

determining, based on the first number and the second number, utilization rates of the candidate disks for the allocation for the new disk array; and

in response to determining that the utilization rates are lower than a threshold utilization rate, sending an indication for allocating the new disk array to the set of disk arrays in the candidate disks to allocate the new disk array.

2. The method of claim 1 , wherein determining the first number comprises:

sorting the candidate disks based on the total number of physical disk slices in each candidate disk; and

determining, based on the width of the stripe, the first number of physical disk slices in the sorted candidate disks that are available as disk slices of the set of disk arrays.

3. The method of claim 1 , wherein determining the second number comprises:

determining, from the candidate disks, a group of candidate disks, wherein a total number of the group of candidate disks being greater than the width of the stripe;

determining a width of the stripe where the used physical disk slices in the group of candidate disks are located;

determining, based on the determined width, a third number of physical disk slices not included in the set of disk arrays; and

determining the second number based on the number of the used physical disk slices and the third number.

4. The method of claim 1 , wherein determining the width of the stripe and the metadata comprises:

receiving a request for allocating the new disk array to the set of disk arrays, the request including an identification of the set of disk arrays;

obtaining, based on the identification, a first device type corresponding to the set of disk arrays;

obtaining the metadata associated with the candidate disks, the metadata further comprising a second device type related to the candidate disks; and

in response to the first device type matching with the second device type, determining the width of the stripe.

5. An electronic device comprising:

a processor; and

a memory storing computer program instructions, the processor running the computer program instructions in the memory to control the electronic device to perform acts consisting:

determining a width of a stripe of a disk array in a set of disk arrays and metadata of candidate disks available for allocating a new disk array to the set of disk arrays, the metadata indicating a total number of physical disk slices in each of the candidate disks and a number of used physical disk slices in the candidate disks;

determining, based on the width of the stripe and the total number, a first number of physical disk slices in the candidate disks that are available as disk slices of the set of disk arrays;

determining, based on the number of the used physical disk slices, a second number of physical disk slices in the used physical disk slices that are available as disk slices of the set of disk arrays;

determining, based on the first number and the second number, utilization rates of the candidate disks for the allocation for the new disk array; and

in response to determining that the utilization rates are lower than a threshold utilization rate, sending an indication for allocating the new disk array to the set of disk arrays in the candidate disks to allocate the new disk array.

6. The electronic device of claim 5 , wherein determining the first number comprises:

sorting the candidate disks based on the total number of physical disk slices in each candidate disk; and

determining, based on the width of the stripe, the first number of physical disk slices in the sorted candidate disks that are available as disk slices of the set of disk arrays.

7. The electronic device of claim 5 , wherein determining the second number comprises:

determining, from the candidate disks, a group of candidate disks, wherein a total number of the group of candidate disks being greater than the width of the stripe;

determining a width of the stripe where the used physical disk slices in the group of candidate disks are located;

determining, based on the determined width, a third number of physical disk slices not included in the set of disk arrays; and

determining the second number based on the number of the used physical disk slices and the third number.

8. The electronic device of claim 5 , wherein determining the width of the stripe and the metadata comprises:

receiving a request for allocating the new disk array to the set of disk arrays, the request including an identification of the set of disk arrays;

obtaining, based on the identification, a first device type corresponding to the set of disk arrays;

obtaining the metadata associated with the candidate disks, the metadata further comprising a second device type related to the candidate disks; and

in response to the first device type matching with the second device type, determining the width of the stripe.

9. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage disk arrays; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

determining a width of a stripe of a disk array in a set of disk arrays and metadata of candidate disks available for allocating a new disk array to the set of disk arrays, the metadata indicating a total number of physical disk slices in each of the candidate disks and a number of used physical disk slices in the candidate disks;

determining, based on the width of the stripe and the total number, a first number of physical disk slices in the candidate disks that are available as disk slices of the set of disk arrays;

determining, based on the number of the used physical disk slices, a second number of physical disk slices in the used physical disk slices that are available as disk slices of the set of disk arrays; and

determining, based on the first number and the second number, utilization rates of the candidate disks for the allocation for the new disk array; and

in response to determining that the utilization rates are lower than a threshold utilization rate, sending an indication for allocating the new disk array to the set of disk arrays in the candidate disks to allocate the new disk array.

10. The method of claim 1 , wherein the set of disk arrays reside within a storage device; and

wherein sending the indication includes:

providing the indication from a management device to the storage device to effectuate allocating of the new disk array to the set of disk arrays.

11. The electronic device of claim 5 , wherein the set of disk arrays reside within a storage device;

wherein the processor resides within a management device; and

wherein sending the indication includes:

providing the indication from the management device to the storage device to effectuate allocating of the new disk array to the set of disk arrays.

12. The computer program product of claim 9 , wherein determining the first number comprises:

sorting the candidate disks based on the total number of physical disk slices in each candidate disk; and

determining, based on the width of the stripe, the first number of physical disk slices in the sorted candidate disks that are available as disk slices of the set of disk arrays.

13. The computer program product of claim 9 , wherein determining the second number comprises:

determining, from the candidate disks, a group of candidate disks, wherein a total number of the group of candidate disks being greater than the width of the stripe;

determining a width of the stripe where the used physical disk slices in the group of candidate disks are located;

determining, based on the determined width, a third number of physical disk slices not included in the set of disk arrays; and

determining the second number based on the number of the used physical disk slices and the third number.

14. The computer program product of claim 9 , wherein determining the width of the stripe and the metadata comprises:

receiving a request for allocating the new disk array to the set of disk arrays, the request including an identification of the set of disk arrays;

obtaining, based on the identification, a first device type corresponding to the set of disk arrays;

obtaining the metadata associated with the candidate disks, the metadata further comprising a second device type related to the candidate disks; and

in response to the first device type matching with the second device type, determining the width of the stripe.

15. The computer program product of claim 9 , wherein the set of disk arrays reside within a storage device; and

wherein sending the indication includes:

providing the indication from a management device to the storage device to effectuate allocating of the new disk array to the set of disk arrays.

16. A method of managing disk arrays, comprising:

determining a width of a stripe of a disk array in a set of disk arrays and metadata of candidate disks available for allocating a new disk array to the set of disk arrays, the metadata indicating a total number of physical disk slices in each of the candidate disks and a number of used physical disk slices in the candidate disks;

determining, based on the width of the stripe and the total number, a first number of physical disk slices in the candidate disks that are available as disk slices of the set of disk arrays;

determining, based on the number of the used physical disk slices, a second number of physical disk slices in the used physical disk slices that are available as disk slices of the set of disk arrays; and

determining, based on the first number and the second number, utilization rates of the candidate disks for the allocation for the new disk array;

wherein determining the width of the stripe and the metadata comprises:

receiving a request for allocating the new disk array to the set of disk arrays, the request including an identification of the set of disk arrays;

obtaining, based on the identification, a first device type corresponding to the set of disk arrays;

obtaining the metadata associated with the candidate disks, the metadata further comprising a second device type related to the candidate disks; and

in response to the first device type matching with the second device type, determining the width of the stripe.

17. The method of claim 16 , wherein determining the first number comprises:

sorting the candidate disks based on the total number of physical disk slices in each candidate disk; and

determining, based on the width of the stripe, the first number of physical disk slices in the sorted candidate disks that are available as disk slices of the set of disk arrays.

18. The method of claim 16 , wherein determining the second number comprises:

determining, from the candidate disks, a group of candidate disks, wherein a total number of the group of candidate disks being greater than the width of the stripe;

determining a width of the stripe where the used physical disk slices in the group of candidate disks are located;

determining, based on the determined width, a third number of physical disk slices not included in the set of disk arrays; and

determining the second number based on the number of the used physical disk slices and the third number.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
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 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2020
From: SHANG, RONGRONG; TANG, HAIYING; ZHANG, XIAOBO; GAO, JIAN; WU, ZHILONG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053230/0599 →
Priority Claims (1)
CN 201911047042.X · Oct 30, 2019 · national
Continuity (1)
Related Publication 20210132843A1 · May 6, 2021
Cited By (1)
US 12,386,519