内存严格上来说应该称为内存条(Memory Module),内存条可以在普通的电脑市场或者网上平台上购买,内存条通常采用DRAM(动态随机存取存储器)作为内存颗粒,若干内存颗粒配合一块长方形的印刷电路板组成一根内存条,除了内存颗粒外,内存条上还可能有 其他芯片,例如SPD存储芯片,时钟缓存寄存器芯片(Registering Clock Driver),或数据缓存芯片(Data Buffer)等。

在整个计算器系统中,内存条无法单独工作,需要有对应的内存控制单元(Memory Controller)以及相应的内存条供电模块,最早的内存控制器在北桥芯片中(North Bridge),但随着北桥芯片逐渐退出市场,内存控制器已经移动到了处理器内部。

需要注意的是,并非所有的计算机系统都使用内存条,例如Ultrabook,内存颗粒被直接安装在主板上,这样一来,主板在设计的时候就要兼顾部分内存条本身的设计内容,同时需要提供类似的SPD芯片,或将其内容内嵌在BIOS中。某些计算机系统采用的处理器本身就内置了高速内存芯片,在内置内存容量满足需求的情况下,可以省略外部内存槽的设计。

DIMM简介

意思是内存条印刷电路板正反面均有金手指与主板上的内存条槽接触,这种结构被称为DIMM。于是内存条也有人叫DIMM条,主板上的内存槽也有人称为DIMM槽。

DIMM(Dual lnline Memory Module,双列直插内存模块)与SIMM(single in-line memory module,单边接触内存模组)相当类似, 不同的只是DIMM的金手指两端不像SIMM那样是互通的,它们各自独立传输信号,因此可以满足更多数据信号的传送需要。同样采用DIMM,SDRAM的接口与DDR内存的接口也略有不同,SDRAM DIMM为168Pin DIMM结构,金手指每面为84Pin,金手指上有两个卡口,用来避免插入插槽时,错误将内存反向插入而导致烧毁;DDR DIMM则采用184Pin DIMM结构,金手指每面有92Pin,金手指上只有一个卡口。卡口数量的不同,是二者最为明显的区别。DDR2 DIMM为240pin DIMM结构,金手指每面有120Pin,与DDR DIMM一样金手指上也只有一个卡口,但是卡口的位置与DDR DIMM稍微有一些不同,因此DDR内存是插不进DDR2 DIMM的,同理DDR2内存也是插不进DDR DIMM的,因此在一些同时具有DDR DIMM和DDR2 DIMM的主板上,不会出现将内存插错插槽的问题。

UDIMM、RDIMM、SODIMM以及LRDIMM的区别

UDIMM,Unbuffered DIMM, 定位于 桌面市场,指地址和控制信号没有经过缓冲器,没有做任何时序调整(缓冲器延迟是有的),直接到达DIMM上的DRAM芯片。而Registered内存模组则对地址和控制信号等进行寄存,在下一个时钟到来时再触发输出。

RDIMM,Registered DIMM,定位于工作站和服务器市场,指地址和控制信号经过寄存,时钟经过PLL锁相。相对于UDIMM,RDIMM更稳定,容量更大,但是对于单个的读写访问要滞后一个时钟周期。 Registered内存本身有两种工作模式,即 Registered模式和Buffered模式。在支持Registered工作模式的主板上工作时,Registered内存工作于 Registered模式,这时主板上的地址信号和控制信号会比数据信号先一个时钟周期到达DIMM,送入Register芯片后会在其中停留一个时钟周期,然后在下一个时钟信号的上升沿从Register输出,与此时从主板上到达DIMM的数据信号一起同时传送到SDRAM。

SODIMM,Small Outline DIMM,定位于笔记本市场,UDIMM和RDIMM都隶属于DIMM,内存模组的长度等,包括金手指的信号分布在内都是一样的。而SODIMM可以理解为小一号的内存模组。

什么是Rank?

前面介绍过一条内存通道可以有多个DIMM,如果因为某种原因,我们最多在主板上只能允许三根DIMM存在,例如从第四根DIMM开始,我们的空间就不够了,又或者信号因为长度超长而质量下降等等。但从性能出发,我们需要六根DIMM在一条内存通道中,怎么办?这时,就可以引入Rank的概念。Rank就好像逻辑DIMM。我们可以把原本两根物理DIMM的内存颗粒全部安装在一块内存印刷电路板上,使得一根内存条具备两倍的内存容量。我们把这种逻辑DIMM称为Rank。为了支持多RANK的内存条,我们需要在物理DIMM接口上定义多个CS_N片选信号以便可以选择相应的Rank。

x8 Dual Rank RDIMM:

通过内存标签看参数 内存UDIMMRDIMM(1)

总结一下,一个Rank就是指一组内存颗粒的CS信号被连在一起,并由内存控制器单独的一根CS_N信号控制,共同组成位宽为64bit(不带ECC)或72bit(带ECC)的存储阵列,共同完成一条内存通道下发的指令。

内存rank是一组连接到同一个chip select的DRAM芯片,可以同时访问它们。所有 DRAM 芯片共享所有命令和控制信号,并且只有每个rank的芯片选择引脚是独立的。

chip:就是内存条上贴的存储芯片,也叫作颗粒。根据数据位宽,可分为x4,x8和x16的。

rank:由多个颗粒并联,位宽与通道的数据位宽一样。比如channel的数据位宽是x64,颗粒是x8的,那就需要

8个颗粒组成一个rank。一个DIMM可以多个rank。

bank:chip往下拆分就是bank。bank往下拆分就是一个个的存储单元,横向一排称之为row,纵向一列称之为column。

,