Logical sector mapping in a flash storage array
US-9454476-B2 · Sep 27, 2016 · US
US10656864B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10656864-B2 |
| Application number | US-201414220908-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 20, 2014 |
| Priority date | Mar 20, 2014 |
| Publication date | May 19, 2020 |
| Grant date | May 19, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The system as recited in claim 1 , wherein the first storage array is further configured to: receive the first list from the second storage array; for each region of the first list: determine if the region maps to any region of the group of data; and store the region in the second list responsive to determining the region maps to a given region of the group of data. 3. The system as recited in claim 2 , wherein the first storage array is further configured to add a first region to the second list responsive to sending the first region to the second storage array and receiving an acknowledgement from the second storage array that the second storage array has received the first region. 4. The system as recited in claim 3 , wherein the first storage array is further configured to add a second region to the second list responsive to receiving an acknowledgement from the second storage array that the second storage array has received the second region from a third storage array. 5. The system as recited in claim 3 , wherein the first storage array is further configured to generate a third list of duplicate regions of the group of data that are mapped to each other, wherein the third list is generated by traversing a medium mapping table for each region of the group of data. 6. The system as recited in claim 5 , wherein the first storage array is further configured to: maintain a fourth list of mappings, wherein each entry of the fourth list maps a physical location to a region of the group of data that has already been sent to the second storage array; and prior to sending data corresponding to a given physical location to the second storage array, check the fourth list for a match to the given physical location. 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. 8. The method as recited in claim 7 , further comprising: receiving the first list from the second storage array; for each region of the first list: determining if the region maps to any region of the group of data; and storing the region in the second list responsive to determining the region maps to a given region of the group of data. 9. The method as recited in claim 8 , further comprising adding a first region to the second list responsive to sending the first region to the second storage array and receiving an acknowledgement from the second storage array that the second storage array has received the first region. 10. The method as recited in claim 9 , further comprising adding a second region to the second list responsive to receiving an acknowledgement from the second storage array that the second storage array has received the second region from a third storage array. 11. The method as recited in claim 9 , further comprising generating a third list of duplicate regions of the group of data that are mapped to each other, wherein the third list is generated by traversing a medium mapping table for each region of the group of data. 12. The method as recited in claim 11 , further comprising: maintaining a fourth list of mappings, wherein each entry of the fourth list maps a physical location to a region of the group of data that has already been sent to the second storage array; and prior to sending data corresponding to a given physical location to the second storage array, checking the fourth list for a match to the given physical location. 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.
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Plurality of storage devices · CPC title
De-duplication techniques · CPC title
Replication mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.