Memory abnormal data recovery method, system and device and readable storage medium
By segmenting memory data and performing XOR operations to generate backup data, combined with CRC verification code to detect single particle flip, the problem of low memory resource utilization and tight failure in the existing technology is solved, and efficient memory data is achieved recover.
Patent Information
- Application Number
- CN202310992157.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-07
- Publication Date
- 2025-02-14
AI Technical Summary
Existing memory self-test and repair methods based on redundant backups lead to reduced utilization of device memory resources and may fail when memory resources are tight.
By dividing the memory data into several segments evenly, performing XOR operations to obtain backup data, and computing the CRC check code of each segment of data to detect the flip of a single particle, thereby restoring the abnormal data.
Reduces the extra memory space required to back up data, improves memory resource utilization, and reduces the possibility of fixing methods failing when memory resources are tight.
Smart Images

Figure CN119440909A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of memory self-checking and repairing, and in particular relates to a method, system, device and readable storage medium for recovering abnormal memory data. Background Art
[0002] The 0 / 1 logic state of a node in a modern CMOS integrated circuit is achieved by discharging and charging the node; if the node state is abnormally discharged or charged due to a soft error, it will cause a state error inside the circuit, which may eventually lead to the failure of the circuit function. In order to prevent single-particle upsets and avoid malfunction of relay protection equipment, the existing technology often adopts the following memory self-checking and repair methods based on redundant backup:
[0003] First, a copy of the data in the important data area is made as a backup, and the checksum of the data area is recorded at the same time; the checksum of the data area is calculated in real time during operation. When it is inconsistent with the recorded checksum, it is determined that a memory abnormality has occurred, and the backup data is used to restore the current area data to eliminate the memory abnormality; for memory data of any length, in hexadecimal, each data has 16 bits. Assuming that there are n data in total, if redundant backup is used, a total of 16*n bits of memory space are required; the storage method of memory data in memory is usually shown in Table 1 below:
[0004] Table 1
[0005] Row\bit 1 2 ... 15 16 1 X1,1 ... ... ... X1,16 2 ... ... ... ... ... ... ... ... ... ... ... n Xn,1 ... ... ... Xn,16
[0006] Therefore, the currently used memory self-check and repair methods based on redundant backup usually require double the storage space to store memory data and backup data, resulting in reduced utilization of device memory resources; and when device memory resources are tight, it may not be possible to provide sufficient memory space to store backup data, resulting in failure of the memory repair method. Summary of the invention
[0007] The purpose of the present invention is to provide a memory abnormal data recovery method, system, device and readable storage medium, which are used to solve the problem that the existing memory self-check and repair method based on redundant backup leads to reduced utilization of device memory resources and may fail when the device memory resources are tight.
[0008] In order to achieve the above object, the present invention provides a method for recovering abnormal memory data caused by a single event upset, comprising the following steps:
[0009] 1) Divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2;
[0010] 2) Before the software program is run, the data obtained by performing an XOR operation between each segment of memory data is stored as backup data, and the CRC check code of each segment of memory data is calculated and stored as a reference check code;
[0011] 3) During the running of the software program, the CRC check code of each segment of memory data is calculated in real time and compared with the stored reference check code; if the CRC check code of a segment of memory data is inconsistent with the stored reference check code, it is determined that a single-event inversion has occurred in the segment of memory data;
[0012] 4) According to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, the recovery value of the memory data of the segment is obtained, and the memory data of the segment is recovered.
[0013] The beneficial effect of the above technical solution is: on the basis of being able to complete the data recovery of abnormal memory that has a single particle flip, the size of the backup data used for memory data recovery is only the size of each segment of memory data after segmentation. Compared with the existing method of copying all memory data as backup data, the demand for additional memory space can be reduced to 1 / x of the existing memory space demand, thereby improving the utilization rate of device memory resources and minimizing the situation where the memory repair method fails due to the memory space for storing backup data when the device memory resources are tight.
[0014] Furthermore, the recovery value of the memory data is calculated as follows:
[0015] Data_i*=Data_1^Data_2^...^Data_i-1^Data_save^Data_i+1^...^Data_x
[0016] Among them, ^ is an exclusive OR operator, Data_i* is the recovery value of the memory data segment Data_i where a single particle inversion occurred, Data_2, ..., Data_i-1, Data_i+1, ..., Data_x are the memory data of other segments except the memory data of the segment where a single particle inversion occurred; x is the number of segments; Data_save is the stored backup data.
[0017] Furthermore, if n cannot be divided evenly by the number of segments, a corresponding number of all-0 data is added to the memory data so that the number of the increased memory data can be divided evenly by the number of segments.
[0018] The beneficial effect of the above technical solution is: if the number of memory data cannot be divided by the number of segmented segments, then by adding a corresponding number of all-0 data to the memory data, the number of increased memory data can be divided by the number of segmented segments, thereby ensuring that the average segmentation of the memory data can be carried out normally.
[0019] Furthermore, the number of segments is determined as follows:
[0020] F(x)=M(x)*P_m+T(x)*P_t
[0021] Among them, P_m is the influencing factor of memory consumption, P_t is the time influencing factor, P_m and P_t are both greater than 0, and P_m+P_t=1; M(x) is the influencing function of memory usage size on the software program, and T(x) is the influencing function of program execution cycle on the software program; solve the extreme value of F(x), and take the extreme point corresponding to the extreme value as the number of segments corresponding to the software program.
[0022] The beneficial effect of the above technical solution is: when determining the number of segments, the additional memory usage and the impact on the program execution cycle time are comprehensively considered, and the number of segments that is relatively balanced between the additional memory usage and the program execution cycle time is selected to make the overall running effect of the program software relatively optimal.
[0023] The present invention also provides a memory abnormal data recovery system for a single particle upset, comprising a processor, wherein the processor is used to execute program instructions to implement the following memory abnormal data recovery steps:
[0024] 1) Divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2;
[0025] 2) Before the software program is run, the data obtained by performing an XOR operation between each segment of memory data is stored as backup data, and the CRC check code of each segment of memory data is calculated and stored as a reference check code;
[0026] 3) During the running of the software program, the CRC check code of each segment of memory data is calculated in real time and compared with the stored reference check code; if the CRC check code of a segment of memory data is inconsistent with the stored reference check code, it is determined that a single-event inversion has occurred in the segment of memory data;
[0027] 4) According to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, the recovery value of the memory data of the segment is obtained, and the memory data of the segment is recovered.
[0028] The beneficial effect of the above technical solution is: on the basis of being able to complete the data recovery of abnormal memory that has a single particle flip, the size of the backup data used for memory data recovery is only the size of each segment of memory data after segmentation. Compared with the existing method of copying all memory data as backup data, the demand for additional memory space can be reduced to 1 / x of the existing memory space demand, thereby improving the utilization rate of device memory resources and minimizing the situation where the memory repair method fails due to the memory space for storing backup data when the device memory resources are tight.
[0029] Furthermore, the recovery value of the memory data is calculated as follows:
[0030] Data_i*=Data_1^Data_2^...^Data_i-1^Data_save^Data_i+1^...^Data_x
[0031] Among them, ^ is an exclusive OR operator, Data_i* is the recovery value of the memory data segment Data_i where a single particle inversion occurred, Data_2, ..., Data_i-1, Data_i+1, ..., Data_x are the memory data of other segments except the memory data of the segment where a single particle inversion occurred; x is the number of segments; Data_save is the stored backup data.
[0032] Furthermore, if n cannot be divided evenly by the number of segments, a corresponding number of all-0 data is added to the memory data so that the number of the increased memory data can be divided evenly by the number of segments.
[0033] The beneficial effect of the above technical solution is: if the number of memory data cannot be divided by the number of segmented segments, then by adding a corresponding number of all-0 data to the memory data, the number of increased memory data can be divided by the number of segmented segments, thereby ensuring that the average segmentation of the memory data can be carried out normally.
[0034] Furthermore, the number of segments is determined as follows:
[0035] F(x)=M(x)*P_m+T(x)*P_t
[0036] Among them, P_m is the influencing factor of memory consumption, P_t is the time influencing factor, P_m and P_t are both greater than 0, and P_m+P_t=1; M(x) is the influencing function of memory usage size on the software program, and T(x) is the influencing function of program execution cycle on the software program; solve the extreme value of F(x), and take the extreme point corresponding to the extreme value as the number of segments corresponding to the software program.
[0037] The beneficial effect of the above technical solution is: when determining the number of segments, the additional memory usage and the impact on the program execution cycle time are comprehensively considered, and the number of segments that is relatively balanced between the additional memory usage and the program execution cycle time is selected to make the overall running effect of the program software relatively optimal.
[0038] The present invention also provides a single-particle upset memory abnormal data recovery device, comprising:
[0039] Calculation and storage module: used to divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2; before the software program is run, the data obtained by performing XOR operation between the memory data segments is used as backup data and stored, and the CRC check code of each memory data segment is calculated and stored as a reference check code;
[0040] Comparison and judgment module: used to calculate the CRC check code of each memory data segment in real time during the running of the software program, and compare it with the stored reference check code; if the CRC check code of a certain memory data segment is inconsistent with the stored reference check code, it is determined that a single-particle inversion occurs in the memory data segment;
[0041] Recovery module: used to obtain the recovery value of the memory data segment according to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, and recover the memory data of the segment.
[0042] The device can achieve the same beneficial effects as the above-mentioned single-particle upset memory abnormal data recovery method.
[0043] The present invention also provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed, the method for recovering abnormal memory data caused by a single-particle upset as described above is implemented.
[0044] The computer-readable storage medium can achieve the same beneficial effects as the above-mentioned single-particle upset memory abnormal data recovery method. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 It is a flowchart of the method for recovering abnormal memory data due to a single particle upset in an embodiment of the method for recovering abnormal memory data due to a single particle upset of the present invention. DETAILED DESCRIPTION
[0046] In order to make the purpose, technical solutions and advantages of the present invention more clear, the present invention is further described in detail below with reference to the accompanying drawings and embodiments.
[0047] Embodiment of a method for recovering abnormal memory data caused by a single event upset
[0048] This embodiment provides a technical solution for a method for recovering abnormal memory data caused by a single particle upset. The method only recovers data in the case of a single particle upset, that is, a case where a single bit is flipped (1→0 or 0→1). Figure 1 , including the following steps:
[0049] 1) Divide n memory data into x segments evenly; the number of segments x and the number of memory data n are both integers and not less than 2;
[0050] If n is not divisible by x, add a corresponding number of all-0 data to the memory data so that the number of increased memory data can be divided by the number of segments; taking x=2 as an example, set n to an even number (when n is an odd number, add a row of all-0 data so that the increased n is an even number), and divide the increased memory data into 2 equal parts.
[0051] 2) Before the software program is run, the data obtained by performing an XOR operation between each segment of memory data is stored as backup data, and the CRC check code of each segment of memory data is calculated and stored as a reference check code;
[0052] That is, the backup data that needs to be stored in the end is expressed by the logical operation formula:
[0053] Data_save=Data_1^Data_2^...^Data_x
[0054] Wherein, ^ is an XOR operator, and Data_1, Data_2, ..., Data_x are the memory data segments obtained in step 1);
[0055] At the same time, the CRC checksum of Data_1 to Data_x is calculated and stored as a reference checksum (CRC represents the CRC operation of calculating the corresponding data):
[0056] Data_1_crc=CRC(Data_1) ...
[0058] Data_x_crc=CRC(Data_x)
[0059] It should be noted that Data_1 to Data_x here refer to the segmented memory data corresponding to the memory data before the software is run; Data_1_crc, ..., Data_x_crc are the reference check codes corresponding to each segment of memory data. Since the calculation method of the CRC check code belongs to the existing technology, it will not be repeated here.
[0060] Taking x=2 as an example, when n is already an even number or is supplemented to an even number, Data_1 represents the data from the 1st row to the n / 2th row in Table 1 (i.e., the 1st to the n / 2th memory data), and Data_2 represents the data from the n / 2+1th row to the nth row in Table 1 (i.e., the n / 2+1th to the nth memory data), then the backup data that needs to be stored in the end is:
[0061] Data_save=Data_1^Data_2
[0062] At the same time, the CRC checksum of Data_1 and Data_2 is calculated and stored:
[0063] Data_1_crc=CRC(Data_1)
[0064] Data_2_crc=CRC(Data_2)
[0065] Then Data_1_crc and Data_2_crc are reference check codes corresponding to the two segments of memory data respectively.
[0066] 3) During the running of the software program, the CRC check code of each segment of memory data is calculated in real time and compared with the stored reference check code; if the CRC check code of a segment of memory data is inconsistent with the stored reference check code, it is determined that a single-particle inversion has occurred in the segment of memory data; that is, during the running of the software, the CRC check code of the memory data Data_1~Data_x is calculated in real time. It should be noted that Data_1~Data_x here refers to the segmented memory data corresponding to the memory data of the current software running process; the calculated CRC check code of each segment of memory data is compared with the reference check codes Data_1_crc,...,Data_x_crc of the stored records respectively. If there is any inconsistency, it is determined to be a memory abnormality.
[0067] Taking x=2 as an example, during the software running process, the CRC check code of the segmented memory data Data_1 and Data_2 of the current software running process is calculated in real time and compared with the stored reference check codes Data_1_crc and Data_2_crc. If there is inconsistency, it is determined as a memory abnormality.
[0068] 4) According to the backup data and the memory data of other segments except the memory data of the segment where the single-particle inversion occurs, the recovery value of the memory data of the segment is obtained, and the memory data of the segment is recovered; specifically, the recovery value of the memory data is calculated as follows:
[0069] Data_i*=Data_1^Data_2^...^Data_i-1^Data_save^Data_i+1^...^Data_x
[0070] Among them, Data_i* is the recovery value of the memory data segment Data_i where the single particle inversion occurs, Data_2, ..., Data_i-1, Data_i+1, ..., Data_x are respectively the memory data of other segments except the memory data (i.e., Data_i) where the single particle inversion occurs in this segment; x is the number of segments; Data_save is the stored backup data; and the memory data Data_i of the segment where the single particle inversion occurs can be replaced by the recovery value Data_i* to complete the recovery of the memory data of the segment where the single particle inversion occurs.
[0071] Taking x=2 as an example, the abnormal memory segment is restored according to the backup data. Assuming that the data in the Data_1 memory segment is abnormal, the data to be restored in the Data_1 memory segment is:
[0072] Data_1*=Data_save^Data_2
[0073] Among them, Data_1* is the recovery value of the memory data segment Data_i where the single-particle inversion occurred, Data_2 is the memory data of other segments except the memory data of the segment where the single-particle inversion occurred (that is, Data_1); x is the number of segments; Data_save is the stored backup data; in this way, the data recovery of the abnormal memory where the single-particle inversion occurred can be completed, and the additional memory consumed is only 1 / 2 of the data size.
[0074] According to the above-mentioned memory data recovery method, data recovery of abnormal memory with single-particle flip can be completed, and the size of the backup data used for memory data recovery is only the size of each segment of memory data after segmentation, that is, the extra memory consumed to store the backup data used for memory data recovery only requires 1 / x of the overall memory data size; compared with the existing method of copying all memory data as backup data, the memory data recovery method of this embodiment can reduce the demand for extra memory space to 1 / x of the existing memory space demand, thereby improving the utilization rate of device memory resources, and can minimize the situation where the memory repair method fails due to insufficient memory space for storing backup data when the device memory resources are tight.
[0075] It should be noted that the value of x (i.e. the segment value of the segment) is not necessarily the larger the better. The larger the value of x, the less memory is consumed for storage, but the number of operation steps to be executed increases accordingly, and accordingly, the program execution cycle time becomes longer. In special cases where device memory resources are tight, the failure of the memory repair method can be avoided as much as possible by increasing the value of x. However, in general, when selecting the value of x, the additional memory usage and the impact on the program execution cycle time should be comprehensively considered.
[0076] In this embodiment, a suitable x value is selected by a weighted factor method, as follows:
[0077] F(x)=M(x)*P_m+T(x)*P_t
[0078] Among them, P_m is the influencing factor of memory consumption, P_t is the time influencing factor, P_m and P_t are both greater than 0, and P_m+P_t=1; M(x) is the influencing function of memory usage on the software program, and T(x) is the influencing function of the program execution cycle on the software program; solve the extreme value of F(x), and take the extreme point corresponding to the extreme value as the number of segments corresponding to the software program, that is, select the number of segments that is relatively balanced between the additional memory usage and the program execution cycle time, so as to make the overall running effect of the program software relatively optimal.
[0079] Embodiment of memory abnormal data recovery system based on particle flip
[0080] This embodiment provides a technical solution of a memory abnormal data recovery system for a single-particle upset, including a processor, the processor is used to execute program instructions to implement the following memory abnormal data recovery steps:
[0081] 1) Divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2;
[0082] 2) Before the software program is run, the data obtained by performing an XOR operation between each segment of memory data is stored as backup data, and the CRC check code of each segment of memory data is calculated and stored as a reference check code;
[0083] 3) During the running of the software program, the CRC check code of each segment of memory data is calculated in real time and compared with the stored reference check code; if the CRC check code of a segment of memory data is inconsistent with the stored reference check code, it is determined that a single-event inversion has occurred in the segment of memory data;
[0084] 4) According to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, the recovery value of the memory data of the segment is obtained, and the memory data of the segment is recovered.
[0085] Since the specific working mode and working principle of the memory abnormal data recovery system after single particle upset have been described in detail in the above-mentioned memory abnormal data recovery method embodiment after particle upset, they will not be repeated here.
[0086] Device Embodiment
[0087] A single-particle upset memory abnormal data recovery device of the present invention comprises:
[0088] Calculation and storage module: used to divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2; before the software program is run, the data obtained by performing XOR operation between the memory data segments is used as backup data and stored, and the CRC check code of each memory data segment is calculated and stored as a reference check code;
[0089] Comparison and judgment module: used to calculate the CRC check code of each memory data segment in real time during the running of the software program, and compare it with the stored reference check code; if the CRC check code of a certain memory data segment is inconsistent with the stored reference check code, it is determined that a single-particle inversion occurs in the memory data segment;
[0090] Recovery module: used to obtain the recovery value of the memory data segment according to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, and recover the memory data of the segment.
[0091] The specific calculation, comparison and control have been described in detail in the embodiment of the memory abnormal data recovery method of the above single particle upset, and will not be repeated here. The modules included in the device correspond to the steps of the memory abnormal data recovery method of the above single particle upset, and the device is actually a computer solution of the memory abnormal data recovery method of the above single particle upset.
[0092] Computer Readable Storage Medium Embodiments
[0093] A computer-readable storage medium embodiment of the present invention stores computer-executable instructions in the computer-readable storage medium, and the computer-executable instructions are used to implement a single-particle upset memory abnormal data recovery method introduced in the system embodiment when executed. The computer-readable storage medium can achieve the same beneficial effects as the above-mentioned single-particle upset memory abnormal data recovery method. The present invention has the following characteristics:
[0094] 1) After the memory data is evenly segmented, the XOR operation results between the memory data segments are used as the backup data required for abnormal memory data recovery. On the basis of being able to complete the data recovery of the abnormal memory that has a single particle flip, the size of the backup data used for memory data recovery is only the size of each memory data segment after segmentation. Compared with the existing method of copying all memory data as backup data, the memory data recovery method of the present invention can reduce the demand for additional memory space to 1 / x of the existing memory space demand, thereby improving the utilization rate of device memory resources and minimizing the situation where the memory repair method fails due to insufficient memory space for storing backup data when the device memory resources are tight.
[0095] 2) When determining the number of segments, comprehensively consider the additional memory usage and the impact on the program execution cycle time, and select the number of segments that is relatively balanced between the additional memory usage and the program execution cycle time, so that the overall running effect of the program software is relatively optimal.
[0096] 3) If the number of memory data cannot be divided by the number of segments, then a corresponding number of all-0 data is added to the memory data so that the number of increased memory data can be divided by the number of segments, thereby ensuring that the average segmentation of the memory data can be carried out normally.
[0097] It should be understood that the above specific embodiments of the present invention are only used to illustrate or explain the principles of the present invention, but do not constitute a limitation to the present invention.
Claims
1. A method for recovering abnormal memory data caused by a single event upset, characterized in that: The steps include: 1) Divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2; 2) Before the software program is run, the data obtained by performing an XOR operation between each segment of memory data is stored as backup data, and the CRC check code of each segment of memory data is calculated and stored as a reference check code; 3) During the software program running, the CRC checksum of each segment of memory data is calculated in real time and compared with the stored reference checksum; If the CRC checksum of a certain segment of memory data is inconsistent with the stored reference checksum, it is determined that a single event inversion has occurred in the segment of memory data; 4) According to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, the recovery value of the memory data of the segment is obtained, and the memory data of the segment is recovered.
2. The method for recovering abnormal memory data caused by a single event upset according to claim 1, characterized in that: The calculation method of the recovery value of the memory data is: Data_i*=Data_1^Data_2^...^Data_i-1^Data_save^Data_i+1^...^Data_x Among them, ^ is an exclusive OR operator, Data_i* is the recovery value of the memory data segment Data_i where a single particle inversion occurred, Data_2, ..., Data_i-1, Data_i+1, ..., Data_x are the memory data of other segments except the memory data of the segment where a single particle inversion occurred; x is the number of segments; Data_save is the stored backup data.
3. The method for recovering abnormal memory data caused by a single event upset according to claim 1 or 2, characterized in that: If n cannot be divided by the number of segments, a corresponding number of all-0 data is added to the memory data so that the number of increased memory data can be divided by the number of segments.
4. The method for recovering abnormal memory data caused by a single event upset according to claim 1 or 2, characterized in that: The number of segments is determined as follows: F(x)=M(x)*P_m+T(x)*P_t Among them, P_m is the influencing factor of memory consumption, P_t is the time influencing factor, P_m and P_t are both greater than 0, and P_m+P_t=1; M(x) is the influencing function of memory usage size on the software program, and T(x) is the influencing function of program execution cycle on the software program; solve the extreme value of F(x), and take the extreme point corresponding to the extreme value as the number of segments corresponding to the software program.
5. A memory abnormal data recovery system for a single event upset, characterized in that: The system comprises a processor, wherein the processor is used to execute program instructions to implement the following memory abnormal data recovery steps: 1) Divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2; 2) Before the software program is run, the data obtained by performing an XOR operation between each segment of memory data is stored as backup data, and the CRC check code of each segment of memory data is calculated and stored as a reference check code; 3) During the software program running, the CRC checksum of each segment of memory data is calculated in real time and compared with the stored reference checksum; If the CRC checksum of a certain segment of memory data is inconsistent with the stored reference checksum, it is determined that a single event inversion has occurred in the segment of memory data; 4) According to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, the recovery value of the memory data of the segment is obtained, and the memory data of the segment is recovered.
6. The memory abnormal data recovery system of single event upset according to claim 5, characterized in that: The calculation method of the recovery value of the memory data is: Data_i*=Data_1^Data_2^...^Data_i-1^Data_save^Data_i+1^...^Data_x Among them, ^ is an exclusive OR operator, Data_i* is the recovery value of the memory data segment Data_i where a single particle inversion occurred, Data_2, ..., Data_i-1, Data_i+1, ..., Data_x are the memory data of other segments except the memory data of the segment where a single particle inversion occurred; x is the number of segments; Data_save is the stored backup data.
7. The memory abnormal data recovery system of single event upset according to claim 5 or 6, characterized in that: If n cannot be divided by the number of segments, a corresponding number of all-0 data is added to the memory data so that the number of increased memory data can be divided by the number of segments.
8. The memory abnormal data recovery system of single event upset according to claim 5 or 6, characterized in that: The number of segments is determined as follows: F(x)=M(x)*P_m+T(x)*P_t Among them, P_m is the influencing factor of memory consumption, P_t is the time influencing factor, P_m and P_t are both greater than 0, and P_m+P_t=1; M(x) is the influencing function of memory usage size on the software program, and T(x) is the influencing function of program execution cycle on the software program; solve the extreme value of F(x), and take the extreme point corresponding to the extreme value as the number of segments corresponding to the software program.
9. A memory abnormal data recovery device for a single event upset, characterized in that: include: Computation storage module: used to divide n memory data into several segments evenly; the number of segments and n are both integers and not less than 2; Before the software program is run, the data obtained by performing an XOR operation between each segment of memory data is used as backup data and stored, and the CRC check code of each segment of memory data is calculated and stored as a reference check code; Comparison and judgment module: used to calculate the CRC check code of each segment of memory data in real time during the running of the software program, and compare it with the stored reference check code; If the CRC checksum of a certain segment of memory data is inconsistent with the stored reference checksum, it is determined that a single event inversion has occurred in the segment of memory data; Recovery module: used to obtain the recovery value of the memory data segment according to the backup data and the memory data of other segments except the memory data of the segment where the single particle inversion occurs, and recover the memory data of the segment.
10. A computer-readable storage medium storing computer-executable instructions, characterized in that: The computer executable instructions are used to implement the memory abnormal data recovery method caused by a single-particle upset as described in any one of claims 1 to 4 when executed.