METHOD AND DEVICE FOR READING A FLASH STORAGE DEVICE

By employing a flash controller with neural network models to predict the reliability state of SSDs and determine optimal TVSO values, the method effectively addresses the challenge of maintaining low UBER rates in SSDs over their lifetime.

DE112021005459B4Active Publication Date: 2025-04-30MICROCHIP TECHNOLOGY INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112021005459
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-04-20
Filing Date
2021-04-30
Publication Date
2025-04-30
Estimated Expiration
2041-04-30

AI Technical Summary

Technical Problem

Existing solid state drives (SSDs) face challenges in maintaining a low uncorrectable bit error rate (UBER) over the lifetime of the device, requiring complex tables and significant storage to manage threshold voltage shift offset (TVSO) values for various flash memory cells.

Method used

The method involves using a flash controller with a data storage module that stores configuration files for classification (CNN) and regression (RNN) neural network models, along with reliability state tags. These models predict the reliability state of the flash memory device based on program and erase cycles, allowing for the generation of TVSO values that minimize read errors.

Benefits of technology

This approach reduces the need for extensive storage and maintenance of physical characteristics by dynamically determining optimal TVSO values using neural network models, thereby maintaining UBER within acceptable limits throughout the SSD's lifetime.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Method for reading a flash memory device (2), comprising: Storing (103) configuration files (21) of a plurality of neural classification network (CNN) models for a reliability state, configuration files (22) of a plurality of neural regression network (RNN) inference models, and a plurality of sets of reliability state tags (23), wherein each set of reliability state tags (23) is associated with one of a plurality of reliability states, and each of the reliability state CNN models is associated with a range of programming and erasing (P / E) cycles; Monitoring (104) the operation of the flash storage device (2) to identify a current number of P / E cycles of the flash storage device (2); Select (105) one of the reliability state CNN models that are assigned a range of P / E cycles corresponding to the current number of P / E cycles; Performing (106) an operation of a neural network of the selected reliability state CNN model to identify a predicted reliability state; Identifying (107) the set of reliability state tags (23) that are associated with the predicted reliability state; Selecting (108) one of the many RNN inference models that corresponds to the predicted reliability state; Performing (109) an operation of a neural network of the selected RNN inference model, which is used as input of the identified reliability state tags (23) to generate output values ​​that specify the shape of a threshold voltage shift read error curve (TVS-RE curve); Identifying (110) a threshold voltage displacement offset value (TVSO value) near a minimum value of the TVS-RE curve; Repeating (111) the selection of one of the RNN models, performing the operation of a neural network of the selected RNN inference model, and identifying TVSO values ​​for all threshold voltage regions required to read the flash memory device (2); and Performing (112) a read operation of the flash memory device (2) using a threshold voltage shift read operation at the identified TVSO values.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED REGISTRATIONS

[0001] The present application claims priority over the preliminary US patent application filed on February 25, 2021, with serial number 63 / 153,906, and the non-preliminary US patent application filed on April 20, 2021, with publication number US 2022 / 0270698 A1. BACKGROUND OF THE INVENTION

[0002] Some solid-state drives (SSDs) incorporate flash controllers that use threshold voltage shift reads to read flash memory devices, achieving low levels of uncorrectable bit error rate (UBER) required for client and enterprise SSDs. Threshold voltage shift reads are performed by sending a threshold voltage shift read instruction to the flash memory device to be read. One or more threshold voltage shift offsets (TVSOs) are sent with the threshold voltage shift read instruction. The TVSO value specifies the amount by which each threshold voltage used to perform the read operation should be shifted relative to a corresponding standard threshold voltage specified by the flash memory device manufacturer.Multi-level cell (MLC) flash memory devices store two bits of information in each cell and require three TVSO values ​​for each read operation; triple-level cell (TLC) flash memory devices store three bits of information in each cell and require seven TVSO values ​​for each read operation; quad-level cell (QLC) flash memory devices store four bits of information in each cell and require 15 TVSO values ​​for each read operation; and penta-level cell (PLC) flash memory devices store five bits of information in each cell and require 31 TVSO values ​​for each read operation.

[0003] A flash characterization test process is performed to identify the best TVSO values ​​to use when performing read operations on a given flash storage device. These values ​​are commonly referred to as minimum threshold voltage shift offset (TVSOmin) values. TVSOmin values ​​are typically a set of TVSO values ​​that produce the fewest errors when reading the flash storage device under test conditions corresponding to a specific reliability state. Reliability states are sets of conditions that specify the age and usage of individual flash storage devices.There are many different processes for determining TVSOmin values, and in many cases the sets of TVSOmin values ​​identified during flash characterization testing are not the actual TVSO values ​​that produce the fewest errors, but instead are sets of TVSO values ​​that meet one or more performance metrics, such as a specific Raw Bit Error Rate (RBER).

