关于软错误的常见问题解答

  • 软错误及其危害

软错误是半导体器件错误中与硬错误相对应的一种错误。硬错误是半导体器件本身遭到不可逆的损坏,已无法完成预设的工作任务。软错误则表现为半导体器件功能并没有出现异常,但器件本身的工作任务出现错误,例如存储单元发生变化、逻辑状态翻转等,通常重启系统或者重新读写等方法过后器件能恢复初始的工作状态。

造成软错误的原因是高能粒子对半导体器件的辐射效应。自苏联成功发射第一颗人造卫星后,人类社会进入太空时代,随后数十年时间人类发射的人造卫星数量已经过万,而与此同时人造卫星面对的太空环境——大量高能粒子对卫星电子器件的辐射效应,也对卫星的正常工作带来严重挑战。据统计,地球同步卫星发生故障的次数,超过40%是由于高能粒子对卫星半导体器件的影响导致的,软错误对系统的影响已经成为不可忽视的一环。

高能粒子已经被发现有很多种类,研究表明α粒子、重离子、中子的辐射偏向于引发单粒子效应,电子辐射偏向于总剂量效应,质子的辐射则可导致单粒子效应、总剂量效应和位移损伤效应三种辐射效应。当高能粒子入射半导体器件后,粒子对硅材料的轰击导致器件内部电离产生电荷,器件电极收集这些额外的电荷后形成瞬态电流,进而器件状态在未获得正常指令下发生改变。近年来随着半导体工艺的日益精进,器件的小型化、集成化、低功耗程度迅速发展,高能粒子对器件的影响也越来越明显,出现错误的概率也越来越高,软错误种类也在越来越多。软错误主要包括SEU(单粒子翻转)、SET(单粒子瞬态)、MBU(多位翻转)、SES(单粒子快速反向)和SEFI(单粒子功能中断)。其中SEU和SET是对数字集成电路稳定性影响最大的两种软错误。

毫无疑问,软错误的存在不利于系统工作的正常进行,通常软错误分为两级——芯片级和系统级。当芯片中的放射性原子衰变并释放出α粒子时,芯片级软错误将发生。它们通常是由高能粒子的辐射导致的。这些α粒子与某个存储单元碰撞,从而导致其改变状态。当所传输的数据遇到噪声时,系统级软性错误将发生。这种错误通常在数据位于总线而非存储器中时发生。控制器将噪声解读为数据。这个错误数据最终被视为正确数据,从而导致寻址或处理错误。软错误会对系统的破坏主要有以下几个方面:

  1. 损坏重要信息;
  2. 系统的故障率会随软错误的累积而提升;
  3. 引起程序控制错误,导致系统出现指令之外的动作。

克服软错误问题对半导体器件的可靠性以及长期性均有深远意义,同时可以保证器件在更多恶劣环境下稳定工作,国内外对此进行许多软错误方面的仿真及试验。

国内许多电子研究所联合进行基于 Am-241 放射源,搭建 SRAM 单粒子效应测试系统,结合α粒子辐照试验、反向分析和蒙特卡洛仿真开展α粒子在65、90 nm工艺 SRAM 器件中的软错误机理和加速试验技术研究,研究表明65 nm SRAM 在 Am-241 放射源加速试验条件下的 α 粒子单粒子翻转截面远高于 90 nm SRAM,同时,蒙特卡洛仿真发现,65 nm SRAM 器件的灵敏区沉积能量谱和单粒子翻转截面表现出明显的入射角度依赖性。

国外利用对软错误敏感性最高的器件——LLC(Last level cache)进行研究,设计了复用预测的深度神经网络来缓解多核种的软错误,该方案在Multi2Sim 5.0仿真框架中使用SPEC-CPU基准进行了评估,考虑了CMOS、FDSOI和FinFET技术。结果表明,对于整数和浮点基准,软错误的各项指标均有明显改善。还有学者针对CMOS工艺的缩小,软错误出现概率(尤其是MNU)越来越高,设计了基于交叉耦合单元的四节点翻转加固锁存器,该锁存器可容忍高能粒子引起的QNU,保证了电路的可靠性,此外面积、功耗、延时等方面取得较大进步。

  • 软错误特点

相比于其他错误,软错误具有以下几个明显特点:

隐蔽性

软错误的传播过程更为隐蔽,在一个正常执行的程序中,不一定能获得系统错误的提示,用户难以发现软错误的存在。在大量的数据下要搜索到软错误的具体地址也相当困难,软错误当前很难有特定的模式能判断。

随机性

由于软错误是由高能粒子的轰击导致的,其造成的位翻转具有随机性和偶然性,在器件的不同部件都可能发生软错误,故而软错误在器件上的任一位置都有概率发生,若是在关键位置发生软错误就容易导致任务失败。

累积性

由于软错误即使存在,系统也依然能进行工作,故而软错误是可以在系统的持续运行的同时持续累积的,在不断的累积下系统的故障率会持续升高,最终会导致器件的可靠性持续下降,甚至发展成硬错误,即器件发生不可逆损坏。

高发性

软错误的相关研究和实践表明,软错误率可能轻而易举地比硬错误率高出数个量级,甚至在很大RAM的器件中,软错误率可能比硬错误率高出三个数量级。因此,软错误不再被忽视,而是在IEC 61508-2:2010等标准中被明确考虑。广泛接受的Siemens SN2950 0系列标准倡导的软错误率为1200 FIT/兆位,而1000 FIT/兆位已被广为接受。

  • 预防措施

当前针对软错误主要有两类方法,其中一类方法是通过软件检测技术来发现并排查软错误,软错误引起的错误分为控制流错误和数据流错误,前者主要是指在程序运行时,内存,数据寄存器等功能部件发生了瞬时故障,导致程序中的数据出现了错误。后者主要是指在程序运行时,瞬时故障发生在程序计数寄存器等相关功能部件,导致程序出现了错误跳转。针对不同的类型开发出相应的检测方法。

另一种方法则是通过抗辐照加固技术来预防软错误。面对充斥着高能粒子的环境,更多的公司以及航天机构通过工艺设计、电路设计以及算法设计来实现商业系统常常采用通过电路设计来实现的抗辐照加固,因为它是在传统制造工艺上使用更精妙的电路设计来达到抗辐照加固的效果。软错误电路加固有两种基本的设计方法,通过延时和冗余来实现软错误加 固。延时加固方法是采用延时电路来过滤单粒子效应导致的瞬态脉冲。冗余技术使用重复的电路来实现加固效果。DICE锁存器是最常见的冗余设计,电路中关键存储节点设计两个,只有当这两个节点同时翻转才会改变电路的状态,这些方法可以有效地减少时序电路中的SEUs,但这都会占用很大的面积。

前者方法虽然能从根源上解决软错误引发的问题,但正如上文所提,由于软错误的特点,该方法所面临的问题较为困难,发展进程较为缓慢。后者当前应用更为普遍,能大大降低软错误导致的故障、异常及失效问题。

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值