A flash memory data read error prediction management method, apparatus, system, and medium

CN118035128BActive Publication Date: 2026-09-18BEIJING LINGHANG HUAXIN TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211422835.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-14
Publication Date
2026-09-18
Estimated Expiration
2042-11-14

AI Technical Summary

Technical Problem

闪存在使用过程中,编程和擦除循环数(P/E Cycle,program/erase cycle)逐渐增加,闪存单元逐渐磨损,随着时间的增长,存储在闪存储存单元的电荷会出现泄漏,闪存的阈值电压分布态将会向阈值电压较小的一侧偏移,这就会导致数据的读取出现错误

Benefits of technology

[0050] This application provides a flash memory data read error prediction and management method, apparatus, system, and medium. The method includes: collecting the word line count, code word count, and page type of the current flash memory as its location information; collecting the programming and erase cycle counts and data retention time of the current flash memory as its condition information; obtaining a training set for a deep neural network model, the training set including: the word line count, code word count, and page type of historical flash memory as its location information; the programming and erase cycle counts and data retention time of historical flash memory as its condition information; and the data read error magnitude of historical flash memory; using the training set to learn the overall mapping relationship between the location information and condition information of historical flash memory and the data read error magnitude of historical flash memory; determining the model parameters of the deep neural network model based on the overall mapping relationship; inputting the location information and condition information of the current flash memory into the pre-trained deep neural network model; and the pre-trained deep neural network model outputting the data read error magnitude of the current flash memory. Therefore, by inputting given input parameters into a pre-trained deep neural network model, this application can accurately predict the error magnitude that may occur in different layers of a flash memory block under different conditions, so as to arrange decoding strategies in a timely manner to deal with error situations and improve flash memory performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118035128B_ABST
    Figure CN118035128B_ABST
Patent Text Reader

Abstract

The application provides a flash memory data read error prediction management method, device, system and medium, acquires a training set: the number of word lines, the number of code words and the page type of the historical flash memory as the position information of the historical flash memory, the programming, the number of erase cycles and the data retention time of the historical flash memory as the condition information of the historical flash memory, and the data read error number level of the historical flash memory; the total mapping relationship between the position information of the historical flash memory and the condition information of the historical flash memory and the data read error number level of the historical flash memory is learned by using the training set; the model parameters of the deep neural network model are determined according to the total mapping relationship; the position information of the current flash memory and the condition information of the current flash memory are input into the trained deep neural network model, and the data read error number level of the current flash memory is output. By inputting the given input parameters into the pre-trained deep neural network model, the error number level of the flash memory block can be accurately predicted, so that the decoding strategy can be arranged in time to cope with the error situation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of semiconductor technology, and in particular to a flash memory data read error prediction and management method, apparatus, system and medium. Background Technology

[0002] Semiconductor memory devices can be volatile or non-volatile. While volatile semiconductor memory devices can perform read and write operations at high speeds, the data stored in them is lost when power is off. Conversely, non-volatile semiconductor memory devices retain their stored data regardless of whether power is applied. Flash memory is a typical example of a non-volatile semiconductor memory device, and it is widely used as a data storage medium.

[0003] For example, NAND Flash memory devices are widely used in storage fields such as mobile phones, laptops, and cloud storage due to their non-volatility, fast read and write speeds, and low power consumption.

[0004] With the development of 3D NAND flash memory technology and the shrinking of process nodes, the reliability of 3D NAND flash memory has become particularly important. 3D NAND flash memory overcomes the limitations of 2D or planar NAND flash memory by stacking memory chips together. During use, the number of program / erase cycles (P / E cycles) gradually increases, and the flash memory cells gradually wear down. Over time, the charge stored in the flash memory cells leaks, and the threshold voltage distribution of the flash memory shifts towards the side with the lower threshold voltage, which can lead to data reading errors.

[0005] Furthermore, due to variations in manufacturing processes, the page process characteristics of different layers within a flash memory block differ, resulting in different error characteristics. Consequently, the number of errors varies significantly across different layers under different data retention times.

[0006] Therefore, how to accurately predict the number of errors that may occur in different layers of a flash memory block under different conditions, so as to arrange decoding strategies in a timely manner to deal with error situations and improve flash memory performance, is a technical problem that needs to be solved in this field. Summary of the Invention

[0007] In view of this, the purpose of this application is to provide a flash memory data read error prediction and management method, apparatus, system and medium that can accurately predict the number and level of errors that may occur in different layers of a flash memory block under different conditions, so as to arrange decoding strategies in a timely manner to deal with error situations and improve flash memory performance.

[0008] To achieve the above objectives, this application provides the following technical solution:

[0009] In a first aspect, embodiments of this application provide a flash memory data read error prediction and management method, including:

[0010] The number of word lines, number of code words, and page type of the current flash memory are collected as the location information of the current flash memory, and the number of programming and erasing cycles and the data retention time of the current flash memory are collected as the condition information of the current flash memory;

[0011] Obtain a training set for a deep neural network model. The training set includes: the number of word lines, code words, and page type of the historical flash memory as location information of the historical flash memory; the number of programming and erasing cycles and the data retention time of the historical flash memory as condition information of the historical flash memory; and the number and level of data read errors of the historical flash memory.

[0012] The training set is used to learn the total mapping relationship between the location information and condition information of the historical flash memory and the number of data read errors of the historical flash memory;

[0013] The model parameters of the deep neural network model are determined based on the overall mapping relationship;

[0014] The location information and condition information of the current flash memory are input into the pre-trained deep neural network model, and the pre-trained deep neural network model outputs the data read error level of the current flash memory.

[0015] In one possible implementation, the step of inputting the current flash memory's location information and condition information into a pre-trained deep neural network model, and the pre-trained deep neural network model outputting the data read error level of the current flash memory, includes:

[0016] The current flash memory location information is used as the first vector, and the current flash memory condition information is used as the second vector;

[0017] The first vector and the second vector are respectively classified and input into the pre-trained deep neural network model to obtain the first result and the second result;

[0018] The first result and the second result are fused together to output the current data read error level of the flash memory.

[0019] In one possible implementation, the step of learning the location information and conditional information of the historical flash memory using the training set, and the total mapping relationship between these and the number of data read errors in the historical flash memory, includes:

[0020] The training set is used to learn a first mapping relationship between the location information of the historical flash memory and the number level of data read errors in the historical flash memory.

[0021] The training set is used to learn a second mapping relationship between the conditional information of the historical flash memory and the number of data read errors in the historical flash memory;

[0022] The first mapping relationship and the second mapping relationship are merged to obtain the total mapping relationship.

[0023] One possible implementation also includes:

[0024] When the number of data read errors in the current flash memory is less than a first preset threshold, the data read errors are corrected by hardware decoding using error correction codes.

[0025] When the number of data read errors in the current flash memory is greater than or equal to the second preset threshold and less than the third preset threshold, the data read errors are corrected using error correction code software decoding.

[0026] When the number of data read errors in the current flash memory is greater than or equal to the fourth preset threshold, the read voltage of the current flash memory is adjusted so that the number of data read errors in the current flash memory is less than the third preset threshold.

[0027] Secondly, embodiments of this application provide a flash memory data read error prediction and management device, comprising:

[0028] The acquisition unit is used to acquire the number of word lines, number of code words, and page type of the current flash memory as the location information of the current flash memory, and to acquire the number of programming and erasing cycles and the data retention time of the current flash memory as the condition information of the current flash memory;

[0029] The acquisition unit is used to acquire the training set of the deep neural network model. The training set includes: the number of word lines, code words, and page type of the historical flash memory as the location information of the historical flash memory; the number of programming and erasing cycles and the data retention time of the historical flash memory as the condition information of the historical flash memory; and the number level of data read errors of the historical flash memory.

[0030] The learning unit is used to learn the total mapping relationship between the location information and condition information of the historical flash memory and the number of data read errors of the historical flash memory using the training set;

[0031] A determining unit is used to determine the model parameters of the deep neural network model based on the overall mapping relationship;

[0032] The prediction unit is used to input the current flash memory's location information and condition information into the pre-trained deep neural network model, and the pre-trained deep neural network model outputs the data read error level of the current flash memory.

[0033] In one possible implementation, the prediction unit is specifically used for:

[0034] The current flash memory location information is used as the first vector, and the current flash memory condition information is used as the second vector;

[0035] The first vector and the second vector are respectively classified and input into the pre-trained deep neural network model to obtain the first result and the second result;

[0036] The first result and the second result are fused together to output the current data read error level of the flash memory.

[0037] In one possible implementation, the learning unit is specifically used for:

[0038] The training set is used to learn a first mapping relationship between the location information of the historical flash memory and the number level of data read errors in the historical flash memory.

[0039] The training set is used to learn a second mapping relationship between the conditional information of the historical flash memory and the number of data read errors in the historical flash memory;

[0040] The first mapping relationship and the second mapping relationship are merged to obtain the total mapping relationship.

[0041] One possible implementation also includes:

[0042] The hardware decoding unit is used to correct data read errors by hardware decoding using error correction codes when the number of data read errors in the current flash memory is less than a first preset threshold.

