EDAC故障注入与检测方法技术

技术编号:21089426 阅读:56 留言:0更新日期:2019-05-11 09:54
本发明专利技术提供一种EDAC故障注入与检测方法,读取EDAC故障注入的触发点,读取EDAC故障处理中断程序被激活的检查点;执行被测软件的目标码,目标码执行至触发点位置时,暂停执行目标码,通过仿真器连接目标板在触发点位置向内存区间注入1位EDAC故障,在EDAC故障处理中断程序的结尾设置检测点,删除触发点,继续执行目标码;执行被测软件的目标码,若发生EDAC故障,则目标码的执行暂停在检查点位置,检测EDAC故障发生的故障地址的数据内容是否被修正,记录故障地址,保存检查点,继续执行目标码。解决了采用常规思维无法在短时间内检查大量内存区间的EDAC故障容错处理,能够有效节省时间和人力成本。

【技术实现步骤摘要】
EDAC故障注入与检测方法
本专利技术涉及软件故障注入检测领域,具体地,涉及EDAC故障注入与检测方法,尤其是涉及一种针对大内存区间高效实现EDAC故障注入与检测方法。
技术介绍
由于外太空复杂的环境,内存很可能被高辐射电离子击穿而导致内存数据读取错误而影响星载软件的正常执行,软件能否长时间的可靠性运行直接决定了人造卫星的命运,关系着前期国家巨大的投入。每个上天软件面对着大量内存区间的EDAC故障检测都需要花费几十天甚至几个月时间,这一直是故障注入软件面临的一个技术难题,通过本技术方法可以高效的解决这方面的问题,提高至少10倍效率,从而可以全面检测所有需要检测的内存区间,该技术方法同样适用于其它可修复故障的故障检测。传统的EDAC故障注入方法主要有定时注入法、定点注入法,其中,定时注入法是下载软件目标码,首先将被测试软件运行起来,启动故障注入设备定时器,定时停止被测试软件运行所在的处理器,向某个32位的内存注入EDAC故障,设置检查点,然后检测该内存是否发生了该故障,重复注入和验证过程。定点注入法是下载软件目标码,设置触发点,首先启动被测试软件运行到触发点指定的地址,故障注入设备向某个32位的内存注入EDAC故障,删除触发点,设置检查点,然后检测该内存是否发生了该故障,重复加载、注入和验证过程。传统的EDAC故障注入方法在处理上天软件的EDAC故障检测方面效率过低,耗费时间成本过高。本专利技术针对于内存区间为32位的EDAC故障注入与验证时间和定点注入法基本相同,但针对大内存区间故障注入减少了大量的重复的工作,将一个难以完成或不可能完成的故障容错检测任务变成了只需要很少投入就可以完成的任务,极大地提高故障注入效率。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种EDAC故障注入与检测方法。根据本专利技术提供的一种EDAC故障注入与检测方法,包括以下步骤,确定故障触发点步骤:读取EDAC故障注入的触发点,所述触发点至少一个;确定故障检查点步骤:读取EDAC故障处理中断程序被激活的检查点,所述检查点至少一个;注入EDAC故障步骤:执行被测软件的目标码,目标码执行至触发点位置时,暂停执行目标码,通过仿真器连接目标板在触发点位置向内存区间注入1位EDAC故障,在EDAC故障处理中断程序的结尾设置检测点,删除触发点,继续执行目标码;故障检测步骤:执行被测软件的目标码,若发生EDAC故障,则目标码的执行暂停在检查点位置,检测EDAC故障发生的故障地址的数据内容是否被修正,记录故障地址,保存检查点,继续执行目标码。优选地,所述触发点处于已完成数据初始化的内存区间。优选地,检查点处于EDAC故障发生后被测软件需要运行的异常处理函数内结束的位置。优选地,所述内存区间划定为每32位数据为一个内存区间,一个内存区间注入1位EDAC故障。优选地,所述向内存区间注入1位EDAC故障为一次性向内存区间注入EDAC故障。与现有技术相比,本专利技术具有如下的有益效果:1、本专利技术针对于1位反转EDAC故障注入与监测的优化,解决了采用常规思维无法在短时间内检查大量内存区间的EDAC故障容错处理;2、本专利技术实施难度低,自动化程度高,非常适用于可修复的故障注入与验证,且不限定是EDAC故障;3、本专利技术能够有效节省时间和人力成本。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术的框架示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。根据本专利技术提供的一种EDAC故障注入与检测方法,包括以下步骤,确定故障触发点步骤:读取EDAC故障注入的触发点,所述触发点至少一个;确定故障检查点步骤:读取EDAC故障处理中断程序被激活的检查点,所述检查点至少一个;注入EDAC故障步骤:执行被测软件的目标码,目标码执行至触发点位置时,暂停执行目标码,通过仿真器连接目标板在触发点位置向内存区间注入1位EDAC故障,在EDAC故障处理中断程序的结尾设置检测点,删除触发点,继续执行目标码;故障检测步骤:执行被测软件的目标码,若发生EDAC故障,则目标码的执行暂停在检查点位置,检测EDAC故障发生的故障地址的数据内容是否被修正,记录故障地址,保存检查点,继续执行目标码。在具体的实施方式中,软件研发人员分析出EDAC故障注入的合适触发点和EDAC故障被激活的合适检查点。加载被测试软件的目标码全速运行至选定的触发点,通过仿真器连接目标板一次性向所有需要注入的内存区间注入1位EDAC故障,同时在选定的检查点EDAC故障处理中断程序的结尾设置一个检测点,删除触发点,继续运行被测试目标码。所述一次性注入即工具通过内存读接口从目标机内存中读出所有数据到主机缓存,接着在主机缓存中每32位注入(修改)1位的EDAC故障数据,然后将注入过故障的主机缓存一次性再通过内存写接口写回到目标机及内存中。通过一次性注入,这样将会大量减少主机与目标机之间的交互时间。当EDAC故障发生时被测软件会停在检查点所在的位置,检测当前发生的EDAC故障所在的地址数据内容是否被修正,并记录下当前EDAC故障地址,在保留检查点的前提下继续运行被测试目标码。重复故障检测步骤直到被测软件运行停止。所述故障修正是指1位EDAC故障发生异常后,程序会进入EDAC故障中断程序,在中断程序代码中针对于EDAC故障的内存数据通过研发工程师预先写入的存储指令进行修复处理。程序运行到检查点时工具立即通过内存读接口读取当前故障内存数据,并与注入前的原始内存数据比较,若二者相等则表示内存数据已被软件修正成功,否则则表示修正失败。所述保留检查点是保留检查点的硬件断点不被删除,被测试程序下次运行到该断点时会自动停止。所述合适触发点,不同于传统定点故障注入下的触发点,这里合适的触发点优先选择程序已经完成了被测试内存区间的数据初始化动作,后续执行主要是针对有关这些内存的读取操作,因为EDAC故障主要是在读取某32位内存时内存某位或某几位发生反转导致的故障。所述合适检查点,通常是EDAC故障发生后被测试软件需要运行的异常处理函数内靠近结束的位置。因为1位EDAC故障是具有可修复的故障,在此处其可以获取内存地址也可验证内存中值是否被修正。触发点和检查点采用硬件断点也是非常关键的一步,在响应速度上经过有效验证比起软件断点有很大的提高,本速度针对于大区间的内存EDAC故障注入也起到了非常大的变化。本专利技术采用每32位数据注入1位EDAC故障,因为1位反转下的EDAC故障是可修复,也就是说可在不需要重新下载目标码和复位的前提下继续运行。一次性向内存区间数据中注入所有EDAC故障,这有助于减少与目标系统频繁的通信和交互时间。在故障检测步骤中保留检查点设置的断点设定运行,这样可减少不必要与目标系统的通信设置断点的时间,尽可能提高效率。本专利技术的EDAC故障注入与检测方法在处理大内存区间时实现了高效率,下面针对本专利技术与传统方法的故障注入耗时进行分析对比,假设被测试目标码被加载复位时间本文档来自技高网
...

