LLR Generation with Gaussian Modeling and Machine Learning
A method and memory system for estimating parameters for reading data from a memory. The method determines respective counts of memory cell read patterns obtained by reading pages of the data from the memory with corresponding pre-determined read thresholds, wherein for a NAND PV state, two thresholds (RT1 and RT2) are obtained according to used page read thresholds; determines corresponding survival function values (SF1 and SF2); uses the two read thresholds (RT1 and RT2) and the corresponding survival function values (SF1 and SF2) to determine a mean μ and a standard deviation σ of a NAND PV state; and infers a soft read interval Δ and LLR values through a deep neural network (DNN) that takes, as an input, parameters (μ 1 , σ 1 ) and (μ 2 , σ 2 ) corresponding to respective means and standard deviations of two adjacent PV states having a read valley in between.
1 . A method for estimating parameters for reading data from a memory having a plurality of NAND program-voltage (PV) states, comprising:
determining respective counts of memory cell read patterns obtained by reading pages of the data from the memory with corresponding pre-determined read thresholds, wherein for a NAND PV state, two thresholds (RT1 and RT2) are obtained according to used page read thresholds;
based on the respective counts of the memory cell read patterns, determining corresponding survival function values (SF1 and SF2);
using the two read thresholds (RT1 and RT2) and the corresponding survival function values (SF1 and SF2) to determine a mean μ and a standard deviation σ of a NAND PV state; and
using a deep neural network (DNN) to infer a soft read interval Δ and LLR values, wherein the DNN takes, as an input, parameters (μ 1 , σ 1 ) and (μ 2 , σ 2 ) corresponding to respective means and standard deviations of two adjacent PV states having a read valley in between.
2 . The method of claim 1 , wherein the mean μ and the standard deviation σ of the NAND PV state is determined with the following equations:
Φ
-
1
(
S
F
1
)
-
Φ
-
1
(
S
F
2
)
where RT1 and RT2 are two read voltage thresholds, SF1 and SF2 are corresponding survival function values evaluated at RT1 and RT2, φ is the cumulative distribution function (CDF) of a standard Gaussian distribution, and φ −1 is the inverse function of φ.
3 . The method of claim 1 , further comprising:
modeling in the DNN each NAND PV state as a Gaussian distribution; and
determining in the DNN crossing points in the read valley between the two adjacent NAND PV states.
4 . The method of claim 3 , further comprising:
determining a read threshold for reading data from one of the two adjacent NAND PV states, wherein the read threshold comprises an optimal read threshold RT_OPT defined by:
R
T
O
P
T
=
?
2
a
?
indicates text missing or illegible when filed
where μ 1 , σ 1 , μ 2 , and σ 2 are the respective means and standard deviations for the two adjacent PV states.
5 . The method of claim 1 , wherein the determining of the respective counts of the memory cell read patterns comprises:
reading a least significant bit (LSB) page, a center significant bit (CSB) page, and a most significant bit (MSB) page of the memory; and
for each of eight patterns of ones (1s) and zeros (0s) read from the LSB page, the CSB page, and the MSB page, counting numbers of cells with each of the eight patterns.
6 . The method of claim 5 , wherein the determining corresponding survival function values comprises:
calculating, in a first phase based on reading the memory with the RT1, the SF1 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT1 according to the eight patterns to b) an average cell count for each NAND PV state.
7 . The method of claim 6 , wherein the determining corresponding survival function values comprises:
calculating, in a second phase based on reading the memory with the RT2, the SF2 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT2 according to the eight patterns to b) the average cell count for each NAND PV state.
8 . The method of claim 1 , wherein the determining of the respective counts of the memory cell read patterns comprises:
reading a single level cell (SLC) page and a least significant bit (LSB) page; and
for each of four patterns of ones (1s) and zeros (0s) read from the SLC page and the LSB page, counting numbers of cells with each of the four patterns.
9 . The method of claim 8 , wherein the determining corresponding survival function values comprises:
calculating, in a first phase based on reading the memory with the RT1, the SF1 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT1 according to the four patterns to b) an average cell count for each NAND PV state.
10 . The method of claim 9 , wherein the determining corresponding survival function values comprises:
calculating, in a second phase based on reading the memory with the RT2, the SF2 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT2 according to the four patterns to b) the average cell count for each NAND PV state.
11 . A memory system, comprising:
a storage having a plurality of NAND program-voltage (PV) states therein; and
a controller in communication with the storage and configured to
determine respective counts of memory cell read patterns obtained by reading pages of data from the memory with corresponding pre-determined read thresholds, wherein for a NAND PV state, two thresholds (RT1 and RT2) are obtained according to used page read thresholds;
based on the respective counts of the memory cell read patterns, determine corresponding survival function values (SF1 and SF2);
use the two read thresholds (RT1 and RT2) and the corresponding survival function values (SF1 and SF2) to determine a mean μ and a standard deviation σ of a NAND PV state; and
use a deep neural network (DNN) to infer a soft read interval Δ and LLR values, wherein the DNN takes, as an input, parameters parameters (μ 1 , σ 1 ) and (μ 2 , σ 2 ) corresponding to respective means and standard deviations of two adjacent PV states having a read valley in between.
12 . The memory system of claim 11 , wherein the controller is configured to:
calculate the mean μ and the standard deviation σ of the NAND PV state, with the following equations:
ϕ
-
1
(
S
F
1
)
-
ϕ
-
1
(
SF
2
)
where RT1 and RT2 are two read voltage thresholds, SF1 and SF2 are corresponding survival function values evaluated at RT1 and RT2, φ is the cumulative distribution function (CDF) of a standard Gaussian distribution, and φ −1 is the inverse function of φ.
13 . The memory system of claim 12 , wherein the controller is configured to:
model in the DNN each NAND PV state as a Gaussian distribution; and
determine in the DNN crossing points in the read valley between the two adjacent NAND PV states.
14 . The memory system of claim 13 , wherein the controller is configured to:
determine a read threshold for reading data from one of the two adjacent NAND PV states, wherein the read threshold comprises an optimal read threshold RT_OPT defined by:
R
T
O
P
T
=
?
2
a
?
indicates text missing or illegible when filed
where μ 1 , σ 1 , μ 2 , and σ 2 are the respective means and standard deviations for the two adjacent PV states.
15 . The memory system of claim 11 , wherein the controller is configured to:
read a least significant bit (LSB) page, a center significant bit (CSB) page, and a most significant bit (MSB) page of the memory; and
for each of eight patterns of 1s and 0s read from the LSB page, the CSB page, and the MSB page, count numbers of cells with each of the eight patterns.
16 . The memory system of claim 15 , wherein the controller is configured to calculate, in a first phase based on reading the memory with the RT1, the SF1 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT1 according to the eight patterns to b) an average cell count for each NAND PV state.
17 . The memory system of claim 16 , wherein the controller is configured to: calculate, in a second phase based on reading the memory with the RT2, the SF2 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT2 according to the eight patterns to b) the average cell count for each NAND PV state.
18 . The memory system of claim 14 , wherein the controller is configured to read a single layer cell (SLC) page and a least significant bit (LSB) page; and
for each of four patterns of 1s and 0s read from the SLC page and the LSB page, count numbers of cells with each of the four patterns.
19 . The memory system of claim 18 , wherein the controller is configured to calculate, in a first phase based on reading the memory with the RT1, the SF1 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT1 according to the four patterns to b) an average cell count for each NAND PV state.
20 . The memory system of claim 19 , wherein the controller is configured to calculate, the SF2 of a PV state based on a ratio of a) a number of cells associated with the PV state that have threshold voltages larger than the read threshold RT2 according to the four patterns to b) the average cell count for each NAND PV state.