Voltage calibration method for reading data and electronic equipment
By using a predictive model in SSDs to predict the voltage offset of NAND flash memory and calibrate the read voltage, the data read reliability problem caused by read voltage interference is solved, achieving higher data read reliability and reduced latency.
Patent Information
- Application Number
- CN202511471314.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-15
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2045-10-15
AI Technical Summary
When reading NAND flash data in a solid-state drive (SSD), electronic interference caused by read voltage reduces data read reliability. Existing technologies such as count-based granular adjustment and lookup table methods cannot effectively capture complex voltage drift, leading to read reliability issues.
By receiving data read instructions, the attribute data of the target storage location is determined. Using a pre-trained prediction model such as RNN, CNN or LTSM, the target voltage offset is predicted, and the read voltage is calibrated to eliminate the influence of voltage threshold offset and improve the reliability of data read.
It effectively improves the reliability of data reading, reduces reading errors, adapts to the aging and temperature changes of NAND flash memory, and reduces reading latency.
Smart Images

Figure CN120932691A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to a voltage calibration method and electronic device for reading data. Background Technology
[0002] When reading data from the NAND flash memory of a solid-state drive (SSD), a set of read voltages is applied. These read voltages are used to determine the relationship between the read voltage and a threshold voltage, thus identifying the stored data. However, reading data using these read voltages may cause electronic interference to the NAND, leading to a decrease in the reliability of data reading via read voltage. Summary of the Invention
[0003] This application provides a voltage calibration method and electronic device for reading data, so as to at least solve the problem of decreased reliability of data reading by reading voltage in related technologies.
[0004] This application provides a voltage calibration method for reading data, including:
[0005] Receive a data read instruction, the data read instruction being used to instruct the reading of data from a target storage location in the memory, the data read instruction including a read voltage;
[0006] Based on the target storage location, target attribute data of the target block corresponding to the target storage location is determined. The target attribute data includes the target number of erase / write operations of the target block, the target data retention time of the data in the target block, and the target temperature of the target block.
[0007] The target attribute data is input into a pre-trained prediction model to obtain the target voltage offset;
[0008] The target voltage offset is used to calibrate the read voltage to obtain the calibrated read voltage.
[0009] This application also provides a voltage calibration device for reading data, including:
[0010] The instruction receiving module is used to receive a data read instruction, which is used to instruct the reading of data at a target storage location in the memory, and the data read instruction includes a read voltage;
[0011] The data acquisition module is used to determine the target attribute data of the target block corresponding to the target storage location based on the target storage location. The target attribute data includes the target number of erase / write operations of the target block, the target data retention time of the data in the target block, and the target temperature of the target block.
[0012] The prediction module is used to input the target attribute data into a pre-trained prediction model to obtain the target voltage offset;
[0013] The calibration module is used to calibrate the read voltage with the target voltage offset to obtain the calibrated read voltage.
[0014] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of any of the above-described voltage calibration methods for reading data.
[0015] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described voltage calibration methods for reading data.
[0016] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described voltage calibration methods for reading data.
[0017] The voltage calibration method and electronic device for reading data disclosed in this application, when a reading command arrives, predicts the voltage offset of the voltage threshold in the target block by inputting the target attribute data of the target block into a pre-trained prediction model, thereby calibrating the reading voltage using the target voltage offset and improving the reliability of data reading. Attached Figure Description
[0018] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a schematic diagram of an implementation scenario provided by an embodiment of this application;
[0020] Figure 2 A flowchart illustrating the voltage calibration method for reading data provided in this application embodiment. Figure 1 ;
[0021] Figure 3 A flowchart illustrating the voltage calibration method for reading data provided in this application embodiment. Figure 2 ;
[0022] Figure 4 A partial structural schematic diagram of the initial prediction model provided in the embodiments of this application;
[0023] Figure 5A flowchart illustrating the voltage calibration method for reading data provided in this application embodiment. Figure 3 ;
[0024] Figure 6 This is a schematic diagram of the voltage calibration device for reading data provided in the embodiments of this application;
[0025] Figure 7 A schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation
[0026] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, other embodiments obtained by those of ordinary skill in the art without creative effort are all within the protection scope of this application.
[0027] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0028] SSDs widely use NAND flash memory as their storage medium. The basic unit of NAND is a floating-gate transistor, which represents different data states by the number of electrons trapped in the floating gate. When reading data, the controller applies a set of "read reference voltages" to determine which range the threshold voltage of the cell falls into, thereby determining the data stored therein.
[0029] When a physical page of NAND flash memory is read, due to the physical structure, the floating gate transistors of other unselected pages (especially adjacent pages) in the same word block are also slightly affected by electronic interference. This interference causes a small but cumulative positive shift in the threshold voltage of these interfered cells, and the more electrons the floating gate transistor has in its original state, the greater the impact of read interference.
[0030] SSDs are typically provided with one or more fixed read reference voltages for read interference. However, fixed read reference voltages cannot be used to account for the aging, temperature changes, and cumulative effects of read interference during NAND use, which leads to a decrease in read reliability. Furthermore, using multiple sets of read interference-related reference voltages for read operations will increase the latency of data reading.
[0031] In particular, the threshold voltage corresponding to the erase state in NAND is affected by the read operation, resulting in a rightward offset. This causes the data in the erase state to be unable to be read or to be completely read when comparing the reference voltage of the erase state with the threshold voltage of the erase state, thus reducing the reliability of data reading.
[0032] To address these issues, some solutions employ count-based granular adjustments. For instance, they track the "read count" of a block, triggering a "read retry" or "data migration" when the read count exceeds a preset threshold. However, this approach introduces errors in counting. At the algorithm level, data is typically written to NAND in units of superblocks (a group containing multiple blocks, such as a stripe with 32 blocks). Therefore, read counts are usually performed on the entire superblock. However, the impact of read interference is primarily on the physical blocks, so inaccurate counting can lead to premature data migration, increasing write amplification. Alternatively, some blocks may be severely affected by read interference, but because the overall read count has not reached the threshold, they are not processed in time, increasing the risk of read errors.
[0033] In other solutions, a lookup table (LUT) method can be used to look up the voltage based on parameters such as the number of reads, erases, and temperatures. However, LUTs cannot capture complex, non-linear voltage drift, and they become extremely large as the number of parameters increases.
[0034] Based on this, this application proposes a voltage calibration method for reading data, which calibrates the voltage used when reading data to improve the reliability of data reading.
[0035] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0036] refer to Figure 1 , Figure 1 This is a schematic diagram of an implementation scenario provided by an embodiment of this application. The implementation scenario may include a controller and a memory.
[0037] This controller can control the memory and perform functions such as data reading.
[0038] In some embodiments, the memory may be an SSD.
[0039] In some embodiments, the memory may be NAND.
[0040] In some embodiments, the controller implements a voltage calibration method for reading data.
[0041] In some embodiments, the controller includes a prediction model that can be used to predict voltage offset values.
[0042] In some embodiments, the controller includes at least one of a central processing unit (CPU), an edge environment, and a cloud environment, such as a physical server, a server cluster, and a cloud server, and the controller is a device with data processing capabilities.
[0043] In some embodiments, the controller receives a data read instruction, which instructs the reading of data at a target storage location in the memory. The data read instruction includes a read voltage. Based on the target storage location, the controller determines target attribute data of the target block corresponding to the target storage location. The target attribute data includes the target number of erase / write operations for the target block, the target data retention time for the data within the target block, and the target temperature of the target block. The target attribute data is input into a pre-trained prediction model to obtain a target voltage offset. The target voltage offset is then used to calibrate the read voltage to obtain a calibrated read voltage.
[0044] Understandably, the voltage calibration device for reading data can be set to... Figure 1 In the controller, but as shown in this embodiment Figure 1 The implementation environment shown is merely exemplary. In other embodiments, the voltage calibration method for reading data can also be applied to other implementation environments, and the voltage calibration device for reading data can also be set in other structures in other implementation environments. No specific limitations are made here.
[0045] Figure 2 A flowchart illustrating the voltage calibration method for reading data provided in this application embodiment. Figure 1 ,like Figure 2 As shown, embodiments of this application provide a voltage calibration method for reading data. This method can be implemented in a controller, and the method is described in detail below:
[0046] S201: Receive data read instruction. The data read instruction is used to instruct the reading of data from the target storage location in the memory. The data read instruction includes the read voltage.
[0047] In some embodiments, the data read instruction includes a target location, which may be a word line (WL) in a block of memory, and the block in which the target location is located may be called the target block.
[0048] In some embodiments, the memory may be NAND.
[0049] In some embodiments, when the NAND is not disturbed by read operations, the target data can be read at the target location by comparing the read voltage with a voltage threshold.
[0050] S202: Determine the target attribute data of the target block corresponding to the target storage location based on the target storage location.
[0051] In some embodiments, the target block can be determined based on the read instruction.
[0052] The controller can maintain attribute data for each block in the memory, including the number of erase / write cycles, the data retention time within the block, and the block temperature.
[0053] Attribute data can be obtained by using the timestamps of data written in the block and the temperature of the sensing memory.
[0054] Once the target block is determined, the corresponding attribute data can be determined. The target attribute data includes the target number of erase / write cycles for the target block, the target data retention time for the data within the target block, and the target temperature for the target block.
[0055] The target data is retained in hours.
[0056] For NAND flash memory, temperature significantly affects charge trapping and release, thus affecting the threshold voltage variation. Therefore, the target temperature needs to be considered when predicting the target voltage offset.
[0057] S203: Input the target attribute data into the pre-trained prediction model to obtain the target voltage offset.
[0058] In some embodiments, the prediction model can be any neural network model with prediction capabilities, such as a recurrent neural network (RNN), a convolutional neural network (CNN), a long short-term memory network (LTSM), etc., without any specific limitations.
[0059] In some embodiments, the prediction model can be an LTSM, and the pre-trained prediction model is obtained by training the LTSM.
[0060] In some embodiments, target attribute data is input into a pre-trained prediction model to obtain the target voltage offset.
[0061] S204: The target voltage offset is used to calibrate the read voltage to obtain the calibrated read voltage.
[0062] The target voltage offset can be regarded as the offset of the voltage threshold within the target block. Therefore, the read voltage can be calibrated by the target voltage offset to eliminate the influence of the voltage threshold offset and improve the reliability of data reading.
[0063] In some embodiments, the target voltage offset is summed with the read voltage to obtain the calibrated read voltage.
[0064] The data within the target location can then be read using the calibrated reading voltage.
[0065] This application proposes a voltage calibration method for reading data. When a read command arrives, the target attribute data of the target block is input into a pre-trained prediction model to predict the voltage offset of the voltage threshold in the target block. The read voltage is then calibrated using this target voltage offset to improve the reliability of data reading.
[0066] Figure 3 A flowchart illustrating the voltage calibration method for reading data provided in this application embodiment. Figure 2 ,like Figure 3 As shown, embodiments of this application provide a training method for a pre-trained prediction model, which can be implemented in... Figure 2 Before step S203, the method is described in detail as follows:
[0067] S301: Obtain training attribute data and the voltage offset of the first tag. The training attribute data includes the number of training erase / write cycles, the training data retention time, and the training temperature.
[0068] In some embodiments, the training data used to train the prediction model are training attribute data and a first label voltage offset.
[0069] The training attribute data includes the number of training erase / write operations, the training data retention time, and the training temperature. The tag voltage offset is the voltage offset measured after performing multiple read operations on the block of memory, given that the attribute data of the block of memory is a specific training attribute data.
[0070] In some embodiments, the number of training erase / write operations, training data retention time, and training temperature of a block in the memory are obtained. When the block is in the scenario corresponding to the number of training erase / write operations, training data retention time, and training temperature, multiple read operations are performed on the block, and the measured voltage offset is the first tag voltage offset.
[0071] In some embodiments, an initial read voltage of the memory is determined; a voltage axis scan is performed on the blocks in the memory to obtain an offset read voltage; and the difference between the offset read voltage and the initial read voltage is determined as a first tag voltage offset.
[0072] The voltage offset of the first tag can be calculated in the following way:
[0073]
[0074] in, This is the voltage offset of the first tag. This is the initial read voltage. It is the offset read voltage, which is the read voltage required to read the data read by the initial read voltage after multiple read operations. For example, if the initial read voltage can read data A, after multiple read operations, the voltage threshold corresponding to data A will shift. At this time, data A can no longer be read by the initial read voltage. However, the offset read voltage is the read voltage that can still read data A after multiple read operations.
[0075] The prediction model is trained offline, and the offset read voltage is obtained by performing a voltage axis scan on the block.
[0076] In some embodiments, the training attribute data includes multiple types, such as training attribute data corresponding to different blocks, and training attribute data corresponding to different numbers of read operations performed on different blocks.
[0077] For multiple training attribute data, there is also a corresponding first label voltage bias. For example, for a block, if 100 read operations are performed, there is a corresponding first label voltage offset and training attribute data in this scenario; for the same block, if 200 read operations are performed, there is a corresponding first label voltage offset and training attribute data in this scenario.
[0078] It is understandable that different first label voltage offsets can correspond to the same training attribute data. For example, the first label voltage offsets corresponding to 100 read operations and 200 read operations for a block are different, but the training attribute data corresponding to 100 read operations and 200 read operations for the same block can be the same.
[0079] In one embodiment, 200 blocks are selected and divided into four groups, each group containing 50 blocks. The number of training erase / write operations in the blocks of the four groups are 1000, 3000, 5000 and 7000, respectively.
[0080] The 200 blocks were tested at three training temperatures: 40°C, 55°C, and 70°C. The data retention times for the four blocks were set to 1 hour, 24 hours, 72 hours, and 168 hours.
[0081] Furthermore, since read commands generally use WL as the read position, considering the differences between different WLs, 300 WLs are randomly selected on each block to perform continuous read operations. Each block obtains the first tag voltage offset once after 500 read operations, which continues for a total of 10 times. Ten sets of first tag voltage offsets for different read operations can be obtained on one WL.
[0082] Furthermore, the training attribute data corresponding to the voltage offset of the first tag can be determined.
[0083] The first tag voltage offset can be obtained by performing read operations step by step from -1.28V to +1.27V in steps of 10mV near the initial read voltage, obtaining the number of storage cells in each step interval, and determining the position of the offset read voltage by plotting the threshold voltage distribution. In this way, the first tag voltage offset is obtained.
[0084] It is understood that the above is exemplary, and in other embodiments, other training attribute data may also be used, which are not specifically limited here.
[0085] S302: Input the training attribute data into the initial prediction model to obtain the training voltage offset, and train the initial prediction model based on the training voltage offset and the first label voltage offset to obtain the pre-trained prediction model.
[0086] In some embodiments, multiple training attribute data after performing different numbers of read operations on the same block of memory are input into an initial prediction model to obtain training voltage offsets after performing different numbers of read operations on the same block of memory; the initial prediction model is trained based on the training voltage offsets after performing different numbers of read operations on the same block of memory and the corresponding first tag voltage offsets to obtain a pre-trained prediction model.
[0087] That is, when training the initial prediction model once, multiple training attribute data are input, and the multiple training attribute data input at this time are the same piece of training attribute data.
[0088] In some embodiments, let a training attribute data be X, then the multiple training attribute data input to the initial prediction model at one time can be: M represents the Mth training attribute data.
[0089] In some embodiments, the effects of read interference are cumulative, so that by inputting M training attribute data into the initial prediction model at one time for training, the initial prediction model can record the dynamic dependencies that accumulate with the number of read operations.
[0090] In some embodiments, the initial prediction model includes multiple hidden layers, each processing one training attribute data and outputting the corresponding training voltage offset, such as... Figure 4 The three hidden layers in the initial prediction model are shown in the figure.
[0091] Figure 4 middle, This represents the feature vector obtained by executing the training on the t-th attribute data. The feature vector obtained from the training attribute data corresponds to the hidden layer. This represents the training voltage offset of the t-th training attribute data. In the initial prediction model, for the t-th hidden layer, W represents the weight of the feature vector output by the previous hidden layer. These are the weights of the feature vectors corresponding to the training attribute data of the current hidden layer. These are the eigenvectors.
[0092] In some embodiments, the relationship between the hidden layers in the initial prediction model is as follows:
[0093]
[0094]
[0095] in, Corresponding to and The nonlinear functional relationship between them correspond and The linear functional relationship between them.
[0096] It is understandable that the number of read operations for the first label voltage offset corresponding to the t-th training attribute data is greater than the number of read operations for the first label voltage offset corresponding to the (t-1)-th training attribute data.
[0097] The first label voltage offset corresponding to the t-th training attribute data is related to the multiple read operations corresponding to the first label voltage offset corresponding to the t-th training attribute data, and also to the multiple read operations corresponding to the first label voltage offset corresponding to the (t-1)-th training attribute data, thus efficiently handling the dynamic dependency relationship of accumulated read interference.
[0098] Understandable. Figure 4 The number of hidden layers shown is exemplary, and in other embodiments there may be other numbers of hidden layers, such as 10 hidden layers, without any specific limitation here.
[0099] In some embodiments, the mean squared error is used as the loss function when training the initial prediction model. For each hidden layer, the loss function is... Represented as:
[0100]
[0101] in, It is the training voltage offset corresponding to the t-th training attribute data in the initial input of the prediction model. It is the voltage offset of the first label corresponding to the t-th training attribute data. This represents the parameters to be trained in the initial prediction model.
[0102] The global loss function of the initial prediction model It can be:
[0103]
[0104] Where T is the initial number of training iterations for the prediction model, i.e., the input... The number of times the initial prediction model is trained using the training attribute data. It is the first Number of training loops, It is the first The voltage offset of the first label corresponding to the t-th training attribute data in each training iteration. It is the first The training voltage offset corresponding to the t-th training attribute data in each training loop.
[0105] In some embodiments, gradient descent can be used to calculate the loss function on the model parameters. The gradient is calculated, and the parameters are updated along the negative gradient direction to minimize the loss function. The training continues until the loss function converges or reaches the maximum preset number of training rounds. The offline trained model and weights are then saved to obtain the pre-trained prediction model.
[0106] In some embodiments, Adam (an optimizer) can be used for learning to accelerate the convergence of the prediction model. The learning rate in the Adam optimizer is set to a value such as 0.001.
[0107] This method of inputting multiple training attribute data into the initial prediction model at once can quickly perform time-series modeling of the type effect of read interference, record dynamic dependencies, effectively capture the degree of deviation of read interference from the threshold voltage and the complex nonlinear relationship between the number of reads, the number of erase / write cycles (PE), data retention time and temperature, and improve the accuracy of the preset model output.
[0108] Figure 5 A flowchart illustrating the voltage calibration method for reading data provided in this application embodiment. Figure 3,like Figure 5 As shown, this method can be executed in Figure 2 Following step S204, the method is described in detail below:
[0109] S501: Based on the calibrated read voltage, data is read from the target storage location to obtain the first target data and the first error bit count of the first target data.
[0110] In some embodiments, the calibrated read voltage is the sum of the target voltage offset and the read voltage.
[0111] By comparing the calibrated reading voltage with the voltage threshold, the first target data can be obtained, and the first number of failed bits (FBC) of the first target data can be returned through the error correction code (ECC).
[0112] S502: If the number of first error bits is greater than the preset threshold, the pre-trained prediction model is adjusted based on the target voltage offset to obtain the adjusted prediction model.
[0113] In some embodiments, if the number of first error bits is greater than a preset threshold, the data in the target block is moved.
[0114] In some embodiments, if the number of first error bits is determined to be greater than a preset threshold, it can be determined that the read interference in the target block is too large, and the calibrated read voltage cannot read the correct data.
[0115] At this point, the data in the target block can be moved directly, such as moving the data in the target block to other blocks, in order to reduce the impact of data reading errors.
[0116] This preset threshold is a preset threshold for error correction capability, which can be determined by empirical parameters, such as 50% or 60%, etc. No specific limit is set here.
[0117] In other embodiments, if the number of first error bits is greater than a preset threshold, the pre-trained prediction model is adjusted based on the target voltage offset to obtain an adjusted prediction model.
[0118] In some embodiments, if the number of first error bits is less than or equal to a preset threshold, no processing is required.
[0119] In some embodiments, multiple adjustment voltage offsets are preset, and a target adjustment voltage offset is determined based on the number of second error bits of the second target data read corresponding to each adjustment voltage offset; the sum of the target adjustment voltage offset and the target voltage offset is determined as the second label voltage offset; the pre-trained prediction model is adjusted based on the second label voltage offset to obtain the adjusted prediction model.
[0120] In some embodiments, when it is determined that the number of first error bits is greater than a preset threshold, the target attribute data and target voltage offset of the target block can be recorded at this time.
[0121] In some embodiments, when the memory is idle, multiple adjustment voltage offsets are set, such as... , This is the Kth adjustment voltage offset.
[0122] If the voltage offset can be adjusted... Within the same range.
[0123] In some embodiments, the calibrated read voltage is adjusted based on each adjustment voltage offset to obtain multiple adjusted read voltages; data is read at the target storage location based on each adjusted read voltage to obtain second target data and a second number of error bits of the second target data; the adjustment voltage offset corresponding to the second number of error bits with the largest normalized value between each second number of error bits and the first number of error bits is determined as the target adjustment voltage offset.
[0124] In some embodiments, the calibrated read voltage is adjusted by adjusting the voltage offset based on the calibrated read voltage. That is, the calibrated read voltage is added to the adjusted voltage offset to obtain the adjusted read voltage corresponding to each adjusted voltage offset.
[0125] At this point, data can be read from the target storage location using the adjusted read voltage to obtain multiple second target data and the second error bit count of the second target data. One second target data corresponds to one adjusted read voltage, and one adjusted read voltage corresponds to one adjusted voltage offset.
[0126] Calculate the normalized value between each second error bit count and the first error bit count, and use this normalized value as a reward signal to determine the target adjustment voltage offset. This normalized value can be:
[0127]
[0128] in, The first error bit count, Let the number of the second error bits correspond to the Kth adjusted voltage offset be such that the reward signal... The adjusted voltage offset corresponding to the maximized second error bit number is determined as the target adjusted voltage offset, which is the prediction error of the currently predicted target voltage offset.
[0129] In some embodiments, the sum of the target adjustment voltage offset and the target voltage offset is determined as the second tag voltage offset. .
[0130] The target voltage offset can be regarded as an error offset of the target voltage offset, and thus the pre-trained prediction model can be adjusted by adjusting the target voltage offset to improve the reliability of the prediction model.
[0131] In some embodiments, target attribute data is input into a pre-trained prediction model to obtain a predicted voltage offset; the pre-trained prediction model is adjusted based on the predicted voltage offset and the second label voltage offset to obtain an adjusted prediction model.
[0132] In some embodiments, the second tag voltage offset is used as a supervision signal to adjust the pre-trained prediction model.
[0133] In some embodiments, the target attribute data can be input into the pre-trained prediction model multiple times, and the pre-trained prediction model can be adjusted by predicting the voltage offset and the second label voltage offset to obtain the adjusted prediction model.
[0134] In some embodiments, the loss function used to adjust the pre-trained prediction model... It can be:
[0135]
[0136] in, It is the number of iterations required for a pre-trained prediction model to undergo one adjustment. For the first The next loop. For the first Predicted voltage offset for the next cycle.
[0137] To avoid disrupting the pre-trained prediction model, the pre-trained prediction model should be tuned using a small learning rate. Update the parameters in the original model using gradient descent. :
[0138]
[0139] in, For gradient descent, It is a dot product.
[0140] This method achieves smaller training data settings, i.e., fewer iterations, by training a pre-trained prediction model. Lightweight supervised learning fine-tunes the prediction model parameters to adapt to dynamic changes in actual use.
[0141] In some embodiments, adjusting the pre-trained prediction model can be done by setting the learning rate to be lower than that used to adjust the initial prediction model. This can preserve the pre-trained prediction model to a great extent. The pre-trained prediction model has a large amount of training data, has higher generalization ability, and can adapt to most scenarios.
[0142] In some embodiments, an adjustment number is set, which indicates the maximum number of times a pre-trained prediction model can be adjusted within a preset time period.
[0143] The preset time period can be a day, a week, or other time periods; there are no restrictions here.
[0144] By setting a limit on the number of adjustments that can be made to the pre-trained prediction model, the performance of reading can be avoided by preventing the target voltage offset obtained by the pre-trained prediction model from being affected.
[0145] In some embodiments, after the pre-trained prediction model is adjusted once, the adjusted prediction model can be regarded as a new pre-trained prediction model.
[0146] In some embodiments, the adjustment of the pre-trained prediction model is performed online.
[0147] In some embodiments, after obtaining the adjusted prediction model, it is possible to test whether the interference level of the number of reads of the target block is corrected, or to determine whether the large number of first error bits is caused by the large target voltage offset error due to the prediction model.
[0148] The system receives a test data read instruction, which instructs the reading of data from the target storage location. The test data read instruction includes a read voltage. The system inputs the target attribute data into the adjusted prediction model to obtain a test voltage offset. The system calibrates the read voltage using the test voltage offset to obtain an adjusted read voltage. Based on the adjusted read voltage, the system reads data from the target storage location to obtain the third target data and the third error bit count of the third target data.
[0149] The method of calibrating the read voltage by testing the voltage offset to obtain the adjusted read voltage can be achieved by referring to the target voltage offset to calibrate the read voltage and obtain the calibrated read voltage.
[0150] In some embodiments, if the number of third error bits is greater than a preset threshold, it indicates that the large reading error is not caused by the prediction model, but by the large reading interference of the target block. In this case, the data in the target block is moved to eliminate the accumulated reading interference effect.
[0151] In this embodiment of the application, during the training of the prediction model, the initial prediction model is trained offline and the pre-trained prediction model is trained online. The offline method solves the problem of nonlinear relationships that cannot be captured in LTU; the online method achieves adaptive optimization of threshold voltage changes due to complex interference in practical applications through reinforcement learning.
[0152] The voltage calibration method described above for reading data can be used in NAND flash memory, and also for acquiring erased state data in NAND flash memory.
[0153] The embodiments of this application determine whether to perform data relocation by combining the target voltage offset predicted by a pre-trained prediction model with the number of error bits. This is more flexible and reliable than the data relocation scheme that uses the number of read interferences of the entire superblock exceeding a threshold.
[0154] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0155] Figure 6 This is a schematic diagram of the voltage calibration device for reading data provided in an embodiment of this application. Figure 6 As shown, embodiments of this application also provide a voltage calibration device for reading data, comprising:
[0156] The instruction receiving module 610 is used to receive a data read instruction, which is used to instruct the reading of data from a target storage location in the memory. The data read instruction includes a read voltage.
[0157] The data acquisition module 630 is used to determine the target attribute data of the target block corresponding to the target storage location based on the target storage location. The target attribute data includes the target number of erase / write operations of the target block, the target data retention time of the data in the target block, and the target temperature of the target block.
[0158] The prediction module 650 is used to input the target attribute data into a pre-trained prediction model to obtain the target voltage offset.
[0159] The calibration module 670 is used to calibrate the read voltage by the target voltage offset to obtain the calibrated read voltage.
[0160] In some embodiments, the voltage calibration device for reading data further includes:
[0161] The training data determination module is used to acquire training attribute data and the voltage offset of the first tag. The training attribute data includes the number of training erase / write cycles, training data retention time, and training temperature.
[0162] The training module is used to input training attribute data into the initial prediction model to obtain the training voltage offset, and to train the initial prediction model based on the training voltage offset and the first label voltage offset to obtain the pre-trained prediction model.
[0163] In some embodiments, the training attribute data includes multiple training attribute data after performing different numbers of read operations on different blocks of the memory, and the first tag voltage offset includes multiple first tag voltage offsets after performing different numbers of read operations on different blocks of the memory; the training module includes:
[0164] The input unit is used to input multiple training attribute data after performing different numbers of read operations on the same block of memory into the initial prediction model to obtain the training voltage offset after performing different numbers of read operations on the same block of memory.
[0165] The training unit is used to train the initial prediction model based on the training voltage offset after performing different numbers of read operations on the same block of memory and the corresponding first tag voltage offset, so as to obtain a pre-trained prediction model.
[0166] In some embodiments, the voltage calibration device for reading data further includes:
[0167] An initial voltage acquisition module is used to determine the initial read voltage of the memory;
[0168] The offset voltage acquisition module is used to perform voltage axis scanning on blocks in the memory to acquire the offset read voltage.
[0169] The tag acquisition module is used to determine the difference between the offset reading voltage and the initial reading voltage as the first tag voltage offset.
[0170] In some embodiments, the voltage calibration device for reading data further includes:
[0171] The first error parameter determination module is used to read data at the target storage location based on the calibrated read voltage to obtain the first target data and the first error bit number of the first target data.
[0172] The adjustment module is used to adjust the pre-trained prediction model based on the target voltage offset if the number of first error bits is greater than a preset threshold, so as to obtain the adjusted prediction model.
[0173] In some embodiments, the adjustment module includes:
[0174] The target adjustment value determination unit is used to preset multiple adjustment voltage offsets and determine the target adjustment voltage offset based on the number of second error bits of the second target data read corresponding to each adjustment voltage offset;
[0175] The tag acquisition unit is used to determine the sum of the target adjustment voltage offset and the target voltage offset as the second tag voltage offset;
[0176] The adjustment unit is used to adjust the pre-trained prediction model based on the second tag voltage offset to obtain the adjusted prediction model.
[0177] In some embodiments, the target adjustment value determination unit includes:
[0178] The adjustment value determination section is used to adjust the calibrated read voltage based on each adjustment voltage offset to obtain multiple adjusted read voltages;
[0179] The error parameter determination section is used to read data at the target storage location based on each adjusted read voltage to obtain the second target data and the second error bit number of the second target data.
[0180] The target adjustment value determination section is used to determine the adjustment voltage offset corresponding to the second error bit number with the largest normalized value between each second error bit number and the first error bit number as the target adjustment voltage offset.
[0181] In some embodiments, the adjustment unit includes:
[0182] The prediction module is used to input target attribute data into a pre-trained prediction model to obtain the predicted voltage offset.
[0183] The adjustment module is used to adjust the pre-trained prediction model based on the predicted voltage offset and the second label voltage offset, so as to obtain the adjusted prediction model.
[0184] In some embodiments, the voltage calibration device for reading data further includes:
[0185] The test module is used to receive test data read instructions, which are used to instruct the reading of data from the target storage location. The test data read instructions include reading voltage.
[0186] The test prediction module is used to input the target attribute data into the adjusted prediction model to obtain the test voltage offset;
[0187] The test adjustment module is used to calibrate the test voltage offset to the read voltage, thereby obtaining the adjusted read voltage.
[0188] The second error parameter determination module is used to read data from the target storage location based on the adjusted read voltage to obtain the third target data and the third error bit number of the third target data.
[0189] The first shifting module is used to shift the data in the target block if the number of third error bits is greater than a preset threshold.
[0190] In some embodiments, the voltage calibration device for reading data further includes:
[0191] The third error parameter determination module is used to read data at the target storage location based on the calibrated read voltage to obtain the first target data and the first error bit number of the first target data.
[0192] The second transfer module is used to transfer data in the target block when the number of first error bits exceeds a preset threshold.
[0193] In some embodiments, the voltage calibration device for reading data further includes:
[0194] The adjustment count module is used to set the number of adjustments. The adjustment count indicates the maximum number of times the pre-trained prediction model can be adjusted within a preset time period.
[0195] For a description of the features of the voltage calibration device for reading data in the corresponding embodiment, please refer to the relevant description of the voltage calibration method for reading data in the corresponding embodiment, which will not be repeated here.
[0196] Figure 7 A schematic diagram of the structure of the electronic device provided in this application. Figure 7 As shown, the electronic device 70 provided in this embodiment includes at least one processor 701 and a memory 702. Optionally, the electronic device 70 further includes a communication component 703. The processor 701, memory 702, and communication component 703 are connected via a bus.
[0197] In a specific implementation, at least one processor 701 executes a computer program stored in memory 702, causing at least one processor 701 to execute the voltage calibration method embodiment for reading data described above.
[0198] The specific implementation process of processor 701 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0199] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the application can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.
[0200] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0201] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0202] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the voltage calibration method embodiments for reading data described above when running.
[0203] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0204] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the voltage calibration methods described above for reading data.
[0205] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the voltage calibration method embodiments for reading data described above.
[0206] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0207] The voltage calibration method for reading data provided in this application has been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only for the purpose of helping to understand the method and its core ideas. It should be noted that those skilled in the art can make several improvements and modifications to this application without departing from the principles of this application, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A voltage calibration method for reading data, characterized in that, The method includes: Receive a data read instruction, the data read instruction being used to instruct the reading of data from a target storage location in the memory, the data read instruction including a read voltage; Based on the target storage location, target attribute data of the target block corresponding to the target storage location is determined. The target attribute data includes the target number of erase / write operations of the target block, the target data retention time of the data in the target block, and the target temperature of the target block. The target attribute data is input into a pre-trained prediction model to obtain the target voltage offset; The target voltage offset is used to calibrate the read voltage to obtain the calibrated read voltage.
2. The method according to claim 1, characterized in that, Before inputting the target attribute data into a pre-trained prediction model to obtain the target voltage offset, the method further includes: Acquire training attribute data and first tag voltage offset, wherein the training attribute data includes training erase / write count, training data retention time, and training temperature; The training attribute data is input into the initial prediction model to obtain the training voltage offset. The initial prediction model is then trained based on the training voltage offset and the first label voltage offset to obtain the pre-trained prediction model.
3. The method according to claim 2, characterized in that, The training attribute data includes multiple training attribute data after performing different numbers of read operations on different blocks of the memory, and the first tag voltage offset includes multiple first tag voltage offsets after performing different numbers of read operations on different blocks of the memory. The process of inputting the training attribute data into an initial prediction model to obtain a training voltage offset, and then training the initial prediction model based on the training voltage offset and the first label voltage offset to obtain the pre-trained prediction model includes: Multiple training attribute data obtained by performing different numbers of read operations on the same block of the memory are input into the initial prediction model to obtain the training voltage offset after performing different numbers of read operations on the same block of the memory. The initial prediction model is trained based on the training voltage offset after performing different numbers of read operations on the same block of the memory and the corresponding first tag voltage offset, to obtain the pre-trained prediction model.
4. The method according to claim 2 or 3, characterized in that, The method further includes: Determine the initial read voltage of the memory; Perform a voltage axis scan on the blocks in the memory to obtain the offset read voltage; The difference between the offset reading voltage and the initial reading voltage is determined as the first tag voltage offset.
5. The method according to claim 1, characterized in that, The method further includes: Based on the calibrated read voltage, data is read from the target storage location to obtain first target data and the first number of error bits of the first target data. If the number of the first error bits is greater than a preset threshold, the pre-trained prediction model is adjusted based on the target voltage offset to obtain the adjusted prediction model.
6. The method according to claim 5, characterized in that, The step of adjusting the pre-trained prediction model based on the target voltage offset to obtain the adjusted prediction model includes: Multiple adjustment voltage offsets are preset, and the target adjustment voltage offset is determined based on the number of second error bits of the second target data read corresponding to each adjustment voltage offset; The sum of the target adjustment voltage offset and the target voltage offset is determined as the second tag voltage offset; The pre-trained prediction model is adjusted based on the second tag voltage offset to obtain the adjusted prediction model.
7. The method according to claim 6, characterized in that, The determination of the target adjustment voltage offset based on the number of second error bits of the second target data read corresponding to each adjustment voltage offset includes: The calibrated read voltage is adjusted based on each adjustment voltage offset to obtain multiple adjusted read voltages; Based on the adjusted read voltages, data is read from the target storage location to obtain the second target data and the second error bit count of the second target data. The adjustment voltage offset corresponding to the second error bit number with the largest normalized value between each second error bit number and the first error bit number is determined as the target adjustment voltage offset.
8. The method according to claim 6, characterized in that, The step of adjusting the pre-trained prediction model based on the second tag voltage offset to obtain the adjusted prediction model includes: The target attribute data is input into the pre-trained prediction model to obtain the predicted voltage offset; The pre-trained prediction model is adjusted based on the predicted voltage offset and the second tag voltage offset to obtain the adjusted prediction model.
9. The method according to any one of claims 5 to 8, characterized in that, The method further includes: Receive a test data read instruction, the test data read instruction being used to instruct the reading of data from the target storage location, the test data read instruction including the read voltage; The target attribute data is input into the adjusted prediction model to obtain the test voltage offset; The test voltage offset is used to calibrate the read voltage to obtain the adjusted read voltage; Based on the adjusted read voltage, data is read from the target storage location to obtain the third target data and the third error bit count of the third target data; If the number of third error bits is greater than a preset threshold, the data in the target block is moved.
10. The method according to claim 1, characterized in that, The method further includes: Based on the calibrated read voltage, data is read from the target storage location to obtain first target data and the first number of error bits of the first target data. If the number of first error bits is greater than a preset threshold, the data in the target block is moved.
11. The method according to any one of claims 5 to 8, characterized in that, The method further includes: The number of adjustments is set to indicate the maximum number of times the pre-trained prediction model can be adjusted within a preset time period.
12. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the steps of the method as described in any one of claims 1 to 11.
Citation Information
Patent Citations
Flash memory data processing method and device
CN108777156A
Optimal read voltage determination method and device, terminal and storage medium
CN119296614A
Data processing method and device
CN119356596A
Data management method, storage device and storage medium
CN119440387A
Dynamic adjustment of offset voltages for reading memory cells in a memory device
US20220076760A1