Data storage device and method for executing a low-priority speculative read command from a host

US12333183B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12333183-B2
Application numberUS-202217709699-A
CountryUS
Kind codeB2
Filing dateMar 31, 2022
Priority dateMar 31, 2022
Publication dateJun 17, 2025
Grant dateJun 17, 2025

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 receives a speculative read command from a host identifying logical block addresses. The speculative read command is not required be to executed within a certain amount of time or even at all. The data storage device at least partially executes the speculative read command in response to determining that such execution will not reduce performance of the data storage device. At least partially executing the speculative read command causes data associated with at least some of the logical block addresses to be read from the non-volatile memory and stored in at least one buffer. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.

First claim

Opening claim text (preview).

What is claimed is: 1. A data storage device comprising: a non-volatile memory; and a processor configured to: receive a speculative read command from a host identifying a plurality of logical block addresses, wherein the speculative read command is not required to be executed within a certain amount of time or even at all; and partially execute the speculative read command in response to determining that such execution will not reduce performance of the data storage device and not in response to availability of at least one buffer; wherein: partially executing the speculative read command causes data associated with some of the plurality of logical block addresses to be read from the non-volatile memory and stored in the at least one buffer; and partially executing the speculative read command does not guarantee that the speculative read command will be completely executed. 2. The data storage device of claim 1 , wherein the processor is further configured to allow the host to access the data stored in the at least one buffer. 3. The data storage device of claim 1 , wherein the speculative read command is partially executed during idle time of the data storage device. 4. The data storage device of claim 1 , wherein the speculative read command is partially executed in response to the data storage device having surplus bandwidth. 5. The data storage device of claim 1 , wherein the speculative read command is partially executed in response to the at least one buffer being available. 6. The data storage device of claim 1 , wherein the speculative read command is partially executed prior to the data storage device entering a low-power or sleep mode. 7. The data storage device of claim 1 , wherein the processor is further configured to partially execute the speculative read command intermediately between executing non-speculative read commands. 8. The data storage device of claim 1 , wherein the at least one buffer is in the data storage device. 9. The data storage device of claim 1 , wherein the at least one buffer is in the host. 10. The data storage device of claim 1 , wherein the at least one buffer comprises a plurality of buffers, one of which is in the data storage device and another one of which is in the host. 11. The data storage device of claim 1 , wherein the processor is further configured to replace at least some portions of the data in the at least one buffer that are lost responsive to an area of the at least one buffer storing the at least some portions of the data being reclaimed. 12. The data storage device of claim 1 , wherein the processor is further configured to place the speculative read command in a low-priority queue. 13. The data storage device of claim 1 , wherein the non-volatile memory comprises a three-dimensional memory. 14. A method comprising: performing the following in a data storage device comprising a non-volatile memory: receiving a low-priority pre-fetch command from a host, wherein the low-priority pre-fetch command is not required to be executed within a certain amount of time or even at all; each time it is determined that the low-priority pre-fetch command can be executed in part without affecting performance of the higher-priority command, and not in response to availability of a volatile memory, partially executing a part of the low-priority pre-fetch command by: reading data from the non-volatile memory associated with the executed part; and caching the data in the volatile memory; and dynamically rebuilding lost data removed from the volatile memory after the data storage device or the host reclaims at least a portion of the volatile memory, wherein the data storage device or the host is allowed to reclaim the at least a portion of the volatile memory because full accumulation in the volatile memory of all of the data associated with the low-priority pre-fetch command is not guaranteed. 15. The method of claim 14 , further comprising: in response to later receiving a read command from the host for data identified in the pre-fetch command, reading only data from the non-volatile memory that was not cached in the volatile memory. 16. The method of claim 14 , wherein the volatile memory is located at least partially in the data storage device. 17. The method of claim 14 , wherein the volatile memory is located at least partially in the host. 18. The method of claim 14 , further comprising: converting the low-priority pre-fetch command into a higher priority read command in response to a request from the host. 19. The method of claim 14 , further comprising: invalidating the low-priority pre-fetch command and replacing it with a higher priority read command in response to a request from the host. 20. A data storage device comprising: a non-volatile memory; and means for: receiving a speculative read command from a host identifying a plurality of logical block addresses, wherein the speculative read command is not required be to executed within a certain amount of time or even at all; and partially executing the speculative read command in response to determining that such execution will not reduce performance of the data storage device and not in response to availability of at least one buffer; wherein: partially executing the speculative read command causes data associated with some of the plurality of logical block addresses to be read from the non-volatile memory and stored in at least one buffer; and partially executing the speculative read command does not guarantee that the speculative read command will be completely executed.

Assignees

Inventors

Classifications

  • Improving I/O performance · CPC title

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

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

  • G06F3/0679Primary

    Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • G06F3/0656Primary

    Data buffering arrangements · 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 US12333183B2 cover?
A data storage device receives a speculative read command from a host identifying logical block addresses. The speculative read command is not required be to executed within a certain amount of time or even at all. The data storage device at least partially executes the speculative read command in response to determining that such execution will not reduce performance of the data storage device…
Who is the assignee on this patent?
Western Digital Tech Inc, Sandisk Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0679. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 17 2025 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).