平时大家接触最多的应该是普通内存,也就是我们所说的PC内存,一般来说,内存越大,电脑的运行速度就越快。用在服务器上也是同理,服务器的内存越大,服务器的访问速度也会越快。服务器内存和普通内存都是内存产品,从广义的角度来看,实际上是一样的,没什么区别。而实际上这两种内存可以看成是一种产品的两个级别,服务器内存是更高一个级别的,但服务器内存追求的并不是更高的频率或者速度,而是稳定与纠错。
我们一般在选购普通内存的时候,大家都在关注的点通常是DDR3还是DDR4,频率是多少,2133还是3000,用的是什么颗粒?时序是多少?买哪个划算点?通俗点说就是关注内存条的性能指标,然后去衡量不同产品之间的性价比。
而服务器内存更看重的是所应用的技术,可以这样去归纳,大部分先进的技术都用在了服务器内存上,而大部分先进的工艺都用在了普通内存上。比如服务器内存通常都有ECC技术,chipkill、热插拔等技术,而普通内存只有少数拥有ECC技术,UDIMM ECC就是这种内存,普通PC也能用,只不过无法开启ECC功能。
从结构上看,通常服务器内存上会多一颗ECC错误校验芯片,普通内存上基本不会有,这样来看,服务器内存条上的芯片数量为奇数,而普通内存条上的芯片数量为偶数。而数量的不同也导致两者容量上有所差异,服务器内存通常是4G起,有4G/8G/16G/32G等,而普通内存是2G起,有2G/4G/8G/16G较为常见。
ECC是一种广泛应用于各种领域的计算机指令中纠错技术。它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。
Chipkill技术是IBM公司为了解决目前服务器内存中ECC技术的不足而开发的,是一种新的ECC内存保护标准。ECC内存只能同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据有错误,则一般无能为力。Chipkill技术保证内存子系统的容错性,保证了服务器在出现故障时,有强大的自我恢复能力。
Register即寄存器或目录寄存器,在内存上的作用如同书的目录,当内存接到读写指令时,会先检索此目录,然后再进行读写操作,这将大大提高服务器内存工作效率。带有Register的内存一定带Buffer(缓冲),并且目前能见到的Register内存也都具有ECC功能,其主要应用在中高端服务器及图形工作站上,如IBM Netfinity 5000。
热插拔内存允许用户在不关闭系统,不切断电源的情况下取出和更换损坏的内存,从而提高了系统对灾难的及时恢复能力、扩展性和灵活性等。维护人员可以在服务器正常带电运行的情况下,直接对内存进行插拔操作。
通常情况下,服务器的内存条只能用于服务器,普通内存条只能用于台式机,它们之间不能互换,否则将不能正常开机。但是AMD平台服务器的内存条可以用到普通电脑上,但是有时会不稳定;INTEL平台服务器的内存条,普通家用的电脑用不了,只能服务器平台能用。