I\'m interested in mathematics and Daoism. Welcome to talk about these subjects with me.
分类: C/C++
2014-01-30 15:57:30
软错误与宇宙射线
软错误(soft error),不是我们程序员平时所说的"软件的错误",这是指信号或者数据的错误.在航空电子学中一般叫做"单粒子翻转"(single-event upset).这种错误的出现,一般是因为计算机中的内存受到宇宙射线等照射,引起点位状态的跳变,“0”变成“1”,或者“1”变成“0”,导致数据错误.但是内存一般不会造成物理性损伤.
据IBM1990时代的研究,256M的内存,每一个月都会遇到一次宇宙射线引起的错误.([5]).对于2G内存的笔记本,平均一下一个月就遇到八次由于宇宙射线引起的内存错误(跟运行的程序没有任何关系).现在的服务器,一台机器有48G内存很普通,照此推算,一个月可以遇到192次这种错误.数量还是很可观的.
为了解决这种问题,现在有带有"错误检测与纠正"(ECC)功能的内存,就是带有一定的纠错能力,在一定程度上可以解决这个问题.
宇宙射线引起的软错误,在数据库中也是一个需要考虑的问题.比如sqlite数据库从设计上就不"负责"处理这种错误.
参考文献:
[1]
[2]
[3]
[4]单粒子翻转
[5]
[6]intel plans to tackle cosmic ray threat ,