Storage data recovery method and device, equipment and medium

By determining and repairing the target memory unit of the bit flip exception in the memory, the data unreliability caused by the bit flip exception in the memory is solved, and the reliability of data storage and system performance are improved.

CN119883105APending Publication Date: 2025-04-25TP-LINK INT SHENZHEN CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411666608.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-19
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

A bit flipped exception in memory causes unreliable data to be stored, affecting system performance and data integrity.

Method used

By determining that there is a bit flip exception in the memory, the data in the target memory is read, and repaired according to the number of bit flips of the data to ensure the reliability of the data.

Benefits of technology

It effectively solves the data error problem caused by median flip abnormality of memory, improves the reliability of data storage, reduces the risk of system crashes, and maintains the integrity and accuracy of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883105A_ABST
    Figure CN119883105A_ABST
Patent Text Reader

Abstract

The invention discloses a storage data recovery method and device, equipment and a medium, and the method comprises the steps: determining a target storage unit with bit flipping abnormity in a memory; reading target storage data stored in the target storage unit; and repairing the target storage data according to the bit flipping bit number of the target storage data. According to the technical scheme provided by the embodiment of the invention, firstly, bit flipping monitoring is carried out on the memory so as to determine the target storage unit with bit flipping abnormity, and the target storage data is further repaired according to the bit flipping bit number of the target storage data in the target storage unit. Therefore, the technical effects of coping with the bit flipping abnormity of the memory and ensuring the reliability of the stored data are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of computer technology, and in particular, relates to a method, device, equipment and medium for repairing storage data. Background Art

[0002] In modern computing devices, the reliability of data storage is a key factor in ensuring the normal operation of the system and data integrity. With the continuous advancement of storage technology, the capacity and speed of memory have been significantly improved, but at the same time, the risk of bit flip anomalies in memory has also increased. Bit flip anomalies refer to the spontaneous flipping of data from one state to another in the memory without any external intervention, resulting in data errors. This anomaly may be caused by a variety of factors, including physical damage, electromagnetic interference, material aging, etc.

[0003] The impact of bit flip anomalies on computing devices is significant. First, it causes stored data to become unreliable, which in turn affects the correct execution of programs and the integrity of data. Second, bit flip anomalies may cause system errors, resulting in device performance degradation or even crashes. Summary of the invention

[0004] The embodiment of the present application provides an implementation scheme different from the related art to solve the technical problem of unreliable storage data caused by bit flip anomaly in the memory in the related art.

[0005] In a first aspect, the present application provides a storage data repair method, comprising:

[0006] Determine a target storage unit in the memory that has a bit flip anomaly;

[0007] Reading target storage data stored in the target storage unit;

[0008] The target storage data is repaired according to the number of bit flipping bits of the target storage data.

[0009] In a second aspect, the present application provides a storage data repair device, comprising:

[0010] A determination unit, used to determine a target storage unit having a bit flip anomaly in the storage;

[0011] A reading unit, used for reading the target storage data stored in the target storage unit;

[0012] A repair unit is used to repair the target storage data according to the number of bit flipping bits of the target storage data.

[0013] In a third aspect, the present application provides an electronic device, including:

[0014] Processor; and

[0015] A memory, configured to store executable instructions of the processor;

[0016] The processor is configured to execute the first aspect, or any method in any possible implementation manner of the first aspect, by executing the executable instructions.

[0017] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the computer program implements the first aspect, or any method in any possible implementation manner of the first aspect.

[0018] The present application provides a solution for determining a target storage unit having a bit flip anomaly in a memory; reading target storage data stored in the target storage unit; and repairing the target storage data according to the number of bit flipping bits of the target storage data. The solution first monitors the memory for bit flipping to determine the target storage unit having a bit flip anomaly, and further repairs the target storage data according to the number of bit flipping bits of the target storage data in the target storage unit, thereby achieving the technical effect of coping with the bit flip anomaly in the memory and ensuring the reliability of the stored data. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following is a brief introduction to the drawings required for use in the embodiments or related technical descriptions. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:

[0020] Figure 1 A schematic diagram of a process flow of a storage data repair method provided in an embodiment of the present application;

[0021] Figure 2 A schematic diagram of a process for monitoring bit flipping of a memory provided in an embodiment of the present application;

