System and method for growing differential file on a base volume of a snapshot
First Claim
1. A computer-readable medium having computer-executable instructions, comprising:
- creating a snapshot volume, including;
allocating free space on a base volume to a differential file at a first time;
fixing a snapshot instant representing the state of the base volume when the snapshot volume was created, the snapshot instant being at a second time that is after the first time; and
allowing writes to space on the base volume other than to the free space allocated to the differential file between the first time and the second time.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for creating a snapshot with a differential file maintained on the base volume that can grow as needed. When a snapshot is captured, free space is allocated on the base volume to receive the differential file. Writes to the base volume are allowed except to the free space allocated to the differential file. Then the snapshot is captured. After the snapshot process is complete, data that was originally present at the time the snapshot was captured may be copied to the differential file before it is modified. To grow the differential file out of its allocated space, new free space is selected from the free space currently on the base volume in conjunction with the free space at the time the snapshot was captured. The free space bitmap file of the snapshot volume may be used to identify the free space at the time the snapshot was captured.
305 Citations
28 Claims
-
1. A computer-readable medium having computer-executable instructions, comprising:
-
creating a snapshot volume, including;
allocating free space on a base volume to a differential file at a first time;
fixing a snapshot instant representing the state of the base volume when the snapshot volume was created, the snapshot instant being at a second time that is after the first time; and
allowing writes to space on the base volume other than to the free space allocated to the differential file between the first time and the second time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
suspending a write operation to a portion of the base volume outside of the differential file and occupied by original data;
copying the original data to the differential file; and
releasing the write operation to the portion of the base volume.
-
-
5. The computer-readable medium of claim 1, further comprising:
writing information to the differential file after the snapshot instant and representing the state of the base volume at the snapshot instant.
-
6. The computer-readable medium of claim 5, further comprising:
allocating additional free space on the base volume to the differential file in response to a triggering event.
-
7. The computer-readable medium of claim 6, wherein the triggering event comprises a notification that the information written to the differential file exceeds a given threshold with respect to the free space allocated to the differential file.
-
8. The computer-readable medium of claim 6, wherein the additional free space on the base volume was also free space when the snapshot volume was captured.
-
9. A computer-readable medium having computer-executable instructions, comprising:
-
allocating free space on a base volume for a differential file associated with a snapshot of the base volume;
identifying additional space in which to grow the differential file based on free space associated with the base volume at the time the snapshot was captured; and
growing the differential file into the additional space. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17)
accessing a second set of data identifying free space associated with the base volume; and
whereinallocating free space from the first set of data further comprises allocating free space common to both the first set of data and the second set of data.
-
-
12. The computer-readable medium of claim 10, wherein the first set of data includes a free space bitmap associated with the snapshot of the base volume.
-
13. The computer-readable medium of claim 11, wherein the second set of data includes a free space bitmap associated with the base volume.
-
14. The computer-readable medium of claim 13, wherein the first set of data includes a free space bitmap associated with the snapshot of the base volume.
-
15. The computer-readable medium of claim 9, wherein allocating the free space on the base volume for the differential file occurs prior to the snapshot being captured.
-
16. The computer-readable medium of claim 15, further comprising preventing write operations to the free space allocated to the differential file during the period that the snapshot is being captured.
-
17. The computer-readable medium of claim 16, further comprising allowing write operations to space on the base volume other than the allocated free space.
-
18. In a computer-system, a method of maintaining a snapshot volume of a base volume, comprising:
-
creating a snapshot volume representing the state of the base volume when the snapshot volume was created, including;
allocating free space on a base volume to a differential file;
allowing writes to the base volume other than to the free space allocated to the differential file;
identifying additional space in which to grow the differential file by;
accessing a first set of data identifying free space associated with the base volume at the time the snapshot was captured; and
allocating free space from the first set of data as the additional space in which to grow the differential file. - View Dependent Claims (19, 20, 21)
-
-
22. A computer-readable medium having computer-executable components, comprising:
-
a snapshot manager configured to initiate a snapshot operation by issuing a snapshot message;
a snapshot driver in operative communication with the snapshot manager and being configured to, in response to the snapshot message, allocate free space on a base volume to a differential file and then to cause a snapshot volume of the base volume to be captured while allowing write operations to the base volume outside of the free space allocated to the differential file; and
a file system in operative communication with the snapshot driver and being configured to write data to the base volume. - View Dependent Claims (23, 24, 25, 26)
the snapshot driver is further configured to write original information stored on the base volume to the differential file in response to an attempt by the file system to write new information over the original information.
-
-
24. The computer-readable medium of claim 22, wherein the snapshot driver is further configured to identify space on the base volume that was free at the instant that the snapshot volume was captured and to grow the differential file into the space that was free at the instant that the snapshot volume was captured.
-
25. The computer-readable medium of claim 24, wherein the snapshot driver identifies the space that was free at the instant that the snapshot volume was captured by accessing a set of data identifying the free space on the base volume at the time the snapshot was captured.
-
26. The computer-readable medium of claim 25, wherein the set of data identifying the free space includes a free space bitmap file associated with the snapshot volume.
-
27. A computer-readable medium having computer-executable instructions, comprising:
-
allocating free space on a volume for a differential file associated with a snapshot of a base volume;
identifying additional space in which to grow the differential file based on free space associated with the volume; and
growing the differential file into the additional space. - View Dependent Claims (28)
-
Specification