Data migration techniques

US10296255B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10296255-B1
Application numberUS-201514971220-A
CountryUS
Kind codeB1
Filing dateDec 16, 2015
Priority dateDec 16, 2015
Publication dateMay 21, 2019
Grant dateMay 21, 2019

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.

Described are techniques for performing migration from a source node to a target node. Application data used by an application is migrated from the source node to the target node. I/O operations from the application directed to the application data are sent to the target node. While migrating the application data, first processing is performed on the target node in connection with I/O operations directed to the application data. The first processing includes monitoring read operations directed to the application data. Migrating the application data includes copying a data portion of the application data from the source node to the target node. The data portion has a logical location in the application data determined in accordance with the read operations. The data portion is prefetched by the migrating and copied to the target node prior to the target node receiving a read requesting data of the data portion.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of performing migration from a source node to a target node comprising: migrating, from the source node to the target node, application data used by an application, wherein I/O operations from the application directed to the application data are sent to the target node; and while performing said migrating of the application data, performing first processing on the target node in connection with I/O operations directed to the application data, said first processing comprising: monitoring one or more read operations that are directed to the application data and received at the target node; and wherein said migrating includes: selecting a first data portion of the application data to be copied from the source node to the target node, wherein said selecting of the first data portion is performed subsequent to receiving the one or more read operations at the target node, wherein the first data portion has a first logical location in the application data, wherein data stored at the first logical location is not requested for reading by the one or more read operations and the first logical location is determined in accordance with one or more logical locations of requested read data specified by the one or more read operations that are sent from the application and received at the target node prior to selecting the first data portion, wherein the one or more read operations received at the target node prior to selecting the first data portion includes at least a first redirected read operation that is forwarded to the source node for servicing since the first redirected read operation requests read data not yet migrated to the target node; and copying the first data portion of the application data from the source node to the target node, wherein the first data portion, selected in accordance with the one or more read operations that are directed to the application data, sent from the application and are received at the target node, is prefetched and copied from a source copy of the application data stored on non-volatile storage on the source node to the target node prior to the target node receiving a read requesting data of the first data portion. 2. The method of claim 1 , wherein the application has been migrated from the source node to the target node and, while performing said migrating of the application data, the application is executing on the target node and an instance of the application is no longer executing on the source node. 3. The method of claim 1 , wherein the application data is not exposed to the application through the source node. 4. The method of claim 3 , wherein, at a first point in time prior to said migrating copying the first data portion, said migrating is copying a second data portion from a second logical location in the application data, wherein the first logical location and the second logical location are not sequential consecutive logical locations in the application data. 5. The method of claim 4 , wherein, at the first point in time, said migrating is copying the second data portion of the application data based on increasing linear sequential ordering of the logical address space of the application data, and subsequent to the first point in time, said migrating copies the first data portion having the first logical location. 6. The method of claim 1 , wherein a migration engine is on the target node controlling said migrating by pulling the application data from the source node to the target node, and wherein the migration engine tracks which portions of the application data have been migrated from the source node to the target node. 7. The method of claim 6 , wherein the migration engine performs I/O routing for I/Os directed to the application data comprising: receiving a first read that is from the application and is directed to the application data; determining whether first read data requested by the first read has been migrated to the target node; and if it is determined that the first read data has not yet been migrated to the target node, redirecting the first read to the source node for servicing. 8. The method of claim 7 , wherein servicing the first read comprises: sending the first read from the target node to the source node; retrieving, at the source node, the first read data requested by the first read; sending the first read data from the source node to the target node; and returning, by the target node, the first read data to the application. 9. The method of claim 8 , further comprising: storing, on the target node, the first read data on non-volatile storage including the application data that has been migrated from the source node to the target node; and tracking, by the migration engine, that first read data having an associated logical location in the application data has been migrated from the source node to the target node. 10. The method of claim 8 , further comprising: determining whether the first read data has a size that is a multiple of a write size granularity denoting a size unit in which data is written to physical storage; responsive to determining the first read data does have a size that is a multiple of the write size granularity, performing other processing including: storing, on the target node, the first read data on non-volatile storage including the application data that has been migrated from the source node to the target node; and tracking, by the migration engine, that first read data having an associated logical location in the application data has been migrated from the source node to the target node. 11. The method of claim 10 , further comprising: responsive to determining the first read data does not have a size that is a multiple of the write size granularity, performing second processing comprising: tracking an associated logical location of the first read data as a location including data that has not been migrated from the source node to the target node, wherein the associated logical location is tracked as having been a target of a read operation that is included in the one or more read operations of said monitoring for use in connection with determining a next data portion to prefetch from the source node, and wherein the first read data is not stored on non-volatile storage including the application data that has been migrated from the source node to the target node. 12. The method of claim 1 , wherein the migration engine performs said migrating as a background copying operation. 13. The method of claim 1 , wherein the migration engine performs said monitoring of the one or more read operations, and the migration engine uses a prefetch heuristic to determine the first logical location in accordance with the one or more read operations. 14. The method of claim 13 , wherein the one or more read operations includes two read operations received at the target node, a first of the two read operations being directed to a first logical address of the application data and a second of the two read operations being directed to a second logical address of the application data, said prefetch heuristic determining the first data portion that is a logically contiguous segment of the application data to be copied by said migrating, the logically contiguous segment spanning a logical address subrange of the application data from the first logical address to the second logical address. 15. The method of claim 1 , wherein the application data is a logical entity that is any of a logical storage device, a file, and an object. 16. The method of claim 1 , the first processing fur

Assignees

Inventors

Classifications

  • Replication mechanisms · CPC title

  • in relation to availability · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

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

  • Message passing systems or structures, e.g. queues · 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 US10296255B1 cover?
Described are techniques for performing migration from a source node to a target node. Application data used by an application is migrated from the source node to the target node. I/O operations from the application directed to the application data are sent to the target node. While migrating the application data, first processing is performed on the target node in connection with I/O operation…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0647. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 21 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).