Copy-offload on a device stack

US9715351B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9715351-B2
Application numberUS-201514622754-A
CountryUS
Kind codeB2
Filing dateFeb 13, 2015
Priority dateFeb 13, 2015
Publication dateJul 25, 2017
Grant dateJul 25, 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.

A read request, a write request, and copy descriptor are constructed and sent to logical volumes of a device stack to complete a copy-offload operation between a source logical volume and a destination logical volume. The read request is forwarded to a source physical volume of a device stack and a write request is forwarded to a destination physical volume of the device stack. Responsive to detecting that the read request has been received by the source physical volume of the device stack and the write request has been received by a destination physical volume of the device stack, the driver of the source physical volume or the driver of the destination physical volume construct a copy-offload request to be sent to a storage device, the copy-offload request comprising the read request, the write request, and the copy descriptor. The copy-offload request is subsequently sent to the storage device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, by a processing device, a request to copy data from a source logical volume of a device stack to a destination logical volume of the device stack, wherein the device stack comprises a source intermediate volume that associates the source logical volume with a source physical volume, and a destination intermediate volume that associates the destination logical volume with a destination physical volume; constructing, by the processing device, a read request to be sent to the source logical volume to read the data and a write request to be sent to the destination logical volume to write the data; constructing, by the processing device, a copy descriptor to be associated with the read request and the write request; associating, by the processing device, the copy descriptor with the read request and the write request; sending, by the processing device, the read request to the source logical volume and the write request to the destination logical volume; causing, by the processing device, the read request to be forwarded to the source physical volume of the device stack and the write request to be forwarded to the destination physical volume of the device stack; responsive to determining that the read request has failed at the source intermediate volume of the device stack, causing a driver of the source intermediate volume to terminate the write request; responsive to determining that the write request has failed at the destination intermediate volume of the device stack, causing a driver of the destination intermediate volume to terminate the read request; responsive to detecting that the read request has been received by the source physical volume of the device stack and the write request has been received by a destination physical volume of the device stack, causing one of a driver of the source physical volume or a driver of the destination physical volume to construct a copy-offload request to be sent to a storage device, the copy-offload request comprising the read request, the write request, and the copy descriptor; and sending the copy-offload request to the storage device. 2. The method of claim 1 further comprising: responsive to execution of the copy-offload request by the storage device, receiving a sense code from the storage device; translating the sense code to an error code; updating the descriptor with the error code; and returning the error code to the source logical volume and the destination logical volume. 3. The method of claim 1 wherein causing the read request to be forwarded to the source physical volume comprises: responsive to detecting that the device stack comprises one or more intermediate volumes that associate the source logical volume with the source physical volume, constructing an intermediate read request to be sent to each of the one or more intermediate volumes; sending the intermediate read request to each of the one or more intermediate volumes. 4. The method of claim 3 wherein causing the write request to be forwarded to the destination physical volume comprises: responsive to detecting that the device stack comprises one or more intermediate volumes that associate the destination logical volume with the destination physical volume, constructing an intermediate write request to be sent to each of the one or more intermediate volumes; and sending the intermediate write request to each of the one or more intermediate volumes. 5. The method of claim 2 further comprising: responsive to determining that the copy-offload request has failed, causing one of the driver of the source physical volume or the driver of the destination physical volume to reject additional copy requests from the source physical volume to the destination physical volume for a predetermined period of time. 6. A computing apparatus comprising: a memory; and a processing device, operatively coupled to the memory to: cause, by the processing device, a read request to be forwarded to a source physical volume of a device stack and a write request to be forwarded to a destination physical volume of the device stack, wherein the device stack comprises a source intermediate volume that associates a source logical volume with the source physical volume, and a destination intermediate volume that associates a destination logical volume with the destination physical volume; construct a copy descriptor to be associated with the read request and the write request; associate the copy descriptor with the read request and the write request; responsive to determining that the read request has failed at the source intermediate volume of the device stack, cause the driver of the source intermediate volume to terminate the write request; responsive to determining that the write request has failed at the destination intermediate volume of the device stack, cause the driver of the destination intermediate volume to terminate the read request; responsive to detecting that the read request has been received by the source physical volume of the device stack and the write request has been received by a destination physical volume of the device stack, cause one of a driver of the source physical volume or a driver of the destination physical volume to construct a copy-offload request to be sent to a storage device, the copy-offload request comprising the read request, the write request, and the copy descriptor; and send the copy-offload request to the storage device. 7. The apparatus of claim 6 , wherein the processing device is further to: construct the read request to be sent to the source logical volume and the write request to be sent to the destination logical volume; and send the read request to the source logical volume and the write request to the destination logical volume. 8. The apparatus of claim 7 , wherein the processing device is further to: responsive to execution of the copy-offload request by the storage device, receive a sense code from the storage device; translate the sense code to an error code; update the descriptor with the error code; and return the error code to the source logical volume and the destination logical volume. 9. The apparatus of claim 7 wherein to cause the read request to be forwarded to the source physical volume, the processing device is to: responsive to detecting that the device stack comprises one or more intermediate volumes that associate the source logical volume with the source physical volume, construct an intermediate read request to be sent to each of the one or more intermediate volumes; send the intermediate read request to each of the one or more intermediate volumes. 10. The apparatus of claim 9 wherein to cause the write request to be forwarded to the destination physical volume, the processing device is to: responsive to detecting that the device stack comprises one or more intermediate volumes that associate the destination logical volume with the destination physical volume, construct an intermediate write request to be sent to each of the one or more intermediate volumes; and send the intermediate write request to each of the one or more intermediate volumes. 11. The apparatus of claim 8 , wherein the processing device is further to: responsive to determining that the copy-offload request has failed, cause one of the driver of the source physical volume or the driver of the destination physical volume to reject additional copy requests from the source physical volume to the destination physical volume for a predetermined period of time. 12. A non-transitory computer readable storage medium, having instructions stored therein,

Assignees

Inventors

Classifications

  • Plurality of storage devices · CPC title

  • Storage of error reports, e.g. persistent data storage, storage using memory protection · CPC title

  • in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • G06F3/065Primary

    Replication mechanisms · 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 US9715351B2 cover?
A read request, a write request, and copy descriptor are constructed and sent to logical volumes of a device stack to complete a copy-offload operation between a source logical volume and a destination logical volume. The read request is forwarded to a source physical volume of a device stack and a write request is forwarded to a destination physical volume of the device stack. Responsive to de…
Who is the assignee on this patent?
Red Hat 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 Jul 25 2017 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).