软性错误

软性错误电子学电脑运算中的错误,是因为一个信号或资料不正确造成的错误。软性错误可能是因为缺陷而造成,多半认为是因为设计或是架构上的错误,或者是因零件损坏而产生。软性错误也是指信号或资料有错,但没有造成系统的异常动作。在确认软性错误及其影响后,无法得到有软性错误后的系统比原系统来的不可靠的结论。在航太领域中,这类错误称为单粒子翻转

在电脑的存储器中,软性错误会造成程序一个指令或是一个资料的改变。若将电脑冷启动后,软性错误造成的影响就会消失。软性错误不会破坏系统的硬件,唯一破坏的是当时正在处理的资料。

软性错误有两种:集成电路层级的软性错误,以及系统层级的软性错误。集成电路层级的软性错误一般是因为有高能粒子撞击到集成电路,例如集成电路本身材料中放射性原子的衰变,会放出α粒子撞击集成电路,因为α粒子带有正电荷以及能量,因此若撞击到某个存储器单元,存储器单元中的数值就可能会变化。上述例子中的原子反应非常小,不会影响到集成电路的硬件结构。系统层级的软性错误多半是在要处理的资料被噪声所影响,多半是在资料在总线时发生此情形,电脑会将噪声解读为资料位元,因此会造成程序寻址或是处理代码的错误。而有错的资料也可能会存到存储器中,因此造成后续的问题。

若软性错误立刻就侦测到,可以直接重写正确的资料即可消除软性错误的影响。高可靠度的系统会用错误修正机制,直接在运作中修正错误。不过在大部分系统中,无法确定哪一个资料是正确的,甚至完全无法侦测软性错误。而且在修正软性错误前,系统可能已经崩溃,因此撤销程序英语recovery procedure需包括重新启动。软性错误包括存储电路中资料的变化(例如存储电路中的电子),但没有影响到实际电路(原子)。只要重写正确的资料,电路就会恢复正常工作。软性错误可能发生在传输线、数码逻辑、模拟电路、磁性存储介质等,不过最常见的还是在集成电路中的软性错误。

软性错误的原因

封装材料中的α粒子衰变

自从1970年代开始使用动态随机存取存储器后,软性错误开始广为人知。在早期的组件中,陶瓷的晶片封装材料中含有少量的放射性污染物。若要避免软性错误,其衰变率需要非常低,而晶片厂商有时就会遇到因为α粒子衰变产生的问题。非常难维持材料到所需要的纯度。对于大部分的晶体电路来说,若要维持其性能可靠,需要控制其关键封装材料的α粒子放射率,要小到每小时每平方公分0.001次计数(0.001 cph/cm2),一般鞋底材料的放射率是在0.1到10 cph/cm2之间。

宇宙射线产生的高能中子和质子

当电子产业决心要控制封装材料的污染时,也就很清楚可以找到有其他造成软性错误的原因。James F. Ziegler在IBM有一个团队,累积出版了许多论文(Ziegler and Lanford, 1979)说明宇宙射线也会造成软性错误。在现代的零件中,宇宙射线是造成软性错误的主要原因。宇宙射线的粒子本身多半无法到达地球表面,会在大气层中会造成空气簇射,产生许多高能量的粒子。地球表面会造成软性错误的粒子中,有95%是高能量的中子,并余的则是质子和π介子[1]。 IBM曾估计过,在1996年的台式电脑中,每月每256MiB的RAM里,就会有一次软性错误[2]。 在软性错误的文献中,常会称这些高能中子通量为“宇宙射线”。中子本身不带电,也不会影响电路,但会让晶片里原子的原子核产生中子俘获,之后会产生带电子的粒子,例如α粒子或是氧原子核,这些都会造成软性错误。

相关条目

参考资料

  1. ^ Ziegler, J. F. Terrestrial cosmic rays. IBM Journal of Research and Development. January 1996, 40 (1): 19–39. ISSN 0018-8646. doi:10.1147/rd.401.0019. 
  2. ^ Simonite, Tom. Should every computer chip have a cosmic ray detector?. New Scientist. March 2008 [26 November 2019]. (原始内容存档于2 December 2011).