当前位置: 华文问答 > 科学

宇宙射线对计算机讯号传递的错误率有多大影响?

2015-06-05科学

所谓的宇宙射线,也叫空间辐照,主要对CMOS体硅工艺的器件会有比较大的影响。很不幸地,我们大部分的计算机芯片都属于这个范畴。空间辐照主要考虑有这样几个影响:总剂量效应和单粒子效应。总剂量效应是一个类似电子迁移一样的累积过程,比如会造成一个反相器的翻转电压降低,最后不能工作。这个效应在地球上基本不必考虑,一是因为到达地球大气层的高能粒子数量较少,第二大部分电子器件的寿命没有设计的过长。但是在空间就不一定了,在空间环境里长期的粒子能量积累,最终会造成器件的损伤。总剂量效应的度量单位是拉德(材料),一般按照nasa的要求,近地轨道要求在器件生命周期内能抗200k拉德(硅)的辐照量,而深空环境里面,一般都是要求抗1M拉德(硅)以上的总辐照剂量。那么在地球上,其实不必特别考虑总剂量的影响。其次是单粒子效应。单粒子效应就是指一个高能粒子打穿CMOS的某些敏感区域,造成器件的失效。这种失效有硬失效有软失效。硬失效就是器件损伤了。一般这种硬失效表现为闩锁。闩锁的现象就是器件电流突然增大,最终被烧毁。闩锁就是CMOS中衬底和阱之间的pnpn结被导通,最终形成一个正反馈回路。闩锁在地面也会发生,但不一定是高能粒子造成的,也有可能是相邻两个cell靠的比较近产生互感。这个一般芯片设计商在设计的时候都会考虑这个效应,但是不会细致到考虑高能粒子击穿器件那个地步,所以闩锁在地面会发生,但几率不大,即使发生了也不一定会烧毁器件(闩锁在某些条件下是可以退出的),属于小概率事件。然后,单粒子效应还会造成软失效,就是所谓单粒子翻转或单粒子脉冲。单粒子脉冲的发生也是需要高能粒子打在cmos器件上,然后形成一个毛刺,这个毛刺如果运气好,可以被下一级的DFF吸收掉,运气不好,正打在DFF的建立保持时间窗内,寄存器就翻转了。最可怕的是打在时钟树的根节点上,那就会造成大面积的寄存器错误翻转。即使被打中,这个会不会造成bug也是个概率问题,假设打中了某个通用寄存器,但是这个寄存器可能不会被使用,或下一拍就被刷新了,那就和没打中一样。除了单粒子脉冲,还有单粒子翻转,这个发生的粒子能量阈值条件是最低的,因此是软失效中最常见的现象。这种软失效不一定会由宇宙射线造成,在地球上发生的几率也很大。记得很久以前,某次太阳黑子爆发,某厂家的服务器的CPU因为没有做软失效加固,造成大面积失效,丢失大量市场份额。在这方面现在做的最好的是SUN,他家的服务器以稳定著称,但是当我知道他们的CPU做的加固手段之全面,也还是被折服了。一般来讲所有的软失效的发生是个概率事件,发生了会不会造成bug也是个概率事件,造成了bug你会不会观察到,又是个概率事件,观察到了对主功能会不会造成影响还是个概率事件。针对软失效,芯片厂家会在硬件上进行加固,所谓的加固,一般来说就是增加校验,你看很多服务器的内存都是带ECC的,这种校验一般可以纠正一位错误,检查到两位错误。还有一个就是在内存上进行交织设计,就是让一个word的bit尽量分散在不同区域,不要一个粒子打中后一下错一片。所有不重要的寄存器做parity,重要的做ecc,反正就是能想到的全给你加上。抗单粒子软失效还有一个手段就是换材料和工艺,比如在硅上再生长一层,被称为外延增长技术的硅片,或者干脆换成绝缘体上硅材料,这个是IBM研发的,AMD曾经有几条产线,以前所有的powerpc都是基于这个材料工艺的。这个工艺的初衷是降功耗和面积,后来还发现他有个抗单粒子效应的自带属性,后来就被美国军方关注了,再后来因为这个工艺成本还是比较大,逐渐就被商业弃用了。所以总体上来讲,宇宙射线对bug还是有一定的影响的,但取决于你的可靠性要求。在某一个阈值上任何增加可靠性的设计都是昂贵的,软失效设计是一门系统工程,如果只是想简单防一下,其实采用高等级的服务器,多加校验方式,还是提升比较明显的。