[0004] Flash controllers that use threshold voltage shift read instructions to perform read operations typically include firmware to monitor the physical properties of the flash storage devices and use these monitored physical properties to determine the TVSO values ​​to use when performing read operations on each flash storage device. The TVSO values ​​to be used to perform the read operation (referred to below as "TVSO Read Current" values ​​or TVSO RC values) are typically determined by the flash controller prior to each read operation based on the physical location to be read (e.g.,The TVSO-RC values ​​are determined by performing a lookup operation in a lookup table using the physical location to be read and the current physical properties of the flash memory device (e.g., number of program / erase cycles, hold time, number of read errors, and temperature). The TVSO-RC values ​​are typically one of the sets of TVSOmin values ​​identified during flash characterization tests.

[0005] The current physical properties must be maintained to ensure that the correct TVSO value is used to read each flash memory device, even during a power-off state. Furthermore, complex tables are required that specify the various physical properties and corresponding TVSO-RC values ​​used to perform read operations. These complex tables also consume a significant amount of memory.

[0006] The document Mei, Zhen; CAI, Kui; HE, Xuan. Deep learning-aided dynamic read thresholds design for multi-level-cell flash memories. IEEE Transactions on Communications, 2020, Vol. 68, No. 5, pp. 2850-2862 discloses an RNN-aided (RNNA) dynamic threshold detector whose detection thresholds can be derived from the outputs of the RNN detector.

[0007] Document CN 109817267 A discloses a method for predicting the lifetime of flash memory based on deep learning.

[0008] Therefore, there is a need to identify TVSO values ​​to be used with each read operation of a flash storage device in order to keep UBER within acceptable levels throughout the lifetime of the SSD, thus reducing the amount of storage and maintenance required for physical properties. BRIEF SUMMARY OF THE INVENTION

[0009] A method for reading a flash storage device involves storing configuration files for a variety of neural network classification (CNN) models for a reliability state, configuration files for a variety of neural regression network inference models (RNN inference models), and a variety of sets of reliability state tags. Each set of reliability state tags is associated with one of a variety of reliability states, and each of the reliability state CNN models is associated with a range of program and erase (P / E) cycles. The operation of the flash storage device is monitored to identify the current number of program and erase (P / E) cycles of the flash storage device.One of the reliability state CNN models associated with a range of P / E cycles corresponding to the current number of P / E cycles is selected, and an operation is performed on a neural network of the selected reliability state CNN model to identify a predicted reliability state. The set of reliability state tags associated with the predicted reliability state is identified. One of the multiple RNN inference models corresponding to the predicted reliability state is selected, and an operation is performed on a neural network of the selected RNN inference model, using the identified reliability state tags as input, to generate output values ​​that specify the shape of a threshold voltage shift read error (TVS-RE) curve.A threshold voltage shift offset (TVSO) value close to a minimum value of the generated TVS-RE curve is identified, and a read operation of the flash memory device is performed using a threshold voltage shift read operation at the identified TVSO value(s).

[0010] A flash controller is disclosed, which includes a data storage module configured to store configuration files for a variety of reliability state CNN models, configuration files for at least one RNN inference model, and a variety of sets of reliability state tags. Each set of reliability state tags is associated with one of a variety of reliability states and each of the reliability state CNN models, which are assigned to a range of program / erase (P / E) cycles. A status module is configured to identify the current number of program / erase cycles. A neural processing module is coupled to the data storage module and the controller module.The neural processing module is configured to perform an operation of a neural network of one of the stored reliability state CNN models, which are associated with a range of P / E cycles corresponding to the current number of P / E cycles, to identify a predicted reliability state, and to perform operations of a neural network of the RNN inference models corresponding to the predicted reliability state, using as input to each neural network operation the set of reliability state tags associated with the predicted reliability state, to generate an output that specifies the shape of TVS-RE curves for all threshold voltage regions required to read the flash memory device.A minimum function module is configured to identify TVSO values ​​for all threshold voltage regions required to read the flash memory device, with each of the identified TVSO values ​​being close to a minimum value of one of the TVS-RE curves. A read module is configured to perform a read operation on the flash memory device by sending a threshold voltage shift read instruction to the flash memory device that includes the identified TVSO values.

[0011] A solid-state drive (SSD) is disclosed, comprising a flash storage device and a flash controller coupled to the flash storage device. The flash controller includes a data storage module configured to store configuration files for a variety of neural classification network (CNN) models for a reliability state, configuration files for a variety of neural regression network (RNN) inference models, and a variety of sets of reliability state tags, each set of reliability state tags corresponding to one of a variety of reliability states, and each reliability state CNN model corresponding to a range of program / erase (P / E) cycles. A neural processing module is coupled to the data storage module and the controller module.The neural processing module is configured to perform an operation of a stored reliability state CNN neural network model, associated with a range of P / E cycles corresponding to the current number of P / E cycles, to identify a predicted reliability state. It then performs operations of an RNN inference neural network model corresponding to the predicted reliability state, using as input the set of reliability state tags associated with the predicted reliability state, to generate an output that specifies the shape of TVS-RE curves for all threshold voltage regions required to read the flash memory device. The flash controller includes a status module configured to identify the current number of program and erase cycles (P / E cycles).The flash controller includes a neural processing module coupled to the data storage module and the control module. The flash controller includes a minimum function module configured to identify TVSO values ​​for all threshold voltage regions required to read the flash storage device, where each identified TVSO value is close to a minimum value of one of the TVS-RE curves, and a read module configured to perform a read operation on the flash storage device by sending a threshold voltage shift read instruction to the flash storage device that includes the identified TVSO values. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] The accompanying drawings are included to provide a further understanding of the invention and are incorporated into and form part of this specification. The drawings illustrate various embodiments. The drawings referenced in this summary are not to be drawn to scale unless expressly stated otherwise. Fig. Figure 1 is a diagram illustrating a procedure for performing a read operation on a flash memory device. Fig. Figure 2 is a diagram illustrating exemplary threshold voltage shift read error curves generated using the results from testing representative flash memory devices, where the number of errors is shown on the y-axis and the TVSO is shown on the x-axis. Fig. Figure 3 is a diagram illustrating exemplary smoothed threshold voltage shift reading error curves derived from the in Fig. 2 illustrated datasets are generated in which the number of errors is shown on the y-axis and the TVSO is shown on the x-axis. Fig. Figures 4A-4B are block diagrams illustrating reliability state CNN inference models. Fig. 5A-5B are block diagrams illustrating RNN inference models. Fig. Figure 6 is a block diagram illustrating an SSD. DETAILED DESCRIPTION

[0013] Fig. Figure 1 illustrates a method 100 for reading a flash memory device, which includes generating (101) a variety of reliability state CNN models. The term “reliability state CNN model,” as used in the present application, includes all CNN models configured to predict a reliability state. In an example, the reliability state CNN model is generated as shown in the non-provisional U.S. patent application with publication number US 2022 / 0165348 A1, filed on March 26, 2021, entitled “Method and Apparatus for Determining when Actual Wear of a Flash Memory Device Differs from Reliability States for the Flash Memory Device.” Representative flash memory devices are tested to identify the number of failures that occur as the representative flash memory devices age.The representative flash memory devices are devices similar to or identical with the flash memory devices to be read using Procedure 100. In an example, representative flash memory devices are placed in fixed test facilities of a computer system under test, and testing is performed to identify a number of Flash Characterization Test Errors (FCT-ERROR values) for each word line for each of a variety of cycle conditions, each cycle condition corresponding to a particular reliability state.

[0014] In the following examples, TVSO values ​​are specified using the format "TVSOn", where n represents the threshold voltage region specified by a manufacturer of the flash storage device.Specifically, the values ​​of the first TVSO region (TVSO1) specify a TVSO value for reading a first threshold voltage region, the values ​​of the second TVSO region (TVSO2) specify a TVSO value for reading a second threshold voltage region, the values ​​of the third TVSO region (TVSO3) specify a TVSO value for reading a third threshold voltage region, the values ​​of the fourth TVSO region (TVSO4) specify a TVSO value for reading a fourth threshold voltage region, the values ​​of the fifth TVSO region (TVSO5) specify a TVSO value for reading a fifth threshold voltage region specified by a flash memory manufacturer, the values ​​of the sixth TVSO region (TVSO6) specify a TVSO value for reading a sixth threshold voltage region, the values ​​of the seventh TVSO region (TVSO7) specify a TVSO value for reading a seventh threshold voltage region, and so on.In one example, a TVSO region index is defined for each TVSO region, where the TVSO region index for TVSO1 has a value of 1, the TVSO region index for TVSO2 has a value of 2, the TVSO region index for TVSO3 has a value of 3, and so on. Each voltage region is related to a read voltage threshold, and thus only a single region is provided in an SLC, while a multitude of voltage regions are provided in an MLC.

