IP Library Granted Patent US 9,336,131
Granted Patent B1
US 9,336,131 · App. 13/863,886 · Granted May 10, 2016

Systems and methods for enabling virtual environments to mount non-native storage disks

Inventors: Check Sabjan (Sanford, FL); Lokesha Krishnamurthy (Sanford, FL)
Assignee: Veritas Technologies, LLC
G06F12/02G06F2212/00G06F2212/15G06F2212/152
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 9,336,131
App. No.
13/863,886
Filed
Apr 16, 2013
Granted
May 10, 2016
Kind
B1
Art Unit
2135
USPC
711/173
Abstract

A computer-implemented method for enabling virtual environments to mount non-native storage disks may include (1) identifying a storage disk formatted in a format that is non-native to a virtual environment, (2) locating disk information of the storage disk that includes (i) a plurality of non-native partition table entries and (ii) a partition table pointer that points to the non-native partition table entries, and then (3) modifying the disk information to enable the virtual environment to mount the storage disk as though the storage disk were formatted in a format that is native to the virtual environment by (i) adding a plurality of native partition table entries that identify the plurality of volumes within the storage disk and then (ii) modifying the partition table pointer to point to the native partition table entries instead of the non-native partition table entries. Various other methods, systems, and computer-readable media are also disclosed.

Claims (81)

1. A computer-implemented method for enabling virtual environments to mount non-native storage disks, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

identifying a storage disk formatted in a format that is non-native to a virtual environment;

locating disk information of the storage disk that comprises:

a partition type identifier that identifies the non-native format of the storage disk;

a plurality of non-native partition table entries that identify a plurality of volumes within the storage disk and correspond to the non-native format;

a partition table pointer that points to the non-native partition table entries;

modifying the disk information to enable the virtual environment to mount the storage disk as though the storage disk were formatted in a format that is native to the virtual environment by:

replacing the partition type identifier that identifies the non-native format of the storage disk with another partition type identifier that identifies the native format;

adding, to an area of the storage disk that is unused or reserved, a plurality of native partition table entries that identify the plurality of volumes within the storage disk and correspond to the native format;

linking the native partition table entries together with a linked list, wherein linking the native partition table entries comprises:

creating a plurality of extended boot records that link the native partition table entries together between Sector 34 and Sector 2048 of the storage disk;

linking the extended boot records together with a Master Boot Record of the storage disk by modifying the partition table pointer to point to the native partition table entries;

modifying the partition table pointer to point to the native partition table entries instead of the non-native partition table entries.

2. The method of claim 1 , wherein:

the non-native format comprises a Globally Unique Identifier Partition Table format;

the native format comprises a Master Boot Record format.

3. The method of claim 1 , wherein modifying the disk information to enable the virtual environment to mount the storage disk comprises modifying the disk information to enable the virtual environment to mount the storage disk outside of each guest machine running in the virtual environment.

4. The method of claim 1 , further comprising:

determining that the virtual environment has unmounted the storage disk;

in response to determining that the virtual environment has unmounted the storage disk, modifying the disk information to return the storage disk to the non-native format by:

modifying the partition table pointer to point to the non-native partition table entries instead of the native partition table entries;

replacing the other partition type identifier that identifies the native format with the partition type identifier that identifies the non-native format.

5. The method of claim 4 , wherein determining that the virtual environment has unmounted the storage disk comprises detecting a request to unmount the storage disk.

6. The method of claim 1 , wherein modifying the disk information to enable the virtual environment to mount the storage disk comprises:

modifying the partition type identifier to indicate 0x0F instead of 0xEE;

inserting the plurality of native partition table entries into the disk information such that the plurality of native partition table entries start at Sector 34 of the storage disk;

modifying the partition table pointer to point to Sector 34 of the storage disk instead of Sector 1 of the storage disk.

7. The method of claim 1 , further comprising:

determining that the storage disk comprises a physical storage disk formatted in the non-native format;

converting the physical storage disk to a virtual storage disk formatted in the non-native format.

8. The method of claim 7 , wherein modifying the disk information to enable the virtual environment to mount the storage disk comprises:

detecting a request to mount the converted virtual storage disk in the virtual environment;

in response to detecting the request to mount the converted virtual storage disk, modifying the disk information to enable the virtual environment to mount the converted virtual storage disk.

9. The method of claim 7 , wherein converting the physical storage disk to the virtual storage disk comprises creating a virtual backup of the physical storage disk.

10. The method of claim 9 , wherein modifying the disk information to enable the virtual environment to mount the storage disk comprises:

detecting a request to restore a sub-portion of the physical storage disk from the virtual backup;

in response to detecting the request to restore the sub-portion of the physical storage disk:

modifying the disk information to enable the virtual environment to mount the virtual backup;

directing the virtual environment to mount the virtual backup to facilitate restoring the sub-portion of the physical disk from the virtual backup.

11. The method of claim 10 , wherein directing the virtual environment to mount the virtual backup comprises directing the virtual environment to mount the virtual backup outside of each guest machine running in the virtual environment to enable a restore application to restore the sub-portion of the physical disk from the virtual backup.

12. The method of claim 1 , wherein modifying the disk information to enable the virtual environment to mount the storage disk comprises modifying the disk information such that the storage disk appears to be formatted in the native format to the virtual environment.

13. The method of claim 1 , wherein modifying the disk information to enable the virtual environment to mount the storage disk comprises maintaining both the plurality of native partition table entries and the plurality of non-native partition table entries within the disk information to facilitate converting the storage disk between the native and non-native formats.

14. The method of claim 1 , wherein adding the plurality of native partition table entries to the area of the storage disk that is unused or reserved comprises adding, to the area of the storage disk that is unused or reserved, the plurality of extended boot records that link the native partition table entries together.

15. The method of claim 1 , wherein:

the non-native format comprises a Globally Unique Identifier Partition Table format;

the native format comprises a Master Boot Record format.

16. A system for enabling virtual environments to mount non-native storage disks, the system comprising:

an identification module, stored in memory, that identifies a storage disk formatted in a format that is non-native to a virtual environment;

a locating module, stored in memory, that locates disk information of the storage disk that comprises:

a partition type identifier that identifies the non-native format of the storage disk;

a plurality of non-native partition table entries that identify a plurality of volumes within the storage disk and correspond to the non-native format;

a partition table pointer that points to the non-native partition table entries;

a modification module, stored in memory, that modifies the disk information to enable the virtual environment to mount the storage disk as though the storage disk were formatted in a format that is native to the virtual environment by:

replacing the partition type identifier that identifies the non-native format of the storage disk with another partition type identifier that identifies the native format;

adding, to an area of the storage disk that is unused or reserved, a plurality of native partition table entries that identify the plurality of volumes within the storage disk and correspond to the native format;

linking the native partition table entries together with a linked list by:

creating a plurality of extended boot records that link the native partition table entries together between Sector 34 and Sector 2048 of the storage disk;

linking the extended boot records together with a Master Boot Record of the storage disk by modifying the partition table pointer to point to the native partition table entries;

modifying the partition table pointer to point to the native partition table entries instead of the non-native partition table entries;

at least one physical processor configured to execute the identification module, the locating module, and the modification module.

17. The system of claim 16 , wherein the modification module:

modifies the partition type identifier to indicate 0x0F instead of 0xEE;

inserts the plurality of native partition table entries into the disk information such that the plurality of native partition table entries start at Sector 34 of the storage disk;

modifies the partition table pointer to point to Sector 34 of the storage disk instead of Sector 1 of the storage disk.

18. The system of claim 16 , wherein the modification module adds, to the area of the storage disk that is unused or reserved, the plurality of extended boot records that link the native partition table entries together.

19. The system of claim 16 , wherein:

the non-native format comprises a Globally Unique Identifier Partition Table format;

the native format comprises a Master Boot Record format.

20. A non-transitory computer-readable-storage 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:

identify a storage disk formatted in a format that is non-native to a virtual environment;

locate disk information of the storage disk that comprises:

a partition type identifier that identifies the non-native format of the storage disk;

a plurality of non-native partition table entries that identify a plurality of volumes within the storage disk and correspond to the non-native format;

a partition table pointer that points to the non-native partition table entries;

modify the disk information to enable the virtual environment to mount the storage disk as though the storage disk were formatted in a format that is native to the virtual environment by:

replacing the partition type identifier that identifies the non-native format of the storage disk with another partition type identifier that identifies the native format;

adding, to an area of the storage disk that is unused or reserved, a plurality of native partition table entries that identify the plurality of volumes within the storage disk and correspond to the native format;

linking the native partition table entries together with a linked list by:

creating a plurality of extended boot records that link the native partition table entries together between Sector 34 and Sector 2048 of the storage disk;

linking the extended boot records together with a Master Boot Record of the storage disk by modifying the partition table pointer to point to the native partition table entries;

modifying the partition table pointer to point to the native partition table entries instead of the non-native partition table entries.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075728/0466 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
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 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
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 IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038483/0203 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037693/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2013
From: SABJAN, CHECK; KRISHNAMURTHY, LOKESHA
To: SYMANTEC CORPORATION
Reel/Frame 030226/0251 →