Flush command consolidation

US10534709B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10534709-B2
Application numberUS-201615252251-A
CountryUS
Kind codeB2
Filing dateAug 31, 2016
Priority dateAug 31, 2016
Publication dateJan 14, 2020
Grant dateJan 14, 2020

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 data storage device includes a write cache, a non-volatile memory and a controller coupled to the write cache and to the non-volatile memory. The controller is configured to, responsive to receiving a plurality of flush commands, write all data from the write cache to the non-volatile memory while executing fewer than all of the plurality of flush commands.

First claim

Opening claim text (preview).

The invention claimed is: 1. A data storage device comprising: a write cache; a non-volatile memory; and a controller coupled to the write cache and to the non-volatile memory, the controller configured to, responsive to receiving a plurality of flush commands from a host device, write all data from the write cache to the non-volatile memory while executing a subset of the plurality of flush commands and bypassing execution of one or more of the plurality of flush commands, wherein executing a flush command writes all of the data from the write cache to the non-volatile memory, and wherein after completing writing all of the data from the write cache to the non-volatile memory, the controller is configured to send the host device separate committed indications for each of the plurality of flush commands to indicate to the host device that all data from the write cache have been written to non-volatile memory. 2. The data storage device of claim 1 , wherein the controller is configured to bypass execution of all but one of the plurality of flush commands. 3. The data storage device of claim 1 , wherein the data corresponds to one or more write commands that are identified in a submission queue of the host device and that are identified in a completion queue of the host device. 4. The data storage device of claim 1 , wherein the controller comprises a command processor and a pending commands buffer comprising the plurality of flush commands and a plurality of write commands associated with the data, wherein the command processor is configured to selectively execute write commands and the plurality of flush commands in the pending commands buffer. 5. The data storage device of claim 4 , wherein the command processor is configured to, responsive to determining that the pending commands buffer includes a plurality of flush commands, execute fewer than all of the plurality of flush commands in the pending commands buffer. 6. The data storage device of claim 1 , wherein: the plurality of flush commands comprises a first flush command and a second flush command; and the controller is configured to merge execution of the first flush command and the second flush command. 7. A method comprising: at a data storage device comprising a write cache, a non-volatile memory and a controller comprising, performing: receiving a plurality of flush commands from a host device; writing all data from the write cache to the non-volatile memory while executing a subset of the plurality of flush commands and bypassing execution of one or more of the plurality of flush commands, wherein executing a flush command writes all of the data from the write cache to the non-volatile memory; and sending the host device separate committed indications for each of the plurality of flush commands to indicate to the host device that all data from the write cache have been written to non-volatile memory. 8. The method of claim 7 , wherein the method further comprises bypassing execution of all but one of the plurality of flush commands. 9. The method of claim 7 , wherein the data corresponds to one or more write commands that are identified in a submission queue of the host device and that are identified in a completion queue of the host device. 10. The method of claim 7 , wherein the controller comprises a pending commands buffer comprising the plurality of flush commands and a plurality of write commands associated with the data, wherein the method further comprises selectively executing the write commands and the plurality of flush commands in the pending commands buffer. 11. The method of claim 10 , further comprising: determining that the pending commands buffer includes a plurality of flush commands and; determining which of the fewer than all of the plurality of flush commands in the pending commands buffer to execute. 12. The method of claim 7 , wherein: the plurality of flush commands comprises a first flush command and a second flush command; and the method further comprises merging execution of the first flush command and the second flush command.

Assignees

Inventors

Classifications

  • with main memory updating (G06F12/0806 takes precedence) · CPC title

  • Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · 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 US10534709B2 cover?
A data storage device includes a write cache, a non-volatile memory and a controller coupled to the write cache and to the non-volatile memory. The controller is configured to, responsive to receiving a plurality of flush commands, write all data from the write cache to the non-volatile memory while executing fewer than all of the plurality of flush commands.
Who is the assignee on this patent?
Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/0804. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 14 2020 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).