什么是ECC内存,为什么更好?

我已经看到关于ECC ram在服务器上使用的讨论。 为什么更好?

ECC RAM可以通过使用奇偶校验位从小的错误位中恢复。 由于服务器是一种共享资源,其中正常运行时间和可靠性非常重要,所以通常只使用ECC RAM,但价格只有适度的差异。 ECC RAM也被用在CAD / CAM工作站中,这些小的误差可能会导致计算错误,这在devise进行到制造时变成更为重要的问题。

优秀的现实世界研究:

DRAM在野外的错误:大规模实地研究 (pdf)

本文提供了第一个大规模的DRAM内存误差研究领域。 它基于Google服务器机构在两年多的时间内收集的数据,这些数据占用了数百万的DIMM天数。 我们的研究中的DRAM涵盖多个供应商,DRAM密度和技术(DDR1,DDR2和FBDIMM)。

本文提出了以下几个问题:在实践中,记忆错误是多less? 他们的统计属性是什么? 它们如何受外界因素的影响,如温度和系统利用率? 它们又如何随芯片密度,内存技术和DIMM时代等芯片特定因素而变化?

我们发现,在许多方面,DRAM领域的错误performance与通常假设的截然不同。 例如,我们观察到的DRAM错误率比先前报告的高出数量级,FIT率(每十亿次设备小时的失效时间)为每Mbit 25,000至70,000,每年受影响的DIMM数量超过8%。 我们提供有力的证据表明记忆错误是由硬错误主导的,而不是软错误,这是大多数以前的工作重点。 我们发现,在所有影响DIMM在现场的错误行为的因素中,温度具有令人惊讶的小的影响。 最后,与通常不同的是,我们没有观察到新一代DIMM每DIMM错误率增加的迹象。

有趣的是,大多数内存错误是硬 – 硬内存错误是不可恢复的,这意味着内存必须在物理上取代失败 ,而软内存错误可以通过用正确的值覆盖内存来解决。 这表明ECC的价值相当有限。

存储系统中通常会出现两种错误。 第一个被称为可重复或硬性错误。 在这种情况下,一个硬件被打破,并会一直返回不正确的结果。 有一点可能会卡住,所以它总是返回“0”,例如,不pipe写到什么东西。 硬错误通常表示内存模块松动,芯片烧毁,主板缺陷或其他物理问题。 他们是相对容易诊断和纠正,因为他们是一致的和可重复的。

听起来就像研究中的所有服务器都使用ECC,所以我们无法知道ECC与非ECC错误率。

本文研究了一大批商品服务器中DRAM错误的发生率和特征。 我们的研究是基于两年多收集的数据,涵盖了多个供应商,几代,技术和容量的DIMM。 所有DIMM均配有纠错逻辑(ECC),以纠正至less一个位错误。

ECC比平价有几个优势。 首先,它可以检测和修复单比特错误,而不必停止整个系统。 多位错误仍然会返回一个奇偶校验错误,但这种情况发生的几率在个人电脑的使用寿命期间是天文数字低的,除非内存本身有缺陷。 ECC就像汽车保险:它涵盖了大多数可能出错的事情,但是它不能防止多车堆积。

更多细节在这里: ECC内存:服务器必须,而不是台式电脑

为了简单起见,从维基百科引用:

计算机系统内部的电或磁干扰可能导致一位DRAM自发地翻转到相反的状态。 最初认为这主要是由于芯片封装材料中污染物释放的α粒子,但研究表明,DRAM芯片中的大部分一次性(“软”)错误是由于背景辐射

这个问题可以通过使用包含额外的存储器位和利用这些位的存储器控​​制器的DRAM模块来缓解。 这些额外的位用于logging奇偶校验或使用纠错码