DRAM基础

  • DRAM中的存储概念:rank/bank/page;
  • 每个rank最多包括16个bank;
  • 每个bank中只能有一个page处于“open”状态;
  • 让一个page处于“open”需要DRAM的控制器发送“ACT激活”command,并设定好rank/bank和row,然后controller等待Trcd时间才可以CAS;
  • 读写数据需要发送“CAS”command并指定好rank/bank/column,然后controller等待Tcas_latency时间
  • 让一个page“close”需要控制器发送“PRECHARGE”command,并指定rank/bank,然后控制器等待Trp时间
  • 如果需要的page没有“open”,而是同一rank bank中其他page“open”,这是会发生“page conflict”,此时需要控制器先发送“PRECHARGE”命令将不需要的“open”page送回,再“ACT激活”command去open需要的page;
  • 当然,使用前必须初始化;
  • 此外,一些细节内容需要结合实际+真正工作中使用到才能了解;

DDR技术

https://blog.csdn.net/cy413026/article/details/82024291
DDR的I/O频率=核心频率*预取位数
核心频率很难做上去,一般在100MHz-200MHz间,预取位数为2(DDR1), 4(DDR2), 8(DDR3), 16(DDR4)
所谓通过预取来匹配计算端频率与DDR核心频率就是将一次性取的并行信号通过串并转换变成串行信号。

单个DDR芯片内部结构

下图是一个DDR3芯片的内部结构,micron的MT41K256M16TW-107为例,MT41K为型号,256M16表示大小为256M*16 = 4Gb

  • 存储容量为2^(3+15+7+3)个16bit,第一个3为bank位宽,15为行地址位宽,7为列地址位宽,第二个3做8位预取的平衡,总容量为512MB
  • bank数目为8;
  • 128到16的8位预取;
  • 经过行列选择后的每个块存储单元为128bit;
  • 地址复用,先行再列;
  • 单颗16bit位宽IO

多个DDR组成一个rank,多个rank组成一个DIMM

  • 这块内存条是4GB 2Rx8,其中4GB是整个内存条的储存空间。2Rx8表示该内存条是2 Rank 每颗ddr位宽8bit。
  • 每一个黑块就是一个DDR芯片;
  • rank就是DIMM中所有共享地址总线进行索引的DDR的集合,也就是直接把每颗DDR的位宽提升了
  • 多个DIMM条就相当于组成了多通道了

DDR内存技术的进化

DDR4在单个DDR3内部的bank又做了一个分组,形成bank group,bank group间是独立的,
在DDR在发展的过程中,一直都以增加数据预取值为主要的性能提升手段。但到了DDR4时代,数据预取的增加变得更为困难,所以推出了Bank Group的设计。每个Bank Group可以独立读写数据,这样一来内部的数据吞吐量大幅度提升,可以同时读取大量的数据,内存的等效频率在这种设置下也得到巨大的提升。对应DDR4的接口上添加了一个BG(bank group),
DDR4架构上采用了8n预取的Bank Group分组,包括使用两个或者四个可选择的Bank Group分组,这将使得DDR4内存的每个Bank Group分组都有独立的激活、读取、写入和刷新操作,从而改进内存的整体效率和带宽。
如果内存内部设计了两个独立的Bank Group,相当于每次操作16bit的数据,变相地将内存预取值提高到了16n,如果是四个独立的Bank Group,则变相的预取值提高到了32n。

下图可以看出DDR4的变化,分组,好处的个人理解是:

  • 根据之前的结构分析,每个块存储单元是128bit的
  • bank group的独立意味着可以源源不断的产生128bit数据,而没有group概念的时候,一定会

GDDR

用于显卡的DDR颗粒,可理解为gpu的内存。特点是位宽频率更高,发热更小。
GPU与GDDR间显存数据位宽更大,而CPU与DDR间的数据位宽也就64bit或128bit。
优点是带宽比较高,功耗比较低。
缺点是,适合并发,不适合随机访问;时序复杂,工艺要求高;不适合配合CPU的Cache line的读取。

参考:https://www.sohu.com/a/272922967_463982

