对于NAND,这个是一定要做ECC的。需要外置NAND的主控芯片去做软件或者硬件支持,为什么要做ECC呢,这个是因为:
“不同于NOR Flash内部结构,NAND Flash存储单元(cell)是串行组织的,当读取一个单元的时候,读出放大器(sense amplifier)所检测到信号强度会被这种串行存储结构削弱,这也难免降低了所读信号的准确性。因此如何保证NAND Flash数据的可靠性成了一个问题。ECC作为一种解决手段,被广泛使用”
这里我们谈的是非NAND类的Flash和RAM类芯片。
随着芯片的制造工艺水平越高,带电粒子能产生的位翻转就越多,此时的ECC是必须要有的,一般可以纠正1-2个bit。安全等级高的Flash类存储器和RAM类都是必须要带ECC的。像赛普拉斯的HyperFlash和ISSI的部分RAM芯片。
比如ISSI的SRAM:
Cypress的HyperFlash是带的:
经典案例1:
美国橡树林国家实验室的研究人员在Jaguar猎豹超级计算机上研究了宇宙射线导致的位翻转(bit-flipping)现象。他们发现该超级计算机的362TB内存每秒钟会触发300次ECC校验(一种芯片纠错技术,能够修复宇宙射线、高温、电压波动导致的位翻转)。
”宇宙射线对大型计算机的影响巨大,如果没有ECC内存技术,今天的超级计算机甚至无法顺利启动“,橡树林国家实验室的研究科学家AI Geist说道。
经典案例2:
10几年前,Sun公司的UltraSparc II 处理器的片上缓存的位翻转为该公司的客户带来巨**烦。Sun当时的首席执行官Scotty McNealy承认芯片的缓存没有采用ECC技术。
经典案例3:
2009年谷歌对其数据中心DRAM(动态随机访问内存)故障进行了研究,发现每年有8%的内存模块产生了至少一次错误,这个出错几率大大超出了人们的预期,但罪魁祸首并不是宇宙射线,而是时间这把杀猪刀。 |