End-to-end datapath protection
US-11321169-B2 · May 3, 2022 · US
US12067273B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12067273-B2 |
| Application number | US-202217869939-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 21, 2022 |
| Priority date | Jul 21, 2022 |
| Publication date | Aug 20, 2024 |
| Grant date | Aug 20, 2024 |
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 technique for achieving data mobility between storage systems having different block sizes includes identifying a baseline size that is common to the block sizes of the storage systems. The technique further includes generating fingerprints of blocks based on extents having the common baseline size. Fingerprint-based data mobility is then achieved by comparing extent-based fingerprints, or combinations thereof, across different storage systems to identify matching data.
Opening claim text (preview).
What is claimed is: 1. A method of managing data mobility between storage systems having respective block sizes, comprising: receiving, by a second storage system, first fingerprints calculated from a first set of blocks of a first storage system, the first set of blocks having a first block size; matching the first fingerprints with second fingerprints calculated from a second set of blocks of the second storage system, the second set of blocks having a second block size different from the first block size, the first fingerprints and the second fingerprints calculated from extents having a common baseline size assigned as a smallest block size of the first block size and the second block size; and effectuating storage of the first set of blocks by reference to the second set of blocks, wherein the second block size is larger than the first block size, and wherein the method further comprises generating a second fingerprint of the second fingerprints by (i) generating multiple hash values from respective extents of a block of the second set of blocks and (ii) combining the multiple hash values into a single hash value. 2. The method of claim 1 , wherein combining the multiple hash values into the single hash value includes (i) concatenating together the multiple hash values and (ii) generating a hash of the concatenated hash values. 3. The method of claim 1 , wherein matching the first fingerprints with the second fingerprints includes comparing the second fingerprint with a first fingerprint of the first fingerprints, the first fingerprint generated from multiple blocks of the first set of blocks. 4. A method of managing data mobility between storage systems having respective block sizes, comprising: receiving, by a second storage system, first fingerprints calculated from a first set of blocks of a first storage system, the first set of blocks having a first block size; matching the first fingerprints with second fingerprints calculated from a second set of blocks of the second storage system, the second set of blocks having a second block size different from the first block size, the first fingerprints and the second fingerprints calculated from extents having a common baseline size assigned as a smallest block size of the first block size and the second block size; and effectuating storage of the first set of blocks by reference to the second set of blocks, wherein the second block size is smaller than the first block size, wherein receiving the first fingerprints includes obtaining multiple hash values of respective extents of a single block of the first set of blocks. 5. The method of claim 4 , wherein matching the first fingerprints with the second fingerprints includes comparing the multiple hash values with respective fingerprints of the second fingerprints. 6. The method of claim 4 , wherein assigning the baseline block size is based on a negotiation between the first storage system and the second storage system. 7. The method of claim 6 , further comprising establishing, based on the negotiation, an alignment between the first set blocks and the second set of blocks. 8. The method of claim 4 , further comprising calculating the second fingerprints prior to receiving the first fingerprints. 9. A method of managing data mobility between storage systems having respective block sizes, comprising: sending, by a first storage system to a second storage system, first fingerprints calculated from a first set of blocks of the first storage system, the first set of blocks having a first block size; matching, by the second storage system, the first fingerprints with second fingerprints calculated from a second set of blocks of the second storage system, the second set of blocks having a second block size different from the first block size, the first fingerprints and the second fingerprints calculated from extents having a common baseline size assigned as a smallest block size of the first block size and the second block size; and effectuating, by the second storage system, storage of the first set of blocks by reference to the second set of blocks, wherein the second block size is larger than the first block size, and wherein the method further comprises generating a second fingerprint of the second fingerprints by (i) generating multiple hash values from respective extents of a block of the second set of blocks and (ii) combining the multiple hash values into a single hash value. 10. The method of claim 9 , wherein combining the multiple hash values into the single hash value includes (i) concatenating together the multiple hash values and (ii) generating a hash of the concatenated hash values. 11. The method of claim 10 , wherein matching the first fingerprints with the second fingerprints includes comparing the second fingerprint with a first fingerprint of the first fingerprints, the first fingerprint generated from multiple blocks of the first set of blocks. 12. The method of claim 9 , further comprising generating, by the first storage system, a first fingerprint of the first fingerprints at least in part by (i) generating multiple hash values from respective blocks of the first set of blocks and (ii) combining the multiple hash values into a single hash value. 13. The method of claim 9 , wherein the second block size is smaller than the first block size, wherein receiving the first fingerprints includes obtaining multiple hash values of respective extents of a single block of the first set of blocks. 14. The method of claim 13 , wherein matching the first fingerprints with the second fingerprints includes comparing the multiple hash values with respective fingerprints of the second fingerprints. 15. The method of claim 13 , further comprising generating the first fingerprint by (i) accessing a block of the first set of blocks, (ii) rendering the block as multiple extents having the common baseline size, (iii) calculating respective hash values from the multiple extents, and (iv) combining the hash values. 16. The method of claim 9 , wherein assigning the baseline block size is based on a negotiation between the first storage system and the second storage system. 17. The method of claim 16 , further comprising establishing, based on the negotiation, an alignment between the first set blocks and the second set of blocks. 18. The method of claim 9 , further comprising calculating the second fingerprints prior to receiving the first fingerprints.
Management of space entities, e.g. partitions, extents, pools · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
at area level, e.g. provisioning of virtual or logical volumes · CPC title
by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.