CN103870353A - 一种面向多核的可重构容错系统及方法 - Google Patents

一种面向多核的可重构容错系统及方法 Download PDF

Info

Publication number
CN103870353A
CN103870353A CN201410101450.XA CN201410101450A CN103870353A CN 103870353 A CN103870353 A CN 103870353A CN 201410101450 A CN201410101450 A CN 201410101450A CN 103870353 A CN103870353 A CN 103870353A
Authority
CN
China
Prior art keywords
processor unit
fault
tolerant
processor
tolerant control
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.)
Pending
Application number
CN201410101450.XA
Other languages
English (en)
Inventor
张少林
杨孟飞
刘鸿瑾
肖爱斌
刘波
华更新
吴一帆
杨桦
刘淑芬
姜宏
王若川
吴军
谭彦亮
曹志威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Control Engineering
Original Assignee
Beijing Institute of Control Engineering
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Control Engineering filed Critical Beijing Institute of Control Engineering
Priority to CN201410101450.XA priority Critical patent/CN103870353A/zh
Publication of CN103870353A publication Critical patent/CN103870353A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

一种面向多核的可重构容错系统及方法,采用了基于片上系统的多核处理器重构策略进行设计,提出了一种基于系统降级的多核容错机制,通过多核处理器工作模式的重构来提高系统的可靠性和容错能力,使得其能够适用于深空探测等复杂、恶劣环境下的工程应用。

Description

