如何计算DDR4内存颗粒大小

一、什么是DRAM?

       DDR4全称是Dynamic Double Rate 4th-generation Synchronous DRAM,这里的同步指的是内存和系统总线之间保持同步性。DRAM全称是Dynamic Random-access Memory,即动态随机存取存储器,常用于计算机的内存。内存即Memory,不同于计算机中的存储器,比如硬盘、U盘之类。

       也许会有人对各式各样的存储单元概念有些模糊,这里简单讨论一下:

如何计算DDR4内存颗粒大小_第1张图片

       NVM即非易失性存储器,Non-Volatile Memory。上图中ROM还可以细分为EEPROM,PROM等等。固态硬盘SSD(Solid State Disk)的存储颗粒是NAND FLASH,而机械硬盘HDD(Hard Disk Drive)是传统硬盘,采用磁性碟片存储数据。这里不做深入讨论。

      基本上可以用一个金字塔结构来概括:

如何计算DDR4内存颗粒大小_第2张图片

二、内存颗粒的理解

       在内存颗粒的内部,数据是以bit(位)为单位写入一张大的矩阵中,通过指定Row(行),以及Column(列),就可以准确的定位到某一个Cell(单元),这就是物理上寻址的基本原理。至于这个Cell中存储多少个bit,即位宽,需要查看厂商的相关Spec,x8代表每个Cell存储8bit,x16代表每个Cell存储16bit。

       而由于工艺上的限制,这个存储阵列不能做的很大,所以都是将内存容量分成几个阵列来制造,那么一个内存颗粒内部就有多个逻辑阵列,称之为BANK,那么这个颗粒的容量即

如何计算DDR4内存颗粒大小?

       需要注意的是,现在内存厂商多用BankGroup+Banks/Group的表示方式,两者相乘即为所需的BANK数。

       结构用图片表示为:

如何计算DDR4内存颗粒大小_第3张图片

       理论上一个内存颗粒的大小可以通过上式算出,但是实际使用时,厂商为了扩容而改变封装方式。

       一般来说一个Package包含一个Die(这里指一个内存颗粒),即SDP,此时容量还是为一个内存颗粒的容量大小。而一个Package包含2个Die,即DDP(Dual-Die Package)的封装方式,此时容量就是2个内存颗粒的容量。

如何计算DDR4内存颗粒大小_第4张图片

       当然,DDP这种封装方式,也可以理解为将两个内存颗粒并联,扩展位宽,比如两个x8的内存颗粒,采用DDP的封装方式,那么整体上就可以看做是一个x16的内存颗粒。这个整体的内存容量计算方式,就和原先的一样。

三、内存颗粒组成内存

       如今的计算机系统,CPU和内存之间的接口位宽主要是64bit,只有多个内存颗粒并联起来,组成一个位宽为64bit的数据集合,才能够实现内存和CPU的互连。这个64bit的结合就称为一个物理BANK,即Physical-BANK,为了与BANK区分,称之为RANK。理论上,单根内存条最多有4个RANK。

       对应到DRAM CH寄存器中的片选信号CS,就是具体选择的哪一个RANK。

如何计算DDR4内存颗粒大小_第5张图片

       如何用颗粒组成一个完整的1RANK的内存条?

       首先,需要确定该颗粒的位宽是x8,x16还是x32,以x8为例,那么此时就需要8个颗粒并联组成1个RANK的内存条。计算公式即为:

如何计算DDR4内存颗粒大小?       

       当然,还有一种根据颗粒容量计算内存条大小的方法,前提是了解内存和CPU之间接口位宽固定为64bit,也就是无论用多少个颗粒并联,最终都是要组成x64的一个整体,那么,此时该内存条的总容量大小计算公式就可以简化为:

如何计算DDR4内存颗粒大小?      

       这只是个人的理解,若有不对的地方,还望各位见谅。

你可能感兴趣的:(如何计算DDR4内存颗粒大小)