吴珍妮
【摘 要】随着集成电路特征尺寸进入纳米级,高能粒子造成的软错误已对电路的正常工作构成严重威胁。现代通信设备的集成电路具有工作频率高、存储单元数量多的特点,易受软错误影响。本文简述了软错误的原理与现象,并列举了现代通信设备中软错误造成的影响以及防护措施实例。
【關键词】软错误;DSP;防护
中图分类号: TN431.2 文献标识码: A 文章编号: 2095-2457(2018)17-0253-002
DOI:10.19694/j.cnki.issn2095-2457.2018.17.127
【Abstract】As the feature sizes of integrate circuits decrease to nm, high-energy particles have posed a great threat to circuits normal function.Integrate circuits of modern communication equipment have high working frequency and a large number of storage elements,are easily affected by soft error. This paper describes theory and phenomenon of soft error, and lists an example of modern communication equipment protection.
【Key words】Soft error;DSP;Protection
0 引言
软错误(soft error)也被称为单事件翻转(SEU, Single Event Upset),是由宇宙辐射中的中子和封装材料中的α粒子轰击电路所造成的瞬态错误[1]。它是一种间歇性的不可预测的硬件工作错误。过去曾经认为高能粒子在穿越大气层时能量迅速减弱,将不会引起地面上的集成电路发生功能性错误。但是随着集成电路特征尺寸的急剧减小,单芯片中的节点迅速增加,并且由于供电电压的降低,节点的电量也随之降低,较低能量的粒子也有可能影响集成电路的正常运行[2]。当粒子轰击集成电路时,粒子与硅晶格在库伦力的作用下会产生沉积电荷。当电荷累计到一定量时,受影响节点会翻转到一个错误的逻辑值。对于存储器或触发器等时序逻辑电路,错误的值将被保持直到下一个值写入,这种现象被称为SEU。对于组合逻辑电路,错误值只会形成一个宽0.35ns~1.3ns的毛刺[3],称为单事件瞬态(SET, Single Event Transient)。SEU的发生频率很高,商用MIPS处理器在500公里地球近地轨道上大约每分钟发生一次SEU[2]。
1 通信系统中的软错误现象
在现代通信系统中,存储单元软错误的发生极为常见。TI的文档中将单事件翻转造成的原因归纳为以下两点:
1.1 α粒子排放
包装材料(通常238U和232Th的)会发生自发辐射事件,这些事件将创造α粒子通过半导体并引起跳变,发生率是由所使用的包装材料来确定。
1.2 中子罢工
大气里的中子会撞击材料在芯片内引起连锁反应,导致生成阿尔法粒子,发生率是由该装置的地理位置和周围的环境来确定。
1bit跳变在一个关键的DSP内存空间会导致DSP的即时异常,引发的DSP资源不可用告警。由于现在1bit跳变检测是对片内代码段进行检测的,但是如果发生在其他地方,如数据段等,那样就检测不出来(代码就会跑飞),或者发生1bit跳变时并没有检测到的时候,业务也会有问题,但是不会上报任何告警,DSP也不会复位。在上报DSP资源不可用告警的时候,DSP的所有服务将被释放,然后在DSP内存信息将存储在一个黑盒内。在收集DSP的黑盒信息期间,业务将建立在其它DSP上。收集完成时,DSP将被重置并重新加载。DSP的重装过程完成后,告警将被清除。整个过程如图1所示。
1bit跳变在非关键的DSP存储器空间不会导致DSP的即时异常。在这种情况下,为了避免这种不正常的DSP上运行的服务,该内存将被定期检查,它被定义为内存软校验。
2 通信设备的软错误防护实例
某通信公司处理的故障某日接到用户投诉,表示连续呼叫多次均自动释放,后台查看该用户呼叫记录,释放原因为“28:IU-UP失败”,
IU-UP消息属于RANAP消息,一般出现在RNC到MGW承载建立过程中。通过当天全时段查询,失败原因为“28:IU-UP失败”的记录只有在无线主设备RNCX下存在,单小时可达165次,而在该时间段,RNCX下的呼叫记录有34854条,发生概率非常低,约0.34%。通过系统继续分析其他RNC业务信道指配成功率,发现RNCX成功率为99.35%,远低于其他RNC(一般为99.7%以上)。而失败原因为“28:IU-UP失败”的只有RNCX下存在上百次统计,其余RNC均为0。问题初步定位为RNCX承载建立过程存在问题。通过后台告警、性能进行分析发现RNCX电路域RAB指派建立失败的RAB数目指标中确实存在少量的IUUP建立失败的情况,通过历史性能查询发现该问题从投诉发生前一日中午开始出现。后将该设备前后的配置及参数数据进行比对未发现有异常数据修改。通过获取RNCX的关联日志以及系统日志分析发现,IUUP失败集中在某块DSP模块上面,怀疑是由于DSP异常引起。
该公司当晚将异常DSP进行复位操作,“IU-UP失败”现象消失,问题得到解决。通过获取黑盒再次进行分析发现giErrorCode=190,该代码对应到的DSP故障原因为DSP出现1bit跳变。随后对设备打开如下功能,问题得到解决:
2.1 打开内存软校验
DSP的内存会定期检查。如果MemChkFailReSwi开关处于ON,当发现一个DSP的位跳变, DSP将被重置。如果MemChkFailReSwi为OFF时,将不对DSP做任何操作。
2.2 打开ECC的逻辑功能
当ECC逻辑被使用(SlaveEccSwitch为ON),1bit错误可以被校正。但是,在代码存储区被限制。根据TI的文档中,ECC逻辑功能的主要目的是为了保护该程序代码和静态数据,是不经常改变。ECC逻辑能够检测双位错误,并在每个256位对齐访问纠正单比特错误。
【参考文献】
[1]S. Mitra, N. Seifert, M. Zhang, Q. Shi, and K. S. Kim. Robust system design with built-in soft-error resilience[J]. Computer, 2005,38(2):43-52.
[2]陈微,龚锐,刘芳,戴葵,王志英.FT51:一种容软错误高可靠微控制器[J].计算机学报,2007,第30卷(第10期):1662-1673.
[3]P.Eaton,J.Benedetto, D.Mavis,K.Avery,M.Sibley,M.Gadlage,and T.Turflinger.Single event transient pulsewidth measurements using a variable temporal latch technique[J].Nuclear Science, IEEE Transactions on, 2004, 51(6):3365-3368.