IP Library Granted Patent US 12,093,552
Granted Patent B2
US 12,093,552 · App. 17/316,907 · Granted Sep 17, 2024

Data movement between storage tiers of a clustered storage system based on predicted data access frequency trend patterns

Inventors: Chi Chen (Chengdu, CN); Hailan Dong (Chengdu, CN)
Assignee: Dell Products L.P.
G06F3/0647G06F3/0605G06F3/0653G06F3/0659G06F3/067
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 12,093,552
App. No.
17/316,907
Granted
Sep 17, 2024
Kind
B2
Abstract

An apparatus comprises a processing device configured to generate a predicted data access frequency trend pattern of a storage object for a designated period of time, the storage object being stored in a first storage tier in a clustered storage system. The processing device is also configured to classify the storage object based on the predicted data access frequency trend pattern, and to determine a given storage tier in the clustered storage system to utilize for storage of the storage object during the designated period of time based on the predicted data access frequency trend pattern. The processing device is also configured, responsive to the given storage tier being different than the first storage tier, to select a type of data movement based on the classification of the storage object and to utilize the selected type of data movement to move the storage object to the given storage tier.

Claims (59)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

generating a predicted data access frequency trend pattern of a given storage object for a designated period of time, the given storage object being stored utilizing a first type of storage resources in a given one of two or more storage systems in a clustered storage system, the first type of storage resources being associated with a first one of two or more storage tiers in the clustered storage system;

classifying the given storage object as a given one of two or more storage object classes based at least in part on the predicted data access frequency trend pattern of the given storage object for the designated period of time, wherein the two or more storage object classes are permitted to utilize different subsets of a set of two or more different types of data movement;

determining, based at least in part on the predicted data access frequency trend pattern of the given storage object for the designated period of time, a given one of the two or more storage tiers in the clustered storage system to utilize for storage of the given storage object during the designated period of time;

responsive to the given storage tier being different than the first storage tier, selecting one of the two or more different types of data movement to utilize for moving the given storage object to a second type of storage resources of one or more of the storage systems in the clustered storage system, the second type of storage resources being associated with the given storage tier in the clustered storage system, the selected type of data movement being selected from a given subset of the set of two or more different types of data movement which are permitted for the given storage object class associated with the given storage object, the two or more different types of data movement comprising a first type of data movement incurring a first resource cost associated with moving data at a first level of granularity and at least a second type of data movement incurring a second resource cost associated with moving data at a second level of granularity, the second level of granularity being greater than the first level of granularity and the second resource cost being greater than the first resource cost, the first type of data movement comprising intra-storage system data movement between two storage devices within a single one of the two or more storage systems in the clustered storage system, the second type of data movement comprising inter-storage system data movement between a first storage device of a first one of the two or more storage systems in the clustered storage system and a second storage device of a second one of the two or more storage systems in the clustered storage system; and

utilizing the selected type of data movement to move the given storage object to the second type of storage resources of said one or more of the storage systems in the clustered storage system;

wherein the two or more storage object classes comprise:

at least a first storage object class permitted to utilize both the first type of data movement incurring the first resource cost and the second type of data movement incurring the second resource cost; and

at least a second storage object class permitted to utilize the first type of data movement incurring the first resource cost but not the second type of data movement incurring the second resource cost.

2. The apparatus of claim 1 wherein said one or more of the storage systems comprises the given storage system.

3. The apparatus of claim 1 wherein said one or more of the storage systems comprises at least one of the two or more storage systems different than the given storage system.

4. The apparatus of claim 1 wherein:

the first storage object class comprises storage objects with predicted data access frequency trend patterns for the designated period of time that are above a first data access frequency threshold or below a second data access frequency threshold; and

the second storage object class comprises storage objects with predicted data access frequency trend patterns for the designated period of time that are between the first data access frequency threshold and the second data access frequency threshold.

5. The apparatus of claim 1 wherein utilizing the selected type of data movement to move the given storage object to the second type of storage resources of said one or more of the storage systems in the clustered storage system comprises determining a ranking of the two or more storage systems in the clustered storage system for the given storage tier based at least in part on available storage capacity and load handling ability of each of the two or more storage systems for the given storage tier.