[0043] The software decoding unit is used to correct the data read errors by using error correction code software decoding when the number of data read errors in the current flash memory is greater than or equal to a second preset threshold and less than a third preset threshold.

[0044] The read voltage unit is used to adjust the read voltage of the current flash memory when the number of data read errors in the current flash memory is greater than or equal to a fourth preset threshold, so that the number of data read errors in the current flash memory is less than the third preset threshold.

[0045] Thirdly, embodiments of this application provide a flash memory data read error prediction and management system, including:

[0046] Memory, used to store computer programs;

[0047] A processor, used to implement the steps of the flash memory data read error prediction and management method as described above when executing the computer program.

[0048] Fourthly, embodiments of this application provide a computer-readable medium storing a computer program, which, when processed and executed, implements the steps of the flash memory data read error prediction and management method described above.

[0049] Compared with the prior art, the embodiments of this application have the following beneficial effects:

[0050] This application provides a flash memory data read error prediction and management method, apparatus, system, and medium. The method includes: collecting the word line count, code word count, and page type of the current flash memory as its location information; collecting the programming and erase cycle counts and data retention time of the current flash memory as its condition information; obtaining a training set for a deep neural network model, the training set including: the word line count, code word count, and page type of historical flash memory as its location information; the programming and erase cycle counts and data retention time of historical flash memory as its condition information; and the data read error magnitude of historical flash memory; using the training set to learn the overall mapping relationship between the location information and condition information of historical flash memory and the data read error magnitude of historical flash memory; determining the model parameters of the deep neural network model based on the overall mapping relationship; inputting the location information and condition information of the current flash memory into the pre-trained deep neural network model; and the pre-trained deep neural network model outputting the data read error magnitude of the current flash memory. Therefore, by inputting given input parameters into a pre-trained deep neural network model, this application can accurately predict the error magnitude that may occur in different layers of a flash memory block under different conditions, so as to arrange decoding strategies in a timely manner to deal with error situations and improve flash memory performance. Attached Figure Description

[0051] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0052] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale.

[0053] Figure 1 This illustration shows a schematic diagram of the number of data read errors as a function of the number of word lines under different data retention times, according to an embodiment of this application.

[0054] Figure 2 A flowchart of a flash memory data read error prediction and management method provided in an embodiment of this application is shown;

[0055] Figure 3 A schematic diagram of an improved deep neural network model provided in an embodiment of this application is shown;

[0056] Figure 4 A schematic diagram of a traditional fully connected neural network model is shown.

[0057] Figure 5 This diagram illustrates a comparison of the training speeds of a deep neural network model provided in this application embodiment, a traditional fully connected network model, and a randomly grouped network model.

[0058] Figure 6 This illustration shows a schematic diagram of the application of a deep neural network in flash memory according to an embodiment of this application;

[0059] Figure 7 A schematic diagram of a flash memory data read error prediction and management device provided in an embodiment of this application is shown. Detailed Implementation

[0060] To make the above-mentioned objectives, features and advantages of this application more apparent and understandable, the specific embodiments of this application will be described in detail below with reference to the accompanying drawings.

[0061] Many specific details are set forth in the following description in order to provide a full understanding of this application. However, this application may also be implemented in other ways different from those described herein. Those skilled in the art can make similar extensions without departing from the spirit of this application. Therefore, this application is not limited to the specific embodiments disclosed below.

[0062] As described in the background section, semiconductor memory devices can be volatile or non-volatile. While volatile semiconductor memory devices can perform read and write operations at high speeds, the content stored in them is lost when power is off. Conversely, non-volatile semiconductor memory devices retain their stored content regardless of whether power is applied. Flash memory is a typical example of a non-volatile semiconductor memory device, and it is widely used as a data storage medium.

[0063] For example, NAND Flash memory devices are widely used in storage fields such as mobile phones, laptops, and cloud storage due to their non-volatility, fast read and write speeds, and low power consumption.

[0064] With the development of 3D NAND flash memory technology and the shrinking of process nodes, the reliability of 3D NAND flash memory has become particularly important. 3D NAND flash memory overcomes the limitations of 2D or planar NAND flash memory by stacking memory chips together. During use, the number of program / erase cycles (P / E cycles) gradually increases, and the flash memory cells gradually wear down. Over time, the charge stored in the flash memory cells leaks, and the threshold voltage distribution of the flash memory shifts towards the side with the lower threshold voltage, which can lead to data reading errors.

