IP Library Granted Patent US 11,474,716
Granted Patent B2
US 11,474,716 · App. 17/036,560 · Granted Oct 18, 2022

Method, device, and computer program product for creating stripe in storage system

Inventors: Michael Chen (Chengdu, CN); Huijuan Fan (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/0604G06F3/0616G06F3/0649G06F3/0653G06F3/0659G06F3/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,474,716
App. No.
17/036,560
Granted
Oct 18, 2022
Kind
B2
Abstract

A method, a device, and a computer program product for creating a stripe in a storage system. In the method, a balance index of a storage device in multiple storage devices in the storage system is determined. Here, the balance index indicates a relationship between the state distribution of a set of stripes which have been allocated for use in the storage device and the state distribution of a set of stripes which have been allocated for use in the multiple storage devices. An influence factor for the balance index of the storage device in the multiple storage devices is determined according to attributes of the storage device in the multiple storage devices. A storage device for creating a stripe is selected from the multiple storage devices based on the determined balance index and the determined influence factor. One extent in the selected storage device is added to the stripe.

Claims (61)

1. A method for creating a new stripe in a storage system which comprises multiple storage devices, the method comprising:

determining a balance index of a first storage device in the multiple storage devices, wherein the balance index indicates a relationship between the state distribution of a first set of stripes which have been allocated for use in the first storage device and the state distributions of other sets of stripes which have been allocated for use in other ones of the storage devices in the multiple storage devices;

determining, according to attributes of the first storage device in the multiple storage devices, an influence factor for the balance index of the first storage device in the multiple storage devices;

selecting, based at least in part on the determined balance index and the determined influence factor, one of the storage devices from the multiple storage devices for creating the new stripe; and

adding one extent in the selected storage device to the new stripe;

wherein the balance index of the first storage device is determined based at least in part on correlations between the first storage device and each of one or more of the other ones of the storage devices in the multiple storage devices, the correlation between the first storage device and a given other one of the storage devices in the multiple storage devices being based at least in part on a number of stripes in the storage system that utilize both the first storage device and the given other storage device.

2. The method according to claim 1 , wherein the attributes of the first storage device comprise a storage capacity of the first storage device, and determining the influence factor comprises: determining the influence factor based at least in part on a ratio between the storage capacity of the first storage device and storage capacities of the one or more of the other ones of the storage devices in the multiple storage devices.

3. The method according to claim 2 , wherein the attributes of the first storage device comprise a type of data stored in the first storage device, the type of data stored in the first storage device comprising at least one of a user data type and a system data type, and determining the influence factor further comprises: amplifying the influence factor according to a determination that the type of data stored in the first storage device is the system data type.

4. The method according to claim 3 , wherein amplifying the influence factor comprises: amplifying the influence factor based at least in part on a ratio between the storage capacity of the first storage device and a portion of the storage capacity of the first storage device that can be used to store user data.

5. The method according to claim 1 , wherein determining the balance index of the first storage device comprises:

determining the device correlation of the first storage device;

determining device correlations of the one or more of the other ones of the storage devices in the multiple storage devices, respectively; and

determining the balance index of the first storage device based at least in part on the device correlation of the first storage device and the device correlations of the one or more of the other ones of the storage devices in the multiple storage devices.

6. The method according to claim 5 , wherein determining the balance index of the first storage device further comprises:

determining an access load of the first storage device;

determining access loads of the one or more of the other ones of the storage devices in the multiple storage devices, respectively; and

updating the balance index of the first storage device based at least in part on the access load of the first storage device and the access loads of the one or more of the other ones of the storage devices in the multiple storage devices.

7. The method according to claim 5 , wherein determining the balance index of the first storage device further comprises:

determining a wear degree of the first storage device;

determining wear degrees of the one or more of the other ones of the storage devices in the multiple storage devices, respectively; and

updating the balance index of the first storage device based at least in part on the wear degree of the first storage device and the wear degrees of the one or more of the other ones of the storage devices in the multiple storage devices.

8. The method according to claim 1 , wherein selecting one of the storage devices from the multiple storage devices comprises:

selecting the first storage device according to a determination that the balance index of the first storage device is lower than a balance index of a second storage device in the multiple storage devices.

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

determining, for a first set of the storage devices in the multiple storage devices which do not comprise any extent of the new stripe, a stripe balance index of a given one of the storage devices in the first set of storage devices with respect to the new stripe;

selecting, based at least in part on the determined stripe balance index, one of the storage devices in the first set of storage devices; and

adding one extent in the selected storage device in the first set of storage devices to the new stripe.

10. The method according to claim 9 , wherein determining the stripe balance index of the given storage device in the first set of storage devices with respect to the new stripe comprises:

determining, in the multiple storage devices, a second set of storage devices that respectively comprise extents in the new stripe; and

determining, based at least in part on a balance index between the given storage device in the first set of storage devices and each storage device of the second set of storage devices, the stripe balance index of the given storage device in the first set of storage devices with respect to the new stripe.

11. The method according to claim 10 , wherein selecting, based at least in part on the determined stripe balance index, said one of the storage devices in the first set of storage devices comprises:

selecting said one of the storage devices in the first set of storage devices according to a determination that a first stripe balance index of said one of the storage devices in the first set of storage devices is lower than a second stripe balance index of at least one other storage device in the first set of storage devices.

12. The method according to claim 10 , wherein selecting, based at least in part on the determined stripe balance index, said one of the storage devices in the first set of storage devices comprises:

selecting said one of the storage devices in the first set of storage devices based at least in part on the determined stripe balance index and a balance index of said one of the storage devices in the first set of storage devices.

13. The method according to claim 10 , wherein determining the stripe balance index further comprises:

determining the stripe balance index of the given one of the storage devices in the first set of storage devices with respect to the new stripe according to a determination that thea number of extents in the new stripe does not satisfy a width of the new stripe.

14. An electronic device, comprising:

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 an action for creating a new stripe in a storage system comprising multiple storage devices, the action comprising:

determining a balance index of a first storage device in the multiple storage devices, wherein the balance index indicates a relationship between the state distribution of a first set of stripes which have been allocated for use in the first storage device and the state distributions of other sets of stripes which have been allocated for use in other ones of the storage devices of the multiple storage devices;

determining, according to attributes of the first storage device in the multiple storage devices, an influence factor for the balance index of the first storage device in the multiple storage devices;

selecting, based at least in part on the determined balance index and the determined influence factor, one of the storage devices from the multiple storage devices for creating the new stripe; and

adding one extent in the selected storage device to the new stripe;

wherein the balance index of the first storage device is determined based at least in part on correlations between the first storage device and each of one or more of the other ones of the storage devices in the multiple storage devices, the correlation between the first storage device and a given other one of the storage devices in the multiple storage devices being based at least in part on a number of stripes in the storage system that utilize both the first storage device and the given other storage device.

15. The device according to claim 14 , wherein the attributes of the first storage device comprise a storage capacity of the first storage device, and determining the influence factor comprises: determining the influence factor based at least in part on a ratio between the storage capacity of the first storage device and storage capacities of the one or more of the other ones of the storage devices in the multiple storage devices.

16. The device according to claim 15 , wherein the attributes of the first storage device comprise a type of data stored in the first storage device, the type of data stored in the first storage device comprising at least one of a user data type and a system data type, and determining the influence factor further comprises: amplifying the influence factor according to a determination that the type of data stored in the first storage device is the system data type.

17. The device according to claim 16 , wherein amplifying the influence factor comprises: amplifying the influence factor based at least in part on a ratio between the storage capacity of the first storage device and a portion of the storage capacity of the first storage device that can be used to store user data.

18. The device according to claim 14 , wherein determining the balance index of the first storage device comprises:

determining the device correlation of the first storage device;

determining device correlations of the one or more of the other ones of the storage devices in the multiple storage devices, respectively; and

determining the balance index of the first storage device based at least in part on the device correlation of the first storage device and the device correlations of the one or more of the other ones of the storage devices in the multiple storage devices.

19. The device according to claim 18 , wherein determining the balance index of the first storage device further comprises:

determining an access load of the first storage device;

determining access loads of the one or more of the other ones of the storage devices in the multiple storage devices, respectively; and

updating the balance index of the first storage device based at least in part on the access load of the first storage device and the access loads of the one or more of the other ones of the storage devices in the multiple storage devices.

20. A computer program product tangibly stored on a non-transitory computer-readable medium and comprising machine-executable instructions, wherein the machine-executable instructions are used to perform a method for creating a stripe in a storage system which comprises multiple storage devices, the method comprising:

determining a balance index of a first storage device in the multiple storage devices, wherein the balance index indicates a relationship between the state distribution of a first set of stripes which have been allocated for use in the first storage device and the state distributions of other sets of stripes which have been allocated for use in other ones of the storage devices in the multiple storage devices;

determining, according to attributes of the first storage device in the multiple storage devices, an influence factor for the balance index of the first storage device in the multiple storage devices;

selecting, based at least in part on the determined balance index and the determined influence factor, one of the storage devices from the multiple storage devices for creating the new stripe; and

adding one extent in the selected storage device to the new stripe;

wherein the balance index of the first storage device is determined based at least in part on correlations between the first storage device and each of one or more of the other ones of the storage devices in the multiple storage devices, the correlation between the first storage device and a given other one of the storage devices in the multiple storage devices being based at least in part on a number of stripes in the storage system that utilize both the first storage device and the given other storage device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2020
From: CHEN, MICHAEL; FAN, HUIJUAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053918/0784 →
Priority Claims (1)
CN 202010878372.X · Aug 27, 2020 · national
Continuity (1)
Related Publication 20220066663A1 · Mar 3, 2022
Cited By (1)
US 12,386,519