IP Library Granted Patent US 8,825,936
Granted Patent B2
US 8,825,936 · App. 12/618,902 · Granted Sep 2, 2014

Systems and methods for increasing data volume sparseness

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 8,825,936
App. No.
12/618,902
Granted
Sep 2, 2014
Kind
B2
Abstract

Disclosed is a method of operating a data storage system. The method comprises generating first metadata describing storage of a volume of data in a first storage volume, storing the volume of data within a second storage volume, generating second metadata describing storage of the volume of data in the second storage volume, and processing the first metadata and the second metadata to increase sparseness of the volume of data stored in the second storage volume.

Claims (62)

1. A method of operating a data storage system, the method comprising:

generating a block bitmap describing storage of a volume of data in a virtual storage device;

storing the volume of data within a virtual disk file comprising the virtual storage device;

generating a block mapping table describing storage of the volume of data in the virtual disk file; and

increasing sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table.

2. The method of claim 1 further comprising:

storing the virtual disk file on a physical storage device; and

storing the block bitmap in the virtual disk file.

3. The method of claim 2 wherein the data storage system comprises:

a processing system coupled to the physical storage device;

a host operating system stored on the physical storage device and executable by the processing system;

a hypervisor executed by the processing system and configured to provide an interface between the host operating system and a virtual machine, wherein the virtual machine comprises virtual hardware, a guest operating system and a guest application;

wherein generating the volume of data comprises executing the guest application to generate the volume of data;

wherein generating the block bitmap comprises executing the guest operating system to generate the block bitmap; and

wherein generating the block mapping table comprises executing the hypervisor to generate the block mapping table.

4. The method of claim 3 , wherein increasing sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table comprises:

in the hypervisor:

creating a copy of the block mapping table, resulting in a new block mapping table;

creating a copy of the volume of data from the virtual disk file, resulting in a new virtual disk file, by:

for each block identified in the block mapping table, if a corresponding block in the block bitmap is allocated, then copying the data in the block to the new virtual disk file and identifying the block as allocated in the new block mapping table, and, if the corresponding block in the block bitmap is not allocated, then identifying the block as unallocated in the new block mapping table;

in the physical storage device, replacing the virtual disk file with the new virtual disk file; and

in the hypervisor, replacing the block mapping table with the new block mapping table.

5. The method of claim 1 wherein increasing sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table comprises transforming the virtual disk file from a non-sparse state to a sparse state.

6. The method of claim 1 wherein increasing sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table comprises transforming the virtual disk file from a sparse state to a more-sparse state relative to the sparseness of the sparse state.

7. A data storage system comprising:

a processing system configured to:

generate a block bitmap describing storage of a volume of data in a virtual storage device;

generate a block mapping table describing storage of the volume of data in a virtual disk file corresponding to the virtual storage device; and

increase sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table; and

a physical storage device coupled to the processing system and configured to store the virtual disk file, wherein the virtual disk file stores the volume of data.

8. The data storage system of claim 7 wherein the block bitmap is stored in the virtual disk file.

9. The data storage system of claim 8 wherein the data storage system further comprises:

a host operating system stored on the physical storage device and executable by the processing system;

a hypervisor executed by the processing system and configured to provide an interface between the host operating system and a virtual machine, wherein the virtual machine comprises virtual hardware, a guest operating system and a guest application;

wherein the guest application generates the volume of data;

wherein the guest operating system generates the block bitmap; and

wherein the hypervisor generates the block mapping table.

10. A non-transitory computer readable medium having program instructions stored thereon for operating a data storage system that, when executed by a processing system, direct the processing system to:

generate a block bitmap describing storage of a volume of data in a virtual storage device;

store the volume of data within a virtual disk file comprising the virtual storage device;

generate a block mapping table describing storage of the volume of data in the virtual disk file; and

increase sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table.

11. The non-transitory computer readable medium of claim 10 wherein the program instructions, when executed by the processing system, direct the processing system to:

store the virtual disk file on a physical storage device; and

store the block bitmap in the virtual disk file.

12. The non-transitory computer readable medium of claim 11 wherein the data storage system comprises:

the processing system coupled to the physical storage device;

a host operating system stored on the physical storage device and executable by the processing system;

a hypervisor executed by the processing system and configured to provide an interface between the host operating system and a virtual machine, wherein the virtual machine comprises virtual hardware, a guest operating system and a guest application;

wherein the program instructions, when executed by the processing system, direct the processing system to:

execute the guest application to generate the volume of data;

execute the guest operating system to generate the block bitmap; and

execute the hypervisor to generate the block mapping table.

13. The non-transitory computer readable medium of claim 12 , wherein to increase the sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table, the program instructions, when executed by the processing system, direct the processing system to:

in the hypervisor:

create a copy of the block mapping table, resulting in new block mapping table;

create a copy of the volume of data from the virtual disk file, resulting in a new virtual disk file, by:

for each block identified in the block mapping table, if a corresponding block in the block bitmap is allocated, then copy the data in the block to the new virtual disk file and identify the block as allocated in the new block mapping table, and, if the corresponding block in the block bitmap is not allocated, then identify the block as unallocated in the new block mapping table;

in the physical storage device, replace the virtual disk file with the new virtual disk file; and

in the hypervisor, replace the block mapping table with the new block mapping table.

14. The non-transitory computer readable medium of claim 10 wherein, to increase sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table, the program instructions direct the processing system to transform the virtual disk file from a non-sparse state to a sparse state.

15. The non-transitory computer readable medium of claim 10 wherein, to increase sparseness of the volume of data stored in the virtual disk file based on the block bitmap and the block mapping table, the program instructions direct the processing system to transform the virtual disk file from a sparse state to a more-sparse state relative to the sparseness of the sparse state.

Assignments (13)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 18, 2025
From: QUANTUM CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 074024/0084 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 40473/0378 Recorded Oct 8, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 073061/0454 →
TERMINATION AND RELEASE OF AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 48029/0525 Recorded Aug 19, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 072542/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: BLUE TORCH FINANCE LLC, AS AGENT FOR THE SECURED PARTIES
To: ALTER DOMUS (US) LLC, AS AGENT FOR THE SECURED PARTIES
Reel/Frame 071019/0850 →
RELEASE OF SECURITY INTEREST Recorded Aug 10, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
Reel/Frame 057142/0252 →
SECURITY INTEREST Recorded Aug 5, 2021
From: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
To: BLUE TORCH FINANCE LLC, AS AGENT
Reel/Frame 057107/0001 →
SECURITY INTEREST Recorded Jan 8, 2019
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 048029/0525 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2018
From: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 047988/0642 →
SECURITY INTEREST Recorded Dec 27, 2018
From: QUANTUM CORPORATION, AS GRANTOR; QUANTUM LTO HOLDINGS, LLC, AS GRANTOR
To: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 049153/0518 →
SECURITY INTEREST Recorded Oct 25, 2016
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 040473/0378 →
RELEASE OF SECURITY INTEREST Recorded Oct 25, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 040474/0079 →
SECURITY INTEREST Recorded Oct 21, 2016
From: QUANTUM CORPORATION
To: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
Reel/Frame 040451/0183 →
SECURITY AGREEMENT Recorded Mar 31, 2012
From: QUANTUM CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 027967/0914 →