21世纪中四大技能之一就是计算机,而计算机中最影响速度的就是CPU和内存,计算机速度快慢除了CPU外就是内存了。内存一般有两种,一种是在服务器上使用的,另外一种就是在普通计算机上使用的,那么这两种内存有什么区别,又有一些什么技术在里面呢?读者朋友请看本文。



内存的差距——服务器内存和普通PC内存的区别



服务器内存和普通PC内存都是内存(RAM),在外观和结构上没有什么明显的区别,但是其价格要高于普通内存。服务器内存主要有SDRAM、 DDR和DDR2三种类型,目前用得较多服务器内存是DDR和DDR2。服务器内存与普通内存相比主要区别就是服务器采用了一些新的技术,例如ECC(错误检查和纠正)、Chipkill、Register(寄存器)、热插拔技术、以及FB-DIMM(全缓冲内存模组)等,目前用的较多的服务器内存主要是采用ECC和REG ECC技术的。从外观来说, ECC内存因为要满足效验纠错的需要,加入了一颗ECC效验颗粒,由于采用的是TOSP封装,使得内存看上去每面有9颗内存颗粒。REG ECC内存上面的芯片一般比普通主板多出2-3个,主要是PLL (Phase Locked Loop)和Register IC。ECC与ECC REG内存是从最初发展到现在已经历了两代,频率主要有133、266、333、400、533、667阶段。



(一)揭开服务器内存技术的神秘面纱



(1)ECC



是一种广泛应用于各种领域的计算机中的指令纠错技术,ECC的英文全称是“Error Checking and Correcting”,对应的中文名称就叫做“错误检查和纠正”,从该名称我们就可以看出它的主要功能就是“发现并纠正错误”,它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。很多时候听到一些奸商说我们的服务器内存是ECC内存,其实ECC并不是一种型号,而是将ECC技术应用到内存中。ECC内存主要是从SD内存开始得到广泛应用,目前主流的ECC内存主要是SD内存。



(2)Chipkill



技术是IBM公司为了解决目前服务器内存中ECC技术的不足而开发的,是一种新的ECC内存保护标准。ECC内存只能同时检测和纠正单一比特错误,但如果同时检测出两个以上比特的数据有错误,则一般无能为力。由于目前使用的服务器其系统速度都很高,同时出现多比特错误的现象很少发生,因此ECC技术得到了充分地认可和应用,使得ECC内存技术成为几乎所有服务器上的内存标准。



随着基于Intel处理器架构的服务器的CPU性能在以几何级的倍数提高,而硬盘驱动器的性能跟不上CPU性能,因此服务器需要大量的内存来临时保存CPU上需要读取的数据,这样大的数据访问量就导致单一内存芯片上每次访问时通常要提供4(32位)或8(64位)比特以上的数据,一次性读取这么多数据,出现多位数据错误的可能性会大大地提高,而ECC又不能纠正双比特以上的错误,这样就很可能造成全部比特数据的丢失,系统就很快崩溃了。IBM的Chipkill技术是利用内存的子结构方法来解决这一难题。即单一芯片,无论数据宽度是多少,只对于一个给定的ECC识别码,它的影响最多为一比特。因此,即使整个内存芯片出了故障,每个ECC识别码也将最多出现一比特坏数据,而这种情况完全可以通过ECC逻辑修复,从而保证内存子系统的容错性,保证了服务器在出现故障时,有强大的自我恢复能力。采用这种内存技术的内存可以同时检查并修复4个错误数据位,服务器的可靠性和稳定得到了更加充分的保障。



(3)Register



即寄存器或目录寄存器,在内存上的作用如同书的目录,当内存接到读写指令时,会先检索此目录,然后再进行读写操作,这将大大提高服务器内存工作效率。带有Register的内存一定带Buffer(缓冲),并且目前能见到的Register内存也都具有ECC功能,其主要应用在中高端服务器及图形工作站上,如IBM Netfinity 5000。



(4)FB-DIMM



全缓冲内存模组FB-DIMM(Fully Buffered-DIMM)是Intel在DDR2、DDR3的基础上发展出来的一种新型内存模组与互联架构,既可以搭配现在的DDR2内存芯片,也可以搭配未来的DDR3内存芯片。FB-DIMM可以极大地提升系统内存带宽并且极大地增加内存最大容量。与DDR2内存相比FB-DIMM在内存频率相同的情况下目前能提供四倍于普通内存的带宽,并且能支持的最大内存容量也达到了普通内存的24倍,系统最大能支持192GB内存。与普通的DIMM模块技术相比,FB-DIMM与内存控制器之间的数据与命令传输不再是传统设计的并行线路,而采用了类似于PCI-Express的串行接口多路并联的设计,以串行的方式进行数据传输。在这种新型架构中,每个DIMM上的缓冲区是互相串联的,之间是点对点的连接方式,数据会在经过第一个缓冲区后传向下一个缓冲区,这样,第一个缓冲区和内存控制器之间的连接阻抗就能始终保持稳定,从而有助于容量与频率的提升。



服务器内存典型类型



(二)常用服务器内存及其厂家



目前服务器常用的内存有SDRAM、 DDR以及DDR2三种内存,DDR2为目前的主流产品,SDRAM已经很少见了。目前主要的服务器内存品牌主要有三星、金士顿、创见、 ADATA威刚、博帝、英飞凌、劲芯、现代、IBM、NEC等。



(三)支持服务器内存的主板芯片



芯片组属于低端服务器/工作站级别,支持ECC内存和普通非ECC内存,而E7525属于高端服务器,必须采用ECC REG内存。在AMD方面,K8 CPU集成了内存控制器,CPU与内存直接交换数据,不通过北桥。939针的ALTHON 64系列不支持ECC,所以只能用普通内存,939针的OPTERON支持ECC内存和普通非ECC内存,940针的OPTERON系列只能使用ECC REG内存,插入普通内存无法点亮。



 



小结



在本文中介绍了服务器内存的一些新技术,了解什么是服务器内存,服务器内存跟普通内存有什么区别,支持服务器内存的主要芯片等。






simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/69793