CN103853661A - Space radiation-resisting fault detection method based on weighting Merkle tree - Google Patents
Space radiation-resisting fault detection method based on weighting Merkle tree Download PDFInfo
- Publication number
- CN103853661A CN103853661A CN201410060564.4A CN201410060564A CN103853661A CN 103853661 A CN103853661 A CN 103853661A CN 201410060564 A CN201410060564 A CN 201410060564A CN 103853661 A CN103853661 A CN 103853661A
- Authority
- CN
- China
- Prior art keywords
- fundamental block
- merkle
- hash value
- hash
- tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention discloses a space radiation-resisting fault detection method based on a weighting Merkle tree. The space radiation-resisting fault detection method is characterized by comprising the following steps of generating a corresponding weighting Merkle Hash tree for a critical code section by using a compiler; then carrying out fine-grained and high-efficiency error detection based on the Merkle Hash tree during task idle under the support of an operation system, thus providing a fine-grained and high-efficiency single-point error detection mechanism. The invention provides the fine-grained and high-efficiency single-point error detection mechanism which provides the support for realizing a radiation error-resisting system in a spaceflight application system.
Description
Technical field
The invention belongs to software reliability field, specifically, relate to a kind of anti-irradiation fault detection method in space of realizing based on weighting Merkle tree.
Background technology
Cosmic radiation is the significant threat that spacecraft faces.In space space, there are many high energy particles, these particles enter after semiconductor, ionize out a large amount of electric charges by coulomb interaction, thereby cause logic upset, the locking of semiconductor digital integrated circuit, even likely burn device, comprise specifically: single-particle inversion, single event latch-up and single event burnout, may cause the logic state in semiconductor circuit to be overturn, on the contrary from logical one be turned to logical zero or.The satellite failure that single particle effect causes 80% of the radiation effect fault sum that takes up space.Because cost and the power consumption of anti-irradiation device are very large, and performance is relatively low, therefore, in space electronic system, generally adopt software and hardware combining mode to complete error-detecting and the error recovery technique of single-particle inversion, and the single-particle inversion detection technique of high efficient and reliable is the key of anti-Irradiation Design.
The process variations that detection radiation brings becomes the basic function of Spacecraft Electronic system.In order to protect safety-critical software correctness, detection software enters error condition becomes the important proposition of Software for Design and operation.In safety-critical software, be a kind of effective method to the execution route protection of key code.Hash value is the integrity verification technology of a widespread use.Utilize Hash technology as required trace routine code whether change, once find inconsistently to make a mistake, can trigger fault recovering mechanism, thereby avoid system to enter into error condition.
In the application of the anti-irradiation in space, traditional Hash technology realizes the method for error-detecting, and following problems may be encountered conventionally:
1, the fault of space single-particle inversion be non-permanent nature, can be by rewriteeing and refreshing to recover original state, therefore to make mistakes be to need accurate Error Location in verification, position is more accurate, the efficiency that mistake is recovered is just higher;
2, whole code segment, data segment are carried out to Hash verification expense one by one excessive, and existence waste, according to sixteen principles, 20% focus code and hot spot data are often performed and access, its data integrity is very large for the impact of security of system, and remainder is less on security of system impact.
3, the impact position of space single-particle inversion is random, and problem may appear at code segment optional position, also may appear in the position of preserving Hash table, and simple Hash table cannot judge where Single Point of Faliure there will be.
Summary of the invention
The technical problem to be solved in the present invention is to overcome above-mentioned defect, provide a kind of and realize efficient error-detecting method based on weighting Merkle tree mode, by build the Merkle tree of the weighting based on fundamental block hash value for system code section, thereby the wrong report mechanism that can avoid hash value to be tampered bringing, and can fine granularity, carry out error-detecting efficiently, thereby for fine granularity, time data recovery mechanism provides strong support efficiently.
For addressing the above problem, the technical solution adopted in the present invention is:
The anti-irradiation fault detection method in space of realizing based on weighting Merkle tree, is characterized in that: step is as follows: utilize the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided.
Improve the structure of described weighting Merkle Hash tree as one;
1), in program compilation process, for the code segment of system, be that unit divides according to fundamental block; Fundamental block is the elementary cell that procedure order is carried out, once the first statement of fundamental block is performed, the statement of fundamental block inside also must be performed once so; If a fundamental block is excessive, fundamental block is split as to some fundamental blocks of uniform size, thereby total system code segment is divided into the fundamental block of N approximate size; In compilation process, calculate the hash value of the corresponding binary code of each fundamental block of above-mentioned establishment, obtain N hash value;
2), in compilation process, the calling graph that uses profiler instrument to generate, obtains critical path and the focus of system;
3), fundamental block carried out to focus value according to it arrange from high to Low, give respectively weighting coefficient i and be N, N-1, N-2 ..., 3,2,1; For the critical path of code segment, according to it, whether in critical path, corresponding fundamental block is given weighting coefficient j, is respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path); Calculate the weighting coefficient WP=i × j of each fundamental block;
4), fundamental block is arranged according to weighting coefficient WP, thereby build corresponding Merkle tree, wherein the hash value of each fundamental block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is the hash budget result of child node value: Hash (H)=hash (Hl|Hr);
5), Merkle leaf node sequence number and fundamental block code address are kept in a sparse matrix;
6), Merkle tree is kept in application configuration file;
Improve as one, the step that described single-particle inversion checks is as follows:
1), in system operational process, build consistance patrol task CircuitCheckTask, and consistance preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will set according to Merkle, whether the hash value of the each leaf node of verification consistent with the hash value that corresponding fundamental block calculates successively from left to right;
3), preliminary examination task PreCheckTask is according to the executing location mark of current safety mission critical, according to function calling relationship, checks that whether the hash value that its follow-up execution fundamental block is corresponding is consistent with the hash value of leaf node.
Improve as one, described hash value checking procedure is as follows:
1), if hash value comparative result is consistent, illustrate that single-point mistake does not appear in corresponding fundamental block and Merkle tree;
2), if hash value is inconsistent, illustrate that corresponding fundamental block and Merkle tree likely exist single-point mistake; Now, in order further to determine that whether single-point mistake appears in Merkle tree, by the hash value of the hash value consolidator father node of the hash value in Merkle tree and the right side brotgher of node, and compares with the hash value of father node; If comparative result is consistent, illustrate that single-point mistake occurs in corresponding fundamental block, answer mistake in using Restoration Mechanism that corresponding fundamental block is recovered; If comparative result is inconsistent, illustrate that Merkle table corresponding node exists single-point mistake, need to use fundamental block to recalculate corresponding hash value, and upgrade Merkle tree.
Owing to having adopted technique scheme, compared with prior art, the present invention utilizes the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided, provide support for realizing the wrong system of anti-irradiation in AEROSPACE APPLICATION system.
Merkle Hash tree can be compared and checking work, but travels through Merkle and set to search out the process need regular hour expense of corresponding leaf node.In order to reduce the time overhead of searching, this method has been introduced weighted value, focus and the critical path carried out according to program are calculated a weighted value, the left side that the focus fundamental block of repeatedly carrying out and the critical path fundamental block that must carry out are set near Merkle as far as possible, thus the speed of completeness check and the speed of traversal Merkle tree improved.
Use the basis of function fundamental block as Hash, carry out probability and whether be positioned on critical path thereby can calculate take fundamental block as unit it.This can improve the granularity of Hash verification on the one hand, can guarantee on the other hand the validity of each Hash check results.
Embodiment
Embodiment:
The anti-irradiation fault detection method in space of realizing based on weighting Merkle tree, step is as follows: utilize the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided.
In the present embodiment, the structure of described weighting Merkle Hash tree;
1), in program compilation process, for the code segment of system, be that unit divides according to fundamental block; Fundamental block is the elementary cell that procedure order is carried out, once the first statement of fundamental block is performed, the statement of fundamental block inside also must be performed once so; If a fundamental block is excessive, fundamental block is split as to some fundamental blocks of uniform size, thereby total system code segment is divided into the fundamental block of N approximate size; In compilation process, calculate the hash value of the corresponding binary code of each fundamental block of above-mentioned establishment, obtain N hash value.
2), in compilation process, the calling graph that uses profiler instrument to generate, obtains critical path and the focus of system.
3), fundamental block carried out to focus value according to it arrange from high to Low, give respectively weighting coefficient i and be N, N-1, N-2 ..., 3,2,1; For the critical path of code segment, according to it, whether in critical path, corresponding fundamental block is given weighting coefficient j, is respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path); Calculate the weighting coefficient WP=i × j of each fundamental block.
4), fundamental block is arranged according to weighting coefficient WP, thereby build corresponding Merkle tree, wherein the hash value of each fundamental block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is the hash budget result of child node value: Hash (H)=hash (Hl|Hr).
5), Merkle leaf node sequence number and fundamental block code address are kept to sparse matrix in a continuous array.
6), Merkle tree is kept in application configuration file.
In the present embodiment, the step that described single-particle inversion checks is as follows:
1), in system operational process, build consistance patrol task CircuitCheckTask, and consistance preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will set according to Merkle, whether the hash value of the each leaf node of verification consistent with the hash value that corresponding fundamental block calculates successively from left to right;
3), preliminary examination task PreCheckTask is according to the executing location mark of current safety mission critical, according to function calling relationship, checks that whether the hash value that its follow-up execution fundamental block is corresponding is consistent with the hash value of leaf node.
Described hash value checking procedure is as follows:
1), if hash value comparative result is consistent, illustrate that single-point mistake does not appear in corresponding fundamental block and Merkle tree;
2), if hash value is inconsistent, illustrate that corresponding fundamental block and Merkle tree likely exist single-point mistake; Now, in order further to determine that whether single-point mistake appears in Merkle tree, by the hash value of the hash value consolidator father node of the hash value in Merkle tree and the right side brotgher of node, and compares with the hash value of father node; If comparative result is consistent, illustrate that single-point mistake occurs in corresponding fundamental block, answer mistake in using Restoration Mechanism that corresponding fundamental block is recovered; If comparative result is inconsistent, illustrate that Merkle table corresponding node exists single-point mistake, need to use fundamental block to recalculate corresponding hash value, and upgrade Merkle tree.
Merkle Hash tree can be compared and checking work, but travels through Merkle and set to search out the process need regular hour expense of corresponding leaf node.In order to reduce the time overhead of searching, this method has been introduced weighted value, focus and the critical path carried out according to program are calculated a weighted value, the left side that the focus fundamental block of repeatedly carrying out and the critical path fundamental block that must carry out are set near Merkle as far as possible, thus the speed of completeness check and the speed of traversal Merkle tree improved.
Use the basis of function fundamental block as Hash, carry out probability and whether be positioned on critical path thereby can calculate take fundamental block as unit it.This can improve the granularity of Hash verification on the one hand, can guarantee on the other hand the validity of each Hash check results.
Claims (4)
1. the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree, is characterized in that: step is as follows: utilize the weighting Merkle Hash tree that compiler is corresponding for critical code section generates; Then under operating system is supported, when task is idle, carry out fine granularity, efficient error-detecting based on Merkle Hash tree, thereby fine granularity, efficient single-point error detection mechanism are provided.
2. according to the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree described in claim 1, it is characterized in that: the structure of described weighting Merkle Hash tree;
1), in program compilation process, for the code segment of system, be that unit divides according to fundamental block; Fundamental block is the elementary cell that procedure order is carried out, once the first statement of fundamental block is performed, the statement of fundamental block inside also must be performed once so; If a fundamental block is excessive, fundamental block is split as to some fundamental blocks of uniform size, thereby total system code segment is divided into the fundamental block of N approximate size; In compilation process, calculate the hash value of the corresponding binary code of each fundamental block of above-mentioned establishment, obtain N hash value;
2), in compilation process, the calling graph that uses profiler instrument to generate, obtains critical path and the focus of system;
3), fundamental block carried out to focus value according to it arrange from high to Low, give respectively weighting coefficient i and be N, N-1, N-2 ..., 3,2,1; For the critical path of code segment, according to it, whether in critical path, corresponding fundamental block is given weighting coefficient j, is respectively 1.2(critical path), the general path of 1.0(), 0.8(abnormality processing path); Calculate the weighting coefficient WP=i × j of each fundamental block;
4), fundamental block is arranged according to weighting coefficient WP, thereby build corresponding Merkle tree, wherein the hash value of each fundamental block is the leaf node of Merkle Hash tree, and the hash value of intermediate node is the hash budget result of child node value: Hash (H)=hash (Hl|Hr);
5), Merkle leaf node sequence number and fundamental block code address are kept in a sparse matrix;
6), Merkle tree is kept in application configuration file.
3. according to the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree described in claim 2, it is characterized in that: the step that described single-particle inversion checks is as follows:
1), in system operational process, build consistance patrol task CircuitCheckTask, and consistance preliminary examination task PreCheckTask;
2), patrol task CircuitCheckTask will set according to Merkle, whether the hash value of the each leaf node of verification consistent with the hash value that corresponding fundamental block calculates successively from left to right;
3), preliminary examination task PreCheckTask is according to the executing location mark of current safety mission critical, according to function calling relationship, checks that whether the hash value that its follow-up execution fundamental block is corresponding is consistent with the hash value of leaf node.
4. according to the anti-irradiation fault detection method in space of realizing based on weighting Merkle tree described in claim 3, it is characterized in that: described hash value checking procedure is as follows:
1), if hash value comparative result is consistent, illustrate that single-point mistake does not appear in corresponding fundamental block and Merkle tree;
2), if hash value is inconsistent, illustrate that corresponding fundamental block and Merkle tree likely exist single-point mistake; Now, in order further to determine that whether single-point mistake appears in Merkle tree, by the hash value of the hash value consolidator father node of the hash value in Merkle tree and the right side brotgher of node, and compares with the hash value of father node; If comparative result is consistent, illustrate that single-point mistake occurs in corresponding fundamental block, answer mistake in using Restoration Mechanism that corresponding fundamental block is recovered; If comparative result is inconsistent, illustrate that Merkle table corresponding node exists single-point mistake, need to use fundamental block to recalculate corresponding hash value, and upgrade Merkle tree.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410060564.4A CN103853661B (en) | 2014-02-21 | 2014-02-21 | The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410060564.4A CN103853661B (en) | 2014-02-21 | 2014-02-21 | The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103853661A true CN103853661A (en) | 2014-06-11 |
CN103853661B CN103853661B (en) | 2016-08-31 |
Family
ID=50861338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410060564.4A Active CN103853661B (en) | 2014-02-21 | 2014-02-21 | The space Flouride-resistani acid phesphatase fault detection method realized based on weighting Merkle tree |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103853661B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109767245A (en) * | 2019-01-08 | 2019-05-17 | 中国联合网络通信集团有限公司 | Consumption information checking method, equipment and storage medium |
CN110837505A (en) * | 2019-11-06 | 2020-02-25 | 杭州复杂美科技有限公司 | State data storage method, state data synchronization device and storage medium |
US20220244310A1 (en) * | 2021-01-29 | 2022-08-04 | Siemens Aktiengesellschaft | Electrical operating device and method for recognizing malfunctions |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005459A (en) * | 2007-01-18 | 2007-07-25 | 西安电子科技大学 | Radio sensor access control method based on key chain |
CN101853190A (en) * | 2010-06-04 | 2010-10-06 | 华中科技大学 | Data integrity verification method suitable for embedded processor |
US20110283085A1 (en) * | 2010-05-17 | 2011-11-17 | Oracle International Corporation | System and method for end-to-end data integrity in a network file system |
-
2014
- 2014-02-21 CN CN201410060564.4A patent/CN103853661B/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101005459A (en) * | 2007-01-18 | 2007-07-25 | 西安电子科技大学 | Radio sensor access control method based on key chain |
US20110283085A1 (en) * | 2010-05-17 | 2011-11-17 | Oracle International Corporation | System and method for end-to-end data integrity in a network file system |
CN101853190A (en) * | 2010-06-04 | 2010-10-06 | 华中科技大学 | Data integrity verification method suitable for embedded processor |
Non-Patent Citations (2)
Title |
---|
陈龙等: "一种细粒度数据完整性检验方法", 《计算机学报》 * |
陈龙等: "有限域上高效的细粒度数据完整性检验方法", 《计算机学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109767245A (en) * | 2019-01-08 | 2019-05-17 | 中国联合网络通信集团有限公司 | Consumption information checking method, equipment and storage medium |
CN110837505A (en) * | 2019-11-06 | 2020-02-25 | 杭州复杂美科技有限公司 | State data storage method, state data synchronization device and storage medium |
CN110837505B (en) * | 2019-11-06 | 2022-07-19 | 杭州复杂美科技有限公司 | State data storage method, state data synchronization device and storage medium |
US20220244310A1 (en) * | 2021-01-29 | 2022-08-04 | Siemens Aktiengesellschaft | Electrical operating device and method for recognizing malfunctions |
Also Published As
Publication number | Publication date |
---|---|
CN103853661B (en) | 2016-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hillier et al. | Error Detection and Correction On‐Board Nanosatellites Using Hamming Codes | |
CN101281481B (en) | Method for error correcting and detecting for memory anti-single particle overturn | |
EP2748707B1 (en) | Digital error correction | |
CN102521062A (en) | Software fault-tolerant method capable of comprehensively on-line self-detection single event upset | |
CA3053855C (en) | Data-storage method and apparatus, and data-recovery method and apparatus | |
CN105279049A (en) | Method for designing triple-modular redundancy type fault-tolerant computer IP core with fault spontaneous restoration function | |
CN109491821A (en) | Primary particle inversion resistant hardened system and method | |
CN103853661A (en) | Space radiation-resisting fault detection method based on weighting Merkle tree | |
KR101667400B1 (en) | Apparatus and method for generating and detecting single event upset | |
Gottscho et al. | Software-defined error-correcting codes | |
Thati et al. | Comparative study on data error detection techniques in embedded systems | |
CN110489268B (en) | Two-stage error correction coding method and system applied to storage system in satellite severe environment | |
CN102355348A (en) | Fault-tolerant data encryption standard (DES) algorithm accelerator | |
Bouissou et al. | Boolean approximation for calculating the reliability of a very large repairable system with dependencies among components | |
Sooraj et al. | Fault tolerant FSM on FPGA using SEC-DED code algorithm | |
CN101826045B (en) | On-line restoration method of permanent fault circuit of reconfigurable satellite-borne computer | |
Tong et al. | Effectiveness and failure modes of error correcting code in industrial 65 nm CMOS SRAMs exposed to heavy ions | |
An et al. | Evaluation of fault-tolerant composite field AES S-boxes under multiple transient faults | |
Fouad et al. | Context-aware resources placement for SRAM-based FPGA to minimize checkpoint/recovery overhead | |
Sadi et al. | Soft error tolerance in memory applications | |
Fouad et al. | Reliability assessment of backward error recovery for SRAM-based FPGAs | |
Wang et al. | Mars Attacks! Software Protection Against Space Radiation | |
CN112036117B (en) | CRC (cyclic redundancy check) control system suitable for parallel input data with multiple bit widths | |
Vaisakhi et al. | Novel Double Modular Redundancy Based Fault-Tolerant FIR Filter for Image Denoising. | |
Ilayaranimangammal et al. | Exposure and expulsion the soft errors in digital systems using redundancy techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100094 No. 28, Yongfeng Road, Beijing, Haidian District Patentee after: Beijing Shenzhou Aerospace Software Technology Co.,Ltd. Address before: 100094 No. 28, Yongfeng Road, Beijing, Haidian District Patentee before: BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |