Data storage device and method for combining prediction models for read threshold calibration
A data storage device generates a recommended read threshold value by combining outputs of a binary tree model and a linear regression model. This provide a best-of-both-worlds result, as a binary tree model can describe complex output functions but can be limited to a finite set of output values, whereas the linear regression model has continuous value outputs. Other embodiments are provided.
1 . A data storage device comprising:
a memory; and
means for:
(a) training a binary tree model by:
inputting previously-generated read threshold values, but not other input features of the memory, into a linear regression model, which outputs a predicted correction to a default read threshold value; and
inputting the predicted correction to the default read threshold value into the binary tree model to train the binary tree model;
(b) after the binary tree model has been trained, obtaining a recommended read threshold value to read the memory by:
inputting the plurality of previously-generated read threshold values, but not the other input features of the memory, into the linear regression model wherein the linear regression model is a linear model that outputs continuous output values;
inputting the plurality of previously-generated read threshold values, as well as the other input features of the memory, into the binary tree model, wherein the binary tree model is a non-linear model implemented in hardware and outputs a finite set of output values; and
combining the continuous output values of the linear regression model and the finite set of output values of the binary tree model to generate a recommended read threshold; and
(c) using the recommended read threshold value to read the memory;
wherein to train the binary tree model, the predicted correction to the default read threshold value is provided as an input to the binary tree model, and wherein after the binary tree model has been trained, the predicted correction to the default read threshold value is combined with an output of the binary tree model.
2 . A data storage device comprising:
a memory; and
one or more processors, individually or in combination, configured to:
(a) train a binary tree model by:
inputting previously-generated read threshold values, but not other input features of the memory, into a linear regression model, which outputs a predicted correction to a default read threshold value; and
inputting the predicted correction to the default read threshold value into the binary tree model to train the binary tree model;
(b) after the binary tree model has been trained, obtain a recommended read threshold value to read the memory by:
inputting the plurality of previously-generated read threshold values, but not the other input features of the memory, into the linear regression model, wherein the linear regression model is a linear model that outputs continuous output values;
inputting the plurality of previously-generated read threshold values, as well as the other input features of the memory, into the binary tree model, wherein the binary tree model is a non-linear model implemented in hardware and outputs a finite set of output values; and
combining the continuous output values of the linear regression model and the finite set of output values of the binary tree model to generate a recommended read threshold; and
(c) use the recommended read threshold value to read the memory;
wherein to train the binary tree model, the predicted correction to the default read threshold value is provided as an input to the binary tree model, and wherein after the binary tree model has been trained, the predicted correction to the default read threshold value is combined with an output of the binary tree model.
3 . The data storage device of claim 2 , wherein the binary tree model comprises a random forest with symmetric trees model.
4 . The data storage device of claim 2 , wherein the linear regression model comprises a weighted sum of the other input features of the memory calculated over each of the previously-generated read threshold values.
5 . The data storage device of claim 2 , wherein the other input features of the memory comprise a program temperature.
6 . The data storage device of claim 2 , wherein the other input features of the memory comprise a read temperature.
7 . The data storage device of claim 2 , wherein the other input features of the memory comprise a difference between a program temperature of a representative wordline and a current program temperature.
8 . The data storage device of claim 2 , wherein the other input features of the memory comprise a cycling level of the memory.
9 . The data storage device of claim 2 , wherein the other input features of the memory comprise a data-retention level.
10 . The data storage device of claim 2 , wherein the other input features of the memory comprise a time tag.
11 . The data storage device of claim 2 , wherein the one or more processors are configured purely in hardware.
12 . The data storage device of claim 2 , wherein the memory comprises a three-dimensional memory.
13 . The data storage device of claim 2 , wherein the other input features of the memory comprise a read audit input read threshold value.
14 . In a data storage device comprising a memory, a method comprising:
(a) training a binary tree model by:
inputting previously-generated read threshold values, but not other input features of the memory, into a linear regression model, which outputs a predicted correction to a default read threshold value;
inputting the predicted correction to the default read threshold value into the binary tree model to train the binary tree model;
(b) after the binary tree model has been trained, obtaining a recommended read threshold value to read the memory by:
inputting the plurality of previously-generated read threshold values, but not the other input features of the memory, into the linear regression model, wherein the linear regression model is a linear model that outputs continuous output values;
inputting the plurality of previously-generated read threshold values, as well as the other input features of the memory, into the binary tree model, wherein the binary tree model is a non-linear model implemented in hardware and outputs a finite set of output values; and
combining the continuous output values of the linear regression model and the finite set of output values of the binary tree model to generate a recommended read threshold; and
(c) reading the memory using the recommend read threshold values;
wherein to train the binary tree model, the predicted correction to the default read threshold value is provided as an input to the binary tree model, and wherein after the binary tree model has been trained, the predicted correction to the default read threshold value is combined with an output of the binary tree model.
15 . The method of claim 14 , wherein the linear regression model comprises a weighted sum of the other input features of the memory calculated over each of the previously-generated read threshold values.
16 . The method of claim 14 , wherein the binary tree model comprises a random forest with symmetric trees model.
17 . The method of claim 14 , wherein the other input features of the memory comprise a physical address.
18 . The method of claim 14 , wherein the method is performed in a dedicated hardware module in the data storage device.
19 . The method of claim 14 , wherein the other input features of the memory comprise a program temperature.
20 . The method of claim 14 , wherein the other input features of the memory comprise a read temperature.
21 . The method of claim 14 , wherein the other input features of the memory comprise a difference between a program temperature of a representative wordline and a current program temperature.
22 . The method of claim 14 , wherein the other input features of the memory comprise a cycling level of the memory.
23 . The method of claim 14 , wherein the other input features of the memory comprise a data-retention level.
24 . The method of claim 14 , wherein the other input features of the memory comprise a time tag or a read audit input read threshold value.