Dynamic read based on read statistics

US10866763B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10866763-B2
Application numberUS-201916413173-A
CountryUS
Kind codeB2
Filing dateMay 15, 2019
Priority dateOct 30, 2018
Publication dateDec 15, 2020
Grant dateDec 15, 2020

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.

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.

First claim

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

Assignees

Inventors

Classifications

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • G06F3/0659Primary

    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

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 US10866763B2 cover?
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 statist…
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0659. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 15 2020 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).