一种面向多核的可重构容错系统及方法
技术领域
本发明涉及一种面向多核的可重构容错系统及方法,适用于在空间恶劣环境下的星载计算机系统设计。
背景技术
当前空间任务对以星载计算机为代表的空间电子系统提出了更高的性能需求,主要表现在系统的体积、功耗、性能、可靠性等。传统星载计算机面临着更新换代的需求,迫切需要寻找一种新的系统架构。
片上系统(SoC)技术作为一种新的专用集成芯片设计方法,在民用和军事应用领域获得了快速发展,尤其是多核片上系统(MPSoC)凭借其高集成、低功耗、高性能、高可靠的特点逐渐为国内外航空航天机构所采纳。但是传统基于AISC设计的片上系统存在诸多问题,大多数片上系统采用ASIC设计而成,设计开发成本较高;AISC一经完成如若修改则需要重新进行设计,加剧了研制成本且周期较长。随着元器件工艺水平的不断进步,尤其是大规模可编程逻辑器件的出现和大量应用,基于可编程逻辑的可重构技术的为解决上述ASIC设计面临的问题提供了新的思路,尤其是可编程逻辑器件的出现和大规模应用以及设计工具方法的不断进步,使得用户能够在原有软硬件资源基础上对已完成设计进行修改,实现系统的功能扩展,提高了设计灵活性。
将可重构技术应用于多核片上系统设计中,通过对关键模块的重构可实现系统功能的扩展,此外还可以利用重构来完成对软硬件故障的恢复。目前面向多核的可重构片上系统逐渐成为国内外各大宇航机构的重要研究方向,如NASA从2009年起研制推出的可重构高性能四核星载计算机—SpaceCube,处理性能已经比当前NASA最强计算机增强了10多倍。可重构多核片上系统能够将传统庞大的冗余容错系统集成到集成芯片内实现,并采用了可重构设计方法,在降低体积、重量和功耗的同时,大大提高了系统的性能和可靠性。尤其是SRAM型FPGA支持对器件进行在线动态重配置,不仅可以在线对其某一区域单元进行重配置实现对应电路逻辑功能的改变,还可以通过对故障区域的在线部分重配置实现故障恢复。可重构技术不仅可以实现了系统的功能扩展,同时也提高了系统的可靠性。
然而,可重构多核片上系统仍面临着很多待解决的问题:系统的设计验证较复杂,缺乏良好的指导方法及验证手段;基于动态重配置的重构技术,充分利用了SRAM型FPGA的可动态部分重配置特点,但是在空间环境中SRAM型FPGA面临着严峻的空间辐射问题,需要考虑加固设计问题;目前的可重构过程大多需要人为事先设计,而对用户透明的自动化重构研究还处于初级阶段;另外,国内尤其是航天领域对可重构多核片上系统的研究明显落后于国内相同领域,有必要研究具备自主知识产权的可重构多核片上系统。
发明内容
本发明的技术问题:克服现有技术的不足,提供一种面向多核的可重构容错系统及方法,为满足当前星载处理器亟需更新换代的需求,通过多核处理器工作模式的重构来提高了系统的可靠性和容错能力,使得其能够适用于深空探测等复杂、恶劣环境下的工程应用。
本发明技术解决方案:一种面向多核的可重构容错系统,包括:处理器单元、容错控制系统和存储单元;其中:
处理器单元(PE,Processor Element)负责数据处理和命令执行;所述处理器单元采用四模冗余设计,在同一芯片内部集成了四个完全一样的处理器单元;四个处理器单元在容错控制系统的控制下组成冗余容错模式,每个处理器单元接收相同的处理任务,在全局同步时钟的驱动下进行数据和命令的执行,处理得到的结果输出到容错控制系统的表决器模块进行数据比对;
容错控制系统,实现容错处理和故障修复功能,包括表决器、重构容错控制模块和I/O控制模块;表决器负责接收四个处理器单元的数据输出,利用纯硬件逻辑来实现四个处理器单元输出结果进行表决,并将表决结果输出给I/O控制模块和重构容错控制模块;
重构容错控制模块,根据表决器和四个处理器单元的状态来完成对故障核的隔离、修复和同步;当有一个处理器单元发生故障时,重构容错控制模块识别发生故障的处理器单元,通过切断其数据输入并置该处理器单元健康状态为无效,将有故障的处理器单元从系统任务处理中隔离出来;同时进行系统工作模式的降级,即从QMR降级到三模冗余模式(TMR)或从TMR降级到二模冗余模式(DMR),保证系统能够以一个较高的可靠性运行;当故障核修复完成后,在操作系统和重构容错控制模块的控制下,新的处理器单元重新加入到系统任务处理中,同时系统完成工作模式的升级;
I/O控制模块,负责控制四个处理器单元对外的输入输出接口;根据表决器提供的处理器单元的状态信息,在时钟信号驱动下,将外部任务数据输入分发给处于健康状态的处理器单元,并和表决器配合将正确的处理结果进行选通输出;输入控制为了保证四个处理器单元任务输入一致性,进而保证四个处理器单元处理节奏的同步;
存储单元,为四个处理器单元各自配备了独立的片外RAM和ROM,对重构控制系统配备独立的存储单元,实现了各个模块之间的低耦合设计,降低了故障传播的风险,提高系统可靠性。
面向多核的可重构容错方法,实现步骤如下:
(1)系统上电后初始化,工作在四模冗余的拜占庭容错模式,四个处理器单元A、B、C、D执行相同的任务,处理结果进行四模比对后进行输出;
(2)某一时刻处理器单元A自检出现故障,或者在结果比对中处理器单元A与其它三个处理器单元B、C、D比对不一致次数超出了规定次数,则认为处理器单元A陷入了失效状态,此时在容错控制系统的作用下,将处理器单元A与其它处理器单元B、C、D隔离开来,不再接收和执行系统的处理任务,整个系统由之前的四模冗余的拜占庭容错模式,降级为三模冗余的TMR容错模式,实现了系统工作模式的降级容错;
(3)系统在TMR容错模式下工作,若此时处理器单元B发生故障,则容错控制系统将处理器单元B与处理器单元C、D隔离,处理器单元B不再接收系统的处理任务,此时系统由之前的TMR容错模式降级为双模冗余的DMR容错模式,实现了在TMR容错模式下的系统降级容错;
(4)系统在DMR模式下工作,此时处理器单元C和处理器单元D接收相同的系统处理任务,处理完成后进行双模比对后输出;若在比对过程中出现处理器单元C和处理器单元D结果不一致,则此时系统无法得出正确的处理结果,系统陷入完全故障状态。容错控制系统停止系统任务输入,控制整个系统进行全局复位或重配置,修复完成后系统进行初始化,四个处理器单元A、B、C、D重新组成四模冗余的拜占庭容错结构,进行工作。整个系统也就完成了DMR模式下的重构容错过错,并恢复到拜占庭容错模式下工作;
(5)系统重构升级过程,上述工作中出现故障的处理器单元A和处理器单元B被隔离后,在容错控制系统作用下进行故障修复,采用处理器单元复位或采用基于FPGA的在线部分重配置方法对故障处理器单元区域进行在线重构,将处理器单元从失效状态中恢复到健康的状态。修复完成的处理器单元A和处理器单元B自检通过后通知容错控制系统;
容错控制系统接到处理器单元B修复完成的通知后,根据系统处理任务,在下一个新任务执行之前,将处理器单元B重新加入到系统工作模块中,同时系统由双模冗余的DMR工作模式升级为三模冗余的TMR工作模式;
容错控制系统接到处理器单元A修复完成的通知后,根据系统处理任务,在下一个新任务执行之前,将处理器单元A重新加入到系统工作模块中,同时系统也就由三模冗余的TMR工作模式升级为四模冗余的拜占庭容错工作模式;
上述系统重构升级过程是在系统工作过程中根据处理器单元修复完成时机而实时进行的,一旦有处理器单元修复完成并通知容错控制系统后,容错控制系统便在下一个任务到来之前,将新修复完成的处理器单元加入到执行系统中,以实现系统的工作模式升级。
本发明与现有技术相比具有如下优点:
(1)持续高可靠的执行处理任务。
本发明针对空间应用等对可靠性要求较高的应用,采用系统级重构技术实现系统的降级重构,保证系统能够继续以高可靠容错模式工作。如图2所示,本系统初始工作在拜占庭容错模式下,若某一时刻某处理器发生故障,则系统降级为TMR模式继续工作,待对故障进行修复(复位或重配置)后,在容错控制系统和操作系统的控制下,重新回到拜占庭容错模式下继续工作。采用基于系统降级的容错方案可以使系统设计达到较高的可靠性,对比本容错方案、传统TMR结构同错方案以及单核结构在不同故障率(Pc)下系统的可靠概率如下图7所示,从图7中可以直观的看出本发明在单核故障率低于0.7的范围内比TMR结构和单核结构具有明显的优势。
(2)采用系统级重构设计提高了星载计算机系统的扩展性和灵活性。
本发明设计充分考虑了在空间应用中的不同阶段的任务处理需求,将系统级重构技术应用于多处理器核片上系统设计中,使其可以根据任务需求的不同,进行系统级的重构。例如,系统某时间段内处理可靠性要求较高的任务,它工作在四模冗余的拜占庭容错模式下,四个处理器单元分别执行相同的处理任务,将处理结果表决后,根据多数一致原则进行结果数据的比对,最终将正确的处理结果输出。
(3)基于动态部分重配置的在线故障修复方法。
系统在正常工作过程中,当某处理器单元发生故障后,在系统复位、处理器单元复位等方法已无法使其恢复到健康状态时,容错控制系统可以采用基于FPGA的在线部分重配置方法,对故障处理器单元区域进行在线重构。同时,该重构过程不影响系统其余健康单元的处理工作,在线完成系统故障的修复,该过程对处理任务完全透明。
(4)采用处理器单元与系统控制部分低耦合设计,提高了系统可靠性。
本发明设计的多核可重构系统将处理器单元部分与系统控制单元部分隔离开来,其中处理器单元采用具备动态可重配置功能的FPGA实现,而控制单元部分采用经空间应用验证的可靠性较高的反熔丝FPGA实现,保证整个控制单元的可靠性。低耦合设计使得整个系统分工明确,同时可以充分利用不同工艺技术带来的技术优势,保证系统较高可靠性的同时,提高了系统的功能扩展性和灵活性。
附图说明
图1为本发明系统结构示意图;
图2为处理器单元内部结构图;
图3为多核数据表决示意图;
图4为系统容错控制全局过程图;
图5为对故障核容错操作流程图;
图6为QMR容错工作模式示意图;
图7为TMR容错工作模式示意图;
图8为DMR容错工作模式示意图;
图9为基于系统降级、升级的重构过程示意图。
具体实施方式
如图1所示,本发明的面向多核可重构容错系统中的多核主要是指具有四个处理器单位,具体包括:四个处理器单元、容错控制系统和存储单元;其中处理器单元采用支持部分可重配置的SRAM型FPGA实现,重构容错控制模块采用片外ASIC或反熔丝FPGA实现,此外为四个器处理器单元和重构容错控制模块提供了独立的存储单元。
具体实施如下:
1.处理器单元(PE,Processor Element)
处理器单元是系统任务处理主要执行单位,本发明中的处理器单元具体内部功能结构设计可以根据系统功能需求进行不同的设计和修改,具备良好的可裁剪性。
本发明实现采用Gaisler公司的LEON3处理器,如图2所示,LEON3是一款基于SPARC V8架构的32位处理器核,其采用哈弗结构的七级流水线设计,具有独立的指令缓存和数据缓存,硬件乘法器和除法器,支持片上调试和多处理器核扩展。由于LEON3FT是目前公认的一款适用于宇航等复杂环境应用的高可靠嵌入式处理系统,目前已经在国际上获得了大量应用,且基于LEON3的开源IP和技术手册方便用户使用。可重构PE最小系统结构如图8所示,主要包括如下组成部分:LEON3处理器核、AMBA总线及控制器、DSU调试接口、存储控制器、UART、定时器、通用I/O接口等。
本发明中,处理器单元内部具有自检的健康状态信号,当处理器单元内部发生处理故障如内存溢出,校验错误等时该标志位将被置为有效。另外,系统时钟模块产生用于控制每个任务同步的最大执行周期,每个处理任务须在该控制周期内执行完毕,否则系统会认为该处理出现故障。
2.重构容错控制系统
重构容错控制模块包括表决器、重构容错模块和I/O控制模块三大部分。采用空间抗辐射强的反熔丝FPGA实现,系统软件存储在外部PROM中,以便在系统上电后自动加载,容错控制系统负责系统状态的监视和数据分发、比对等操作,以及对整个重构容错过程的控制等。重构控制系统与处理器单元在物理层上相隔离,并采用片外总线方式实现高速通讯。
(1)表决器
表决器负责接收四个处理器单元的数据输出,进行两两比对,将比对结果输出给IO控制模块和重构容错控制模块。针对数据输出的类型主要有两种比对策略:字节比对和逐比特位比对。字节比对主要针对数据容量不大,但较重要的处理结果数据。逐比特位的比对策略主要面向数据位宽较大的大容量数据流的比对。
表决器接收四个处理器单元A、B、C、D的数据结果输出,首先根据处理器单元的状态信号来判断正在工作的处理器单元数,如果处理器单元数为4,则表明四个处理器单元均在进行任务处理工作,系统工作在拜占庭容错模式(QMR)。如图3所示,表决器对四个处理器单元数据结果输入进行比对,根据多数一致的原则来决定正确的处理结果,并根据比对结果得出各个处理器单元的状态位信息,最终输出给重构容错控制模块。图3中为了简略起见,仅就比对结果中的四种典型情况给出图例,其余类似比对结果的处理操作雷同。
在四种典型比对结果中,存在一种四模冗余表决的特例情形,即如果处理器单元A与处理器单元B结果一致(假设其值均为X),而处理器单元C与处理器单元D结果也一致(其值均为Y),但X与Y不同,此时表决器无法判断出正确的处理结果,上次操作系统认为处理器单元故障,向上层操作系统报告错误信息,比对结束。
对于当前工作处理器单元数为3个、2个和1个的情况,表决器分别依照TMR三取二、两两比对和直接输出的方法进行数据表决,将表决结果输出系统容错控制系统。
(2)I/O控制模块
输入控制模块负责控制多处理器的对外的输入接口,该模块根据表决模块提供的处理器状态信息,在时钟信号驱动下,将外部任务数据输入分发给处于健康状态的处理器。输入控制主要为了保证四个处理器的任务输入一致性和同步性,进而保证四个处理器处理的同步一致。此外,系统控制模块还可以通过强制改变处理器状态信号值来强制将处理任务发送给特定的处理器。
为了提高输入控制模块的可靠性,系统设计中借鉴动态冗余设计思路,将输入控制模块进行了双模冗余设计,两个完全相同的输入控制模块组成双模备份系统,外部控制器通过使能信号来控制输入控制模块进行工作。一旦正在工作的输入控制模块故障,则系统控制使能信号使得备份控制模块使能有效,开始工作,加入到系统任务处理中。由于采用备份设计,且控制模块较简单,因此可采用片内IP集成方式实现也可采用片外专用电路模块方式实现。
(3)重构容错控制模块
重构容错控制模块是容错控制系统的重要部分,负责四个器处理工作状态的故障探测、隔离和故障修复,保证系统能够持续高可靠的进行任务的处理。该模块采用一种基于系统降级的重构容错策略,主要根据表决器以及处理器单元的状态来进行处理器单元故障的检测,当有处理器单元故障发生时负责完成系统的重构容错。
图4所示为系统容错控制过程实现流程图,说明如下:
(1)初始阶段系统上电复位,整个系统进行初始化,四个处理器单元A、B、C、D同时启动,组成四模冗余结构的拜占庭容错模式。此外,容错系统加载软件程序并启动运行,初始化复位四个处理器单元,并置其状态为“健康”,等待系统命令和任务数据输入。
(2)在某一时刻,系统程序将待处理的任务数据和相关命令传递到容错控制系统,在I/O控制模块的协助下将待处理任务数据分发给健康状态的处理器单元。
(3)各处于“健康”状态的处理器单元在规定的控制周期内独立执行任务处理,处理完成后将结果数据输出给表决器模块。若在规定的控制周期内未完成相应的处理,则置本处理器单元状态为故障,并通知容错控制系统,对应处理器单元的故障次数加1。处理器单元模块的处理结果经高速通信接口传输到容错控制系统的数据接收缓存中,等待进行处理结果比对。
(4)容错控制系统不断循环探测其接收缓存中的是否接收到数据,并设置一定等待周期,若在一定的等待周期内容错控制系统仍未接收到健康处理器单元的输出数据,则容错控制系统强制置对应处理器单元状态位为“不健康”,同时该处理器单元的故障次数加1。
(5)当容错控制系统接收到了所有处于“健康”状态的处理器单元的结果输出数据,表决器开始对健康处理器单元的输出结果进行数据比对(逐位或逐字节)。若表决结果显示所有“健康”处理器单元结果一致,转(6),否则转(7)。
(6)处于“健康”状态的处理器单元结果数据比对完全一致,则说明所有“健康”处理器单元在执行相同的操作后得到了相同的处理结果,没有故障产生,I/O控制模块根据实时的处理器单元状态信息选择正确的处理结果输出,转(10)。
(7)本轮参与任务处理的处理器单元比对结果不一致,容错控制系统判断通过多数一致原则是否可识别正确的结果,若可以识别正确结果,则通过I/O控制模块选择正确的处理结果输出,并将比对结果信息传递给容错控制系统,进行容错处理(详细过程见图5),转(10);否则,转(8)。
(8)参与处理的处理器单元的输出结果不一致,且容错控制系统根据多数一致原则仍无法识别正确处理结果。此时任务处理无法继续执行下去,控制软件保存当前的处理状态数据,整个处理模块须进行系统级全局重配置,以修复系统故障。
(9)重配置完成后,容错控制系统复位处理器单元,各个处理器单元进行自检,自检通过后置各处理器单元状态位为“健康”。由于出错的任务未能得到正确的结果输出,系统在控制软件的作用下,重新执行上次处理任务,处理系统回到步骤(2)继续工作。
(10)容错控制系统检测是否仍有等待处理的任务,若有,则由控制系统调度分配处理任务,系统继续工作,转步骤(11),否则处理结束,容错控制系统等待下次任务数据的输入。
(11)在执行新的任务处理前,容错控制系统检测是否有修复完成的故障核。若没有,则由系统调度软件给各处于“健康”状态的处理器单元分配处理任务,回到步骤(2),重新执行。否则,则存在已经修复完成的故障处理器单元,容错控制系统控制修复完成的故障处理器单元进行复位,并重新加载程序;待程序加载完成后,置对应的处理器单元状态标志位为“健康”,并加入到任务处理中;处理器单元进入就绪状态,等待系统调度程序分配处理任务数据,回到步骤(2)。
对于数据比对不一致的情况下,如果容错控制系统仍能够识别正确的处理结果,则系统进行容错处理,以处理器单元D为例,处理过程见图5所示,具体过程如下:
(1)容错控制系统按照“多数一致”的原则,识别处理结果与其他处理器单元不一致的处理器单元D,并记录处理器单元A的ID号;
(2)容错控制系统根据记录的ID号更新处理器单元D故障次数统计记录,将对应的故障次数加1;
(3)容错控制软件检测对应故障处理器单元D的故障次数是否超出了故障次数限制。如果故障次数超过了系统规定的次数,则系统对故障处理器单元D进行隔离操作,进入步骤5);否则,故障处理器单元D的发生故障的次数还未达到限制次数N,对故障处理器单元D进行复位操作,复位完成后进行自检,转入下一步;
(4)判断故障处理器单元D复位后自检情况。若果自检未出现故障,则容错处理结束,该处理器单元D继续等待接收系统处理任务。否则系统需对故障处理器单元D进行重配置操作,转入下一步;
(5)此时处理器单元D故障次数已经超出了系统限制次数或处理器单元复位后自检出现了故障,系统容错控制系统认为该处理器单元模块发生了复位操作不可修复的故障,即系统进入了一种严重错误状态。容错控制系统强制置该处理器单元D的状态位为“不健康”,并将该处理器单元D进行隔离,系统其他处理器单元继续新的处理任务。
(6)被隔离开的故障处理器单元D不再执行系统的任务处理,容错控制系统通过配置接口,对FPGA上对应的故障处理器单元D区域进行在线部分重配置,以修复故障。
(7)待部分重配置完成后,采用基于配置接口的回读校验功能进行配置数据的校验,以保证配置的正确性。
(8)容错控制系统将被隔离故障核的故障次数清零,该修复完成的处理器单元D等待容错控制系统对其进行初始化,以重新加入到系统任务处理过程中。
补充说明:
在上述容错处理的实现过程中,为了减轻偶然的瞬时故障对系统任务执行的影响,为每个处理器单元设置了一个故障次数限制N,只有当故障处理器单元比对错误的次数超过N时或处理器单元自检出现故障时,容错控制系统则认为对应的处理核出现了故障。
如图6、图7、图8所示为本设计系统工作在拜占庭模式(QMR)模式、TMR工作模式、DMR冗余模式的示意图。
如图6所示,系统工作在四模冗余的QMR模式,四个处理器单元接收相同的处理任务进行执行,当有某处理器单元发生故障时,容错控制系统将故障核隔离,降级为TMR工作模式。对于有两个处理器单元同时故障的情况,系统先降级为TMR容错模式,后在容错控制系统的配合下,继续降级为DMR模式下工作,同时对故障模块进行修复。
如图7所示,TMR模式下,容错控制系统控制IO模块将任务分发给三个健康的处理器单元。处理完成的结果数据在表决器进行三取二表决,将正确的结果输出。当有一个处理器单元发生故障时,其他两个正常工作的处理器单元仍能保证系统任务处理得到正确的结果。随后,容错控制系统切断该故障处理器单元的数据输入和输出,将其进行隔离并修复,同时系统由TMR模式降级为DMR模式。TMR模式工作期间,若有故障处理器单元修复完成,在容错控制系统的配合下修复完成的处理器单元重新加入到系统中工作,系统也就由TMR模式升级恢复到QMR工作模式。
如图8所示,在DMR模式,整个处理器部分只有两个处理器单元工作,容错控制系统将处理任务数据传递给两个健康的处理器单元,进行处理。处理完成的结果输出到表决器进行简单的数据一致比对。若比对一致,则输出,否则,容错控制系统无法识别正确的处理结果,系统陷入了一种全局故障状态,需要进行整个处理模块系统的全局重构,复位、初始化后重新回到QMR模式下工作。DMR模式工作期间,若有故障处理器单元修复完成后,容错控制系统将其状态置为健康,同时将任务数据发送该单元,处理系统重新升级到TMR模式下工作。
图9所示即为上述针对处理器单元故障的系统级重构过程示意图。图中给出了三种工作模式QMR、TMR、DMR模式之间的系统降级和升级过程说明,由于系统容错控制单元采用面向空间应用的成熟工艺实现,具有较高的可靠性。而处理器单元部分采用基于SRAM的FPGA方法实现,FPGA具备成本低、开发快速、集成度高和修改灵活的优势,但是它在空间应用中容易发生单粒子效应等故障,在线可重构技术可以提高对应模块的可靠性。本发明针对处理器单元的故障问题设计了基于在线部分重配置的系统级容错机制,在线实现对故障区域的隔离和重构修复,以提高系统的可靠性。
3.存储单元
存储单元是系统设计中的重要模块,尤其对于空间应用复杂辐射环境,存储模块需要进行单独的抗辐射保护设计。存储单元为采用3DPlus封装的SRAM和PROM,为每一个处理器单元和容错控制系统配置单独的SRAM和PROM,以实现各个处理器单元之间的低耦合设计,降低故障传播的概率。PROM中主要存储了相应的处理器单元配置信息以及相应的系统控制程序。
系统上电后容错控制系统从PROM中读取操作系统软件到SRAM中,该系统软件主要实现操作系统功能和对系统关键模块如表决器,IO控制模块和重构容错控制的监视和控制功能。其中表决器模块的具体实现既可以采用软件+DSP方式实现,也可以采用不包含软件的硬件表决器实现。

