ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

深入解析HBM3 DRAM:从JEDEC规范到堆叠架构与自修复机制

深入解析HBM3 DRAM:从JEDEC规范到堆叠架构与自修复机制 简介这是JEDEC发布的HBM3 DRAM标准JESD238B.01修订版定义三维堆叠存储器架构与自修复机制。标准内容涵盖器件组织结构、通道定义与寻址、初始化流程、命令操作时序、模式寄存器配置以及数据总线反转DBIac、奇偶校验、RFM/ARFM刷新管理、温度补偿刷新、冗余映射修复、环回测试模式和片上ECC错误检测与纠正ECS等关键功能并细化了时钟调整、电源管理模式、自修复指令SELF_REP、电气特性参数等技术细节。面向半导体存储器设计、验证与系统集成工程师可作为DRAM产品开发、FPGA/ASIC接口设计及高速系统应用的规范依据指导实施错误日志记录、MISR/LFSR诊断、冗余修复流程提升系统稳定性与良率。资源为PDF标准正文共1个文件压缩包约7.72MB章节完整便于按需查阅。已有204人浏览学习研读时可重点关注时序要求、模式寄存器设置和错误处理机制并结合厂商数据手册补充实现细节。 Dig into 高带宽HBM3 DRAM之前先说说为什么最近大家都在翻 JEDEC 那份 JESD238B.01 规范。2025 年的 AI 加速卡、GPU 服务器、HPC 集群里HBM3 已经是绕不开的标配。这份规范全称High Bandwidth Memory (HBM3) DRAM定义了第三代高带宽存储的电气参数、时序、堆叠结构、训练流程和测试要求。HBM3 的核心思路其实不复杂把多颗 DRAM die 用硅通孔垂直堆起来再接一个底部逻辑 die对外提供 1024bit 的超宽接口数据速率做到 6.4Gbps 起步。这样一颗堆叠就能跑出单堆叠 819GB/s 左右的带宽正好喂饱 AI 训练和推理对内存带宽的贪欲。这篇文章我不打算复述完整标准而是想从一个长期做内存相关设计的从业者视角把 HBM3 堆叠架构、DRAM 底层操作、自修复机制这些容易被文档绕晕的部分拆开讲清楚适合需要做硬件选型、驱动适配或者纯粹想搞懂 HBM 原理的工程师参考。1. 先搞清楚JESD238B.01 这本规范到底管了什么1.1 从 HBM2E 到 HBM3标准为什么必须升级回看 HBM2E 时代单颗堆叠的数据速率大概在 3.2Gbps 到 3.6Gbps 之间单堆叠带宽撑死四五百 GB/s。那时候大家还能靠多放几颗 HBM 把总带宽堆上去直到 AI 模型参数规模从百亿冲到千亿、万亿内存墙问题就彻底压不住了。带宽要翻倍、容量要翻倍、功耗还不能跟着爆炸JEDEC 于是推出了 HBM3 标准也就是 JESD238 系列。JESD238B.01 是 2025 年的修订版在 A 版本基础上补了不少东西更高密度的 die 支持、更细粒度的刷新管理、修复映射和测试流程的完善以及训练时序上的收紧。做系统设计的人最关注的是那两板斧单引脚速率上到 6.4Gbps以及单堆叠容量从 8GB 级一路推到 24GB 级16-Hi 封装配合高密度 die 还能往 32GB 方向走。1.2 通道和伪通道并行度被藏在细节里HBM3 对外是 16 个通道每个通道又拆成左右两个伪通道也就是总共 32 个 pseudo-channel。每个伪通道的数据宽度是 16bit32 个伪通道加起来正好 1024bit跟 HBM2E 的接口宽度保持一致但内部并行度更高了。伪通道最大的意义在于每个伪通道都能独立发送 activate 和 precharge 命令可以同时让不同伪通道里的不同 bank 处于打开状态不必等整个通道一起动作。这样控制器调配访问请求时灵活度更高bank 冲突概率明显下降。实际跑随机访问密集型负载时伪通道带来的收益比单纯提高频率更明显因为随机访问的瓶颈往往不在数据回传速度而在行切换和 bank 冲突上。1.3 除了带宽规范还规定了哪些硬指标JESD238B.01 不是只看速度它还管着一大堆初始化、校准和可靠性流程。比如 DBI 数据总线反转用来降低同时翻转的 bit 数量减少电源噪声ZQ 校准用来调输出驱动强度和终端电阻保证不同温度和电压下的信号质量训练流程则把写电平、读均衡、DFE 抽头系数等参数都纳入标准框架内。温度传感器和 thermal 寄存器也是重点因为后续系统要依据堆叠内部的温度来调整刷新策略。换句话说这份标准不仅告诉你 HBM3 能跑多快更告诉你怎么让它稳定地跑完整个生命周期。2. 三维堆叠架构把 DRAM 砌成一栋楼2.1 堆叠层、TSV 和微凸点的基础关系HBM3 的物理结构一眼看去很像城市里的写字楼每一层 DRAM die 是楼面底部的逻辑 die 是地基贯穿所有层的是 TSV层与层之间靠微凸点对接。TSV 是硅通孔直接在硅片上打通孔然后填充铜等导体让信号能从底部逻辑 die 直达最顶层。一颗 HBM3 里 TSV 数量高达上万级别其中既有数据信号、地址命令信号还有大量电源和地引脚确保堆叠过程中供电网络足够稳。关键点在于TSV 和微凸点是额外引入的寄生元件频率越高寄生电容和串联电阻带来的信号劣化越明显所以 HBM3 设计里对 TSV 的布局、长度一致性以及微凸点的可靠性都提了极高要求。这也是为什么堆叠层数不能无限增加16-Hi 基本是当前工艺和良率约束下的平衡点。2.2 从颗粒规格书看 die 参数再到堆叠容量很多新手会问HBM3 的规格书和普通 DDR 颗粒规格书有什么区别本质上 HBM3 里的每一层 die 还是经典 DRAM行列阵列、bank、page 这些概念一个都不少只是通过 TSV 引出去之后走的是 1024bit 并行口。普通 DRAM 颗粒规格书你会看到 x4、x8、x16 数据宽度HBM3 里这个宽度被伪通道定义替代了但 bank 数量、page size、时序参数 tRCD/tCL/tRP/tRFC 依然要逐一确认。die 密度决定单层容量比如一颗 die 是 16Gbit那 12-Hi 堆叠就是 24GB16-Hi 就是 32GB。实际工程里你要先根据目标容量倒推需要几层堆叠再看到手的是 JEDEC 标准标准密度还是厂商私有密度因为不同 die 密度的 page size 和 bank 数量不一样控制器配置也要跟着变。2.3 堆叠带来的信号完整性和散热设计挑战层数堆上去之后最明显的两类问题信号完整性和散热。信号完整性方面数据从控制器到栈顶 die要穿过的物理路径已经非常长还要经过多级微凸点和 TSV损耗和抖动都会被放大。所以 HBM3 接口普遍引入接收端均衡数据速率越高均衡阶数越重要。板级走线时必须把 DQ 信号的等长、参考电压、回流路径都控制到位否则高码率下 eye diagram 闭得飞快。散热则是另一座山DRAM 对温度极度敏感漏电随温度指数增长而 HBM3 把十几层 die 叠在一起中间层的热量只能靠侧面和底部导热路径排走。因此 HBM3 内部会布置温度传感器规范也定义了热寄存器系统可以实时读取再调风扇转速、刷新周期。实际压力测试时你会发现把温度从 85°C 拉到 105°C错误率曲线会突然抬头这不是偶然而是 DRAM 的物理宿命。3. 深入 DRAM 核心灵敏放大器、ACT、Precharge、Refresh3.1 一次激活ACT背后发生了什么DRAM 存储单元是 1T1C一个晶体管加一个电容。电容存电荷晶体管当开关把电容连到位线。问题在于电容电荷量非常小位线上存的那点电压差根本不足以让后端逻辑直接判断是 0 还是 1。这就需要灵敏放大器它的角色可以理解成一个高灵敏度差分放大器。激活命令 ACT 发布之后字线被拉高这一 row 里所有存储单元的电容电荷全部倾泻到各自的位线上位线之间产生微小的电压差灵敏放大器感知到这个差然后把它放大到满摆幅的逻辑电平同时完成数据的锁存。注意这是个破坏性读取电容里的电荷在读取过程中被消耗了所以放大完还要自动回写一遍这也决定了 DRAM 读一次之后不能马上关掉该行。3.2 从 READ 到 WRITE、再到 Precharge 的完整流程把 DRAM 访问想象成查资料的过程比较好理解ACT 是打开文件柜抽屉把一整排文件row全部摊到桌面上READ 命令是挑其中某一列文件抄下来WRITE 则是把新文件直接放进对应位置。这一整套流程里从 ACT 到 READ 必须等 tRCD从 READ 发出到数据出现在总线上要等 tCL这就是为什么内存时序参数那么重要。当这次操作结束你不想要这个 row 留在桌面上了就发 Precharge 命令把位线恢复到一个统一的预充电电压通常是 VDD/2同时关闭字线让灵敏放大器回到待命状态。从 Precharge 到下一次 ACT 又需要等 tRP 参数tRAS 则限制了 ACT 到 Precharge 的最短间隔。这些参数共同决定了内存能多快完成一连串随机访问工程上调内存性能本质上就是在这些延迟之间寻找平衡。3.3 刷新Refresh在 HBM3 里的特殊性DRAM 电容会漏电时间长了电荷跑光数据就没了。所以需要定期刷新把每一行重新激活、放大、回写一遍。普通 DDR 的刷新周期大概是 64ms 内必须把全部行刷一遍温度超过 85°C 就要缩到 32ms。到了 HBM3 这里问题被放大了一个堆叠里十几层 die 同时工作底层靠近基板散热条件好中上层温度高各层漏电速度不一样如果全堆叠统一用一个刷新周期要么高温层数据丢失要么低温层刷得太频繁浪费功耗。JESD238B.01 规范里对温度传感反馈和刷新管理做了更细的设计系统可以根据温度寄存器去调整刷新频率甚至支持更细粒度的 per-bank 刷新让频繁访问的 bank 不必为了其他空闲 bank 的刷新需求而被迫等待。实测中这块最容易踩坑刷新配置太保守会让带宽白白牺牲刷新跟不上温度又会让错误率飙升需要结合具体散热条件去标定。4. 自修复机制设计让堆叠存储撑起高良率4.1 为什么堆叠式内存必须自带修复能力把十几层 die 通过 TSV 和微凸点叠起来工艺上每加一层就多一分失效风险。单个 die 内如果有一行或一列坏掉在平铺的 DDR 颗粒上可能只需要报废那一颗但在 HBM 堆叠里整包封装已经花掉了大量成本为了一行坏点丢掉整包是非常亏的。更麻烦的是TSV、微凸点本身也可能在制造或封装环节出现瑕疵比如微凸点虚接、TSV 开路这些缺陷在出厂测试里就得被检测并替换掉。所以 HBM 在设计阶段就要留足冗余资源并且把修复流程固化在标准化测试和初始化流程里让最终用户拿到的产品即使内部有被替换的位置从外部看依然是完整、一致的地址空间。4.2 行/列冗余、TSV 冗余和 ECC 修复的配合自修复机制主要分三个层面。第一层是传统冗余替换每一个 bank 里会预留若干备用行和备用列出厂测试发现坏地址后通过电熔丝或者激光熔丝记录下来上电初始化时读入映射表把对坏地址的访问自动重定向到冗余位置。第二层是针对 TSV 和微凸点的冗余替身一些关键信号路径会多布置备用 TSV发现主路径开路或短路后通过配置寄存器切换到备路径。第三层是 ECCJESD238B.01 明确支持内部 ECC 和链路级 ECC。内部 ECC 在 DRAM die 内部对存入的数据做校验能够纠正单比特错误链路 ECC 则覆盖 die 与 die 之间传输的数据防止微凸点接触噪声导致偶发错误。冗余替换负责处理永久故障ECC 负责处理瞬态故障两条腿都在才能把堆叠的长期可靠性提上去。4.3 工程视角修复映射验证和现场维护量产测试里验证修复映射是否生效是一个关键环节。常见的做法是先用专门的算法图案遍历全部地址空间比如 March 算法、棋盘格、反棋盘格把坏地址抓出来完成熔丝烧录和映射配置后再重新遍历一遍确认所有坏地址确实被重定向到冗余单元且冗余单元本身读写无误。有一个容易被忽视的坑只做简单的顺序写读并不能暴露全部问题因为某些干扰型故障需要特定访问模式才会触发所以业界会用跨越 page、跨越 bank 的随机访问图案反复压测。到了现场阶段如果 ECC 报告反复出现同一地址的纠错事件大概率说明那里已经从一个瞬态错误变成了固定坏点这时如果控制器支持可以在运行时把该行或列重新映射到冗余位置避免问题扩大。这种“运行态自愈”在超大容量的 AI 集群里特别实用因为整机更换内存的成本太高能靠映射解决的问题都不算大问题。5. DRAM、NAND、HBM 的区别别再搞混了很多人第一次听到 HBM 这个词会下意识觉得它和 NAND 一样是另一种存储介质其实完全不是。HBM 本质还是 DRAM用的还是电容存储电荷那一套原理只是通过三维堆叠把容量和带宽堆起来了。三者真正的区别要从介质、易失性、接口和使用场景四个角度看。5.1 介质和易失性对比DRAM 用 1T1C 电容结构存储电荷掉电数据全丢所以叫易失性存储。NAND 用的是浮栅晶体管或者电荷俘获层电荷被隔离在绝缘层里掉电不丢所以叫非易失性存储。HBM 属于 DRAM 的一个特殊形态存储介质本身和 DDR DRAM 没有任何代差差别只在封装形态和 IO 设计。这就决定了 NAND 可以拿来当 SSD 存数据而 DRAM 和 HBM 只能断电清零、必须始终通电维护。5.2 接口和组织形式差异普通 DDR DRAM 接口宽度是 64bit 左右靠不断提高单引脚速率来提升带宽HBM 则走的是超宽接口路线1024bit 并行输出再配合堆叠内部的行列结构以宽度换速率。NAND 恰恰相反接口窄得多而且以 block 为擦除单位page 为读写单位随机写入性能远不如 DRAM。下表可以一眼看出几个关键区别维度DDR DRAMHBM3 DRAMNAND存储介质电容晶体管电容晶体管浮栅/电荷俘获易失性易失易失非易失接口宽度64bit 左右1024bit通常 8/16bit 通道容量方向单颗粒 GB 级单堆叠 24GB 级单 die 可达 TB 级主要用途主内存AI/HPC 高带宽内存固态盘、数据存储成本趋势中等很高相对低5.3 为什么它们不能互相替代HBM 带宽高但容量做不过 NAND价格更是按 GB 算的奢侈品不可能拿去当硬盘用。NAND 容量大价格低可字节寻址能力弱、写寿命有限也替代不了内存。普通 DRAM 价格和容量介于两者之间但带宽又满足不了大规模并行计算的需求。所以现在的典型系统是 DRAM 当主内存HBM 当 AI 加速卡上的专用超高带宽内存NAND 以 SSD 形式当持久化存储三者各司其职。理解了这一点就明白为什么 HBM 只出现在 AI 训练卡和部分 HPC 场景而不是普通台式机。6. 实操中容易踩的坑与排查经验6.1 时序配置小心周期数误差HBM3 里很多延迟参数是直接通过 mode register 配置成时钟周期数的。同一个 tRCD 在不同频率下对应的周期数不一样比如 6.4Gbps 和 8.0Gbps 下同样 15ns 的 tRCD换算出来的周期数差不少。实际调试中见过有人拿着上一版频率的参数直接刷到新频率上结果训练能过但压力测试偶发报错。我的经验是以 JEDEC 描述和初始化训练后读回的最终寄存器值为准不要凭公式手改改完必须做高频全温压测再放量。6.2 刷新管理和温度误读HBM3 堆叠内部温度不均匀顶部 die 和中层 die 温度差异可以达到 10°C 以上。如果你只读某个固定温度传感器的数值刷新策略极可能偏了。之前在一个项目上压力跑满后温度寄存器显示 95°C但实际是底部的传感器温度顶部早已到 105°C结果长时间运行后 ECC 错误明显变多。排查下来把刷新策略改成按堆叠内最高温度联动错误率立刻回落。建议有条件时直接通过 thermal camera 或封装内置多传感器回读做一次温度标定别只信一个点的数据。6.3 自修复验证别只看 walk pattern验证修复映射是否生效最忌只跑简单的顺序写读。我习惯用三类 pattern 交叉验证常驻型 March 算法扫全部地址、跨 page 跨 bank 随机访问、以及针对特定 row 的 hammer 类型压力测试。顺序写读能发现坏地址映射错误但行间干扰引起的潜在失效只有密集访问时才能暴露。另外修复完成后的地址重映射通常用 fuse 烧录实现量产阶段要额外做一次全温循环测试确保烧录结果在各种温度下都稳定生效。这个步骤虽然拖慢测试节拍但能挡住很大一部分发货后的 RMA。实际做 HBM3 相关的工程久了我最大的体会是HBM 看起来是个黑盒存储但黑盒内部仍然是 DRAM 的老底子只是多了一道堆叠、一圈 TSV、一套自修复和一颗逻辑 die。把底层这些机制吃透之后再回头去看 JESD238B.01 里那些密密麻麻的时序和寄存器定义反而觉得处处都有逻辑可循。最后分享一个小经验拿到一个新型号的 HBM3 模块先别急着调性能花半天时间把温度回读、刷新管理和修复映射这三件套验证完整再谈超频。这三个点稳了剩下的性能调优都是在稳定地基上搭积木。本文还有配套的精品资源点击获取
返回列表