IP Library Granted Patent US 7,627,727
Granted Patent B1
US 7,627,727 · App. 11/151,065 · Granted Dec 1, 2009

Incremental backup of a data volume

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 7,627,727
App. No.
11/151,065
Filed
Jun 13, 2005
Granted
Dec 1, 2009
Kind
B1
Art Unit
2187
USPC
711/162
Abstract

Disclosed is a method and apparatus for incrementally baking up a data volume. In one embodiment of the method, the data volume is created in a first memory, and a point-in-time (PIT) copy of the data volume is created at time T0. First data of the data volume is modified between times T0 and T1, wherein time T1 is subsequent to time T0. Second data of the data volume is copied to a second memory after time T1. The second data of the data volume is modified after the second data is copied to the second memory. Lastly, data of the PIT copy is overwritten with (1) the copy of the second data stored in the second memory and (2) the modified first data of the data volume.

Claims (35)

1. A method comprising:

creating a first virtual copy of a data volume;

modifying first data of the data volume after creating the first virtual copy of the data volume;

incrementally refreshing the first virtual copy of the data volume after modifying the first data while allowing access to the data volume during the incrementally refreshing, wherein incrementally refreshing the first virtual copy comprises

creating a second virtual copy of the data volume after the modification of the first data thereof;

modifying a second data of the data volume, wherein the second data is modified before the first virtual copy of the data volume is completely refreshed;

creating a copy of the second data before the second data is modified;

wherein the incrementally refreshing of the first virtual copy further comprises:

transforming the first virtual copy into a real copy, and

overwriting data of the real copy with the copy of the second data and the modified first data of the data volume.

2. The method of claim 1 further comprising:

allocating n max first bits in memory, wherein the n max first bits correspond to n max first memory blocks, respectively, of a first memory object, wherein each of the n max first memory blocks stores data of the data volume, wherein each of the n max first bits indicates whether the first memory block corresponding thereto contains data that was modified after creation of the first virtual PIT copy;

allocating n max second bits in memory, wherein the n max second bits correspond to the n max first memory blocks, respectively, wherein each of the n max second bits indicates whether data of the first memory block corresponding thereto was copied to a second memory object after creation of the first virtual PIT copy;

overwriting data of the real PIT copy with data of an n th first memory block if (1) the n th first bit corresponding to the n th first memory block is set to indicate that data stored in the n th first memory block was modified after creation of the first virtual PIT copy (2) the n th second bit corresponding to the n th first memory block is set to indicate that data in the n th first memory block has not been copied to the second memory object after creation of the first virtual PIT copy.

3. The method of claim 1 further comprising:

allocating n max first bits in memory, wherein the n max first bits correspond to n max first memory blocks, respectively, of a first memory object, wherein each of the n max first memory blocks stores data of the data volume, wherein each of the n max first bits indicates whether the first memory block corresponding thereto contains data that was modified creation of the first virtual PIT copy;

allocating n max second bits in memory, wherein the n max second bits correspond to n max second memory blocks, respectively, of a second memory object, and to the n max first memory blocks, respectively, wherein each of the n max second bits indicates whether data of the first memory block corresponding thereto was copied to the second memory block corresponding thereto after creation of the first virtual PIT copy;

overwriting data of the real copy with data of an n th second memory block if (1) the n th bit first bit corresponding to the n th first memory block is set to indicate that data stored in the n th first memory block was modified creation of the first virtual PIT copy and (2) the n th second bit corresponding to the n th first memory block is set to indicate that data in the n th first memory block has been copied to the n th second memory block after creation of the first virtual PIT copy.

4. A computer readable medium comprising instructions executable by a computer system to implement a method of backing up a data volume, the method comprising:

creating a first virtual point-in-time (PIT) copy of the data volume;

modifying first data of the data volume, wherein the first data is modified after creation of the first virtual PIT copy;

after modifying the first data, incrementally refreshing the first virtual PIT copy to a data state of the data volume while allowing access to the data volume during the incrementally refreshing, wherein incrementally refreshing the first PIT copy comprises;

creating a second virtual point-in-time (PIT) copy of the data volume after modifying the first data;

overwriting data of the first virtual PIT copy with (1) data of the second virtual PIT copy and (2) the modified first data of the data volume.

5. The computer readable medium of claim 4 , wherein the method further comprises modifying second data of the data volume wherein the second data is modified before the first virtual PIT copy of the data volume is completely refreshed.

6. The computer readable medium of claim 5 wherein the method further comprises copying the second data to memory allocated to store data of the second virtual PIT copy before the second data is modified.

7. The computer readable medium of claim 5 wherein refreshing the first PIT virtual copy comprises transforming the first virtual PIT copy into a read PIT copy, wherein transforming the first virtual PIT copy comprises overwriting data of the first virtual PIT copy with (1) data of the second virtual PIT copy and (2) the modified first data of the data volume.

8. The computer readable medium of claim 7 wherein the method further comprises:

allocating n max first bits in memory, wherein the n max first bits correspond to n max first memory blocks, respectively, of a first memory object, wherein each of the n max first memory blocks stores data of the data volume, wherein each of the n max first bits indicates whether the first memory block corresponding thereto contains data that was modified after creation of the first virtual PIT copy;

allocating n max second bits in memory, wherein the n max second bits correspond to the n max first memory blocks, respectively, wherein each of the n max second bits indicates whether data of the first memory block corresponding thereto was copied to a second memory object after creation of the first virtual PIT copy;

overwriting data of the real PIT copy with data of an nth first memory block if (1) the nth first bit corresponding to the nth first memory block is set to indicate that data stored in the nth first memory block was modified after creation of the first virtual PIT copy (2) the nth second bit corresponding to the nth first memory block is set to indicate that data in the nth first memory block has not been copied to the second memory object after creation of the first virtual PIT copy.

9. The computer readable medium of claim 7 wherein the method further comprises:

allocating n max first bits in memory, wherein the n max first bits correspond to n max first memory blocks, respectively, of a first memory object, wherein each of the n max first memory blocks stores data of the data volume, wherein each of the n max first bits indicates whether the first memory block corresponding thereto contains data that was modified creation of the first virtual PIT copy;

allocating n max second bits in memory, wherein the n max second bits correspond to n max second memory blocks, respectively, of a second memory object, and to the n max first memory blocks, respectively, wherein each of the n max second bits indicates whether data of the first memory block corresponding thereto was copied to the second memory block corresponding thereto after creation of the first virtual PIT copy;

overwriting data of the real copy with data of an n th second memory block if (1) the n th bit first bit corresponding to the n th first memory block is set to indicate that data stored in the n th first memory block was modified creation of the first virtual PIT copy and (2) the n th second bit corresponding to the n th first memory block is set to indicate that data in the n th first memory block has been copied to the n th second memory block after creation of the first virtual PIT copy.

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 AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
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 037697/0412 →
CHANGE OF NAME Recorded Oct 1, 2007
From: VERITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019899/0213 →