Contention reduction scheduler for nand flash array with raid

US2018173460A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018173460-A1
Application numberUS-201615380430-A
CountryUS
Kind codeA1
Filing dateDec 15, 2016
Priority dateDec 15, 2016
Publication dateJun 21, 2018
Grant date

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.

The present disclosure generally relates to a flash storage system, and more particularly to a scheduler in the flash storage system. The flash storage system includes a device queue, a scheduler coupled to the device queue, and a plurality of dies. In one embodiment, the scheduler pushes commands from the device queue into one or more dies of the plurality of dies for processing in read command phase and write command phase. By separately pushing read commands and write commands into dies for processing, latency is decreased and TOPS is increased.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: receiving a plurality of read commands and a plurality of write commands by a device queue; pushing one or more read commands of the plurality of read commands into one or more targeted dies of a plurality of dies by a scheduler; stopping pushing read commands of the plurality of read commands into the plurality of dies when a predetermined number of write commands of the plurality of write commands in the device queue have been accumulated; processing the one or more read commands in the one or more targeted dies so the plurality of dies are available for processing; and pushing the predetermined number of write commands of the plurality of write commands in the device queue into the plurality of dies for processing by the scheduler. 2 . The method of claim 1 , wherein the device queue has a queue depth of 64, 256, or 1024. 3 . The method of claim 1 , further comprising scanning the device queue by the scheduler prior to pushing one or more read commands of the plurality of read commands into one or more targeted dies. 4 . The method of claim 3 , wherein the scheduler prioritizes the plurality of read commands and the plurality of write commands as the scheduler scans the device queue. 5 . An electronic device, comprising: a processor; a memory device, comprising: a device queue; a plurality of dies; and a scheduler coupled to the device queue and the plurality of dies; and a memory system storing instructions that, when executed by the processor, cause the electronic device to: receive a plurality of read commands and a plurality of write commands by the device queue; push one or more read commands of the plurality of read commands into one or more targeted dies of the plurality of dies by the scheduler; stop pushing read commands of the plurality of read commands into the plurality of dies when a predetermined number of write commands of the plurality of write commands in the device queue have been accumulated; process the one or more read commands in the one or more targeted dies so the plurality of dies are available for processing; and push the predetermined number of write commands of the plurality of write commands in the device queue into the plurality of dies for processing by the scheduler. 6 . The electronic device of claim 5 , wherein the device queue has a queue depth of 64, 256, or 1024. 7 . The electronic device of claim 5 , further comprising scanning the device queue by the scheduler prior to pushing one or more read commands of the plurality of read commands into one or more targeted dies. 8 . The electronic device of claim 7 , wherein the scheduler prioritizes the plurality of read commands and the plurality of write commands as the scheduler scans the device queue. 9 . A non-transitory computer readable storage medium, containing instructions that, when executed by a processor, cause a memory device to perform read and write processes, by performing the steps of: receiving a plurality of read commands and a plurality of write commands by a device queue; pushing one or more read commands of the plurality of read commands into one or more targeted dies of a plurality of dies by a scheduler; stopping pushing read commands of the plurality of read commands into the plurality of dies when a predetermined number of write commands of the plurality of write commands in the device queue have been accumulated; processing the one or more read commands in the one or more targeted dies so the plurality of dies are available for processing; and pushing the predetermined number of write commands of the plurality of write commands in the device queue into the plurality of dies for processing by the scheduler. 10 . The storage medium of claim 9 , wherein the device queue has a queue depth of 64, 256, or 1024. 11 . The storage medium of claim 9 , further comprising scanning the device queue by the scheduler prior to pushing one or more read commands of the plurality of read commands into one or more targeted dies. 12 . The storage medium of claim 11 , wherein the scheduler prioritizes the plurality of read commands and the plurality of write commands as the scheduler scans the device queue. 13 . A method, comprising: receiving a plurality of read commands and a plurality of write commands by a device queue; receiving availability information of a plurality of dies by a scheduler; and pushing commands of the plurality of read commands and the plurality of write commands into dies of the plurality of dies based on a priority of the commands, if the dies are available. 14 . The method of claim 13 , wherein the device queue has a queue depth of 64, 256, or 1024. 15 . The method of claim 13 , further comprising scanning the device queue and prioritizing the plurality of read commands and the plurality of write commands the by the scheduler. 16 . The method of claim 13 , wherein the priority of the commands are based on how long the commands are in the device queue. 17 . An electronic device, comprising: a processor; a memory device, comprising: a device queue; a plurality of dies; and a scheduler coupled to the device queue and the plurality of dies; and a memory system storing instructions that, when executed by the processor, cause the electronic device to: receive a plurality of read commands and a plurality of write commands by the device queue; receive availability information of the plurality of dies by the scheduler; and push commands of the plurality of read commands and the plurality of write commands into dies of the plurality of dies based on a priority of the commands, if the dies are available. 18 . The electronic device of claim 17 , wherein the device queue has a queue depth of 64, 256, or 1024. 19 . The electronic device of claim 17 , further comprising scanning the device queue and prioritizing the plurality of read commands and the plurality of write commands the by the scheduler. 20 . The electronic device of claim 17 , wherein the priority of the commands are based on how long the commands are in the device queue. 21 . A non-transitory computer readable storage medium, containing instructions that, when executed by a processor, cause a memory device to perform read and write processes, by performing the steps of: receiving a plurality of read commands and a plurality of write commands by a device queue; receiving availability information of a plurality of dies by a scheduler; and pushing commands of the plurality of read commands and the plurality of write commands into dies of the plurality of dies based on a priority of the commands, if the dies are available. 22 . The electronic device of claim 21 , wherein the device queue has a queue depth of 64, 256, or 1024. 23 . The electronic device of claim 21 , further comprising scanning the device queue and prioritizing the plurality of read commands and the plurality of write commands the by the scheduler. 24 . The electronic device of claim 21 , wherein the priority of the commands are based on how long the commands are in the device queue. 25 . An electronic device, comprising: a processor; and a memory device, comprising: means for receiving a plurality of read commands and a plurality of write commands; means for pushing one or more read commands of the plurality of read commands into one or more

Assignees

Inventors

Classifications

  • G06F3/0659Primary

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

  • Non-volatile semiconductor memory arrays · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • G06F3/061Primary

    Improving I/O performance · 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 US2018173460A1 cover?
The present disclosure generally relates to a flash storage system, and more particularly to a scheduler in the flash storage system. The flash storage system includes a device queue, a scheduler coupled to the device queue, and a plurality of dies. In one embodiment, the scheduler pushes commands from the device queue into one or more dies of the plurality of dies for processing in read comman…
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0659. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 21 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).