Timed data transfer between a host system and a memory sub-system
US-11113198-B2 · Sep 7, 2021 · US
US12045168B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12045168-B2 |
| Application number | US-202217942725-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 12, 2022 |
| Priority date | May 6, 2019 |
| Publication date | Jul 23, 2024 |
| Grant date | Jul 23, 2024 |
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 memory sub-system configured to schedule the transfer of data from a host system for write commands to reduce the amount and time of data being buffered in the memory sub-system. For example, after receiving a plurality of streams of write commands from a host system, the memory sub-system identifies a plurality of media units in the memory sub-system for concurrent execution of a plurality of write commands respectively. In response to the plurality of commands being identified for concurrent execution in the plurality of media units respectively, the memory sub-system initiates communication of the data of the write commands from the host system to a local buffer memory of the memory sub-system. The memory sub-system has capacity to buffer write commands in a queue, for possible out of order execution, but limited capacity for buffering only the data of a portion of the write commands that are about to be executed.
Opening claim text (preview).
What is claimed is: 1. A device, comprising: media units operable independent from each other; a memory; a circuit configured to control buffering of data, from a plurality of streams of write commands, into the memory based on a determination of a subset of the media units available to execute write commands concurrently; determine, based on a count of the subset of the media units, a number of units of data; buffer no more than the number of units of data from the plurality of streams into the memory; and select first commands from the plurality of streams for concurrent execution in the subset of the media units. 2. The device of claim 1 , wherein each unit of data, among the number of units of data is no more than a maximum amount of data writable via execution of a single write command by a media unit, among the subset of the media units. 3. The device of claim 1 , further comprising: an interface operable to receive the plurality of streams from a host system. 4. The device of claim 1 , wherein the circuit is further configured to request communication of first data of the first commands, from a host system, to the memory. 5. The device of claim 4 , wherein the circuit is further configured to execute, using the subset of the media units concurrently, the first commands to store the first data of the first commands into the subset of the media units. 6. The device of claim 5 , wherein the circuit is further configured to allocate a buffer space in the memory for the first data of the first commands in response to the subset of the media units being available to operate concurrently and to release the buffer space in response to completion of providing the first data of the first commands from the memory to the subset of the media units. 7. The device of claim 6 , wherein the circuit is further configured to place, in at least one command queue, write commands, including the first commands, that are more than the count of the subset of media units. 8. The device of claim 7 , wherein the circuit is further configured to select the first commands, out of order, from the command queue. 9. The device of claim 8 , wherein the plurality of streams identifies logical addresses of data to be written into the device in a logical address space identified via a namespace; the namespace has a plurality of zones; and the plurality of streams are configured to write in the plurality of zones respectively. 10. The device of claim 9 , wherein each respective stream among the plurality of streams is configured to write data sequentially in the logical address space in a respective zone among the plurality of zones. 11. A method, comprising: determining, by a device having a memory and media units operable independent from each other, a subset of the media units available to execute write commands concurrently; controlling buffering of data, from a plurality of streams of write commands, into the memory based on identification of the subset of the media units; determining, based on a count of the subset of the media units, a number of units of data; and buffering no more than the number of units of data from the plurality of streams into the memory; wherein each unit of data, among the number of units of data is no more than a maximum amount of data writable via execution of a single write command. 12. The method of claim 11 , wherein each unit of data, among the number of units of data is no more than a maximum amount of data writable via execution of a single write command by a media unit, among the subset of the media units. 13. The method of claim 11 , further comprising: selecting first commands from the plurality of streams for concurrent execution in the subset of the media units; and requesting communication of first data of the first commands, from a host system, to the memory. 14. The method of claim 13 , further comprising: executing, using the subset of the media units concurrently, the first commands to store the first data of the first commands into the subset of the media units. 15. The method of claim 14 , further comprising: placing, in at least one command queue in the device, write commands, including the first commands, that are more than the count of the subset of media units; selecting the first commands, out of order, from the command queue; allocating a buffer space in the memory for the first data of the first commands in response to the subset of the media units being available to operate concurrently; and releasing the buffer space in response to completion of providing the first data of the first commands from the memory to the subset of the media units. 16. The method of claim 15 , wherein the plurality of streams identifies logical addresses of data to be written into the device in a logical address space identified via a namespace; the namespace has a plurality of zones; the plurality of streams are configured to write in the plurality of zones respectively; and each respective stream among the plurality of streams is configured to write data sequentially in the logical address space in a respective zone among the plurality of zones. 17. A non-transitory computer storage medium storing instructions which when executed by a device having a memory and media units operable independent from each other, cause the device to perform a method, the comprising: identifying, by the device, a subset of the media units available to execute write commands concurrently; determining, based on identification of the subset of the media units, an amount of data; buffering no more than the amount of data from a plurality of streams of write commands into the memory; executing, using the subset of the media units concurrently, first commands to store the amount of into the subset of the media units; placing, in at least one command queue in the device, write commands, including the first commands, that are more than the count of the subset of media units; and allocating a buffer space in the memory for first data of the first commands in response to the subset of the media units being available to operate concurrently. 18. The non-transitory computer storage medium of claim 17 , wherein the method further comprises: selecting the first commands, out of order, from the command queue for concurrent execution in the subset of the media units; requesting communication of the first data of the first commands, from a host system, to the buffer space; and releasing the buffer space in response to completion of providing the first data of the first commands from the memory to the subset of the media units.
Latency reduction · CPC title
for memory cells of the field-effect type · CPC title
in relation to response time · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.