菜鸟堂:浅析服务器市场企业级内存结构

间隙填充
正睿科技  发布时间:2009-03-23 09:19:25  浏览数:1945

  前段时间我们曾经报道过关于服务器处理器的一些文章。今天我们来看看服务器内存相关技术知识。提及服务器内存,其实与我们大家通常用的普通PC一样,也是RAM,与普通个人电脑内存在结构和外观无明显实质性区别。由于服务器内存在性能和可靠性、稳定性、纠错性等方面较PC机的要求高,所以服务器内存需要引进特殊技术如ECC、ChipKill,还有热插拔技术等。接下来让我们简单看一下各自技术的简单解释。

  ECC(ErrorCheckingCorrecting)

  ECC英文全称是“ErrorCheckingCorrecting”,中文名称叫做“错误检查和纠正”,即实现错误发现和错误纠正等功能。对比普通的内存来说(通常使用Parity技术??同位检查码Paritycheckcodes被广泛地使用在侦错码errordetectioncodes上),它比奇偶校正技术更先进的方面主要在于它不仅能发现错误,而且能纠正这些错误,这些错误纠正之后计算机才能正确执行下面的任务,确保服务器的正常运行。

  Chipkill

  Chipkill技术是IBM公司为了解决目前服务器内存中ECC技术的不足而开发的,是一种新的ECC内存保护标准。ECC内存只能同时检测和纠正单一比特错误,但是如果同时检测两个以上比特的数据错误,则需要较强的技术??Chipkill。采用这种内存技术的内存可以同时检查并修复4个错误数据位,服务器的可靠性和稳定得到了更加充分的保障。


浅析服务器市场内存结构
chipkill内存图

  存储器中的每个字节外加一个ECC位构成ECC字。如果存储器系统的数据宽度为32个字节(或256位),实际的存储器数据的宽度是256+32=288位。同时,每一个数据位都被置于分离的ECC字中。

  存储系统由4个DIMM模块构成,32个字节(256位)的数据被分成4个ECC字,每个ECC字含有8个字节(64位)的数据位和8个ECC位。这样,一个ECC字的实际长度为64+8=72位,存储数据总长度为72×4=288位。存储器控制器(MemoryController)把每个ECC字被分成4个长度为18位的段,分别存储于4个DIMM中。同时,每个DIMM中也存储了4个来自不同的ECC字的段。然后,每个段的18个位再被存储在不同的RAM芯片中。

浅析服务器市场内存结构
内存纠错原理图

  Register

  Register(寄存器、目录寄存器),在内存上的作用我们可以把它理解成书的目录,当内存接到读写指令时,会先检索此目录,然后再进行读写操作,这将大大提高服务器内存工作效率。带有Register的内存一定带Buffer(缓冲),并且目前能见到的Register内存也都具有ECC功能。

  FB-DIMM

  FB-DIMM(FullyBuffered-DIMM,全缓冲内存模组)是Intel在DDR2、DDR3的基础上发展出来的一种新型内存模组与互联架构,既可以搭配现在的DDR2内存芯片,也可以搭配未来的DDR3内存芯片。


浅析服务器市场内存结构
FB-Dimm工作原理

  相比DDR2内存来说,FB-DIMM技术具有极大的优势:在内存频率相同的情况下目前能提供四倍于普通内存的带宽,并且能支持的最大内存容量也达到了普通内存的24倍,系统最大能支持192GB内存。

浅析服务器市场内存结构
FB-DIMM与传统DDR2系统之间的最大容量与带宽比较图

  对于DIMM模块技术来说,FB-DIMM与内存控制器之间的数据与命令传输不再是传统设计的并行线路,而采用了类似于PCI-Express的串行接口多路并联的设计,以串行的方式进行数据传输。

  常用服务器内存典型类型

  SDRAM

  SDRAM是“SynchronousDynamicromaccessmemory”的缩写,意思是“同步动态随机存储器”,就是我们平时所说的“同步内存”,这种内存采用168线结构。

  DDR

  DDR是SDRAM后产生的内存技术,DDR(DoubleDataRate)双数据传输模式,我们日常所使用的SDRAM都是“单数据传输模式”。DDR引用了一种新的设计,其在一个内存时钟周期中,在方波上升沿时进行一次操作,在方波的下降沿时也做一次操作,之所以在一个时钟周期中,DDR则可以完成SDRAM两个周期才能完成的任务,所以理论上同速率的DDR内存与SDR内存相比,性能要超出一倍,可以简单理解为100MHZDDR=200MHZSDR。DDR内存采用184线结构。

  DDR2

  DDR2是上一代DDR内存技术标准的升级版,采用时钟上升/下降延同时进行数据传输的基本方式,拥有DDR两倍内存预读取能力(即:4bit数据读预取)。DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。