Advanced flash scan algorithm
US-10528269-B2 · Jan 7, 2020 · US
US11068169B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11068169-B2 |
| Application number | US-201916724078-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 20, 2019 |
| Priority date | Mar 2, 2018 |
| Publication date | Jul 20, 2021 |
| Grant date | Jul 20, 2021 |
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 controller of the data storage system may poll a non-volatile memory component to determine an operational status of the non-volatile memory component after a memory operation has been initiated in the non-volatile memory component. The controller may, in response to determining the operational status of the non-volatile memory component is busy, update a polling interval based on a polling factor. The controller may re-poll the non-volatile memory component to determine the operational status of the non-volatile memory component after expiration of the updated polling interval. The controller may repeat the updating of the polling interval and the re-polling of the non-volatile memory component until the operational status of the non-volatile memory component is determined to be ready or until a predetermined number of iterations of the updating and re-polling have been performed if, in response to the re-polling, the operational status is determined to be busy.
Opening claim text (preview).
What is claimed is: 1. A data storage device, comprising: non-volatile memory; and a controller configured to cause: determining an operational status of a memory portion of the non-volatile memory after a memory operation has been initiated in the memory portion, wherein the determining is based on polling the memory portion; while the operational status of the memory portion is busy, or until a predetermined number of iterations has occurred while the operational status of the memory portion is busy, performing one or more iterations of the following operations: changing a polling interval; and re-polling the memory portion to determine the operational status of the memory portion after expiration of the changed polling interval; determining that the changed polling interval satisfies a polling interval threshold; and repeating the re-polling of the memory portion without changing the polling interval further in response to determining that the changed polling interval satisfies the polling interval threshold. 2. The data storage device of claim 1 , wherein the changing the polling interval comprises changing the polling interval based on a polling factor. 3. The data storage device of claim 1 , wherein the changing the polling interval comprises changing the polling interval in response to determining that the operational status of the memory portion is busy. 4. The data storage device of claim 1 , wherein the controller is configured to cause: determining whether an initial waiting period has expired after the memory operation has been initiated in the memory portion; and polling the memory portion after the initial waiting period has expired. 5. The data storage device of claim 4 , wherein the initial waiting period is greater than the polling interval. 6. The data storage device of claim 2 , wherein the polling factor is based on a distribution of memory operation completion times. 7. The data storage device of claim 6 , wherein the controller is configured to cause: changing a data table to indicate an iteration of re-polling in response to which the operational status of the memory portion is determined to be ready, wherein the distribution of memory operation completion times is based on the data table. 8. A method, comprising: determining an operational status of a memory portion of a non-volatile memory after a memory operation has been initiated in the memory portion, wherein the determining is based on polling the memory portion; and while the operational status of the memory portion is busy, or until a predetermined number of iterations has occurred while the operational status of the memory portion is busy, performing one or more iterations of the following operations: changing a polling interval; and re-polling the memory portion to determine the operational status of the memory portion after expiration of the changed polling interval, wherein the changing the polling interval comprises changing the polling interval based on a polling factor, and wherein the polling factor is based on a distribution of memory operation completion times. 9. The method of claim 8 , wherein the changing the polling interval comprises changing the polling interval in response to determining that the operational status of the memory portion is busy. 10. The method of claim 8 , comprising: determining whether an initial waiting period has expired after the memory operation has been initiated in the memory portion, wherein the memory portion is polled after the initial waiting period has expired. 11. The method of claim 10 , wherein the initial waiting period is greater than the polling interval. 12. The method of claim 8 , comprising: determining that the changed polling interval satisfies a polling interval threshold, wherein the re-polling of the memory portion is repeated without changing the polling interval in response to determining that the changed polling interval satisfies the polling interval threshold. 13. The method of claim 8 , comprising: changing a data table to indicate an iteration of re-polling in response to which the operational status of the memory portion is determined to be ready, wherein the distribution of memory operation completion times is based on the data table. 14. A data storage device, comprising: means for determining an operational status of a memory portion of a non-volatile memory after a memory operation has been initiated in the memory portion, wherein the means for determining is based on polling the memory portion; and while the operational status of the memory portion is busy, or until a predetermined number of iterations has occurred while the operational status of the memory portion is busy, means for performing one or more iterations of the following operations: changing a polling interval; and re-polling the memory portion to determine the operational status of the memory portion after expiration of the changed polling interval, wherein the changing the polling interval comprises changing the polling interval based on a polling factor, and wherein the polling factor is based on a distribution of memory operation completion times. 15. The data storage device of claim 14 , wherein the changing the polling interval based on the polling factor comprises changing the polling interval, based on the polling factor, in response to determining that the operational status of the memory portion is busy. 16. The data storage device of claim 15 , comprising: means for changing a data table to indicate an iteration of re-polling in response to which the operational status of the memory portion is determined to be ready, and wherein the distribution of memory operation completion times is based on the data table. 17. The data storage device of claim 14 , comprising: means for determining whether an initial waiting period has expired after the memory operation has been initiated in the memory portion; and means for polling the memory portion after the initial waiting period has expired.
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
Monitoring storage devices or systems · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.