Data movement bulk copy operation

US9558232B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9558232-B1
Application numberUS-201313923563-A
CountryUS
Kind codeB1
Filing dateJun 21, 2013
Priority dateJun 21, 2013
Publication dateJan 31, 2017
Grant dateJan 31, 2017

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.

Techniques are described for performing a copy operation. A first request is received to perform a copy operation. The first request includes a set of parameters in accordance with a defined interface and include a source area and a target area. The source area includes source ranges and source devices. Each of the source ranges identifies a portion of a logical address range of a different one of the source devices. The target area includes target ranges and target devices. Each of the target ranges identifies a portion of a logical address range of a different one of the target devices. The first request is partitioned in to a plurality of other requests each of which is a request to copy a portion of source data located in the source area to a corresponding location in the target area. The other requests are then issued.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of performing a copy operation comprising: receiving, using a processor, a first request to perform a copy operation, said first request including a set of parameters including a source area and a target area, wherein said source area includes one or more source ranges and one or more source devices, wherein said target area includes one or more target ranges and one or more target devices, wherein the source area has a logical representation as a concatenation of said one or more source ranges; partitioning, using a processor, the first request into a plurality of other requests, each of the plurality of other requests being a request to copy a portion of source data located in the source area to a corresponding location in the target area; issuing, using a processor, the plurality of other requests that copy the source data from the source area to the target area; and reporting, using a processor, a first amount of the source data as copied to the target area at a point in time prior to completely copying the source data to the target area, wherein the first amount represents a size of a logically contiguous region of the source data at the point in time that has been copied from the source area to the target area in accordance with the logical representation of the source area, wherein, at the point in time of said reporting, said first amount reported does not include a size of a first portion of the source data that has been copied to the target area wherein the first portion has a location in the source area that is not logically contiguous with the logically contiguous region. 2. The method of claim 1 , wherein each of said one or more source ranges identifies a portion of a logical address range of a different one of the one or more source devices, wherein each of said one or more target ranges identifies a portion of a logical address range of a different one of the one or more target devices. 3. The method of claim 2 wherein said one or more source ranges of the source area include a plurality of source ranges, the one or more source devices include a plurality of source devices, a first of the plurality of source ranges is located on a first of the plurality of source devices and a second of the plurality of source ranges is located on a second of the plurality of source devices different from the first source device. 4. The method of claim 3 , wherein said one or more target ranges of the target area include a plurality of target ranges, the one or more target devices include a plurality of target devices, a first of the plurality of target ranges is located on a first of the plurality of target devices and a second of the plurality of target ranges is located on a second of the plurality of target devices different from the first target device. 5. The method of claim 4 , wherein a first number of source ranges specified by the plurality of source ranges of the source area is different than a second number of target ranges specified by the plurality of target ranges of the target area. 6. The method of claim 4 , wherein each of the plurality of source ranges and each of the plurality of target ranges specifies a logical block address range and at least a first of the plurality of source ranges specifies a first logical block address range that is different from a second of the plurality of source ranges and wherein the first logical block address range of the first source range is also different than a second logical block address range of a first of the plurality of target ranges. 7. The method of claim 2 , wherein said parameters include an offset denoting an offset within the source area from which to commence copying data for the copy operation of the first request. 8. The method of claim 7 , wherein processing for at least some of the other requests each copying a portion of the source data from the source area to the target area is performed in parallel. 9. The method of claim 8 , wherein a sequence number is assigned to each of the plurality of other requests prior to said issuing to uniquely identify said each other request. 10. The method of claim 9 , wherein said plurality of other requests are issued in a first order in accordance with an ordering of sequence numbers assigned to said plurality of requests and at least a first of the other requests completes out of order with respect to said ordering of sequence numbers. 11. The method of claim 10 , wherein the first amount includes all data portions of the logical representation located within the logically contiguous region of the logical representation of the source area, said logically contiguous region beginning with a starting location in said source area and ending at a second location in said source area, said starting location denoting an initial location in the source area from which copying commences for the copy operation. 12. The method of claim 11 , wherein the starting location is determined in accordance with said offset. 13. The method of claim 12 , wherein, if the copy operation terminates prior to copying all the source data from the source area to the target area, the copy operation subsequently resumes copying a remaining portion of the source data logically located in the source area following the logically contiguous region. 14. The method of claim 7 , wherein a token represents said source area comprising said one or more source ranges and said one or more source devices, and the method further comprises: sending a command request from a client to a data storage system, said command request including said token and other information identifying said target area and said offset; and responsive to receiving the command request at the data storage system, performing processing to translate the command request to the first request. 15. The method of claim 14 , wherein the token is obtained by the client. 16. The method of claim 14 , wherein the token is obtained by another component other than the client and then provided by the other component to the client. 17. The method of claim 7 , wherein each of the plurality of other requests copies a different portion of the source data that is a first size, said first size being determined in accordance with said offset, said one or more source ranges, and said one or more target ranges, and wherein each of the plurality of other requests copies a different portion of the source data whereby said different portion is included in the source area and does not span across a boundary of any of the one or more source ranges and the different portion is copied to a corresponding location in the target area that does not span across a boundary of any of the one or more target ranges. 18. The method of claim 2 , wherein the set of parameters is in accordance with a defined interface that is an application programming interface, and the first request is a call to invoke execution of code on a data storage system whereby said call is made using said defined interface, and wherein each of the one or more source ranges is expressed using a starting location on one of the one or more source devices and a length, and wherein each of the one or more target ranges is expressed using a starting location on one of the one or more target devices and a length. 19. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of copying data of a copy operation comprising: receiving, using a processor, a first request to perform a copy operation, said fir

Assignees

Inventors

Classifications

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • G06F3/0688Primary

    Non-volatile semiconductor memory arrays · CPC title

  • Replication mechanisms · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Physics · mapped topic

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 US9558232B1 cover?
Techniques are described for performing a copy operation. A first request is received to perform a copy operation. The first request includes a set of parameters in accordance with a defined interface and include a source area and a target area. The source area includes source ranges and source devices. Each of the source ranges identifies a portion of a logical address range of a different one…
Who is the assignee on this patent?
Emc Corp, Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 31 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).