发明名称 |
可全面在线自检测单粒子翻转的软件容错方法 |
摘要 |
可全面在线自检测单粒子翻转的软件容错方法,包括:存储器地址链接配置、容错处理参数生成模块、容错处理A模块和容错处理B模块的执行,DMA分段读取程序存储器数据通过校验算法动态生成容错处理参数并进行冗余存储;容错处理B模块用于自主实时监测应用程序和容错处理A模块的运行,容错处理A用于实时容错处理B的运行,一旦程序发生单粒子翻转,从ROM加载相应代码段,达到对应用程序代码纠错的目的,整个实现过程通过DMA方式进行,不占用CPU时间,在纠错的同时保证程序实时运行,提高了软件在轨运行的可靠性和安全性,同时节省了大量的硬件成本和时间成本,提高了效率。 |
申请公布号 |
CN102521062A |
申请公布日期 |
2012.06.27 |
申请号 |
CN201110387908.9 |
申请日期 |
2011.11.29 |
申请人 |
西安空间无线电技术研究所 |
发明人 |
吴国春;吴化军;陶晓霞;徐丽娜;钟兴旺;王一唯;林梦园 |
分类号 |
G06F11/07(2006.01)I;G06F13/28(2006.01)I |
主分类号 |
G06F11/07(2006.01)I |
代理机构 |
中国航天科技专利中心 11009 |
代理人 |
安丽 |
主权项 |
可全面在线自检测单粒子翻转的软件容错方法,其特征在于包括:存储器地址链接配置、容错处理参数生成模块、容错处理A模块和容错处理B模块的执行,步骤如下:(1)存储器地址链接配置将存储器地址分成ROM_A区、ROM_B,根据编译链接分别对应程序存储器的RAM_A,RAM_B;所述ROM_A区只放置容错处理B模块的程序代码,所述ROM_B区放置所有应用程序的程序代码,及容错处理参数生成模块和容错处理A模块的程序代码;(2)容错处理参数生成模块通过DMA的两个通道DMA1和DMA2分别将RAM_A,RAM_B的程序代码搬移到程序代码对应的数据区,通过校验算法动态生成容错处理A模块和容错处理B模块所有的校验参数,并分别对校验参数进行冗余存储;(3)容错处理A模块容错处理A用于自主实时监测程序存储器RAM_A区内程序代码的运行,一旦该程序代码发生单粒子翻转错误,则记录所述错误信息,并启动纠错功能,从ROM_A中读取程序代码覆盖RAM_A区程序代码,保证RAM_A区程序代码安全健康运行;(4)容错处理B模块容错处理B用于自主实时监测程序存储器RAM_B区内程序代码的运行,一旦该程序代码发生单粒子翻转错误,则记录所述错误信息,并启动纠错功能,从ROM_B中读取程序代码覆盖RAM_B区程序代码,保证RAM_B区程序代码安全健康运行;(5)获取上述步骤(1)存储器ROM_A区、RAM_A区的起始地址、存储器ROM_B区、RAM_B区的起始地址,读取通过编译链接后的生成的MAP表中程序代码信息,查看RAM_A区、RAM_B区的程序代码长度,将 这些信息作为容错处理参数生成模块、容错处理A模块和容错处理B模块中的实参予以调用,从而全面在线实现整个程序代码单粒子翻转错误的检错纠错。 |
地址 |
710100 陕西省西安市长安区西街150号 |