【技术保护点】
1.一种EDAC故障注入与检测方法,其特征在于,包括以下步骤:确定故障触发点步骤:读取EDAC故障注入的触发点,所述触发点至少一个;确定故障检查点步骤:读取EDAC故障处理中断程序被激活的检查点,所述检查点至少一个;注入EDAC故障步骤:执行被测软件的目标码,目标码执行至触发点位置时,暂停执行目标码,通过仿真器连接目标板在触发点位置向内存区间注入1位EDAC故障,在EDAC故障处理中断程序的结尾设置检测点,删除触发点,继续执行目标码;故障检测步骤:执行被测软件的目标码,若发生EDAC故障,则目标码的执行暂停在检查点位置,检测EDAC故障发生的故障地址的数据内容是否被修正,记录故障地址,保存检查点,继续执行目标码。

【技术特征摘要】
1.一种EDAC故障注入与检测方法,其特征在于,包括以下步骤:确定故障触发点步骤:读取EDAC故障注入的触发点,所述触发点至少一个;确定故障检查点步骤:读取EDAC故障处理中断程序被激活的检查点,所述检查点至少一个;注入EDAC故障步骤:执行被测软件的目标码,目标码执行至触发点位置时,暂停执行目标码,通过仿真器连接目标板在触发点位置向内存区间注入1位EDAC故障,在EDAC故障处理中断程序的结尾设置检测点,删除触发点,继续执行目标码;故障检测步骤:执行被测软件的目标码,若发生EDAC故障,则目标码的执行暂停在检查点位置,检测EDAC故障发生的故障地址的数据内容是否...

【专利技术属性】
技术研发人员:张必勇秦炜张志强徐曙清
申请(专利权)人:上海创景信息科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1