Voltage calibration method for reading data and electronic device
By using a predictive model to predict the voltage offset of NAND flash memory in SSDs and calibrating the read voltage, the problem of decreased read voltage reliability is solved, improving the reliability of data reading and reducing latency.
Patent Information
- Application Number
- CN202511471314.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-15
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2045-10-15
AI Technical Summary
When reading NAND flash data in a solid-state drive (SSD), the reliability of the read voltage is affected by electronic interference, which leads to a decrease in data read reliability. Existing technologies such as count-based granular adjustment and lookup table methods cannot effectively capture complex voltage drift.
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.
It improves the reliability of data reading, reduces read errors, adapts to the aging and temperature changes of NAND flash memory, and reduces read latency.
Smart Images

Figure CN120932691B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data processing, and particularly relates to a voltage calibration method for reading data and an electronic device. BACKGROUND
[0002] When data reading is performed on a NAND (a structure of flash memory) of a solid state disk (SSD), a set of read voltages is applied, and the relationship between the read voltages and threshold voltages is determined through the read voltages, so as to determine the stored data. However, when data reading is performed through the read voltages, electronic interference may be caused to the NAND, and the reliability of data reading through the read voltages is reduced. SUMMARY
[0003] The present application provides a voltage calibration method for reading data and an electronic device, so as to at least solve the problem of reduced reliability of data reading through read voltages in the related art.
[0004] The present application provides a voltage calibration method for reading data, comprising:
[0005] receiving a data reading instruction, the data reading instruction being used for instructing reading data of a target storage position of a memory, the data reading instruction comprising a read voltage;
[0006] determining target attribute data of a target block corresponding to the target storage position based on the target storage position, the target attribute data comprising a target erase count of the target block, a target data retention time of data in the target block, and a target temperature of the target block;
[0007] inputting the target attribute data into a pre-trained prediction model to obtain a target voltage offset;
[0008] calibrating the read voltage by using the target voltage offset to obtain a calibrated read voltage.
[0009] The present application further provides a voltage calibration apparatus for reading data, comprising:
[0010] an instruction receiving module configured to receive a data reading instruction, the data reading instruction being used for instructing reading data of a target storage position of a memory, the data reading instruction comprising a read voltage;
[0011] a data obtaining module configured to determine target attribute data of a target block corresponding to the target storage position based on the target storage position, the target attribute data comprising a target erase count of the target block, a target data retention time of data in the target block, and a target temperature of the target block;
[0012] a prediction module, configured to input the target attribute data into a pre-trained prediction model to obtain a target voltage offset;
[0013] a calibration module, configured to calibrate the target voltage offset to the read voltage to obtain a calibrated read voltage.
[0014] The application further provides an electronic device, comprising a memory configured to store a computer program, and a processor configured to execute the computer program to implement the steps of the voltage calibration method for reading data.
[0015] The application further provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the steps of the voltage calibration method for reading data.
[0016] The application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps of the voltage calibration method for reading data.
[0017] The voltage calibration method for reading data and the electronic device provided by the application can improve the reliability of data reading by inputting the target attribute data of a target block into a pre-trained prediction model to predict the voltage offset of the voltage threshold in the target block when a read instruction comes, and then calibrating the read voltage by using the target voltage offset. BRIEF DESCRIPTION OF DRAWINGS
[0018] In order to more clearly illustrate the embodiments of the application, the drawings needed in the embodiments will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative effort.
[0019] Figure 1 An implementation scenario schematic diagram is provided for the embodiments of the application.
[0020] Figure 2 A flowchart of the voltage calibration method for reading data is provided for the embodiments of the application. Figure 1 ;
[0021] Figure 3 A flowchart of the voltage calibration method for reading data is provided for the embodiments of the application. Figure 2 ;
[0022] Figure 4 A partial structure schematic diagram of an initial prediction model is provided for the embodiments of the application.
[0023] Figure 5A flowchart of a voltage calibration method for reading data provided by an embodiment of the present application Figure 3 ;
[0024] Figure 6 A structural diagram of a voltage calibration device for reading data provided by an embodiment of the present application
[0025] Figure 7 A structural diagram of an electronic device provided by the present application. DETAILED DESCRIPTION
[0026] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, other embodiments obtained by those skilled in the art without creative work fall within the protection scope of the present application.
[0027] It should be noted that, in the description of the present application, the terms “comprise”, “contain” or any other variant thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. The terms “first”, “second” and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence.
[0028] SSD widely uses NAND flash as storage medium, and the basic unit of NAND is a floating gate transistor, which represents different data states by capturing the number of electrons in the floating gate. When reading data, the controller will apply a set of “read reference voltages” to determine the threshold voltage of the unit in which interval, so as to determine the data stored therein.
[0029] When a physical page of NAND flash is read, due to the physical structure, the floating gate transistors of other unselected pages (especially adjacent pages) in the same block will also be slightly disturbed by electrons, and this disturbance will cause the threshold voltage of these disturbed units to be positively shifted slightly but cumulatively, and the more the original state of the floating gate transistor, the greater the impact of read disturbance.
[0030] SSD is usually provided with one or several sets of fixed read reference voltages related to read disturbance, and the fixed read reference voltages cannot use the aging, temperature change and read disturbance accumulation effect of NAND in use, resulting in a decrease in read reliability; and using multiple sets of read disturbance related reference voltages in read operation to perform read attempts will increase the time delay of data reading.
[0031] Especially for the threshold voltage corresponding to the erase state in NAND, the threshold voltage of the erase state in NAND is affected by the read operation, resulting in a right shift, which causes the data of the erase state to be unable to be read or completely read when the data is read by comparing the reference voltage of the erase state with the threshold voltage of the erase state, thereby reducing the data read reliability.
[0032] To solve the above problems, some solutions adopt a counting-based granularity adjustment, for example, the number of "reads" of a block is tracked, and when the number of reads exceeds a certain preset threshold, a "read retry" or "data migration" is triggered, but this solution will have some errors in counting; at the algorithm level, data is usually written to NAND in superblock units, so the number of reads is usually counted for the entire superblock, but the impact of read disturbance is mainly on the physical block, so the inaccuracy of the count will cause the solution to prematurely migrate data, thereby increasing the problem of write amplification; or some blocks have been severely affected by read disturbance, but because the total number of reads does not reach the threshold, they are not processed in time, increasing the risk of read errors.
[0033] In some other solutions, a lookup table (LUT) method can be used to look up rules based on read counts, erase-write counts, and temperature to give voltages, but LUT cannot capture complex, nonlinear voltage drift, and LUT will become extremely large when the parameter dimension increases.
[0034] Based on this, a voltage calibration method for reading data is proposed in the present application, which calibrates the voltage used when reading data to improve the reliability of data reading.
[0035] In order for 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] Reference Figure 1 , Figure 1 An implementation scenario schematic diagram is provided for the embodiments of the present application, which can include a controller, a memory.
[0037] The controller can control the memory to implement functions such as data reading.
[0038] In some embodiments, the memory can be an SSD.
[0039] In some embodiments, the memory can be a 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, the target data can be read from the target location by comparing the read voltage with a voltage threshold without the NAND being disturbed by a read operation.
[0050] S202: Determine 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 of each block in the memory, including the number of erase-write times, the data retention time of data in the block, the temperature of the block, etc.
[0053] The attribute data can be obtained by a timestamp based on the writing of data in the block and the temperature of the memory.
[0054] After the target block is determined, the attribute data corresponding to the target block can be determined, and the target attribute data includes the target number of erase-write times of the target block, the target data retention time of data in the target block, and the target temperature of the target block.
[0055] The unit of the target data retention time is hour.
[0056] For NAND, the temperature can significantly affect the capture and release of charges, thereby affecting the threshold voltage change of NAND. Therefore, when predicting the target voltage offset, the target temperature needs to be referred to.
[0057] S203: Input the target attribute data into a 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 function, such as Recurrent Neural Network (RNN), Convolutional Neural Network (CNN), Long Short-Term Memory network (LTSM), etc., which is not specifically limited here.
[0059] In some embodiments, the prediction model can be LTSM, and the pre-trained prediction model can be obtained by training the LTSM.
[0060] In some embodiments, the target attribute data is input into the pre-trained prediction model to obtain the target voltage offset.
[0061] S204: Calibrate the read voltage with the target voltage offset to obtain a calibrated read voltage.
[0062] The target voltage offset can be regarded as an offset of the voltage threshold in the target block, so that the read voltage can be calibrated by the target voltage offset, the influence of the offset of the voltage threshold is eliminated, and the reliability of data reading is improved.
[0063] In some embodiments, the target voltage offset is added to the read voltage to obtain the calibrated read voltage.
[0064] Subsequently, the data in the target position can be read by the calibrated read voltage.
[0065] Embodiments of the present application provide a voltage calibration method for reading data. When a read instruction arrives, the voltage offset of the voltage threshold in the target block is predicted by inputting the target attribute data of the target block into a pre-trained prediction model, so that the read voltage is calibrated by the target voltage offset, and the reliability of data reading is improved.
[0066] Figure 3 The flowchart of the voltage calibration method for reading data provided by the embodiments of the present application Figure 2 As shown in Figure 3 The embodiments of the present application provide a training method of a pre-trained prediction model. The method can be implemented before step S203 in Figure 2 The method is described in detail as follows:
[0067] S301: Obtain training attribute data and a first label voltage offset. The training attribute data includes training erase-write times, training data retention time and training temperature.
[0068] In some embodiments, the training data for training the prediction model is the training attribute data and the first label voltage offset.
[0069] The training attribute data includes training erase-write times, training data retention time and training temperature, and the label voltage offset is a voltage offset measured after a plurality of read operations are performed on a block of a memory under the condition that the attribute data of the block is a certain training attribute data.
[0070] In some embodiments, the training erase-write times, the training data retention time and the training temperature of a block in the memory are obtained, a plurality of read operations are performed on the block under the condition that the block is in a scene corresponding to the training erase-write times, the training data retention time and the training temperature, and the measured voltage offset is the first label voltage offset.
[0071] In some embodiments, an initial read voltage of the memory is determined; a voltage axis scan is performed on a block in the memory to obtain an offset read voltage; a difference between the offset read voltage and the initial read voltage is determined as a first tag voltage offset.
[0072] The first tag voltage offset can be calculated by the following formula:
[0073]
[0074] wherein, is the first tag voltage offset, is the initial read voltage, is the offset read voltage, i.e., a read voltage required for reading data after a plurality of read operations, for example, the initial read voltage can read data A, after a plurality of read operations, the voltage threshold corresponding to data A is offset, at this time, the initial read voltage cannot read data A, and the offset read voltage is a read voltage that can still read data A after a plurality of read operations.
[0075] The training of the prediction model is offline training, 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 a plurality of, for example, corresponding to different blocks, there are training attribute data, and different blocks perform different numbers of read operations, which also correspond to training attribute data.
[0077] For a plurality of training attribute data, there is also a corresponding first tag voltage offset, for example, for a block, 100 read operations are performed, and in this scenario, there is a corresponding first tag voltage offset and training attribute data; for the same block, 200 read operations are performed, and in this scenario, there is a corresponding first tag voltage offset and training attribute data.
[0078] It can be understood that different first tag voltage offsets can correspond to the same training attribute data, for example, the first tag voltage offsets corresponding to 100 read operations and 200 read operations of a block are different, but the training attribute data corresponding to 100 read operations and 200 read operations of the block can be the same.
[0079] For example, in an embodiment, 200 blocks are selected, and the 200 blocks are divided into four groups, each group including 50 blocks, and the training erase times of the blocks in the four groups are 1000, 3000, 5000, and 7000, respectively.
[0080] The 200 blocks are tested at three training temperatures of 40°C, 55°C, and 70°C, and the training data retention time of the four groups of blocks is set to 1 hour, 24 hours, 72 hours, and 168 hours.
[0081] And since the read instruction is generally read as the read position of WL, considering the difference of different WLs, 300 WLs are randomly selected on each block, and continuous read operations are performed. Each block obtains a first tag voltage offset once after 500 read operations, and a total of 10 times, and one WL can obtain 10 groups of first tag voltage offsets of different read operations.
[0082] And the first tag voltage offset corresponding to the training attribute data can be determined.
[0083] The first tag voltage offset can be obtained by performing read operations in steps of 10mV (millivolts) from -1.28V (volts) to +1.27V around the initial read voltage. The number of storage units in each step interval is obtained, and the position of the offset read voltage is determined by plotting the threshold voltage distribution. In this way, the first tag voltage offset is obtained.
[0084] It can be understood that the above is exemplary, and in other embodiments, other training attribute data can also be used, which is not specifically limited here.
[0085] S302: input the training attribute data to 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 tag voltage offset to obtain the pre-trained prediction model.
[0086] In some embodiments, multiple training attribute data obtained after performing read operations of different times on the same block of the memory are input to the initial prediction model to obtain training voltage offsets after performing read operations of different times on the same block of the memory; and the initial prediction model is trained based on the training voltage offsets after performing read operations of different times on the same block of the memory and the corresponding first tag voltage offsets to obtain the pre-trained prediction model.
[0087] That is, when performing one training on the initial prediction model, multiple training attribute data are input, and the multiple training attribute data input at one time are training attribute data of the same block.
[0088] In some embodiments, let one training attribute data be X, then the multiple training attribute data input to the initial prediction model at one time can be , and M is the Mth training attribute data.
[0089] In some embodiments, the read disturbance effect is cumulative, so that M training attribute data are input to the initial prediction model at one time for training, which can make the initial prediction model record the dynamic dependence accumulated with the number of read operations.
[0090] In some embodiments, the initial prediction model includes multiple hidden layers, one hidden layer processes one training attribute data and outputs corresponding training voltage offset, such as Figure 4 The number of hidden layers in the initial prediction model is shown in the following table.
[0091] Figure 4 In some embodiments, the initial prediction model includes multiple hidden layers, one hidden layer processes one training attribute data and outputs corresponding training voltage offset, such as represents the feature vector obtained by executing the tth training attribute data, the feature vector obtained by the training attribute data corresponds to the hidden layer, represents the training voltage offset of the tth training attribute data, corresponding to the tth hidden layer in the initial prediction model, W is the weight of the feature vector output by the previous hidden layer, is the weight of the feature vector corresponding to the training attribute data of the current hidden layer, is the feature vector.
[0092] In some embodiments, the relationship between the hidden layers in the initial prediction model is:
[0093]
[0094]
[0095] wherein, corresponding to and between the nonlinear function relationship, corresponding to and between the linear function relationship.
[0096] It can be understood that the read operation times of the first label voltage offset corresponding to the tth training attribute data are greater than the read operation times of the first label voltage offset corresponding to the t-1th training attribute data.
[0097] The first label voltage offset corresponding to the tth training attribute data is related to the multiple read operations corresponding to the first label voltage offset corresponding to the tth training attribute data, and is also related to the multiple read operations corresponding to the first label voltage offset corresponding to the t-1th training attribute data, thereby efficiently processing the dynamic dependence of read interference accumulation.
[0098] It can be understood that, Figure 4 The number of hidden layers shown in the above table is exemplary, and in other embodiments, there can be other numbers of hidden layers, such as 10 hidden layers, which are not specifically limited here.
[0099] In some embodiments, the mean square error is used as the loss function for training the initial prediction model. For each hidden layer, its loss function is represented as:
[0100]
[0101] wherein, is the training voltage offset corresponding to the tth training attribute data in the initial prediction model, is the first label voltage offset corresponding to the tth training attribute data, represents the parameters to be trained in the initial prediction model.
[0102] The global loss function of the initial prediction model may be:
[0103]
[0104] wherein, T is the training cycle number of the initial prediction model, i.e. the number of times of inputting the training attribute data to the initial prediction model for training, is the tth training cycle number, is the tth training cycle number, is the first label voltage offset corresponding to the tth training attribute data in the tth training cycle number, is the training voltage offset corresponding to the tth training attribute data in the tth training cycle number. In some embodiments, the gradient descent method can be used to minimize the loss function by calculating the gradient of the loss function with respect to the model parameters and updating the parameters in the negative direction of the gradient, until the loss function converges or reaches the maximum preset training round, save the offline trained model and weight, and obtain the pre-trained prediction model. In some embodiments, Adam (an optimizer) can be used for learning, thereby accelerating the convergence of the prediction model. The learning rate in the Adam optimizer is set to 0.001 or the like.
[0105] The method of inputting multiple training attribute data to the initial prediction model for training can quickly model the timing effect of read disturbance, record dynamic dependence, effectively capture the complex nonlinear relationship between the degree of shift of the threshold voltage, the number of read times, the number of program / erase cycles (PE), the data retention time and the temperature of read disturbance, and improve the accuracy of the output of the preset model.
[0106] The flowchart of the voltage calibration method for reading data provided by the embodiments of the present application
[0107]
[0108] Figure 5 The flowchart of the voltage calibration method for reading data provided by the embodiments of the present application Figure 3 As shown in Figure 5 the method can be executed after step S204 in Figure 2 The method is described in detail as follows:
[0109] S501: Data reading is performed at the target storage location based on the calibrated read voltage, to obtain first target data and a first failed bit count of the first target data.
[0110] In some embodiments, the calibrated read voltage is a sum of the target voltage offset and the read voltage.
[0111] By comparing the calibrated read voltage with the voltage threshold, the first target data can be obtained, and the first failed bit count (FBC) of the first target data can be returned through an error correction code (ECC).
[0112] S502: If the first failed bit count 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.
[0113] In some embodiments, in the case where the first failed bit count is greater than the preset threshold, data in the target block is moved.
[0114] In some embodiments, in the case where it is determined that the first failed bit count is greater than the preset threshold, it can be determined that read disturbance in the target block is too large, and the calibrated read voltage cannot read correct data.
[0115] At this time, data in the target block can be directly moved, such as moving data in the target block to other blocks, to reduce the influence of data reading errors.
[0116] The preset threshold is a threshold of a preset error correction capability, which can be determined by an empirical parameter, such as 50%, 60%, etc., which is not specifically limited here.
[0117] In other embodiments, if the first failed bit count is greater than the 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 first failed bit count is less than or equal to the preset threshold, no processing is required.
[0119] In some embodiments, a plurality of adjustment voltage offsets are preset, a target adjustment voltage offset is determined based on a second error bit number of the second target data obtained by reading based on each adjustment voltage offset, a sum of the target adjustment voltage offset and the target voltage offset is determined as a second label voltage offset, and the pre-trained prediction model is adjusted based on the second label voltage offset to obtain an adjusted prediction model.
[0120] In some embodiments, when it is determined that the first error bit number is greater than the preset threshold, the target attribute data and the target voltage offset of the target block at this time can be recorded.
[0121] In some embodiments, when the memory is idle, a plurality of adjustment voltage offsets are set, such as , is the Kth adjustment voltage offset.
[0122] The adjustment voltage offset can be in the range of , etc.
[0123] In some embodiments, the read voltage after calibration is adjusted based on each adjustment voltage offset to obtain a plurality of adjusted read voltages, data reading is performed at the target storage location based on each adjusted read voltage to obtain second target data and a second error bit number of the second target data, and the adjustment voltage offset corresponding to the second error bit number with the maximum normalized value between the first error bit number and each second error bit number is determined as a target adjustment voltage offset.
[0124] In some embodiments, the read voltage after calibration is adjusted by the adjustment voltage offset based on the read voltage after calibration, i.e., the read voltage after calibration is added to the adjustment voltage offset to obtain the adjusted read voltage corresponding to each adjustment voltage offset.
[0125] At this time, data reading can be performed at the target storage location by using the adjusted read voltage to obtain a plurality of second target data and a second error bit number of the second target data, one second target data corresponding to one adjusted read voltage, and one adjusted read voltage corresponding to one adjustment voltage offset.
[0126] The normalized value between each second error bit number and the first error bit number is calculated, the normalized value is used as a reward signal, and a target adjustment voltage offset is determined. The normalized value can be:
[0127]
[0128] wherein, is the first error bit number, is the second error bit number corresponding to the Kth adjustment voltage offset; so that the reward signal The adjustment voltage offset corresponding to the maximum second error bit number is determined as the target adjustment voltage offset, i.e., the prediction error of the current 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 label voltage offset. .
[0130] The target adjustment voltage offset can be regarded as an error offset of the target voltage offset, so that the pre-trained prediction model can be adjusted by the target adjustment voltage offset to improve the reliability of the prediction model.
[0131] In some embodiments, the target attribute data is input into the pre-trained prediction model to obtain a predicted voltage offset; and 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 label 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 is adjusted based on the predicted voltage offset and the second label voltage offset to obtain an adjusted prediction model.
[0134] In some embodiments, the loss function used for adjusting the pre-trained prediction model may be:
[0135]
[0136] wherein, is the number of cycles for one adjustment of the pre-trained prediction model, is the first cycle, is the second cycle, is the predicted voltage offset of the first cycle.
[0137] In order to avoid damaging the pre-trained prediction model, a small learning rate is used to adjust the pre-trained prediction model , and the parameters in the original model are updated using gradient descent :
[0138]
[0139] wherein, is the gradient descent, is the dot product.
[0140] The training data setting is small, that is, the cycle number is small, the lightweight supervised learning fine-tunes the prediction model parameters, and adapts to the dynamic changes in actual use.
[0141] In some embodiments, adjusting the pre-trained prediction model can set a learning rate smaller than adjusting the initial prediction model, which can greatly preserve the pre-trained prediction model, which has more training data and higher generalization ability, and adapts to most scenarios.
[0142] In some embodiments, the adjustment number is set to indicate the maximum number of adjustments to the pre-trained prediction model within a preset time period.
[0143] The preset time period can be one day, one week, etc. without limitation.
[0144] By setting the adjustment number to limit the number of adjustments to the pre-trained prediction model, the performance of reading is affected by avoiding affecting the target voltage offset obtained by the pre-trained prediction model.
[0145] In some embodiments, after adjusting the pre-trained prediction model once, the adjusted prediction model can be regarded as a new pre-trained prediction model.
[0146] In some embodiments, the adjustment to the pre-trained prediction model is online adjustment.
[0147] In some embodiments, after obtaining the adjusted prediction model, it can be tested whether the interference degree of the read number of the target block is corrected, or whether the first error bit number is large due to the large target voltage offset error caused by the prediction model.
[0148] Receive a test data read instruction, the test data read instruction is used to indicate reading data of a target storage location, and the test data read instruction includes a read voltage; input the target attribute data to the adjusted prediction model to obtain a test voltage offset; calibrate the test voltage offset to the read voltage to obtain an adjusted read voltage; based on the adjusted read voltage, read data from the target storage location to obtain third target data and a third error bit number of the third target data.
[0149] The test voltage offset is calibrated to the read voltage to obtain the adjusted read voltage, which can refer to the way of calibrating the target voltage offset to the read voltage to obtain the calibrated read voltage.
[0150] In some embodiments, if the third error bit number is greater than a preset threshold, it indicates that the read data error is not caused by the prediction model, but the read disturbance of the target block is large, at this time, the data in the target block is moved to eliminate the cumulative read disturbance effect.
[0151] In the embodiments of the present application, during the training of the prediction model, the initial prediction model is trained in an offline manner and the pre-trained prediction model is trained in an online manner. The offline manner solves the problem of nonlinear relationship that cannot be captured in the LTU. The online manner realizes adaptive optimization of the threshold voltage change affected by complex interference in the actual application process through reinforcement learning.
[0152] The voltage calibration method for reading data described above can be used in NAND and can also be used for obtaining erased state data in NAND.
[0153] The target voltage offset predicted by the pre-trained prediction model in the embodiments of the present application is combined with the error bit number to determine whether to perform data movement. Compared with the data movement scheme using the read disturbance number of the entire superblock exceeding the threshold, the scheme is more flexible and reliable.
[0154] From the above description of the embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be realized by means of software and a necessary general hardware platform, of course, it can also be realized by hardware, but in many cases, the former is a better embodiment.
[0155] Figure 6 A structural schematic diagram of a voltage calibration device for reading data provided by the embodiments of the present application is shown in FIG. 1. As shown in FIG. 1, the embodiments of the present application also provide a voltage calibration device for reading data, which comprises: Figure 6
[0156] The instruction receiving module 610 is configured to receive a data reading instruction, the data reading instruction being used to instruct reading data in a target storage position of a memory, and the data reading instruction comprising a reading voltage;
[0157] The data obtaining module 630 is configured to determine target attribute data of a target block corresponding to the target storage position based on the target storage position, the target attribute data comprising a target erase count of the target block, a target data retention time of data in the target block, and a target temperature of the target block.
[0158] The prediction module 650 is configured to input the target attribute data into a pre-trained prediction model to obtain a target voltage offset.
[0159] The calibration module 670 is configured to calibrate the target voltage offset to the reading voltage to obtain a calibrated reading voltage.
[0160] In some embodiments, the voltage calibration device for reading data further comprises:
[0161] a training data determination module configured to obtain training attribute data and a first label voltage offset, the training attribute data comprising a training number of erase-write times, a training data retention time, and a training temperature;
[0162] a training module configured to input the training attribute data into an initial prediction model to obtain a training voltage offset, and train the initial prediction model based on the training voltage offset and the first label voltage offset to obtain a pre-trained prediction model.
[0163] In some embodiments, the training attribute data comprises a plurality of training attribute data obtained after performing read operations of different numbers of times on different blocks of the memory, and the first label voltage offset comprises a plurality of first label voltage offsets obtained after performing read operations of different numbers of times on different blocks of the memory; the training module comprises:
[0164] an input unit configured to input the plurality of training attribute data obtained after performing read operations of different numbers of times on the same block of the memory into the initial prediction model to obtain training voltage offsets obtained after performing read operations of different numbers of times on the same block of the memory;
[0165] a training unit configured to train the initial prediction model based on the training voltage offsets obtained after performing read operations of different numbers of times on the same block of the memory and corresponding first label voltage offsets to obtain the pre-trained prediction model.
[0166] In some embodiments, the voltage calibration device for reading data further comprises:
[0167] an initial voltage acquisition module configured to determine an initial read voltage of the memory;
[0168] an offset voltage acquisition module configured to perform voltage axis scanning on a block in the memory to obtain an offset read voltage;
[0169] a label acquisition module configured to determine a difference between the offset read voltage and the initial read voltage as the first label voltage offset.
[0170] In some embodiments, the voltage calibration device for reading data further comprises:
[0171] a first error parameter determination module configured to perform data reading at a target storage location based on the calibrated read voltage to obtain first target data and a first number of error bits of the first target data;
[0172] an adjustment module configured to, if the first number of error bits is greater than a preset threshold, adjust the pre-trained prediction model based on the target voltage offset to obtain an adjusted prediction model.
[0173] In some embodiments, the adjusting module comprises:
[0174] The target adjustment value determination unit is configured to preset a plurality of adjustment voltage offsets, determine a target adjustment voltage offset based on a second error bit number of the second target data read based on each adjustment voltage offset.
[0175] The label acquisition unit is configured to determine the sum of the target adjustment voltage offset and the target voltage offset as a second label voltage offset.
[0176] The adjusting unit is configured to adjust the pre-trained prediction model based on the second label voltage offset to obtain an adjusted prediction model.
[0177] In some embodiments, the target adjustment value determination unit comprises:
[0178] The adjustment value determination block is configured to adjust the calibrated read voltage based on each adjustment voltage offset to obtain a plurality of adjusted read voltages.
[0179] The error parameter determination block is configured to read data at the target storage location based on each adjusted read voltage to obtain second target data and a second error bit number of the second target data.
[0180] The target adjustment value determination block is configured to determine the adjustment voltage offset corresponding to the second error bit number with the maximum 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 adjusting unit comprises:
[0182] The prediction block is configured to input the target attribute data into the pre-trained prediction model to obtain a predicted voltage offset.
[0183] The adjustment block is configured to adjust the pre-trained prediction model based on the predicted voltage offset and the second label voltage offset to obtain an adjusted prediction model.
[0184] In some embodiments, the voltage calibration device for reading data further comprises:
[0185] The test module is configured to receive a test data reading instruction, the test data reading instruction being used to instruct reading data at a target storage location, and the test data reading instruction comprising a read voltage.
[0186] The test prediction module is configured to input the target attribute data into the adjusted prediction model to obtain a test voltage offset.
[0187] The test adjustment module is configured to calibrate the test voltage offset to the read voltage to obtain an adjusted read voltage.
[0188] The second error parameter determination module is configured to perform data reading at the target storage location based on the adjusted read voltage to obtain third target data and a third error bit number of the third target data.
[0189] The first migration module is configured to perform migration processing on the data in the target block if the third error bit number is greater than a preset threshold.
[0190] In some embodiments, the voltage calibration apparatus for reading data further comprises:
[0191] The third error parameter determination module is configured to perform data reading at the target storage location based on the calibrated read voltage to obtain first target data and a first error bit number of the first target data.
[0192] The second migration module is configured to perform migration processing on the data in the target block if the first error bit number is greater than a preset threshold.
[0193] In some embodiments, the voltage calibration apparatus for reading data further comprises:
[0194] The number setting module is configured to set an adjustment number, the adjustment number being used to indicate a maximum number of times of adjusting the pre-trained prediction model within a preset time period.
[0195] The features of the embodiments of the voltage calibration apparatus for reading data can be referred to the related descriptions of the embodiments of the voltage calibration method for reading data, which will not be repeated here.
[0196] Figure 7 The structure schematic diagram of the electronic device provided in the present application is shown in FIG. 7. Figure 7 As shown in FIG. 7, the electronic device 70 provided in the present embodiment comprises at least one processor 701 and a memory 702. Optionally, the electronic device 70 further comprises a communication component 703. The processor 701, the memory 702 and the communication component 703 are connected through a bus.
[0197] In the specific implementation process, the at least one processor 701 executes the computer program stored in the memory 702, so that the at least one processor 701 executes the above-mentioned embodiments of the voltage calibration method for reading data.
[0198] The specific implementation process of the processor 701 can be referred to the above-mentioned method embodiments, which have similar implementation principles and technical effects, and will not be repeated here.
[0199] In the above embodiments, it should be understood that the processor can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), etc. The general-purpose processor can be a microprocessor or any conventional processor, etc. The steps of the method disclosed in the application can be directly embodied as hardware processor execution, or executed by a combination of hardware and software modules in the processor.
[0200] The memory can include a random access memory (RAM), and can also include a non-volatile memory (NVM), such as at least one disk memory.
[0201] The bus can be an industry standard architecture (ISA) bus, a peripheral component (PCI) bus, an extended industry standard architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application does not limit to only one bus or one type of bus.
[0202] The embodiments of the present application also provide a computer readable storage medium, which stores a computer program, and the computer program is configured to execute the steps in any of the above-mentioned voltage calibration methods for reading data.
[0203] In an example embodiment, the above-mentioned computer readable storage medium can include, but is not limited to, a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.
[0204] The embodiments of the present application also provide a computer program product, which includes a computer program, and the computer program is executed by a processor to implement the steps in any of the above-mentioned voltage calibration methods for reading data.
[0205] The embodiment of the present application further provides another computer program product, comprising a nonvolatile computer readable storage medium, the nonvolatile computer readable storage medium stores a computer program, the computer program is executed by a processor to implement the steps in any of the above-mentioned voltage calibration methods for reading data.
[0206] Those skilled in the art will further appreciate that the functions implemented by the various example components and algorithm steps described herein can be implemented using electronic hardware, computer software, or any combination thereof. Depending on the particular application, different methods of implementation can be used to achieve the same functionality. Those skilled in the art will recognize how best to implement the described functionality using the techniques already known to them, combined with the teachings of the present application.
[0207] The above describes in detail the voltage calibration method for reading data provided by the present application. The principles and implementation manners of the present application are described by using specific examples. The above description of the embodiments is only used to help understand the method of the present application and its core idea. It should be pointed out that, for those skilled in the art, some improvements and modifications can be made to the present application without departing from the principles of the present application. These improvements and modifications also fall within the protection scope of the claims of the present application.
Claims
1. A voltage calibration method for reading data, characterized by, The method comprises: receiving a data read instruction, the data read instruction being used to instruct reading data of a memory target storage location, the data read instruction comprising a read voltage; determining target attribute data of a target block corresponding to the target storage location based on the target storage location, the target attribute data comprising a target erase count of the target block, a target data retention time of data in the target block, a target temperature of the target block; inputting the target attribute data into a pre-trained prediction model to obtain a target voltage offset; calibrating the target voltage offset to the read voltage to obtain a calibrated read voltage; performing data reading at the target storage location based on the calibrated read voltage to obtain first target data and a first error bit number of the first target data; if the first error bit number is greater than a preset threshold, adjusting the pre-trained prediction model based on the target voltage offset to obtain an adjusted prediction model; wherein the adjusting the pre-trained prediction model based on the target voltage offset to obtain the adjusted prediction model comprises: presetting a plurality of adjustment voltage offsets, adjusting the calibrated read voltage based on each adjustment voltage offset to obtain a plurality of adjusted read voltages; performing data reading at the target storage location based on each adjusted read voltage to obtain second target data and a second error bit number of the second target data; determining, as a target adjustment voltage offset, an adjustment voltage offset corresponding to a second error bit number with a maximum normalized value between each second error bit number and the first error bit number; determining, as a second label voltage offset, a sum of the target adjustment voltage offset and the target voltage offset; adjusting the pre-trained prediction model based on the second label voltage offset to obtain the adjusted prediction model.
2. The method of claim 1, wherein, Before the inputting the target attribute data into the pre-trained prediction model to obtain the target voltage offset, the method further comprises: obtaining training attribute data and a first label voltage offset, the training attribute data comprising a training erase count, a training data retention time, and a training temperature; inputting the training attribute data into an initial prediction model to obtain a training voltage offset, and training the initial prediction model based on the training voltage offset and the first label voltage offset to obtain the pre-trained prediction model.
3. The method of claim 2, wherein, The training attribute data comprises a plurality of training attribute data after performing different numbers of read operations on different blocks of the memory, and the first label voltage offset comprises a plurality of first label voltage offsets after performing different numbers of read operations on different blocks of the memory; the inputting the training attribute data into the initial prediction model to obtain the training voltage offset, and the training the initial prediction model based on the training voltage offset and the first label voltage offset to obtain the pre-trained prediction model comprise: inputting a plurality of training attribute data after different numbers of read operations on the same block of the memory into an initial prediction model to obtain a training voltage offset after different numbers of read operations on the same block of the memory; training the initial prediction model based on the training voltage offset after different numbers of read operations on the same block of the memory and the corresponding first label voltage offset to obtain the pre-trained prediction model.
4. The method according to claim 2 or 3, characterized in that, The method further comprises: determining an initial read voltage of the memory; performing a voltage axis scan on a block in the memory to obtain an offset read voltage; determining a difference between the offset read voltage and the initial read voltage as the first label voltage offset.
5. The method of claim 1, wherein, The adjusting the pre-trained prediction model based on the second label voltage offset to obtain the adjusted prediction model comprises: inputting the target attribute data into the pre-trained prediction model to obtain a predicted voltage offset; adjusting the pre-trained prediction model based on the predicted voltage offset and the second label voltage offset to obtain the adjusted prediction model.
6. The method of claim 5, wherein, The method further comprises: receiving a test data read instruction, the test data read instruction being used to instruct reading data at the target storage location, the test data read instruction comprising the read voltage; inputting the target attribute data into the adjusted prediction model to obtain a test voltage offset; calibrating the test voltage offset to the read voltage to obtain an adjusted read voltage; performing data reading at the target storage location based on the adjusted read voltage to obtain third target data and a third error bit number of the third target data; if the third error bit number is greater than a preset threshold, performing migration processing on data in the target block.
7. The method of claim 1, wherein, The method further comprises: performing data reading at the target storage location based on the calibrated read voltage to obtain first target data and a first error bit number of the first target data; in a case where the first error bit number is greater than a preset threshold, performing migration processing on data in the target block.
8. The method of claim 5, wherein, The method further comprises: setting an adjustment number, the adjustment number being used to indicate a maximum number of times of adjusting the pre-trained prediction model within a preset time period.
9. An electronic device, comprising: comprise: a memory configured to store a computer program; a processor configured to implement steps of the method of any one of claims 1 to 8 when executing the computer program.
Citation Information
Patent Citations
Data processing method and device
CN119356596A
Data management method, storage device and storage medium
CN119440387A