[0065] Furthermore, due to variations in manufacturing processes, the page process characteristics of different layers within a flash memory block differ, resulting in varying error characteristics. Consequently, the number of errors varies significantly across different layers at different data retention times. (See also...) Figure 1 The diagram shown illustrates the variation of the number of data read errors (ErrorNum, Error Number) with the number of word lines (WordlineNum, Wordline Number) under different data retention times (Rentention Time) provided in this application embodiment. The three curves correspond to data retention times of 0, 5, and 15, respectively.

[0066] Therefore, how to accurately predict the number of errors that may occur in different layers of a flash memory block under different conditions, so as to arrange decoding strategies in a timely manner to deal with error situations and improve flash memory performance, is a technical problem that needs to be solved in this field.

[0067] To address the aforementioned technical problems, embodiments of this application provide a flash memory data read error prediction and management method, apparatus, system, and medium. The method includes: collecting the current flash memory's word line count, code word count, and page type as its location information; collecting the current flash memory's programming and erase cycle counts and data retention time as its condition information; acquiring a training set for a deep neural network model, the training set including: the historical flash memory's word line count, code word count, and page type as its location information; the historical flash memory's programming and erase cycle counts and data retention time as its condition information; and the historical flash memory's data read error magnitude level; using the training set to learn the overall mapping relationship between the historical flash memory's location information, condition information, and the historical flash memory's data read error magnitude level; determining the deep neural network model's parameters based on the overall mapping relationship; inputting the current flash memory's location information and condition information into the pre-trained deep neural network model; and the pre-trained deep neural network model outputting the current flash memory's data read error magnitude level. Therefore, by inputting the given input parameters into a pre-trained deep neural network model, this application can accurately predict the number of errors that may occur in different layers of a flash memory block under different conditions, so as to arrange decoding strategies in a timely manner to deal with error situations and improve flash memory performance.

[0068] Exemplary methods

[0069] See Figure 2 The flowchart shown is a method for predicting and managing flash memory data read errors provided in an embodiment of this application, including:

[0070] S101: Collect the word line count, code word count, and page type of the current flash memory as the location information of the current flash memory, and collect the programming and erase cycle counts and data retention time of the current flash memory as the condition information of the current flash memory.

[0071] In this embodiment of the application, the number of word lines, number of code words, and page type of the current flash memory can be collected as the location information of the current flash memory, and the number of programming and erasing cycles and the data retention time of the current flash memory can be collected as the condition information of the current flash memory.

[0072] Specifically, due to the interlayer differences within flash memory blocks, and the fact that each codeword of data is stored in different flash memory cells, the effects of parameters such as wordline number, codeword number, and page type can be categorized as the impact of location information (process differences) on flash memory errors.

[0073] Programming cycles, erase cycles (P / E cycles), and data retention time are conditional information during flash memory usage. Furthermore, the impact of these two factors on flash memory error characteristics stems from physical mechanisms such as flash cell wear and charge leakage.

[0074] Since structural parameters such as Wordline Number, Codeword Number, and Page Type have different effects on error level than wear-related parameters such as P / E cycle and Retention time, they can be classified and distinguished to improve the accuracy of subsequent predictions.

[0075] The flash memory information can include information such as die modules, plane modules, and block modules. A die is a small square on a wafer. A chip may contain several dies because the flash manufacturing process and technology are different, which results in the number of dies. A plane is the smallest unit of NAND that can be operated on according to read, write, erase and other commands. A plane is a storage matrix that includes several blocks. A block is the smallest unit of NAND flash that can be erased. A block includes several pages.

[0076] Page Type (3D TLC NAND has three page types: lower page, middle page, and upper page).

[0077] S102: Obtain the training set of the deep neural network model, wherein the training set includes: the number of word lines, the number of code words, and the page type of the historical flash memory as the location information of the historical flash memory; the number of programming and erasing cycles and the data retention time of the historical flash memory as the condition information of the historical flash memory; and the number level of data read errors of the historical flash memory.

[0078] S103: Using the training set, learn the total mapping relationship between the location information and condition information of the historical flash memory and the number level of data read errors of the historical flash memory;

[0079] S104: Determine the model parameters of the deep neural network model based on the overall mapping relationship.

[0080] In this embodiment of the application, in order to improve the accuracy of prediction by the deep neural network model, a training set of the deep neural network model can be obtained. The training set includes: the number of word lines, code words, and page type of the historical flash memory as the location information of the historical flash memory; the number of programming and erasing cycles and the data retention time of the historical flash memory as the condition information of the historical flash memory; and the number level of data read errors of the historical flash memory.