Claims (2)

1.一种面向多核的可重构容错系统,其特征在于包括:处理器单元、容错控制系统和存储单元;其中:
处理器单元(PE,Processor Element)负责数据处理和命令执行;所述处理器单元采用四模冗余设计,即在同一芯片内部集成了四个完全一样的处理器单元;四个处理器单元在容错控制系统的控制下组成冗余容错模式,每个处理器单元接收相同的处理任务,在全局同步时钟的驱动下进行数据和命令的执行,处理得到的结果输出到容错控制系统的表决器模块进行数据比对;
容错控制系统,实现容错处理和故障修复功能,包括表决器、重构容错控制模块和I/O控制模块;表决器负责接收四个处理器单元的数据输出,利用纯硬件逻辑来实现四个处理器单元输出结果进行表决,并将表决结果输出给I/O控制模块和重构容错控制模块;
重构容错控制模块,根据表决器和四个处理器单元的状态来完成对故障核的隔离、修复和同步;当有一个处理器单元发生故障时,重构容错控制模块识别发生故障的处理器单元,通过切断其数据输入并置该处理器单元健康状态为无效,将有故障的处理器单元从系统任务处理中隔离出来;同时进行系统工作模式的降级,即从QMR降级到三模冗余模式(TMR)或从TMR降级到二模冗余模式(DMR),保证系统能够以一个较高的可靠性运行;当故障核修复完成后,在操作系统和重构容错控制模块的控制下,新的处理器单元重新加入到系统任务处理中,同时系统完成工作模式的升级;
I/O控制模块,负责控制四个处理器单元对外的输入输出接口;根据表决器提供的处理器单元的状态信息,在时钟信号驱动下,将外部任务数据输入分发给处于健康状态的处理器单元,并和表决器配合将正确的处理结果进行选通输出;输入控制为了保证四个处理器单元任务输入一致性,进而保证四个处理器单元处理节奏的同步;
存储单元,为四个处理器单元各自配备了独立的片外RAM和ROM,对重构控制系统配备独立的存储单元,实现了各个模块之间的低耦合设计,降低了故障传播的风险,提高系统可靠性。
2.根据权利要求1所述的面向多核的可重构容错方法,其特征在于实现过程如下:
(1)系统上电后初始化,工作在四模冗余的拜占庭容错模式,四个处理器单元A、B、C、D执行相同的任务,处理结果进行四模比对后进行输出;
(2)某一时刻处理器单元A自检出现故障,或者在结果比对中处理器单元A与其它三个处理器单元B、C、D比对不一致次数超出了规定次数,则认为处理器单元A陷入了失效状态,此时在容错控制系统的作用下,将处理器单元A与其它处理器单元B、C、D隔离开来,不再接收和执行处理任务,整个系统由之前的四模冗余的拜占庭容错模式,降级为三模冗余的TMR容错模式,实现了系统工作模式的降级容错;
(3)系统在TMR容错模式下工作,若此时处理器单元B发生故障,则容错控制系统将处理器单元B与处理器单元C、D隔离,处理器单元B不再接收处理任务,此时系统由之前的TMR容错模式降级为双模冗余的DMR容错模式,实现了在TMR容错模式下的系统降级容错;
(4)系统在DMR模式下工作,此时处理器单元C和处理器单元D接收相同的系统处理任务,处理完成后进行双模比对后输出;若在比对过程中出现处理器单元C和处理器单元D结果不一致,则此时系统无法得出正确的处理结果,系统陷入了完全故障状态。容错控制系统停止系统任务输入,控制整个系统进行全局复位或重配置,修复完成后系统进行初始化,四个处理器单元A、B、C、D重新组成四模冗余的拜占庭容错结构,进行工作。整个系统完成了DMR模式下的重构容错过错,并恢复到拜占庭容错模式下工作;
(5)系统重构升级过程,上述工作中出现故障的处理器单元A和处理器单元B被隔离后,在容错控制系统作用下进行故障修复,采用处理器单元复位或采用基于FPGA的在线部分重配置方法对故障处理器单元区域进行在线重构,将处理器单元从失效状态中恢复到健康的状态。修复完成的处理器单元A和处理器单元B自检通过后通知容错控制系统;
容错控制系统接到处理器单元B修复完成的通知后,根据系统处理任务,在下一个新任务执行之前,将处理器单元B重新加入到系统工作模块中,同时系统由双模冗余的DMR工作模式升级为三模冗余的TMR工作模式;
容错控制系统接到处理器单元A修复完成的通知后,根据系统处理任务,在下一个新任务执行之前,将处理器单元A重新加入到系统工作模块中,同时系统也就由三模冗余的TMR工作模式升级为四模冗余的拜占庭容错工作模式;
上述系统重构升级过程是在系统工作过程中根据处理器单元修复完成时机而实时进行的,一旦有处理器单元修复完成并通知容错控制系统后,容错控制系统便在下一个任务到来之前,将新修复完成的处理器单元加入到执行系统中,以实现系统的工作模式升级。
CN201410101450.XA 2014-03-18 2014-03-18 一种面向多核的可重构容错系统及方法 Pending CN103870353A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410101450.XA CN103870353A (zh) 2014-03-18 2014-03-18 一种面向多核的可重构容错系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410101450.XA CN103870353A (zh) 2014-03-18 2014-03-18 一种面向多核的可重构容错系统及方法