[0022] Figure 3 A schematic diagram of the process of bit flip repair provided in an embodiment of the present application;

[0023] Figure 4 A schematic diagram of the structure of a storage data repair device provided in one embodiment of the present application;

[0024] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0025] The embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, but cannot be understood as limiting the present application.

[0026] The terms "first" and "second" etc. in the specification, claims and drawings of the embodiments of the present application are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchanged where appropriate, so that this scheme is implemented in other orders in addition to the order illustrated or described in the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, the process, method, system, product or equipment comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.

[0027] First, some terms in the embodiments of the present application are explained below to facilitate understanding by those skilled in the art.

[0028] ECC verification method: read the data stored in the memory and the ECC check code corresponding to the data, the ECC check code stored in the memory is generated according to the data content and stored together with the data when the data is written to the memory; recalculate the ECC check code of the read data; compare the recalculated ECC check code with the previously stored ECC check code, if the two ECC check codes do not match, it means that a bit flip error has occurred in the data during storage.

[0029] Hardware ECC verification method: The hardware ECC verification method is an effective means for detecting bit flip errors in memory implemented through a dedicated hardware circuit or module.

[0030] Software ECC verification method: The software ECC verification method is implemented through a software algorithm, and is also an effective means for detecting bit flip errors in memory.

[0031] In current computer systems, the reliability of stored data is a core element to ensure the normal operation of the system and data integrity. However, memory often faces the risk of bit flip anomalies, resulting in data errors and posing a serious threat to system performance and data integrity.

[0032] In order to solve this technical problem, the present application provides a storage data repair method, device, equipment and medium for solving data error problems caused by bit flip anomalies in the memory, thereby improving the reliability of data storage and ensuring system performance and data integrity.

[0033] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0034] Figure 1 A flowchart of a method for repairing stored data provided by an exemplary embodiment of the present application is provided. The method can be applied to a computing device. The method at least includes the following steps:

[0035] S11, determining a target storage unit having a bit flip abnormality in the memory;

[0036] The computing device determines whether there is a storage cell with a bit flip abnormality among the storage cells in the memory, and uses the storage cell with the bit flip abnormality as the target storage cell, wherein the memory can be any type of memory that may have a bit flip abnormality, such as NAND flash memory and other types of non-volatile or volatile memory.

[0037] In some embodiments, the memory is composed of multiple storage units, and the size or type of the storage unit can be reasonably configured according to the specific application scenario. For example, the type of the storage unit can be a partition, a block, a page, etc. The storage unit can also be set to a custom storage area of ​​a preset size according to specific requirements. The target storage unit is a storage unit among the multiple storage units included in the memory, in which a bit flip anomaly is detected.

[0038] In some embodiments, in S11, determining whether there is a target storage unit with a bit flip abnormality in the memory includes: performing bit flip detection on each storage unit in the memory through a hardware ECC verification method or a software ECC verification method, and determining whether there is a target storage unit with a bit flip abnormality in the memory according to the ECC verification result.

[0039] Specifically, for each storage unit in the memory, the computing device may perform bit flip detection on the storage unit by a hardware ECC verification method or a software ECC verification method. If the ECC verification result indicates an abnormality, it is determined that the storage unit has a bit flip.

[0040] S12, reading the target storage data stored in the target storage unit;

[0041] The computing device reads the target storage data stored in the target storage unit.

[0042] S13, repairing the target storage data according to the number of bit flipping bits of the target storage data.

[0043] The computing device repairs the target storage data according to the number of bit flipping bits of the target storage data.

[0044] In this embodiment, when a bit flip is found in a storage unit of the memory, data repair is performed on the target storage data in the target storage unit with the bit flip anomaly, thereby improving the reliability of data storage and reducing the risk of system crash due to data errors.

[0045] In some embodiments, the storage data repair method provided in the above embodiments is executed on the memory at preset time intervals, that is, the above steps S11-S13 are repeated at preset time intervals.

[0046] In this embodiment, by periodically executing the storage data repair method on the memory, the state of the memory can be continuously monitored, and the storage unit with bit flip anomaly can be discovered and located in time. This continuous monitoring helps to ensure the healthy operation of the memory, prevent potential data errors, and maintain the integrity and accuracy of the data in the memory.

[0047] In some embodiments, in S13, repairing the target storage data according to the number of bit flipping bits of the target storage data includes:

[0048] If the number of bit flipping bits of the target storage data is not greater than the preset number of repair bits, the target storage data after ECC correction processing is obtained; and the target storage data after ECC correction processing is written into the backup storage unit corresponding to the target storage data as the backup data corresponding to the target storage data.

[0049] Among them, the preset number of repair bits is less than the maximum ECC error correction bit number, the preset number of repair bits is used to determine whether the target storage data needs to be repaired, the maximum ECC error correction bit number is the maximum number of bit errors that can be corrected by the ECC error correction method used, and the ECC error correction method used can be a hardware ECC error correction method or a software ECC error correction method. Specifically, when the number of bit flips of the target storage data is not greater than the preset number of repair bits, it means that the amount of erroneous data in the target storage data is small at this time, which does not affect the understanding and analysis of the overall data, so the target storage data can be corrected without processing.

[0050] Among them, the backup storage unit corresponding to the target storage data is a storage unit in the memory used to store the backup data corresponding to the target storage data. If the target storage data does not correspond to the backup data, any idle storage unit in the memory can be used as the backup storage unit corresponding to the target storage data. If the target storage data already corresponds to the backup data, the target storage data after the ECC correction processing is rewritten into the backup storage unit used to store the backup data corresponding to the target storage data.

[0051] In some embodiments, the preset number of repair bits can be reasonably set according to the application scenario. For example, in scenarios where the target storage data is non-critical data, such as scenarios where the target storage data is log records, non-real-time data analysis, etc., the value of the preset number of repair bits can be set larger. For example, in scenarios where the target storage data is critical data, such as scenarios where the target storage data is system operation data, etc., the value of the preset number of repair bits can be set smaller.

[0052] In this embodiment, when it is determined that the number of bit flipping bits of the target storage data is not greater than the preset number of repair bits, the target storage data in the target storage unit is not processed, and only the target storage data that has been read out and subjected to ECC correction processing is backed up, so that when it is detected that the number of bit flipping bits of the target storage data is large during the subsequent repair of the data in the memory, the target storage data is repaired according to the backup data corresponding to the target storage data.

[0053] In some embodiments, in S13, the storage data is repaired according to the number of bit flipping bits of the target storage data, further comprising:

[0054] If the number of bit flipping bits of the target storage data is greater than the preset number of repair bits but not greater than the maximum ECC error correction bit number, obtain the target storage data after ECC correction processing, wherein the preset number of repair bits is less than the maximum ECC error correction bit number; and rewrite the target storage data after ECC correction into the target storage unit.

[0055] In this embodiment, when it is determined that the number of bit flipping bits of the target storage data is greater than the preset number of repair bits but not greater than the maximum ECC error correction bit number, it means that the number of bit flipping bits of the target storage data has reached the repair standard at this time, and the target storage data can also be restored to correct data through a hardware ECC error correction method or a software ECC error correction method at this time. The target storage data after ECC correction can be rewritten into the target storage unit to complete the repair of the target storage data.

[0056] In some embodiments, in S13, if the number of bit flipping bits of the target storage unit is greater than the preset number of repair bits but not greater than the maximum number of ECC error correction bits, the method further includes:

[0057] If the target storage data has backup data corresponding to it, the backup data corresponding to the target storage data is deleted, wherein the backup data corresponding to the target storage data is the target storage data after ECC correction processing backed up during the historical repair process of the target storage data.

[0058] In this embodiment, if the number of bit flipping bits of the target storage unit is greater than the preset number of repair bits but not greater than the maximum number of ECC error correction bits, and the target storage data after ECC correction processing has been rewritten to the target storage unit, then if the target storage data corresponds to backup data, the backup data corresponding to the target storage data can be deleted to release space in the backup storage unit for storing the backup data.

[0059] In some embodiments, in S13, repairing the target storage data according to the number of bit flipping bits of the target storage data further includes:

[0060] If the number of bit flipping bits of the target storage data is greater than the maximum ECC error correction bit, the backup data corresponding to the target storage data is obtained, wherein the backup data corresponding to the target storage data is the target storage data after ECC correction processing backed up during the historical repair process of the target storage data;