GDDR 位宽/bit 预取/bit 等效频率/GHz 电压/V 读写通道 单颗容量 最大带宽/GB/s 标准制定
GDDR 16/32 2 0.9 2.5 共用 16/32MB 3.6 -
GDDR2 32 4 1 2.5 共用 32MB 4 -
GDDR3 32 4 2.5 1.8 读写独立 128MB 10 NV
GDDR4 32 8 4 1.5 读写独立 128MB 16 ATI
GDDR5 32 8 8 1.5 QDR 1GB 32 -
GDDR5X 32/64 16 16 1.35 QDR(独立读写) 2GB 56/128 NV+美光
GDDR6 32/64 16 16 1.35 QDR 4GB 56/128 -

这里我的理解是:从GDDR3代开始,就采用了QDR技术,包括DDR技术和独立的读写通道,相当于4倍速率,NV的显卡都是基于32/64的倍数进行组合。但是单颗芯片能提供的最大带宽需要进一步确认。
等效频率=显存时钟*2或4,取决于DDR还是QDR

HBM技术

一款由三星电子、超微半导体和SK海力士发起的一种基于3D堆栈工艺的高性能DRAM,适用于对高存储器带宽有需求的应用场合。例如图形处理器、网络交换及转发设备(如路由器、交换器)等就是HBM的典型应用场景。

原文链接:https://www.xianjichina.com/news/details_279979.html

核心就是:高带宽、片上3D堆叠
https://www.tomshardware.com/news/rambus-shares-hbm3-details-1075-tbps-of-bandwidth-16-channels-16-hi-stacks

HBM 位宽/bit channel IO速率/Gbps IO频率/GHz 电压/V max die per stack 容量/stack 最大带宽/GB/s BL 提出时间 product
HBM1 1024(128*8) 8 1.0 0.5 1.3 16(16-Hi) 1GB 128 BL2 ~2015 GPU
HBM2 1024(128*8) 8 2.0-2.4 1 1.2 8(8-Hi) 8GB 307 BL4 ~2016 GPU/AI
HBM2e 1024 8 3.2-3.6 1.8 1.2 12(12-Hi) 16GB 460 BL4 ~2020 GPU/AI
HBM3 1024(64*16) 16 4.8-6.4-7.2 2.6 1.1 4(4H-i) 16-32GB 819 BL8 ~2022 GPU/AI/HPC/CPU
HBM3+ 1024 16 8.4 4.2 1.1 - 16-32GB 1075.2 BL8 -

HBM结构

参考:https://www.amd.com/system/files/documents/high-bandwidth-memory-hbm.pdf
首先,完整的HBM芯片集成后的结构:

  • 3D堆叠:HBM die通过TSV(硅通孔)实现信号的共享与分配,TSV这个信道的好处就是超高带宽,之前研究生论文的时候简单研究过;
  • 2.5D结构:类似于多个chiplet通过silicon interposer(硅中阶层)进行将多个die进行片内互联,当然要相同的互联协议去保证;
  • 每个HBM DRAM die有两个channel,共有2*4=8个channel,可独立访问,每个channel位宽128bit,每个HBM stack位宽1024bit
  • 每个HBM channel中包含16个bank


其次是HBM的堆叠结构,如何分配内存??
HBM相对于GDDR5,以base die为单位的话,优势显而易见。这里我想说以下几点:

  1. GDDR5的IO频率已经高达1.75GHz,基本已经是单die的极限了,况且再经过substrate基板的衰减,对信号的电气特性极为苛刻。
  2. HBM把基板的信道换成interposer,信道带宽可以大幅度提升;
  3. 通过3D堆叠技术的集成与散热能力的提升,把大容量放到片内成为可能;
  4. 以IO数目的增加换来了更低的IO速率,为下一代的速度提升提供可能;


能效比大幅度提升的关键在于改善了信道,相信研究过互连小伙伴能感受到物理层的收发器最占功耗。
面积的节省不言而喻。

HBM的pseudo channel mode

  • 物理的channel是128bit/channel,每个channel会虚拟的再划分64bit/pseudo channel;
  • 相当于每个物理channel被划分为独立的读写通道;
  • 之所以称为pseudo,是因为有些command是可以指定为pseudo channel,有些command必须指定到物理的channel,比如一些powerdown;这种特性的设定很符合正常的逻辑;

