IP Library Granted Patent US 11,755,245
Granted Patent B2
US 11,755,245 · App. 17/324,565 · Granted Sep 12, 2023

Method, device, and computer program product for managing access workload of storage system

Inventors: Chi Chen (Chengdu, CN); Huijuan Fan (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0604G06F3/0653G06F3/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,755,245
App. No.
17/324,565
Granted
Sep 12, 2023
Kind
B2
Abstract

Techniques manage an access load of a storage system. For storage devices in the storage system, access histories of the storage devices in a previous time period are received respectively. Access loads of the storage devices in a future time period are determined respectively based on the access histories of the storage devices, the future time period being between a current time point and a future time point for performing future load balancing. An access balance degree of the storage system at the future time point is acquired based on the access loads. Load balancing is performed among the storage devices in response to determining that the access balance degree satisfies a first predetermined condition. Accordingly, it is possible to determine an access load of each storage device in a storage system more accurately and ensure that the access loads of the storage devices are in a balanced state.

Claims (81)

1. A method for managing an access load of a storage system, comprising:

receiving, for a plurality of storage devices in the storage system, a plurality of access histories of the plurality of storage devices in a previous time period respectively;

determining a plurality of access loads of the plurality of storage devices in a future time period respectively based on the plurality of access histories of the plurality of storage devices, the future time period being between a current time point and a future time point for performing future load balancing;

acquiring an access balance degree of the storage system at the future time point based on the plurality of access loads; and

performing load balancing among the plurality of storage devices in response to determining that the access balance degree satisfies a first predetermined condition;

wherein data in the storage system is stored in a set of stripes, stripes in the set of stripes comprising a plurality of extents from at least part of the plurality of storage devices, and performing the load balancing comprises:

selecting a source storage device and a destination storage device from the plurality of storage devices respectively; and

moving data in the source storage device to an idle extent in the destination storage device.

2. The method according to claim 1 , wherein determining the plurality of access loads of the plurality of storage devices in the future time period respectively comprises: for a storage device in the plurality of storage devices,

acquiring a plurality of access load predictions of the storage device at a plurality of time points in the future time period respectively; and

determining an access load of the storage device based on the plurality of access load predictions.

3. The method according to claim 2 , wherein acquiring the plurality of access load predictions respectively comprises:

acquiring a prediction model describing an association relationship between access histories and access loads of storage devices in the storage system; and

determining, for a time point in the plurality of time points, an access load prediction of the storage device at the time point using the prediction model and an access history of the storage device in the previous time period.

4. The method according to claim 3 , wherein selecting the source storage device and the destination storage device comprises:

determining a plurality of load balance indexes of the plurality of storage devices respectively based on access load predictions of the plurality of storage devices at the plurality of time points; and

selecting the source storage device and the destination storage device from the plurality of storage devices based on the plurality of load balance indexes.

5. The method according to claim 4 , wherein selecting the source storage device based on the plurality of load balance indexes further comprises:

selecting the source storage device based on the plurality of selecting the source storage device based on the plurality of load balance indexes and a plurality of device correlations of the plurality of storage devices, the device correlation representing a distribution of the set of stripes involved by the storage system between the storage device and other storage devices than the storage device.

6. The method according to claim 4 , wherein moving the data in the source storage device to the idle extent in the destination storage device further comprises:

determining, based on access load predictions of a plurality of source extents in the source storage device at the plurality of time points, a plurality of extent access loads of the plurality of source extents respectively;

selecting a source extent from the plurality of source extents based on the plurality of extent access loads; and

moving data in the source extent to the idle extent.

7. The method according to claim 6 , wherein selecting the destination storage device further comprises:

selecting the destination storage device based on the plurality of load balance indexes and a stripe correlation between a stripe where the source extent is located and a storage device in the plurality of storage devices.

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

determining a load balance index of the destination storage device after data in the source extent is moved to the idle extent in the destination storage device; and

moving the data in the source extent to the idle extent in the destination storage device according to determining that the load balance index of the source storage device is higher than the load balance index of the destination storage device.

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

determining an updated access balance degree of the storage system after data in the source extent is moved to the idle extent in the destination storage device; and

stopping the load balancing according to determining that the updated access balance degree satisfies a second predetermined condition.

10. 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 that, when executed by the at least one processor, cause the device to perform actions for managing an access load of a storage system, the actions comprising:

receiving, for a plurality of storage devices in the storage system, a plurality of access histories of the plurality of storage devices in a previous time period respectively;

determining a plurality of access loads of the plurality of storage devices in a future time period respectively based on the plurality of access histories of the plurality of storage devices, the future time period being between a current time point and a future time point for performing future load balancing;

acquiring an access balance degree of the storage system at the future time point based on the plurality of access loads; and

performing load balancing among the plurality of storage devices in response to determining that the access balance degree satisfies a first predetermined condition;

wherein data in the storage system is stored in a set of stripes, stripes in the set of stripes comprising a plurality of extents from at least part of the plurality of storage devices, and performing the load balancing comprises:

selecting a source storage device and a destination storage device from the plurality of storage devices respectively; and

moving data in the source storage device to an idle extent in the destination storage device.

11. The device according to claim 10 , wherein determining the plurality of access loads of the plurality of storage devices in the future time period respectively comprises: for a storage device in the plurality of storage devices,

acquiring a plurality of access load predictions of the storage device at a plurality of time points in the future time period respectively; and

determining an access load of the storage device based on the plurality of access load predictions.

12. The device according to claim 11 , wherein acquiring the plurality of access load predictions respectively comprises:

acquiring a prediction model describing an association relationship between access histories and access loads of storage devices in the storage system; and

determining, for a time point in the plurality of time points, an access load prediction of the storage device at the time point using the prediction model and an access history of the storage device in the previous time period.

13. The device according to claim 12 , wherein selecting the source storage device and the destination storage device comprises:

determining a plurality of load balance indexes of the plurality of storage devices respectively based on access load predictions of the plurality of storage devices at the plurality of time points; and

selecting the source storage device and the destination storage device from the plurality of storage devices based on the plurality of load balance indexes.

14. The device according to claim 13 , wherein selecting the source storage device based on the plurality of load balance indexes further comprises:

selecting the source storage device based on the plurality of selecting the source storage device based on the plurality of load balance indexes and a plurality of device correlations of the plurality of storage devices, the device correlation representing a distribution of the set of stripes involved by the storage system between the storage device and other storage devices than the storage device.

15. The device according to claim 13 , wherein moving the data in the source storage device to the idle extent in the destination storage device further comprises:

determining, based on access load predictions of a plurality of source extents in the source storage device at the plurality of time points, a plurality of extent access loads of the plurality of source extents respectively;

selecting a source extent from the plurality of source extents based on the plurality of extent access loads; and

moving data in the source extent to the idle extent.

16. The device according to claim 15 , wherein selecting the destination storage device further comprises:

selecting the destination storage device based on the plurality of load balance indexes and a stripe correlation between a stripe where the source extent is located and a storage device in the plurality of storage devices.

17. The device according to claim 10 , wherein the actions further comprise:

determining a load balance index of the destination storage device after data in the source extent is moved to the idle extent in the destination storage device;

moving the data in the source extent to the idle extent in the destination storage device according to determining that the load balance index of the source storage device is higher than the load balance index of the destination storage device,

determining an updated access balance degree of the storage system after data in the source extent is moved to the idle extent in the destination storage device; and

stopping the load balancing according to determining that the updated access balance degree satisfies a second predetermined condition.

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

receiving, for a plurality of storage devices in the storage system, a plurality of access histories of the plurality of storage devices in a previous time period respectively;

determining a plurality of access loads of the plurality of storage devices in a future time period respectively based on the plurality of access histories of the plurality of storage devices, the future time period being between a current time point and a future time point for performing future load balancing;

acquiring an access balance degree of the storage system at the future time point based on the plurality of access loads; and

performing load balancing among the plurality of storage devices in response to determining that the access balance degree satisfies a first predetermined condition;

wherein data in the storage system is stored in a set of stripes, stripes in the set of stripes comprising a plurality of extents from at least part of the plurality of storage devices, and performing the load balancing comprises:

selecting a source storage device and a destination storage device from the plurality of storage devices respectively; and

moving data in the source storage device to an idle extent in the destination storage device.

19. A method for managing an access load of a storage system, comprising:

receiving, for a plurality of storage devices in the storage system, a plurality of access histories of the plurality of storage devices in a previous time period respectively;

determining a plurality of access loads of the plurality of storage devices in a future time period respectively based on the plurality of access histories of the plurality of storage devices, the future time period being between a current time point and a future time point for performing future load balancing;

acquiring an access balance degree of the storage system at the future time point based on the plurality of access loads;

performing load balancing among the plurality of storage devices in response to determining that the access balance degree satisfies a first predetermined condition;

determining a load balance index of a destination storage device after data in a source extent is moved to an idle extent in the destination storage device; and

moving the data in the source extent to the idle extent in the destination storage device according to determining that a load balance index of a source storage device is higher than the load balance index of the destination storage device.

20. The method according to claim 19 , further comprising:

determining an updated access balance degree of the storage system after data in the source extent is moved to the idle extent in the destination storage device; and

stopping the load balancing according to determining that the updated access balance degree satisfies a second predetermined condition.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 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 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2021
From: CHEN, CHI; FAN, HUIJUAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056438/0099 →
Priority Claims (1)
CN 202011532115.7 · Dec 22, 2020 · national
Continuity (1)
Related Publication 20220197559A1 · Jun 23, 2022