IP Library Granted Patent US 10,380,078
Granted Patent B1
US 10,380,078 · App. 15/294,976 · Granted Aug 13, 2019

Dynamic storage tiering in a virtual environment

Inventors: Sanjay Kumar (Maharashtra, IN); Venkatesha M. G. (Cupertino, CA)
Assignee: Veritas Technologies LLC
G06F16/185G06F3/0604G06F3/0647G06F3/0667G06F3/0683
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 10,380,078
App. No.
15/294,976
Granted
Aug 13, 2019
Kind
B1
Abstract

Various systems and methods for performing dynamic storage tiering in a virtual environment. For example, one method can involve identifying a location of a storage object within a virtual machine file, where the virtual machine file includes multiple storage objects. The method then involves detecting whether the storage object meets a criterion of a tiering policy. If the storage object meets the criterion, the storage object is moved from one tier of a multi-tier storage system to another tier of the multi-tier storage system.

Claims (117)

1. A computer-implemented method, implemented in a computer system, comprising:

identifying, by a processor of the computer system, one or more files in a virtual machine file by accessing metadata describing the one or more files, wherein the computer system executes a host operating system,

the identifying is performed by the host operating system,

the one or more files are not recognized by the host operating system,

the host operating system accesses the metadata via a guest operating system, and

the identifying the one or more files comprises

mounting the virtual machine file in a host file system associated with the host operating system;

identifying, by the processor, at least one file of the one or more files that is subject to a tiering policy, wherein

the at least one file is identified based, at least in part, on one or more conditions specified by the tiering policy;

selecting a first file of the at least one file;

generating, by the processor, a map that translates a first location into another location, wherein

the first location is a location of the first file in the virtual machine file, according to a guest file system of the guest operating system,

the another location is an offset of the first file relative to the virtual machine file, according to the host file system of the host operating system, and

the generating comprises

adding the offset to the map; and

accessing the first file using the map, wherein

the accessing is performed by the host operating system, and

the map facilitates access to the first file by the host operating system.

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

receiving tiering information at the computer system, wherein

the tiering information comprises the tiering policy,

the tiering policy comprises a set of criteria and a list of tiers of a multi-tier storage system, and

the set of criteria indicate the one or more conditions for a file to be stored in each tier of the list of tiers.

3. The computer-implemented method of claim 2 , further comprising:

creating a list of the one or more files in the virtual machine file subject to the tiering policy.

4. The computer-implemented method of claim 2 , wherein

the tiering policy comprises a temperature range, and

the temperature range indicates that one or more frequently accessed storage objects should be stored in higher tiers of the multi-tier storage system and one or more less frequently accessed storage objects should be stored in lower tiers of the multi-tier storage system.

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

the host operating system detects whether the first file has been modified by monitoring metadata associated with the virtual machine file,

the metadata comprises a bitmap, and

the bitmap comprises a bit for the one or more files in the virtual machine file.

6. The computer-implemented method of claim 1 , wherein

the host operating system comprises mapping information,

the map is stored as part of the mapping information, and

the map comprises locations of one or more blocks of the one or more files in the virtual machine file as calculated by the guest operating system.

7. The computer-implemented method of claim 1 , wherein

the mounting the virtual machine file permits the host operating system to read the metadata stored in the virtual machine file, and

the virtual machine file comprises one or more application data files or one or more operating system files.

8. A non-transitory computer readable storage medium comprising program instructions executable to cause one or more processors of a computer system to:

identify one or more files in a virtual machine file by accessing metadata describing the one or more files, wherein

the non-transitory computer readable storage medium is comprised in the computer system,

the computer system executes a host operating system,

the host operating system identifies the one or more files using the metadata,

the one or more files are not recognized by the host operating system,

the host operating system accesses the metadata via a guest operating system, and

the program instructions executable to cause one or more processors to identify the one or more files comprises further program instructions executable to cause one or more processors to

mount the virtual machine file in a host file system associated with the host operating system;

identify at least one file of the one or more files that is subject to a tiering policy, wherein

the at least one file is identified based, at least in part, on one or more conditions specified by the tiering policy;

select a first file of the at least one file;

generate a map that translates a first location into another location, wherein

the first location is a location of the first file in the virtual machine file,

according to a guest file system of the guest operating system,