[0081] Specifically, as shown in Table 1, during flash memory usage, the number of PE cycles gradually increases. Under certain conditions, the network only has data from previous PE cycles, and the data retention time follows the same principle. Therefore, incremental training of the network is required, with data added every 500 PE cycles for training. The training and testing results are shown in Table 1, and the accuracy reached approximately 90% under adjacent test conditions.

[0082] For example, in the table PE1000RT600 (meaning 1000 programmatic erases and 600 data retention times, the accuracy of the test set (i.e., the training set) is 91.6%), RT is the Retention Time.

[0083]

[0084]

[0085] Table 1

[0086] During training, the training set can be used to learn the location information and conditional information of historical flash memory, and the overall mapping relationship between these and the magnitude of data read errors in historical flash memory. The model parameters of the deep neural network model are then determined based on this overall mapping relationship.

[0087] In one possible implementation, a first mapping relationship between the location information of the historical flash memory and the number of data read errors of the historical flash memory can be learned using the training set; a second mapping relationship between the condition information of the historical flash memory and the number of data read errors of the historical flash memory can be learned using the training set; and the first and second mapping relationships can be fused to obtain the total mapping relationship.

[0088] For details, see Figure 3 The diagram shown is a schematic representation of an improved deep neural network model provided in an embodiment of this application. (See also...) Figure 4 The diagram shown is a schematic of a traditional fully connected neural network model. In this embodiment, the deep fully connected neural network can be improved by first learning two types of input parameters separately, and then concatenating the learning results and classifying them through an ordinary fully connected neural network.

[0089] Compared to traditional DNNs (deep neural networks), this improvement not only reduces the number of connection nodes in the first two layers, thus centralizing the network's learning capabilities, but also effectively reduces the number of parameters the network needs to train, while achieving the same level of accuracy under the same learning conditions.

[0090] For example, Figure 4Traditional fully connected neural network models take wordline number (WL), codeword number (CW), page type (PT), program / erase cycle (PE), and retention time (RT) as inputs and output them after two layers of W1 and W2 iterations.

[0091] Figure 3 The input is categorized into three groups: PE and RT are in one group, and WL, CW, and PT are in another. Input W... 1,1 W 1,2 The output is obtained after two iterations, W2 and W3.

[0092] The parameter count of a single-layer network is calculated as follows: N i *N o +N o , where N i N represents the size of the input vector (i.e., the number of nodes in the upper-layer network). o This represents the size of the output vector (i.e., the number of nodes in the current network).

[0093] by Figure 3 and Figure 4 Taking the structures of two networks as an example, assuming the traditional neural network has W1 = W2 = 120 nodes, and the optimized neural network has W... 1,1 =W 1,2 =50, W2=100, W3=80; The number of parameters in the traditional neural network is: (5*120+120)+(120*120+120)+(120*3+3)=15606; The number of parameters in the optimized deep neural network is: (3*50+50)+(2*50+50)+(50*50+50)*2+(100*80+80)+(80*3+3)=13773;

[0094] The optimized deep neural network reduces the number of parameters by approximately 12%. Therefore, the optimized deep neural network provided in this embodiment can increase the number of layers without increasing the number of network parameters, thus improving prediction accuracy. Furthermore, the optimized neural network reduces unnecessary connection nodes based on the different characteristics of how flash memory errors affect parameters, effectively improving training convergence speed. Thus, the number of network layers can be increased without increasing the number of parameters, while simultaneously reducing the number of iterations required for network learning.

[0095] See Figure 5The diagram shows a comparison of the training speed of a network model (Proposed Group) provided in this application embodiment with that of a traditional fully connected network model (Full Net) and a chaotic grouped network model (Other Group). The Proposed Group is a neural network proposed in this application embodiment that is grouped according to different features of error impact parameters (i.e., P / E cycle and Retention time are grouped together, and Wordline Number, Codeword Number, and Page Type parameters are grouped together).

[0096] Other Group was a randomized grouping (in the experiment, Retention time, Codeword Number, and Page Type were grouped together, while P / E cycle and Wordline Number were grouped together).

[0097] Full Net is a traditional fully connected neural network.

[0098] As can be seen, with the increase of the number of iterations (epochs), the network loss value continuously decreases, while the accuracy gradually increases. Both networks eventually converge to an accuracy of over 96%. The deep neural network provided in this embodiment converges faster than traditional networks, effectively reducing training time costs.

[0099] S105: Input the current flash memory's location information and condition information into the pre-trained deep neural network model, and the pre-trained deep neural network model outputs the data read error level of the current flash memory.

[0100] In this embodiment, the current flash memory location information and current flash memory condition information can be input into a pre-trained deep neural network model. The pre-trained deep neural network model outputs the data read error level of the current flash memory. That is, by inputting the given input parameters into the pre-trained deep neural network model, the error level of the flash memory block can be accurately predicted, so as to arrange decoding strategies in a timely manner to deal with the error situation.