Publications (1)

Publication Number Publication Date
CN103870353A true CN103870353A (zh) 2014-06-18

Family

ID=50908913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410101450.XA Pending CN103870353A (zh) 2014-03-18 2014-03-18 一种面向多核的可重构容错系统及方法

Country Status (1)

Country Link
CN (1) CN103870353A (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063295A (zh) * 2014-06-26 2014-09-24 北京控制工程研究所 一种多核操作系统可重构容错启动方法
CN104731670A (zh) * 2015-03-25 2015-06-24 北京空间飞行器总体设计部 一种面向卫星的轮换式星载计算机容错系统
CN104850530A (zh) * 2015-05-21 2015-08-19 西北工业大学 一种立方星星载计算机
CN104866460A (zh) * 2015-06-04 2015-08-26 电子科技大学 一种基于SoC的容错自适应可重构系统与方法
CN105550074A (zh) * 2015-12-08 2016-05-04 中国计量学院 航天计算机
CN105630732A (zh) * 2015-12-17 2016-06-01 西北工业大学 一种双模冗余微处理器的热切换方法
CN105653411A (zh) * 2015-12-28 2016-06-08 哈尔滨工业大学 支持局部永久故障恢复的多核处理器芯片可重构系统
CN107122256A (zh) * 2017-06-13 2017-09-01 北京邮电大学 动态修补的高性能片上缓存容错架构
CN107291580A (zh) * 2017-05-04 2017-10-24 复旦大学 计算机容错系统及方法
CN107833586A (zh) * 2017-11-28 2018-03-23 中科亿海微电子科技(苏州)有限公司 抗单粒子翻转的fpga三模冗余配置存储单元电路
CN108845971A (zh) * 2018-06-14 2018-11-20 国蓉科技有限公司 多处理器板重构系统及方法
CN109245164A (zh) * 2018-10-23 2019-01-18 北京天诚同创电气有限公司 模块化风电变流器的故障处理方法、装置以及系统
CN109582483A (zh) * 2017-09-29 2019-04-05 爱思开海力士有限公司 数据存储装置及其操作方法
CN109802928A (zh) * 2017-11-17 2019-05-24 中兴通讯股份有限公司 一种ssl/tls代理方法、装置、设备及存储介质
CN109979517A (zh) * 2019-03-07 2019-07-05 中科亿海微电子科技(苏州)有限公司 用于fpga的n模冗余配置存储单元电路
CN110134552A (zh) * 2019-05-09 2019-08-16 中国航空工业集团公司西安航空计算技术研究所 一种基于经验学习的容错方法
CN112416856A (zh) * 2020-11-30 2021-02-26 中国航空工业集团公司西安航空计算技术研究所 一种面向多核技术的分布式可重构机载容错系统
CN112667450A (zh) * 2021-01-07 2021-04-16 浙江大学 一种可动态配置的多核处理器容错系统
CN112698638A (zh) * 2021-03-23 2021-04-23 中国航空油料集团有限公司 一种工业控制器的调度方法及装置
CN113515312A (zh) * 2020-03-25 2021-10-19 华为技术有限公司 芯片启动方法、装置及计算机设备
CN116668230A (zh) * 2023-06-20 2023-08-29 西门子交通技术(北京)有限公司 云主机及多路比较方法
CN117215177A (zh) * 2023-11-09 2023-12-12 北京控制工程研究所 一种天地往返一体化控制系统及控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005744A1 (en) * 2005-06-30 2007-01-04 Rothman Michael A System and method to establish a peer-to-peer IT backbone
CN101281484A (zh) * 2008-05-12 2008-10-08 北京邮电大学 N模冗余表决系统
CN101493809A (zh) * 2009-03-03 2009-07-29 哈尔滨工业大学 一种基于fpga的多核心星载计算机
CN102724083A (zh) * 2012-05-25 2012-10-10 哈尔滨工程大学 基于软件同步的可降级三模冗余计算机系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005744A1 (en) * 2005-06-30 2007-01-04 Rothman Michael A System and method to establish a peer-to-peer IT backbone
CN101281484A (zh) * 2008-05-12 2008-10-08 北京邮电大学 N模冗余表决系统
CN101493809A (zh) * 2009-03-03 2009-07-29 哈尔滨工业大学 一种基于fpga的多核心星载计算机
CN102724083A (zh) * 2012-05-25 2012-10-10 哈尔滨工程大学 基于软件同步的可降级三模冗余计算机系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肖爱斌等: "星载计算机拜占庭容错设计与验证", 《空间控制技术与应用》 *

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063295A (zh) * 2014-06-26 2014-09-24 北京控制工程研究所 一种多核操作系统可重构容错启动方法
CN104063295B (zh) * 2014-06-26 2016-08-24 北京控制工程研究所 一种多核操作系统可重构容错启动方法
CN104731670A (zh) * 2015-03-25 2015-06-24 北京空间飞行器总体设计部 一种面向卫星的轮换式星载计算机容错系统
CN104731670B (zh) * 2015-03-25 2017-05-31 北京空间飞行器总体设计部 一种面向卫星的轮换式星载计算机容错系统
CN104850530A (zh) * 2015-05-21 2015-08-19 西北工业大学 一种立方星星载计算机
CN104850530B (zh) * 2015-05-21 2018-05-29 西北工业大学 一种立方星星载计算机
CN104866460B (zh) * 2015-06-04 2017-10-10 电子科技大学 一种基于SoC的容错自适应可重构系统与方法
CN104866460A (zh) * 2015-06-04 2015-08-26 电子科技大学 一种基于SoC的容错自适应可重构系统与方法
CN105550074A (zh) * 2015-12-08 2016-05-04 中国计量学院 航天计算机
CN105550074B (zh) * 2015-12-08 2018-06-19 中国计量大学 航天计算机
CN105630732B (zh) * 2015-12-17 2018-09-14 西北工业大学 一种双模冗余微处理器的热切换方法
CN105630732A (zh) * 2015-12-17 2016-06-01 西北工业大学 一种双模冗余微处理器的热切换方法
CN105653411B (zh) * 2015-12-28 2019-01-18 哈尔滨工业大学 支持局部永久故障恢复的多核处理器芯片可重构系统
CN105653411A (zh) * 2015-12-28 2016-06-08 哈尔滨工业大学 支持局部永久故障恢复的多核处理器芯片可重构系统
CN107291580A (zh) * 2017-05-04 2017-10-24 复旦大学 计算机容错系统及方法
CN107122256A (zh) * 2017-06-13 2017-09-01 北京邮电大学 动态修补的高性能片上缓存容错架构
CN107122256B (zh) * 2017-06-13 2018-06-19 北京邮电大学 动态修补的高性能片上缓存容错架构
CN109582483A (zh) * 2017-09-29 2019-04-05 爱思开海力士有限公司 数据存储装置及其操作方法
CN109802928B (zh) * 2017-11-17 2021-09-17 中兴通讯股份有限公司 一种ssl/tls代理方法、装置、设备及存储介质
CN109802928A (zh) * 2017-11-17 2019-05-24 中兴通讯股份有限公司 一种ssl/tls代理方法、装置、设备及存储介质
CN107833586A (zh) * 2017-11-28 2018-03-23 中科亿海微电子科技(苏州)有限公司 抗单粒子翻转的fpga三模冗余配置存储单元电路
CN108845971A (zh) * 2018-06-14 2018-11-20 国蓉科技有限公司 多处理器板重构系统及方法
CN109245164A (zh) * 2018-10-23 2019-01-18 北京天诚同创电气有限公司 模块化风电变流器的故障处理方法、装置以及系统
CN109979517A (zh) * 2019-03-07 2019-07-05 中科亿海微电子科技(苏州)有限公司 用于fpga的n模冗余配置存储单元电路
CN110134552A (zh) * 2019-05-09 2019-08-16 中国航空工业集团公司西安航空计算技术研究所 一种基于经验学习的容错方法
CN110134552B (zh) * 2019-05-09 2023-04-14 中国航空工业集团公司西安航空计算技术研究所 一种基于经验学习的容错方法
CN113515312A (zh) * 2020-03-25 2021-10-19 华为技术有限公司 芯片启动方法、装置及计算机设备
CN112416856A (zh) * 2020-11-30 2021-02-26 中国航空工业集团公司西安航空计算技术研究所 一种面向多核技术的分布式可重构机载容错系统
CN112667450A (zh) * 2021-01-07 2021-04-16 浙江大学 一种可动态配置的多核处理器容错系统
CN112667450B (zh) * 2021-01-07 2022-05-06 浙江大学 一种可动态配置的多核处理器容错系统
WO2022147990A1 (zh) * 2021-01-07 2022-07-14 浙江大学 一种可动态配置的多核处理器容错系统
CN112698638A (zh) * 2021-03-23 2021-04-23 中国航空油料集团有限公司 一种工业控制器的调度方法及装置
CN112698638B (zh) * 2021-03-23 2021-07-06 中国航空油料集团有限公司 一种工业控制器的调度方法及装置
CN116668230A (zh) * 2023-06-20 2023-08-29 西门子交通技术(北京)有限公司 云主机及多路比较方法
CN117215177A (zh) * 2023-11-09 2023-12-12 北京控制工程研究所 一种天地往返一体化控制系统及控制方法

Similar Documents

Publication Publication Date Title
CN103870353A (zh) 一种面向多核的可重构容错系统及方法
Avizienis Toward systematic design of fault-tolerant systems
CN111352338B (zh) 一种双余度飞控计算机及余度管理方法
US5903717A (en) Fault tolerant computer system
CN105045672B (zh) 一种基于sram fpga的多级容错加固卫星信息处理系统
Serlin Fault-tolerant systems in commercial applications
CN101493809B (zh) 一种基于fpga的多核心星载计算机
US20120210162A1 (en) State recovery and lockstep execution restart in a system with multiprocessor pairing
CN105607698B (zh) 一种星载计算机系统方案设计方法
CN103473156A (zh) 一种基于实时操作系统的星载计算机三机热备份容错方法
Siewiorek Architecture of fault-tolerant computers: An historical perspective
US20120210164A1 (en) Scheduler for multiprocessor system switch with selective pairing
CN102402220A (zh) 基于负荷分担式的容错飞行控制系统及故障检测方法
CN105549464A (zh) 面向中高轨卫星有效载荷的管控系统
CN108228391B (zh) 一种LockStep处理机及管理方法
CN104850530B (zh) 一种立方星星载计算机
Azeem et al. Error recovery technique for coarse-grained reconfigurable architectures
CN101802793A (zh) 处理飞行器机载系统的运行软件在调试阶段期间处理的信息容量的方法和实施该方法的设备
CN117573609B (zh) 一种具有冗余功能的片上系统及其控制方法
CN104063295A (zh) 一种多核操作系统可重构容错启动方法
CN104991844A (zh) 一种基于半定制寄存器文件的处理器及其容错方法
Yang et al. Architecture design for reliable and reconfigurable FPGA-based GNC computer for deep space exploration
Li et al. Transient fault tolerance on multicore processor in amp mode
Pancher et al. Nanosatellite On-Board Computer including a Many-Core Processor
Zhezhera et al. Development of a functionally sustainable system of orientation of a free battle flighting unit

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140618