【IT168 专稿】服务器内存是服务器中最重要的组成部分之一,与普通内存相比,服务器内存具备更好的稳定性和纠错性能。
一、服务器内存的基本特点
图0 插满服务器内存的服务器及宇瞻DDR服务器内存 |
1、服务器内存的特点
具备ECC功能是服务器内存的基本特点。ECC是“Error Checking and Correcting(错误检查和纠正)”的简写,ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,这将使整个电脑系统在工作时更趋于安全稳定。
大家知道,绝大多数常见的内存出错都是:单位错、多位错、列错、行错。它们都比较相似。单位错大多发生在读一个完整的比特或词的时候有一位比特出错。当读相同的比特和词时总是同一位数据出错,则称为多位错。单位错发生在很多词中,就称列错或行错。
ECC和奇偶校验(Parity)类似,但Parity只能检测到错误的地方,ECC实际上可以纠正绝大多数错误。经过内存的纠错,计算机的操作指令才可以继续执行。
“ECC内存使用额外的比特(bit)存储一个用数据加密的代码。当数据被写入内存,相应的ECC代码与此同时也被保存下来。当重新读回刚才存储的数据时,保存下来的ECC代码就会和读数据时产生的ECC代码做比较。如果两个代码不相同,他们则会被解码,以确定数据中的那一位是不正确的。然后这一错误位会被抛弃,内存控制器则会释放出正确的数据,被纠正的数据很少会被放回内存。
假如相同的错误数据再次被读出,则纠正过程再次被执行。重写数据会增加处理过程的开销,这样则会导致系统性能的明显降低。如果是随机事件而非内存的缺点产生的错误,则这一内存地址的错误数据会被再次写入的其他数据所取代。”
除此而外,目前主流的服务器内存还有支持基于ECC的更新的服务器内存技术,如Register(Register即寄存器或目录寄存器,在内存上的作用相当于书的目录,当内存接到读写指令时,会先检索此目录,然后再进行读写操作,将大大提高服务器内存工作效率)、Chipkill(Chipkill技术是IBM公司为了解决目前服务器内存中ECC技术只能同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据有错误,则一般无能为力的不足而开发的一种新的ECC内存保护标准。而Chipkill就好像是内存的RAID阵列,当数据被写到RAM时,一个校验也被写到RAM当中的其它位置;发生错误时,可以使用这个校验来恢复数据,它可以检测并纠正多数据位错误)等。