Incremental backup of a data volume
AssigneeVeritas Operating Corporation
InventorsAnand A. Kekre, Angshuman Bezbaruah, Shailesh Marathe, Niranjan S. Pendharkar
Life of this patent
Estimating the term…
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.
Claims15
A method of backing up a data volume, the method comprising:
- creating the data volume in a first memory;
- creating a virtual point-in-time (PIT) copy of the data volume at time T0;
- modifying first data of the data volume, wherein the first data is modified between times T0 and T1, wherein time T1 is subsequent to time T0;
- transforming the virtual PIT into a real PIT after modifying the first data of the data volume;
- copying second data of the data volume to a second memory after time T1;
- modifying the second data of the data volume after the second data is copied to the second memory;
- overwriting data of the real PIT copy with (1) the copy of the second data stored in the second memory and (2) the modified first data of the data volume.
A computer readable medium comprising instructions executable by a computer system to implement a method, the method comprising:
- creating a data volume in a first memory;
- creating a virtual copy of the data volume;
- modifying first data of the data volume after creating the virtual copy of the data volume;
- transforming the virtual copy into a real copy after modifying the first data of the data volume;
- refreshing the real copy of the data volume after modifying the first data, wherein refreshing the real copy comprises creating a second virtual copy of the data volume after modification of the first data thereof.
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 virtual copy of the data volume, wherein any data of the virtual copy is stored in a second memory, wherein all data of the data volume is stored in a plurality of first memory blocks of a first memory;
- modifying data of the data volume between time T0 and subsequent time T1, wherein the virtual data volume copy was created prior to time T0;
- transforming the virtual data volume copy into a real data volume copy after modifying the data of the data volume;
- creating a first map in memory, wherein the first map comprises a plurality of first bits corresponding to the plurality of first memory blocks, respectively;
- switching the state of each of the first bits that correspond to a respective first memory block that stores data that was modified between time T0 and time T1;
- modifying data of the data volume after time T1;
- creating a second map in memory, wherein the second map comprises a plurality of second bits corresponding to the plurality of first memory blocks, respectively;
- switching the state of each of the first bits that correspond to a respective first memory block that stores data that was modified after time T1;
- overwriting data of the real data volume copy with data of a block of the first memory if the first but not a second bit corresponding to the block of the first memory, had its state switched.
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 the data volume in a first memory;
- creating a virtual point-in-time (PIT) copy of the data volume at time T0;
- modifying first data of the data volume, wherein the first data is modified between times T0 and T1, wherein time T1 is subsequent to time T0;
- transforming the virtual PIT into a real PIT after modifying the first data of the data volume;
- modifying second data of the data volume after time T1;
- copying the second data to a second memory before the second data is modified;
- overwriting data of the real PIT copy with (1) the copy of the second data stored in the second memory and (2) the modified first data of the data volume.
An apparatus comprising:
- means for creating a data volume in a first memory;
- means for creating virtual a point-in-time (PIT) copy of the data volume at time T0;
- means for modifying data of the data volume, wherein the means for modifying is configured to modify first data of the data volume between times T0 and T1, wherein time T1 is subsequent to time T0, and wherein the means for modifying is configured to modify second data of the data volume after time T1;
- transforming the virtual PIT into a real PIT after modifying the first data of the data volume;
- means for copying the second data to a second memory before the second data is modified;
- means for overwriting data of the real PIT copy with (1) the copy of the second data stored in the second memory and (2) the modified first data of the data volume.
A system comprising:
- a first memory;
- a second memory;
- a first device for creating a data volume in the first memory and for creating a virtual point-in-time (PIT) copy of the data volume at time T0;
- a second device for modifying data of the data volume, wherein the second device is configured to modify first data of the data volume between times T0 and T1, wherein time T1 is subsequent to time T0, and wherein the second device is configured to modify second data of the data volume after time T1;
- a device for transforming the virtual PIT into a real PIT after modifying the first data of the data volume;
- a third device for copying the second data to the second memory before the second data is modified;
- a fourth device for overwriting data of the real PIT copy with (1) the copy of the second data stored in the second memory and (2) the modified first data of the data volume.
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 the data volume in a first memory;
- creating a point-in-time (PIT) copy of the data volume at time T0;
- modifying first data of the data volume, wherein the first data is modified between times T0 and T1, wherein time T1 is subsequent to time T0;
- modifying second data of the data volume after time T1;
- copying the second data to a second memory before the second data is modified;
- overwriting data of the PIT copy with (1) the copy of the second data stored in the second memory and (2) the modified first data of the data volume;
- allocating nmax first bits in memory, wherein the nmax first bits correspond to nmax first memory blocks, respectively, of the first memory, wherein each of the nmax first memory blocks stores data of the data volume, wherein each of the nmax first bits indicates whether the first memory block corresponding thereto contains data that was modified between times T0 and T1;
- allocating nmax second bits in memory, wherein the nmax second bits correspond to nmax second memory blocks, respectively, of the second memory, and to the nmax first memory blocks, respectively, wherein each of the nmax second bits indicates whether data of the first memory block corresponding thereto was copied to the second memory block corresponding thereto after T1;
- overwriting data of the PIT copy with data of an nth second memory block if (1) the nth bit first bit corresponding to the nth first memory block is set to indicate that data stored in the nth first memory block was modified between times T0 and T1 and (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 been copied to the nth second memory block after time T1.
Dependencies are inferred from the claim text.