基于编码的Vxworks系统软件存储防护技术研究文献综述

 2022-11-30 14:34:27

文 献 综 述

摘要:本综述首先阐述在外设存储器中程序出错的应用场景中采用软件防护的必要性;接着简要介绍了单事件翻转的具体含义;然后介绍了对单事件翻转软件防护的具体方法;最后展示了一些在航空航天以及其他领域的具体实践。

关键字:软件存储器,单事件翻转,软件防护方案,纠错编码, 冗余编码

  1. 前言

存储器是电路系统中的核心器件之一,它存储着极为重要的程序或者数据。由瞬态错误所引起的一位错误或者相关多位错误引发的存储器问题会引起导致系统运行异常,一般来说出现随机独立的多位错误情况较少。为了预防这种问题,本课题预计设计一个与之相关的处理方案,用来对存储单元中的系统应用软件的程序或数据进行维护,以应对可能出现的内部逻辑状态变化问题,确保应用程序能够正确地执行。

Vxworks系统在电力系统中有着广泛的应用,对该嵌入式平台下软件的可靠稳定运行进行保障有着重要的意义。对于电离、辐照环境下的Vxworks系统,存储在其存储空间中的软件可能会面临比特翻转的情况从而导致软件无法正常运行。为了对存储器上的软件运行可靠性进行保障,需要展开基于编码的Vxworks系统软件存储防护技术研究,该研究对于保障Vxworks系统软件运行安全有着重要的意义。

  1. 单事件翻转的研究现状

单事件翻转 (SEU)引起的位翻转是内存芯片中一个众所周知的问题。 R. Koga提出了在航空航天领域微电路单事件故障通常是由重离子引起的[1],并测试了从简单的逻辑电路到微处理器的相关器件,包括双极、CMOS和NMOS技术的例子。 R. Reed曾研究过重离子和质子诱导的单事件多次加厚的课题[2],他提出在高密度静态存储器中,单个电离重离子事件会导致两个或多个相邻内存单元改变逻辑状态,以及入射的重离子所产生的扰动通常是由于单个粒子事件引起的。C. I. Underwood在对由萨里大学设计和建造的5颗近地轨道微型卫星机载数据处理系统中运行的商用现货存储设备的辐射影响的研究中[3],验证了辐射环境的工业标准计算机模型,并阐述了内存设备行为的特征是由银河宇宙射线、地磁俘获粒子和太阳粒子引起的单事件效应得到的。R. Hosken 曾就TAOS GVSC中的静态随机存储器中非独立单事件扰动的进行了研究[4],通过对两个Honeywell TAOS GVSC飞行器近三年的监控,阐述了单事件翻转在静态存储器芯片中的表征。此外,C. I. Underwood等在对低地球、近极太阳同步轨道上的一组小型航天器进行了低密度和高密度的非硬化静态存储器和动态存储器中单事件扰动的观测中[5],讨论了单事件多位翻转在这些器件中的观测结果,并分析了此类事件对错误保护编码方案的影响,得出的结论与预期相反,即静态存储器对单事件翻转的弹性更强。

  1. 具体的防护技术

对于这个问题,很多研究者对它进行了深入研究。Shirvani P P等提出了利用软件实现的对单事件翻转进行错误检测和校正的防护方法[6],即EDAC编码这一有效解决方法。这些代码通常使用额外的内存位和编码或解码电路在硬件中实现,由于它可以使用一个简单的内存系统,故提供了实现更复杂的编码方案的灵活性。并且提出了对于读和写操作都是在应用程序块的应用程序, 如由固态存储器构成的辅助存储系统,利用软件实现的 EDAC比利用硬件的EDAC可能是一个更好的选择这一观点。该技术在实际空间实验中实施且得到了有效的应用,且证明了利用软件实现的EDAC是一种低成本的解决方案,它为代码段提供了保护,在低辐射空间环境中显著提高了系统的可用性。最后还通过卫星试验和基于与卫星试验环境密切匹配的参数值的分析估计,证明了这种可靠性的提高。P. P. Shirvani还在空间软、硬件容错实验[7]中对在空间中使用的数字电子器件的问题进行了阐述,提出主要问题是由辐射引起的瞬态误差。商用现货组件被认为是辐射硬化这一方法的低成本替代品,在ARGOS项目中将这两种方法在实际的空间实验中进行了比较,并评估了软件实现的硬件容错技术在提高检测设备可靠性方面的有效性。

