|
发表于 2009-7-30 18:43:17
|
显示全部楼层
ECC是(Error Checking and Correcting)错误检查和纠正,是一种服务器中的内存纠错技术。ECC和奇偶校验(Parity)类似。绝大多数错误ECC可以纠正,而Parity只能检测到错误。经过ECC的纠错,计算机的操作指令才可以继续执行。
ECC内存使用额外的bit存储一个用数据加密的代码。当数据被写入内存,相应ECC的代码与此同时也被保存下来。在读取数据时,原ECC代码就会和读数据时产生的ECC代码做比较。结果相同,则被视为无错;结果不同,则两个代码被译码,继续找到出错的那一位数据。出错的数据被抛弃,内存控制器随即再写入正确的数据。这就是ECC内存的工作原理,这一过程中虽然传输速度会受到一定影响,但在“稳定压倒一切”的服务器中,ECC起到了重要作用。
ECC技术集成在内存中,要占用内存位宽。DDR内存的标准位宽是64位,加入ECC后,位宽为64+64÷8=72位。早期的SIMM内存,标准位宽是32位,加入ECC后为32+32÷8=36位。位宽的增加对内存颗粒要求更高,所以服务器的ECC内存价格不斐。而且系统需要时间来等待校验的结果,所以ECC校验会降低系统速度2%-3%左右,但这小小的代价换来系统稳定性的大大提高可以说事非常值得的。 |
|