IP Library Granted Patent US 11,709,755
Granted Patent B2
US 11,709,755 · App. 17/201,521 · Granted Jul 25, 2023

Method, device, and program product for managing storage pool of storage system

Inventors: Huijuan Fan (Chengdu, CN); Chi Chen (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F11/3442G06F3/0619G06F3/0644G06F3/0647G06F3/0689G06F11/3037G06F11/3433
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,709,755
App. No.
17/201,521
Granted
Jul 25, 2023
Kind
B2
Abstract

Storage devices in a pool are divided into at least one group with a first number of storage devices in an existing group not higher than a range. When a second number of storage devices are added to the resource pool, a sum of the first number and the second number is determined. A new group is created based on at least a portion of the second number of storage devices when the sum does not satisfy the range; and another portion of the second number of storage devices are added to the existing group. A first storage space portion in each of a set of shared storage devices selected from the existing group is allocated to the existing group, and a second storage space portion in each of the set of shared storage devices is allocated to the new group. The storage space utilization rate can be increased.

Claims (64)

1. A method for managing a resource pool of a storage system, the resource pool including multiple storage devices which are divided into at least one group with a first number of storage devices in an existing group of the at least one group not higher than an upper limit threshold of a group threshold range, wherein the method includes:

determining, according to a determination that a second number of storage devices are added to the resource pool, a sum of the first number and the second number;

creating a new group based on at least a portion of the second number of storage devices according to a determination that the sum of the first number and the second number does not satisfy the group threshold range;

adding another portion of the second number of storage devices to the existing group; and

allocating a first portion of storage space in each of a set of shared storage devices selected from the existing group to the existing group, and a second portion of storage space in each of the set of shared storage devices to the new group,

wherein the allocating is effective to organize the storage devices such that:

each storage device of the set of shared storage devices is a member of the existing group and is also a member of the new group;

the number of storage devices of the existing group including the shared storage devices is equal to the upper limit threshold; and

the number of storage devices of the new group including the shared storage devices is at least a lower limit threshold of the group threshold range.

2. The method according to claim 1 , wherein

allocating the first portion of storage space to the existing group includes: updating address mapping of the existing group based on the first portion of storage space; and

allocating the second portion of storage space to the new group includes: updating address mapping of the new group based on the second portion of storage space.

3. The method according to claim 1 , further including: selecting the set of shared storage devices based on the second number and the lower limit threshold of the group threshold range.

4. The method according to claim 3 , wherein selecting the set of shared storage devices includes:

selecting, according to a determination that the second number is not lower than the lower limit threshold of the group threshold range, the set of shared storage devices from the another portion of storage devices added to the existing group.

5. The method according to claim 3 , wherein selecting the set of shared storage devices includes:

selecting, according to a determination that the second number is lower than the lower limit threshold of the group threshold range, the set of shared storage devices from the another portion of storage devices added to the existing group and the first number of storage devices.

6. The method according to claim 5 , wherein selecting the set of shared storage devices from the first number of storage devices includes:

determining, based on the second number and the group threshold range, a target number of shared storage devices in the set of shared storage devices and from the first number of storage devices; and

selecting, based on a workload of each of the first number of storage devices, at least one storage device satisfying the target number from the first number of storage devices.

7. The method according to claim 6 , wherein selecting the at least one storage device satisfying the target number includes: migrating data in the selected at least one storage device to another storage device in the first number of storage devices according to a determination that idle storage space of the selected at least one storage device is in a proportion less than a threshold proportion.

8. The method according to claim 7 , further including: for a given shared storage device in the set of shared storage devices,

determining the second portion of storage space from idle storage space of the given shared storage device; and

determining the first portion of storage space from a storage space other than the second portion of storage space in the given shared storage device.

9. The method according to claim 1 , further including:

comparing, according to a determination that a third number of storage devices are added to the resource pool, the third number with a difference between the upper limit threshold and the number of storage devices in the new group;

adding the third number of storage devices to the new group according to a determination that the third number is not higher than the difference; and

migrating data in at least a portion of shared storage devices in the set of shared storage devices to the third number of storage devices according to a determination that the set of shared storage devices is non-empty.

10. The method according to claim 9 , wherein migrating the data in the at least a portion of shared storage devices to the third number of storage devices includes:

selecting at least one storage device from the third number of storage devices according to a determination that the number of the set of shared storage devices is not higher than the third number, wherein the number of the at least one storage device is equal to the number of the set of shared storage devices; and

migrating data in the second portion of each of the set of shared storage devices to the selected at least one storage device, respectively.

11. The method according to claim 10 , further including: updating address mapping of the existing group so that the existing group includes all storage space of each of the set of shared storage devices.

12. The method according to claim 9 , wherein migrating the data in the at least a portion of shared storage devices to the third number of storage devices includes:

selecting a subset of shared storage devices from the set of shared storage devices according to a determination that the number of the set of shared storage devices is higher than the third number, wherein the number of shared storage devices in the selected subset is equal to the third number;

migrating data in a second portion of each shared storage device in the selected subset to the third number of storage devices; and

removing the shared storage devices in the subset from the set of shared storage devices.

13. The method according to claim 12 , further including: updating address mapping of the existing group so that the existing group includes all storage space of each shared storage device in the subset.

14. The method according to claim 9 , wherein selecting the subset from the set of shared storage devices includes: selecting the subset from the set of shared storage devices according to a workload of each of the set of shared storage devices.

15. The method according to claim 1 , further including:

comparing, according to a determination that a third number of storage devices are added to the resource pool, the third number with a difference between the upper limit threshold and the number of storage devices in the new group; and

adding a portion of the third number of storage devices to the new group based on the upper limit threshold and according to a determination that the third number is higher than the difference.

16. The method according to claim 1 , further including: performing load balancing for data in storage devices in either of the existing group and the new group.

17. The method according to claim 1 , wherein the upper limit threshold and the lower limit threshold of the group threshold range respectively define an upper limit and a lower limit of the number of storage devices in each group of the at least one group, and the lower limit threshold is determined based on a stripe width of the storage system and the number of backup storage devices.

18. The method according to claim 17 , wherein the number of storage devices in each group other than the existing group of the at least one group is equal to the upper limit threshold, respectively.

19. An electronic device, the device including:

at least one processor; and

a memory coupled to the at least one processor, wherein the memory has instructions stored therein which, when executed by the at least one processor, cause the device to perform a method for managing a resource pool of a storage system, the resource pool including multiple storage devices which are divided into at least one group with a first number of storage devices in an existing group of the at least one group not higher than an upper limit threshold of a group threshold range, wherein the method includes:

determining, according to a determination that a second number of storage devices are added to the resource pool, a sum of the first number and the second number;

creating a new group based on at least a portion of the second number of storage devices according to a determination that the sum of the first number and the second number does not satisfy the group threshold range;

adding another portion of the second number of storage devices to the existing group; and

allocating a first portion of storage space in each of a set of shared storage devices selected from the existing group to the existing group, and a second portion of storage space in each of the set of shared storage devices to the new group,

wherein the allocating is effective to organize the storage devices such that:

each storage device of the set of shared storage devices is a member of the existing group and is also a member of the new group;

the number of storage devices of the existing group including the shared storage devices is equal to the upper limit threshold; and

the number of storage devices of the new group including the shared storage devices is at least a lower limit threshold of the group threshold range.

20. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage a resource pool of a storage system, the resource pool including multiple storage devices which are divided into at least one group with a first number of storage devices in an existing group of the at least one group not higher than an upper limit threshold of a group threshold range; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

determining, according to a determination that a second number of storage devices are added to the resource pool, a sum of the first number and the second number;

creating a new group based on at least a portion of the second number of storage devices according to a determination that the sum of the first number and the second number does not satisfy the group threshold range;

adding another portion of the second number of storage devices to the existing group; and

allocating a first portion of storage space in each of a set of shared storage devices selected from the existing group to the existing group, and a second portion of storage space in each of the set of shared storage devices to the new group,

wherein the allocating is effective to organize the storage devices such that:

each storage device of the set of shared storage devices is a member of the existing group and is also a member of the new group;

the number of storage devices of the existing group including the shared storage devices is equal to the upper limit threshold; and

the number of storage devices of the new group including the shared storage devices is at least a lower limit threshold of the group threshold range.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) 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 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) 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 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) 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 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
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 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2021
From: FAN, HUIJUAN; CHEN, CHI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055889/0808 →