[0101] In one possible implementation, the current flash memory location information can be used as a first vector, and the current flash memory condition information can be used as a second vector; the first vector and the second vector are respectively classified and input into a pre-trained deep neural network model to obtain a first result and a second result; the first result and the second result are fused to output the data read error level of the current flash memory.

[0102] Specifically, the Wordline Number, Codeword Number, Page Type, P / E cycle number, and Retention time can be input into a pre-trained deep neural network. The two classes are fused in the intermediate layer, and the prediction result is output through the classifier: the number and level of data read errors in the current flash memory.

[0103] In one possible implementation, when errors are detected and error correction decoding is performed, since the flash data is written into the flash page in the form of ECC-encoded codewords, and each codeword is decoded during decoding, the codewords can be divided into three categories based on the number of errors: first, those that do not exceed the error correction capability of ECC hardware decoding; second, those that exceed the error correction capability of ECC hardware decoding but do not exceed the error correction capability of ECC software decoding; and third, those that exceed the error correction capability of ECC software decoding.

[0104] Although software decoding has stronger error correction capabilities than hardware decoding, software decoding has higher latency. In order to improve decoding latency, traditional flash memory first performs hardware decoding when performing ECC decoding, and then performs software decoding if the decoding fails.

[0105] See Figure 6 The diagram shown is a schematic of the application of a deep neural network in flash memory according to an embodiment of this application. The parameters can be input into a pre-trained deep neural network model (DNN) to perform hard decoding (HD decoder) and soft decoding (SD decoder) on flash memory with LDPCencoder (Low Density Parity Check Code encoder), and to perform read retry.

[0106] Specifically, when the number of data read errors in the current flash memory is less than the first preset threshold, the data read errors are corrected by hardware decoding using error correction codes; when the number of data read errors in the current flash memory is greater than or equal to the second preset threshold and less than the third preset threshold, the data read errors are corrected by software decoding using error correction codes; when the number of data read errors in the current flash memory is greater than or equal to the fourth preset threshold, the current flash memory read voltage is adjusted to the rated read voltage.

[0107] Optionally, in the embodiments of this application, the first preset threshold may be equal to the second preset threshold, and the third preset threshold may be equal to the fourth preset threshold.

[0108] For example, based on current standard ECC decoding capabilities, the number of errors in a codeword is divided into three levels according to the following range (Label represents the target output during network training):

[0109] Label 0: Error count range [0, 38)

[0110] Label 1: Error count range [38, 87)

[0111] Label 2: Error count range [87, ∞).

[0112] Based on the current codeword error level classification result obtained from network prediction, the corresponding decoding method is directly used. If the prediction result is level 0, hardware decoding is used directly; if the prediction result is level 1, software decoding is used directly; and if the prediction result is level 2, read voltage adjustment and other operations are performed. Specifically, the current flash memory read voltage can be adjusted to ensure that the number of data read errors in the current flash memory is less than a third preset threshold.

[0113] This application provides a flash memory data read error prediction and management method. The method includes: collecting the current flash memory's word line count, code word count, and page type as its location information; collecting the current flash memory's programming and erase cycle counts and data retention time as its condition information; obtaining a training set for a deep neural network model, the training set including: the historical flash memory's word line count, code word count, and page type as its location information; the historical flash memory's programming and erase cycle counts and data retention time as its condition information; and the historical flash memory's data read error magnitude level; using the training set to learn the overall mapping relationship between the historical flash memory's location information, condition information, and the historical flash memory's data read error magnitude level; determining the deep neural network model's parameters based on the overall mapping relationship; and inputting the current flash memory's location information and condition information into the pre-trained deep neural network model, which outputs the current flash memory's data read error magnitude level. Therefore, by inputting given input parameters into a pre-trained deep neural network model, this application can accurately predict the error magnitude levels that may occur in different layers of a flash memory block under different conditions, allowing for timely deployment of decoding strategies to address error situations and improve flash memory performance.

[0114] Exemplary device

[0115] See Figure 7 The diagram shown is a schematic of a flash memory data read error prediction and management device provided in an embodiment of this application, comprising:

[0116] The acquisition unit 201 is used to acquire the number of word lines, number of code words, and page type of the current flash memory as the location information of the current flash memory, and to acquire the number of programming and erasing cycles and the data retention time of the current flash memory as the condition information of the current flash memory;

[0117] The acquisition unit 202 is used to acquire the training set of the deep neural network model. The training set includes: the number of word lines, the number of code words, and the page type of the historical flash memory as the location information of the historical flash memory; the number of programming and erasing cycles and the data retention time of the historical flash memory as the condition information of the historical flash memory; and the number level of data read errors of the historical flash memory.

[0118] The learning unit 203 is used to learn the total mapping relationship between the location information and condition information of the historical flash memory and the number of data read errors of the historical flash memory using the training set;

[0119] The determining unit 204 is used to determine the model parameters of the deep neural network model based on the overall mapping relationship;

[0120] The prediction unit 205 is used to input the current flash memory's location information and condition information into the pre-trained deep neural network model, and the pre-trained deep neural network model outputs the data read error level of the current flash memory.

[0121] In one possible implementation, the prediction unit is specifically used for:

[0122] The current flash memory location information is used as the first vector, and the current flash memory condition information is used as the second vector;

[0123] The first vector and the second vector are respectively classified and input into the pre-trained deep neural network model to obtain the first result and the second result;

[0124] The first result and the second result are fused together to output the current data read error level of the flash memory.

[0125] In one possible implementation, the learning unit is specifically used for:

[0126] The training set is used to learn a first mapping relationship between the location information of the historical flash memory and the number level of data read errors in the historical flash memory.

[0127] The training set is used to learn a second mapping relationship between the conditional information of the historical flash memory and the number of data read errors in the historical flash memory;

[0128] The first mapping relationship and the second mapping relationship are merged to obtain the total mapping relationship.

[0129] One possible implementation also includes:

[0130] The hardware decoding unit is used to correct data read errors by hardware decoding using error correction codes when the number of data read errors in the current flash memory is less than a first preset threshold.

[0131] The software decoding unit is used to correct the data read errors by using error correction code software decoding when the number of data read errors in the current flash memory is greater than or equal to a second preset threshold and less than a third preset threshold.

[0132] The read voltage unit is used to adjust the read voltage of the current flash memory when the number of data read errors in the current flash memory is greater than or equal to a fourth preset threshold, so that the number of data read errors in the current flash memory is less than the third preset threshold.

[0133] This application provides a flash memory data read error prediction and management device. The method applied to this device includes: collecting the current flash memory's word line count, code word count, and page type as its location information; collecting the current flash memory's programming and erase cycle counts and data retention time as its condition information; obtaining a training set for a deep neural network model, the training set including: the historical flash memory's word line count, code word count, and page type as its location information; the historical flash memory's programming and erase cycle counts and data retention time as its condition information; and the historical flash memory's data read error magnitude level; using the training set to learn the overall mapping relationship between the historical flash memory's location information, condition information, and the historical flash memory's data read error magnitude level; determining the deep neural network model's parameters based on the overall mapping relationship; inputting the current flash memory's location information and condition information into the pre-trained deep neural network model; and the pre-trained deep neural network model outputting the current flash memory's data read error magnitude level. Therefore, by inputting given input parameters into a pre-trained deep neural network model, this application can accurately predict the error magnitude levels that may occur in different layers of a flash memory block under different conditions, so as to promptly arrange decoding strategies to deal with error situations and improve flash memory performance.

[0134] Based on the above embodiments, this application provides a flash memory data read error prediction and management system, including:

[0135] Memory, used to store computer programs;

[0136] A processor, used to implement the steps of the flash memory data read error prediction and management method described above when executing the computer program.

[0137] Based on the above embodiments, this application also provides a computer-readable medium storing a computer program, which, when processed and executed, implements the steps of the flash memory data read error prediction and management method described above.

[0138] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0139] The aforementioned computer-readable medium may be included in the aforementioned system, or it may exist independently and not assembled into the system.

[0140] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts.

[0141] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on its differences from other embodiments. In particular, the apparatus embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0142] The above description is merely a preferred embodiment of this application. Although this application has disclosed preferred embodiments above, it is not intended to limit this application. Any person skilled in the art can make many possible variations and modifications to the technical solutions of this application using the methods and techniques disclosed above, or modify them into equivalent embodiments with equivalent changes, without departing from the scope of the technical solutions of this application. Therefore, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of this application without departing from the content of the technical solutions of this application shall still fall within the protection scope of the technical solutions of this application.

Claims

