Optimizing generalized transfers between storage systems

US11768623B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11768623-B2
Application numberUS-202117244301-A
CountryUS
Kind codeB2
Filing dateApr 29, 2021
Priority dateJan 10, 2013
Publication dateSep 26, 2023
Grant dateSep 26, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Optimizing generalized transfers between storage systems including identifying, by a first storage system, a request to transfer source data from the first storage system to a second storage system, wherein the first storage system implements a first storage architecture and the second storage system implements a second storage architecture; identifying difference information between the source data that is stored on the first storage system using the first storage architecture and existing data that is stored on the second storage system using the second storage architecture; and transferring, in dependence upon the difference information, a subset of the source data from the first storage system to the second storage system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying, by a first storage system, a request to transfer source data from the first storage system to a second storage system, wherein the first storage system implements a first storage architecture and the second storage system implements a second storage architecture, wherein the first storage architecture is a structured data architecture and the second storage architecture is an unstructured data architecture; identifying, using block references that map to blocks of data across the first storage architecture and the second storage architecture, a first plurality of blocks of source data that is stored on the first storage system using the first storage architecture and a second plurality of blocks of existing data that is stored on the second storage system using the second storage architecture; and transferring, in dependence upon the identified first plurality of blocks and the second plurality of blocks, a subset of the source data from the first storage system to the second storage system. 2. The method of claim 1 , wherein the structured data architecture is at least one of a block-based architecture and a database architecture; and wherein the unstructured data architecture is at least one of a file system architecture and an object-based architecture. 3. The method of claim 1 , wherein the first storage architecture and the second storage architecture are both implemented on physical block storage resources. 4. The method of claim 1 , wherein the first storage system is a source storage system storing the source data and the second storage system is a target storage system storing the existing data; further comprising identifying difference information between the source data that is stored on the first storage system using the first storage architecture and existing data that is stored on the second storage system using the second storage architecture, wherein identifying difference information includes: identifying a plurality of block references corresponding to a plurality of blocks containing the source data; providing, to the target storage system, a manifest of block references for the source data; and receiving a list of block references that represents a difference between the manifest of block references and block references corresponding to the existing data stored on the target storage system; and identifying, in dependence upon the list of block references, a subset of the plurality of blocks containing the source data; and wherein transferring, in dependence upon the difference information, a subset of the source data from the first storage system to the second storage system includes transferring, by the source storage system to the target storage system, the subset of the plurality of blocks. 5. The method of claim 1 , wherein the first storage system is a target storage system storing the existing data and the second storage system is a source storage system storing the source data; further comprising identifying difference information between the source data that is stored on the first storage system using the first storage architecture and existing data that is stored on the second storage system using the second storage architecture, wherein identifying difference information includes: receiving a manifest of block references for the source data; identifying a list of block references that represents a difference between the manifest of block references and block references corresponding to the existing data stored on the target storage system; and providing, to the source storage system, the list of block references; and wherein transferring, in dependence upon the difference information, a subset of the source data from the first storage system to the second storage system includes receiving, by the target storage system from the source storage system, a plurality of blocks that is a subset of blocks containing the source data in the source storage system. 6. The method of claim 5 , wherein the target storage system maintains a mapping table that maps block references utilized by the source storage system and block references assigned by the target storage system. 7. The method of claim 1 , wherein the step of identifying, by a first storage system, a request to transfer source data from the first storage system to a second storage system, wherein the first storage system implements a first storage architecture and the second storage system implements a second storage architecture, includes identifying a request to establish a replication relationship between the first storage system and the second storage system. 8. The method of claim 1 , wherein the step of identifying, by a first storage system, a request to transfer source data from the first storage system to a second storage system, wherein the first storage system implements a first storage architecture and the second storage system implements a second storage architecture, includes identifying a request to migrate data from the first storage system to the second storage system. 9. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: identifying, by a first storage system, a request to transfer source data from the first storage system to a second storage system, wherein the first storage system implements a first storage architecture and the second storage system implements a second storage architecture, wherein the first storage architecture is a structured data architecture and the second storage architecture is an unstructured data architecture; identifying, using block references that map to blocks of data across the first storage architecture and the second storage architecture, a first plurality of blocks of source data that is stored on the first storage system using the first storage architecture and a second plurality of blocks of existing data that is stored on the second storage system using the second storage architecture; and transferring, in dependence upon the identified first plurality of blocks and the second plurality of blocks, a subset of the source data from the first storage system to the second storage system. 10. The apparatus of claim 9 , wherein the structured data architecture is at least one of a block-based architecture and a database architecture; and wherein the unstructured data architecture is at least one of a file system architecture and an object-based architecture. 11. The apparatus of claim 9 , wherein the first storage architecture and the second storage architecture are both implemented on physical block storage resources. 12. The apparatus of claim 9 , wherein the first storage system is a source storage system storing the source data and the second storage system is a target storage system storing the existing data further comprising identifying difference information between the source data that is stored on the first storage system using the first storage architecture and existing data that is stored on the second storage system using the second storage architecture, wherein identifying difference information includes: identifying a plurality of block references corresponding to a plurality of blocks containing the source data; providing, to the target storage system, a manifest of block references for the source data; and receiving a list of block references that represents a difference between the manifest of block references and block references correspo

Assignees

Inventors

Classifications

  • G06F3/065Primary

    Replication mechanisms · CPC title

  • Improving I/O performance · CPC title

  • G06F3/0604Primary

    Improving or facilitating administration, e.g. storage management · CPC title

  • by facilitating the interaction with a user or administrator · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11768623B2 cover?
Optimizing generalized transfers between storage systems including identifying, by a first storage system, a request to transfer source data from the first storage system to a second storage system, wherein the first storage system implements a first storage architecture and the second storage system implements a second storage architecture; identifying difference information between the source…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/065. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 26 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).