3.6.1 内存颗粒容量计算 前面说了这颗内存芯片容量为128MB,那么这个大小是怎么计算出来的呢? 说到这里,就不得不提内存芯片的位宽 (Device Width),每个内存芯片都有自己的位宽,即每个传输周期能提供的数据量。说白了,这个芯片位宽就是,每个格子可以实际存储的数据大小。 理论上,完全可以做出一个位宽为64bit的芯片,但这对技术要求很高,在成本和实用性方面也都处于劣势,所以芯片的位宽一般都较小。一般常见的内存芯片位宽为4/8/16三者之一。 1若128MB内存芯片,为DDR3,其位宽为8bit,那么
从上面Bank图,也可以看到16384*1024*8字样,表示一个Bank中由16384行,1024列组成,每个格子可保存8bit,也就是1字节数据。那么一个Bank中格子数就是16384*1024,和上面公式中16*1024*1024相等。 1若内存芯片,为DDR4或DDR5,那么
芯片package,就是芯片封装,内部可能有多个die。可以理解为将多个芯片电路封装为一个芯片,外部看起来就是一块芯片。以前的内存颗粒,假设128MB,就是一个芯片,所以一个package,就是一个内存颗粒的大小128MB。 我们上文讲过一个内存颗粒的大小如何计算,理论上一个内存颗粒的大小可以通过上式算出。但是实际使用时,厂商为了扩容而改变封装方式: 一般来说,一个Package包含一个Die(这里指一个内存颗粒),即SDP,此时容量还是为一个内存颗粒的容量大小,也就是上文中所描述的内容。而一个Package包含2个Die,即DDP(Dual-Die Package)的封装方式,此时容量就是2个内存颗粒的容量。 当然,DDP这种封装方式,也可以理解为将两个内存颗粒并联,扩展位宽,比如两个8位的内存颗粒,采用DDP的封装方式,那么整体上就可以看做是一个16位的内存颗粒。 所以,我们可以整理出DIMM的层次结构,如下:
5 内存控制器到内存颗粒层次总结 从内存控制器到内存颗粒内部逻辑,笼统上讲从大到小为:channel>DIMM>rank>chip>bank>row/column,如下图所示: 5.1 DDR3/DDR4层次 在计算机系统中,有多个内存通道,每个通道可以插若干个DIMM,而每个DIMM上有至少一个以上的RANK,每个RANK由若干个内存芯片组成,这些芯片可能是4/8/16bit的,他们组合的原则就是将位宽凑齐至通道位宽(64bit)。 5.2 DDR5层次 DDR5的DIMM对应2个通道,每2个通道上,可以插若干个DIMM。而每个通道上有至少一个以上的RANK,每个通道上RANK最多为2个。每个RANK由若干个内存芯片组成,这些芯片可能是4/8/16bit的,他们组合的原则就是将位宽凑齐至通道位宽(32bit)。 以上都是芯片以上层次的结构,在单个内存芯片内部,还有层次划分,可能芯片package中有多个Die,每个Die上,还可能分为多个BANK Group,每个Bank Group下,还有多个Bank,每个BANK是由按行列方式排列的若干个格子组成。 6 SPD数据 6.1 SPD是什么 SPD(serial presence detect),即串行存在检测,中文怪怪的。SPD是DIMM的相关描述信息。 在每根内存条上,都有一份SPD数据,这份数据保存在一个可擦写的eeprom芯片中。SPD数据记录了该内存的许多重要信息,诸如内存的芯片及模组厂商、工作频率、工作电压、速度、容量、电压与行、列地址带宽等参数。SPD数据一般都是在出厂前,由DIMM制造商根据内存芯片的实际性能写入到eeprom芯片中。 SPD信息最重要的作用是作为一个身份标识,让主板能够识别到它。比如,使用CPU-Z软件读取到的SPD信息,如下图所示。 6.2 SPD数据格式 不同类型的DDR,他们的SPD数据长度和格式可能会不一样,比如: DDR2、DDR3的DIMM,对应的SPD数据长度为256B; DDR4的DIMM,对应的SPD数据长度为512B; DDR5的DIMM,对应的SPD数据长度为1024B。 但是,在这些不同长度的SPD数据中,有一些字段偏移可能是不兼容的。对于一些很基础的信息,他们的格式是一致的,比如DDR4与DDR3中,第0-5字节,他们表示的含义是相同的,其他则可能就不同。 所以,具体的话,还是需要参考对应的手册。 DDR3 SPD手册:https://pan.baidu.com/s/16-tQMQfnX4mRHJ7ovoNJDQ 提取码: e5qi DDR4 SPD手册:https://pan.baidu.com/s/1Yy9YsU5VlpcP_sAc3yoHRQ 提取码: j5wj DDR5 SPD手册:https://pan.baidu.com/s/1JTVLnR2PpFsr_qApNZZoGw 提取码: k5p7 6.3 SPD数据篡改 我们前面提到,SPD芯片是一块可擦写的存储器,意味着SPD信息是可以更改的。所以它就成为了一些山寨厂商造假的“乐土”。 山寨厂商采用低劣的内存颗粒和PCB,通过专门的读写设备和软件,复刻正规品牌内存条的SPD信息,达到“挂羊头卖狗肉”的目的。但由于品质不可靠,这类内存条在使用过程中极易出现运行不稳定或者导致电脑死机的情况。 7 DDR中bank,die,rank,channel的关系 图1 die:2 rank:没有位宽信息,无法确认; channel:1 图2 die:4 rank:2; channel:1 图3 die:2 rank:1; channel:2 图4 die:4 rank:没有位宽信息,无法确认; channel:2 |