IP Library Granted Patent US 10,019,318
Granted Patent B1
US 10,019,318 · App. 14/609,711 · Granted Jul 10, 2018

Storage optimization of pre-allocated units of storage

Inventors: Sudhakar Paulzagade (Maharashtra, IN); Chiraq Dalal (Aundh, IN)
Assignee: Veritas Technologies LLC
G06F11/1402G06F17/30233
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,019,318
App. No.
14/609,711
Granted
Jul 10, 2018
Kind
B1
Abstract

Disclosed herein are systems, methods, and processes to optimize the storage of pre-allocated units of storage during a backup operation. Null units of storage are identified in pre-allocated units of storage prior to the backup operation. Upon being identified, the null units of storage are inhibited from being written to a backup image during the backup operation.

Claims (127)

1. A computer-implemented method comprising:

identifying one or more null units of storage in pre-allocated units of storage, wherein

the pre-allocated units of storage comprise the one or more null units of storage,

the identifying is performed prior to a backup operation, and

the backup operation produces a backup image;

inhibiting writing of the one or more null units of storage to the backup image during the backup operation;

creating a map file, wherein

the map file comprises metadata identifying the one or more null units of storage not written to the backup image; and

writing the map file and one or more live units of storage to the backup image, wherein

the writing uses the metadata to inhibit the writing of the one or more null units of storage to the backup image.

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

selecting a unit of storage of a plurality of units of storage, wherein

the plurality of units of storage are comprised in a pre-allocated unit of storage of the pre-allocated units of storage;

determining whether the unit of storage comprises null data or live data;

in response to the unit of storage comprising null data,

writing only null data unit of storage information, and

inhibiting writing of the null data; and

in response to the unit of storage comprising live data,

writing the live data, and

writing live data unit of storage information.

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

creating the map file, wherein

the map file comprises metadata identifying the one or more null units of storage not written to the backup image during the backup operation; and

writing the map file along with the one or more live units of storage to the backup image during the backup operation.

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

generating the one or more null units of storage in response to a request to access data in the pre-allocated unit of storage, wherein

the generating is performed by accessing the metadata in the map file.

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

the request to access data in the pre-allocated unit of storage is associated with a restore operation or an instant recovery operation.

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

merging the one of more null units of storage with the one or more live units of storage in response to the request to access data in the pre-allocated unit of storage, wherein

the one or more null units of storage are generated from the metadata in the map file, and

the one or more live units of storage are retrieved from the backup image.

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

the null data not written to the backup image and the live data written to the backup image, together comprise data contents of the pre-allocated unit of storage, and

the live data, the live data unit of storage information, and the null data unit of storage information are written to the backup image, wherein

the backup image is stored on a storage device associated with a computing system.

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

transmitting the generated one or more null units of storage merged with the one or more live units of storage retrieved from the backup image to an application in response to the request.

9. The computer-implemented method of claim 3 , wherein

the one or more null units of storage each comprise a header and a tail, and

information in the header and the tail is stored in the map file.

10. The computer-implemented method of claim 9 , wherein

the header of the one or more null units of storage further comprises metadata identifying a block type, metadata identifying a file type, a data block address in the header, and a checksum in the header.

11. The computer-implemented method of claim 10 , wherein

the tail of the one or more null units of storage further comprises metadata identifying a data block address in the tail and a checksum in the tail.

12. A non-transitory computer readable storage medium comprising program instructions executable to:

identify one or more null units of storage in pre-allocated units of storage, wherein

the pre-allocated units of storage comprise the one or more null units of storage,

the identifying is performed prior to a backup operation, and

the backup operation produces a backup image;

inhibit writing of the one or more null units of storage to the backup image during the backup operation;

create a map file, wherein

the map file comprises metadata identifying the one or more null units of storage not written to the backup image; and

write the map file and one or more live units of storage to the backup image, wherein

the writing uses the metadata to inhibit the writing of the one or more null units of storage to the backup image.

13. The non-transitory computer readable storage medium of claim 12 , further comprising:

selecting a unit of storage of a plurality of units of storage, wherein

the plurality of units of storage are comprised in a pre-allocated unit of storage of the pre-allocated units of storage;

determining whether the unit of storage comprises null data or live data;

