Virtual ordered writes for multiple storage devices

US9606739B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9606739-B1
Application numberUS-201414538089-A
CountryUS
Kind codeB1
Filing dateNov 11, 2014
Priority dateDec 1, 2003
Publication dateMar 28, 2017
Grant dateMar 28, 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.

Ordering data writes includes at least some of a group of local storage devices receiving a first plurality of data writes, waiting for all of the local storage devices to be ready to switch cycles and causing a coordinated and synchronized cycle switch after all of the local storage devices are ready to switch cycles by sending a first command to each of the local storage devices where the first plurality of data writes are associated with a particular cycle on each local storage device in the group. Ordering data writes also includes at least some of the group of local storage devices receiving a second plurality of writes after initiating the coordinated and synchronized cycle switch where all of the second plurality of writes are associated with a cycle different from the particular cycle on each local storage device.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of ordering data writes, comprising: at least some of a plurality of local storage devices receiving a first plurality of data writes from at least one host coupled to the local storage devices; waiting for all of the local storage devices to be ready to switch cycles; causing a coordinated and synchronized cycle switch after all of the local storage devices of the plurality of local storage devices are ready to switch cycles by sending a first command to each of local storage devices wherein the first plurality of data writes are associated with a particular cycle on each local storage device in the plurality of local storage devices; at least some of the plurality of local storage devices receiving a second plurality of writes from at least one host coupled to the local storage devices after initiating the coordinated and synchronized cycle switch wherein all of the second plurality of writes are associated with a cycle different from the particular cycle on each local storage device; and after completion of the cycle switch, each of the local storage devices of the plurality of local storage devices initiating transfer of the first plurality of writes to a corresponding remote storage device. 2. A method, according to claim 1 , wherein writes to any of the plurality of local storage devices begun after initiating the cycle switch do not complete until after the cycle switch has completed. 3. A method, according to claim 1 , further comprising: following each of the local storage devices of the plurality of local storage devices completing transfer of the first plurality of writes to a corresponding remote storage device, each of the local storage devices sending a message to the corresponding remote storage device. 4. A method, according to claim 1 , further comprising: providing the first plurality of data writes to cache slots of the plurality of local storage device. 5. A method, according to claim 1 , wherein the at least one host causes the cycle switch. 6. A method, according to claim 1 , wherein causing the cycle switch includes waiting a predetermined amount of time. 7. A method, according to claim 6 , wherein sending a command to cause a cycle switch also causes writes begun after the first command to not complete until a second command is received. 8. A method, according to claim 7 , further comprising: after sending the first command to all of the local storage devices, sending the second command to all of the local storage devices to allow writes to complete. 9. A non-transitory computer-readable medium containing software that orders data writes from at least one host coupled to a plurality of local storage devices, the software comprising: executable code that waits for all of the local storage devices of the plurality of local storage devices to be ready to switch cycles; executable code that causes a coordinated and synchronized cycle switch after all of the local storage devices of the plurality of local storage devices are ready to switch cycles by sending a first command to each of the local storage devices wherein the first plurality of data writes are associated with a particular cycle on each local storage device in the plurality of local storage devices; executable code that, for a second plurality of writes from at least one host coupled to the local storage devices provided after initiating the coordinated and synchronized cycle switch, associates all of the second plurality of writes with a cycle different from the particular cycle on each local storage device; and after completion of the cycle switch, each of the local storage devices of the plurality of local storage devices initiating transfer of the first plurality of writes to a corresponding remote storage device. 10. A non-transitory computer-readable medium, according to claim 9 , wherein writes to any of the plurality of local storage devices begun after initiating the cycle switch do not complete until after the cycle switch has completed. 11. A non-transitory computer-readable medium, according to claim 9 , the software further comprising: executable code that causes each of the local storage devices to send a message to the corresponding remote storage device following each of the local storage devices of the plurality of local storage devices completing transfer of the first plurality of writes to a corresponding remote storage device. 12. A non-transitory computer-readable medium, according to claim 9 , the software further comprising: executable code that provides the first plurality of data writes to cache slots of the plurality of local storage device. 13. A non-transitory computer-readable medium, according to claim 9 , wherein the at least one host runs executable code that causes the cycle switch. 14. A non-transitory computer-readable medium, according to claim 9 , wherein executable code that causes the cycle switch includes executable code that waits a predetermined amount of time. 15. A non-transitory computer-readable medium, according to claim 14 , wherein executable code that sends a command to cause a cycle switch also causes writes begun after the first command to not complete until a second command is received. 16. A non-transitory computer-readable medium, according to claim 15 , the software further comprising: executable code that sends the second command to all of the local storage devices to allow writes to complete after sending the first command to all of the local storage devices.

Assignees

Inventors

Classifications

  • Generating database or data structure, e.g. via user interface · CPC title

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

  • G06F3/0619Primary

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

  • Asynchronous techniques · CPC title

  • File systems; File servers · 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 US9606739B1 cover?
Ordering data writes includes at least some of a group of local storage devices receiving a first plurality of data writes, waiting for all of the local storage devices to be ready to switch cycles and causing a coordinated and synchronized cycle switch after all of the local storage devices are ready to switch cycles by sending a first command to each of the local storage devices where the fir…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 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).