单粒子翻转(SEU,Single-Event Upsets),是在空间环境下存在着大量高能带电粒子,计算机中的电子元器件受到地球磁场、宇宙射线等照射,引起电位状态的跳变,“0”变成“1”,或者“1”变成“0”。
太空探索早期人们已经注意到了这个问题
在地球表面,有磁场和大气层的保护,能够到达地面的高能粒子很少,一般来说对计算机的影响不大。在计算机设计中,并不需要考虑这种特殊场景。常规的硬件纠错机制配合操作系统,足以应付偶然的计算错误。实在改不过来,大不了蓝个屏,喊个“李姐万岁”也就过去了。
李姐万岁
在太空中情况就大不一样了,单粒子翻转发生的概率大得多。
1995年2月8日发射升空的实践四号卫星上搭载的两台用于单粒子事件测量的监测装置,在入轨后的19天内共发生了65次翻转。
卫星设计师可不想回答“卫星主控计算机蓝屏是一种什么样的体验”,没人够得着卫星的Reset按钮。核心程序跑飞了,可不一定有挽救的机会。
看看中国航天曾经踩过的坑(不公开的还不知道有多少……)
风云一号B星于1990年9月3日成功发射,……运行仅仅两个月后,11月初就遭遇了太阳耀斑发射的高能粒子流,发生了单粒子事件,造成姿态控制计算机程序混乱,无法控制卫星姿态,导致卫星在空间翻转。好在这次事件后计算机程序得到了及时的纠正,卫星恢复了正常运行。1991年2月14日卫星的计算机再一次出现单粒子事件,卫星姿态再次出现异常,这次故障未能及时发现。当发现卫星姿态异常时,卫星上携带的气体已喷完,姿态完全失控,无法拍到云图,本来卫星的设计寿命是要运行一年,但是不到半年卫星就无法工作了。
事后的分析总结,是在元器件选用和软件设计上留下了未进行抗辐射加固的漏洞,计算机电路芯片在空间高能粒子轰击下容易产生单粒子翻转问题,随时会引发计算机工作失常,姿控系统故障。
动辄上亿镁的设备,性能达到指标就行,可靠性才是最重要的。
提高可靠性的方法也很简单粗暴,就是加冗余、加校验。典型的技术是三模冗余( TMR)、纠错码(ECC)等,代价当然是性能的下降。
除此之外,提升计算性能的先进制程,可能受到单粒子影响更大。而且随着位单元在较小的制程节点中靠得越来越近,单粒子翻转可能会不止一位,这对校验算法提出了更大的挑战。
所以,星上的计算机芯片性能可能真不如你手机里面的那块。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。