Method and system for implementing writable snapshots in a virtualized storage environment
First Claim
Patent Images
1. A computer-implemented method for implementing a writable snapshot that is performed using a processor, comprising:
- identifying a parent snapshot;
creating a child snapshot, in which the child snapshot is to be accessed in place of the parent snapshot without immediately copying all of the contents of the parent snapshot to the child snapshot;
and creating a writable child snapshot, in which modifications can be made to the content of the writable snapshot and in which the writable snapshot can be accessed without immediately copying all of the contents of the parent snapshot to the writable snapshot, in which future data requests for the parent snapshot are directed to the child snapshot,in which a data request is made for a portion of the child snapshot or the writable snapshot which has not been copied from the parent snapshot and in which the data request is redirected to the parent snapshot,in which a data item is copied from the parent snapshot to the child snapshot or the writable snapshot upon a need to access the data item in the child snapshot or the writable snapshot in which a data item is copied from the parent snapshot to the child snapshot or the writable snapshot upon a need to access the data item in the child snapshot or the writable snapshot,in which a first portion of the data item exists in the writable snapshot and a second portion of the data item is referenced to the parent snapshot,in which metadata is used to track referencing between the child snapshot and the parent snapshot.
3 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an improved approach for implementing and maintaining writable snapshots. An efficient approach is provided for implementing snapshots that can be used to immediately create snapshots without incurring any detectable delays in providing access to the new snapshots. Also described are improved metadata structures that can be used to implement and maintain the writable snapshots.
260 Citations
42 Claims
-
1. A computer-implemented method for implementing a writable snapshot that is performed using a processor, comprising:
-
identifying a parent snapshot; creating a child snapshot, in which the child snapshot is to be accessed in place of the parent snapshot without immediately copying all of the contents of the parent snapshot to the child snapshot; and creating a writable child snapshot, in which modifications can be made to the content of the writable snapshot and in which the writable snapshot can be accessed without immediately copying all of the contents of the parent snapshot to the writable snapshot, in which future data requests for the parent snapshot are directed to the child snapshot, in which a data request is made for a portion of the child snapshot or the writable snapshot which has not been copied from the parent snapshot and in which the data request is redirected to the parent snapshot, in which a data item is copied from the parent snapshot to the child snapshot or the writable snapshot upon a need to access the data item in the child snapshot or the writable snapshot in which a data item is copied from the parent snapshot to the child snapshot or the writable snapshot upon a need to access the data item in the child snapshot or the writable snapshot, in which a first portion of the data item exists in the writable snapshot and a second portion of the data item is referenced to the parent snapshot, in which metadata is used to track referencing between the child snapshot and the parent snapshot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for implementing a writable snapshot, comprising:
- a processor to handle computing instructions to access the storage devices; and
computer readable medium comprising executable code that is executable by the processor for identifying a parent snapshot, creating a child snapshot, in which the child snapshot is to be accessed in place of the parent snapshot without immediately copying all of the contents of the parent snapshot to the child snapshot, and creating a writable child snapshot, in which modifications can be made to the content of the writable snapshot and in which the writable snapshot can be accessed without immediately copying all of the contents of the parent snapshot to the writable snapshot, in which future data requests for the parent snapshot are directed to the child snapshot,in which a data request is made for a portion of the child snapshot or the writable snapshot which has not been copied from the parent snapshot and in which the data request is redirected to the parent snapshot, in which a data item is copied from the parent snapshot to the child snapshot or the writable snapshot upon a need to access the data item in the child snapshot or the writable snapshot, in which a first portion of the data item exists in the writable snapshot and a second portion of the data item is referenced to the parent snapshot, in which metadata is used to track referencing between the child snapshot and the parent snapshot. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
- a processor to handle computing instructions to access the storage devices; and
-
29. A computer program product embodied on a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for implementing a writable snapshot, the method comprising:
- identifying a parent snapshot;
creating a child snapshot, in which the child snapshot is to be accessed in place of the parent snapshot without immediately copying all of the contents of the parent snapshot to the child snapshot; andcreating a writable child snapshot, in which modifications can be made to the content of the writable snapshot and in which the writable snapshot can be accessed without immediately copying all of the contents of the parent snapshot to the writable snapshot, in which future data requests for the parent snapshot are directed to the child snapshot, in which a data request is made for a portion of the child snapshot or the writable snapshot which has not been copied from the parent snapshot and in which the data request is redirected to the parent snapshot, in which a data item is copied from the parent snapshot to the child snapshot or the writable snapshot upon a need to access the data item in the child snapshot or the writable snapshot, in which a first portion of the data item exists in the writable snapshot and a second portion of the data item is referenced to the parent snapshot, in which metadata is used to track referencing between the child snapshot and the parent snapshot. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
- identifying a parent snapshot;
Specification