[0061] The backup data corresponding to the target storage data is written into the target storage unit, and the backup data corresponding to the target storage data is deleted.

[0062] In this embodiment, if it is determined that the number of bit flipping bits of the target storage data is greater than the maximum ECC error correction bit, the target storage data cannot be restored to the correct data by the hardware ECC error correction method or the software ECC error correction method. Therefore, it is necessary to repair the target storage data in the target storage unit by the backup data corresponding to the target storage data, that is, to write the backup data corresponding to the read target storage data into the target storage unit; after completing the repair of the target storage data in the target storage unit, it is necessary to delete the backup data corresponding to the target storage to release the space of the backup storage unit used to store the backup data corresponding to the target storage data.

[0063] See also Figure 2 , Figure 2 The schematic diagram of the process of performing bit flip monitoring on a memory provided in the embodiment of the present application includes:

[0064] S21, scanning each storage unit in the NAND flash memory in units of storage units;

[0065] S22, performing an ECC check on the currently scanned storage unit to obtain an ECC check result;

[0066] S23, determining whether the ECC check result indicates that the currently scanned storage unit has a bit flip anomaly, if so, executing the following S24, repairing the currently scanned storage unit, if not, executing the following S25;

[0067] S24, repairing the currently scanned storage unit;

[0068] S25, determine whether the scanning of all storage units in the NAND flash memory is completed, if so, end the process, if not, return to S21 to continue scanning the next storage unit.

[0069] See also Figure 3 , Figure 3 The schematic diagram of the process of bit flip repair provided in the embodiment of the present application includes:

[0070] S31, receiving indication information indicating that a bit flip abnormality exists in a target storage unit;

[0071] S32, reading target storage data in the target storage unit;

[0072] S33, determine whether the bit flipping number of the target storage data is greater than or equal to the preset repair bit number, if not, execute the following S34, write the target storage data after ECC correction processing into the backup storage unit corresponding to the target storage data, if yes, execute the following S35, determine whether the bit flipping number of the target storage data is greater than the maximum ECC error correction bit number;

[0073] S34, writing the target storage data after the ECC correction processing into the backup storage unit corresponding to the target storage data;

[0074] S35, determine whether the number of bit flipping bits of the target storage data is greater than the maximum number of ECC error correction bits, if not, execute the following S36, rewrite the target storage data after ECC correction into the target storage unit, and if the target storage data corresponds to backup data, delete the backup data corresponding to the target storage data, if yes, execute the following S37, determine whether the target storage data corresponds to backup data;

[0075] S36, rewriting the target storage data after ECC correction into the target storage unit, and if the target storage data has backup data corresponding to it, deleting the backup data corresponding to the target storage data;

[0076] S37, determining whether the target storage data corresponds to backup data, if so, executing S38, writing the backup data corresponding to the target storage data into the target storage unit, and deleting the backup data corresponding to the target storage data, if not, it cannot be repaired;

[0077] S38. Write the backup data corresponding to the target storage data into the target storage unit, and delete the backup data corresponding to the target storage data.

[0078] The storage data repair method provided in the embodiment of the present application can solve the problem that bit flips continue to occur in the memory during long-term use, and the number of bit flips eventually exceeds the maximum number of ECC error correction bits, resulting in abnormal storage data in the memory. The storage data repair method provided in the embodiment of the present application can regularly monitor the changes in the number of bit flips in the memory, and promptly repair the storage units with bit flip abnormalities, thereby effectively ensuring the long-term stability of the stored data.

[0079] When the storage data repair method provided in the embodiment of the present application performs storage data repair, data repair is preferably performed by rewriting the storage data after ECC correction processing into the target storage unit with the bit flip anomaly. When the number of bit flipping bits exceeds the maximum number of ECC error correction bits, that is, the ECC error correction method cannot repair the data, the backup data corresponding to the target storage data backed up in the historical repair process is used to repair the target storage data. Since the backup data corresponding to the target storage data will only occupy one additional storage unit, the repair cost of the storage data repair method provided in the embodiment of the present application is very low.

[0080] The present application provides a solution for determining a target storage unit having a bit flip anomaly in a memory; reading target storage data stored in the target storage unit; and repairing the target storage data according to the number of bit flipping bits of the target storage data. The solution first monitors the memory for bit flipping to determine the target storage unit having a bit flip anomaly, and further repairs the target storage data according to the number of bit flipping bits of the target storage data in the target storage unit, thereby achieving the technical effect of coping with the bit flip anomaly in the memory and ensuring the reliability of the stored data.

[0081] Figure 4 A schematic diagram of the structure of a storage data repair device provided by an exemplary embodiment of the present application;

[0082] The device comprises:

[0083] A determination unit 41, configured to determine a target storage unit having a bit flip anomaly in the storage;

[0084] A reading unit 42, configured to read target storage data stored in the target storage unit;

[0085] The repairing unit 43 is used to repair the target storage data according to the number of bit flipping bits of the target storage data.

[0086] In some embodiments, when the repairing unit 43 is used to repair the target storage data according to the number of bit flipping bits of the target storage data, it is specifically used to:

[0087] If the number of bit flipping of the target storage data is not greater than the preset number of repair bits, obtaining the target storage data after ECC correction processing;

[0088] The target storage data after the ECC correction processing is written into the backup storage unit corresponding to the target storage data as the backup data corresponding to the target storage data.

[0089] In some embodiments, the repair unit 43 is used to repair the storage data according to the number of bit flipping bits of the target storage data, specifically to:

[0090] If the number of bit flipping bits of the target storage data is greater than the preset number of repair bits but not greater than the maximum number of ECC error correction bits, obtaining the target storage data after ECC correction processing, wherein the preset number of repair bits is less than the maximum number of ECC error correction bits;

[0091] The target storage data after the ECC correction process is rewritten into the target storage unit.

[0092] In some embodiments, if the number of bit flipping bits of the target storage unit is greater than the preset number of repair bits but not greater than the maximum ECC error correction bit, the repair unit 43 is further configured to:

[0093] If the target storage data has backup data corresponding to it, the backup data corresponding to the target storage data is deleted, wherein the backup data corresponding to the target storage data is the target storage data after ECC correction processing backed up during the historical repair process of the target storage data.

[0094] In some embodiments, when the repairing unit 43 is used to repair the target storage data according to the number of bit flipping bits of the target storage data, it is specifically used to:

[0095] If the number of bit flipping bits of the target storage data is greater than the maximum ECC error correction bit, obtaining backup data corresponding to the target storage data, wherein the backup data corresponding to the target storage data is the target storage data after ECC correction processing backed up during the historical repair process of the target storage data;

[0096] The backup data corresponding to the target storage data is written into the target storage unit, and the backup data corresponding to the target storage data is deleted.

[0097] In some embodiments, when the determining unit is used to determine that a target storage unit in the memory has a bit flip abnormality, it is specifically used to:

[0098] A bit flip detection is performed on each storage unit in the memory by a hardware ECC verification method or a software ECC verification method, and a target storage unit in the memory having a bit flip abnormality is determined according to the ECC verification result.

[0099] In some embodiments, the storage data repair device is used to perform the following steps at preset time intervals:

[0100] Determine a target storage unit in the memory that has a bit flip anomaly;

[0101] Reading target storage data stored in the target storage unit;

[0102] The target storage data is repaired according to the number of bit flipping bits of the target storage data.

[0103] It should be understood that the device embodiment and the method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, no further description is given here. Specifically, the device may perform the above method embodiment, and the above and other operations and / or functions of each module in the device are the corresponding processes in each method in the above method embodiment, respectively, and no further description is given here for the sake of brevity.

[0104] The above describes the device of the embodiment of the present application from the perspective of the functional module in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or a combination of hardware and software modules in the decoding processor to perform. Optionally, the software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory, and completes the steps in the above method embodiment in conjunction with its hardware.

[0105] Figure 5 is a schematic block diagram of an electronic device provided in an embodiment of the present application, and the electronic device may include:

[0106] The memory 501 and the processor 502, the memory 501 is used to store the computer program and transmit the program code to the processor 502. In other words, the processor 502 can call and run the computer program from the memory 501 to implement the method in the embodiment of the present application.

[0107] For example, the processor 502 may be configured to execute the above method embodiments according to instructions in the computer program.

[0108] In some embodiments of the present application, the processor 502 may include but is not limited to:

