IP Library Granted Patent US 11,068,176
Granted Patent B2
US 11,068,176 · App. 16/504,624 · Granted Jul 20, 2021

Method, apparatus and computer program product for managing storage system

Inventors: Sheng Wang (Beijing, CN); Jian Gao (Beijing, CN); Shuai Ni (Beijing, CN); Geng Han (Beijing, CN); Xinlei Xu (Beijing, CN); Ruiyong Jia (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/0607G06F3/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,068,176
App. No.
16/504,624
Granted
Jul 20, 2021
Kind
B2
Abstract

Techniques manage a storage system. Such techniques involve, in response to receiving a request to add a first number of disks to a storage resource pool in the storage system, determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases. Such techniques further involve determining a second number of disks to be added to the storage resource pool in the first phase. Such techniques further involve determining first information on a first disk array group to be created with the second number of disks in the first phase. Such techniques further involve adding the second number of disks to the storage resource pool in the first phase by creating the first disk array group based on the first information. Such techniques enable a user to obtain an available capacity of the extended storage resource pool quickly and efficiently.

Claims (52)

1. A method for managing a storage system, comprising:

in response to receiving a request to add a first number of disks to a storage resource pool in the storage system, determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases, the storage resource pool including at least one disk having a plurality of extents, at least a part of the plurality of extents being included in at least one disk array group;

in response to determining that the first number of disks are to be added to the storage resource pool in the plurality of phases including a first phase, determining a second number of disks to be added to the storage resource pool in the first phase, the second number of disks being a portion of the first number of disks;

determining first information on a first disk array group to be created with the portion of the first number of disks in the first phase, the determining of the first information including at least obtaining an estimated number of extents to be shuffled prior to creating the first disk array group;

adding the portion of the first number of disks to the storage resource pool in the first phase to extend the storage resource pool;

shuffling the obtained estimated number of extents among the at least one disk included in the storage resource pool and the portion of the first number of disks added to the storage resource pool to allow quicker availability of the extended storage resource pool; and

creating the first disk array group in the storage resource pool based on the first information.

2. The method according to claim 1 , wherein the determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases comprises:

determining, based on the first number, whether to add the first number of disks to the storage resource pool in the plurality of phases.

3. The method according to claim 2 , wherein the determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases comprises:

in response to the first number being below a predetermined threshold, determining that the first number of disks are to be added to the storage resource pool in the plurality of phases.

4. The method according to claim 3 , wherein the at least one disk array group is a redundant array of independent disks (RAID), and the predetermined threshold is associated with a width of the RAID.

5. The method according to claim 3 , wherein the predetermined threshold indicates a minimum number of disks required for creating a storage resource pool.

6. The method according to claim 5 , further comprising:

in response to the first number exceeding the predetermined threshold, create another storage resource pool in the storage system using the first number of disks.

7. The method according to claim 1 , wherein the plurality of phases further include a second phase, and the method further comprises:

determining a third number of disks to be added to the storage resource pool in the second phase;

determining, based on the third number, second information on a second disk array group to be created in the storage resource pool in the second phase; and

in response to the second number of disks being added to the storage resource pool, adding the third number of disks to the storage resource pool in the second phase by creating the second disk array group in the storage resource pool based on the second information.

8. The method according to claim 7 , wherein the third number exceeds the second number.

9. The method according to claim 8 , wherein the second number is one.

10. An apparatus for managing a storage system, comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the apparatus to perform acts comprising:

in response to receiving a request to add a first number of disks to a storage resource pool in the storage system, determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases, the storage resource pool including at least one disk having a plurality of extents, at least a part of the plurality of extents being included in at least one disk array group;

in response to determining that the first number of disks are to be added to the storage resource pool in the plurality of phases including a first phase, determining a second number of disks to be added to the storage resource pool in the first phase, the second number of disks being a portion of the first number of disks;

determining first information on a first disk array group to be created with the portion of the first number of disks in the first phase, the determining of the first information including at least obtaining an estimated number of extents to be shuffled prior to creating the first disk array group;

adding the portion of the first number of disks to the storage resource pool in the first phase to extend the storage resource pool;

shuffling the obtained estimated number of extents among the at least one disk included in the storage resource pool and the portion of the first number of disks added to the storage resource pool to allow quicker availability of the extended storage resource pool; and

creating the first disk array group in the storage resource pool based on the first information.

11. The apparatus according to claim 10 , wherein the determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases comprises:

determining, based on the first number, whether to add the first number of disks to the storage resource pool in the plurality of phases.

12. The apparatus according to claim 11 , wherein the determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases comprises:

in response to the first number being below a predetermined threshold, determining that the first number of disks are to be added to the storage resource pool in the plurality of phases.

13. The apparatus according to claim 12 , wherein the at least one disk array group is a redundant array of independent disks (RAID), and the predetermined threshold is associated with a width of the RAID.

14. The apparatus according to claim 12 , wherein the predetermined threshold indicates a minimum number of disks required for creating a storage resource pool.

15. The apparatus according to claim 14 , wherein the acts further comprise:

in response to the first number exceeding the predetermined threshold, create another storage resource pool in the storage system using the first number of disks.

16. The apparatus according to claim 10 , wherein the plurality of phases further include a second phase, and the method further comprises:

determining a third number of disks to be added to the storage resource pool in the second phase;

determining, based on the third number, second information on a second disk array group to be created in the storage resource pool in the second phase; and

in response to the second number of disks being added to the storage resource pool, adding the third number of disks to the storage resource pool in the second phase by creating the second disk array group in the storage resource pool based on the second information.

17. The apparatus according to claim 16 , wherein the third number exceeds the second number.

18. The apparatus according to claim 17 , wherein the second number is one.

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

in response to receiving a request to add a first number of disks to a storage resource pool in the storage system, determining whether the first number of disks are to be added to the storage resource pool in a plurality of phases, the storage resource pool including at least one disk having a plurality of extents, at least a part of the plurality of extents being included in at least one disk array group;

in response to determining that the first number of disks are to be added to the storage resource pool in the plurality of phases including a first phase, determining a second number of disks to be added to the storage resource pool in the first phase, the second number of disks being a portion of the first number of disks;

determining first information on a first disk array group to be created with the portion of the first number of disks in the first phase, the determining of the first information including at least obtaining an estimated number of extents to be shuffled prior to creating the first disk array group;

adding the portion of the first number of disks to the storage resource pool in the first phase to extend the storage resource pool;

shuffling the obtained estimated number of extents among the at least one disk included in the storage resource pool and the portion of the first number of disks added to the storage resource pool to allow quicker availability of the extended storage resource pool; and

creating the first disk array group in the storage resource pool based on the first information.

20. The computer program product according to claim 19 , wherein determining whether the first number of disks are to be added to the storage resource pool in the plurality of phases, determining the second number of disks, determining the first information, and adding occur while the storage system performs data storage operations in response to host input/output (I/O) requests from a set of host computers.

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 8, 2019
From: WANG, SHENG; GAO, JIAN; NI, SHUAI; HAN, GENG; XU, XINLEI; JIA, RUIYONG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050001/0352 →