DDR GDDR HBM相关推荐

  1. DDR从channel/rank/chip/bank/row/col/cell,DDR/GDDR/HBM

    DDR/GDDR/HBM请参考文献 1.ddr的层级结构 一个soc或者PC上的ddr都是有很多颗ddr single chip组成的.这么多颗ddr又组成了不同的层级.这些层级从大到小分为: cha ...

  2. DDR/GDDR和HBM区别,及内存标准如何选择?

    存储器子系统的主要功能是在云计算和人工智能 (AI).汽车和移动等广泛应用中尽可能快速可靠地为主机(CPU 或 GPU)提供必要的数据或指令.片上系统 (SoC) 设计人员可以选择多种类型的存储器技术 ...

  3. DDR,GDDR,LPDDR,QDR...谈谈现在主流的内存

    当人们说起内存技术时,首先会提到DDR(Double Data Rate,即数据在时钟的上升和下降沿都可以传输).这是广泛应用于台式机.笔记本.服务器以及嵌入式系统中的一种主流内存技术,DDR标准由J ...

  4. DDR存储颗粒度大小

    总结:DDR存储结构,从大到小排列依次是:channel/DIMM/rank/chip/bank/row-col/cell ====================================== ...

  5. DDR、GDDR、QDR的区别

    NVIDIA新一代显卡即将出炉,尽管对于个中细节并不了解细节,但业界普遍认为无论是NVIDIA还是AMD,新一代显卡搭载GDDR6显存可能性极高.什么?我的电脑才用上DDR4,怎么显卡就用GDDR6了 ...

  6. HBM显存技术与市场前景

    HBM显存技术与市场前景 HBM(High Bandwidth Memory)作为一种GPU显存存在时,现在似乎已经不算罕见了.很多人可能都知道HBM成本高昂,所以即便不罕见,也只能在高端产品上见到. ...

  7. 计算机缓存Cache以及Cache Line详解

    转载: 计算机缓存Cache以及Cache Line详解 - 围城的文章 - 知乎 https://zhuanlan.zhihu.com/p/37749443 L1,L2,L3 Cache究竟在哪里? ...

  8. 关于存算一体芯片技术

    关于存算一体芯片技术 破局"内存墙",存算一体路线分析 随着人工智能应用的普及,云端相关的计算需求也在相应上升.对于基于神经网络的人工智能来说,算力是实现高性能模型的关键资源. 参 ...

  9. 高性能视频推理引擎优化技术

    正文字数:9404  阅读时长:15分钟 本文整理自腾讯高级技术专家鲍金龙在LiveVideoStack线上分享上的演讲.他通过自身的实践经验,详细讲解了高性能视频推理引擎优化技术.   文 / 鲍金 ...

最新文章

  1. 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图
  2. HTML上传excel文件,php解析逐条打印输出
  3. nginx使用HttpImageFilterModule
  4. O'Reilly 1500 份问卷调研:2019 年 Serverless 落地到底香不香?
  5. 从MongoDB GridFS流式传输文件
  6. 物联网在水位监测中的应用
  7. 2016全球可再生能源投资额为2416亿美元
  8. core微型计算机,UPC-CHT01 | 专业创客微型计算机板_UP Core - AAEON
  9. PageNotFound.noHandlerFound No mapping found for HTTP request with URI
  10. Vitamin-R for Mac(GTD工作效率管理工具)
  11. Java程序员的8个级别,你在哪?
  12. 【BBF系列协议】TR104 VoIP CPE的配置参数
  13. Lambda方法引用
  14. 适合学生党无线蓝牙耳机,好用又实惠蓝牙耳机推荐
  15. Android自拍相机应用——图片的镜像翻转
  16. 在VS2010中ActiveX控件注册方法,使用regsvr32命令
  17. HTML5 单页应用/框架 - View.js介绍
  18. sklearn 读取csv_气象数据再分析数据的读取方式(GRIB格式为例)
  19. kettle spoon判断增量更新_使用Kettle实现数据实时增量同步--时间戳增量回滚同步...
  20. git命令出现fatal: Unable to create ‘xxx/.git/index:File exists

热门文章

  1. 6.4虚析构函数和纯虚析构函数
  2. webpack 之vue 初级打包2 从零开始
  3. 3_如何获取电机实际输出的速度
  4. javascript 10进制和64进制的转换
  5. Medkoo Biosciences 艾美捷Lusutrombopag说明书
  6. vant weapp 多选上传图片_微信小程序结合vant weapp ui实现多图上传组件
  7. karen 软件测试_使用Karen的复制器轻松备份数据
  8. Robotics: Aerial Robotics(空中机器人)笔记(六):无人机运动规划
  9. Java job interview:高校区LAN局域网校内网组建实践经验
  10. NAT的四种分类:全锥形NAT,地址受限锥形NAT,端口受限锥形NAT,对称NAT