[0015] The TVSO value(s) used to perform read operations to identify FCT-ERROR values ​​are referred to as Flash Characterization Read Threshold Voltage Shift Offset Values ​​(FCR-TVSO values) and may be in the form FCR-TVSO (TVSO1) for a read operation of a non-volatile SLC memory device, FCR-TVSO (TVSO1, TVSO2, TVSO3) for a read operation of a non-volatile MLC memory device, FCR-TVSO (TVSO1, TVSO2, TVSO3, TVSO4, TVSO5, TVSO6, TVSO7) for a read operation of a non-volatile TLC memory device; FCR-TVSO (TVSO1, TVSO2, TVSO3, TVSO4, TVSO5 ... TVSO1, TVSO1, TVSO2, TVSO3, TVSO4, TVSO5 ... TVSO1, TVSO1, TVSO1, TVSO2, TVSO3, TVSO4, TVSO4, TVSO5 ... TVSO1, ... 15 ) for a read operation of a non-volatile TLC storage device and FCR-TVSO (TVSO1, TVSO2, TVSO3, TVSO4, TVSO5 ... TVSO 31) for a read operation of a non-volatile PLC storage device. In one example, for non-volatile SLC storage devices, read operations of each word line of the representative flash storage devices are performed by a "sample operation" in which reads are performed at every TVSO value that the specified representative flash storage device can read. In another example, for non-volatile non-SLC storage devices, read operations of each word line of the representative flash storage devices are performed by a "sample operation" in which reads are performed at every TVSO value that the specified representative flash storage device can read, while the other TVSO regions are set to a value of zero (e.g., starting with the lowest TVSO value that the flash storage device can read and incrementing by one after each read).Thus, each FCR-TVSO value represents a single TVSO. n -value not equal to zero on and the other TVSO n -Values ​​have a value of 0.

[0016] Fig. Figure 2 shows an example of threshold voltage shift read error curves (TVS-RE curves) generated by sampling representative flash memory devices with TVSO values ​​from -24 to +24, where each TVS-RE curve identifies a number of errors as a function of TVSO values ​​under cycle conditions corresponding to one of the reliability states and one of the threshold voltage regions required to read the flash memory device, as shown in Fig. Figure 2 shows that, due to the nature of the flash read switching logic, there are fluctuations (noise) in the number of errors in each curve. This noise can negatively affect the learning process while the neural network model is being trained, potentially leading to errors in the neural network's results. To avoid this problem, a smoothing function (e.g., an algorithm such as a moving average or multipolynomial interpolation) is optionally applied to the test results to generate a smoothed threshold voltage shift read dataset, where FCT error values ​​are adjusted to obtain corresponding smoothed error (ERROR) values. Fig. Figure 3 shows an example of TVS-RE curves resulting from smoothing the FCT-ERROR values ​​of Fig. 2 are generated to obtain ERROR values.

[0017] In one example, testing and smoothing generate records that specify one or more of the following values ​​for each test (each test corresponding to a single read operation): a wordline index value (WORDLINE INDEX) indicating the wordline being tested, a block index value (BLOCK INDEX) indicating the block being tested, a page index value (PAGE INDEX) indicating the page being tested, a retention time value (RETENTION TIME) indicating the retention time for the wordline being tested, a read DISTURB value (READ DISTURB) indicating the number of read disturbances for the wordline being tested, a temperature value (TEMPERATURE) indicating the cycle temperature for the representative flash memory device being tested, a P / E cycle value (P / E CYCLES) indicating the current number of P / E cycles for the wordline (or block) being tested, and an error value (ERROR).which indicates the number of errors in the reading process (as set in the smoothing operation).

[0018] Fig. Figures 4A-4B illustrate examples of reliability state CNN models 40a-40b that can be generated in Step 101. It is understood that reliability state models 40a-40b are exemplary and that many other combinations of inputs, outputs, and hidden layers could be used. Reliability state CNN models 40a and 40b include an input layer 41, which contains input neurons 41a-c, and layers 42-44 of hidden neurons. Reliability state CNN model 40a includes an output layer 45, which contains a single output neuron 45a that specifies a predicted reliability state. A predicted reliability state is the reliability state specified by the output neurons when an operation of a neural network of the reliability state CNN model is performed. The reliability state CNN model 40b in Fig. 4B includes an output layer 48, which contains an output neuron 48a for each of a plurality of reliability states, designated RS1, RS2, RS3, RS4, RS5, ..., RSn. In this example, the number of output neurons 48a equals the number of reliability states, and each output neuron 48a indicates the probability that the reliability state represented by that particular output neuron is the correct reliability state, with the output neuron 48a having the highest numerical value indicating the predicted reliability state. In one example, an activation function (e.g., a softmax activation function) is applied to the output to ensure that the probabilities of the respective output neurons of output layer 48 sum to one.

[0019] Datasets from the flash characterization tests are divided by f P / E cycle values, and a multitude of reliability state CNN models are created, each valid for and associated with a specific range of P / E cycle values. Specifically, the training data files used to train each reliability state CNN model include only those test training data files that have a number of P / E cycles within the range of P / E cycle values ​​of the respective reliability state CNN model. In one example, training is performed using test training data files that fall within an initial range of P / E cycle values ​​(e.g.,0 to 1000 P / E cycles) are used to create a first reliability state CNN model, with training using training data files for tests performed at a second range of P / E cycle values ​​(e.g. 1001 to 2000 P / E cycles) to create a second reliability state CNN model.In one example, 7 P / E-categorized reliability state CNN models are generated, including a third reliability state CNN model (2001 P / E cycles to 3000 P / E cycles), a fourth reliability state CNN model (3001 P / E cycles to 4000 P / E cycles), a fifth reliability state CNN model (4001 P / E cycles to 5000 P / E cycles), a sixth reliability state CNN model (5001 P / E cycles to 6000 P / E cycles), and a seventh reliability state CNN model (6001 P / E cycles to 7000 P / E cycles), where the 7000 P / E cycles to be considered the end of its lifespan.

[0020] In one example, during training, a WORDLINE INDEX is inputted to input neuron 41a, a BLOCK INDEX is inputted to neuron 41b, and a PAGE INDEX is input to neuron 41c to train the respective CNN model 40a or 40b to detect a specific reliability state. Thus, WORDLINE INDEX, BLOCK INDEX, and PAGE INDEX are the features of the resulting reliability state CNN model 40a or 40b. After training, each resulting reliability state CNN model is tested to determine if it can accurately predict the correct reliability state. If a model does not accurately predict the correct class, training data sets are removed, and the training is repeated. This process of removing training data sets and repeating the training continues until the resulting CNN models collectively predict all reliability states accurately.

[0021] If a model does not accurately predict the correct reliability state, records corresponding to scans of TVSO regions that are less responsive to a particular current physical property can be selected for removal from the training dataset. In a TLC example, the training records corresponding to TVSO values ​​required to read one or more of an upper side (e.g., TVSO1, TVSO3, TVSO5, and TVSO7), a middle side (e.g., TVSO2 and TVSO6), or a lower side (e.g., TVSO4) are removed. For example, if it is known from flash characterization tests that the upper side is more sensitive to restraint, and if the CNN model does not accurately predict a reliability state where restraint is greater than zero, records with non-zero TVSO values ​​in threshold voltage regions corresponding to the lower and middle sides (e.g., TVSO2 and TVSO6) can be removed.Matching TVSO2, TVSO4, and TVSO6 yields better results. This removes data sets for read operations in threshold voltage regions, which mainly add noise to the reliability state CNN model.

