IP Library Granted Patent US 11,137,926
Granted Patent B1
US 11,137,926 · App. 15/941,926 · Granted Oct 5, 2021

Systems and methods for automatic storage tiering

Inventors: Niranjan Pendharkar (Pune, IN); Anindya Banerjee (Pune, IN); Naveen Ramachandrappa (San Jose, CA); Ramya Mula (San Jose, CA)
Assignee: Veritas Technologies LLC
G06F3/0647G06F3/0611G06F3/0653G06F3/0683G06N20/00
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,137,926
App. No.
15/941,926
Granted
Oct 5, 2021
Kind
B1
Abstract

The disclosed computer-implemented method for automatic storage tiering may include (1) receiving characteristics of previous accesses to storage system objects stored in a data storage system including multiple storage tiers, (2) generating, based on the characteristics of previous accesses to the storage system objects, a model that predicts characteristics of future accesses to the storage system objects, (3) selecting, based on the model, a next storage tier of the multiple storage tiers for each of the storage system objects, and (4) relocating at least some of the storage system objects from a current storage tier to the next storage tier selected for each of the at least some of the storage system objects. Various other methods, systems, and computer-readable media are also disclosed.

Claims (74)

1. A computer-implemented method for automatic storage tiering, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving characteristics of previous accesses to storage system objects stored in a data storage system comprising multiple storage tiers;

generating, using a first machine learning algorithm and based on the characteristics of previous accesses to the storage system objects, a model that:

predicts characteristics of future accesses to the storage system objects during a future time period; and

predicts characteristics of future activity loads on the data storage system, wherein the characteristics of future activity loads comprise at least one predicted time period of reduced activity load on the data storage system;

selecting, using a second machine learning algorithm comprising an unsupervised k-means clustering algorithm that is different from the first machine learning algorithm, a next storage tier of the multiple storage tiers in which each of the storage system objects is to be stored during the future time period, wherein the unsupervised k-means clustering algorithm clusters the storage system objects into a number of groups associated with the multiple storage tiers according to similarity in access patterns during the future time period based on the characteristics of future accesses to the storage system objects predicted by the model, wherein the unsupervised k-means clustering algorithm determines the number of groups, wherein the number of groups is not equal to a number of tiers of the multiple storage tiers of the data storage system in which the storage system objects are to be stored; and

relocating at least some of the storage system objects from a current storage tier to the next storage tier selected for each of the at least some of the storage system objects during the at least one predicted time period of reduced activity load.

2. The computer-implemented method of claim 1 , wherein:

receiving the characteristics of previous accesses to the storage system objects comprises issuing file-listing commands; and

the characteristics of previous accesses to the storage system objects comprise, for each of at least some of the storage system objects, at least one of:

a last access time for the storage system object; or

a last modification time for the storage system object.

3. The computer-implemented method of claim 1 , wherein:

receiving the characteristics of previous accesses to the storage system objects comprises receiving data from a least one of:

a file change log; or

an intelligent infrastructure management system; and

the characteristics of previous accesses to the storage system objects comprise, for each of at least some of the previous accesses of at least some of the storage system objects, at least one of:

a timestamp indicating when the previous access occurred;

an identity of an entity that initiated the previous access; or

an amount of data transferred during the previous access.

4. The computer-implemented method of claim 1 , wherein:

receiving the characteristics of previous accesses to the storage system objects comprises issuing operating system monitoring commands; and

the characteristics of previous accesses to the storage system objects comprise statistics describing previous activity involving at least one of:

virtual memory;

file systems; or

data storage devices.

5. The computer-implemented method of claim 1 , wherein:

the first machine learning algorithm comprises an unsupervised pattern prediction algorithm that:

learns, based on at least some of the characteristics of previous accesses to the storage system objects, previous access patterns to the storage system objects; and

generates the model based on the previous access patterns to the storage system objects.

6. The computer-implemented method of claim 5 , further comprising:

processing the at least some of the characteristics of previous accesses to the storage system objects to generate time series data as input for the first machine learning algorithm.

7. The computer-implemented method of claim 6 , wherein processing the at least some of the characteristics of previous accesses to the storage system objects comprises:

supplying data missing from one or more of the at least some of the characteristics of previous accesses to the storage system objects.

8. The computer-implemented method of claim 7 , wherein:

supplying data missing from one or more of the at least some of the characteristics of previous accesses comprises supplying average data values for at least one of the data missing from the one or more of the at least some of the characteristics of previous accesses.

9. The computer-implemented method of claim 1 , wherein:

the first machine learning algorithm comprises at least one of:

