Data block movement offload to storage systems

US9772793B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9772793-B2
Application numberUS-201414490367-A
CountryUS
Kind codeB2
Filing dateSep 18, 2014
Priority dateSep 20, 2013
Publication dateSep 26, 2017
Grant dateSep 26, 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.

In a write by-peer-reference, a storage device client writes a data block to a target storage device in the storage system by sending a write request to the target storage device, the write request specifying information used to obtain the data block from a source storage device in the storage system. The target storage device sends a read request to the source storage device for the data block. The source storage device sends the data block to the target storage device, which then writes the data block to the target storage device. The data block is thus written to the target storage device without the storage device client transmitting the data block itself to the target storage device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising steps of: a storage device client writing a data block to a target storage device of a mirrored storage system, wherein writing said data block comprises: sending a write request to said target storage device of said mirrored storage system, said write request specifying: a source storage device in said mirror storage system, a source primary block address of said data block at said source storage device, and a target primary block address to which to write said data block at said target storage device; in response to receiving said write request, said target storage device transmitting a read request for said data block to said source storage device, said read request specifying said source primary block address; in response to receiving said read request, said source storage device transmitting said data block to said target storage device; said target storage device writing said data block at the target primary block address; and after said target storage device writing said data block at the target primary block address, said target storage device transmitting an acknowledgement to said storage device client acknowledging writing said data block at said target storage device. 2. The method of claim 1 wherein: said write request to said target storage device specifies to preserve a cache property of said data block at the source storage device; said read request for said data block to said source storage device requests said cache property; and the method further includes retaining said data block in a cache after writing said data block to primary storage in response to said write request specifying to preserve said cache property. 3. The method of claim 1 , wherein said target primary block address and source primary block address are different. 4. The method claim 1 , wherein: a copy of said data block is stored in a contiguous set of data blocks stored in said target storage device; a copy of said data block is stored in a contiguous set of data blocks stored in said source storage device; a directory stored in said storage device client maps the contiguous set of data blocks stored in said target storage device to a storage location on said target storage device; said directory stored in said storage device client maps the contiguous set of data blocks stored in said source storage device to a storage location on said source storage device; and the method further includes the storage device client determining based on the directory the source primary block address and target primary block address. 5. A method, comprising steps of: a storage device client writing a data block to a mirrored storage system, wherein writing said data block to said mirrored storage system comprises: sending a first write request to a source mirror peer of said mirrored storage system, said sending a first write request including said storage device client transmitting said data block to said source mirror peer; said source mirror peer transmitting to said storage device client an acknowledgement to acknowledge writing said data block at said source mirror peer; in response to said storage device client receiving said acknowledgement from said source mirror peer, said storage device client sending a second write request to a target mirror peer of said mirrored storage system, said second write request specifying: said source mirror peer in said mirror storage system, a source primary block address of said data block at said source mirror peer, and a target primary block address to which to write said data block at said target mirror peer; and in response to receiving said second write request: said target mirror peer transmitting a read request for said data block to said source mirror peer, said read request specifying said source primary block address, and in response to receiving said read request, said source mirror peer transmitting said data block to said target mirror peer; in response to receiving said data block from said source mirror peer, said target mirror peer writing said data block at the target primary block address; and after said target mirror peer said writing said data block at the target primary block address, said target mirror peer transmitting an acknowledgement to said storage device client acknowledging writing said data block at said target mirror peer. 6. The method claim 5 , wherein: a copy of said data block is stored in a contiguous set of data blocks stored in said target mirror peer; a copy of said data block is stored in a contiguous set of data blocks stored in said target mirror peer; a directory stored in said storage device client maps the contiguous set of data blocks stored in said target mirror peer to a storage location on said target mirror peer; said directory stored in said storage device client maps the contiguous set of data blocks stored in said source mirror peer to a storage location on said source mirror peer; and the method further includes the storage device client determining that the source primary block address and target primary block address based on the directory. 7. The method of claim 6 , wherein said target primary block address and source primary block address are not the same. 8. A storage system, comprising: a storage device client configured to write a data block to a target storage device of a mirrored storage system, by being configured to: send a write request to said target storage device of said mirrored storage system, said write request specifying: a source storage device in said mirror storage system, a source primary block address of said data block at said source storage device, and a target primary block address to which to write said data block at said target storage device; said target storage device being configured to, in response to receipt of said write request, transmit a read request for said data block to said source storage device, said read request specifying said source primary block address; said source storage device being configured to, in response to receipt of said read request, transmit said data block to said target storage device; said target storage device being configured to write said data block at the target primary block address; and said target storage device being configured to, after said target storage device writes said data block at the target primary block address, transmit an acknowledgement to said storage device client acknowledging writing said data block at said target storage device. 9. The storage system of claim 8 wherein: said write request to said target storage device specifies to preserve a cache property of said data block at the source storage device; said read request for said data block to said source storage device requests said cache property; and the system is further configured to retain said data block in a cache after writing said data block to primary storage. 10. The storage system of claim 8 , wherein said target primary block address and source primary block address are different. 11. The storage system of claim 8 , wherein: a copy of said data block is stored in a contiguous set of data blocks stored in said target storage device; a copy of said data block is stored in a contiguous set of data blocks stored in said source storage device; a directory stored in said storage device client maps the contiguous set of data blocks stored in said target storage device to a storage location on said target storage device; said directory stored in said storage device client maps the contiguous set of data blocks stored in said source storage device to a storage loca

Assignees

Inventors

Classifications

  • In storage device · CPC title

  • G06F3/065Primary

    Replication mechanisms · CPC title

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

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

  • in relation to data integrity, e.g. data losses, bit errors · 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 US9772793B2 cover?
In a write by-peer-reference, a storage device client writes a data block to a target storage device in the storage system by sending a write request to the target storage device, the write request specifying information used to obtain the data block from a source storage device in the storage system. The target storage device sends a read request to the source storage device for the data block…
Who is the assignee on this patent?
Oracle Int Corp
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 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).