[0022] A variety of RNN inference models are generated (102). Each RNN inference model is configured to identify the shape of a TVS-RE curve for one of the threshold voltage regions required to read a flash memory device, with each TVS-RE curve identifying a number of errors depending on TVSO values. In an example, the RNN inference model is generated as shown in the non-provisional U.S. patent application with serial number 17 / 089,891, filed on November 5, 2021, entitled "Regression Neural Network for Identifying Threshold Voltages to be Used in Reads of Flash Memory Devices," which is incorporated herein by reference in its entirety.

[0023] In step 102, for each reliability state, an RNN inference model is generated for each threshold voltage region required to read Flash Memory Devices 2. Each RNN inference model generates an output that specifies the shape of a TVS-RE curve corresponding to one of the reliability states and one of the threshold voltage regions required to read each Flash Memory Device 2.

[0024] Reliability states can be specified using a numerical value that identifies each reliability state, referred to below as the Reliability State Index (RSI). For example, an RSI of 1 identifies a first reliability state, an RSI of 2 identifies a second reliability state, and so on.

[0025] In one example, each RNN model is assigned a corresponding TVSO region index, which specifies the threshold voltage region that the particular RNN inference model represents, and is assigned a corresponding RSI. For example, if flash storage devices are 2 MLC devices, for a first reliability state, a first RNN inference model is assigned a TVSO region index of 1 and an RSI of 1; a second RNN inference model is assigned a TVSO region index of 2 and an RSI of 1; and a third RNN inference model is assigned a TVSO region index of 3 and an RSI of 1.

[0026] The training can be performed using the same datasets that were used to generate the reliability state CNN models in step 101: however, in addition to using WORDLINE INDEX, BLOCK INDEX and PAGE INDEX as features, one or more of the following additional features are also used: RETENTION TIME, READ DISTURB, TEMPERATURE and P / E CYCLES.

[0027] Fig. Figure 5A shows a diagram of an exemplary RNN inference model 50a, which includes a variety of input neurons 51a-51g, a variety of output neurons 55a, and layers 52-54 of hidden neurons. In one example, WORDLINE INDEX is inputted to input neuron 51a during training, BLOCK INDEX is inputted to input neuron 51b, PAGE INDEX is inputted to input neuron 51c, RETENTION TIME is inputted to input neuron 51d, READ DISTURB is inputted to input neuron 51e, TEMPERATURE is inputted to input neuron 51f, and P / E CYCLES is inputted to input neuron 51g. Output neurons 55a generate output in the form of coefficient values ​​that specify (and thereby define) the shape of a TVS-RE curve for a given threshold voltage region.It is shown that the output of the RNN inference model 50a includes six coefficients, designated as FIRST COEFFICIENT, SECOND COEFFICIENT, THIRD COEFFICIENT, FOURTH COEFFICIENT, FIFTH COEFFICIENT, and SIXTH COEFFICIENT. It is understood that the RNN inference model 50a can have any number of coefficients and that the number of coefficients can be varied to achieve a balance between processing time and accuracy.

[0028] In one example, the coefficients define a straight line in the form y = mx + q, where m and q are the two coefficients. In other examples, the line may be nonlinear, and the coefficients may be in the form y = a + bx + cx. 2 + cx 3 + dx 4 + ex 5 are present, where a, b, c, d and e are the coefficients (e.g. FIRST COEFFICIENT ... SIXTH COEFFICIENT).

[0029] In the Fig. In the example shown in 5B, output neurons generate 55b values ​​that indicate the number of errors at locations corresponding to TVSO values. In this example, the output neurons 55b include an output neuron for each TVSO value (for n TVSO values), such as an output neuron that predicts the error when a first TVSO value is used (PRED-ERR TVSO1), an output neuron that predicts the error when a second TVSO value is used (PRED-ERR TVSO2), an output neuron that predicts the error when a third TVSO value is used (PRED-ERR TVSO3), an output neuron that predicts the error when a fourth TVSO value is used (PRED-ERR TVSO4), an output neuron that predicts the error when a fifth TVSO value is used (PRED-ERR TVSO5), and an output neuron that predicts the error when an nth TVSO value is used (PRED-ERR TVSOn).

[0030] Exemplary models of a neural network, which are in Fig. Figures 4A-5B show input neurons for receiving a PAGE INDEX, and PAGE INDEX is a feature used for training the Fig. The neural network models shown in 4A-5B are used. Alternatively, PAGE INDEX is not used as a feature during training, and none of the models shown in Fig. Models of a neural network shown in 4A-5B include input neurons 41c and 51c.

[0031] An SSD 15 is in Fig. Figure 6 shows a flash controller 3 coupled to a plurality of flash memory devices 2 for storing data. In the present embodiment, the flash memory devices 2 are NAND devices, and the SSD 15 includes one or more printed circuit boards to which a host connector 14, a flash controller 3, and flash memory devices 2 are attached. The SSD 15 can also include one or more memory devices 13, such as a dynamic random access memory (DRAM), which may be a separate device with integrated circuitry attached to one or more printed circuit boards and is electrically coupled to the flash controller 3.

[0032] The Flash Controller 3 is configured to receive read and write instructions from a host computer through the host connector 14 and to perform programming, erase, and read operations on memory cells of flash storage devices 2 to execute the instructions from the host computer. For example, upon receiving a write instruction from the host computer through the host connector 14, the Flash Controller 3 is operational to store data in the SSD 15 by performing programming operations (and, if necessary, erase operations) to program codewords into one or more of the flash storage devices 2.

[0033] The flash controller 3 includes a data storage module 4, a status module 5, a read module 6, a decode module 7, a write module 8, a control module 9, a neural processing module 10, and a minimum function module 11. The control module 9 is coupled to the data storage module 4, the status module 5, the read module 6, the decode module 7, the write module 8, the minimum function module 11, and the neural processing module 10. The decode module 7 is further coupled to the read module 6 and the status module 5. The status module 5 is further coupled to the data storage module 4, the read module 6, the write module 8, and the neural processing module 10. The read module 6 is further coupled to the data storage module 4, the neural processing module 10, and the minimum function module 11.The minimum functional module 11 is further coupled to the data storage module 4, the status module 5, the control module 9, and the neural processing module 10. The neural processing module 10 is also coupled to the data storage module 4.