N. Oh等还提出了一种“重复指令错误检测”(EDDI)的纯软件技术用于检测系统正常运行中的错误[8]。与其他使用硬件冗余的错误检测技术相比,EDDI不需要任何硬件修改就可以在原始系统中添加错误检测功能。EDDI在编译期间复制指令,并为新指令使用不同的寄存器和变量。特别是针对内存代码段中的错误,推导了利用概率方法估计EDDI错误检测覆盖率的公式。这些公式使用在编译过程中收集的程序统计信息,将EDDI应用于8个基准程序中,估计了误差检测的覆盖率。最后通过仿真验证了该估计,其中故障注入器在可执行机器码的代码段中强制进行了位翻转。仿真结果中,8个使用EDDI的基准程序大约1.5%的注入故障产生了错误的结果,而在没有使用EDDI的程序中,平均有20%的注入故障产生了未检测到的错误结果。根据理论估计和实际的故障注入实验,得出了EDDI可以提供98%以上的故障覆盖率,不需要额外的硬件进行错误检测的结论。

对于纠错编码的研究,M. S. Hodgart描述了一种字节范围内的Reed-Solomon循环编码的高效实现[9]。该码具有单纠错和双纠错功能,该结构在软件中执行是非常简单的,全软件版本已在实践中得到应用,并被证明是有效的。它用于监测和控制卫星存储器磁盘中发生的单一事件故障,该方案还支持将离散逻辑与软件相结合的系统,以获得最大的速度。对于纠正磁带中的单轨错误或给定的擦除指针中的双轨错误,A. M. Patel 和 S. J. Hong提出了高密度磁带最佳矩形代码(ORC)的解决方案[10],提供了一种简单的错误纠正机制。该代码可以推广到多通道应用程序,通过遵循一个矩形码字来实现这一点,其中两个正交的边是校验位。此外,A. M. Patel还提出了一种运用高密度磁带存储子系统的自适应交叉奇偶校验代码(AXP)的错误校正方法[11]。因为避免了复杂的Galois计算,它的编码结构相对简单,结构基于垂直和交叉奇偶校验的交互概念,其中交叉奇偶校验跨越两组轨道,并以自适应的方式在两组轨道中使用。因此,在不增加冗余的情况下,整体纠错能力得到了显著提高。译码是处理简单奇偶方程的一种迭代译码方法,新方法在任意一组9个磁道中纠正了最多3个已知磁道,在两组中同时纠正了最多4个已知磁道,该代码还标识了这两个错误跟踪中的第一个未知错误跟踪。

  1. 航天以及其他领域的具体实践

E.Worley等进行了宇宙粒子对CMOS/SOS 存储器影响的实验与仿真研究[12],他们在三个不同的CMOS/SOS 存储器细胞中采集Van De Graaff粒子加速器数据,把得到的LET加厚阈值用于计算加厚细胞所需的沉积电荷,并对不同的细胞进行了详细的SPICE模拟,以确定加厚所需的收集电荷。通过两个值的比较表明,破坏细胞所需的电荷大于沉积电荷,从而验证了Rollins的[13]结果。K. S. Wood等还进行了美国在ARGOS卫星上的实验研究一种低成本的x射线双星计时仪器[14],它是为x射线定时和时间分辨光谱的科学研究和x射线传感器技术的应用探索而设计的。此外,T. J. Dell在《关于芯片校正ECC对PC服务器主存的好处的白皮书》[15]中提出随着以网络为中心的计算模型的不断成熟,客户不断地尝试为他们的业务评估正确的价格点或性能点。对于越来越多为部门、工作组或应用服务器功能选择PC服务器的企业来说,关键参数之一是服务器的可靠性。他在文中讨论了PC服务器的可靠性、可用性和可服务性领域中一个值得关注的问题,目前这个问题已经在大型机和中等级别的机器上得到了彻底的解决,但是在服务器范围的低端没有得到解决——当整个动态随机存取存储器芯片失败时的错误恢复。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。