Dynamic read based on read statistics
US-2018314587-A1 · Nov 1, 2018 · US
US10866763B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10866763-B2 |
| Application number | US-201916413173-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 15, 2019 |
| Priority date | Oct 30, 2018 |
| Publication date | Dec 15, 2020 |
| Grant date | Dec 15, 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.
Apparatuses, systems, and methods are disclosed for dynamic read operations. A controller monitors one or more read statistics during a read operation for data of a non-volatile memory die. The controller determines whether one or more read statistics satisfy a threshold for a read operation. The controller dynamically modifies a read operation based on determining that one or more read statistics fail to satisfy a threshold.
Opening claim text (preview).
What is claimed is: 1. A method comprising: at a controller for a non-volatile memory element, the controller being coupled to the non-volatile memory element via a memory bus: initiating a read operation for data of the non-volatile memory element, the data stored subject to a data transformation that balances ones and zeros for the data; de-interleaving the data into respective data portions having a known physical order; for each of the respective data portions, determining whether an ongoing balance between ones and zeroes for the respective data portion during the read operation meets exception criteria; in response to a determination that the ongoing balance between ones and zeroes for a respective data portion during the read operation does not meet the exception criteria: decoding the data of the non-volatile memory element; and in response to a determination that the ongoing balance between ones and zeroes for the respective data portion during the read operation meets the exception criteria: identifying that the respective data portion has a possible physical defect and transmitting possible physical defect information for the respective data portion, and performing at least one of: dynamically adjusting the read operation based on the ongoing balance, and aborting decoding on the non-volatile memory element without performing error code correction and without transferring the data from the non-volatile memory element to a host controller. 2. The method of claim 1 , wherein the exception criteria include a criterion that is met when the ongoing balance does not exceed a first threshold. 3. The method of claim 2 , wherein the exception criteria are not met when the ongoing balance exceeds the first threshold but is less than a second threshold; and further comprising: in response to a determination that that the ongoing balance between ones and zeroes for the respective data portion during the read operation exceeds the first threshold but is less than the second threshold: dynamically adjusting the read operation based on the ongoing balance. 4. The method of claim 3 , wherein the exception criteria is not met when the ongoing balance exceeds the first threshold but is less than the second threshold; and further comprising: in response to a determination that that the ongoing balance between ones and zeroes for the respective data portion during the read operation exceeds the first threshold and the second threshold: aborting decoding on the non-volatile memory element without performing error code correction and without transferring the data from the non-volatile memory element to the host controller. 5. The method of claim 1 , wherein dynamically adjusting the read operation comprises changing one or more read parameters during the read operation, prior to transferring the data to the host controller. 6. The method of claim 5 , wherein changing the one or more read parameters comprises one or more of: changing one or more read thresholds; and obtaining soft bits indicating a reliability of the data. 7. The method of claim 1 , wherein determining whether the ongoing balance between ones and zeroes for the respective data portion during the read operation meets the exception criteria includes comparing the ongoing balance to one or more data statistics to verify and validate the data. 8. The method of claim 1 , further comprising: at the controller: reading a block data header associated with the respective data portion indicated in the read operation to determine an expected balance between ones and zeroes for the data during the read operation; wherein determining whether the ongoing balance between ones and zeroes for the respective data portion during the read operation meets the exception criteria includes comparing the ongoing balance to the expected balance, and wherein the exception criteria includes a criterion that is met when the ongoing balance is greater than the expected balance, and wherein in response to a determination that the ongoing balance is greater than the expected balance: dynamically adjusting the read operation based on the ongoing balance. 9. A system comprising: a non-volatile memory element; a memory bus; and a controller for the non-volatile memory element, the controller being coupled to the non-volatile memory element via the memory bus, the controller configured to perform the steps of: initiating a read operation for data of the non-volatile memory element, the data stored subject to a data transformation that balances ones and zeros for the data; de-interleaving the data into respective data portions having a known physical order; for each of the respective data portions, determining whether an ongoing balance between ones and zeroes for a respective data portion during the read operation meets exception criteria; in response to a determination that the ongoing balance between ones and zeroes for the respective data portion during the read operation does not meet the exception criteria: decoding the data of the non-volatile memory element; in response to a determination that the ongoing balance between ones and zeroes for the respective data portion during the read operation meets the exception criteria: identifying that the respective data portion has a possible physical defect and transmitting possible physical defect information for the respective data portion, and performing at least one of: dynamically adjusting the read operation based on the ongoing balance, and aborting decoding on the non-volatile memory element without performing error code correction and without transferring the data from the non-volatile memory element to a host controller. 10. The system of claim 9 , wherein the exception criteria include a criterion that is met when the ongoing balance does not exceed a first threshold. 11. The system of claim 10 , wherein the exception criteria are not met when the ongoing balance exceeds the first threshold but is less than a second threshold; and further comprising: in response to a determination that that the ongoing balance between ones and zeroes for the respective data portion during the read operation exceeds the first threshold but is less than the second threshold: dynamically adjusting the read operation based on the ongoing balance. 12. The system of claim 11 , wherein the exception criteria are not met when the ongoing balance exceeds the first threshold but is less than the second threshold; and further comprising: in response to a determination that that the ongoing balance between ones and zeroes for the respective data portion during the read operation exceeds the first threshold and the second threshold: aborting decoding on the non-volatile memory element without performing error code correction and without transferring the data from the non-volatile memory element to the host controller. 13. The system of claim 9 , wherein dynamically adjusting the read operation comprises changing one or more read parameters during the read operation, prior to transferring the data to the host controller. 14. The system of claim 13 , wherein changing the one or more read parameters comprises one or more of: changing one or more read thresholds; and obtaining soft bits indicating a reliability of the data. 15. The system of claim 9 , wherein determining whether the ongoing balance between ones and zeroes for the respective data portion during the read operation meets the exception criteria includes comparing the ongoing balance to one or more data statistics to verify and validate t
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
Non-volatile semiconductor memory arrays · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.