[0034] The data storage module 4 stores configuration files of reliability state CNN models 21, configuration files of RNN inference models 22, reliability state tags 23, and an optional TVSO-RC selection table 27. The optional TVSO-RC selection table 27 is coupled to the read module 6. The TVSO-RC selection table 27 includes one or more indexes and corresponding TVSO values ​​to be used when performing read operations (e.g., an index corresponding to a block, word line, and / or page, and an index corresponding to a number of P / E cycles, and TVSO values ​​for each threshold voltage region required to perform a read operation).

[0035] One or more of the following are stored in the SSD 15 either in the data storage 4, the flash storage devices 2, or the storage device 13: configuration files of the reliability state CNN models 21, configuration files of the RNN inference models 22, the reliability state tags 23, a reliability state CNN selection table 24 and an RNN selection table 25, a P / E count table 26, and the optional TVSO-RC selection table 27. The neural processing module 10 is coupled to the data storage module 4 such that configuration files of a reliability state CNN model 21 and configuration files of an RNN inference model 22 can be loaded onto it.

[0036] In one example, the neural processing module 10 includes a specialized hardware module (e.g., a specialized configurable accelerator) specifically configured to perform a neural network operation, sometimes referred to as a neural network engine (e.g., a programmable logic circuit). Alternatively, the neural processing module 10 may include a processor and software for performing neural network operations. In one example, the flash controller 3 is operational to perform steps 101-102 by receiving test data indicating the results from testing representative flash memory devices, and the flash controller 3 is operational to construct the neural network models and associated configuration files in steps 101-102.

[0037] The Flash Controller 3 is an integrated circuit device, and some or all of the modules 5-11 include circuits that may be dedicated circuits for performing operations. Some or all of the modules 5-11 may be firmware that includes instructions executed on one or more processors to perform operations of the Flash Controller 3. The instructions are stored in registers of one or more of the modules 5-11 and / or in the data storage module 4 or the storage device 13. Some of all of the modules 5-11 include processors for executing instructions, where instructions are loaded into the Flash Controller 3 (e.g., through the host connector 14) before the Flash Controller 3 is operated. In one example, a firmware image is loaded into the Flash Controller 3 before it is operated (e.g.,through the host connector 14), wherein the firmware image includes instructions to be carried out by one or more of the modules 5-11.

[0038] The flash memory devices 2 can be SLC, MLC, TLC, or PLC NAND devices. In the present embodiment, the flash memory devices 2 are capable of performing a wide range of threshold voltage shift read operations, including read operations specified by integer TVSO values, such as -n ... -2, -1, 0, +1, +2 ... n, without limitation. Each flash memory device 2 can be an enclosed semiconductor die or "chip" coupled to the flash controller 3 via conductive traces that couple instructions, data, and other information between each flash memory device 2 and the flash controller 3. Upon receiving a write instruction from a host computer, the write module 8 is operational to encode the received data into a codeword, which is sent, along with a corresponding programming instruction, to a specific flash memory device 2.Flash Memory Device 2 is operational to execute the requested program instruction by programming cells of Flash Memory Device 2. In an example, each Flash Memory Device 2 includes NAND memory cells organized into blocks and pages, with each block consisting of NAND strings that share the same set of word lines. Each logical page consists of cells belonging to the same word line. The number of logical pages within each logical block is typically a multiple of 16 (e.g., 64, 128). In this example, a logical page is the smallest addressable unit for reading from and writing to the NAND memory cells of each Flash Memory Device 2, and a logical block is the smallest erasable unit. However, it is understood that programming less than an entire logical page may be possible, depending on the structure of the NAND array.Although the flash memory devices 2 are illustrated as NAND devices, it is understood that the flash memory devices 2 can be any type of memory storage device that uses a threshold voltage to read memory cells of the flash memory device 2.

[0039] With renewed reference to Fig. 1. Configuration files of the reliability state CNN models, configuration files of the RNN inference models, and tags corresponding to each reliability state are stored (103), referred to below as "reliability state tags." Data storage module 4 is configured to store configuration files of the reliability state CNN models 21 generated in step 101, configuration files of the RNN inference models 22 generated in step 102, and reliability state tags 23 for each of the reliability states of the reliability state CNN models 21.

[0040] The reliability state CNN models, RNN inference models, and reliability state tags 23 can be generated using the same computing system used to perform testing of representative semiconductor devices and then downloaded and installed on the SSD 15 before it is shipped to a customer. Alternatively, the SSD 15 is operational to perform some or all of steps 101-102 to generate reliability state tags 23 and configuration files for the reliability state CNN models 21 and RNN inference models 22.

[0041] In one example, the configuration files 21, 22 and the reliability state tags 23 are initially stored in the storage device 13 and / or on one or more flash storage devices 2, and configuration files of the reliability state CNN models 21, configuration files of the RNN inference models 22 and reliability state tags 23 are loaded into the data storage module 4 either when the flash controller 3 is started or when they are required for operations of the flash controller 3.

[0042] The operation of a flash storage device 2 is monitored (104) to identify the current number of P / E cycles of the flash storage device 2. In an example, the status module 5 is operational to monitor the operation of each flash storage device 2 to identify the number of P / E cycles of the flash storage devices 2. The specified number of P / E cycles can be identified by a counter of the status module 5 and at times when the value of the counter (e.g., as a table) can be stored in the data storage module 4, in the flash storage devices 2, or in the storage device 13 (e.g., stored in the flash storage devices 2 in the power-saving or low-power mode of the flash controller 3 and / or the SSD 15, and loaded into the data storage module 4 and / or the storage device 13 at startup or when required by the flash controller 3).In one example, the current number of P / E cycles for the block of flash memory device to be read in step 112 is stored in the P / E count table 26.

[0043] The reliability state CNN model corresponding to the current number of P / E cycles is selected (105). In an example, the reliability state CNN selection table 24 specifies a number of P / E cycles and corresponding values ​​or pointers that identify the specific CNN model to be used. The state module 5 is operational to determine a current number of P / E cycles for the block containing the page to be read in step 112.

[0044] The selected reliability state CNN model is the one of the stored reliability state CNN models that corresponds to (and was trained on) the specific range of P / E cycle values ​​that includes the current number of P / E cycles. For example, if the current number of P / E cycles is 500 and training datasets for tests of sample flash storage devices, corresponding to an initial range of P / E cycles (e.g., 0 to 1000 P / E cycles), are used to create an initial reliability state CNN model, then the initial reliability state CNN model is selected.In one example, the reliability state CNN selection table 24 specifies a number of P / E cycles, and a corresponding index identifying a location in memory where the configuration files of the respective reliability state CNN model 21 are stored is saved, and a lookup operation is performed on the reliability state CNN selection table 24 using the current number of P / E cycles identified in step 104 to identify the location in memory where the identified reliability state CNN model is stored.

[0045] An operation of a neural network of the selected reliability state CNN model is performed (106) to identify a predicted reliability state. In the example of Fig. 6. The control module 9 is operational to load the configuration files of the selected reliability state CNN model 21 into the neural processing module 10 to form a reliability state CNN core. The control module 9, or other switching logic of the flash controller 3, couples the input (e.g., feature input vectors) required for the operation of a neural network to the reliability state CNN core in the neural processing module 10, and an operation of a neural network is performed by the neural processing module 10 on the reliability state CNN core.

