IP Library Granted Patent US 11,385,823
Granted Patent B2
US 11,385,823 · App. 16/931,605 · Granted Jul 12, 2022

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

Inventors: Ke Yang (Beijing, CN); Zhenhua Zhao (Beijing, CN); Baote Zhuo (Beijing, CN); Zhihui Qiu (Beijing, CN); Sihang Xia (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0647G06F3/0619G06F3/0631G06F3/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,385,823
App. No.
16/931,605
Granted
Jul 12, 2022
Kind
B2
Abstract

Techniques for rebuilding a disk array involve, in response to receiving a message for rebuilding disk arrays in a storage system, determining a target disk that causes rebuilding. Such techniques further involve determining from the disk arrays a set of disk arrays related to the target disk, and generating subsets of disk arrays from the set of disk arrays, each subset including disk arrays that can be rebuilt in parallel. Such techniques further involve determining, based on a number of disks included in each subset, a target subset from the plurality of subsets, and rebuilding disk arrays in the target subset in parallel. Accordingly, a disk array that is most suitable for parallel rebuilding may be determined, and the process of rebuilding the disk array is sped up. Such techniques reduce the delay caused by performing rebuilding, and improve rebuilding efficiency.

Claims (74)

1. A method of rebuilding disk arrays, comprising:

in response to receiving a message for rebuilding disk arrays in a storage system, determining a target disk that causes the rebuilding;

determining from the disk arrays a set of disk arrays related to the target disk;

generating a plurality of subsets of disk arrays from the set of disk arrays, each subset including a plurality of disk arrays that can be rebuilt in parallel;

determining, based on a number of disks included in each of the plurality of subsets, a target subset from the plurality of subsets; and

rebuilding a plurality of disk arrays in the target subset in parallel, wherein determining the target subset comprises:

determining, based on the number of disks included in each of the plurality of subsets, an indication factor of each subset in the plurality of subsets, the indication factor indicating a ratio of a total number of associated disk arrays of each subset to a number of disks related to each subset; and

determining the target subset from the plurality of subsets based on the indication factor.

2. The method according to claim 1 , wherein determining the target disk comprises:

in response to receiving the message, obtaining status information of a plurality of disks related to the plurality of disk arrays in the storage system; and

in accordance with a determination that the status information indicates one disk of the plurality of disks being offline, determining the disk as the target disk.

3. The method according to claim 1 , wherein determining the set of disk arrays comprises:

obtaining identifiers of a plurality of disks related to the plurality of disk arrays in the storage system;

determining, based on the identifiers, one or more disk arrays formed by the target disk; and

determining the determined one or more disk arrays as the set of the disk arrays.

4. The method according to claim 3 , wherein obtaining the identifiers comprises:

obtaining metadata related to the plurality of disk arrays; and

determining, from the metadata, an identifier of each disk related to the plurality of disk arrays.

5. The method according to claim 1 , wherein determining the indication factor comprises:

determining the number of disks related to each subset;

based on the disks related to each subset, determining all disk arrays associated with the disks, as associated disk arrays of the subset; and

determining the indication factor based on the number of disks related to each subset and the associated disk arrays.

6. The method according to claim 1 , wherein generating the plurality of subsets from the set of disk arrays comprises:

obtaining a number of cores of computing resources of the storage system;

determining a number of disk arrays in each subset based on the number of the cores; and

generating the plurality of subsets from the set of disk arrays, the number of disk arrays included in each subset being equal to the determined number.

7. The method of claim 1 , wherein determining the indication factor of each subset in the plurality of subsets includes:

identifying a set of disks included in a subset in the plurality of subsets;

identifying a number of disks in the set of disks;

identifying, for each disk of the set of disks, a number of associated disk arrays that contain the respective disk; and

calculating a total number of associated disk arrays for the subset by summing the number of associated disk arrays for each disk of the set of disks,

wherein the ratio for the subset is computed based on the total number of associated disk arrays for the subset and the number of disks in the set of disks.

8. The method of claim 7 , wherein the disks in the set of disks form the disk arrays in the subset, and wherein identifying the number of disks related to the subset includes calculating the number of disks related to the subset based on the number of disks in the set of disks.

9. The method of claim 7 , wherein determining the target subset includes:

identifying, from the plurality of subsets, a set of subsets based on the indication factor of each subset in the plurality of subsets;

calculating, for each subset in the set of subsets, a respective variance based on a difference between the number of associated disk arrays for each disk in the respective subset and the respective indication factor; and

determining the target subset based on the variance of each subset in the set of subsets.

10. An electronic device, comprising:

a processor; and

a memory having computer program instructions stored thereon which, when executed by the processor, cause the electronic device to perform acts comprising:

in response to receiving a message for rebuilding disk arrays in a storage system, determining a target disk that causes the rebuilding;

determining from the disk arrays a set of disk arrays related to the target disk;

generating a plurality of subsets of disk arrays from the set of disk arrays, each subset including a plurality of disk arrays that can be rebuilt in parallel;

determining, based on a number of disks included in each of the plurality of subsets, a target subset from the plurality of subsets; and

rebuilding a plurality of disk arrays in the target subset in parallel,

wherein generating the plurality of subsets from the set of disk arrays comprises:

obtaining a number of cores of computing resources of the storage system;

determining a number of disk arrays in each subset based on the number of the cores; and

generating the plurality of subsets from the set of disk arrays, the number of disk arrays included in each subset being equal to the determined number.

11. The electronic device according to claim 10 , wherein determining the target disk comprises:

in response to receiving the message, obtaining status information of a plurality of disks related to the plurality of disk arrays in the storage system; and

in accordance with a determination that the status information indicates one disk of the plurality of disks is offline, determining the disk as the target disk.

12. The electronic device according to claim 10 , wherein determining the set of disk arrays comprises:

obtaining identifiers of a plurality of disks related to the plurality of disk arrays in the storage system;

determining, based on the identifiers, one or more disk arrays formed with the target disk; and

determining the determined one or more disk arrays as the set of the disk arrays.

13. The electronic device according to claim 12 , wherein obtaining the identifiers comprises:

obtaining metadata related to the plurality of disk arrays; and

determining, from the metadata, an identifier of each disk related to the plurality of disk arrays.

14. The electronic device according to claim 10 , wherein determining the target subset comprises:

determining, based on the number of disks included in each of the plurality of subsets, an indication factor of each subset in the plurality of subsets, the indication factor indicating a ratio of a total number of associated disk arrays of each subset to a number of disks related to each subset; and

determining the target subset from the plurality of subsets based on the indication factor.

15. The electronic device according to claim 14 , wherein determining the indication factor comprises:

determining the number of disks related to each subset;

based on the disks related to each subset, determining all disk arrays associated with the disks, as associated disk arrays of the subset; and

determining the indication factor based on the number of disks related to each subset and the associated disk arrays.

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

in response to receiving a message for rebuilding disk arrays in a storage system, determining a target disk that causes the rebuilding;

determining from the disk arrays a set of disk arrays related to the target disk;

generating a plurality of subsets of disk arrays from the set of disk arrays, each subset including a plurality of disk arrays that can be rebuilt in parallel;

determining, based on a number of disks included in each of the plurality of subsets, a target subset from the plurality of subsets; and

rebuilding a plurality of disk arrays in the target subset in parallel, wherein determining the target subset comprises:

determining, based on the number of disks included in each of the plurality of subsets, an indication factor of each subset in the plurality of subsets, the indication factor indicating a ratio of a total number of associated disk arrays of each subset to a number of disks related to each subset; and

determining the target subset from the plurality of subsets based on the indication factor.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2020
From: YANG, KE; ZHAO, ZHENHUA; ZHUO, BAOTE; QIU, ZHIHUI; XIA, SIHANG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053524/0843 →
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 →