服务器 频道

新手必读:服务器内存ECC和Registers

    【IT168 报道】服务器所承担的都是关键性任务,往往要求24小时×365天的不间断运行,而且不允许中途故障频出或者频繁重启,对可靠性和稳定性两项指标要求极为苛刻。相比较而言,PC机对可靠性和稳定性的要求就相对简单了许多——系统崩溃重启即可,每天开机时间多数不超过10小时。截然不同的应用决定了二者对内存功能要求的差异性。通常服务器内存拥有ECC和Registers功能,而针对PC的普通内存条则没有这两项功能。那么ECC和Registers功能究竟能起到什么作用呢?

ECC校验功能

    ECC是“Error Checking and Correcting”的简写,中文名称是“错误检查和纠正”。ECC功能所起的作用就是检查数据在传输过程中是否出错,一旦发现接收到的数据错误就立刻将它抛弃,并命令对方重新发送一次。这种机制可以有效减少服务器的故障率。倘若数据在传输中出错却没被检查出来,CPU使用错误的数据后很可能出现更严重的错误,造成系统意外崩溃。虽然在日常应用中这种情况极少出现,但服务器在高负载、长时间不间断运行的状态下,数据出错就在所难免了。因此对服务器来说,内存模组拥有ECC校验功能是必不可少的。

    ECC的实现原理较为简单,它在每个字节中增加一个校验位,并以此为基础来判断数据正确与否。我们可以看到,普通DDR/DDR2内存模组都为64bit位宽,而ECC模组的位宽达到72bit,多出的8bit其实就是校验位。另外,我们必须明确一个概念,ECC只能对数据包进行检查,判断数据是否正确,如果发现错误便让对方重发,而不是直接修复数据。目前,具有错误自动修复功能的内存只在某些大型计算机、军用设备、空间探测等高精尖设备中才会用到。

    ECC功能由模组中附加ECC校验芯片来实现,但要让ECC发挥作用还离不开内存控制器的支持。目前针对服务器的设计芯片组均可支持该项特性。一般ECC校验只能检查出1bit的数据错误,但如果内存控制器设计得足够强大,ECC机制也可以侦测到一个字节数据中多个比特位同时出错的情形。

    由于ECC功能对于提高系统稳定性大有帮助,浪潮在全线产品中均采用了内存ECC技术。目前,市场上的某些低端入门级服务器使用的是普通PC用的内存,不具备ECC功能,这为服务器的稳定性带来了潜在的隐患。

0
相关文章