在DDR3详解(以Micron MT41J128M8 1Gb DDR3 SDRAM为例)中已经讲了DDR芯片的管脚及用法,但是实际生活中我们经常看到的都是DIMM(SO-DIMM)的条子,不能直接接触到DDR芯片,那么问题来了,DIMM芯片上的金手指和DDR芯片的引脚之间是怎样联系的呢?
下面找到了另外一篇文章,这篇文章是以8GB/64位DDR2内存条为例,虽然比DDR3性能是要差了点,但是用来了解其原理还是可以的
设计框图
具体框图如下图。从图中可以看到,这个设计中共用了18颗内存芯片,9颗组成一个rank。前面曾经说过rank的概念,这里复习一下:一个rank就是一个或多个内存芯片组合在一起以达到内存总线带宽的需求;一个rank对应一个片选信号。这个设计中每个内存芯片是512MB/8位,要达到64位带宽,需要64/8=8颗芯片。另外为了保证系统更加稳定,这个内存条设计采用了ECC (error correction code) 也就是数据错误检查和纠正技术 - 64位总线需要8位的错误校验位来进行错误检查和纠正。这也就是说该设计中的每个rank(一个rank是64位)就需要一个8位的内存芯片来存放错误校验数据。这样加起来,一个rank共有9颗内存芯片。
这个设计有2个rank,分别对应片选信号CS0#和CS1#。每个rank内的9个内存芯片:8个接内存总线的数据线,一个芯片接一个数据组也就是8根线组成的一个数据组,依次为Data[0:7], Data[8:15], …, Data[56:63];第九个芯片接数据校验位。地址线连接到所有的内存芯片。每个内存芯片是512MB/8位,接数据线的内存芯片共16个,所以该内存条的设计容量是16*512MB = 8GB。
图中底部是内存条金手指(golden finger)的示意图,在内存条上,几乎所有信号都连接金手指接口与内存条上的芯片和其他元器件。下面就来看看金手指接口电路连接。
内存条金手指
设计文档的第四页主要是金手指内存接口引脚及信号连接。我们先来看看什么是金手指。金手指就是内存条底部一排铜箔引脚触点,表面一般会镀金处理。当内存条插入到内存插槽中,金手指上的信号触点于内存插槽内的内存信号引脚接触连通,从而保证内存总线从主板到内存条的充分连接。所以金手指上的信号与内存插槽上的信号定义是一一对应的。金手指包括正面和背面两排信号触点,下图显示正面的部分,背面在同样的位置还有一排信号触点。
金手指时间长了会由于表面积灰或者氧化而导致其导电性大大受到影响,系统不稳定,容易死机/蓝屏;或者干脆就不能正常开机,上电后无屏显。这种情况下,往往用工业酒精擦拭金手指表面,上述问题常可以得到解决。
金手指接口电路信号
金手指信号连接如下图,一张图是正面,另外一张是背面。其实金手指上的连接的信号都是前面分享中讲过的内存总线的数据,地址和控制信号,还有就是电源和地信号。内存条自己本身并没有电源电路,其上面所有芯片使用的电路和地都由主板通过金手指传输到内存条上,因此需要较多的电源和地的引脚。
绝大部分信号前面都做过解析,这里就不赘述了。有几点补充一下: