Data rereading method and device, storage equipment and computer readable storage medium
By obtaining the memory's reread data deviation information and determining the optimal reread voltage, the problem of reduced efficiency of flash memory storage products in the data rereading process is solved, and more efficient data reading is achieved.
Patent Information
- Application Number
- CN202411966882.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-30
- Publication Date
- 2025-05-06
AI Technical Summary
During the data rereading process, flash memory storage products need to traverse the entire array to find the appropriate reread voltage, resulting in a reduced efficiency of reading data, especially after the usage time is extended, data rereading is required frequently.
By acquiring data deviation information corresponding to the memory's reread data, the optimal first reread voltage is determined, and the memory is controlled to perform data reread operations according to the voltage.
It realizes the rapid determination of the appropriate reread voltage, improves the overall efficiency of the storage product reading data, and shows a significant efficiency improvement in the later stages of memory life.
Smart Images

Figure CN119943113A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of memory technology, and in particular to a data rereading method, apparatus, storage device, and computer-readable storage medium. Background Art
[0002] In the related art, flash memory storage products are usually equipped with a data reread (Read Retry) error correction mechanism. Based on this mechanism, if an error that cannot be corrected by the Error Control Coding (ECC) occurs during the data reading process of the storage product, a reread operation can be performed through the Read Retry error correction mechanism to find a suitable reread voltage for data rereading. However, since the storage product needs to traverse the entire array to find a suitable reread voltage when performing a data reread operation, and the frequency of data rereading operations required by the storage product will become higher and higher as the storage product is used for a longer time, the efficiency of data reading of the storage product will be reduced. Summary of the invention
[0003] The main purpose of the embodiments of the present application is to propose a data rereading method, apparatus, storage device, and computer-readable storage medium, which are intended to quickly determine a suitable rereading voltage for data rereading during a data rereading operation of a storage product, thereby improving the overall efficiency of the storage product in reading data.
[0004] To achieve the above object, a first aspect of an embodiment of the present application provides a data rereading method, the method comprising:
[0005] Acquire data deviation information corresponding to reread data of a memory; wherein the reread data is data read by the memory during a data reread operation;
[0006] Determine a first re-read voltage based on the data deviation information; wherein the first re-read voltage is an optimal re-read voltage when the memory performs a data re-read operation;
[0007] The memory is controlled to perform a data reread operation according to the first reread voltage.
[0008] In some embodiments, before obtaining data deviation information corresponding to the reread data of the memory, the method further includes:
[0009] Get the preset re-reading voltmeter;
[0010] Controlling the memory to perform a data reread operation according to the second reread voltage in the reread voltage table, and recording a deviation value between the reread data and the actual data read by the memory each time the data reread operation is performed;
[0011] The deviation value between the reread data and the actual data of the memory for two adjacent times is used as the data deviation information corresponding to the reread data of the memory.
[0012] In some embodiments, determining the first re-read voltage based on the data deviation information includes:
[0013] Performing gradient descent processing on the data deviation information to obtain a gradient descent calculation result;
[0014] Based on the second re-read voltage corresponding to the data deviation information, predicting and obtaining a first re-read voltage corresponding to the gradient descent calculation result;
[0015] Among them, the second reread voltage corresponding to the data deviation information is: the second reread voltage in the reread voltage table used when the memory performs a first target data reread operation, and the data read by the memory during the first target data reread operation is the reread data corresponding to the data deviation information.
[0016] In some embodiments, determining the first re-read voltage based on the data deviation information includes at least one of the following:
[0017] Performing table lookup processing based on the data deviation information to obtain a first re-read voltage corresponding to the data deviation information one by one;
[0018] The data deviation information is model trained based on a preset artificial intelligence model, and a first reread voltage of the memory is output; wherein the artificial intelligence model is trained based on the reread voltage of the memory and the data deviation information corresponding to the reread data.
[0019] In some embodiments, after controlling the memory to perform a data re-read operation according to the first re-read voltage, the method further includes:
[0020] Acquire a first target deviation value between reread data and actual data read by the memory through a data reread operation according to the first reread voltage;
[0021] comparing the first target deviation value with a preset data deviation threshold;
[0022] In a case where the first target deviation value is greater than or equal to the preset data deviation threshold, data deviation information is generated based on the first target deviation value, and the step of determining a first re-read voltage based on the data deviation information is performed, and the step of controlling the memory to perform a data re-read operation according to the first re-read voltage is performed.
[0023] In some embodiments, generating data deviation information based on the first target deviation value includes:
[0024] Acquire a second target deviation value between the reread data and the actual data read by the memory when performing a second target data reread operation; wherein the second target data reread operation is a data reread operation before the memory performs a data reread operation according to the first reread voltage;
[0025] The first target deviation value and the second target deviation value are used as data deviation information corresponding to the reread data of the memory.
[0026] In some embodiments, generating data deviation information based on the first target deviation value includes:
[0027] Controlling the memory to perform a third target data reread operation according to a third reread voltage; wherein the third reread voltage is determined based on the first reread voltage and a preset voltage step, and the third target data reread operation is a data reread operation after the memory performs a data reread operation according to the first reread voltage;
[0028] Acquiring a third target deviation value between the reread data and the actual data read by the memory when performing the third target data reread operation;
[0029] The first target deviation value and the third target deviation value are used as data deviation information corresponding to the reread data of the memory.
[0030] To achieve the above-mentioned purpose, a second aspect of an embodiment of the present application provides a data re-reading device, the device comprising:
[0031] An acquisition module, used for acquiring data deviation information corresponding to reread data of a memory; wherein the reread data is data read by the memory during a data reread operation;
[0032] A voltage prediction module, configured to determine a first re-read voltage based on the data deviation information; wherein the first re-read voltage is an optimal re-read voltage when the memory performs a data re-read operation;
[0033] The data re-read module is used to control the memory to perform a data re-read operation according to the first re-read voltage.
[0034] To achieve the above-mentioned purpose, the third aspect of an embodiment of the present application proposes a storage device, which includes a memory and a processor, the memory stores a computer program, and the processor implements the steps of the data rereading method provided in the first aspect above when executing the computer program.
[0035] To achieve the above objectives, the fourth aspect of an embodiment of the present application proposes a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps of the data rereading method provided in the first aspect above.
[0036] To achieve the above objectives, the fifth aspect of the embodiments of the present application proposes a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the steps of the data rereading method provided in the first aspect above.
[0037] The data reread method, data reread device, storage device, computer-readable storage medium and computer program product proposed in the embodiments of the present application obtain data deviation information corresponding to the reread data of the memory; wherein the reread data is data read by the memory during a data reread operation; a first reread voltage is determined based on the data deviation information; and the memory is controlled to perform a data reread operation according to the first reread voltage.
[0038] That is to say, the embodiment of the present application records the data deviation information corresponding to the reread data when the memory performs a data reread operation (for example, the erroneous value in the reread data), and then searches the memory for the optimal first reread voltage for data rereading based on the data deviation information, and then controls the memory to perform a data reread operation according to the first reread voltage. In this way, compared with the traditional linear exploration method of searching for the reread voltage with a fixed step length to control the memory to perform data rereading, the embodiment of the present application can more quickly determine the appropriate reread voltage for the memory to perform data rereading, thereby improving the overall efficiency of the memory to read data. Especially in the scenario where more data reread operations are required in the later stage of the life of the memory, the embodiment of the present application will have a more prominent effect on improving the efficiency of the memory to read data by searching for the optimal reread voltage through the data deviation information corresponding to the reread data. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 A schematic diagram of the steps of the data re-reading method provided in some embodiments of the present application;
[0040] Figure 2 A schematic diagram of the steps of the data re-reading method provided in the embodiment of the present application in other embodiments;
[0041] Figure 3 A schematic diagram of the relationship between a reread voltage and a reread data deviation value involved in some embodiments of the data reread method provided in the embodiment of the present application;
[0042] Figure 4 for Figure 1 Schematic diagram of detailed process flow of step S102;
[0043] Figure 5 A schematic diagram of the steps of the data re-reading method provided in the embodiment of the present application in some other embodiments;
[0044] Figure 6 for Figure 5 A detailed step flow diagram of step S503;
[0045] Figure 7 for Figure 5 Another detailed flow chart of step S503;
[0046] Figure 8 A schematic diagram of the structure of a data re-reading device provided in an embodiment of the present application;
[0047] Fig. 9 A schematic diagram of the internal structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0048] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0049] It should be noted that, although the functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than the module division in the device or the order in the flowchart. The terms "first", "second", etc. in the specification, claims and the above drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0050] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0051] Before introducing the embodiments of the present application, the overall concept of the data re-reading method provided in the embodiments of the present application is first described.
[0052] Flash memory storage products usually have a data reread (Read Retry) error correction mechanism. Based on this mechanism, if an error that cannot be corrected by the Error Control Coding (ECC) occurs during the data reading process of the storage product, the Read Retry error correction mechanism can be used to perform a reread operation to find a suitable reread voltage for data rereading. However, when performing a data reread operation, the storage product needs to traverse the entire array to find a suitable reread voltage, and the frequency of data reread operations required by the storage product will become higher and higher as the storage product is used for a longer time, which will lead to a decrease in the efficiency of the storage product in reading data.
[0053] In view of this, the embodiment of the present application records the data deviation information corresponding to the reread data when the memory performs a data reread operation (for example, the erroneous value in the reread data), and then searches the memory for the optimal first reread voltage for data rereading based on the data deviation information, and then controls the memory to perform a data reread operation according to the first reread voltage. In this way, compared with the traditional linear exploration method of controlling the memory to reread data by searching the reread voltage with a fixed step length, the embodiment of the present application can more quickly determine the appropriate reread voltage for data rereading, thereby improving the overall efficiency of the memory reading data. Especially in the scenario where more data reread operations are required in the later stage of the life of the memory, the embodiment of the present application will have a more prominent effect on improving the efficiency of the memory reading data by searching for the optimal reread voltage through the data deviation information corresponding to the reread data.
[0054] It should be understood that the data rereading method provided in the embodiments of the present application can be applied to the terminal, can also be applied to the server side, and can also be software running in the terminal or the server side. In some embodiments, the terminal can be the memory itself or a smart phone, tablet computer, laptop computer, desktop computer, etc. configured with a memory; the server side can be an independent physical server configured with a memory, or a server cluster or distributed system composed of multiple physical servers configured with a memory, or a cloud server configured with a memory to provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms; the software can be an application that implements the data rereading method, etc., but is not limited to the above forms.
[0055] Alternatively, the present application may also be used in numerous general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, and the like. The present application may be described in the general context of computer executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types.
[0056] For ease of understanding and explanation, the following text will take the data rereading method provided by the embodiment of the present application applied by a terminal device equipped with a memory as an example to explain the present application in detail. The implementation of the data rereading method provided by the embodiment of the present application applied by any of the above-mentioned forms of the subject matter can refer to the process of the steam pressure control data rereading method applied by the terminal device described below.
[0057] Please refer to Figure 1 , Figure 1 The data rereading method provided in the present application is a flowchart of the steps in some embodiments. It should be understood that although Figure 1 The execution order of some method steps is shown in the figure, but based on different design requirements of actual applications, the data re-reading method provided in the embodiment of the present application can certainly adopt an execution order different from the method steps shown in the figure. That is, Figure 1 The order of the steps in the method shown does not constitute a limitation on the execution logic order of the data re-reading method provided in the embodiment of the present application. Figure 1 Reasonable changes in the sequence of steps of the method shown should be included in the protection scope of the data re-reading method provided in the embodiments of the present application.
[0058] like Figure 1 As shown, in some embodiments, the data re-reading method provided by the embodiment of the present application may include steps S101 to S103.
[0059] Step S101: obtaining data deviation information corresponding to reread data of a memory; wherein the reread data is data read by the memory during a data reread operation.
[0060] When the terminal device performs a data rereading operation on the memory, it records the value of the data (reread data) obtained by the memory rereading when compared with the actual data, that is, the deviation value between the reread data and the actual data, and then uses the deviation value as the data deviation information corresponding to the reread data of the memory. In this way, the terminal device obtains the data deviation information for subsequent searching for the optimal reread voltage of the memory.
[0061] In some embodiments, when the memory reads data and triggers a Read Retry error correction mechanism, the terminal device may record a deviation value between the data read when the memory performs a data reread operation and the actual data.
[0062] In other embodiments, the terminal device may also communicate with the memory backend server to initiate a request to the backend server for data deviation information, so that when the backend server triggers the Read Retry error correction mechanism for other memories of the same type recorded locally in response to the request, the deviation value between the data read when the memory performs a data reread operation and the actual data is fed back to the terminal device. In this way, the terminal device can obtain the data deviation information corresponding to the reread data of the memory.
[0063] Exemplarily, when the error value in the data read out of the memory is large but the Read Retry error correction mechanism is not triggered, the terminal device can initiate a request to the memory background server to obtain data deviation information, so that the background server returns the deviation value between the reread data and the actual data of other memories of the same type as the data deviation information.
[0064] Step S102: determining a first re-read voltage based on the data deviation information; wherein the first re-read voltage is an optimal re-read voltage when the memory performs a data re-read operation.
[0065] It should be noted that the optimal reread voltage for the memory to perform a data reread operation means that when the memory uses the optimal first reread voltage to perform a data reread operation, the error value (deviation value) of the data (reread data) obtained by reading the data compared to the actual data is smaller than the error value of the data obtained by reading the data compared to the actual data when the memory uses any other reread voltage different from the optimal reread voltage to perform a data reread operation. That is, the error value of the reread data obtained by the memory using the optimal reread voltage to perform a data reread operation compared to the actual data is the smallest.
[0066] After obtaining the data deviation information corresponding to the reread data of the memory, the terminal device immediately searches for the optimal first reread voltage for the memory to perform a data reread operation based on the data deviation information.
[0067] In some embodiments, the terminal device may execute the above step S102 by including any one of the following methods 1 and 2.
[0068] Method 1: performing table lookup processing based on the data deviation information to obtain a first re-read voltage corresponding to the data deviation information one by one.
[0069] The terminal device may pre-construct a relationship table between data deviation information and the optimal first re-read voltage, so that after obtaining the data deviation information corresponding to the re-read data of the memory, the terminal device may look up the table based on the data deviation information to obtain the first re-read voltage.
[0070] Exemplarily, the terminal device can collect the reread voltages used when a large number of memories of the same type perform data reread operations, as well as the deviation values between the read data and the actual data, and then construct a table that characterizes the correspondence between the deviation values and the reread voltages for each reread data. Among them, since the deviation values of the data read using the same reread voltage at different life stages of the memory may be different, the terminal device can further classify the table according to the life cycle of the memory, so that when the first reread voltage is determined by looking up the table based on the data deviation information of the memory reread data, the terminal device can pre-screen a suitable table based on the life cycle of the memory, and then look up the table based on the data deviation information to determine the first reread voltage of the memory.
[0071] Method 2: Perform model training on the data deviation information based on a preset artificial intelligence model, and output a first reread voltage of the memory; wherein the artificial intelligence model is trained based on the reread voltage of the memory and the data deviation information corresponding to the reread data.
[0072] The terminal device can also train the artificial intelligence model in advance through the reread voltage used when performing data reread operations on a large number of memories of the same type, and the data deviation information corresponding to the data (reread data) read according to the reread voltage, so that the artificial intelligence model learns the association between the reread voltage and the data deviation information. In this way, when the terminal device determines the first reread voltage based on the data deviation information of the memory reread data, the terminal device only needs to use the data deviation information as the input of the artificial intelligence model, so as to use the artificial intelligence model based on the association between the pre-learned data deviation information and the reread voltage to perform model training on the input data deviation information, thereby obtaining the first reread voltage of the memory output by the artificial intelligence model.
[0073] It should be noted that the artificial intelligence model may specifically include a machine learning model based on deep learning, such as a decision tree, a regression analysis model, a neural network model, and an integrated learning model, etc. It should be understood that based on different design requirements of actual applications, in different feasible implementations, the terminal device can of course use different types of models for training to implement the above-mentioned operation of determining the first reread voltage of the memory based on the artificial intelligence model, and the data rereading method provided in the embodiment of the present application does not limit the specific type of artificial intelligence model.
[0074] Step S103: controlling the memory to perform a data reread operation according to the first reread voltage.
[0075] After determining the first reread voltage, the terminal device immediately sends an instruction to the memory to control the memory to perform a data reread operation according to the first reread voltage, thereby quickly minimizing the error value of the read data compared to the actual data.
[0076] In the embodiment of the present application, during the process of the memory performing a data reread operation, the terminal device records the value of the data (reread data) obtained by the memory rereading an error compared to the actual data, that is, the deviation value between the reread data and the actual data, and then uses the deviation value as the data deviation information corresponding to the reread data of the memory. In this way, after obtaining the data deviation information corresponding to the reread data of the memory, the terminal device immediately searches for the optimal first reread voltage for the memory to perform the data reread operation based on the data deviation information, and sends instructions to the memory to control the memory to perform the data reread operation according to the first reread voltage, thereby quickly minimizing the error value of the read data compared to the actual data.
[0077] Thus, compared with the conventional linear exploration method of controlling the memory to reread data with a fixed step length to search for a reread voltage, the embodiment of the present application can more quickly determine the appropriate reread voltage to reread data during the memory data reread operation, thereby improving the overall efficiency of the memory reading data. Especially in the scenario where a large number of data reread operations are required in the later stage of the memory life, the embodiment of the present application will have a more prominent effect on improving the efficiency of the memory reading data by searching for the optimal reread voltage through the data deviation information corresponding to the reread data.
[0078] Please refer to Figure 2 , Figure 2 A schematic flowchart of the steps of the data rereading method provided in the embodiment of the present application in other embodiments.
[0079] like Figure 2 As shown, in some embodiments, the data rereading method provided in the embodiments of the present application may further include steps S201 to S203 as shown below before the above step S101: obtaining data deviation information corresponding to the reread data of the memory.
[0080] Step S201: Obtain a preset re-reading voltage table.
[0081] It should be noted that the preset reread voltage table is a reread voltage table (Retry Table) constructed in advance by the terminal device through experiments. The reread voltage table records multiple reread voltages or voltage offset values. When the memory triggers the ReadRetry error correction mechanism, the read voltage can be reset according to the reread voltage or voltage offset value to perform data reread operations.
[0082] When the memory triggers the Read Retry error correction mechanism, the terminal device first obtains the reread voltage table of the memory.
[0083] Step S202: controlling the memory to perform a data reread operation according to the second reread voltage in the reread voltage table, and recording a deviation value between the reread data and the actual data read by the memory each time the data reread operation is performed.
[0084] After obtaining the reread voltage table of the memory, the terminal device sends an instruction to the memory to control the memory to reset the read voltage according to the second reread voltage in the reread voltage table (multiple reread voltages or voltage offset values recorded in the reread voltage table) and then perform a data reread operation. In addition, each time the memory performs a data reread operation, the terminal device records the error value (deviation value between the reread data and the actual data) of the data reread by the memory (reread data) compared to the actual data.
[0085] Step S203: taking the deviation value between the reread data of the memory and the actual data for two consecutive times as the data deviation information corresponding to the reread data of the memory.
[0086] When recording the deviation value between the reread data and the actual data obtained by the memory performing the data reread operation, the terminal device uses the deviation value between at least two adjacent reread data of the memory and the actual data as the data deviation information corresponding to the reread data of the memory.
[0087] For example, it is assumed that the terminal device controls the memory to perform a total of 5 data reread operations according to the second reread voltage in the reread voltage table. In addition, the deviation between the reread data of the memory performing 3 of the data reread operations recorded by the terminal device and the actual data is as follows: Figure 3As shown. Among them, the deviation value between the reread data and the actual data of the N+1th reread operation is a, the deviation value between the reread data and the actual data of the N+2th reread operation is an, and the deviation value between the reread data and the actual data of the N+3th reread operation is a+b (N, a, n and b are all positive integers greater than zero). In this case, the terminal device can use the deviation values a and an between the two adjacent reread data and the actual data as the data deviation information corresponding to the reread data of the memory. Alternatively, the terminal device can also use the deviation values a, an and a+b between the three adjacent reread data and the actual data as the data deviation information corresponding to the reread data of the memory.
[0088] In this embodiment, the terminal device records the deviation value between the reread data and the actual data read each time the memory performs a data reread operation, and then uses the deviation value as the data deviation information corresponding to the reread data of the memory, so that the memory is subsequently searched for the optimal first reread voltage for performing the data reread operation based on the data deviation information, and an instruction is sent to the memory to control the memory to perform the data reread operation according to the first reread voltage. In this way, compared with the traditional method of linearly exploring the optimal reread voltage, it is possible to more quickly determine the appropriate reread voltage for data rereading, thereby improving the overall efficiency of the memory in reading data.
[0089] Please refer to Figure 4 , Figure 4 for Figure 1 Schematic diagram of the detailed step flow of step S102.
[0090] like Figure 4 As shown, in some embodiments, the above step S102: determining the first re-read voltage based on the data deviation information may include steps S401 and S402 as shown below.
[0091] Step S401: performing gradient descent processing on the data deviation information to obtain a gradient descent calculation result.
[0092] When the terminal device searches for the optimal first reread voltage of the memory based on the data deviation information corresponding to the reread data of the memory, when the data deviation information is the deviation value between at least two adjacent reread data of the memory and the actual data, the terminal device uses a gradient descent algorithm to perform gradient descent processing on the at least two deviation values to obtain a gradient descent calculation result.
[0093] It should be noted that the gradient descent calculation result can characterize the deviation value between the reread data and the actual data obtained when the memory performs a data reread operation next time when the deviation values between at least two reread data and the actual data follow a gradient descent law, wherein the deviation value is still smaller than the smaller value of the above-mentioned at least two deviation values.
[0094] Step S402: based on the second re-read voltage corresponding to the data deviation information, predict and obtain a first re-read voltage corresponding to the gradient descent calculation result.
[0095] It should be noted that the second reread voltage corresponding to the data deviation information is: the second reread voltage in the reread voltage table used when the memory performs the first target data reread operation, and the data read by the memory when performing the first target data reread operation is the reread data corresponding to the data deviation information.
[0096] After the terminal device performs a gradient descent process on the deviation values between at least two reread data and the actual data to obtain a gradient descent calculation result, the terminal device further predicts the second reread voltage in the reread voltage table corresponding to the at least two deviation values according to the gradient descent rule of the deviation values between the at least two reread data and the actual data, thereby obtaining a first reread voltage when the memory performs the next data reread operation. In this case, the deviation value between the reread data and the actual data obtained by the memory using the first reread voltage for the data reread operation is the same as the gradient descent calculation result obtained by performing the gradient descent process on the at least two deviation values.
[0097] In some embodiments, when at least two deviation values show a gradient descent pattern, and the second re-read voltages in the re-read voltage table corresponding to the at least two deviation values also show a gradient descent pattern, the terminal device can also use a gradient descent algorithm to directly perform gradient descent processing on the at least two second re-read voltages, thereby predicting the first re-read voltage when the memory performs the next data re-read operation.
[0098] In this embodiment, when the terminal device searches for the optimal first reread voltage of the memory based on the data deviation information corresponding to the reread data of the memory, when the data deviation information is the deviation value between the reread data of at least two adjacent reread data of the memory and the actual data, the terminal device uses a gradient descent algorithm to perform gradient descent processing on the at least two deviation values to obtain a gradient descent calculation result. Afterwards, the terminal device further predicts the second reread voltage in the reread voltage table corresponding to the at least two deviation values according to the gradient descent rule of the at least two deviation values, thereby obtaining the first reread voltage when the memory performs the next data reread operation. In this way, compared with the traditional method of linearly exploring the optimal reread voltage, the electronic device uses a gradient descent algorithm to directly predict the deviation value of the reread data of at least two adjacent reread data of the memory, so as to achieve a faster determination of a suitable reread voltage for data rereading, thereby improving the overall efficiency of the memory in reading data.
[0099] Please refer to Figure 5 , Figure 5 A schematic flowchart of the steps of the data re-reading method provided in the embodiment of the present application in some other embodiments.
[0100] like Figure 5 As shown, in some embodiments, the data reread method provided in the embodiments of the present application may further include steps S501 to S503 as shown below after the above-mentioned step S103: controlling the memory to perform a data reread operation according to the first reread voltage.
[0101] Step S501: obtaining a first target deviation value between reread data and actual data read by the memory through a data reread operation according to the first reread voltage.
[0102] After the terminal device sends an instruction to the memory to control the memory to reset the read voltage according to the first reread voltage to perform a data reread operation, it still records the first target deviation value between the reread data and the actual data read by the memory at this time (that is, the value at which the reread data has errors compared to the actual data).
[0103] Step S502: Compare the first target deviation value with a preset data deviation threshold.
[0104] It should be noted that the preset data deviation threshold can be a value preset by the terminal device to indicate that when the accuracy of the data read from the memory meets the requirements, the reread data is erroneous compared to the actual data. For example, the terminal device can specifically set the preset data deviation threshold to a value smaller than the value of the data read when the memory triggers the Read Retry error correction mechanism. It should be understood that based on the different design requirements of actual applications, the terminal device can of course also set the preset data deviation threshold to a specific value of other sizes, and the data rereading method provided in the embodiment of the present application is not limited to the specific size of the preset data deviation threshold.
[0105] The terminal device compares the recorded first target deviation value with the preset data deviation threshold value. If the terminal device finds that the first target deviation value is less than the preset data deviation threshold value, the terminal device considers that the reread data currently read by the memory according to the first reread voltage has met the accuracy requirement, and thus it is not necessary to continue to perform the data reread operation. If the terminal device finds that the first target deviation value is greater than or equal to the preset data deviation threshold value, the terminal device considers that the reread data currently read by the memory according to the first reread voltage still does not meet the accuracy requirement, and it is necessary to continue to perform the data reread operation to read accurate data.
[0106] Step S503: When the first target deviation value is greater than or equal to the preset data deviation threshold, data deviation information is generated based on the first target deviation value, and the step of determining a first re-read voltage based on the data deviation information is executed, and the step of controlling the memory to perform a data re-read operation according to the first re-read voltage is executed.
[0107] When the terminal device finds that the first target deviation value is greater than or equal to the preset data deviation threshold value, and therefore believes that the memory needs to continue to perform the data reread operation to read accurate data, it further generates new data deviation information based on the first target deviation value, and then re-executes the above step S102 based on the new data deviation information: determines the first reread voltage based on the data deviation information, and continues to re-execute the above step S103 based on the new first reread voltage obtained by re-executing step S102: controls the memory to perform the data reread operation according to the first reread voltage. In this way, the terminal device can control the memory to continue to perform the data reread operation to read accurate data.
[0108] In some embodiments, the terminal device once again controls the memory to perform a data reread operation to obtain data, but the deviation value between the data and the actual data (a new first target deviation value) is still greater than or equal to a preset data deviation threshold. In this case, the terminal device once again generates data deviation information based on the new first target deviation value, and then repeats the above steps S102 and S103, and repeats this cycle until the memory is finally read to obtain accurate data.
[0109] Please refer to Figure 6 , Figure 6 for Figure 5 A schematic diagram of a detailed step flow of step S503 in FIG.
[0110] like Figure 6 As shown, in some embodiments, the step of "generating data deviation information based on the first target deviation value" in the above-mentioned step S503 may include steps S601 and S602 as shown below.
[0111] Step S601: Obtain a second target deviation value between the reread data and the actual data read by the memory when performing a second target data reread operation; wherein the second target data reread operation is the previous data reread operation performed by the memory according to the first reread voltage.
[0112] When the terminal device generates data deviation information based on the first target deviation value, it also obtains a pre-recorded second target deviation value between the reread data and the actual data read when the memory performs a data reread operation (second target data reread operation) before the data reread operation according to the first reread voltage.
[0113] In some embodiments, the reread voltage used by the memory when performing the second target data reread operation may be a second reread voltage in the reread voltage table acquired by the terminal device. Alternatively, in other embodiments, the reread voltage used by the memory when performing the second target data reread operation may also be a first reread voltage searched by the terminal device based on the data deviation information corresponding to the reread data.
[0114] Step S602: using the first target deviation value and the second target deviation value as data deviation information corresponding to the reread data of the memory.
[0115] Considering that the gradient descent algorithm requires at least two parameters, after obtaining the second target deviation value, the terminal device can use the second target deviation value together with the first target deviation value as the new data deviation information corresponding to the reread data of the memory. In this way, the terminal device can subsequently use the gradient descent algorithm to perform gradient descent processing on the second target deviation value and the first target deviation value, thereby determining a new first reread voltage, and further perform the subsequent steps of controlling the memory to perform a data reread operation according to the new first reread voltage.
[0116] Please refer to Figure 7 , Figure 7 for Figure 5 Another detailed flowchart of step S503 is shown in FIG.
[0117] like Figure 7 As shown, in some embodiments, the step of "generating data deviation information based on the first target deviation value" in the above-mentioned step S503 may also include steps S701 to S703 as shown below.
[0118] Step S701: Control the memory to perform a third target data reread operation according to a third reread voltage; wherein the third reread voltage is determined based on the first reread voltage and a preset voltage step, and the third target data reread operation is a data reread operation after the memory performs a data reread operation according to the first reread voltage.
[0119] It should be noted that the preset voltage step size can be a fixed offset value pre-set for the terminal device to be superimposed or reduced on the reread voltage used when the memory performs a data reread operation. For example, the preset voltage step size can specifically be a fixed step size used by the terminal device when searching for the optimal reread voltage of the memory based on the linear probing method. It should be understood that based on different design requirements of actual applications, in different feasible implementations, the specific size of the preset voltage step size that can be used by the terminal device can certainly be different, and the data rereading method provided in the embodiment of the present application is not limited to the specific size of the preset voltage step size.
[0120] When the terminal device generates data deviation information based on the first target deviation value, it also further superimposes a preset voltage step (or subtracts the preset voltage step) on the basis of the first re-read voltage to calculate the third re-read voltage. Then, the terminal device sends an instruction to the memory to control the memory to reset the read voltage according to the third re-read voltage to perform a third target data re-read operation.
[0121] Step S702: Obtain a third target deviation value between the reread data and the actual data read by the memory when performing the third target data reread operation.
[0122] When the terminal device performs a third target data reread operation on the memory, it records a third target deviation value between the reread data and the actual data read by the memory. Then, when the terminal device generates data deviation information based on the first target deviation value, it obtains the third target deviation value.
[0123] Step S703: using the first target deviation value and the third target deviation value as data deviation information corresponding to the reread data of the memory.
[0124] After obtaining the third target deviation value, the terminal device uses the third target deviation value together with the first target deviation value as the new data deviation information corresponding to the reread data of the memory. In this way, the terminal device can subsequently use the gradient descent algorithm to perform gradient descent processing on the third target deviation value and the first target deviation value, thereby determining a new first reread voltage, and further perform the subsequent step of controlling the memory to perform a data reread operation according to the new first reread voltage.
[0125] In this embodiment, after the terminal device controls the memory to reset the reading voltage according to the first reread voltage to perform the data reread operation, the first target deviation value between the reread data and the actual data read by the memory at this time is recorded. The recorded first target deviation value is compared with the preset data deviation threshold. If the terminal device finds that the first target deviation value is less than the preset data deviation threshold, the terminal device considers that the reread data currently read by the memory according to the first reread voltage has met the accuracy requirements, and thus there is no need to continue to perform the data reread operation. If the terminal device finds that the first target deviation value is greater than or equal to the preset data deviation threshold, the terminal device considers that the reread data currently read by the memory according to the first reread voltage still does not meet the accuracy requirements, and it is necessary to continue to perform the data reread operation to read accurate data.
[0126] Thus, when the terminal device finds that the first target deviation value is greater than or equal to the preset data deviation threshold value, it further generates new data deviation information based on the first target deviation value, and then re-executes the above step S102 based on the new data deviation information: determines the first re-read voltage based on the data deviation information, and continues to re-execute the above step S103 based on the new first re-read voltage obtained by re-executing step S102: controls the memory to perform a data re-read operation according to the first re-read voltage. In this way, the terminal device can control the memory to continue to perform the data re-read operation to read accurate data.
[0127] In this way, the data reread method provided in the embodiment of the present application can more quickly determine the appropriate reread voltage for data rereading, thereby improving the overall efficiency of the memory in reading data, and further ensure the accuracy of the data read by the memory based on the data reread operation.
[0128] Based on the same inventive concept, the embodiment of the present application also provides a data rereading device for implementing the data rereading method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more data rereading device embodiments provided below can refer to the limitations of the data rereading method above, and will not be repeated here.
[0129] In one embodiment, Figure 8 As shown, a data re-reading device is provided, comprising: an acquisition module 801, a voltage prediction module 802 and a data re-reading module 803, wherein:
[0130] The acquisition module 801 is used to acquire data deviation information corresponding to the reread data of the memory; wherein the reread data is data read by the memory during the data reread operation;
[0131] A voltage prediction module 802 is used to determine a first re-read voltage based on the data deviation information; wherein the first re-read voltage is an optimal re-read voltage when the memory performs a data re-read operation;
[0132] The data re-read module 803 is used to control the memory to perform a data re-read operation according to the first re-read voltage.
[0133] In some embodiments, the data acquisition module 801 is further used to acquire a preset re-reading voltage table;
[0134] The data reread module 803 is also used to control the memory to perform a data reread operation according to the second reread voltage in the reread voltage table, and record the deviation value between the reread data and the actual data read by the memory each time the data reread operation is performed; and use the deviation value between the reread data and the actual data of two adjacent times of the memory as the data deviation information corresponding to the reread data of the memory.
[0135] In some embodiments, the voltage prediction module 802 is further configured to perform a gradient descent process on the data deviation information to obtain a gradient descent calculation result; and, based on a second re-read voltage corresponding to the data deviation information, predict a first re-read voltage corresponding to the gradient descent calculation result;
[0136] Among them, the second reread voltage corresponding to the data deviation information is: the second reread voltage in the reread voltage table used when the memory performs a first target data reread operation, and the data read by the memory during the first target data reread operation is the reread data corresponding to the data deviation information.
[0137] In some embodiments, the voltage prediction module 802 is also used to perform a table lookup based on the data deviation information to obtain a first re-read voltage that corresponds one-to-one to the data deviation information; and to perform model training on the data deviation information based on a preset artificial intelligence model, and output the first re-read voltage of the memory; wherein the artificial intelligence model is trained based on the re-read voltage of the memory and the data deviation information corresponding to the re-read data.
[0138] In some embodiments, the data acquisition module 801 is also used to obtain a first target deviation value between the reread data and the actual data read by the memory according to the first reread voltage when performing a data reread operation; compare the first target deviation value with a preset data deviation threshold; and, when the first target deviation value is greater than or equal to the preset data deviation threshold, generate data deviation information based on the first target deviation value.
[0139] In some embodiments, the data acquisition module 801 is also used to obtain a second target deviation value between the reread data and the actual data read by the memory when performing a second target data reread operation; wherein the second target data reread operation is the previous data reread operation performed by the memory according to the first reread voltage; and the first target deviation value and the second target deviation value are used as data deviation information corresponding to the reread data of the memory.
[0140] In some embodiments, the data reread module 803 is further used to control the memory to perform a third target data reread operation according to a third reread voltage; wherein the third reread voltage is determined based on the first reread voltage and a preset voltage step, and the third target data reread operation is a data reread operation after the memory performs a data reread operation according to the first reread voltage;
[0141] The data acquisition module 801 is also used to obtain a third target deviation value between the reread data and the actual data read by the memory when performing the third target data reread operation; and use the first target deviation value and the third target deviation value as data deviation information corresponding to the reread data of the memory.
[0142] Each module in the data re-reading device provided in the embodiment of the present application can be implemented in whole or in part by software, hardware or a combination thereof. The above modules can be embedded in or independent of the processor in the electronic device in the form of hardware, or can be stored in the memory in the electronic device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
[0143] In some embodiments, the present application provides an electronic device, which may be a server, and its internal structure diagram may be as follows: Fig. 9 As shown. The electronic device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the electronic device is used to store model parameters related to the liquid metal reactor. The input / output interface of the electronic device is used to exchange information between the processor and an external device. The communication interface of the electronic device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data rereading method is implemented.
[0144] Those skilled in the art will understand that Fig. 9 The structure shown in the figure is merely a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the electronic device to which the scheme of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0145] In some embodiments, an electronic device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the computer program, the following steps are implemented:
[0146] Acquire data deviation information corresponding to reread data of a memory; wherein the reread data is data read by the memory during a data reread operation;
[0147] Determine a first re-read voltage based on the data deviation information; wherein the first re-read voltage is an optimal re-read voltage when the memory performs a data re-read operation;
[0148] The memory is controlled to perform a data reread operation according to the first reread voltage.
[0149] In some embodiments, when the processor executes the computer program, before executing the step of obtaining the data deviation information corresponding to the reread data of the memory, the processor further implements the following steps:
[0150] Get the preset re-reading voltmeter;
[0151] Controlling the memory to perform a data reread operation according to the second reread voltage in the reread voltage table, and recording a deviation value between the reread data and the actual data read by the memory each time the data reread operation is performed;
[0152] The deviation value between the reread data and the actual data of two adjacent times of the memory is used as the data deviation information corresponding to the reread data of the memory.
[0153] In some embodiments, the processor executes the computer program to implement the following steps when performing the step of determining the first re-read voltage based on the data deviation information:
[0154] Performing gradient descent processing on the data deviation information to obtain a gradient descent calculation result;
[0155] Based on the second re-read voltage corresponding to the data deviation information, predicting a first re-read voltage corresponding to the gradient descent calculation result;
[0156] Among them, the second reread voltage corresponding to the data deviation information is: the second reread voltage in the reread voltage table used when the memory performs a first target data reread operation, and the data read by the memory during the first target data reread operation is the reread data corresponding to the data deviation information.
[0157] In some embodiments, the processor executes the computer program to implement at least one of the following steps when performing the step of determining the first re-read voltage based on the data deviation information:
[0158] Performing table lookup processing based on the data deviation information to obtain a first re-read voltage corresponding to the data deviation information one by one;
[0159] The data deviation information is model trained based on a preset artificial intelligence model, and a first reread voltage of the memory is output; wherein the artificial intelligence model is trained based on the reread voltage of the memory and the data deviation information corresponding to the reread data.
[0160] In some embodiments, when the processor executes the computer program, after executing the step of controlling the memory to perform a data reread operation according to the first reread voltage, the processor further implements the following steps:
[0161] Acquire a first target deviation value between reread data and actual data read by the memory through a data reread operation according to the first reread voltage;
[0162] comparing the first target deviation value with a preset data deviation threshold;
[0163] In a case where the first target deviation value is greater than or equal to the preset data deviation threshold, data deviation information is generated based on the first target deviation value, and the step of determining a first re-read voltage based on the data deviation information is performed, and the step of controlling the memory to perform a data re-read operation according to the first re-read voltage is performed.
[0164] In some embodiments, the processor executes a computer program to implement the following steps when executing the step of generating data deviation information based on the first target deviation value:
[0165] Acquire a second target deviation value between the reread data and the actual data read by the memory when performing a second target data reread operation; wherein the second target data reread operation is a data reread operation before the memory performs a data reread operation according to the first reread voltage;
[0166] The first target deviation value and the second target deviation value are used as data deviation information corresponding to the reread data of the memory.
[0167] In some embodiments, the processor executes the computer program, and when executing the step of generating data deviation information based on the first target deviation value, further implements the following steps:
[0168] Controlling the memory to perform a third target data reread operation according to a third reread voltage; wherein the third reread voltage is determined based on the first reread voltage and a preset voltage step, and the third target data reread operation is a data reread operation after the memory performs a data reread operation according to the first reread voltage;
[0169] Acquiring a third target deviation value between the reread data and the actual data read by the memory when performing the third target data reread operation;
[0170] The first target deviation value and the third target deviation value are used as data deviation information corresponding to the reread data of the memory.
[0171] In some embodiments, a storage device is provided, which includes a memory and a processor, the memory stores a computer program, and the steps implemented when the computer program is executed by the processor are the same as the steps implemented when the processor in the above-mentioned electronic device executes the computer program, and the same content will not be repeated here.
[0172] In some embodiments, a computer-readable storage medium is provided on which a computer program is stored. The steps implemented when the computer program is executed by a processor are the same as the steps implemented when the processor in the above-mentioned electronic device executes the computer program, and the same content will not be repeated here.
[0173] In one embodiment, a computer program product is provided, including a computer program. The steps implemented when the computer program is executed by a processor are the same as the steps implemented when the processor in the above-mentioned electronic device executes the computer program, and the same contents will not be repeated here.
[0174] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited to this.
[0175] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0176] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A data re-reading method, characterized in that: The method comprises: Acquire data deviation information corresponding to reread data of a memory; wherein the reread data is data read by the memory during a data reread operation; Determine a first re-read voltage based on the data deviation information; wherein the first re-read voltage is an optimal re-read voltage when the memory performs a data re-read operation; The memory is controlled to perform a data reread operation according to the first reread voltage.
2. The method according to claim 1, characterized in that Before obtaining the data deviation information corresponding to the reread data of the memory, the method further includes: Get the preset re-reading voltmeter; Controlling the memory to perform a data reread operation according to the second reread voltage in the reread voltage table, and recording a deviation value between the reread data and the actual data read by the memory each time the data reread operation is performed; The deviation value between the reread data and the actual data of the memory for two adjacent times is used as the data deviation information corresponding to the reread data of the memory.
3. The method according to claim 2, characterized in that The determining a first re-read voltage based on the data deviation information comprises: Performing gradient descent processing on the data deviation information to obtain a gradient descent calculation result; Based on the second re-read voltage corresponding to the data deviation information, predicting and obtaining a first re-read voltage corresponding to the gradient descent calculation result; Among them, the second reread voltage corresponding to the data deviation information is: the second reread voltage in the reread voltage table used when the memory performs a first target data reread operation, and the data read by the memory during the first target data reread operation is the reread data corresponding to the data deviation information.
4. The method according to claim 1, characterized in that: The determining of the first re-read voltage based on the data deviation information includes at least one of the following: Performing table lookup processing based on the data deviation information to obtain a first re-read voltage corresponding to the data deviation information one by one; The data deviation information is model trained based on a preset artificial intelligence model, and a first reread voltage of the memory is output; wherein the artificial intelligence model is trained based on the reread voltage of the memory and the data deviation information corresponding to the reread data.
5. The method according to any one of claims 1 to 4, characterized in that After controlling the memory to perform a data reread operation according to the first reread voltage, the method further includes: Acquire a first target deviation value between reread data and actual data read by the memory through a data reread operation according to the first reread voltage; comparing the first target deviation value with a preset data deviation threshold; In a case where the first target deviation value is greater than or equal to the preset data deviation threshold, data deviation information is generated based on the first target deviation value, and the step of determining a first re-read voltage based on the data deviation information is performed, and the step of controlling the memory to perform a data re-read operation according to the first re-read voltage is performed.
6. The method according to claim 5, characterized in that The generating data deviation information based on the first target deviation value includes: Acquire a second target deviation value between the reread data and the actual data read by the memory when performing a second target data reread operation; wherein the second target data reread operation is a data reread operation before the memory performs a data reread operation according to the first reread voltage; The first target deviation value and the second target deviation value are used as data deviation information corresponding to the reread data of the memory.
7. The method according to claim 5, characterized in that The generating data deviation information based on the first target deviation value includes: Controlling the memory to perform a third target data reread operation according to a third reread voltage; wherein the third reread voltage is determined based on the first reread voltage and a preset voltage step, and the third target data reread operation is a data reread operation after the memory performs a data reread operation according to the first reread voltage; Acquiring a third target deviation value between the reread data and the actual data read by the memory when performing the third target data reread operation; The first target deviation value and the third target deviation value are used as data deviation information corresponding to the reread data of the memory.
8. A data re-reading device, characterized in that: The device comprises: An acquisition module, used for acquiring data deviation information corresponding to reread data of a memory; wherein the reread data is data read by the memory during a data reread operation; A voltage prediction module, configured to determine a first re-read voltage based on the data deviation information; wherein the first re-read voltage is an optimal re-read voltage when the memory performs a data re-read operation; The data re-read module is used to control the memory to perform a data re-read operation according to the first re-read voltage.
9. A storage device, characterized in that: The storage device comprises a memory and a processor, the memory stores a computer program, and the processor implements the steps of any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Method of generating reread table of storage device, test device and storage medium
CN112527550A
Reread management method, solid state disk controller and solid state disk
CN112562766A
Method and device for determining optimal read voltage parameter of flash memory and flash memory equipment
CN118314943A
Data storage device and operating method thereof
US20170365307A1
Re-reading operation processing method, apparatus and device, and readable storage medium
WO2022037071A1