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

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

2015-06-05科学

嗯… 没人邀… 凑一发热闹。

有谬误欢迎指正, 非核工程专业.

非常大。

电路是靠着电容上积累的电荷确定0或者1的

电路是靠着电容上积累的电荷确定0或者1的

电路是靠着电容上积累的电荷确定0或者1的

任何形式的辐射, 都会伤害无保护的ASIC电路。 方式多种多样, 最终目的无非一个: 以电离, 撞击等方式, 导致Soft Error (软错误, 也即可以纠正的, 不影响硬件本身的错误), 其中 single event effect(SEE, 单事件错误)是这里面主要的参量 。严重的, 甚至会导致硬件本身损坏(Hard Error ), 也即不可修复的错误. 这一点放到后面讲.

也就是说, 我往内存里存了个数, 二进制 0000 1111; 结果粒子一打过来,哟呵~ 变成

0001 0111

了。

如果是数学运算,… 加减法做不对会导致计算轨道错误啊之类的; 如果是控制位… 那你最好保证反转的那两个比特没有控制什么飞船弹射之类的参数。 不然本来输入0不要弹射, 一反转变成1赶紧弹射。玩儿脱了…

比如说切尔诺贝利事件之后, 苏联令人发指的召集志愿者去清理辐射, 原因是 机器人进去就不听使唤了. 更严重的是, 这些机器人拿出来以后, 也不能使用了.

------------偏题开始-----------

那么怎么知道我这个电路会不会这样呢? 标准方法叫做 SEE testing, 单次事件测试。

这个测试简单粗暴: 用一束已知能量的粒子去轰击测试芯片, 同时进行外部操作, 看最终结果会不会翻转。这一束粒子可以是任何粒子, 包括alpha射线, beta射线, 中字束, 混合各种各样的粒子等等. 粒子束的强度统一以入射粒子的能量, linear energy transfer, LET来记。具体到数量级上的话, 如果是目前普通的家用计算机,大概电离辐射量 在 0.x keV cm2 /mg 就挂了。 (挂了=出现了软件诸如 ECC 无法修复的错误)

*对于伽马射线, LET的计算方式不太一样, 因为这货是光子; 计算的时候一般是算由伽马射线引发的电子束强度.

太空的标准参考LET是 60-120 MeV cm2 /mg

垮了噻… 差了几个数量级啊!

原因是家里面的电脑由于地球母亲磁场和大气层的保护, 基本不会受到轰击。 设计的时候, 设计师们都表示呵呵呵呵谁要管你。

太空工程师表示瓦日你哥… 我们怎么办…

说一下LET是如何用来测量的: 一般来说, 用一束粒子轰击这个芯片, 如果这个轰击有效 (改变了某些元器件电容上的电荷), 那么这个芯片上会向外射出粒子.

LET, 顾名思义, 线性 能量 转移, 就指的是在这个有效轰击里, 有多少能量被转移出来了.

LET_thresh, 是对于一个器件来说, 不断地给它施加高能粒子束, 高到某一个能级的时候, 飞出来的粒子能量不再提升了.

那么一般来说, 家用机LET_thresh非常低, 表现形式就是稍稍拿粒子轰击一下, 就会飞出来一堆电子; 但是如果我逐步加大这个粒子束的强度, 出来的电子不会变多!

什么意思呢? 就是说: 家用机无论你怎么轰击, 就只能出来这么多电子了. 再多的电子在原子内层, 你轰不出来.

为什么这是一个坏事呢? 半导体里面可用的电子密度就那么点点, 结果一点点粒子束就全把它轰出来了剩下的原子核和内层电子等着结婚咩...

所以说, 环境里面的LET越高, 说明 这个环境有能力轰出更多的电子; 器件的LET_thresh越高, 说明这个器件能承受被轰出更多的电子, 也即在高辐射下更加稳定.

在CMOS出生的同时, 太空/核 工程师们就找到了一种能让标准CMOS 承受高辐射的方法:

把CMOS设计成这样:

这叫做 enclosed layout transistor。 很恶心吧! 这玩意儿的 长宽比不再可以简单的算出来了, 而是要用一套复杂的公式计算。

这样可以把微米级别的电子芯片做到几十MeV cm2/ mg。看起来不错哦~

(该技术依然广泛应用于目前的航天/高能物理场所)。

但是! 地上的工程师们呵呵一笑: 我们的 sub-micron technology要不要? 要不要? 不要的话我们就继续奔向纳米级别了, 你们微米级别慢慢玩~~

太空工程师一计算, 0.25um 的 CMOS 只能承受 大概 15MeV cm2 / mg… 表示不开心。

然后, 在CERN 制作 LHC的时候, 又继续发扬光大, 缩小器件的同时,加入了harden mode(也即在上面那个ELT的基础上在外圈再加入一圈凶残的guardring, 这样可以抵御相对强烈的粒子束轰击)

然后就做到了89MeV cm2 / mg, 反正CERN 表示我们的LHC够用了。

记得太空里是60-120 MeV cm2 /mg吧… 太空工程师欲哭无泪… 你们做这个才刚刚达标啊!

(原话: 那没办法啦… 硬件差不多到头了…剩下的只能靠软件了…)

改为: 电路方法克服这些错误 基本到头了, 剩下的靠屏蔽+架构来解决.

克服Soft Error 有两个无坚不摧的法宝: 把电路做大或者频率减低. 但是这两个都会拖慢计算机的效率.

架构上的方式, 基本可以总结为: 加冗余, 交织设计, 和家用机里也会有的ECC(Error Correct Code). 当然这里的ECC会不同. (感谢

太初有为

的指正! )

加冗余就是把本来一个电路能完成的份额用三个或者更多个(奇数个)电路做, 做出来之后取多数答案当做正确答案. 假设本来某个粒子有50%的可能会翻转一个比特, 三份冗余之后, 就只有50% * 50%= 25% 的概率了. 另外, 据

太初有为

说以及查证, 标准的三份冗余会使用不同的时钟等, 这样更是降低了一个粒子干扰一片电路的可能性.

交织设计在

太初有为

的答案里有详细的介绍.不再赘述.


引用:

F.Sturesson , TEC-QEC, 「Single Event Effect (SEE) Testing」, EPFL Space Center 9 th Conference., June 2009.[Presentation Slides]

Wikipedia, 「Linear Energy Transfer (LET)」., 2012, obtained : Linear energy transfer .

F. Faccio, K. Kloukinas, A. Marchioro, T. Calin, J. Cosculluela, M. Nicolaidis and R. Velazco, CERN and TIMA/INPG Laboratory, 「Single Event Effects in Static and Dynamic Registers in a 0.25pm CMOS Technology」., IEEE TRANSACTIONS ON NUCI.EAR SCIENCE, VOL 46, NO 6, DECEMBER 1999

G. Anelli, M. Campbell, M. Delmastro, F. Faccio, S. Florist, A. Giraldo, E. Heijne, P. Jarron, K. Kloukinas, A. Marchioro, P. Moreira and W. Snoeys, CERN and University of Padova & INVN, 「Radiation Tolerant VLSI Circuits in Standard Deep Submicron CMOS Technologies for the LHC Experiments: Practical Design Aspects」., IEEE TRANSACTIONS ON NUCLEAR SCIENCE, VOL. 46, NO 6, DECEMBER 1999