a deep neural network; or

a recurrent neural network.

10. The computer-implemented method of claim 1 , wherein:

the first machine learning algorithm updates the model after each of a plurality of time periods based on the characteristics of previous accesses to the storage system objects over the corresponding time period of the plurality of time periods.

11. The computer-implemented method of claim 1 , wherein:

the characteristics of future accesses to the storage system objects comprise a number of predicted accesses for each of the storage system objects during the future time period.

12. The computer-implemented method of claim 1 , wherein:

the number of groups is equal to a number of tiers of the multiple storage tiers of the data storage system in which the storage system objects are to be stored.

13. The computer-implemented method of claim 1 , wherein the storage system objects comprise at least one of:

data blocks;

data objects;

files;

portions of files; or

file directories.

14. A system for automatic storage tiering, the system comprising:

a statistics collection module, stored in memory, that receives characteristics of previous accesses to storage system objects stored in a data storage system comprising multiple storage tiers;

a model generation module, stored in memory, that generates, using a first machine learning algorithm and based on the characteristics of previous accesses to the storage system objects, a model that:

predicts characteristics of future accesses to the storage system objects during a future time period; and

predicts characteristics of future activity loads on the data storage system, wherein the characteristics of future activity loads comprise at least one predicted time period of reduced activity load on the data storage system;

a tier selection module, stored in memory, that selects, using a second machine learning algorithm comprising an unsupervised k-means clustering algorithm that is different from the first machine learning algorithm, a next storage tier of the multiple storage tiers in which each of the storage system objects is to be stored during the future time period, wherein the unsupervised k-means clustering algorithm clusters the storage system objects into a number of groups associated with the multiple storage tiers according to similarity in access patterns during the future time period based on the characteristics of future accesses to the storage system objects predicted by the model, wherein the unsupervised k-means clustering algorithm determines the number of groups, wherein the number of groups is not equal to a number of tiers of the multiple storage tiers of the data storage system in which the storage system objects are to be stored;

a relocation module, stored in memory, that relocates at least some of the storage system objects from a current storage tier to the next storage tier selected for each of the at least some of the storage system objects during the at least one predicted time period of reduced activity load; and

at least one physical processor that executes the statistics collection module, the model generation module, the tier selection module, and the relocation module.

15. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

receive characteristics of previous accesses to storage system objects stored in a data storage system comprising multiple storage tiers;

generate, using a first machine learning algorithm and based on the characteristics of previous accesses to the storage system objects, a model that:

predicts characteristics of future accesses to the storage system objects during a future time period; and

predicts characteristics of future activity loads on the data storage system, wherein the characteristics of future activity loads comprise at least one predicted time period of reduced activity load on the data storage system;

select, using a second machine learning algorithm comprising an unsupervised k-means clustering algorithm that is different from the first machine learning algorithm, a next storage tier of the multiple storage tiers in which each of the storage system objects is to be stored during the future time period, wherein the unsupervised k-means clustering algorithm clusters the storage system objects into a number of groups associated with the multiple storage tiers according to similarity in access patterns during the future time period based on the characteristics of future accesses to the storage system objects predicted by the model, wherein the unsupervised k-means clustering algorithm determines the number of groups, wherein the number of groups is not equal to a number of tiers of the multiple storage tiers of the data storage system in which the storage system objects are to be stored; and

relocate at least some of the storage system objects from a current storage tier to the next storage tier selected for each of the at least some of the storage system objects during the at least one predicted time period of reduced activity load.

16. The computer-implemented method of claim 1 , wherein:

the model further predicts future system load characteristics based on the characteristics of previous accesses to the storage system objects; and

the future system load characteristics comprise the at least one predicted time period of reduced activity load on the data storage system.

17. The computer-implemented method of claim 16 , wherein the future system load characteristics further comprise one or more at least one predicted time period of increased activity load on the data storage system.

18. The computer-implemented method of claim 10 , wherein the plurality of time periods comprises a plurality of consecutive days.

19. The computer-implemented method of claim 1 , wherein:

the number of groups is limited to a predetermined range of numbers of groups.

Assignments (15)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY DATA AND CORRECT THE PATENT NUMBERS PREVIOUSLY RECORDED AT REEL: 69548 FRAME: 468. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 4, 2026
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 074876/0584 →
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069697/0238 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2018
From: PENDHARKAR, NIRANJAN; BANERJEE, ANINDYA; RAMACHANDRAPPA, NAVEEN; MULA, RAMYA
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 045399/0399 →
Cited By (2)
US 12,474,842 US 12,530,124