Memory device with data scrubbing capability and methods
US-2024393961-A1 · Nov 28, 2024 · US
US9772793B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9772793-B2 |
| Application number | US-201414490367-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 18, 2014 |
| Priority date | Sep 20, 2013 |
| Publication date | Sep 26, 2017 |
| Grant date | Sep 26, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
In storage device · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.