in response to the unit of storage comprising null data,

writing only null data unit of storage information, and

inhibiting writing of the null data;

in response to the unit of storage comprising live data,

writing the live data, and

writing live data unit of storage information;

creating the map file, wherein

the map file comprises metadata identifying the one or more null units of storage not written to the backup image during the backup operation; and

writing the map file along with the one or more live units of storage to the backup image during the backup operation.

14. The non-transitory computer readable storage medium of claim 13 , further comprising:

generating the one or more null units of storage in response to a request to access data in the pre-allocated unit of storage, wherein

the generating is performed by accessing the metadata in the map file, and

the request to access data is associated with a restore operation or an instant recovery operation;

merging the one of more null units of storage with the one or more live units of storage in response to the request to access data in the pre-allocated unit of storage, wherein

the one or more null units of storage are generated from the metadata in the map file, and

the one or more live units of storage are retrieved from the backup image; and

transmitting the generated one or more null units of storage merged with the one or more live units of storage retrieved from the backup image to an application in response to the request.

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

the null data not written to the backup image and the live data written to the backup image, together comprise data contents of the pre-allocated unit of storage, and

the live data, the live data unit of storage information, and the null data unit of storage information are written to the backup image, wherein

the backup image is stored on a storage device associated with a computing system.

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

the one or more null units of storage each comprise a header and a tail,

information in the header and the tail is stored in the map file,

the header further comprises metadata identifying a block type, metadata identifying a file type, a data block address in the header, and a checksum in the header, and

the tail further comprises metadata identifying a data block address in the tail and a checksum in the tail.

17. A system comprising:

one or more processors; and

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

identify one or more null units of storage in pre-allocated units of storage, wherein

the pre-allocated units of storage comprise the one or more null units of storage,

the identifying is performed prior to a backup operation, and

the backup operation produces a backup image;

inhibit writing of the one or more null units of storage to the backup image during the backup operation;

create a map file, wherein

the map file comprises metadata identifying the one or more null units of storage not written to the backup image; and

write the map file and one or more live units of storage to the backup image, wherein

the writing uses the metadata to inhibit the writing of the one or more null units of storage to the backup image.

18. The system of claim 17 , further comprising:

selecting a unit of storage of a plurality of units of storage, wherein

the plurality of units of storage are comprised in a pre-allocated unit of storage of the pre-allocated units of storage;

determining whether the unit of storage comprises null data or live data;

in response to the unit of storage comprising null data,

writing only null data unit of storage information, and

inhibiting writing of the null data;

in response to the unit of storage comprising live data,

writing the live data, and

writing live data unit of storage information;

creating the map file, wherein

the map file comprises metadata identifying the one or more null units of storage not written to the backup image during the backup operation; and

writing the map file along with the one or more live units of storage to the backup image during the backup operation.

19. The system of claim 18 , further comprising:

generating the one or more null units of storage in response to a request to access data in the pre-allocated unit of storage, wherein

the generating is performed by accessing the metadata in the map file, and

the request to access data is associated with a restore operation or an instant recovery operation;

merging the one of more null units of storage with the one or more live units of storage in response to the request to access data in the pre-allocated unit of storage, wherein

the one or more null units of storage are generated from the metadata in the map file, and

the one or more live units of storage are retrieved from the backup image; and

transmitting the generated one or more null units of storage merged with the one or more live units of storage retrieved from the backup image to an application in response to the request.

20. The system of claim 18 , wherein

the null data not written to the backup image and the live data written to the backup image, together comprise data contents of the pre-allocated unit of storage,

the live data, the live data unit of storage information, and the null data unit of storage information are written to the backup image, wherein

the backup image is stored on a storage device associated with a computing system,

the one or more null units of storage each comprise a header and a tail,

information in the header and the tail is stored in the map file,

the header further comprises metadata identifying a block type, metadata identifying a file type, a data block address in the header, and a checksum in the header, and

the tail further comprises metadata identifying a data block address in the tail and a checksum in the tail.

Assignments (13)
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 Jan 30, 2015
From: PAULZAGADE, SUDHAKAR; DALAL, CHIRAG
To: SYMANTEC CORPORATION
Reel/Frame 034852/0035 →