Auto-learning log likelihood ratio
First Claim
1. A method comprising:
- programming, at a nonvolatile memory controller, codewords into each of a plurality of nonvolatile memory devices in response to receiving host-requested write instructions at the nonvolatile memory controller;
performing, at the nonvolatile memory controller, background reads of at least one codeword of the programmed codewords in a block of the nonvolatile memory devices at a default threshold voltage, at one or more threshold voltage offset that is less than the default threshold voltage and at one or more threshold voltage offset that is greater than the default threshold voltage;
decoding, at a decoder circuit of the nonvolatile memory controller, at least one of the background reads to identify the at least one codeword;
identifying, at the nonvolatile memory controller, a set of log likelihood ratio (LLR) values using the read results and the identified at least one codeword;
continuing, at the nonvolatile memory controller, the performing background reads, the decoding at least one of the background reads and the identifying to identify a set of LLR values for each block of the nonvolatile memory devices;
further continuing the performing background reads, the decoding at least one of the background reads and the identifying to identify updated sets of LLR values;
performing, at the nonvolatile memory controller, a host-requested read of one of the nonvolatile memory devices; and
decoding, at the nonvolatile memory controller, the results of the host-requested read using LLR values from the updated set of LLR values corresponding to the block that was read in the host-requested read.
5 Assignments
0 Petitions
Accused Products
Abstract
A method for identifying log likelihood ratio (LLR) values includes programming codewords into nonvolatile memory devices in response to receiving host-requested write instructions and performing background reads of the programmed codewords in a block at a default threshold voltage, at one or more threshold voltage offset that is less than the default threshold voltage and at one or more threshold voltage offset that is greater than the default threshold voltage. One of the background reads is decoded to identify the stored codeword(s) and a set of LLR values is identified using the stored read results and the identified codeword(s). The process of performing background reads, storing, decoding and identifying is repeated to identify a set of LLR values for each block and further to identify updated sets of LLR values. Host-requested reads are performed and are decoded using LLR values from the updated set of LLR values corresponding to the block that was read.
-
Citations
20 Claims
-
1. A method comprising:
-
programming, at a nonvolatile memory controller, codewords into each of a plurality of nonvolatile memory devices in response to receiving host-requested write instructions at the nonvolatile memory controller; performing, at the nonvolatile memory controller, background reads of at least one codeword of the programmed codewords in a block of the nonvolatile memory devices at a default threshold voltage, at one or more threshold voltage offset that is less than the default threshold voltage and at one or more threshold voltage offset that is greater than the default threshold voltage; decoding, at a decoder circuit of the nonvolatile memory controller, at least one of the background reads to identify the at least one codeword; identifying, at the nonvolatile memory controller, a set of log likelihood ratio (LLR) values using the read results and the identified at least one codeword; continuing, at the nonvolatile memory controller, the performing background reads, the decoding at least one of the background reads and the identifying to identify a set of LLR values for each block of the nonvolatile memory devices; further continuing the performing background reads, the decoding at least one of the background reads and the identifying to identify updated sets of LLR values; performing, at the nonvolatile memory controller, a host-requested read of one of the nonvolatile memory devices; and decoding, at the nonvolatile memory controller, the results of the host-requested read using LLR values from the updated set of LLR values corresponding to the block that was read in the host-requested read. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A nonvolatile memory controller comprising:
-
a write circuit coupled to a plurality of nonvolatile memory devices, the write circuit configured to program codewords into each of a plurality of nonvolatile memory devices in response to receiving host-requested write instructions; a read circuit configured to perform background reads of at least one of the programmed codewords in a block of the nonvolatile memory devices at a default threshold voltage, at one or more threshold voltage offset that is less than the default threshold voltage and at one or more threshold voltage offset that is greater than the default threshold voltage; a decoder circuit configured to decode at least one of the background reads to identify the at least one codeword; a log likelihood ratio (LLR) circuit configured to identify a set of LLR values corresponding to the default threshold voltage using the read results and the identified at least one codeword; wherein the nonvolatile memory controller is configured to continue to perform the background reads, to decode at least one of the background reads, and to identify sets of LLR values, to identify a set of LLR values for each block of the nonvolatile memory devices; wherein the nonvolatile memory controller is configured to further continue to perform the background reads, to decode at least one of the background reads, and to identify sets of LLR values, to identify updated sets of LLR values; a read circuit configured to perform a host-requested read of the nonvolatile memory devices; and a decoder circuit configured to decode the results of the host-requested read using LLR values from the updated set of LLR values corresponding to the block that was read in the host-requested read. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A nonvolatile memory system comprising:
-
a plurality of nonvolatile memory devices; a nonvolatile memory controller that is coupled to the nonvolatile memory devices, the nonvolatile memory controller comprising; a write circuit configured to program the nonvolatile memory devices in response to receiving host-requested write instructions that include user data to store the user data in the nonvolatile memory devices; a read circuit configured to perform background reads of representative pages of a page group at a default threshold voltage within each threshold voltage region required to read the representative pages, at one or more threshold voltage offset that is less than the default threshold voltage within each threshold voltage region required to read the representative pages and at one or more threshold voltage offset that is greater than the default threshold voltage within each threshold voltage region required to read the representative pages; a decoder circuit configured to decode the results from some of the background reads of representative pages to identify codewords stored in the representative pages; a log likelihood ratio (LLR) circuit configured to identify a set of LLR values corresponding to each threshold voltage region required to read the representative pages using the read results and the identified codewords; and wherein the read circuit is configured to continue to perform the background reads, to decode the results from some of the background reads, and the LLR circuit is configured to continue to identify sets of LLR values, to identify a set of LLR values corresponding to each threshold voltage region required to read the representative pages of each page group; wherein the read circuit is further configured to continue to perform the background reads and the LLR circuit is further configured to identify updated sets of LLR values; and wherein the read circuit is configured to perform host-requested reads of the nonvolatile memory devices and the decoder circuit is configured to decode the results of the host-requested reads using LLR values from the updated set of LLR values corresponding to the page group of the page that was read in the host-requested read. - View Dependent Claims (19, 20)
-
Specification