[0109] General-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.

[0110] In some embodiments of the present application, the memory 501 includes but is not limited to:

[0111] Volatile memory and / or non-volatile memory. Among them, the non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM) or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DR RAM).

[0112] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 501 and executed by the processor 502 to complete the method provided by the present application. The one or more modules may be a series of computer program instruction segments capable of completing specific functions, and the instruction segments are used to describe the execution process of the computer program in the electronic device.

[0113] like Figure 5 As shown, the electronic device may also include:

[0114] The transceiver 503 may be connected to the processor 502 or the memory 501 .

[0115] The processor 502 may control the transceiver 503 to communicate with other devices, specifically, to send information or data to other devices, or to receive information or data sent by other devices. The transceiver 503 may include a transmitter and a receiver. The transceiver 503 may further include an antenna, and the number of antennas may be one or more.

[0116] It should be understood that the various components in the electronic device are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.

[0117] The present application also provides a computer storage medium on which a computer program is stored, and when the computer program is executed by a computer, the computer can perform the method of the above method embodiment. In other words, the present application embodiment also provides a computer program product containing instructions, and when the instructions are executed by a computer, the computer can perform the method of the above method embodiment.

[0118] When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (digital subscriber line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integration. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (digital video disc, DVD)), or a semiconductor medium (e.g., a solid state drive (solid state disk, SSD)), etc.

[0119] Those of ordinary skill in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0120] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the module is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.

[0121] The modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. For example, each functional module in each embodiment of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0122] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program with a predetermined function, and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.

[0123] The above are only specific implementations of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A method for repairing stored data, characterized in that: include: Determine a target storage unit in the memory that has a bit flip anomaly; Reading target storage data stored in the target storage unit; The target storage data is repaired according to the number of bit flipping bits of the target storage data.

2. The method according to claim 1, characterized in that Repairing the target storage data according to the number of bit flipping bits of the target storage data comprises: If the number of bit flipping of the target storage data is not greater than the preset number of repair bits, obtaining the target storage data after ECC correction processing; The target storage data after the ECC correction processing is written into the backup storage unit corresponding to the target storage data as the backup data corresponding to the target storage data.

3. The method according to claim 1, characterized in that Repairing the stored data according to the number of bit flipping of the target stored data, further comprising: If the number of bit flipping bits of the target storage data is greater than the preset number of repair bits but not greater than the maximum number of ECC error correction bits, obtaining the target storage data after ECC correction processing, wherein the preset number of repair bits is less than the maximum number of ECC error correction bits; The target storage data after the ECC correction process is rewritten into the target storage unit.

4. The method according to claim 3, characterized in that If the number of bit flipping bits of the target storage unit is greater than the preset number of repair bits but not greater than the maximum ECC error correction bit number, the method further includes: If the target storage data has backup data corresponding to it, the backup data corresponding to the target storage data is deleted, wherein the backup data corresponding to the target storage data is the target storage data after ECC correction processing backed up during the historical repair process of the target storage data.

5. The method according to claim 1, characterized in that Repairing the target storage data according to the number of bit flipping bits of the target storage data, further comprising: If the number of bit flipping bits of the target storage data is greater than the maximum ECC error correction bit, obtaining backup data corresponding to the target storage data, wherein the backup data corresponding to the target storage data is the target storage data after ECC correction processing backed up during the historical repair process of the target storage data; The backup data corresponding to the target storage data is written into the target storage unit, and the backup data corresponding to the target storage data is deleted.

6. The method according to claim 1, characterized in that The step of determining a target storage unit having a bit flip abnormality in the storage includes: A bit flip detection is performed on each storage unit in the memory by a hardware ECC verification method or a software ECC verification method, and a target storage unit in the memory having a bit flip abnormality is determined according to the ECC verification result.

7. The method according to claim 1, characterized in that The storage data repair method is executed on the memory at preset time intervals.

8. A storage data repair device, characterized in that: include: A determination unit, used to determine a target storage unit having a bit flip anomaly in the storage; A reading unit, used for reading the target storage data stored in the target storage unit; A repair unit is used to repair the target storage data according to the number of bit flipping bits of the target storage data.

9. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; The processor is configured to perform the method of any one of claims 1 to 7 by executing the executable instructions.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.