Data replication within a flash storage array
First Claim
Patent Images
1. A system comprising:
- a first storage array configured to;
responsive to a request to replicate a snapshot of a volume from a first storage array to a second storage array, identify a group of data corresponding to the snapshot;
during replication of the group of data from the first storage array to the second storage array, determine that a non-replicated region of the group is a duplicate of a replicated region of the group; and
in response to the first storage array determining that the non-replicated region is a duplicate of the replicated region stored on the second storage array, send, from the first storage array to the second storage array, a reference to the non-replicated region instead of sending data for the non-replicated region, the reference including an address where the non-replicated region is stored on the first storage array;
maintain a second list of regions which are already stored on the second storage array and which map to a region of the group of data; and
a second storage array configured to, responsive to detecting the request to replicate the snapshot of the volume from the first storage array to the second storage array;
identify a plurality of regions stored on the second storage array which correspond to groups of data that originated on the first storage array; and
send a first list of the plurality of regions to the first storage array;
wherein the first storage array is remote from the second storage array.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for performing replication using mediums. A snapshot ‘S’ is selected for replication, and the anchor medium ‘M’ of S is identified. The replica storage array ‘R’ to which M is being replicated determines a list of medium extents which are available. R sends this list to an original storage array ‘O’ and O generates a list of medium extents which need to be sent to R. Only those medium extents corresponding to M which R does not already have will be sent from O to R. Also, R can obtain medium extents from other source storage arrays during the replication process.
138 Citations
17 Claims
-
1. A system comprising:
-
a first storage array configured to; responsive to a request to replicate a snapshot of a volume from a first storage array to a second storage array, identify a group of data corresponding to the snapshot; during replication of the group of data from the first storage array to the second storage array, determine that a non-replicated region of the group is a duplicate of a replicated region of the group; and in response to the first storage array determining that the non-replicated region is a duplicate of the replicated region stored on the second storage array, send, from the first storage array to the second storage array, a reference to the non-replicated region instead of sending data for the non-replicated region, the reference including an address where the non-replicated region is stored on the first storage array; maintain a second list of regions which are already stored on the second storage array and which map to a region of the group of data; and a second storage array configured to, responsive to detecting the request to replicate the snapshot of the volume from the first storage array to the second storage array; identify a plurality of regions stored on the second storage array which correspond to groups of data that originated on the first storage array; and send a first list of the plurality of regions to the first storage array; wherein the first storage array is remote from the second storage array. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
responsive to a request to replicate a snapshot of a volume from a first storage array to a second storage array; identifying a group of data corresponding to the snapshot; during replication of the group of data from the first storage array to the second storage array, determining that a non-replicated region of the group is a duplicate of a replicated region of the group; in response to the first storage array determining that the non-replicated region is a duplicate of the replicated region stored on the second storage array, sending, from the first storage array to the second storage array, a reference to the non-replicated region instead of sending data for the non-replicated region, the reference including an address where the non-replicated region is stored on the first storage array; identifying a plurality of regions stored on the second storage array which correspond to groups of data that originated on the first storage array; sending a first list of the plurality of regions from the second storage array to the first storage array; maintaining a second list of regions which are already stored on the second storage array and which map to a region of the group of data, wherein the second list is maintained on the first storage array; and wherein the first storage array is remote from the second storage array. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer readable storage medium storing program instructions, wherein the program instructions are executable by a processor to:
-
responsive to a request to replicate a snapshot of a volume from a first storage array to a second storage array; identify a group of data corresponding to the snapshot; during replication of the group of data from the first storage array to the second storage array, determine that a non-replicated region of the group is a duplicate of a replicated region of the group; in response to the first storage array determining that the non-replicated region is a duplicate of the replicated region stored on the second storage array, send, from the first storage array to the second storage array, a reference to the non-replicated region instead of sending data for the non-replicated region, the reference including an address where the non-replicated region is stored on the first storage array; identify a plurality of regions stored on the second storage array which correspond to groups of data that originated on the first storage array; send a first list of the plurality of regions from the second storage array to the first storage array; maintain a second list of regions which are already stored on the second storage array and which map to a region of the group of data, wherein the second list is maintained on the first storage array; and wherein the first storage array is remote from the second storage array. - View Dependent Claims (14, 15, 16, 17)
-
Specification