Nand read voltage axis prediction result verification method and device

By dynamically setting the slope threshold and implementing a tiered alarm mechanism, the anomaly problem of the NAND flash memory read voltage prediction model is solved, improving the system's reliability and self-optimization capabilities, making it suitable for embedded environments.

CN121601012BActive Publication Date: 2026-05-01SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
Filing Date
2026-01-29
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In the existing technology, the read voltage prediction model of NAND flash memory outputs abnormal prediction values ​​due to environmental noise or accelerated aging during long-term operation, which leads to an increase in read error rate. Furthermore, the existing verification methods cannot adapt to voltage changes at different aging stages, affecting system reliability.

Method used

By employing a sliding window mechanism and a GRU model, the slope threshold range is dynamically set by calculating the historical slope of the voltage axis, generating graded alarm signals, and triggering re-prediction or model optimization when an anomaly is detected, thus ensuring the accuracy of the prediction results.

Benefits of technology

It effectively filters out abnormal prediction points caused by noise or transient model misalignment, prevents the accumulation of prediction errors, improves the reliability of the voltage management system, and achieves self-diagnosis and optimization capabilities through low-overhead verification logic.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121601012B_ABST
    Figure CN121601012B_ABST
Patent Text Reader

Abstract

The application discloses a NAND read voltage axis prediction result verification method and device, the method comprises the following steps: collecting working condition parameters of different types of NAND flash memories, processing the collected historical working condition parameters according to RET intervals, and forming a time series data set; based on the time series data set, the historical slope of the voltage axis change of adjacent time points is calculated; the sliding window mechanism is used to retain the historical slope data in the last N RET intervals; the dynamic slope threshold range is determined based on the historical slope data in the sliding window; the value of the voltage axis at the current time point is predicted based on the GRUM, the actual value of the voltage axis at the last time point is obtained, and the current prediction slope is determined based on the predicted value and the actual value of the voltage axis; if the current prediction slope exceeds the slope threshold range, a hierarchical alarm signal is generated; the re-prediction process is triggered or the GRUM is optimized online. The application fundamentally prevents the step-by-step accumulation of prediction errors and improves the reliability of voltage management.
Need to check novelty before this filing date? Find Prior Art

Description

NAND Read Voltage Axis Prediction Result Verification Method and Apparatus Technical Field

[0001] This application relates to NAND read voltage axis prediction result verification technology, and more particularly to a NAND read voltage axis prediction result verification method and apparatus, computer storage medium, and electronic device. Background Technology

[0002] Not-AND flash memory (NAND) is a mainstream non-volatile memory, and its storage cells represent data through different threshold voltage states. With the increase in the number of program / erase (PE) cycles and the extension of the data retention time (RET), the charge in the storage cells is lost, causing the threshold voltage distribution to drift. To ensure the accuracy of data reading, the optimal read voltage (Vread) applied to the word line must be dynamically adjusted. Existing technologies often use machine learning models (such as the GRUM model) based on gated recurrent units (GRUs) to predict the optimal read voltage axis. These models learn voltage drift patterns from historical data and can achieve dynamic prediction. However, in practical deployment, there are significant drawbacks: the model may output abnormal predicted values ​​due to environmental noise, sudden changes in operating conditions (such as rapid temperature changes), or accelerated aging of the NAND itself during long-term operation. Directly applying these abnormal values ​​will lead to an increased read error rate. Existing verification methods mostly use fixed voltage range thresholds for judgment. Because NAND aging is a non-linear dynamic process, a fixed threshold cannot adapt to the different voltage change rates at different aging stages, which can easily lead to misjudgments or missed judgments. Prediction biases that are not identified and corrected in time will be absorbed by the model as normal historical data in subsequent predictions, causing errors to accumulate and eventually making the prediction model fail, seriously affecting system reliability.

[0003] Therefore, there is an urgent need for a method that can dynamically and intelligently verify the model prediction results in order to improve the robustness and long-term stability of the prediction system. Summary of the Invention

[0004] This application provides a method and apparatus for verifying NAND read voltage axis prediction results, a storage medium, and an electronic device, so as to at least solve the above-mentioned technical problems existing in the prior art.

[0005] According to a first aspect of this application, a method for verifying NAND read voltage axis prediction results is provided, comprising:

[0006] Collect operating parameters of different types of NAND flash memory, process the collected historical operating parameters at fixed retention time (RET) intervals to form a time series dataset;

[0007] Based on the time series dataset, the historical slope of the voltage axis change at adjacent time points is calculated according to the RET interval;

[0008] A sliding window mechanism is used to retain historical slope data within the most recent N RET intervals;

[0009] The dynamic slope threshold range is determined based on the historical slope data within the sliding window;

[0010] The GRUM multi-branch model based on GRU predicts the voltage axis value at the current time point, obtains the actual voltage axis value at the previous time point, and determines the current prediction slope based on the predicted and actual voltage axis values.

[0011] If the current predicted slope exceeds the slope threshold range, a graded alarm signal is generated;

[0012] Depending on the level of the alarm signal, a re-prediction process is triggered or GRUM is optimized online to correct the prediction results.

[0013] In some alternative implementations, the use of a sliding window mechanism to retain historical slope data within the most recent N RET intervals includes:

