Data rereading method, device, terminal equipment and storage medium
By using a combination of preset reread voltage and automatic bias correction algorithm in the storage medium, the voltage is gradually adjusted to solve the data loss problem, which improves the success rate and efficiency of data rereading and enhances the reliability of data recovery.
Patent Information
- Application Number
- CN202510443520.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-10
- Publication Date
- 2025-09-02
- Estimated Expiration
- 2045-04-10
AI Technical Summary
When the storage medium is affected by high temperature and aging, the voltage offset of the read data will lead to data loss. The existing technology automatic deviation correction algorithm is prone to find the wrong direction of the offset, resulting in data being unable to be corrected.
By obtaining the preset reread voltage in the preset reread table, and combining the automatic bias correction algorithm to calculate the calibration voltage for multiple rereads, gradually adjusting the voltage to find the correct bias correction voltage to avoid single voltage deviation failure.
It improves the success rate and efficiency of data rereading, reduces the problem of finding the wrong offset direction when correcting deviations, and enhances the reliability of data recovery.
Smart Images

Figure CN119960702B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of storage technology, and in particular to a data rereading method, apparatus, terminal device, and storage medium. Background Art
[0002] Data written to storage media must be read at a set voltage. When the storage media is affected by factors such as high temperature and aging, the voltage required to read the data may shift. Using the default voltage may result in a UNC (uncorrect) error. A suitable voltage must be used to read the data back. This is called a hard retry. Correction voltages can be obtained from the manufacturer's retry table, but these voltages are fixed. Even after exhausting all the factory tables, data cannot be corrected, ultimately leading to data loss. Using ARC (Auto Read Calibration) can also result in incorrectly locating the offset direction. Summary of the Invention
[0003] In view of this, an embodiment of the present application provides a data rereading method that can effectively solve problems such as data loss caused by data rereading.
[0004] In a first aspect, an embodiment of the present application provides a data rereading method, comprising:
[0005] When reading data using the default voltage fails, obtaining a preset reread table, reading the currently traversed preset reread voltage in the reread table, and performing a first reread according to the preset reread voltage;
[0006] If the first reread fails, calculating a first offset voltage according to the preset reread voltage to obtain a first calibration voltage, and performing a second reread according to the first calibration voltage;
[0007] If the second reread fails, obtaining the first offset voltage, calculating a second offset voltage based on the first offset voltage and the preset reread voltage to obtain a second calibration voltage, and performing a third reread based on the second calibration voltage;
[0008] If the third reread fails and all preset reread voltages in the reread table have not been traversed, the next preset reread voltage in the reread table is read, and the steps from the first reread to the third reread are repeated.
[0009] In some embodiments, the method further comprises:
[0010] If the third reread fails and all preset reread voltages in the reread table are traversed, the process enters soft decoding reread or data error reporting.
[0011] In some embodiments, calculating the first offset voltage according to the preset reread voltage to obtain the first calibration voltage includes:
[0012] Based on the preset reread voltage, a first offset voltage is calculated by an automatic correction algorithm;
[0013] The first offset voltage and the preset reread voltage are added to obtain a first calibration voltage.
[0014] In some embodiments, obtaining the first offset voltage, calculating the second offset voltage according to the first offset voltage and the preset reread voltage, and obtaining the second calibration voltage includes:
[0015] using the sum of the preset reread voltage and the first offset voltage as a base voltage;
[0016] On the basis of the basic voltage, a second voltage offset value is calculated by an automatic deviation correction algorithm, and the sum of the second voltage offset value and the basic voltage is a second calibration voltage.
[0017] In some embodiments, performing a second re-reading according to the first calibration voltage includes:
[0018] calculating a sum of the first calibration voltage and the default voltage as a reread voltage;
[0019] A second reread is performed according to the reread voltage, and feedback is given on whether the reread is successful.
[0020] In some embodiments, the method further comprises:
[0021] When the reread is successful, the reread voltage of the current successful reread is recorded. When the data reading fails using the default voltage next time, the reread voltage is directly called to perform rereading.
[0022] In some embodiments, performing a third re-reading according to the second calibration voltage includes:
[0023] calculating a sum of the second calibration voltage and the default voltage as a reread voltage;
[0024] A third reread is performed according to the reread voltage, and feedback is given on whether the reread is successful.
[0025] In a second aspect, the present application further provides a data rereading device, comprising:
[0026] A first reread module is configured to, when reading data using a default voltage fails, obtain a preset reread table, read a currently traversed preset reread voltage in the reread table, and perform a first reread according to the preset reread voltage;
[0027] a second rereading module, configured to calculate a first offset voltage according to the preset rereading voltage to obtain a first calibration voltage if the first rereading fails, and perform a second rereading according to the first calibration voltage;
[0028] a third rereading module, configured to, if the second rereading fails, obtain the first offset voltage, calculate a second offset voltage based on the first offset voltage and the rereading voltage to obtain a second calibration voltage, and perform a third rereading based on the second calibration voltage;
[0029] A loop module is used to read the next preset reread voltage in the reread table and repeat the steps from the first reread to the third reread if the third reread fails and all the preset reread voltages in the reread table have not been traversed.
[0030] In a third aspect, the present application further provides a terminal device, comprising a processor and a memory, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the data rereading method.
[0031] In a fourth aspect, the present application also provides a computer-readable storage medium storing a computer program, which implements the data rereading method when executed on a processor.
[0032] The embodiments of the present application have the following beneficial effects:
[0033] The present application performs correction by combining the preset reread voltage recorded in the reread table with the default voltage, thereby reducing the problem of the correction algorithm finding the wrong offset direction during correction, and calculates the second calibration voltage by inheriting the first calibration voltage during the first reread, thereby improving the hit rate during the second reread, and improving the success rate of rereading and the efficiency of successful rereading. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.
[0035] Figure 1 A schematic diagram of a data rereading method according to an embodiment of the present application is shown;
[0036] Figure 2 A schematic diagram of a voltage curve of an offset according to an embodiment of the present application is shown;
[0037] Figure 3A schematic diagram of a flow chart of another data rereading method according to an embodiment of the present application is shown;
[0038] Figure 4 A schematic structural diagram of a data re-reading device according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0039] In the description of the present application, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "up", "down", "front", "back", "left", "right", "vertical", "horizontal", "top", "bottom", "inside", "outside", "clockwise", "counterclockwise", "axial", "radial", "circumferential" and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present application.
[0040] Hereinafter, the terms "including", "having" and their cognates used in various embodiments of the present application are intended only to indicate specific features, numbers, steps, operations, elements, components or combinations of the aforementioned items, and should not be understood as excluding the existence of one or more other features, numbers, steps, operations, elements, components or combinations of the aforementioned items or adding the possibility of one or more features, numbers, steps, operations, elements, components or combinations of the aforementioned items. In addition, the terms "first", "second", "third" and the like are only used to distinguish descriptions and should not be understood as indicating or implying relative importance.
[0041] In this application, unless otherwise expressly specified or limited, terms such as "mounted," "connected," "connect," and "fixed" should be understood in a broad sense. For example, they may refer to fixed connections, detachable connections, or integration; mechanical connections or electrical connections; direct connections or indirect connections through an intermediate medium; and internal connections between two components or interactions between two components. Those skilled in the art will understand the specific meanings of these terms in this application based on specific circumstances.
[0042] The components of the embodiments of the present application generally described and illustrated in the drawings herein may be arranged and designed in a variety of different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the claimed application, but rather merely represents selected embodiments of the present application. All other embodiments obtained by those skilled in the art based on the embodiments of the present application without creative effort are within the scope of protection of the present application.
[0043] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by those skilled in the art to which the various embodiments of the present application belong. The terms (such as those defined in generally used dictionaries) will be interpreted as having the same meaning as in the context of the relevant technical field and will not be interpreted as having an idealized meaning or an overly formal meaning unless clearly defined in the various embodiments of the present application.
[0044] The following describes some embodiments of the present application in detail with reference to the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments may be combined with each other.
[0045] When reading data from NAND flash, there is a read voltage offset, so it is necessary to offset the voltage to a suitable voltage to try to read the data. This action is hard decoding. The present application provides a data rereading method. When a read error occurs, a preset reread table is read, and the preset reread voltage in the reread table is read. A first calibration voltage is calculated based on the preset reread voltage and the default voltage to perform rereading. If the reread still fails, voltage correction is performed based on the first calibration voltage to perform a second reread.
[0046] In this way, more accurate correction can be achieved by relying on the preset re-read voltage and the correction algorithm's correction capability.
[0047] The data rereading method is described below with reference to some specific embodiments.
[0048] Figure 1 A flow chart of a data rereading method according to an embodiment of the present application is shown. Exemplarily, the data rereading method includes the following steps:
[0049] Step S100 , when reading data using the default voltage fails, obtaining a preset reread table, reading the currently traversed preset reread voltage in the reread table, and performing a first reread according to the preset reread voltage.
[0050] Because the read voltage of the storage device may be offset due to external environment or other reasons, users may encounter read errors when reading data from the storage device. Therefore, it is necessary to correct the default voltage to read back the data. If only the default voltage is used for reading, read failures may occur.
[0051] A storage medium contains many memory cells (floating-gate transistors), each of which can represent either 0 or 1. By applying a certain voltage to a memory cell, if it turns on, it represents 1; if it turns off, it represents 0. For example, suppose there are eight memory cells, none of which have ever been written to. Applying the default voltage will result in all of them turning on, and the data read will be 1111 1111. To write the data 1101 0100, simply charge the third, fifth, seventh, and eighth memory cells with a certain amount of electrons (writing operation) to increase their turn-on voltage above the default voltage. When the default voltage is applied and read, the third, fifth, seventh, and eighth memory cells turn off, while the others turn on, resulting in the data 1101 0100. If the applied voltage is inappropriate, for example, too low, the memory cells that should have been on will turn off, turning 1 into 0, resulting in data error.
[0052] As for the storage device, a reread table is set up inside it, which stores multiple preset reread voltages for rereading. The values of these voltages are pre-set and are used for correction operations in the event of a read error.
[0053] For example, the default voltage is recorded as V0, and each preset reread voltage in the reread table is recorded as V1. After obtaining the preset reread voltage, V1 can be used as the reread voltage for this reread. If the default voltage V0 fails to read data, the reread operation is performed directly based on V1 as the reading voltage.
[0054] However, because V1 is a fixed value, the correction method is not flexible enough, so there may be cases where correction by V1 fails.
[0055] In step S200 , if the first reread fails, a first offset voltage is calculated according to the preset reread voltage to obtain a first calibration voltage, and a second reread is performed according to the first calibration voltage.
[0056] In this embodiment, after reading the preset reread voltage, the preset reread voltage can be directly used to correct the deviation and perform rereading. However, because these preset reread voltages are hard-coded data, there is often a situation where all the preset reread voltages in the reread table are traversed and the data cannot be read correctly.
[0057] Therefore, after the deviation correction using V1 fails, the voltage will be automatically calibrated in combination with the preset re-read voltage to obtain the first calibration voltage.
[0058] In this embodiment, an ARC (AUTO READ CALIBRATION) automatic calibration algorithm is called to perform a corresponding calibration operation. Based on a preset reread voltage V1, a first offset voltage is calculated, and the first calibration voltage is calculated by summing the preset reread voltage and the first offset voltage.
[0059] The auto-calibration algorithm calculates the offset voltage and corrects the base voltage based on the calculated voltage offset, ensuring that the offset voltage can be used for normal data reading. The algorithm works by finding a voltage value that can be connected in the direction of the two offset voltages based on the base voltage to calculate the offset voltage used for correction.
[0060] The first calibration voltage is a voltage value calculated based on the above-mentioned V1. It should be noted that when performing ARC algorithm correction, it is necessary to determine whether the voltage is currently biased to the left or right, and then calculate the offset voltage to correct V1 to obtain the first calibration voltage.
[0061] After calculating the first calibration voltage, the sum of the first calibration voltage and the default voltage can be used as a reread voltage. This reread voltage is used to perform a second reread operation, and feedback is provided on whether the reread is successful. The value of the default voltage can be determined based on actual settings, such as 1V, 2V, etc., or the default voltage can be excluded from the calculation, in which case the default voltage can be set to 0V.
[0062] If there is such Figure 2 In the situation shown, simply using the default voltage for ARC correction can easily lead to incorrect deviation direction.
[0063] Figure 2 The graph in the middle shows a voltage curve, with voltage values on the horizontal axis and current values on the vertical axis. The curve with peaks B and C represents the voltage curve of the storage device under normal conditions, while the curve with peaks B1 and C1 represents the voltage curve after the storage device has experienced a positive voltage offset due to various reasons. After experiencing a positive voltage offset, using the default voltage to read data will result in abnormal conduction and inability to read data.
[0064] in Figure 2 The middle offset curve is left-biased relative to the normal curve. Taking peak B as an example, peak B1 is left-biased compared to the normal peak B, but the offset is large, making it easy to misjudge the direction.
[0065] In this case, when the default voltage is used as the reference voltage for ARC, ARC is likely to misjudge the C1 peak as B1, thinking that C1 is the result of B shifted right, resulting in the reversed voltage being found when re-reading. If the voltage is found in reverse, the offset voltage that should have been -5V may become the wrong offset voltage of +1V, thus mis-reading the correction voltage for re-reading. In fact, in order to correct the voltage of the B peak, it should be looking for B1, and thus find Figure 2 The reread is accomplished by applying the de-skew voltage shown.
[0066] This embodiment uses the preset reread voltage as the basis and combines it with the ARC algorithm to perform more accurate deviation correction. Because the preset reread voltage is a value set according to the manufacturer's prior experience, it has a certain difference from the default voltage. Therefore, it will be closer to the direction of the correct voltage than the default voltage. Then, using this as the basis for deviation correction will increase the possibility of finding the right direction when correcting. Then, a relatively correct first calibration voltage can be calculated. At the same time, there are multiple preset reread voltages in the reread table, which are rotated by traversal. Even if the offset direction of some preset reread voltages is wrong, a relatively correct preset reread voltage will always be found to perform the deviation correction operation, that is, a left-biased preset reread voltage will always be found. In this way, there is a chance to obtain a left-biased first calibration voltage to perform rereading in order to find the deviation correction voltage.
[0067] Step S300 : If the second reread fails, the first offset voltage is obtained, a second offset voltage is calculated based on the first offset voltage and the preset reread voltage to obtain a second calibration voltage, and a third reread is performed based on the second calibration voltage.
[0068] The first rereading of the aforementioned step may fail. For example, if the correction degree of the first calibration voltage is insufficient, data reading may fail even if the correction direction is correct. When the first rereading fails, the present embodiment will perform correction again based on the first calibration voltage to obtain a second calibration voltage.
[0069] In other words, the first offset voltage and the preset reread voltage from step S200 are saved, and then the ARC algorithm is used again to correct the offset to obtain a second offset voltage. The second calibration voltage is then calculated by summing the first offset voltage, the preset reread voltage, and the second offset voltage. Therefore, it can be considered that the second standard voltage is derived based on the first standard voltage.
[0070] For example, if the first offset voltage is +3V and the preset reread voltage is 2V, then this step uses a 5V base voltage for correction. After calibration in this step, it is determined that a 2V offset to the right is required based on the base voltage. This +2V is the second offset voltage, and the second calibration voltage is 5 + 2 = 7V. This further increases the correction amount and prevents failure due to insufficient correction.
[0071] After the second calibration voltage is calculated, the sum of the second calibration voltage and the default voltage can be calculated to obtain the reread voltage for the third reread. The value of the default voltage can be determined according to actual settings, for example, 1V, 2V, or 0V.
[0072] It should be understood that the second calibration voltage in this step is calculated based on the first calibration voltage and is obtained by further offsetting the first calibration voltage. This prevents reread failures due to insufficient offset in the first calibration voltage. If the offset direction is found correctly, the resulting second standard voltage will be closer to the offset voltage, thereby increasing the corrected hit rate. Therefore, during the third reread in this step, the reread voltage is the sum of the second calibration voltage and the second offset voltage, which has a higher hit rate than the reread voltage during the first calibration reread.
[0073] The third reread operation is performed using the second calibration voltage as the reread voltage, and feedback is given on whether the rereading is successful. If successful, the process ends; otherwise, the process proceeds to the next step.
[0074] Step S400 , if the third reread fails and all preset reread voltages in the reread table have not been traversed, read the next preset reread voltage in the reread table and repeat the steps of the first reread to the third reread.
[0075] In addition, there is also a situation where the third rereading based on the second calibration voltage fails, but because there are multiple preset rereading voltages stored in the rereading table, the next preset voltage can be obtained from the rereading table and the steps of the first rereading to the third rereading can be re-executed.
[0076] It is understandable that if the third reread fails, then it is likely that the offset direction is wrong. That is to say, the preset reread voltage obtained from the reread table is still far from the correct voltage. Therefore, it is necessary to change the preset reread voltage as the basic voltage to perform the correction operation.
[0077] After rereading using the second calibration voltage, it is determined whether the reread is successful. If successful, the reread ends. If unsuccessful, the next preset reread voltage is obtained from the reread table, and then the above steps are repeated to start the reread cycle. In this way, the preset reread voltages in the reread table can be used with maximum efficiency to find the appropriate voltage for rereading.
[0078] To facilitate explanation of the technical effects of this embodiment, refer to Table 1 and Table 2 below, which are examples of a correction process in which 13 corrections are performed.
[0079] The ARC value in the table indicates the type of ARC correction performed. An ARC value of 1 indicates the correction in step S200, while an ARC value of 3 indicates the correction in step S300. The voltage is the voltage value obtained after correction. The data status indicates whether the read was successful, and UNC indicates a read failure. The number of bit flips can be used to indicate the quality of the reread; a smaller number indicates a higher quality reread.
[0080] Taking the default voltage as the base voltage, set ARC to 1, read once, then set it to 3, read multiple times, and the reported data results and found voltage values are as follows:
[0081] Table 1
[0082]
[0083] Table 2
[0084]
[0085] Combining Tables 1 and 2, we can see that even using the default voltage as the base voltage, the final data can be corrected, but at least six ARCs are required. In practice, excessive reread counts can cause timeouts, so generally only one or two ARCs are performed, and the data is still UNC. However, with continued readings, the data can be corrected each time, with the number of data bit flips decreasing and the voltage value constantly changing. Finally, after 13 reads, the voltage value stabilized at 0x80, and the number of bit flips was 0, indicating that perfect correction was achieved. This shows that performing ARC correction based on the first calibration voltage will increase the success rate of correction.
[0086] The correction process data shown in Tables 1 and 2 above are intended to illustrate that successful correction can be achieved by repeatedly executing ARC. It can also be seen that in this embodiment, cyclic correction by traversing the reread voltages in the reread table can achieve successful correction in a more efficient manner than in Tables 1 and 2 above. For example, in a correction, by introducing the reread voltages in the reread table and the offset of the reread voltages, correction can be achieved more quickly. The actual correction operation can be performed fewer times than shown in Tables 1 and 2 above, thereby improving the efficiency and accuracy of correction. Furthermore, the improvement in correction efficiency will also improve the overall user experience, thereby affecting aspects such as the machine's response speed.
[0087] Among them Figure 3 As shown, this embodiment also includes:
[0088] Step S500 : If the third reread fails and all preset reread voltages in the reread table have been traversed, then soft decoding reread or data error reporting is initiated.
[0089] When three rereads fail and all preset reread voltages in the preset reread table are traversed, it means that correction is no longer possible. At this time, the above method is no longer used to reread to find the voltage. Instead, data is restored through soft decoding rereading, or data error is directly reported to prompt the user that the data is wrong.
[0090] In this embodiment, a combination of a preset reread voltage and a default voltage is used, which has a higher correction efficiency than that shown in Tables 1 and 2 above. In addition, a plurality of preset reread voltages are stored in the reread table. Therefore, even if the second ARC correction fails, the next preset reread voltage can be directly read from the reread table, and then the operation of step S200 can be re-executed to restart the correction. There is no need to repeat the correction on a basic voltage, which wastes time.
[0091] The data rereading method of this embodiment performs a correction operation based on a preset reread voltage in a rereading table, so that the correction process is not easy to find the wrong direction. In addition, the correction process uses two correction methods with different basic voltages to prevent rereading failures caused by insufficient correction, thereby increasing the correction success process and improving data rereading efficiency.
[0092] Figure 4 A schematic diagram of the structure of a data rereading device according to an embodiment of the present application is shown. Exemplarily, the device includes:
[0093] A first reread module 10 is configured to obtain a preset reread table, read a currently traversed preset reread voltage from the reread table, and perform a first reread according to the preset reread voltage when reading data using a default voltage fails;
[0094] A second rereading module 20 is configured to calculate a first offset voltage according to the preset rereading voltage to obtain a first calibration voltage if the first rereading fails, and perform a second rereading according to the first calibration voltage;
[0095] A third rereading module 30 is configured to obtain the first offset voltage if the second rereading fails, calculate a second offset voltage based on the first offset voltage and the rereading voltage to obtain a second calibration voltage, and perform a third rereading based on the second calibration voltage;
[0096] The loop module 40 is configured to read the next preset reread voltage in the reread table and repeat the steps of the first reread to the third reread if the third reread fails and all preset reread voltages in the reread table have not been traversed.
[0097] The present application also relates to a terminal device, which includes a processor and a memory, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the data rereading method.
[0098] The terminal device can be a computer, smart collection, tablet or other device with data reading and writing, calculation and program processing functions. In daily work scenarios, the terminal device needs to perform data reading and writing and other operations, and can run the data rereading method in the above embodiment.
[0099] The present application also provides a computer-readable storage medium storing a computer program. When the computer program is executed on a processor, the data rereading method is implemented.
[0100] It can be understood that the apparatus of this embodiment corresponds to the method of the above embodiment, and the options in the above embodiment are also applicable to this embodiment, so they will not be described again here.
[0101] The processor can be an integrated circuit chip with signal processing capabilities. The processor can be a general-purpose processor, including at least one of a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor can be a microprocessor or any conventional processor, etc., and can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of this application.
[0102] The memory may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), and electrically erasable programmable read-only memory (EEPROM). The memory is used to store computer programs, and the processor can execute the computer programs accordingly after receiving an execution instruction.
[0103] This application also provides a computer-readable storage medium for storing the computer program used in the terminal device. For example, the computer-readable storage medium may include, but is not limited to, various media capable of storing program code, such as a USB flash drive, a mobile hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0104] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and structure diagrams in the accompanying drawings show the possible architectures, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of the code, and the module, program segment or a part of the code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in an alternative implementation, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the structure diagram and / or flowchart, and the combination of boxes in the structure diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or can be implemented using a combination of dedicated hardware and computer instructions.
[0105] In addition, the functional modules or units in the various embodiments of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0106] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a smart phone, personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application.
[0107] The above is only a specific implementation method of the present application, but the scope of protection of the present application is not limited thereto. Any technician familiar with this technical field can easily think of changes or replacements within the technical scope disclosed in this application, which should be covered by the scope of protection of the present application.
Claims
1. A data rereading method, characterized in that: include: When reading data using the default voltage fails, obtaining a preset reread table, reading the currently traversed preset reread voltage in the reread table, and performing a first reread according to the preset reread voltage; If the first reread fails, a first offset voltage is calculated based on the preset reread voltage by an automatic correction algorithm; the first offset voltage and the preset reread voltage are added to obtain a first calibration voltage, and a second reread is performed based on the first calibration voltage; If the second reread fails, the sum of the preset reread voltage and the first offset voltage is used as a base voltage; based on the base voltage, a second voltage offset value is calculated by an automatic correction algorithm, the sum of the second voltage offset value and the base voltage is a second calibration voltage, and the sum of the second calibration voltage and the default voltage is calculated as a reread voltage; Performing a third reread according to the reread voltage and providing feedback on whether the reread is successful; If the third reread fails and all preset reread voltages in the reread table have not been traversed, the next preset reread voltage in the reread table is read, and the steps from the first reread to the third reread are repeated.
2. The data rereading method according to claim 1, wherein: Also includes: If the third reread fails and all preset reread voltages in the reread table are traversed, the process enters soft decoding reread or data error reporting.
3. The data re-reading method according to claim 1, wherein: The performing a second rereading according to the first calibration voltage includes: calculating a sum of the first calibration voltage and the default voltage as a reread voltage; A second reread is performed according to the reread voltage, and feedback is given on whether the reread is successful.
4. The data re-reading method according to claim 1, wherein: Also includes: When the reread is successful, the reread voltage of the current successful reread is recorded. When the data reading fails using the default voltage next time, the reread voltage is directly called to perform rereading.
5. A data rereading device, characterized in that: include: A first reread module is configured to, when reading data using a default voltage fails, obtain a preset reread table, read a currently traversed preset reread voltage in the reread table, and perform a first reread according to the preset reread voltage; a second rereading module, configured to calculate a first offset voltage according to the preset rereading voltage to obtain a first calibration voltage if the first rereading fails, and perform a second rereading according to the first calibration voltage; a third reread module, configured to, if the second reread fails, use the sum of the preset reread voltage and the first offset voltage as a base voltage; calculate a second voltage offset value based on the base voltage using an automatic correction algorithm, the sum of the second voltage offset value and the base voltage being a second calibration voltage; calculate the sum of the second calibration voltage and the default voltage as a reread voltage; perform a third reread based on the reread voltage, and provide feedback on whether the reread is successful; A loop module is used to read the next preset reread voltage in the reread table and repeat the steps from the first reread to the third reread if the third reread fails and all the preset reread voltages in the reread table have not been traversed.
6. A terminal device, characterized in that: The terminal device includes a processor and a memory, wherein the memory stores a computer program, and the processor is configured to execute the computer program to implement the data re-reading method according to any one of claims 1 to 4.
7. A computer-readable storage medium, characterized in that The device stores a computer program, which, when executed on a processor, implements the data re-reading method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Gear shifting method and system for NAND rereading gear, and related assembly
CN114049910A
Nonvolatile memory device, memory system, and read method
CN115527593A