[0046] In the Fig. In the examples shown in Figure 4A, control module 9 is operational to receive the output from output neuron 45a and identify the predicted reliability state in response. In one example, a value of one output by output neuron 45a indicates a first reliability state, a value of 2 output by output neuron 45a indicates a second reliability state, and so on. In the examples shown in Figure 4A, the following applies: Fig. In the examples shown in Figure 4B, the control module 9 is operational to receive the output from the output neurons 48a and to identify the predicted reliability state by identifying the reliability state corresponding to the output neuron 48a that has the highest value.

[0047] Tags associated with the predicted reliability state are identified (107), which can be referred to as “reliability state tags.” In an example, the reliability state tags 23 are stored either as individual tag values, comma-separated values, or in a tag lookup table that includes indexes corresponding to each reliability state and reliability state tags associated with that particular reliability state. When reliability state tags 23 are stored in a lookup table, the reliability state tags associated with the predicted reliability state can be identified by performing a lookup operation using an index corresponding to the predicted reliability state (e.g., the RSI).For example, if the output of output neuron 45a is a value of 1, and if this corresponds to an initial reliability state with an initial set of reliability state tags, the initial set of reliability state tags is identified in step 107. The identified reliability state tags 23 can be coupled to the neural processing module 10 and stored in input registers of the neural processing module 10.

[0048] The reliability state tags 23 specify the test parameters corresponding to each reliability state. In one embodiment, the reliability state tags include a hold time tag (RTT) that specifies a hold time value, a read fault tag (RDT) that specifies a read fault value, and a temperature tag (TT) that specifies a temperature value.

[0049] In one example, the hold time is divided into two ranges: 0-12 hours and 12-24 hours, where the RTT for each reliability state is the midpoint between the two values. The read disturbance is divided into two ranges: 0-100,000 disturbances and 100,000-200,000 disturbances, where the RDT for each reliability state is the midpoint between the two values. The temperature is divided into two ranges: 25-40 degrees Celsius (C) and 40-70 degrees C, where the TT for each reliability state is the midpoint (rounded to the nearest whole number) between the two values. In this example, the following reliability state tags are stored for the first reliability state CNN model (e.g., 0-1000 P / E cycles), corresponding to one of eight reliability states, where the last number after the arrow is the RSI indicating the specific reliability state: RTT=6 h, RDT=50k, TT=33 C → 0 RTT=6 h, RDT=50k, TT=55 C → 1 RTT=6 h, RDT=150k, TT=33 C → 2 RTT=6 h, RDT=150k, TT=55 C → 3 RTT=18 h, RDT=50k, TT=33 C → 4 RTT=18 h, RDT=50k, TT=55 C → 5 RTT=18 h, RDT=150k, TT=33 C → 6 RTT=18 h, RDT=150k, TT=55 C → 7

[0050] In this example, the second reliability state CNN model (e.g., 1001-2000 P / E cycles) is configured to identify one of eight reliability states (e.g., RSI 8-15) and includes the following eight sets of reliability state tags: RTT=6 h, RDT=50k, TT=33 C → 8 RTT=6 h, RDT=50k, TT=55 C → 9 RTT=6 h, RDT=150k, TT=33 C → 10 RTT=6 h, RDT=50k, TT=55 C → 11 RTT=18 h, RDT=50k, TT=33 C → 12 RTT=18 h, RDT=50k, TT=55 C → 13 RTT=18 h, RDT=150k, TT=33 C → 14 RTT=18 h, RDT=150k, TT=55 C → 15

[0051] Further referring to the example above: The third reliability state CNN model (e.g., 2001-3000 P / E cycles) is also configured to identify one of eight reliability states (e.g., RSI 16-23) and includes eight corresponding sets of reliability state tags; the fourth reliability state CNN model (e.g., 3001-4000 P / E cycles) is configured to identify one of eight reliability states (e.g., RSI 24-41) and includes another eight sets of reliability state tags; the fifth reliability state CNN model (e.g., 4001-5000 P / E cycles) is configured to identify one of eight reliability states (e.g., RSI 32-39) and includes eight more sets of reliability state tags; The sixth reliability state CNN model (e.g., 5001-6000 P / E cycles) is configured to determine one of eight reliability states (e.g.,to identify RSI 40-47), and includes additional eight sets of reliability state tags, and the seventh reliability state CNN model (e.g., 6001-7000 P / E cycles) is configured to identify one of eight reliability states (e.g., RSI 48-56).

[0052] An RNN inference model is selected (108) that corresponds to the predicted reliability state and one of the TVSO regions required to read the flash memory device 2. In Fig. Section 6 includes an RNN selection table 25, stored in data storage 4, values ​​corresponding to each of the reliability states, values ​​corresponding to each TVSO region required to read each flash storage device 2 (e.g., a TVSO region index), and corresponding values ​​or pointers that identify the specific RNN inference model to be used. In an example, a lookup operation is performed on the RNN selection table 25 using a value corresponding to the predicted reliability state and a TVSO region index of "1" to identify the RNN inference model used to predict the shape of the first threshold voltage region (TVSO1).In one example, the RNN selection table includes 25 values ​​corresponding to reliability states, TVSO region indices, and corresponding indices that identify the location in data storage module 4 where the respective RNN inference model is stored. A lookup operation in the RNN selection table 25 is performed using the output to output neuron 45a and a TVSO region index as input to identify the location in memory where the corresponding RNN inference model is stored. In the example... Fig. In the embodiment shown in Figure 4B, a value corresponding to the output neuron 48a with the highest value (e.g., an RSI) is entered into the RNN selection table 25 to identify the location in memory where the corresponding RNN inference model is stored.

[0053] An operation of a neural network of the stored RNN inference model is performed (109) to generate an output that specifies the shape of a TVS-RE curve. Specifically, an operation of a neural network of the RNN inference model selected in step 108 is performed. The input for the neural network operation includes the identified reliability state tags 23, which are associated with the predicted reliability state.

[0054] Control module 9, or other switching logic of flash control 3, is operational to load the configuration files of the selected RNN inference model 22 into neural processing module 10 to form an RNN inference kernel. Control module 9, or other switching logic of flash control 3, couples the input required for the operation of a neural network to the RNN inference kernel in neural processing module 10. The input, which can be referred to as a "feature vector," specifies the values ​​to be applied to the input neurons during the operation of a neural network. In the Fig. 5A and Fig. In the example shown in Figure 5B, the input for the RNN inference model 50a (an input feature vector) includes one or more inputs corresponding to the page to be read, such as a WORDLING INDEX specifying the page to be read in step 112 (which is inputted to input neuron 51a), a BLOCK INDEX specifying the block to be read in step 112 (which is inputted to input neuron 51b), and a PAGE INDEX specifying the page to be read in step 112 (which is inputted to input neuron 51c). The input also includes the reliability state tags identified in step 107, including an RTT, which is inputted to input neuron 51d, an RDT, which is inputted to input neuron 51e, and a TT, which is inputted to input neuron 51f.The current number of P / E cycles (for the page read in step 112), identified in step 104, is inputted to input neuron 51g. A neural network operation is performed by neural processing module 10 on the loaded RNN inference kernel to specify the shape of a TVS-RE curve corresponding to the identified current reliability state tags 23.

