CN106407056B - 面向空间信息处理的可编程计算单元的检测修复系统及方法 - Google Patents
面向空间信息处理的可编程计算单元的检测修复系统及方法 Download PDFInfo
- Publication number
- CN106407056B CN106407056B CN201610839796.9A CN201610839796A CN106407056B CN 106407056 B CN106407056 B CN 106407056B CN 201610839796 A CN201610839796 A CN 201610839796A CN 106407056 B CN106407056 B CN 106407056B
- Authority
- CN
- China
- Prior art keywords
- data
- result
- computing unit
- module
- programmable computing
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Abstract
面向空间信息处理的可编程计算单元的检测修复系统及方法,本发明涉及可编程计算单元的检测修复系统及方法。本发明的目的是为了解决传统方式进行检测和修复一般需额外消耗3倍以上的计算资源和功耗,极大的影响FPGA在空间计算的性能提升和低功耗要求的问题。面向空间信息处理的可编程计算单元的检测修复系统包括:输入数据缓存模块;数据分段校验控制模块;数据处理模块;计算结果缓存模块;测试结果校验模块;结果输出控制模块;功能修复控制模块。本发明用于航天数据处理领域。
Description
技术领域
本发明涉及可编程计算单元的检测修复系统及方法。
背景技术
随着载荷性能的持续提升,姿轨控系统控制精度的提高,以及空间CPS(Cyber-Physical Systems)系统、在轨自主运行管理、在轨系统健康管理、装备人工智能等先进技术理念在卫星技术领域的逐步扩展,对星载计算机(On Board Computer,OBC)的计算和信息处理能力提出了更高的挑战。由于缺乏具有自主知识产权的核心技术,以及国外在敏感技术上的封锁,我国星载计算机系统性能远落后于世界先进水平,且发展缓慢,制约了卫星系统整体性能的提升,研发新一代高性能星载计算机系统已经迫在眉睫。随着商用处理器技术的蓬勃发展,工业级的ARM,DSP,SRAM工艺FPGA以及上述处理器的组合被应用于不用类型的航天实践。上述航天实践证明,采用基于SRAM工艺FPGA计算平台,可以满足航天高性能、定制化的计算需求。但SRAM工艺FPGA在空间应用中,易受空间粒子辐射的影响,产生单粒子效应,使其功能发生破坏,一次SRAM工艺FPGA在空间应用中需要实时的检测和修复其因单粒子效应而发生的损坏。传统使用三模冗余和配置回读的方式进行检测和修复,其一般需额外消耗3倍以上的计算资源和功耗,极大的影响FPGA在空间计算的性能提升和低功耗要求。特别是针对商业小卫星和低成本卫星,其对可靠性要求并不苛刻,对计算性能和成本要求极为苛刻的条件下,传统的方式难以满足要求。
发明内容
本发明的目的是为了解决传统方式进行检测和修复一般需额外消耗3倍以上的计算资源和功耗,极大的影响FPGA在空间计算的性能提升和低功耗要求的问题,而提出面向空间信息处理的可编程计算单元的检测修复系统及方法。
面向空间信息处理的可编程计算单元的检测修复系统包括:
用于存储待处理数据的输入数据缓存模块;
用于控制输入数据缓存模块是否接收待处理数据,分时对可编程计算功能单元进行检验的数据分段校验控制模块;
用于对数据分段校验控制模块输出的待处理数据进行处理,将处理结果输出到计算结果缓存模块中的数据处理模块;
用于对数据处理模块输出的处理结果进行缓存的计算结果缓存模块;
用于对数据处理模块中关键检查点的结果进行比对分析的测试结果校验模块;
用于在接收到测试结果校验模块输出的校验结果正确后,将计算结果缓存模块中的数据进行输出的结果输出控制模块;
用于在接收到测试结果校验模块输出的校验结果错误后,将损坏的可编程计算功能单元进行修复的功能修复控制模块。
面向空间信息处理的可编程计算单元的检测修复方法具体过程为:
步骤一、将待处理数据分割成M个包含N个待处理数据点的数据段,每个待处理数据点为一个独立的被可编程计算功能单元处理并能得到结果的数据集;
将待处理数据输入数据缓存模块,数据缓存模块对输入的待处理数据进行缓存;
M为任意一个整数;N为任意一个整数;
步骤二、将数据缓存模块中的待处理数据输入到数据分段校验控制模块中,数据分段校验控制模块判断数据缓存模块中输入的待处理数据点数是否达到分段点数N;若达到,数据分段校验控制模块将停止接收待处理数据,并停止向数据处理模块过程写入待处理数据,并同时控制输入数据缓存模块停止接收待处理数据,此时将预先设定的校验测试数据输入到数据处理模块过程中进行可编程计算功能单元测试;执行步骤三;
若未达到,执行步骤二,直到数据缓存模块中输入的待处理数据点数达到分段点数N;
步骤三、在数据处理模块处理过程中,可编程计算功能单元提取出在处理过程中预先设定的关键检查点的计算结果,并将可编程计算功能单元对测试校验数据点的处理结果与可编程计算功能单元提取出在处理过程中预先设定的关键检查点的计算结果进行结果校验;数据处理模块处理过程的计算处理结果均输出到计算结果缓存模块步骤中;若校验正确,执行步骤四;若校验错误,执行步骤五;
步骤四、表明自N-1次正确校验至N次校验的这一段数据的处理过程中可编程计算功能单元未发生损坏,测试结果校验模块确定其最终测试结果校验正确,当测试结果校验正确时,输入数据缓存模块中存储的待处理数据将无需继续存储,该输入数据缓存将清零,通过结果输出控制模块输出,执行步骤二;
步骤五、表明计算过程中,可编程计算功能单元已被损坏,测试结果校验模块确定其最终结果不能输出,因此自N-1次测试校验正确至N次测试校验正确之间的数据处理结果均为不可信结果,功能修复控制模块将对可编程计算功能单元进行修复,在可编程计算功能单元功能修复后重新输入到数据处理过程进行计算,执行步骤二。
本发明的有益效果为:
本方法采用数据分段测试校验的方法对可编程计算功能单元进行检测,监测其在运行过程中,由于空间粒子辐射引发的单粒子翻转等效应造成的计算功能损害。并根据检测结果,协同调度待处理的输入数据和计算输出结果,完成对发生损坏部分的功能单元的修复。同时可标识处理数据的可信度,并能将在故障期间处理的不准确数据进行标记,重新处理。从而极大的节约运算资源,保证系统工作的可靠性,提高数据处理性能。
附图说明
图1为本发明计算功能单元数据分段测试校验及修复方法原理;
图2为本发明分段测试校验及修复方法流程图。
具体实施方式
具体实施方式一:本实施方式的面向空间信息处理的可编程计算单元的检测修复系统包括:
用于存储待处理数据的输入数据缓存模块;
用于控制输入数据缓存模块是否接收待处理数据,分时对可编程计算功能单元进行检验,保证及时发现可编程计算功能单元的功能损坏的数据分段校验控制模块;
用于对数据分段校验控制模块输出的待处理数据进行处理,将处理结果输出到计算结果缓存模块中的数据处理模块;
用于确保输出的数据处理结果为可靠、正确的计算结果,对数据处理模块输出的处理结果进行缓存的计算结果缓存模块;
用于对数据处理模块中关键检查点的结果进行比对分析的测试结果校验模块;
用于在接收到测试结果校验模块输出的校验结果正确后,将计算结果缓存模块中的数据进行输出的结果输出控制模块;
用于在接收到测试结果校验模块输出的校验结果错误后,将损坏的可编程计算功能单元进行修复的功能修复控制模块。
具体实施方式二:结合图1、图2说明本实施方式,本实施方式的面向空间信息处理的可编程计算单元的检测修复方法具体步骤为:
步骤一、将待处理数据分割成M个包含N个待处理数据点的数据段,每个待处理数据点为一个独立的可以被可编程计算功能单元处理并能得到结果的数据集;
将待处理数据输入数据缓存模块,数据缓存模块对输入的待处理数据进行缓存;
M为任意一个整数;N为任意一个整数,其数值由空间故障率、每次计算时间和故障检测时间共同决定;
步骤二、将数据缓存模块中的待处理数据输入到数据分段校验控制模块中,数据分段校验控制模块判断数据缓存模块中输入的待处理数据点数是否达到分段点数N;若达到,数据分段校验控制模块:为提高计算性能并提高计算处理的可靠性,需要分时对可编程计算功能单元进行检验,保证及时发现可编程计算功能单元的功能损坏,同时,需要保证不因过多的检验导致计算性能的下降。因此在待处理数据的处理量达到一定点数后,数据分段校验控制模块将停止接收待处理数据,并停止向数据处理模块过程写入待处理数据,并同时控制输入数据缓存模块停止接收待处理数据,此时将预先设定的校验测试数据输入到数据处理模块过程中进行可编程计算功能单元测试;执行步骤三;
若未达到,执行步骤二,则将更多的数据输入到处理模块中进行处理,直到数据缓存模块中输入的待处理数据点数达到分段点数N;
步骤三、在数据处理模块处理过程中,可编程计算功能单元提取出在处理过程中预先设定的关键检查点的计算结果,并将可编程计算功能单元对测试校验数据点的处理结果与可编程计算功能单元提取出在处理过程中预先设定的关键检查点的计算结果进行结果校验;数据处理模块处理过程的计算处理结果均输出到计算结果缓存模块步骤中;若校验正确,执行步骤四;若校验错误,执行步骤五;
所述预先设定的关键检查点的计算结果为设计开始前进行提前计算得到,然后设定到模块中;
所述计算功能单元为在空间信息处理过程中用到的可编程计算功能单元,其由可编程逻辑实现,具备可重构或可重配置能力,在空间中可通过重构或重配置对其受空间环境的影响损坏的修复。
步骤四、表明自N-1次正确校验至N次校验的这一段数据的处理过程中可编程计算功能单元未发生损坏,测试结果校验模块确定其最终测试结果校验正确,当测试结果校验正确时,输入数据缓存模块中存储的待处理数据将无需继续存储,该输入数据缓存将清零,通过结果输出控制模块输出,执行步骤二;
步骤五、表明计算过程中,可编程计算功能单元已被损坏,由于可编程计算功能单元发生功能损坏后,可编程计算功能单元进行的数据处理至下次修复前的处理结果均为错误的结果,测试结果校验模块确定其最终结果不能输出,因此自N-1次测试校验正确至N次测试校验正确之间的数据处理结果均为不可信结果,功能修复控制模块将对可编程计算功能单元进行修复,为保证这部分已经进行计算的数据,在可编程计算功能单元功能修复后重新输入到数据处理过程进行计算,在原始数据输入时,数据缓存模块对原始数据点进行缓存处理,数据缓存模块缓存区的深度大于等于在两次校验之间原始数据点数据集的数据量,执行步骤二。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤三中测试校验数据点为已知的固定数据集,其可以作为测试用例完成对计算功能单元的内部各部分的校验测试。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中可编程计算功能单元对测试校验数据点的处理结果为已知。
其它步骤及参数与具体实施方式一至三之一相同。
具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤三中在数据处理模块处理过程中,可编程计算功能单元提取出在处理过程中预先设定的关键检查点的计算结果,并将可编程计算功能单元对测试校验数据点的处理结果与可编程计算功能单元提取出在处理过程中预先设定的关键检查点的计算结果进行结果校验;具体过程为:
根据在每次输入到可编程计算功能单元的测试点的处理结果,通过判断测试结果与已知结果是否一致从而判断可编程计算功能单元是否发生功能损坏,从而产生判断结果。
其它步骤及参数与具体实施方式一至四之一相同。
具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述步骤五中功能修复控制模块将对可编程计算功能单元进行修复,修复方法具体为:
重配置可编程计算功能单元的计算功能区、重配置可编程计算功能单元全局功能区。
其它步骤及参数与具体实施方式一至五之一相同。
Claims (6)
1.面向空间信息处理的可编程计算单元的检测修复系统,其特征在于:面向空间信息处理的可编程计算单元的检测修复系统包括:
用于存储待处理数据的输入数据缓存模块;
用于控制输入数据缓存模块是否接收待处理数据,分时对可编程计算单元进行检验的数据分段校验控制模块;
用于对数据分段校验控制模块输出的待处理数据进行处理,将处理结果输出到计算结果缓存模块中的数据处理模块;
用于对数据处理模块输出的处理结果进行缓存的计算结果缓存模块;
用于对数据处理模块中关键检查点的结果进行比对分析的测试结果校验模块;
用于在接收到测试结果校验模块输出的校验结果正确后,将计算结果缓存模块中的数据进行输出的结果输出控制模块;
用于在接收到测试结果校验模块输出的校验结果错误后,将损坏的可编程计算单元进行修复的功能修复控制模块。
2.面向空间信息处理的可编程计算单元的检测修复方法,其特征在于:面向空间信息处理的可编程计算单元的检测修复方法具体过程为:
步骤一、将待处理数据分割成M个包含N个待处理数据点的数据段,每个待处理数据点为一个独立的被可编程计算单元处理并能得到结果的数据集;
将待处理数据输入数据缓存模块,数据缓存模块对输入的待处理数据进行缓存;
M为任意一个整数;N为任意一个整数;
步骤二、将数据缓存模块中的待处理数据输入到数据分段校验控制模块中,数据分段校验控制模块判断数据缓存模块中输入的待处理数据是否达到分段点数N;若达到,数据分段校验控制模块将停止接收待处理数据,并停止向数据处理模块过程写入待处理数据,并同时控制输入数据缓存模块停止接收待处理数据,此时将预先设定的测试校验数据输入到数据处理模块过程中进行可编程计算单元测试;执行步骤三;
若未达到,执行步骤二,直到数据缓存模块中输入的待处理数据点数达到分段点数N;
步骤三、在数据处理模块处理过程中,可编程计算单元提取出在处理过程中预先设定的关键检查点的计算结果,并将可编程计算单元对测试校验数据点的处理结果与可编程计算单元提取出在处理过程中预先设定的关键检查点的计算结果进行结果校验;数据处理模块处理过程的计算处理结果均输出到计算结果缓存模块步骤中;若校验正确,执行步骤四;若校验错误,执行步骤五;
步骤四、表明自N-1次正确校验至N次校验的这一段数据的处理过程中可编程计算单元未发生损坏,测试结果校验模块确定其最终测试结果校验正确,当测试结果校验正确时,输入数据缓存模块中存储的待处理数据将无需继续存储,该输入数据缓存将清零,通过结果输出控制模块输出计算结果,执行步骤二;
步骤五、表明计算过程中,可编程计算单元已被损坏,测试结果校验模块确定其最终结果不能输出,则自N-1次测试校验正确至N次测试校验正确之间的数据处理结果均为不可信结果,功能修复控制模块将对可编程计算单元进行修复,在可编程计算单元功能修复后重新将待处理数据输入到数据处理模块进行计算,执行步骤二。
3.根据权利要求2所述面向空间信息处理的可编程计算单元的检测修复方法,其特征在于:所述步骤三中测试校验数据点为已知的固定数据集。
4.根据权利要求3所述面向空间信息处理的可编程计算单元的检测修复方法,其特征在于:所述步骤三中可编程计算单元对测试校验数据点的处理结果为已知。
5.根据权利要求4所述面向空间信息处理的可编程计算单元的检测修复方法,其特征在于:所述步骤三中在数据处理模块处理过程中,可编程计算单元提取出在处理过程中预先设定的关键检查点的计算结果,并将可编程计算单元对测试校验数据点的处理结果与可编程计算单元提取出在处理过程中预先设定的关键检查点的计算结果进行结果校验;具体过程为:
根据在每次输入到可编程计算单元的测试点的处理结果,通过判断测试结果与已知结果是否一致从而判断可编程计算单元是否发生功能损坏,从而产生判断结果。
6.根据权利要求5所述面向空间信息处理的可编程计算单元的检测修复方法,其特征在于:所述步骤五中功能修复控制模块将对可编程计算单元进行修复,修复方法具体为:
重配置可编程计算单元的计算功能区、重配置可编程计算单元全局功能区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610839796.9A CN106407056B (zh) | 2016-09-21 | 2016-09-21 | 面向空间信息处理的可编程计算单元的检测修复系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610839796.9A CN106407056B (zh) | 2016-09-21 | 2016-09-21 | 面向空间信息处理的可编程计算单元的检测修复系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407056A CN106407056A (zh) | 2017-02-15 |
CN106407056B true CN106407056B (zh) | 2019-06-11 |
Family
ID=57998166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610839796.9A Active CN106407056B (zh) | 2016-09-21 | 2016-09-21 | 面向空间信息处理的可编程计算单元的检测修复系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106407056B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672470B (zh) * | 2018-12-28 | 2021-04-13 | 航天东方红卫星有限公司 | 一种小卫星星上软件上注和重构地面测试验证方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551763A (zh) * | 2009-05-15 | 2009-10-07 | 中国人民解放军国防科学技术大学 | 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置 |
CN102354294A (zh) * | 2011-08-23 | 2012-02-15 | 西安空间无线电技术研究所 | 一种星载dsp芯片的空间单粒子翻转检测方法 |
CN104216791A (zh) * | 2013-05-30 | 2014-12-17 | 上海斐讯数据通信技术有限公司 | 一种校验Flash存储数据的方法 |
CN104579313A (zh) * | 2014-12-30 | 2015-04-29 | 北京控制工程研究所 | 一种基于配置帧的在轨sram型fpga故障检测与修复方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7263631B2 (en) * | 2004-08-13 | 2007-08-28 | Seakr Engineering, Incorporated | Soft error detection and recovery |
-
2016
- 2016-09-21 CN CN201610839796.9A patent/CN106407056B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551763A (zh) * | 2009-05-15 | 2009-10-07 | 中国人民解放军国防科学技术大学 | 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置 |
CN102354294A (zh) * | 2011-08-23 | 2012-02-15 | 西安空间无线电技术研究所 | 一种星载dsp芯片的空间单粒子翻转检测方法 |
CN104216791A (zh) * | 2013-05-30 | 2014-12-17 | 上海斐讯数据通信技术有限公司 | 一种校验Flash存储数据的方法 |
CN104579313A (zh) * | 2014-12-30 | 2015-04-29 | 北京控制工程研究所 | 一种基于配置帧的在轨sram型fpga故障检测与修复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106407056A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10083262B2 (en) | Deadlock detection in hardware design using assertion based verification | |
US9015025B2 (en) | Verifying processor-sparing functionality in a simulation environment | |
US11010505B2 (en) | Simulation of virtual processors | |
US20230342283A1 (en) | Waveform based reconstruction for emulation | |
Portela-Garcia et al. | Fault injection in modern microprocessors using on-chip debugging infrastructures | |
US8918747B2 (en) | Formal verification of a logic design | |
US20170219651A1 (en) | Iterative n-detect based logic diagnostic technique | |
CN105512372B (zh) | 模型化的星载数据处理仿真测试方法 | |
CN106407056B (zh) | 面向空间信息处理的可编程计算单元的检测修复系统及方法 | |
Villata et al. | Fast and accurate SEU-tolerance characterization method for Zynq SoCs | |
US9404972B2 (en) | Diagnosis and debug with truncated simulation | |
US9057765B2 (en) | Scan compression ratio based on fault density | |
US20150039950A1 (en) | Apparatus for capturing results of memory testing | |
US8601418B1 (en) | Instruction-by-instruction checking on acceleration platforms | |
Na et al. | Simulated fault injection using simulator modification technique | |
US9934118B2 (en) | Reducing SPQL tester time for the critical paths stress test | |
US7912693B1 (en) | Verifying configuration memory of a programmable logic device | |
US10831626B2 (en) | Method to sort partially good cores for specific operating system usage | |
CN108693466B (zh) | 一种边界扫描器件、装置及控制方法和扫描方法 | |
US8554522B2 (en) | Detection of design redundancy | |
Du et al. | Analysis and mitigation of SEUs in ARM-based SoC on Xilinx Virtex-V SRAM-based FPGAs | |
Lee et al. | Enhanced Soft Error Rate Estimation Technique for Aerospace Electronics Safety Design via Emulation Fault Injection | |
Drozd et al. | The use of natural resources for increasing a checkability of the digital components in safety-critical systems | |
Mamoutova et al. | On design of cache with efficient soft error protection | |
Martins et al. | Low cost fault detector guided by permanent faults at the end of fpgas life cycle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |