Processing flush requests by utilizing storage system write notifications
US-9632711-B1 · Apr 25, 2017 · US
US10534709B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10534709-B2 |
| Application number | US-201615252251-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 31, 2016 |
| Priority date | Aug 31, 2016 |
| Publication date | Jan 14, 2020 |
| Grant date | Jan 14, 2020 |
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.
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.
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.
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.