IP Library Granted Patent US 11,157,190
Granted Patent B2
US 11,157,190 · App. 16/507,313 · Granted Oct 26, 2021

Method, device and computer program product for managing raid

Inventors: Geng Han (Beijing, CN); Jian Gao (Beijing, CN); Zhihui Qiu (Beijing, CN); Jibing Dong (Beijing, CN); Hongpo Gao (Beijing, CN); Tianshu Sun (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0644G06F3/0619G06F3/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,157,190
App. No.
16/507,313
Granted
Oct 26, 2021
Kind
B2
Abstract

Techniques manage redundant arrays of independent drives (RAID). The techniques involve: in response to a target stripe to be built in the RAID, determining, from a resource pool, whether there are spare extents associated with at least one system disk. The techniques further involve: in response to determining that there are spare extents associated with at least one system disk, determining an adjacent relationship of used extents associated with the at least one system disk within a RAID stripe. The techniques further involve: determining, based on the adjacent relationship and the spare extents, an extent for building the target stripe. Accordingly, the total number of the RAID stripes including extents associated with the system disks can be reduced significantly, and a balance can be achieved within spare extents associated with system disks and spare extents associated with user disks for building a RAID stripe.

Claims (63)

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

in response to a target stripe to be built in the RAID, determining, from a resource pool including at least one system disk and at least one user disk, wherein the at least one system disk in the resource pool includes spaces reserved for storing software and metadata of management file systems, whether there are spare extents associated with the at least one system disk;

in response to determining that there are the spare extents associated with the at least one system disk, determining an adjacent relationship of used extents associated with the at least one system disk within a RAID stripe; and

determining, based on the adjacent relationship and the spare extents, an extent for building the target stripe.

2. The method of claim 1 , wherein the at least one system disk comprises a plurality of system disks, determining, from the resource pool, whether there are spare extents associated with the at least one system disk, comprising:

determining, from the resource pool, whether there are spare extents associated with the plurality of system disks;

in response to determining that there are the spare extents associated with the plurality of system disks, obtaining information indicating a size of spare extents associated with the plurality of system disks; and

in response to the size exceeding a threshold size, determining the spare extents associated with the plurality of system disks as the extent for building the target stripe.

3. The method of claim 1 , wherein the at least one system disk in the resource pool comprises a plurality of system disks, and wherein determining the adjacent relationship comprises:

determining, from among the plurality of system disks in the resource pool, a system disk corresponding to a first used extent; and

determining the adjacent relationship between the first used extent and spare extents associated with system disks in the resource pool other than the system disk corresponding to the first used extent.

4. The method of claim 1 , wherein determining the extent for building the target stripe comprises:

determining a first number of system disks in the resource pool;

determining a second number of system disks associated with the target stripe;

in response to the second number being less than the first number, determining the extent for building the target stripe from the spare extents; and

in response to the second number being equal to the first number, determining the extent for building the target stripe from the user disk in the resource pool.

5. The method of claim 1 , further comprising:

in response to determining there is no spare extent associated with the at least one system disk, determining, from the user disk in the resource pool, the extent for building the target stripe.

6. The method of claim 5 , wherein determining the extent for building the target stripe comprises:

obtaining information indicating a size of spare extents associated with the user disk; and

in response to the size exceeding a threshold size, determining the spare extents associated with the user disk as the extent for building the target stripe.

7. The method of claim 5 , wherein determining the extent for building the target stripe comprises:

determining an adjacent relationship of used extents associated with the user disk within the RAID stripe; and

determining, based on the adjacent relationship and spare extents associated with the user disk, the extent for building the target stripe.

8. The method of claim 7 , wherein the at least one user disk in the resource pool comprises a plurality of user disks, and wherein determining the adjacent relationship comprises:

determining, from among the plurality of user disks in the resource pool, a user disk corresponding to a first used extent; and

determining the adjacent relationship between the first used extent and spare extents associated with user disks in the resource pool other than the user disk corresponding to the first used extent.

9. The method of claim 7 , wherein determining the adjacent relationship of the used extents associated with the at least one system disk within the RAID stripe includes building a neighborhood matrix for the resource pool.

10. A device for managing redundant arrays of independent drives (RAID), comprising:

at least one processor; and

a memory coupled with the at least one processor, the memory including an instruction stored therein, the instruction, when executed by the at least one processor, causing the device to execute acts of:

in response to a target stripe to be built in the RAID, determining, from a resource pool including at least one system disk and at least one user disk, wherein the at least one system disk in the resource pool includes spaces reserved for storing software and metadata of management file systems, whether there are spare extents associated with the at least one system disk;

in response to determining that there are the spare extents associated with the at least one system disk, determining an adjacent relationship of used extents associated with the at least one system disk within a RAID stripe; and

determining, based on the adjacent relationship and the spare extents, an extent for building the target stripe.

11. The device of claim 10 , wherein the at least one system disk comprises a plurality of system disks, determining, from a resource pool, whether there are spare extents associated with at least one system disk, comprising:

determining, from the resource pool, whether there are spare extents associated with the plurality of system disks;

in response to determining that there are the spare extents associated with the plurality of system disks, obtaining information indicating a size of spare extents associated with the plurality of system disks; and

in response to the size exceeding a threshold size, determining the spare extents associated with the plurality of system disks as the extent for building the target stripe.

12. The device of claim 10 , wherein the at least one system disk in the resource pool comprises a plurality of system disks, and wherein determining the adjacent relationship comprises:

determining, from among the plurality of disks in the resource pool, a system disk corresponding to a first used extent; and

determining, the adjacent relationship between the first used extent and spare extents associated with system disks in the resource pool other than the system disk corresponding to the first used extent.

13. The device of claim 10 , wherein determining the extent for building the target stripe comprises:

determining a first number of system disks in the resource pool;

determining a second number of system disks associated with the target stripe;

in response to the second number being less than the first number, determining the extent for building the target stripe from the spare extents; and

in response to the second number being equal to the first number, determining the extent for building the target stripe from the user disk in the resource pool.

14. The device of claim 10 , further comprising:

in response to determining there is no spare extent associated with the at least one system disk, determining, from the user disk in the resource pool, the extent for building the target stripe.

15. The device of claim 14 , wherein determining the extent for building the target stripe comprises:

obtaining information indicating a size of spare extents associated with the user disk; and

in response to the size exceeding a threshold size, determining the spare extents associated with the user disk as the extent for building the target stripe.

16. The device of claim 14 , wherein determining the extent for building the target stripe comprises:

determining an adjacent relationship of used extents associated with the user disk within the RAID stripe; and

determining, based on the adjacent relationship and spare extents associated with the user disk, the extent for building the target stripe.

17. The device of claim 16 , wherein the at least one user disk in the resource pool comprises a plurality of user disks, and wherein determining the adjacent relationship comprises:

determining, from among the plurality of user disks in the resource pool, a user disk corresponding to a first used extent; and

determining the adjacent relationship between the first used extent and spare extents associated with user disks in the resource pool other than the user disk corresponding to the first used extent.

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

in response to a target stripe to be built in the RAID, determining, from a resource pool including at least one system disk and at least one user disk, wherein the at least one system disk in the resource pool includes spaces reserved for storing software and metadata of management file systems, whether there are spare extents associated with the at least one system disk;

in response to determining that there are the spare extents associated with the at least one system disk, determining an adjacent relationship of used extents associated with the at least one system disk within a RAID stripe; and

determining, based on the adjacent relationship and the spare extents, an extent for building the target stripe.

19. The computer program product as in claim 18 , further comprising:

in response to determining the extent for building the target stripe, performing a target stripe build operation that builds the target stripe.

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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: HAN, GENG; GAO, JIAN; QIU, ZHIHUI; DONG, JIBING; GAO, HONGPO; SUN, TIANSHU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050207/0752 →