[0014] Set the sliding window size to the data records of the most recent M calendar days or the most recent N RET intervals;

[0015] When new, validated voltage axis data is added to the historical dataset, the earliest data record within the sliding window is discarded to keep the amount of data in the sliding window constant.

[0016] When determining the slope threshold, different weights are assigned to historical slope data from different periods within the sliding window, with recent historical slope data having a greater weight than older historical slope data.

[0017] In some alternative implementations, before determining the dynamic slope threshold range based on historical slope data within the sliding window, the method further includes:

[0018] Outlier identification and removal are performed on historical slope data within a sliding window using box plots or standard deviation-based methods.

[0019] For the valid historical slope data after removing outliers, the kernel density estimation method is used to fit the distribution, and a more robust quantile is calculated based on the fitted distribution.

[0020] Set a minimum effective slope change threshold. If the calculated absolute value of the slope is less than this threshold, it will be treated as zero or ignored during threshold statistics to avoid noise interference.

[0021] In some alternative implementations, the method further includes, during the process of determining the current prediction slope based on the predicted and actual values ​​of the voltage axis:

[0022] Establish a trend prediction model based on historical slope data to predict the reasonable slope change trend or range for the next RET interval;

[0023] If the predicted slope at multiple consecutive time points does not exceed the static threshold range but the trend continues to deviate from the prediction result of the trend prediction model, an early warning of trend anomaly will be triggered.

[0024] Determine the current temperature and dynamically adjust the slope threshold range based on the current temperature, wherein the higher the temperature, the larger the allowable slope variation range.

[0025] In some optional implementations, the graded alarm signal includes a primary alarm signal and a secondary alarm signal;

[0026] Among them, the first-level alarm signal is triggered when the single prediction slope exceeds the slope threshold range, records the event log and issues a prompt message, does not interrupt the use of the current prediction slope, and waits for the next cycle to verify and determine whether to use it;

[0027] Level 2 alarm signal: Triggered when the predicted slope exceeds the slope threshold range for a preset number of consecutive times, initiating a re-prediction process.

[0028] In some alternative implementations, the re-prediction process includes:

[0029] After triggering the level 2 alarm, the current operating parameters of the NAND flash memory and its actual voltage axis measurement value are re-acquired within the next or most recent RET interval.

[0030] The newly acquired actual measured values ​​of the voltage axis and related operating parameters are input into the GRUM model to predict the updated voltage axis values.

[0031] A new predicted slope is determined based on the newly predicted voltage axis value and the actual value, and the new predicted slope is verified again within the slope threshold range; if the verification passes, the new predicted slope is adopted and the alarm is deactivated; if the verification fails, the GRUM model is trained online to optimize the process.

[0032] In some alternative implementations, the GRUM model is trained online, including:

[0033] Increase the online training frequency of the GRUM model, and add a penalty term for prediction slope deviation to the loss function of model training to form a composite loss function to control the weight of slope consistency;

[0034] During training, prioritize using recent historical data within the sliding window to update model parameters.

[0035] According to a second aspect of this application, a NAND read voltage axis prediction result verification device is provided, comprising:

[0036] The acquisition unit is used to collect operating parameters of different types of NAND flash memory, and processes the collected historical operating parameters at fixed retention time (RET) intervals to form a time series dataset.

[0037] The calculation unit is used to calculate the historical slope of the voltage axis change at adjacent time points based on the time series dataset and according to the RET interval;

[0038] The data processing unit is used to retain historical slope data within the most recent N RET intervals using a sliding window mechanism.

[0039] The first determining unit is used to determine a dynamic slope threshold range based on historical slope data within the sliding window;

[0040] The second determining unit is used to predict the voltage axis value at the current time point based on the GRU-based multi-branch model GRUM, obtain the actual voltage axis value at the previous time point, and determine the current prediction slope based on the predicted and actual voltage axis values.

[0041] The generation unit is used to generate a graded alarm signal when the current predicted slope exceeds the slope threshold range;

[0042] The triggering unit is used to trigger a re-prediction process or perform online optimization of GRUM based on the level of the alarm signal to correct the prediction results.

[0043] In some alternative implementations, the data processing unit is further configured to:

[0044] Set the sliding window size to the data records of the most recent M calendar days or the most recent N RET intervals;

[0045] When new, validated voltage axis data is added to the historical dataset, the earliest data record within the sliding window is discarded to keep the amount of data in the sliding window constant.

[0046] When determining the slope threshold, different weights are assigned to historical slope data from different periods within the sliding window, with recent historical slope data having a greater weight than older historical slope data.

[0047] In some alternative implementations, the data processing unit is further configured to:

[0048] Outlier identification and removal are performed on historical slope data within a sliding window using box plots or standard deviation-based methods.

[0049] For the valid historical slope data after removing outliers, the kernel density estimation method is used to fit the distribution, and a more robust quantile is calculated based on the fitted distribution.

[0050] Set a minimum effective slope change threshold. If the calculated absolute value of the slope is less than this threshold, it will be treated as zero or ignored during threshold statistics to avoid noise interference.

[0051] In some alternative embodiments, the second determining unit is further configured to:

[0052] Establish a trend prediction model based on historical slope data to predict the reasonable slope change trend or range for the next RET interval;

[0053] If the predicted slope at multiple consecutive time points does not exceed the static threshold range but the trend continues to deviate from the prediction result of the trend prediction model, an early warning of trend anomaly will be triggered.

[0054] Determine the current temperature and dynamically adjust the slope threshold range based on the current temperature, wherein the higher the temperature, the larger the allowable slope variation range.

[0055] In some optional implementations, the graded alarm signal includes a primary alarm signal and a secondary alarm signal;

[0056] Among them, the first-level alarm signal is triggered when the single prediction slope exceeds the slope threshold range, records the event log and issues a prompt message, does not interrupt the use of the current prediction slope, and waits for the next cycle to verify and determine whether to use it;

[0057] Level 2 alarm signal: Triggered when the predicted slope exceeds the slope threshold range for a preset number of consecutive times, initiating a re-prediction process.

[0058] In some alternative implementations, the triggering unit is further configured to:

[0059] After triggering the secondary alarm, the acquisition unit is triggered to reacquire the current operating parameters of the NAND flash memory and its actual voltage axis measurement value within the next or most recent RET interval.

[0060] The second determining unit is triggered to input the newly acquired actual measured value of the voltage axis and related operating parameters into the GRUM model to predict the updated value of the voltage axis;

[0061] A new predicted slope is determined based on the newly predicted voltage axis value and the actual value, and the new predicted slope is verified again within the slope threshold range; if the verification passes, the new predicted slope is adopted and the alarm is deactivated; if the verification fails, the GRUM model is trained online to optimize the process.

[0062] In some alternative implementations, the online training of the GRUM model includes: increasing the online training frequency of the GRUM model, and adding a penalty term for prediction slope deviation to the loss function of the model training to form a composite loss function to control the weight of slope consistency.

[0063] During training, prioritize using recent historical data within the sliding window to update model parameters.

[0064] According to a third aspect of this application, a non-transitory computer-readable storage medium is provided that stores computer instructions for causing the computer to perform the steps of the NAND read voltage axis prediction result verification method.

[0065] According to a fourth aspect of this application, an electronic device is provided, comprising:

[0066] At least one processor;

[0067] and a memory communicatively connected to the at least one processor; wherein,

[0068] The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the steps of the NAND read voltage axis prediction result verification method.

[0069] The technical solution of this application verifies the rationality of the slope prediction results at each moment through a dynamic slope threshold. This effectively filters out abnormal prediction points caused by noise or instantaneous model misalignment, fundamentally preventing the gradual accumulation of prediction errors and significantly improving the reliability of the entire voltage management system. The slope threshold is dynamically generated based on the latest historical data within a sliding window and is updated periodically. It can automatically track the voltage change rate of NAND flash memory at different aging stages, ensuring that the verification standard always matches the current device state. This application features low overhead and simple, efficient verification logic with minimal computational resource consumption. Heavier operations such as re-prediction or model retraining are only triggered when an anomaly is detected, optimizing the use of computational resources and making it suitable for deployment in embedded environments such as memory controllers. As a post-verification and feedback mechanism, this application can be modularly integrated into any existing voltage prediction system based on historical data without changing the original hardware architecture, resulting in low implementation costs. Simultaneously, its hierarchical alarm and feedback mechanism provides the system with self-diagnosis and optimization capabilities.

[0070] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description

[0071] The above and other objects, features, and advantages of exemplary embodiments of this application will become readily apparent from the following detailed description taken in conjunction with the accompanying drawings. Several embodiments of this application are illustrated in the drawings by way of example and not limitation, in which:

[0072] In the accompanying drawings, the same or corresponding reference numerals indicate the same or corresponding parts.

[0073] Figure 1 shows a flowchart illustrating the NAND read voltage axis prediction result verification method according to an embodiment of this application;

[0074] Figure 2 shows a schematic diagram of the implementation process of the NAND read voltage axis prediction result verification method according to an embodiment of this application;

[0075] Figure 3 shows a schematic diagram of the composition structure of the NAND read voltage axis prediction result verification device according to an embodiment of this application;

[0076] Figure 4 is a schematic diagram of the composition structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0077] To make the objectives, features, and advantages of this application more apparent and understandable, the technical solutions in 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, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0078] The technical solution of this application embodiment states that the optimal read voltage axis of NAND flash memory exhibits physical continuity and trend stability with respect to the RET time, and its slope should remain within a reasonable range derived from historical data statistics in the short term. Any abrupt predictions exceeding this range are highly likely to be abnormal. Based on this, this application embodiment establishes a dynamic baseline, continuously collects real data, continuously calculates historical slopes, and sets a dynamic threshold based on statistical methods such as quantiles. The predicted slope, formed by the model's predicted value and the actual value at the previous moment, is compared with the dynamic threshold. Depending on the degree of deviation, different levels of response, from log recording to online model retraining, are triggered, forming adaptive feedback.

[0079] The following specific examples illustrate in detail the essence of the technical solutions in the embodiments of this application.

[0080] Figure 1 shows a flowchart of the NAND read voltage axis prediction result verification method according to an embodiment of this application. As shown in Figure 1, the NAND read voltage axis prediction result verification method according to an embodiment of this application includes the following processing steps:

[0081] Step 101: Collect operating parameters of different types of NAND flash memory, process the collected historical operating parameters according to a fixed retention time (RET) interval, and form a time series dataset.

[0082] Optimal read voltage data were collected for various NAND flash memory models under different program / erase (PE) cycles and different data retention time (RET) intervals. The PE cycles covered 1k to 12k cycles, encompassing the main aging stages of NAND flash memory. Operating parameters of NAND flash memory, including temperature (40°C to 85°C) and voltage fluctuation (±5%), were recorded.

[0083] Data is recorded at fixed RET intervals (default 24 hours, which can be adjusted according to actual application scenarios) to form a time series dataset; the data is kept in NAND flash memory with a RET time span of 1 hour to 1 year.

[0084] Data is stored using a time-series database such as InfluxDB, with stored fields including "NAND model", "PE count", "RET timestamp", and "voltage axis value", and abnormal data points with voltage axis values ​​that are outside the physical range are automatically removed.

[0085] In this application embodiment, different types of NAND flash memory include at least:

[0086] NAND flash memory is manufactured using one of the following processes: Single-Level Cell (SLC), Multi-Level Cell (MLC), Three-Level Cell (TLC), or Quadruple-Level Cell (QLC).

[0087] Step 102: Based on the time series dataset, calculate the historical slope of the voltage axis change at adjacent time points according to the RET interval.

[0088] In this embodiment, the collected historical operating parameters are organized according to a preset RET interval to ensure data time series consistency; a box plot method or a standard deviation-based method is used to identify and remove outliers in the time series data to avoid outliers affecting subsequent calculations; and the voltage axis values ​​in the dataset are one-hot encoded to provide an adaptive format for the prediction model.

[0089] In this embodiment of the application, the voltage axis at historical time points is set at fixed RET intervals (e.g., (24 hours) Calculate the optimal voltage axis slope at adjacent time points. :

[0090] ,

[0091] in, for The voltage axis of NAND flash memory, for The voltage axis of NAND flash memory. The duration can be set as needed, and can be set to 6 hours, 12 hours, 48 ​​hours, 60 hours, etc.

[0092] Step 103: Use a sliding window mechanism to retain historical slope data within the most recent N RET intervals.

[0093] In this embodiment, the sliding window size is set to the data records of the most recent M natural days or the most recent N RET intervals; when new verified voltage axis data is added to the historical dataset, the earliest data record in the sliding window is eliminated to keep the data volume in the sliding window constant; when determining the slope threshold, different weights are assigned to the historical slope data of different periods in the sliding window, with the weight of recent historical slope data being greater than that of distant historical slope data.

[0094] In this embodiment, the sliding window size is set to the most recent 30 RET intervals (i.e., N=30). When new verified voltage axis data is added to the historical dataset, the earliest data record in the sliding window is eliminated to keep the data volume in the sliding window constant. In the subsequent threshold calculation process, different weights are assigned to the historical slope data of different periods in the sliding window. The weight of recent historical slope data is 0.7, and the weight of distant historical slope data is 0.3 to ensure that the threshold can reflect the latest aging trend.

[0095] Step 104: Determine the dynamic slope threshold range based on historical slope data within the sliding window.

[0096] Outlier identification and removal are performed on historical slope data within the sliding window using box plots or standard deviation-based methods. For the valid historical slope data after outlier removal, kernel density estimation is used to fit the distribution, and more robust quantiles are calculated based on the fitted distribution. A minimum effective slope change threshold is set; if the calculated absolute slope value is less than this threshold, it is treated as zero or ignored during threshold statistics to avoid noise interference. All identified historical slope values ​​are statistically analyzed, and a reasonable threshold range is determined using quantile methods (e.g., 95% confidence intervals). .

[0097] In this embodiment, the historical slope data within the sliding window is first cleaned using a box plot method, based on quartiles and interquartile ranges, to identify and remove statistically significant outliers. The cleaned, valid data can then be further fitted with a probability density function using kernel density estimation (KDE) to obtain a smoother, more robust data distribution. From this distribution (or directly from the valid data), the 5th percentile is taken as the lower limit k_min, and the 95th percentile as the upper limit k_max. This range covers 90% of the normal slope variations in the historical data, serving as a dynamic standard for judging whether the subsequent predicted slope is abnormal.

[0098] Step 105: Based on the GRU multi-branch model GRUM, predict the voltage axis value at the current time point, obtain the actual voltage axis value at the previous time point, and determine the current prediction slope based on the predicted and actual voltage axis values.

[0099] In this embodiment of the application, the GRUM model outputs the optimal voltage axis prediction value at the current time point. .

[0100] Combined with the actual value of the voltage axis at the previous time point Calculate the predicted slope ,as follows:

[0101]

[0102] like This triggers an alarm and re-predicts. The historical dataset is updated based on the latest validated predictions, and the slope threshold is recalculated periodically (e.g., weekly) to adapt to NAND aging trends.

[0103] During the runtime phase, the GRUM prediction model outputs the optimal voltage axis prediction value V_prediction(t) for the next time point t based on the current state input. The verification method is as follows:

[0104] Obtain the predicted value and read the actual voltage axis value V confirmed at the previous time point t-Δt. 实际 (t-Δt). Calculate the instantaneous slope corresponding to this prediction. .

[0105] Step 106: If the current predicted slope exceeds the slope threshold range, a graded alarm signal is generated; depending on the level of the alarm signal, a re-prediction process is triggered or GRUM is optimized online to correct the prediction result.

[0106] The tiered alarm signals include a first-level alarm signal and a second-level alarm signal. The first-level alarm signal is triggered when the predicted slope exceeds the slope threshold range in a single instance. It records the event log and issues a prompt message without interrupting the use of the current predicted slope. The use of the current predicted slope is verified in the next cycle to determine whether it can be used. The second-level alarm signal is triggered when the predicted slope exceeds the slope threshold range for a preset number of consecutive times. It initiates the re-prediction process.

[0107] After triggering a level 2 alarm, within the next or most recent RET interval, the current operating parameters of the NAND flash memory and its actual voltage axis measurement values ​​are re-acquired; the re-acquired actual voltage axis measurement values ​​and related operating parameters are input into the GRUM model to predict the updated voltage axis value; based on the newly predicted voltage axis value and the actual value, a new prediction slope is determined, and the new prediction slope is verified again within the slope threshold range; if the verification passes, the new prediction slope is adopted and the alarm is deactivated; if the verification fails, online training of the GRUM model is triggered to optimize the process.

[0108] Will Compare the current effective dynamic threshold range [k_min, k_max] with the threshold value, and perform the following closed-loop control based on the comparison result:

[0109] Scenario A (Verification passed): If If the predicted value is ∈[k_min, k_max], then the predicted value is considered reasonable and the system adopts V. 预测 (t) is used as the optimal reading voltage, and this value is stored as the new actual value in the historical database for subsequent calculations.

[0110] Scenario B (Verification Failed): If If [k_min, k_max] are selected, a tiered alarm mechanism will be triggered.

[0111] Level 1 Alarm (Single Anomaly): Records the anomaly event in the log and alerts maintenance personnel. The system can temporarily use the voltage value from the previous cycle or a conservative estimate, while waiting for the prediction of the next cycle to make a new judgment.

[0112] Level 2 Alarm (Continuous Anomaly): If the predicted slope exceeds the threshold for three consecutive times (number of times configurable), the alarm is upgraded to Level 2. The system automatically initiates a re-prediction process: immediately re-collects measured data under the current operating conditions, inputs it into the GRUM model, and generates a new predicted value V. 新预测 (t) and perform secondary validation. If the secondary validation still fails, trigger the GRUM model online optimization process: increase the online training frequency of the GRUM model (e.g., from once a day to once an hour), and optimize the loss function by adding a slope bias penalty term to the mean squared error (MSE):

[0113]

[0114] This is a hyperparameter; the default value is 0.5, k 历史 The median is the median of the historical slopes within the window. This penalty term forces the model to consider not only the accuracy of the predicted voltage values ​​but also the reasonableness of their changing trends during optimization.

[0115] Figure 2 illustrates a schematic flowchart of the NAND read voltage axis prediction result verification method according to an embodiment of this application. As shown in Figure 2, the NAND read voltage axis prediction result verification method according to an embodiment of this application includes the following processing steps:

[0116] Data Acquisition and Storage: Systematically collects and stores the optimal read voltage axis data for multiple NAND models, providing a basis for slope calculation and threshold setting.

[0117] Multi-dimensional data collection:

[0118] Model coverage: Select mainstream NAND models (such as TLC and QLC) to cover different processes (such as 15nm and 20nm).

[0119] Aging stages: Different aging stages are divided according to the number of PE cycles, such as 0k, 1k, 5k, 10k erase / write cycles, etc.

[0120] Operating condition simulation: Test under conditions such as temperature range (40°C to 85°C) and voltage fluctuation (±5%), and record the optimal voltage axis value.

[0121] RET interval setting: Collect data at fixed time intervals, such as every 24 hours, to form a time series dataset.

[0122] Data storage structure: Database design: Use a time-series database such as InfluxDB, and store data according to the following fields: 'NAND model', 'PE count', 'RET timestamp', and 'voltage axis value'.

[0123] Data cleaning: Automatically remove outliers, such as data points whose voltage axis values ​​exceed the physical range.

[0124] Slope calculation engine: Dynamically calculates slope thresholds based on historical data and compares and verifies them with real-time prediction results.

[0125] Historical slope calculation:

[0126] Calculate the slope of the voltage axis values ​​at adjacent RET time points during the aging stage:

[0127]

[0128] Threshold setting method: Quantile method: Take the 5th quantile of the historical slope data. and the 95th percentile As a threshold range.

[0129] Sliding window mechanism: Only retain data from the most recent 30 days (window size N=30) to ensure that the threshold reflects the latest aging trend.

[0130] Real-time slope verification:

[0131] Input data: Current predicted values ​​output by the GRUM model. and the actual value at the previous time point. Predicted slope calculation: ;

[0132] Threshold judgment: If This triggers an alarm signal.

[0133] Periodically optimize the slope threshold to adapt to NAND aging and changes in operating conditions.

[0134] Update cycle setting: The threshold recalculation is automatically triggered every 2 days, 5 days, or 7 days.

[0135] Incremental learning mechanism: Validated predictions are added to the historical dataset. A weighted average method is used, assigning higher weights to new data, such as 0.8 for new data and 0.2 for old data.

[0136] Manage alarm signals and trigger re-prediction or model optimization.

[0137] Level 1 Alarm: If the above conditions are true, mark a "predicted slope anomaly" event in the system log and send a low-priority SMART warning to the host operating system to alert maintenance personnel.

[0138] Level 2 Alarm: The system maintains an internal counter C. Each time a Level 1 alarm is triggered, C increments by 1; if the prediction slope is normal, C is reset to zero. When C>=3, it is determined to be a persistent anomaly, triggering a Level 2 alarm.

[0139] Alarm triggering rules: Single threshold exceedance: Generate a Level 1 alarm, record the event log, and prompt the operator to check. 3 consecutive or 5 consecutive threshold exceedances: Upgrade to a Level 2 alarm, and automatically initiate the re-prediction process.

[0140] The re-prediction process in this application embodiment includes:

[0141] Data re-acquisition: Within 1 hour after the alarm, the voltage axis data under the current operating conditions will be re-acquisitioned.

[0142] Model rerun: Input the new data into the GRUM model to generate updated predictions. .

[0143] Secondary validation: Calculate the new predicted slope. If it still exceeds the threshold, trigger online training.

[0144] Online training optimization:

[0145] Training frequency adjustment: After the level 2 alarm, the online training frequency of the GRUM model will be increased from once a day to once per hour, or every 30 minutes, or every 3 hours, etc.

[0146] Loss function optimization: Add a slope bias penalty term to the mean squared error (MSE), as follows:

[0147]

[0148] in This is the median of the historical slopes after cleaning within the current window. This setting guides the model to not only achieve accurate voltage predictions during optimization but also to ensure that the predicted voltage change trend conforms to historical patterns. Perform one or more training iterations to update the internal parameters of the GRUM model. After training is complete, use the new model to re-predict the current time point and repeat the validation steps until successful or the maximum number of retries is reached.

[0149] Incremental training: Using only the data from the most recent 20 or 30 days within the sliding window as the training set, the weights of the GRUM model are fine-tuned in a small number of rounds (e.g., 5 rounds) to avoid the huge overhead of full training.

[0150] This application utilizes physical laws (the continuity of voltage drift) rather than simple numerical thresholds to significantly reduce false alarm and false negative rates. It employs dynamic thresholds that automatically adjust as the NAND flash memory ages, making it suitable for the entire lifecycle. The entire process from anomaly detection to model optimization is automated, minimizing system risk exposure time and triggering costly model retraining only when necessary, thus balancing performance and reliability.

[0151] Figure 3 shows a schematic diagram of the composition structure of the NAND read voltage axis prediction result verification device according to an embodiment of this application. As shown in Figure 3, the NAND read voltage axis prediction result verification device according to an embodiment of this application includes:

[0152] The acquisition unit 30 is used to acquire operating parameters of different types of NAND flash memory, and processes the acquired historical operating parameters at fixed retention time (RET) intervals to form a time series dataset.

[0153] Calculation unit 31 is used to calculate the historical slope of voltage axis changes at adjacent time points based on the time series dataset and according to the RET interval;

[0154] Data processing unit 32 is used to retain historical slope data within the most recent N RET intervals using a sliding window mechanism;

[0155] The first determining unit 33 is used to determine a dynamic slope threshold range based on the historical slope data within the sliding window;

[0156] The second determining unit 34 is used to predict the voltage axis value at the current time point based on the GRU multi-branch model GRUM, obtain the actual voltage axis value at the previous time point, and determine the current prediction slope based on the predicted value and the actual value of the voltage axis.

[0157] The generation unit 35 is used to generate a graded alarm signal when the current predicted slope exceeds the slope threshold range;

[0158] Triggering unit 36 ​​is used to trigger a re-prediction process or perform online optimization of GRUM based on the level of the alarm signal to correct the prediction results.

[0159] In some alternative embodiments, the data processing unit 32 is further configured to:

[0160] Set the sliding window size to the data records of the most recent M calendar days or the most recent N RET intervals;

[0161] When new, validated voltage axis data is added to the historical dataset, the earliest data record within the sliding window is discarded to keep the amount of data in the sliding window constant.

[0162] When determining the slope threshold, different weights are assigned to historical slope data from different periods within the sliding window, with recent historical slope data having a greater weight than older historical slope data.

[0163] In some alternative embodiments, the data processing unit 32 is further configured to:

[0164] Outlier identification and removal are performed on historical slope data within a sliding window using box plots or standard deviation-based methods.

[0165] For the valid historical slope data after removing outliers, the kernel density estimation method is used to fit the distribution, and a more robust quantile is calculated based on the fitted distribution.

[0166] Set a minimum effective slope change threshold. If the calculated absolute value of the slope is less than this threshold, it will be treated as zero or ignored during threshold statistics to avoid noise interference.

[0167] In some alternative embodiments, the second determining unit 34 is further configured to:

[0168] Establish a trend prediction model based on historical slope data to predict the reasonable slope change trend or range for the next RET interval;

[0169] If the predicted slope at multiple consecutive time points does not exceed the static threshold range but the trend continues to deviate from the prediction result of the trend prediction model, an early warning of trend anomaly will be triggered.

[0170] Determine the current temperature and dynamically adjust the slope threshold range based on the current temperature, wherein the higher the temperature, the larger the allowable slope variation range.

[0171] In some optional implementations, the graded alarm signal includes a primary alarm signal and a secondary alarm signal;

[0172] Among them, the first-level alarm signal is triggered when the single prediction slope exceeds the slope threshold range, records the event log and issues a prompt message, does not interrupt the use of the current prediction slope, and waits for the next cycle to verify and determine whether to use it;

[0173] Level 2 alarm signal: Triggered when the predicted slope exceeds the slope threshold range for a preset number of consecutive times, initiating a re-prediction process.

[0174] In some alternative embodiments, the triggering unit 36 ​​is further configured to:

[0175] After triggering the secondary alarm, within the next or most recent RET interval, the acquisition unit 30 is triggered to reacquire the current operating parameters of the NAND flash memory and its actual voltage axis measurement value.

[0176] The second determining unit 34 is triggered to input the re-acquired actual measured value of the voltage axis and related operating parameters into the GRUM model to predict the updated value of the voltage axis;

[0177] A new predicted slope is determined based on the newly predicted voltage axis value and the actual value, and the new predicted slope is verified again within the slope threshold range; if the verification passes, the new predicted slope is adopted and the alarm is deactivated; if the verification fails, the GRUM model is trained online to optimize the process.

[0178] In some alternative implementations, the online training of the GRUM model includes: increasing the online training frequency of the GRUM model, and adding a penalty term for prediction slope deviation to the loss function of the model training to form a composite loss function to control the weight of slope consistency.

[0179] During training, prioritize using recent historical data within the sliding window to update model parameters.

[0180] In an exemplary embodiment, each processing unit in the NAND read voltage axis prediction result verification device of this application embodiment can be implemented by one or more central processing units (CPUs), graphics processing units (GPUs), application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components.

[0181] Regarding the apparatus in the above embodiments, the specific manner in which each module and unit performs its operations has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0182] According to embodiments of this application, this application also describes an electronic device and a readable storage medium.

[0183] Figure 4 illustrates a schematic block diagram of an example electronic device 800 that can be used to implement embodiments of this application. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0184] As shown in Figure 4, the electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. The RAM 803 can also store various programs and data required for the operation of the electronic device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0185] Multiple components in electronic device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of displays, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows electronic device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0186] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the NAND read voltage axis prediction result verification method. For example, in some embodiments, the NAND read voltage axis prediction result verification method can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the NAND read voltage axis prediction result verification method described above can be performed. Alternatively, in other embodiments, the computing unit 801 may be configured, by any other suitable means (e.g., by means of firmware), to perform the steps of the NAND read voltage axis prediction result verification method.

[0187] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.

[0188] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0189] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0190] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0191] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0192] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0193] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this application can be achieved, and this is not limited herein.

[0194] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.

[0195] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for verifying NAND read voltage axis prediction results, characterized in that, The method includes: collecting operating parameters of different types of NAND flash memory; processing the collected historical operating parameters according to a fixed retention time (RET) interval to form a time-series dataset; calculating the historical slope of voltage axis changes at adjacent time points based on the time-series dataset according to the RET interval; and employing a sliding window mechanism to retain historical slope data within the most recent N RET intervals. Specifically, this includes: setting the sliding window size to the data records of the most recent M natural days or the most recent N RET intervals; when new, verified voltage axis data is added to the historical dataset, discarding the earliest data record within the sliding window to maintain a constant data volume within the sliding window; and determining the slope threshold by... Historical slope data from different periods within a sliding window are assigned different weights, with recent historical slope data having a greater weight than older historical slope data. A dynamic slope threshold range is determined based on the historical slope data within the sliding window. The voltage axis value at the current time point is predicted using the GRU multi-branch model GRUM, and the actual voltage axis value at the previous time point is obtained. The current predicted slope is determined based on the predicted and actual voltage axis values. A trend prediction model based on historical slope data is established to predict the reasonable slope change trend or range for the next RET interval. If the predicted slope at multiple consecutive time points does not exceed the static threshold range but the change trend continuously deviates from the prediction result of the trend prediction model, an early trigger is initiated. Issue an abnormal trend warning; determine the current temperature, and dynamically adjust the slope threshold range based on the current temperature, where the higher the temperature, the larger the allowable slope variation range; if the current predicted slope exceeds the slope threshold range, generate a tiered alarm signal; the tiered alarm signal includes a first-level alarm signal and a second-level alarm signal; wherein, the first-level alarm signal is triggered when a single predicted slope exceeds the slope threshold range, records the event log and issues a prompt message, does not interrupt the use of the current predicted slope, and waits for verification in the next cycle to determine whether to use it; the second-level alarm signal is triggered when the predicted slope exceeds the slope threshold range for a preset number of consecutive times, and starts the re-prediction process; according to the alarm signal level. The system triggers a re-prediction process or performs online optimization of the GRUM model to correct the prediction results. The re-prediction process includes: after triggering a level 2 alarm, in the next or most recent RET interval, re-collecting the current operating parameters of the NAND flash memory and its actual voltage axis measurement values; inputting the re-collected actual voltage axis measurement values ​​and related operating parameters into the GRUM model to predict the updated voltage axis value; determining a new prediction slope based on the newly predicted voltage axis value and the actual value, and verifying the new prediction slope again within the slope threshold range; if the verification passes, adopting the new prediction slope and deactivating the alarm; if the verification fails, triggering online training of the GRUM model to optimize the process.

2. The method according to claim 1, characterized in that, Before determining the dynamic slope threshold range based on the historical slope data within the sliding window, the method further includes: using a box plot method or a standard deviation-based method to identify and remove outliers from the historical slope data within the sliding window; using a kernel density estimation method to fit the distribution of the effective historical slope data after removing outliers, and calculating a more robust quantile based on the fitted distribution; setting a minimum effective slope change threshold, and if the calculated absolute value of the slope is less than this threshold, it is treated as zero or ignored during threshold statistics to avoid noise interference.

3. The method according to claim 1, characterized in that, The online training of the GRUM model includes: increasing the online training frequency of the GRUM model; and adding a penalty term for prediction slope deviation to the loss function of the model training to form a composite loss function to control the weight of slope consistency; during training, prioritizing the use of recent historical data within the sliding window to update model parameters.

4. A device for verifying NAND read voltage axis prediction results, characterized in that, The device includes: a data acquisition unit for acquiring operating parameters of different types of NAND flash memory, processing the acquired historical operating parameters at fixed retention time (RET) intervals to form a time-series dataset; a calculation unit for calculating the historical slope of voltage axis changes at adjacent time points based on the time-series dataset and according to the RET intervals; and a data processing unit for retaining historical slope data within the most recent N RET intervals using a sliding window mechanism. The data processing unit is further configured to: set the sliding window size to the data records of the most recent M natural days or the most recent N RET intervals; and when new, verified voltage axis data is added to the historical dataset, discard the earliest data record within the sliding window to maintain the sliding window size. The data is constant; when determining the slope threshold, different weights are assigned to historical slope data from different periods within the sliding window, with recent historical slope data having a greater weight than older historical slope data; the first determining unit is used to determine the dynamic slope threshold range based on the historical slope data within the sliding window; the second determining unit is used to predict the voltage axis value at the current time point based on the GRU multi-branch model GRUM, obtain the actual voltage axis value at the previous time point, and determine the current predicted slope based on the predicted and actual voltage axis values; the second determining unit is also used to: establish a trend prediction model based on historical slope data to predict the reasonable slope change trend or range for the next RET interval; if the predicted slope at multiple consecutive time points does not exceed the static threshold range If the trend continues to deviate from the prediction results of the trend prediction model, an early warning of trend anomalies is triggered. The current temperature is determined, and the slope threshold range is dynamically adjusted based on the current temperature, with a wider allowable slope variation range for higher temperatures. A generation unit is used to generate a tiered alarm signal when the current predicted slope exceeds the slope threshold range. The tiered alarm signal includes a first-level alarm signal and a second-level alarm signal. The first-level alarm signal is triggered when a single predicted slope exceeds the slope threshold range, recording an event log and issuing a prompt message without interrupting the use of the current predicted slope, pending verification in the next cycle to determine its continued use. The second-level alarm signal is triggered when the predicted slope exceeds the slope threshold range for a preset number of consecutive cycles. The alarm signal level triggers a re-prediction process. A triggering unit is used to initiate the re-prediction process or perform online optimization of the GRUM model to correct the prediction results, based on the alarm signal level. The triggering unit is also used to: after triggering a level-two alarm, within the next or most recent RET interval, trigger the acquisition unit to re-acquire the current operating parameters of the NAND flash memory and its actual voltage axis measurement values; trigger the second determining unit to input the re-acquired actual voltage axis measurement values ​​and related operating parameters into the GRUM model to predict the updated voltage axis value; determine a new prediction slope based on the newly predicted voltage axis value and the actual value, and verify the new prediction slope again within the slope threshold range; if the verification passes, adopt the new prediction slope and deactivate the alarm.If the verification fails, online training of the GRUM model will be triggered to optimize the process.

5. The apparatus according to claim 4, characterized in that, The data processing unit is further configured to: identify and remove outliers from historical slope data within a sliding window using a box plot method or a standard deviation-based method; fit the distribution of the valid historical slope data after outlier removal using a kernel density estimation method, and calculate more robust quantiles based on the fitted distribution; set a minimum effective slope change threshold, and if the calculated absolute slope value is less than the threshold, treat it as zero or ignore it during threshold statistics to avoid noise interference.

6. The apparatus according to claim 4, characterized in that, The online training of the GRUM model includes: increasing the online training frequency of the GRUM model; and adding a penalty term for prediction slope deviation to the loss function of the model training to form a composite loss function to control the weight of slope consistency; during training, prioritizing the use of recent historical data within the sliding window to update model parameters.

Citation Information

Patent Citations

  • Method for dynamically adjusting and predicting optimal reading voltage of NAND

    CN116721686A

  • NAND flash memory reading voltage axis prediction method and device, and storage medium

    CN120877833A