6. The apparatus of claim 5 wherein said one or more of the storage systems in the clustered storage system is selected based at least in part on the determined ranking of the two or more storage systems.

7. The apparatus of claim 1 wherein generating the predicted data access frequency trend pattern of the given storage object for the designated period of time comprises generating a prediction function for predicting a total amount of data accesses for the given storage object in the designated period of time.

8. The apparatus of claim 7 wherein the predicted data access frequency trend pattern comprises one of an increasing data access trend pattern and a decreasing data access trend pattern, and wherein the prediction function is generated utilizing a least squares algorithm.

9. The apparatus of claim 7 wherein the predicted data access frequency trend pattern comprises a cyclic data access trend pattern, and wherein the prediction function is generated utilizing at least one of an autocorrelation algorithm and a discrete Fourier transform algorithm.

10. The apparatus of claim 7 wherein the predicted data access frequency trend pattern comprises an irregular data access pattern, and wherein the prediction function is generated utilizing an average of historical data accesses for the given storage object over a previous period of time.

11. The apparatus of claim 1 wherein utilizing the selected type of data movement to move the given storage object to the second type of storage resources of said one or more of the storage systems in the clustered storage system comprises:

determining whether the given storage system has an available amount of the second type of storage resources sufficient to store the given storage object; and

responsive to determining that the given storage system has the available amount of the second type of storage resources sufficient to store the given storage object, moving the given storage object to the second type of storage resources in the given storage system.

12. The apparatus of claim 1 wherein utilizing the selected type of data movement to move the given storage object to the second type of storage resources of said one or more of the storage systems in the clustered storage system comprises:

determining whether the given storage system has an available amount of the second type of storage resources sufficient to store the given storage object;

responsive to determining that the given storage system does not have the available amount of the second type of storage resources sufficient to store the given storage object, determining whether the given storage object class associated with the given storage object permits data movement between different ones of the two or more storage systems in the clustered storage system;

responsive to determining that the given storage object class associated with the given storage object permits data movement between different ones of the two or more storage systems in the clustered storage system, identifying one or more other ones of the two or more storage systems having an available amount of the second type of storage resources sufficient to store the given storage object; and

moving the given storage object to the second type of storage resources in one of the identified storage systems.

13. The apparatus of claim 1 wherein the first level of granularity comprises movement of data at a file or block level and the second level of granularity comprises movement of data at a logical unit or filesystem level.

14. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

generating a predicted data access frequency trend pattern of a given storage object for a designated period of time, the given storage object being stored utilizing a first type of storage resources in a given one of two or more storage systems in a clustered storage system, the first type of storage resources being associated with a first one of two or more storage tiers in the clustered storage system;

classifying the given storage object as a given one of two or more storage object classes based at least in part on the predicted data access frequency trend pattern of the given storage object for the designated period of time, wherein the two or more storage object classes are permitted to utilize different subsets of a set of two or more different types of data movement;

determining, based at least in part on the predicted data access frequency trend pattern of the given storage object for the designated period of time, a given one of the two or more storage tiers in the clustered storage system to utilize for storage of the given storage object during the designated period of time;

responsive to the given storage tier being different than the first storage tier, selecting one of the two or more different types of data movement to utilize for moving the given storage object to a second type of storage resources of one or more of the storage systems in the clustered storage system, the second type of storage resources being associated with the given storage tier in the clustered storage system, the selected type of data movement being selected from a given subset of the set of two or more different types of data movement which are permitted for the given storage object class associated with the given storage object, the two or more different types of data movement comprising a first type of data movement incurring a first resource cost associated with moving data at a first level of granularity and at least a second type of data movement incurring a second resource cost associated with moving data at a second level of granularity, the second level of granularity being greater than the first level of granularity and the second resource cost being greater than the first resource cost, the first type of data movement comprising intra-storage system data movement between two storage devices within a single one of the two or more storage systems in the clustered storage system, the second type of data movement comprising inter-storage system data movement between a first storage device of a first one of the two or more storage systems in the clustered storage system and a second storage device of a second one of the two or more storage systems in the clustered storage system; and

utilizing the selected type of data movement to move the given storage object to the second type of storage resources of said one or more of the storage systems in the clustered storage system;

