Creating consistent user snaps at destination during replication
First Claim
Patent Images
1. A method for generating snaps in a data storage system, the method comprising:
- performing, at a destination data storage system, multiple snapshot-shipping updates to a data object, each snapshot-shipping update applying a set of changes to the data object to bring the data object into a state that is content-consistent with that of a source object operated from a source data storage system, the snapshot-shipping updates performed at respective times to keep the data object substantially current with the source object as the source object changes over time;
after performing each snapshot-shipping update to the data object and before performing another one, generating a system snap of the data object, each system snap providing a point-in-time version of the data object that reflects a state of the data object after completion of the respective snapshot-shipping update;
upon receiving a request to generate a user snap of the data object, generating the user snap of the data object as a snap of a previously generated system snap;
receiving a second request to generate a second user snap of the data object; and
in response to the destination data storage system not being in a process of performing any of the snapshot-shipping updates when the second request is received, generating the second user snap as a snap of the data object,wherein generating the user snap as the snap of the previously generated system snap is performed in response to the destination data storage system being in the process of performing one of the snapshot-shipping updates when the request to generate the user snap is received, andwherein the method further comprises;
providing a snap target indicator in the destination data storage system, the snap target indicator identifying a current source to be used for taking user snaps in the destination data storage system;
setting the snap target indicator to a first value while each of a set of snapshot-shipping operations is taking place; and
setting the snap target indicator to a second value during periods between consecutive ones of the set of snapshot-shipping operations, the first value identifying a system snap as the source for taking user snaps, the second value identifying the data object as the source for taking user snaps; and
in response to requests to generate user snaps of the data object, (i) checking the snap target indicator and (ii) generating snaps of the source identified by the snap target indicator.
9 Assignments
0 Petitions
Accused Products
Abstract
A technique for providing access to a data object serving as a target of snapshot-shipping replication includes taking a system snap of the data object after completion of each of multiple snapshot-shipping updates. In response to receiving a request to take a user snap of the data object, a data storage system redirects the request to a previously generated system snap, so that the data storage system takes the user snap of the system snap rather than taking the user snap of the data object itself.
13 Citations
17 Claims
-
1. A method for generating snaps in a data storage system, the method comprising:
-
performing, at a destination data storage system, multiple snapshot-shipping updates to a data object, each snapshot-shipping update applying a set of changes to the data object to bring the data object into a state that is content-consistent with that of a source object operated from a source data storage system, the snapshot-shipping updates performed at respective times to keep the data object substantially current with the source object as the source object changes over time; after performing each snapshot-shipping update to the data object and before performing another one, generating a system snap of the data object, each system snap providing a point-in-time version of the data object that reflects a state of the data object after completion of the respective snapshot-shipping update; upon receiving a request to generate a user snap of the data object, generating the user snap of the data object as a snap of a previously generated system snap; receiving a second request to generate a second user snap of the data object; and in response to the destination data storage system not being in a process of performing any of the snapshot-shipping updates when the second request is received, generating the second user snap as a snap of the data object, wherein generating the user snap as the snap of the previously generated system snap is performed in response to the destination data storage system being in the process of performing one of the snapshot-shipping updates when the request to generate the user snap is received, and wherein the method further comprises; providing a snap target indicator in the destination data storage system, the snap target indicator identifying a current source to be used for taking user snaps in the destination data storage system; setting the snap target indicator to a first value while each of a set of snapshot-shipping operations is taking place; and setting the snap target indicator to a second value during periods between consecutive ones of the set of snapshot-shipping operations, the first value identifying a system snap as the source for taking user snaps, the second value identifying the data object as the source for taking user snaps; and in response to requests to generate user snaps of the data object, (i) checking the snap target indicator and (ii) generating snaps of the source identified by the snap target indicator. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data storage system, comprising control circuitry that includes a set of processing units coupled to memory, the control circuitry constructed and arranged to:
-
perform, at a destination data storage system, multiple snapshot-shipping updates to a data object, each snapshot-shipping update applying a set of changes to the data object to bring the data object into a state that is content-consistent with that of a source object operated from a source data storage system, the snapshot-shipping updates performed at respective times to keep the data object substantially current with the source object as the source object changes over time; after performing each snapshot-shipping update to the data object and before performing another one, generate a system snap of the data object, each system snap providing a point-in-time version of the data object that reflects a state of the data object after completion of the respective snapshot-shipping update; upon receiving a request to generate a user snap of the data object, generate the user snap of the data object as a snap of a previously generated system snap; receive a second request to generate a second user snap of the data object; and in response to the destination data storage system not being in a process of performing any of the snapshot-shipping updates when the second request is received, generate the second user snap as a snap of the data object, wherein the control circuitry is constructed and arranged to generate the user snap as the snap of the previously generated system snap in response to the destination data storage system being in the process of performing one of the snapshot-shipping updates when the request to generate the user snap is received, and wherein the control circuitry is further constructed and arranged to; provide a snap target indicator in the destination data storage system, the snap target indicator identifying a current source to be used for taking user snaps in the destination data storage system; set the snap target to a first value while each of a set of snapshot-shipping operations is taking place; and set the snap target to a second value during periods between consecutive ones of the set of snapshot-shipping operations, the first value identifying a system snap as the source for taking user snaps, the second value identifying the data object as the source for taking user snaps; and in response to requests to generate user snaps of the data object, (i) check the snap target and (ii) generate snaps of the source identified by the snap target. - View Dependent Claims (10, 11)
-
-
12. A computer-program product including a set of non-transitory, computer-readable media including instructions which, when executed by a set of processing units of a destination data storage system, cause the set of processing units to perform a method for generating snaps, the method comprising:
-
performing, at a destination data storage system, multiple snapshot-shipping updates to a data object, each snapshot-shipping update applying a set of changes to the data object to bring the data object into a state that is content-consistent with that of a source object operated from a source data storage system, the snapshot-shipping updates performed at respective times to keep the data object substantially current with the source object as the source object changes over time; after performing each snapshot-shipping update to the data object and before performing another one, generating a system snap of the data object, each system snap providing a point-in-time version of the data object that reflects a state of the data object after completion of the respective snapshot-shipping update; and upon receiving a request to generate a user snap of the data object, generating the user snap of the data object as a snap of a previously generated system snap; receiving a second request to generate a second user snap of the data object; and in response to the destination data storage system not being in a process of performing any of the snapshot-shipping updates when the second request is received, generating the second user snap as a snap of the data object, wherein generating the user snap as the snap of the previously generated system snap is performed in response to the destination data storage system being in the process of performing one of the snapshot-shipping updates when the request to generate the user snap is received, and wherein the method further comprises; providing a snap target indicator in the destination data storage system, the snap target indicator identifying a current source to be used for taking user snaps in the destination data storage system; setting the snap target to a first value while each of a set of snapshot-shipping operations is taking place; and setting the snap target to a second value during periods between consecutive ones of the set of snapshot-shipping operations, the first value identifying a system snap as the source for taking user snaps, the second value identifying the data object as the source for taking user snaps; and in response to requests to generate user snaps of the data object, (i) checking the snap target and (ii) generating snaps of the source identified by the snap target. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification