Flash memory controller and associated control method
US-2024377989-A1 · Nov 14, 2024 · US
US2016291884A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016291884-A1 |
| Application number | US-201514675526-A |
| Country | US |
| Kind code | A1 |
| Filing date | Mar 31, 2015 |
| Priority date | Mar 31, 2015 |
| Publication date | Oct 6, 2016 |
| Grant date | — |
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 non-volatile semiconductor storage device and a controller that is configured to perform interleaving of small reads with large reads and small writes with large writes. In the example of reads, the controller receives a sequence of read commands including a first read command having a read size larger than a read threshold size and a second read command having a read size smaller than the read threshold size, and issue first and second read requests in succession to read data of a predetermined size less than the read threshold size, from the non-volatile semiconductor storage device. The interleaving is achieved by issuing the first read request to execute the first read command and the second read request to execute the second read command. As a result of this interleaving, the second read command will have a chance to complete earlier than the first read command even though it was received by the controller later in time.
Opening claim text (preview).
We claim: 1 . A data storage device comprising: a non-volatile semiconductor storage device; and a controller configured to: receive a sequence of read commands from a host connected to the data storage device, the read commands including a first read command having a read size larger than a read threshold size and a second read command having a read size smaller than the read threshold size, and issue first and second read requests in succession to read data of a predetermined size less than the read threshold size, from the non-volatile semiconductor storage device, wherein the first read request is issued to execute the first read command and the second read request is issued to execute the second read command. 2 . The data storage device of claim 1 , wherein the first read request partially executes the first read command and one or more additional read requests are issued to fully execute the first read command. 3 . The data storage device of claim 2 , wherein the second read request fully executes the second read command. 4 . The data storage device of claim 2 , wherein the second read request partially executes the second read command and one or more additional read requests are issued to fully execute the second read command, the total number of read requests issued to fully execute the second read command being less than the total number of read requests issued to fully execute the first read command. 5 . The data storage device of claim 1 , wherein the controller is configured to separate the read commands received from the host into a first set of read commands having a size larger than the read threshold size and a second set of read commands having a size smaller than the read threshold size, and store the first set of read commands in a first queue and the second set of read commands in a second queue. 6 . The data storage device of claim 5 , wherein the controller is configured to execute to completion the read commands in the first queue in the order they were added to the first queue, and the read commands in the second queue in the order they were added to the second queue. 7 . The data storage device of claim 1 , wherein the controller is configured to receive a sequence of write commands from a host connected to the data storage device, the write commands including a first write read command having a write size larger than a write threshold size and a second write command having a write size smaller than the threshold size, and issue first and second write requests in succession to write data of a predetermined size less than the write threshold size, into the non-volatile semiconductor storage device. 8 . The data storage device of claim 7 , wherein the first read request partially executes the first write command and one or more additional write requests are issued to fully execute the first write command. 9 . The data storage device of claim 8 , wherein the second write request fully executes the second write command. 10 . The data storage device of claim 8 , wherein the second write request partially executes the second write command and one or more additional write requests are issued to fully execute the second write command, the total number of write requests issued to fully execute the second write command being less than the total number of write requests issued to fully execute the first write command. 11 . The data storage device of claim 7 , wherein the controller is configured to separate the write commands received from the host into a first set of write commands having a size larger than the write threshold size and a second set of write commands having a size smaller than the write threshold size, and store the first set of write commands in a third queue and the second set of write commands in a fourth queue. 12 . The data storage device of claim 11 , wherein the controller is configured to execute to completion the write commands in the third queue in the order they were added to the third queue, and the write commands in the fourth queue in the order they were added to the fourth queue. 13 . The data storage device of claim 7 , wherein the predetermined size for reading is the same as the predetermined size for writing. 14 . The data storage device of claim 7 , wherein the predetermined size for reading is different from the predetermined size for writing. 15 . In a data storage device having a non-volatile semiconductor storage device, a method of issuing read or write requests to read data from or write data into the non-volatile semiconductor storage device in response to a sequence of read or write commands received from a host connected to the data storage device, said method comprising: separating the read commands received from the host into a first set of read commands having a read size larger than the read threshold size and a second set of read commands having a read size smaller than the read threshold size, and storing the first set of read commands in a first queue and the second set of read commands in a second queue; and issuing first and second read requests in succession to read data of a predetermined size less than the read threshold size, from the non-volatile semiconductor storage device, wherein the first read request is issued to execute a first read command, which is one of the read commands in the first queue, and the second read request is issued to execute a second read command, which is one of the read commands in the second queue. 16 . The method of claim 15 , wherein the first read request partially executes the first read command and one or more additional read requests are issued to fully execute the first read command, and the second read request fully executes the second read command. 17 . The method of claim 16 , further comprising: executing to completion the read commands in the first queue in the order they were added to the first queue, and the read commands in the second queue in the order they were added to the second queue. 18 . The method of claim 15 , further comprising: separating the write commands received from the host into a first set of write commands having a write size larger than the write threshold size and a second set of write commands having a write size smaller than the write threshold size, and storing the first set of write commands in a third queue and the second set of write commands in a fourth queue; and issuing first and second write requests in succession to write data of a predetermined size less than the write threshold size, into the non-volatile semiconductor storage device, wherein the first write request is issued to execute a first write command, which is one of the write commands in the third queue, and the second write request is issued to execute a second write command, which is one of the write commands in the fourth queue. 19 . The method of claim 18 , wherein the first write request partially executes the first write command and one or more additional write requests are issued to fully execute the first write command, and the second write request fully executes the second write command. 20 . The method of claim 18 , further comprising: executing to completion the write commands in the third queue in the order they were added to the third queue, and the write commands in the fourth queue in the order they were added to the fourth queue.
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
in relation to throughput · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.