wherein the two or more storage object classes comprise:

at least a first storage object class permitted to utilize both the first type of data movement incurring the first resource cost and the second type of data movement incurring the second resource cost; and

at least a second storage object class permitted to utilize the first type of data movement incurring the first resource cost but not the second type of data movement incurring the second resource cost.

15. The computer program product of claim 14 wherein:

the first storage object class comprises storage objects with predicted data access frequency trend patterns for the designated period of time that are above a first data access frequency threshold or below a second data access frequency threshold; and

the second storage object class comprises storage objects with predicted data access frequency trend patterns for the designated period of time that are between the first data access frequency threshold and the second data access frequency threshold.

16. The computer program product of claim 14 wherein the first level of granularity comprises movement of data at a file or block level and the second level of granularity comprises movement of data at a logical unit or filesystem level.

17. A method comprising:

generating a predicted data access frequency trend pattern of a given storage object for a designated period of time, the given storage object being stored utilizing a first type of storage resources in a given one of two or more storage systems in a clustered storage system, the first type of storage resources being associated with a first one of two or more storage tiers in the clustered storage system;

classifying the given storage object as a given one of two or more storage object classes based at least in part on the predicted data access frequency trend pattern of the given storage object for the designated period of time, wherein the two or more storage object classes are permitted to utilize different subsets of a set of two or more different types of data movement;

determining, based at least in part on the predicted data access frequency trend pattern of the given storage object for the designated period of time, a given one of the two or more storage tiers in the clustered storage system to utilize for storage of the given storage object during the designated period of time;

responsive to the given storage tier being different than the first storage tier, selecting one of the two or more different types of data movement to utilize for moving the given storage object to a second type of storage resources of one or more of the storage systems in the clustered storage system, the second type of storage resources being associated with the given storage tier in the clustered storage system, the selected type of data movement being selected from a given subset of the set of two or more different types of data movement which are permitted for the given storage object class associated with the given storage object, the two or more different types of data movement comprising a first type of data movement incurring a first resource cost associated with moving data at a first level of granularity and at least a second type of data movement incurring a second resource cost associated with moving data at a second level of granularity, the second level of granularity being greater than the first level of granularity and the second resource cost being greater than the first resource cost, the first type of data movement comprising intra-storage system data movement between two storage devices within a single one of the two or more storage systems in the clustered storage system, the second type of data movement comprising inter-storage system data movement between a first storage device of a first one of the two or more storage systems in the clustered storage system and a second storage device of a second one of the two or more storage systems in the clustered storage system; and

utilizing the selected type of data movement to move the given storage object to the second type of storage resources of said one or more of the storage systems in the clustered storage system;

wherein the two or more storage object classes comprise:

at least a first storage object class permitted to utilize both the first type of data movement incurring the first resource cost and the second type of data movement incurring the second resource cost; and

at least a second storage object class permitted to utilize the first type of data movement incurring the first resource cost but not the second type of data movement incurring the second resource cost; and

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

18. The method of claim 17 wherein:

the first storage object class comprises storage objects with predicted data access frequency trend patterns for the designated period of time that are above a first data access frequency threshold or below a second data access frequency threshold; and

the second storage object class comprises storage objects with predicted data access frequency trend patterns for the designated period of time that are between the first data access frequency threshold and the second data access frequency threshold.

19. The method of claim 17 wherein utilizing the selected type of data movement to move the given storage object to the second type of storage resources of said one or more of the storage systems in the clustered storage system comprises determining a ranking of the two or more storage systems in the clustered storage system for the given storage tier based at least in part on available storage capacity and load handling ability of each of the two or more storage systems for the given storage tier.

20. The method of claim 17 wherein the first level of granularity comprises movement of data at a file or block level and the second level of granularity comprises movement of data at a logical unit or filesystem level.

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 May 11, 2021
From: CHEN, CHI; DONG, HAILAN
To: DELL PRODUCTS L.P.
Reel/Frame 056197/0818 →
Priority Claims (1)
CN 202110403293.8 · Apr 14, 2021 · national
Continuity (1)
Related Publication 20220342578A1 · Oct 27, 2022