the another location is an offset of the first file relative to the virtual machine file, according to the host file system of the host operating system, and

the program instructions executable to generate the map comprise further program instructions executable to add the offset to the map; and

access the first file using the map, wherein

the first file is accessed by the host operating system, and

the map facilitates access to the first file by the host operating system.

9. The non-transitory computer readable storage medium of claim 8 , further comprising:

receiving tiering information at the computer system, wherein

the tiering information comprises the tiering policy,

the tiering policy comprises a set of criteria and a list of tiers of a multi-tier storage system, and

the set of criteria indicate the one or more conditions for a file to be stored in each tier of the list of tiers.

10. The non-transitory computer readable storage medium of claim 9 , further comprising:

creating a list of the one or more files in the virtual machine file subject to the tiering policy.

11. The non-transitory computer readable storage medium of claim 9 , wherein

the tiering policy comprises a temperature range, and

the temperature range indicates that one or more frequently accessed storage objects should be stored in higher tiers of the multi-tier storage system and one or more less frequently accessed storage objects should be stored in lower tiers of the multi-tier storage system.

12. The non-transitory computer readable storage medium of claim 8 , wherein

the host operating system detects whether the first file has been modified by monitoring metadata associated with the virtual machine file,

the metadata comprises a bitmap, and

the bitmap comprises a bit for the one or more files in the virtual machine file.

13. The non-transitory computer readable storage medium of claim 8 , wherein

the host operating system comprises mapping information,

the map is stored as part of the mapping information, and

the map comprises locations of one or more blocks of the one or more files in the virtual machine file as calculated by the guest operating system.

14. The non-transitory computer readable storage medium of claim 8 , wherein

the mounting the virtual machine file permits the host operating system to read the metadata stored in the virtual machine file, and

the virtual machine file comprises one or more application data files or one or more operating system files.

15. A computer system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable to

identify one or more files in a virtual machine file by accessing metadata describing the one or more files, wherein

the computer system is configured to execute a host operating system,

the program instructions executable to identify are executed as part of the host operating system,

the one or more files are not recognized by the host operating system,

the host operating system accesses the metadata via a guest operating system, and

the program instructions executable to identify the one or more files comprises further program instructions executable to mount the virtual machine file in a host file system associated with the host operating system;

identify at least one file of the one or more files that is subject to a tiering policy, wherein

the at least one file is identified based, at least in part, on one or more conditions specified by the tiering policy;

select a first file of the at least one file;

generate a map that translates a first location into another location, wherein

the first location is a location of the first file in the virtual machine file, according to a guest file system of the guest operating system,

the another location is an offset of the first file relative to the virtual machine file, according to the host file system of the host operating system, and

the program instructions executable to generate the map comprise further program instructions executable to add the offset to the map; and

access the first file using the map, wherein

the first file is accessed by the host operating system, and

the map facilitates access to the first file by the host operating system.

16. The computer system of claim 15 , further comprising:

receiving tiering information at the computer system, wherein

the tiering information comprises the tiering policy,

the tiering policy comprises a set of criteria and a list of tiers of a multi-tier storage system, and

the set of criteria indicate the one or more conditions for a file to be stored in each tier of the list of tiers.

17. The computer system of claim 16 , further comprising:

creating a list of the one or more files in the virtual machine file subject to the tiering policy.

18. The computer system of claim 16 , wherein

the tiering policy comprises a temperature range, and

the temperature range indicates that one or more frequently accessed storage objects should be stored in higher tiers of the multi-tier storage system and one or more less frequently accessed storage objects should be stored in lower tiers of the multi-tier storage system.

19. The computer system of claim 15 , wherein

the host operating system detects whether the first file has been modified by monitoring metadata associated with the virtual machine file,

the metadata comprises a bitmap, and

the bitmap comprises a bit for the one or more files in the virtual machine file.

20. The computer system of claim 15 , wherein

the host operating system comprises mapping information,

the map is stored as part of the mapping information, and

the map comprises locations of one or more blocks of the one or more files in the virtual machine file as calculated by the guest operating system.

Assignments (12)
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 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
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 →
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 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0863 →
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 →
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 1, 2017
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041850/0511 →
Continuity (1)
Continuation 13327366 · Dec 15, 2011
Cited By (1)
US 12,307,279