DDR5内存条容量计算

  • 一、理解DDR5通道的变化
  • 二、理解芯片package
  • 三、DDR5 symmetric module容量计算

之前对DDR的一些基础知识进行了总结。最近需要了解DDR5的知识,在之前文章基础上又有一些认识,所以重新开一篇,继续记录。如果对基础概念不清楚,可以查看《一步一步带你理解DDR基本原理》。

DDR5的SPD规范中(https://pan.baidu.com/s/1JTVLnR2PpFsr_qApNZZoGw 提取码: k5p7),有关于DDR5内存条容量的计算方法,如下:

容量计算有2种方式:

  • 一种是针对symmetric module,即对称模块内存条;
  • 另一种是针对asymmetric module,即非对称模块内存条。

何为对称,何为非对称?我也没搞明白,谁知道,给我讲讲。DDR5资料较少,以下均为我自己的理解,若有误,望指正。
我大概想明白了,symmetric module方式的计算方法。在讲解计算公式原理前,有一些概念需要理解。

一、理解DDR5通道的变化

到了DDR5时代,预取从8n增加到了16n,并且一个通道的数据位宽从原来的64bit降为32bit。DDR5不会为每个DIMM提供一个64位数据通道,而是为每个DIMM提供两个独立的32位数据通道(考虑ECC时为40位)。同时,每个通道的burst length从8字节(BL8)翻倍到16字节(BL16),这意味着每个通道每次操作将交付64字节。与DDR4 DIMM相比,以两倍于额定内存速度(相同核心速度)运行的DDR5 DIMM将在DDR4 DIMM传输一个DDR4 DIMM的时间内提供两个64字节操作,从而使有效带宽增加了一倍。

意思就是原来一根DIMM只会使用一个通道,一个通道上一般会插多根DIMM。但是现在一根DDR5的DIMM,会使用2个通道,每个通道位宽为32bit。

我理解的DDR5,是下面这样子:

二、理解芯片package

芯片package,就是芯片封装,内部可能有多个die。可以理解为将多个芯片电路封装为一个芯片,外部看起来就是一块芯片。

以前的内存颗粒,假设128MB,就是一个芯片,所以一个package,就是一个内存颗粒的大小128MB。

DDR5,一个芯片上可以做多个内存颗粒,比如做2个,那么一个这样的package,就是256MB。

将两个 DDR 颗粒封装在一起,此时你看见的就只有单个芯片了,但其实这两个颗粒还是共享总线。意思就是内部有2个颗粒,若每个颗粒宽度为4bit的话,那么整个package所占用位宽就应该为8bit。

所以,我们可以整理出DIMM的层次结构,如下:

DIMM->CHANNEL->RANK->芯片Package->颗粒

一根DDR5内存条,有2个通道,每个通道下有多个RANK,每个RANK(32bit)由多个芯片package组成,每个package又封装了多个颗粒。 理解了这个层次,就可以继续看下面的计算公式了。

三、DDR5 symmetric module容量计算

DIMM容量计算公式:

Capacity in bytes =
Number of channels per DIMM *
Primary bus width per channel / SDRAM I/O Width *
Die per package *
SDRAM density per die / 8 *
Package ranks per channel

首先,我们来解释下公式中参数的含义:

  • Number of channels per DIMM:DIMM中有多少个通道;
  • Primary bus width per channel:每个通道的位宽;
  • SDRAM I/O Width:内存芯片package的位宽(这里指的是package,不是指package内部的内存颗粒);
  • Die per package:每个package内部有多少个颗粒;
  • SDRAM density per die:每个颗粒的大小,单位为Gb;
  • Package ranks per channel:每个通道下有多少个RANK。

然后,不着急,我们先进行一个拆解。
我们来计算一个RANK的大小

RankSize=
Primary bus width per channel / SDRAM I/O Width *
Die per package *
SDRAM density per die / 8
  • Primary bus width per channel / SDRAM I/O Width,得到一个RANK需要由多少个package组成;
  • Die per package得到一个RANK中有多少个内存颗粒;
  • 再乘SDRAM density per die得到一个RANK容量大小,单位Gb;
  • 最后除8得到一个RANK容量大小,单位GB。

最后,我们来计算整个DIMM的容量

Capacity in bytes =
Number of channels per DIMM *
RankSize *
Package ranks per channel

这就很好理解了,DIMM容量 = 通道数 * 每个通道的RANK数 * 每个RANK大小,单位GB。

附录,以上公式中相关参数,在SPD数据中的偏移,如下:

参数名 SPD偏移 SPD偏移名称
Number of Package Ranks per Channel 234 (Common): Module Organization
SDRAM Density per Die、Die per Package 4 First SDRAM Density and Package
SDRAM I/O Width 6 First SDRAM I/O Width
Primary Bus Width per Channel、Number of Channels per DIMM 235 (Common): Memory Channel Bus Width

参考链接:
《内存DIMM的Volume-Rank-Chip-Die的相互关系》
《译文: DDR4 SDRAM - Understanding the Basics(上)》
《DDR5最终规范正式发布!附:详细说明》
《内存spd规范_再见,DDR4!Hello,DDR5内存!》
《小科普|DDR5内存有什么变化?》


若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

DDR5内存条容量计算相关推荐

  1. Android SDCard操作(文件读写,容量计算)

    Android SDCard操作(文件读写,容量计算) android.os.Environment 提供访问环境变量 java.lang.Object android.os.Environment ...

  2. 最大玻尔兹曼分布的mASK信号在AWGN信道下的容量计算

    最大玻尔兹曼分布的mASK信号在AWGN信道下的容量计算_u011852612的博客-CSDN博客

  3. 锂电池电量百分比计算_锂离子电池容量计算之电压法

    锂离子电池容量计算之电压法 锂离子电池开路电压与电池容量的对应关系分析 先给出一个表格 : 如下 , 百分比是电池的剩余容量 , 右侧是对应的电池的开路电压 (OCV).  100%--- ...

  4. DDR地址容量计算与理解

    转 DDR地址和容量计算.Bank理解 DDR3为减少地址线,把地址线分为行地址线和列地址线,在硬件上是同一组地址线: 地址线和列地址线是分时复用的,即地址要分两次送出,先送出行地址,再送出列地址. ...

  5. 如何计算机床水箱大小,冷水机水箱容量计算

    冷水机水箱容量计算对风冷冷水机的翅片式换热器应定期进行清洗,散热风扇前方不可有高墙,尽量避免阻挡排风通道而影响制冷效果.在数控机床.座标镗床.磨床.加工中心.组合机床以及各类精密机床用冰水机.小型系统 ...

  6. 计算机存储器之容量计算

    文章目录 1 概述 1.1 主存储器图示 1.2 专业术语解释 2 容量计算 2.1 计算公式 2.2 网工软考真题 3 扩展 3.1 单位换算 1 概述 #mermaid-svg-DEFvKL89w ...

  7. 编程示例:表格程序开发的EXCEL方法,以二维码的数据容量计算为例

    编程示例:表格程序开发的EXCEL方法,以二维码的数据容量计算为例 在二维码的计算中,它的第一个表格是以版本号为参数,计算该版本下的数据容量. 表1如下: 在EXCEL中以公式的形式生成与上图一致的表 ...

  8. 安防监控硬盘容量计算

    安防监控系统 硬盘录像机如何计算硬盘容量 各种分辨率下采用什么样的码流可以获得较好的图像质量     DS-8000HC嵌入式网络硬盘录像机支持多种分辨率,我们一般使用CIF.DCIF.D1三种.在不 ...

  9. DDR3地址和容量计算、Bank理解

    DDR3 地址线 DDR3为减少地址线,把地址线分为行地址线和列地址线,在硬件上是同一组地址线:地址线和列地址线是分时复用的,即地址要分两次送出,先送出行地址,再送出列地址. 一般来说列地址线是10位 ...

最新文章

  1. 教遗传算法人工智能玩超级马里奥大陆
  2. spring security源码分析之一springSecurityFilterChain
  3. C语言Stock span 库存跨度问题(附完整源码)
  4. 在vue中没有数据的渲染方法
  5. mysql断电不受影响db引擎_一次服务器断电,造成innodb引擎表(日志表)损坏的解决办法...
  6. Java并发——线程安全
  7. NIOS2-IDE环境下的一些操作技巧
  8. ArrayList和LinkedList的插入删除性能差距到底有多大
  9. MySQL添加唯一约束和联合唯一约束(建表后添加)
  10. word2vec原理_初识word2vec词向量
  11. mysql 清理relay日志_Mysql 删除从数据库的relay logs最佳方式、最安全方式
  12. 如何查看计算机有无无线连接功能,如何查看电脑是否支持miracast_怎么判断电脑是否支持MIRACAST无线连接功能...
  13. linux文本编辑器vi保存命令,linux命令vi文本编辑器的使用方法
  14. 智芯传感ZXP0电容式大气压力传感器 拓展多领域创新应用
  15. RestTemplate设置Headers
  16. 线性代数中解方程组的加减消元和求特征向量的加减消元的区别
  17. Pycharm配置(1)——解释器(interpreter)
  18. DxDiag中字段结构
  19. 技校毕业是什么学历_技校毕业后是什么学历什么文凭?
  20. 推荐系统深度学习篇-NFM 模型介绍(1)

热门文章

  1. 生产型企业财务管理报表
  2. 股票 江恩二十一条买卖法则
  3. 2022留学生落户上海怎么办理社区公共户?
  4. 服务器的操作审计信息,裸金属服务器关键操作审计
  5. java个人常见异常
  6. 【OpenGL】图片的像素和分辨率
  7. Python 跨类传参与跨模块传参
  8. Conditional Likelihood Maximisation: A Unifying Framework for Information Theoretic Feature Selecti
  9. uni-app微信小程序扫普通二维码分享小程序
  10. matplotlib模拟重力场中粒子的分布