用于容错故障安全计算机系统的基于任务的表决的制作方法_5

文档序号:8395510阅读:来源:国知局
4相同。然而,仅主CPU204执行与轨道应用关联的任务。
[0113]将检查器CPU208配置为以与主CPU204步调一致地运行,然而,检查器CPU208不执行与轨道应用关联的任务。要理解,第一复本和第二复本是相同的应用。进一步要理解,第一复本和第二复本独立于彼此操作。基于任务的表决系统300基于向主SW缓冲器316和检查器SW缓冲器320写入的任务中的表决不匹配,确定在系统100中是否已经发生错误。
[0114]在一个实现中,在基准时钟的第二周期期间,主FPGA304将主SW写缓冲器312内的多个第一任务拷贝至主HW比较缓冲器316。基准时钟的第二周期可以在第一周期以后立即发生或者在第一周期后的预确定数量的周期以后发生。同时,在第二周期期间,检查器FPGA308将检查器SW写缓冲器320内的多个第二任务拷贝至检查器HW比较缓冲器324。以此方式,在第一周期期间由轨道应用向主SW写缓冲器312和检查器SW写缓冲器316写入的多个任务,在第二周期期间被移动至主HW比较缓冲器320和检查器HW比较缓冲器324。
[0115]然后,将多个第一任务和多个第二任务进行比较。在示例实现中,主FPGA304包括主比较模块328,检查器FPGA308包括检查器比较模块332。主比较模块328从主HW比较缓冲器316接收第一任务,从检查器HW比较缓冲器324接收第二任务。主比较模块328将第一任务与第二任务进行比较。主比较模块328基于该比较生成第一表决信号。例如,当主比较模块328确定第一任务和第二任务相同时,主比较模块328生成第一表决信号。主比较模块328将第一表决信号传递至主CPU204。相反,当主比较模块328确定第一任务和第二任务不同时,主比较模块328不生成第一表决信号。
[0116]类似地,检查器比较模块332从主HW比较缓冲器316接收第一任务,从检查器HW比较缓冲器324接收第二任务。检查器比较模块332将第一任务与第二任务进行比较。然后,检查器比较模块332基于该比较生成第二表决信号。例如,当检查器比较模块332确定第一任务和第二任务相同时,检查器比较模块332生成第二表决信号。检查器比较模块332将第二表决信号传递至主CPU204。相反,当检查器比较模块332确定第一任务和第二任务不同时,检查器比较模块332不生成第二表决信号。
[0117]主CPU204基于第一表决信号和第二表决信号,确定在主FPGA304和检查器FPGA308中是否发生表决不匹配。表决不匹配可以表示系统100内的错误。作为非限定性示例,当在第一周期期间第一复本和第二复本之一不写入主SW写缓冲器312或检查器SW写缓冲器320时,可能发生表决不匹配。可替代地,当在第一周期期间第一复本和第二复本之一部分地将数据写入主SW写缓冲器312或检查器SW写缓冲器320时,可能发生表决不匹配。
[0118]在一个实现中,当主CPU204接收第一表决信号和第二表决信号时,主CPU204确定未发生表决不匹配。主CPU204如上面描述那样连续地生成模块健康信号。当主CPU204未接收第一表决信号和第二表决信号中至少之一时,主CPU204确定发生表决不匹配。
[0119]当主CPU204确定已发生表决不匹配时,主CPU204使模块健康信号失效。要理解,主CPU204可以使先前生效的模块健康信号失效。例如,模块健康信号可以是连续生效的信号。当主CPU204确定已发生表决不匹配时,主CPU204使模块健康信号失效。
[0120]现在参考图4,用于实现基于任务的表决计算机系统的方法400在404处开始。在408处,方法400在第一时钟周期期间将多个第一任务写入主SW写缓冲器312。在412处,方法400在第一时钟周期期间将多个第二任务写入检查器SW写缓冲器320。在416处,方法400在第二时钟周期期间将多个第一任务写入主HW比较缓冲器316。在420处,方法400在第二时钟周期期间将多个第二任务写入检查器HW比较缓冲器324。在424处,方法400从主HW比较缓冲器324接收第一任务。
[0121]在428处,方法400从检查器HW比较缓冲器324接收第二任务。在432处,方法400基于第一任务和第二任务之间的第一比较,生成第一表决信号。在436处,方法400基于第一任务和第二任务之间的第二比较,生成第二表决信号。在440处,方法400确定是否生成第一表决信号和第二表决信号。如果是,则方法400在444处继续。如果否,则方法400在448处继续。在444处,方法400连续地生成模块健康信号。在448处,方法400使模块健康信号失效。方法400在452处结束。
[0122]已经为了说明和描述目的提供上面对实施例的描述。描述不旨在是详尽的或者限制本公开。特定实施例的单独元件或特征通常不局限于该特定实施例,而是可在适用时互换并且可以在选择的实施例中使用,即便未具体地示出或描述。本发明还可以以多种方式变化。这样的变化不应被视为背离本公开,并且所有这样的修改旨在包含在本公开的范围内。
[0123]本文中使用的术语“模块”可以指下面的组件、可以是下面的组件的一部分,或者可以包括下面的组件:专用集成电路(ASIC)、电子电路、组合逻辑电路、现场可编程门阵列(FPGA)、运行代码的处理器(共享的、专用的或它们的组合)、提供所描述的功能的其它适合的硬件组件、或者上面组件中一些组件或全部组件的组合,如在片上系统中。术语“模块”可以包括存储由处理器运行的代码的存储器(共享的、专用的或它们的组合)。
[0124]上面使用的术语“代码”可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类和/或对象。上面使用的术语“共享的”指来自多个模块的一些代码或全部代码可以使用单个(共享的)处理器运行。此外,来自多个模块的一些代码或全部代码可以由单个(共享的)存储器存储。上面使用的术语“组合”指来自单个模块的一些或全部代码可以使用一组处理器运行。此外,来自单个模块的一些或全部代码可以使用一组存储器存储。
[0125]本文描述的装置和方法可以被由一个或多个处理器运行的一个或多个计算机程序实现。计算机程序包括在非瞬态有形计算机可读介质上存储的处理器可运行指令。计算机程序还可以包括共享的数据。非瞬态有形计算机可读介质的非限定性示例是非易失性存储器、磁性存储和光存储。
【主权项】
1.一种系统,包括: 第一应用,所述第一应用在第一时钟周期期间将多个第一任务写至第一存储器缓冲器; 第二存储器缓冲器,所述第二存储器缓冲器在第二时钟周期期间接收所述多个第一任务的复本; 第二应用,所述第二应用在第一时钟周期期间将多个第二任务写至第三存储器缓冲器; 第四存储器缓冲器,所述第四存储器缓冲器在第二时钟周期期间接收所述多个第二任务的复本; 第一比较模块,所述第一比较模块接收所述多个第一任务中的第一任务和所述多个第二任务中的第二任务,并且基于所述第一任务和所述第二任务之间的第一比较,选择性地生成第一表决信号; 第二比较模块,所述第二比较模块接收所述多个第一任务中的所述第一任务和所述多个第二任务中的所述第二任务,并且基于所述第一任务和所述第二任务之间的第二比较,选择性地生成第二表决信号;和 第一中央处理单兀(CPU),该第一中央处理单兀基于所述第一表决信号和所述第二表决信号,选择性地确定是否使模块健康信号失效。
2.根据权利要求1所述的系统,其中所述第一CPU响应于接收所述第一表决信号和所述第二表决信号,确定不使所述模块健康信号失效。
3.根据权利要求1所述的系统,其中所述第一CPU响应于未接收所述第一表决信号,确定使所述模块健康信号失效。
4.根据权利要求1所述的系统,其中所述第一CPU响应于未接收所述第二表决信号,确定使所述模块健康信号失效。
5.根据权利要求1所述的系统,其中所述第一比较模块确定所述第一任务和所述第二任务是否相同。
6.根据权利要求5所述的系统,其中当所述第一比较模块确定所述第一任务和所述第二任务相同时,所述第一比较模块生成所述第一表决信号。
7.根据权利要求5所述的系统,其中当所述第一比较模块确定所述第一任务和所述第二任务不同时,所述第一比较模块不生成所述第一表决信号。
8.根据权利要求1所述的系统,其中所述第二比较模块确定所述第一任务和所述第二任务是否相同。
9.根据权利要求8所述的系统,其中当所述第二比较模块确定所述第一任务和所述第二任务相同时,所述第二比较模块生成所述第二表决信号。
10.根据权利要求8所述的系统,其中当所述第二比较模块确定所述第一任务和所述第二任务不同时,所述第二比较模块不生成所述第二表决信号。
11.一种方法,包括: 在第一时钟周期期间,写多个第一任务; 在第二时钟周期期间,拷贝所述多个第一任务; 在所述第一时钟周期期间,写多个第二任务; 在所述第二时钟周期期间,拷贝所述多个第二任务; 接收所述多个第一任务中的第一任务; 接收所述多个第二任务中的第二任务; 基于所述第一任务和所述第二任务之间的第一比较,选择性地生成第一表决信号; 基于所述第一任务和所述第二任务之间的第二比较,选择性地生成第二表决信号; 基于所述第一表决信号和所述第二表决信号,选择性地确定是否使模块健康信号失效。
12.根据权利要求11所述的方法,进一步包括:响应于接收所述第一表决信号和所述第二表决信号,确定不使所述模块健康信号失效。
13.根据权利要求11所述的方法,进一步包括:响应于未接收所述第一表决信号,确定使所述模块健康信号失效。
14.根据权利要求11所述的方法,进一步包括:响应于未接收所述第二表决信号,确定使所述模块健康信号失效。
15.根据权利要求11所述的方法,进一步包括:基于所述第一比较,确定所述第一任务和所述第二任务是否相同。
16.根据权利要求15所述的方法,进一步包括:基于所述第一任务和所述第二任务相同的确定,确定生成所述第一表决信号。
17.根据权利要求15所述的方法,进一步包括:基于所述第一任务和所述第二任务不同的确定,确定不生成所述第一表决信号。
18.根据权利要求11所述的方法,进一步包括:基于所述第二比较,确定所述第一任务和所述第二任务是否相同。
19.根据权利要求18所述的方法,进一步包括:基于所述第一任务和所述第二任务相同的确定,确定生成所述第二表决信号。
20.根据权利要求18所述的方法,进一步包括:基于所述第一任务和所述第二任务不同的确定,确定不生成所述第二表决信号。
【专利摘要】本发明公开用于容错故障安全计算机系统的基于任务的表决。一种系统包括:将多个第一任务写至第一存储器缓冲器的第一应用;接收多个第一任务的复本的第二存储器缓冲器;将多个第二任务写至第三存储器缓冲器的第二应用;以及接收多个第二任务的复本的第四存储器缓冲器。该系统进一步包括第一比较模块,其基于第一任务和第二任务之间的第一比较,生成第一表决信号。该系统进一步包括第二比较模块,其基于第一任务和第二任务之间的第二比较,生成第二表决信号。所述系统进一步包括第一中央处理单元(CPU),其基于所述第一表决信号和所述第二表决信号,选择性地确定是否使模块健康信号失效。
【IPC分类】G05B19-418
【公开号】CN104714510
【申请号】CN201310689941
【发明人】帕希·尤卡·彼得里·韦内尔, 马丁·彼得·约翰·科尔内斯, 江流
【申请人】艾默生网络能源-嵌入式计算有限公司
【公开日】2015年6月17日
【申请日】2013年12月16日
【公告号】US20150169426
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1