[0055] The output neurons 55a generate an output in the form of coefficient values ​​that specify the shape of a TVS-RE curve. It is shown that the exemplary output of the RNN inference model 50a includes six coefficients, designated as FIRST COEFFICIENT, SECOND COEFFICIENT, THIRD COEFFICIENT, FOURTH COEFFICIENT, FIFTH COEFFICIENT, and SIXTH COEFFICIENT. It is understood that the RNN inference model 50a can have any number of coefficients and that the number of coefficients can be changed to achieve a balance between processing time and accuracy. In the Fig. In the example shown in 5B, output neurons generate 55b values ​​that indicate the number of errors at locations corresponding to TVSO values, thus specifying the shape of a TVSO-RE curve.

[0056] A TVSO value is identified (110) that is close to a minimum value of the generated TVS-RE curve. In an example, the minimum function module 11 is configured to determine a minimum value for the generated TVS-RE curve and to identify a TVSO value that is close to the determined minimum value. It is understood that the identified "minimum value" is not the exact minimum value, as the minimum function module 11 may not have sufficient accuracy to identify the exact minimum. Accordingly, the minimum function module 11 identifies a TVSO value close to the minimum value. The minimum function module 11 may include software, hardware, and / or firmware for receiving the coefficients of the generated TVS-RE curve, identifying a minimum point on the curve, and outputting the TVSO value that corresponds to the identified minimum point on the curve. If output neurons 55a generate an output in the form of coefficients, as in Fig.As shown in Figure 5A, the minimum function module 11 includes an algorithm for identifying where the minimum value is located (e.g., where on the x-axis) and for identifying the TVSO value that is close to the identified minimum point on the curve (e.g., the integer TVSO value closest to the identified minimum point on the curve). When the RNN model 55b is used, each output neuron 55b outputs a value indicating the magnitude of the number of errors at locations corresponding to TVSO values. This specifies the shape of the TVS-RE curve.It is not necessary to identify the minimum point in the curve, since each output neuron 55b indicates a predicted error when a certain TVSO value is used, and the minimum function module 11 only needs to identify which output neuron 55b generates the lowest output (the lowest predicted error) in order to determine the TVSO value that corresponds to the minimum value of the TVS-RE curve, since it is known which TVSO value corresponds to each output neuron.

[0057] The process of steps 108-110 is repeated (111) to identify a TVSO value for each TVSO region required to read the flash memory device, which can be referred to as TVSO RC values. Thus, several neural network operations are performed (each using a different selected RNN inference model), with all neural network operations using the same feature vector (a feature vector containing the WORDLINE INDEX, BLOCK INDEX, and PAGE INDEX to be read, and the RTT, RDT, and TT of the identified reliability state) for each TVSO region required to read the flash memory device.

[0058] Then, a read operation of the flash memory device is performed using a threshold voltage shift read operation at the TVSO-RC values ​​identified in step 110 (112). In an example, steps 104-112 are performed each time a read instruction is received from a host computer in response to receiving the read instruction. Specifically, in response to receiving a read instruction at host connector 14, steps 105-111 are performed to identify TVSO-RC values, and the read module 6 uses the TVSO-RC values ​​identified in steps 105-111 to perform the read operation of step 112. In the present example, the number of P / E cycles identified in step 104 is the number of P / E cycles of a particular location to be read in step 112, and may be the number or P / E cycles of the block containing the word line to be read in step 112.

[0059] It was found that the accuracy of the read operation of step 112 can be improved (and the number of read errors reduced) by performing (121) a read operation (flash test read) at predetermined TVSO values ​​(TEST-READ-TVSO VALUES) and identifying (122) the number of errors in the flash test read, which can be referred to as the current read error (CR-ERROR). In this optional example, the operation of a neural network from step 106 uses CR-ERROR and the TEST-READ-TVSO VALUES as input.

[0060] In one embodiment, the process of steps 104-112 is performed periodically to generate sets of TVSO-RC values ​​stored in the optional TVSO-RC selection table 27. TVSO-RC selection table 27 includes one or more indexes corresponding to each set of TVSO-RC values ​​(each set containing the TVSO-RC values ​​required to perform a read operation). In this example, when the read operation is to be performed by step 112, which uses one or more of these indexes to look up the appropriate TVSO values ​​to be used in the read operation (e.g., using the word line index, block index, page index, and the current number of P / E cycles for the page to be read). It is understood that only the number of P / E cycles is required in addition to the values ​​that the respective...to identify the word line / block / page to be read, and that the hold time, read error and temperature for flash memory devices 2 do not need to be tracked or used for lookup, since the input vectors for each operation of a neural network include the associated tags instead of actual current computed values ​​as used in prior art processes.

[0061] Since the input to the neural network model for read disturbance, hold time, and cycle temperature are stored reliability state tags (e.g., reliability state tags 23), and the stored values ​​of the tags do not change as the flash storage devices 2 age, there is no need to count and maintain a persistent table that specifies the number of reads of each block or word line, no need to count and maintain a persistent table that specifies a hold time for each block or word line, and no need to identify and maintain a persistent table that specifies a temperature cycling stress for each block or word line.

[0062] The method and setup of the present invention models several factors influencing UBER and specifies the shape of a TVS-RE curve that accurately reflects the physical properties of the location to be read, namely the structural properties of the location to be read (e.g., the word line and block to be read), the current age / physical deterioration of the location to be read (e.g., the number of P / E cycles), and the current transitory properties of the location to be read (e.g., closed-block read error and closed-block hold time). Accordingly, the generated TVSO values ​​corresponding to the minimum value of the TVS-RE curve are the appropriate TVSO value for performing the read operation.

[0063] Numerous specific details are set forth in the description for explanatory purposes, in order to provide a comprehensive understanding of the present invention. However, it is obvious to the person skilled in the art that the present invention can be implemented without these specific details. In some cases, well-known structures and devices are shown in the form of a block diagram and not in detail, so as not to obscure the present invention. These embodiments are described in sufficient detail to enable the person skilled in the art to implement the invention, and it is understood that other embodiments may be used and that logical, mechanical, electrical, and other modifications may be made without derogating from the scope of protection of the present invention.

Claims

