版权归原作者所有,如有侵权,请联系我们

[科普中国]-单粒子事件

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

单粒子事件(single event phenomena)是指空间辐射单粒子效应的另一种称法。因为空间辐射造成的单粒子效应发生具有瞬发性和几率性,因此将其称为一个事件1。

简介单粒子事件(single event phenomena)空间辐射单粒子效应的另一种称法。因为空间辐射造成的单粒子效应发生具有瞬发性和几率性,因此将其称为一个事件1。

背景由于近地空间和大气环境影响空间系统的规模、重量、复杂性和价格,因而影响空间系统的运行性能和工作寿命。辐射带中的捕获粒子、太阳耀斑质子和银河字宙射线能在微电子器件中诱发单粒子事件。

单粒子事件包括三种不同的效应:即单粒子翻转、单粒子锁定和单粒子击穿,单粒子事件会导致星载计算机软、硬件发生故障或失效。因此,为了实现高可靠性和高安全性,需要在程序中应用容错、纠错、避错的措施,但如何验证这些措施在系统实际运行中的效果呢?单粒子小件故障注入系统就是针对此需求而研制的一一种对容错软件有效性进行评价的工具,对计算机单粒子事件故障注入大致有三种不同的流行方案,即软件注入法、硬件注入法和重离子辐射注入法2。

系统结构及功能单粒子事件故障注入系统由数据库服务器、主控计算机、故障注入器、有线监控和目标系统五个分系统组成。

故障注入器根据主控计算机的故障类型设置完成单粒子事件故障的注入,同时对目标系统运行的程序进行追踪,将追踪得到的数据回送给主控计算机,由主控计算机对故障情况下运行的目标代码进行分析。有线监控检测软件在目标系统中的运行情况,并将运行结果显示出来,同时将数据发送给数据库服务器。数据库服务器用来存储目标软件的运行信息,提供数据查询,为人工或人工智能进行故障判断提供依据.主控计算机接收数据库服务器发来的当前目标软件运行状态,利用故障注入算法产生故障数据,并通过串口发送给故障注入器,同时由于故障注入算法很难覆盖所有的故障,因此主控计算机必须具备良好的人机交互界面,测试人员能够很方便地设置所需注入的故障类型和数据。

在上述各分系统中,主控机通过故障注入器向目标软件注入故障信息.故障注入器-方面进行故障注入,另一方面还实时地收集目标系统的总线信息,并通过串口发送给主控计算机,由主控计算机反汇编得出当前目标系统实际运行的指令信息。因此,故障注入器是整个故障注入系统设计的重点之一3。

硬件实现技术计算机中程序和数据都是存放在内存之中的, CPU则是按顺序从内存中取出指令执行,因此只要能在内存中注入故障,就能模拟大部分软件故障,在故障注入时,最好不中断目标系统的运行,利用双端口RAM的双向同时访问的特点就能很好地实现内存故障注入。但目标系统在对双端口RAM进行写操作时,注入的故障将会自动恢复,因此必须结合总线故障注入法来实现整个单粒子事件故障的模拟。

故障注入器共由三部分组成,分别由8086 CPU与ROM、 RAM及接口芯片等构成的8086基本系统,由双端口RAM组成的内存故障注入部分和由现场可编程逻辑器件实现的总线接口与总线故障注入部分。

8086基本系统是一个智能控制模块,一方面它接收来自主控计算机的串口数据,根据数据包内的信息进行相应的单粒子事件故障注入;另一方面,它接收FPGA追踪得到的目标系统的总线信息,组帧并通过串口发送给主控计算机。

双端口RAM提供实时双向访向功能,一方面,它通过FPGA实现的接口功能,为目标系统提供数据存储空间;另一方面,它又是故障注入器中8086基本系统内存的一部分。因此当目标系统利用双口RAM作为数据空间全速运行时,8086基本系统就可以在不中断目标系统运行的情况下,实时、全动态地往双口RAM 中注入故障信息(如单粒子翻转)。当目标系统从注入故障的单元中读取信息时,就会在目标软件中引入单粒子事件故障。

仅仅使用双口RAM是不够的,因为双口RAM只能完成内存故障注入,当发生往内存进行写操作时,由于一般内存不提供写保护功能,因此注入的故障将因写入事件而自动恢复。单粒子翻转事件的表现恰好如此。但单粒子击穿引起的故障是不能恢复的,这时需要在总线上注入故障来实现对内存某一位或某几位的写保护。总线故障注入是利用FPGA来设计实现的,除此之外,还实现了对目标系统总线追踪的功能3。

结果与讨论单粒子事件故障注入系统具有全动态实时注入单粒子事件的能力。采用了双口RAM的优点与总线故障注入相结合的方法,避免了硬件注入的注入深度控制问题。为了评估软件的抗单粒子事件能力,可以自由设置单粒子事件发生的频度和深度,对目标系统的硬件没有丝毫损害。同时由于采用FPGA设计了总线接口和转换,因此无论目标系统采用什么样的CPU,都能够对目标系统进行实时的故障注入3。

单粒子翻转(SEU)及防护在一些电磁、辐射环境比较恶劣的情况下,大规模集成电路(IC)常常会受到干扰,例如宇宙中单个高能粒子射入半导体器件灵敏区,使器件逻辑状态翻转:原来存储的"0"变为"1",或者"1"变为"0",从而导致系统功能紊乱,严重时会发生灾难性事故。SEU造成的逻辑错误不是永久性的。在特定的应用中,SEU已经成为一个不能忽视的问题。典型的SEU是,由于太空中高能粒子的轰击,SEU已经成为星载计算机中最常见的错误。

降低单粒子翻转效应发生概率的一个措施是增加冗余度,NASA(美国国家航空航天局)在航天器计算机系统中就采用这一措施。

单粒子锁定(SEL)及防护由于星载计算机系统大量采用了CMOS商用器件,出现SEL的危险性是客观存在的,尤其在南大西洋地磁异常区(SAA),危险性更大。为了确保卫星安全,要避免使用容易出现SEL的器件,要把好质量关,遵守一定的筛选规则。此外还应采取必要的防护措施,以免烧毁器件,并能解除锁定状态,使计算机重新恢复工作。因此应采取如下措施。

(1)快速而准确的发表SEL;

(2)防止烧毁器件;

(3)防止和减少对总电源构成的威胁;

(4)隔离已损坏的器件;

(5)解除SEL状态,使系统恢复正常工作:如关闭电源并重新上电(冷起动),或热起动。为了确保解除SEL,要关掉所有可能为SEL提供维持电流的电源通路3。

本词条内容贡献者为:

杜强 - 高级工程师 - 中国科学院工程热物理研究所