Scheduling of I/O writes in a storage environment

US9423967B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9423967-B2
Application numberUS-201514715552-A
CountryUS
Kind codeB2
Filing dateMay 18, 2015
Priority dateSep 15, 2010
Publication dateAug 23, 2016
Grant dateAug 23, 2016

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 system and method for scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The data storage controller is configured to receive requests targeted to the data storage medium, said requests including a first type of operation and a second type of operation. The controller is further configured to schedule requests of the first type for immediate processing by said plurality of storage devices, and queue requests of the second type for later processing by the plurality of storage devices. Operations of the first type may correspond to operations with an expected relatively low latency, and operations of the second type may correspond to operations with an expected relatively high latency.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system comprising: a data storage medium comprising a plurality of storage devices configured to store data; and a data storage controller coupled to the data storage medium; wherein the data storage controller is configured to: cease processing requests corresponding to a first type of operation on a first storage device; queue a plurality of requests of a second type of operation; schedule requests of the second type for immediate processing by the first storage device; and in response to detecting a second storage device of the plurality of storage devices is exhibiting a relatively long response latency, discontinue processing the requests corresponding to the second type of operation by the first storage device. 2. The computer system as recited in claim 1 , wherein operations of the first type correspond to operations with an expected relatively low latency, and operations of the second type correspond to operations with an expected relatively high latency. 3. The computer system as recited in claim 2 , wherein operations of the first type correspond to read requests, and operations of the second type correspond to write requests, cache flushes, or trim operations. 4. The computer system as recited in claim 1 , wherein said plurality of storage devices are solid state storage devices, and wherein each of said solid state storage devices processes read requests with a relatively low latency, and processes write requests with a relatively high latency. 5. The computer system as recited in claim 1 , wherein the plurality of requests corresponding to the second type of operation correspond to write requests, and wherein the storage controller is configured to automatically schedule a dummy read to a given device to follow the write requests. 6. The computer system as recited in claim 1 , wherein the plurality of requests corresponding to the second type of operation correspond to write requests, and wherein the storage controller is configured to stream said write requests as a plurality of discrete units of data for processing, the storage controller being able to stop said streaming after any of said units. 7. The computer system as recited in claim 1 , wherein the storage controller is configured to stop processing requests corresponding to the first type immediately and begin processing queued requests corresponding to the second type in response to detecting a given condition. 8. The computer system as recited in claim 7 , wherein said condition comprises at least one of: a particular number of requests of the second type have been queued, a period of time has elapsed since requests of the second type were processed, and no new requests have been received for a given period of time. 9. A method for use in a computing system, the method comprising: cease processing requests corresponding to a first type of operation on a first storage device; queue a plurality of requests of a second type of operation; schedule requests of the second type for immediate processing by the first storage device; and in response to detecting a second storage device of the plurality of storage devices is exhibiting a relatively long response latency, discontinue processing the requests corresponding to the second type of operation by the first storage device. 10. The method as recited in claim 9 , wherein operations of the first type correspond to operations with an expected relatively low latency, and operations of the second type correspond to operations with an expected relatively high latency. 11. The method as recited in claim 10 , wherein operations of the first type correspond to read requests, and operations of the second type correspond to write requests, cache flushes, or trim operations. 12. The method as recited in claim 9 , wherein said plurality of storage devices are solid state storage devices, and wherein each of said solid state storage devices processes read requests with a relatively low latency, and processes write requests with a relatively high latency. 13. The method as recited in claim 9 , wherein the plurality of requests corresponding to the second type of operation correspond to write requests, and wherein the method comprises automatically scheduling a dummy read to a given device to follow the write requests. 14. The method as recited in claim 9 , wherein the plurality of requests corresponding to the second type of operation correspond to write requests, and wherein the method comprises streaming said write requests as a plurality of discrete units of data for processing, the method being able to stop said streaming after any of said units. 15. A non-transitory computer readable storage medium comprising program instructions, wherein when executed by a processing device, the program instructions are operable to: cease processing requests corresponding to a first type of operation on a first storage device; queue a plurality of requests of a second type of operation; schedule requests of the second type for immediate processing by the first storage device; and in response to detecting a second storage device of the plurality of storage devices is exhibiting a relatively long response latency, discontinue processing the requests corresponding to the second type of operation by the first storage device. 16. The computer readable medium as recited in claim 15 , wherein operations of the first type correspond to operations with an expected relatively low latency, and operations of the second type correspond to operations with an expected relatively high latency.

Assignees

Inventors

Classifications

  • in relation to throughput · CPC title

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

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

  • Non-volatile semiconductor memory arrays · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · 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 US9423967B2 cover?
A system and method for scheduling read and write operations among a plurality of solid-state storage devices. A computer system comprises client computers and data storage arrays coupled to one another via a network. A data storage array utilizes solid-state drives and Flash memory cells for data storage. A storage controller within a data storage array comprises an I/O scheduler. The data sto…
Who is the assignee on this patent?
Pure Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0611. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 23 2016 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).