[1] A method for reading a flash memory device (2), comprising: Storing (103) configuration files (21) of a plurality of classification neural network (CNN) models for a reliability state, configuration files (22) of a plurality of regression neural network (RNN) inference models, and a plurality of sets of reliability state tags (23), each set of reliability state tags (23) being associated with one of a plurality of reliability states, and each of the reliability state CNN models being associated with a range of program and erase cycles (P / E cycles); Monitoring (104) the operation of the flash memory device (2) to identify a current number of P / E cycles of the flash memory device (2); Selecting (105) one of the reliability state CNN models associated with a range of P / E cycles corresponding to the current number of P / E cycles; performing (106) a neural network operation of the selected reliability state CNN model to identify a predicted reliability state; identifying (107) the set of reliability state tags (23) associated with the predicted reliability state; selecting (108) the one of the plurality of RNN inference models that corresponds to the predicted reliability state; performing (109) a neural network operation of the selected RNN inference model used as input of the identified reliability state tags (23) to generate output values ​​indicative of the shape of a threshold voltage shift read error (TVS-RE) curve; identifying (110) a threshold voltage shift offset (TVSO) value near a minimum value of the TVS-RE curve; Repeating (111) selecting one of the RNN models, performing the neural network operation of the selected RNN inference model, and identifying to identify TVSO values ​​for all threshold voltage regions required to read the flash memory device (2); and Performing (112) a read operation of the flash memory device (2) using a threshold voltage shift read operation on the identified TVSO values. [2] The method of claim 1, wherein the set of reliability state tags (23) associated with the predicted reliability state includes a hold time tag indicating a hold time value, a read disturb tag indicating a read disturb value, and a temperature tag indicating a temperature value. [3] The method of claim 1, wherein performing a neural network operation of the identified reliability state CNN model to identify a predicted reliability state uses as input to the neural network operation a wordline index and a block index. [4] The method of claim 1, wherein performing a neural network operation of the identified reliability state CNN model uses as input to the neural network operation a wordline index, a block index, and a page index. [5] The method of claim 1, wherein performing a network operation of the selected RNN inference model uses as input to the neural network operation a wordline index, a block index, a page index, a hold time tag, a read disturb tag, and a temperature tag. [6] The method of claim 1, wherein the output indicative of the shape of the TVS-RE curve comprises a plurality of coefficients of the TVS-RE curve, and wherein identifying one or more TVSO values ​​near a minimum value of the generated TVS-RE curve comprises performing a minimum function on the coefficients to identify the TVSO value. [7] The method of claim 1, wherein the output indicative of the shape of the TVS-RE curve comprises output values ​​indicative of the error corresponding to different TVSO values, and wherein identifying a TVSO value near a minimum value of the generated TVS-RE curve comprises identifying the output value having the lowest error. [8] The method of claim 1, further comprising: Generating the plurality of RNN inference models, each of the RNN inference models configured to perform a regression neural network operation to identify coefficients of the TVS-RE curve. [9] The method of claim 1, further comprising: Generating the plurality of reliability state CNN inference models, wherein each of the plurality of reliability state CNN models is generated using data sets corresponding to a different range of P / E cycle values. [10] Flash control (3), comprising: a data storage module (4) configured to store configuration files (21) of a plurality of classification neural network (CNN) models for a reliability state, configuration files (22) of a plurality of regression neural network (RNN) inference models, and a plurality of sets of reliability state tags (23), each set of reliability state tags (23) being associated with one of a plurality of reliability states, and each of the reliability state CNN models being associated with a range of program and erase cycles (P / E cycles); a status module (5) configured to identify a current number of P / E cycles; a neural processing module (10) coupled to the data storage module (4) and to a control module (9), the neural processing module (10) being configured to: Performing a neural network operation of the one of the stored reliability state CNN models associated with a range of P / E cycles corresponding to the current number of P / E cycles to identify a predicted reliability state, and Performing neural network operations of the RNN inference models corresponding to the predicted reliability state, using as input to each neural network operation the set of reliability state tags (23) associated with the predicted reliability state to generate an output indicating the shape of TVS-RE curves for all threshold voltage regions required to read a flash memory device (2); a minimum function module (11) configured to identify TVSO values ​​for all threshold voltage regions required to read the flash memory device (2), wherein each of the identified TVSO values ​​is close to a minimum value of one of the TVS-RE curves; and a read module (6) configured to perform a read operation of the flash memory device (2) by sending a threshold voltage shift read instruction to the flash memory device (2) including the identified TVSO values. [11] The flash controller (3) of claim 10, wherein the input to the operation of a neural network of the reliability state CNN and the input to the operation of a neural network of the stored RNN inference model include a wordline index and a block index. [12] The flash controller (3) of claim 10, wherein the input to the operation of a neural network of the reliability state CNN and the input to the operation of a neural network of the stored RNN inference model include a wordline index, a block index, and a page index. [13] The flash controller (3) of claim 10, wherein the input to the operation of a neural network of the RNN inference model includes a word line index, a block index, a page index, a hold time tag, a read disturb tag, and a temperature tag. [14] Solid State Drive (SSD), comprising: a flash memory device (2); a flash controller (3) coupled to the flash memory device (2), where the flash controller (3) includes: a data storage module (4) configured to store configuration files (21) of a plurality of classification neural network (CNN) models for a reliability state, configuration files (22) of a plurality of regression neural network (RNN) inference models, and a plurality of sets of reliability state tags (23), each set of reliability state tags (23) being associated with one of a plurality of reliability states, and each of the reliability state CNN models being associated with a range of program and erase cycles (P / E cycles); a status module (5) configured to identify a current number of P / E cycles; a neural processing module (10) coupled to the data storage module (4) and to a control module (9), the neural processing module (10) being configured to: Performing a neural network operation of the one of the stored reliability state CNN models associated with a range of P / E cycles corresponding to the current number of P / E cycles to identify a predicted reliability state, and Performing neural network operations of the RNN inference models corresponding to the predicted reliability state, using as input to each neural network operation the set of reliability state tags (23) associated with the predicted reliability state to generate an output indicating the shape of TVS-RE curves for all threshold voltage regions required to read the flash memory device (2); a minimum function module (11) configured to identify TVSO values ​​for all threshold voltage regions required to read the flash memory device (2), wherein each of the identified TVSO values ​​is close to a minimum value of one of the TVS-RE curves; and a read module (6) configured to perform a read operation of the flash memory device (2) by sending a threshold voltage shift read instruction to the flash memory device (2) including the identified TVSO values. [15] The SSD of claim 14, wherein the input to the neural network operation of the reliability state CNN and the input to the neural network operation of the stored RNN inference model include a wordline index and a block index. [16] The SSD of claim 14, wherein the input to the neural network operation of the reliability state CNN and the input to the neural network operation of the stored RNN inference model include a wordline index, a block index, and a page index. [17] The SSD of claim 14, wherein the input to the operation of a neural network of the RNN inference model includes a word line index, a block index, a page index, a hold time tag, a read disturbance tag, and a temperature tag.

Citation Information

Patent Citations

  • Flash memory service life prediction method and system based on deep learning and computer readable access medium

    CN109817267A

  • CN000109817267A