Feature based read threshold estimation in NAND flash memory
A method for reading data from a solid-state drive (SSD) configured to store data in a plurality of memory cells arranged in memory blocks comprising rows, the method performed by a controller in communication with the plurality of memory cells. The method comprises retrieving data from a target row of memory cells of the plurality of memory cells associated with a read request received from a host using initial threshold voltages. The method also includes decoding the data using a hard decision stage. Additionally the method comprises estimating read threshold voltages of the target row of memory cells based on a transformation of a distribution of threshold voltages of cells in a memory block containing the target row when the hard decision decoding stage fails. The method further includes retrieving data from the target row using the estimated read threshold voltages.
1 . A method for reading data from a solid-state drive (SSD) configured to store data in a plurality of memory cells arranged in memory blocks comprising rows, the method performed by a controller in communication with the plurality of memory cells, the method comprising:
retrieving data from a target row of memory cells of the plurality of memory cells associated with a read request received from a host using initial threshold voltages;
decoding the data using a hard decision stage;
if the hard decision stage fails:
performing mock reads on the target row of memory cells;
estimating optimal threshold voltages of the target row of memory cells based on a transformation G of a distribution of threshold voltages obtained from the mock reads; and
retrieving data from the target row using the estimated optimal threshold voltages.
2 . The method of claim 1 , wherein the distribution of threshold voltages comprises a histogram H having a plurality of features.
3 . The method of claim 2 , wherein the transformation G is applied to the plurality of features of H.
4 . The method of claim 2 , wherein the transformation G is nonlinear.
5 . The method of claim 4 , wherein the transformation G comprises at least one of: roots of H, powers of H, natural logarithm of H, and products between the features in H.
6 . The method of claim 2 , wherein a number of features of G used in the estimation is limited to a predetermined number.
7 . The method of claim 2 , wherein the features of G selected for use in the estimation is based on hardware or memory cell constraints of the SSD.
8 . The method of claim 1 , wherein the mock threshold voltages are estimated using an estimator coefficient Y.
9 . The method of claim 8 , wherein Y is obtained using an iterative weighted least squares algorithm, weights of the least squares algorithm being a function of a bit error rate (BER) added per row.
10 . The method of claim 1 , wherein the read threshold voltages are estimated using a deep-neural network (DNN).
11 . A solid-state drive (SSD) comprising:
a non-volatile semiconductor memory device comprising a plurality of memory cells for storing data, the memory cells arranged in memory blocks comprising rows; and
a controller in communication with the plurality of memory cells, the controller configured to:
retrieve data from a target row of memory cells of the plurality of memory cells associated with a read request received from a host using initial threshold voltages;
decode the data using a hard decision stage;
if the hard decision stage fails:
perform mock reads on the target row of memory cells;
estimate optimal threshold voltages of the target row of memory cells based on a transformation G of a distribution of threshold voltages obtained from the mock reads; and
retrieve data from the target row using the estimated optimal threshold voltages.
12 . The SSD of claim 11 , wherein the distribution of threshold voltages comprises a histogram H having a plurality of features.
13 . The SSD of claim 12 , wherein the transformation G is applied to the plurality of features of H.
14 . The SSD of claim 12 , wherein the transformation G is nonlinear.
15 . The SSD of claim 14 , wherein the transformation G comprises at least one of: roots of H, powers of H, natural logarithm of H, and products between the features in H.
16 . The SSD of claim 12 , wherein a number of features of G used in the estimation is limited to a predetermined number.
17 . The SSD of claim 12 , wherein the features of G selected for use in the estimation is based on hardware or memory cell constraints of the SSD.
18 . The SSD of claim 11 , wherein the mock threshold voltages are estimated using an estimator coefficient Y.
19 . The SSD of claim 18 , wherein Y is obtained using an iterative weighted least squares algorithm, the weights being a function of a bit error rate (BER) added per row.
20 . The SSD of claim 11 , wherein the read threshold voltages are estimated using a deep-neural network (DNN).