1. A flash memory data read error prediction and management method, characterized in that, include: The number of word lines, number of code words, and page type of the current flash memory are collected as the location information of the current flash memory, and the number of programming and erasing cycles and the data retention time of the current flash memory are collected as the condition information of the current flash memory; Obtain a training set for a deep neural network model. The training set includes: the number of word lines, code words, and page type of the historical flash memory as location information of the historical flash memory; the number of programming and erasing cycles and the data retention time of the historical flash memory as condition information of the historical flash memory; and the number and level of data read errors of the historical flash memory. The training set is used to learn the total mapping relationship between the location information and condition information of the historical flash memory and the number of data read errors of the historical flash memory; The model parameters of the deep neural network model are determined based on the overall mapping relationship; The location information and condition information of the current flash memory are input into the pre-trained deep neural network model, and the pre-trained deep neural network model outputs the data read error level of the current flash memory.

2. The method according to claim 1, characterized in that, The step of inputting the current flash memory's location information and condition information into the pre-trained deep neural network model, and the pre-trained deep neural network model outputting the data read error level of the current flash memory, includes: The current flash memory location information is used as the first vector, and the current flash memory condition information is used as the second vector; The first vector and the second vector are respectively classified and input into the pre-trained deep neural network model to obtain the first result and the second result; The first result and the second result are fused together to output the current data read error level of the flash memory.

3. The method according to claim 1, characterized in that, The step of learning the location information and condition information of the historical flash memory using the training set, and the overall mapping relationship between these and the number of data read errors in the historical flash memory, includes: The training set is used to learn a first mapping relationship between the location information of the historical flash memory and the number level of data read errors in the historical flash memory. The training set is used to learn a second mapping relationship between the conditional information of the historical flash memory and the number of data read errors in the historical flash memory; The first mapping relationship and the second mapping relationship are merged to obtain the total mapping relationship.

4. The method according to claim 1, characterized in that, Also includes: When the number of data read errors in the current flash memory is less than a first preset threshold, the data read errors are corrected by hardware decoding using error correction codes. When the number of data read errors in the current flash memory is greater than or equal to the second preset threshold and less than the third preset threshold, the data read errors are corrected using error correction code software decoding. When the number of data read errors in the current flash memory is greater than or equal to the fourth preset threshold, the read voltage of the current flash memory is adjusted so that the number of data read errors in the current flash memory is less than the third preset threshold.

5. A flash memory data read error prediction and management device, characterized in that, include: The acquisition unit is used to acquire the number of word lines, number of code words, and page type of the current flash memory as the location information of the current flash memory, and to acquire the number of programming and erasing cycles and the data retention time of the current flash memory as the condition information of the current flash memory; The acquisition unit is used to acquire the training set of the deep neural network model. The training set includes: the number of word lines, code words, and page type of the historical flash memory as the location information of the historical flash memory; the number of programming and erasing cycles and the data retention time of the historical flash memory as the condition information of the historical flash memory; and the number level of data read errors of the historical flash memory. The learning unit is used to learn the total mapping relationship between the location information and condition information of the historical flash memory and the number of data read errors of the historical flash memory using the training set; A determining unit is used to determine the model parameters of the deep neural network model based on the overall mapping relationship; The prediction unit is used to input the current flash memory's location information and condition information into the pre-trained deep neural network model, and the pre-trained deep neural network model outputs the data read error level of the current flash memory.

6. The apparatus according to claim 5, characterized in that, The prediction unit is specifically used for: The current flash memory location information is used as the first vector, and the current flash memory condition information is used as the second vector; The first vector and the second vector are respectively classified and input into the pre-trained deep neural network model to obtain the first result and the second result; The first result and the second result are fused together to output the current data read error level of the flash memory.

7. The apparatus according to claim 5, characterized in that, The learning unit is specifically used for: The training set is used to learn a first mapping relationship between the location information of the historical flash memory and the number level of data read errors in the historical flash memory. The training set is used to learn a second mapping relationship between the conditional information of the historical flash memory and the number of data read errors in the historical flash memory; The first mapping relationship and the second mapping relationship are merged to obtain the total mapping relationship.

8. The apparatus according to claim 5, characterized in that, Also includes: The hardware decoding unit is used to correct data read errors by hardware decoding using error correction codes when the number of data read errors in the current flash memory is less than a first preset threshold. The software decoding unit is used to correct the data read errors by using error correction code software decoding when the number of data read errors in the current flash memory is greater than or equal to a second preset threshold and less than a third preset threshold. The read voltage unit is used to adjust the read voltage of the current flash memory when the number of data read errors in the current flash memory is greater than or equal to a fourth preset threshold, so that the number of data read errors in the current flash memory is less than the third preset threshold.

9. A flash memory data read error prediction and management system, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the flash memory data read error prediction and management method as described in any one of claims 1-4 when executing the computer program.

10. A computer-readable medium, characterized in that, The computer-readable medium stores a computer program that, when executed by a processor, implements the steps of the flash memory data read error prediction and management method as described in any one of claims 1-4.