ECC的英文全称是“ Error Checking and Correcting”,对应的中文名称就叫做“错误检查和纠正”,从这个名称我们就可以看出它的主要功能就是“发现并纠正错误”,是在数据位上额外的位存储一个用数据加密的代码。当数据被写入内存,相应的ECC代码与此同时也被保存下来。当重新读回刚才存储的数据时,保存下来的ECC代码就会和读数据时产生的ECC代码做比较。如果两个代码不相同,他们则会被解码,以确定数据中的那一位是不正确的。然后这一错误位会被抛弃,内存控制器则会释放出正确的数据。被纠正的数据很少会被放回内存。假如相同的错误数据再次被读出,则纠正过程再次被执行。它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。使用ECC校验的内存,会对系统的性能造成不小的影响的。
针对大家对ECC内存存在的误区需强调以下几点:
1.ECC内存不会提高服务器性能,确切的说还会有所降低!不过可以提高服务器稳定性。
2.拥有奇偶校验(Parity)的内存不一定是ECC内存 现在168针的内存基本都有此技术。
3.有的认认为ECC内存速度快,是一种错误地认识,ECC内存成功之处并不是因为它速度快,而是因为它有特殊的纠错能力,使服务器保持稳定!
4.主流的ECC内存的工作频率一般低于主流的普通内存频率,但也不是绝对。因为服务器最大的需要是稳定。这是普能内存不能给予的。
5.ECC内存能够发现错误,也能够纠错but不是都能纠错的。在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常操作,不致因错误而中断。它也只能同时发现并纠正一个比特的数据错误。