1. 项目概述:面向LLM的DRAM接口革新
在当今AI计算领域,大语言模型(LLM)对内存系统的需求正推动着DRAM架构的重新思考。传统DRAM接口设计基于一个基本假设:应用程序需要随机访问不同大小的数据块。这种假设催生了以缓存行(通常为64B)为单位的精细访问机制,包括复杂的bank分组、伪通道(PC)划分以及多级命令调度。然而,当我们深入分析LLM工作负载时,会发现一个截然不同的访问模式特征——连续的大块数据读取。
RoMe架构的诞生正是基于这个关键发现。通过对Transformer架构下注意力机制和FFN层的微观行为分析,我们观察到LLM推理过程中存在两个显著特点:首先,权重矩阵的读取呈现严格的顺序性,每次至少需要获取完整的行数据(通常2KB以上);其次,键值缓存(KV Cache)的访问虽然存在跳跃,但仍保持大块连续的特征。这种行粒度(Row-granularity)的访问模式与传统多线程通用程序形成鲜明对比。
核心洞见:现有DRAM接口中约83%的硬件逻辑用于支持细粒度随机访问,而这部分功能在LLM场景下几乎不被利用,反而成为性能和能效的制约因素。
RoMe的创新之处在于,它首次提出将DRAM访问接口从传统的缓存行级别提升至完整的行级别。具体而言,该架构定义了两种新的基本命令:RD_row(行读取)和WR_row(行写入),分别对应4KB的数据传输单元。这种设计带来三个根本性改变:(1)消除了列地址解码环节;(2)简化了bank状态机;(3)减少了命令/地址(C/A)总线的时序约束检查点。实测表明,这种行级接口可使存储控制器的逻辑门数量减少91%,同时提升12.5%的有效带宽利用率。
2. 虚拟存储体聚合技术解析
2.1 传统DRAM的并行访问瓶颈
在传统HBM架构中,为了实现高带宽,DRAM被组织为多个伪通道(PC),每个PC包含多个bank组。这种设计虽然能提高并行性,但也带来显著的硬件开销:每个PC需要独立的命令队列、时序跟踪逻辑和数据缓冲。更关键的是,细粒度的bank切换会导致频繁的tRRDS(不同bank间激活间隔)和tCCDS(不同bank间读写间隔)等待,这在LLM的顺序访问模式下反而成为性能障碍。
以HBM4的典型配置为例:
- 32个物理通道(对应64个PC)
- 每个PC包含16个bank
- 行缓冲大小1KB
- tRRDS=2ns, tCCDS=1ns
当处理4KB的连续请求时,传统接口需要:
- 发送4次ACT命令(每次间隔tRRDS)
- 发送64次RD命令(每次间隔tCCDS)
- 发送4次PRE命令 总耗时约45ns(tRC)+63×1ns=108ns
2.2 VBA的硬件实现方案
RoMe提出的虚拟存储体聚合(VBA)技术将两个物理bank合并为一个逻辑单元,关键设计参数包括:
- 合并后的有效行大小:2KB(原始1KB×2)
- 共享ACT/PRE控制电路
- 独立保持RD/WR数据路径
这种设计带来三个关键优势:
时序优化:VBA内部bank可交替激活,实现完美的命令流水线。如图9所示,通过精心设计的(tRRDS - tCCDS)延迟插入,确保RD/WR命令能以tCCDS间隔连续发出。
Bank A: ACT -> RD -> RD -> ... -> PRE ↑ Bank B: ACT -> RD -> RD -> ... -> PRE面积效率:相比直接扩大行缓冲的方案,VBA只需增加15%的芯片面积(主要来自共享控制逻辑),而传统方案需要100%的面积增长。
兼容性:VBA完全保持JEDEC标准的电气接口,不需要修改DRAM核心阵列设计,便于现有产线适配。
2.3 性能与面积的权衡分析
我们探索了六种VBA配置组合,表1展示了三种典型方案的对比:
| 配置方案 | 总线宽度 | 面积开销 | 性能偏差 |
|---|---|---|---|
| 传统bank | 1× | 0% | 基准 |
| VBA-宽总线 | 4× | 77% | +3.2% |
| VBA-窄总线 | 1× | 15% | -1.8% |
最终选择的方案(图7d+图8b)在仅增加15%面积的情况下,性能损失控制在2%以内。这个决策基于两点考量:首先,LLM工作负载对带宽更敏感而非延迟;其次,HBM4采用的混合键合技术(Hybrid Bonding)缓解了TSV数量限制,使窄总线设计成为可能。
3. 行级命令生成器设计
3.1 从动态调度到静态序列
传统存储控制器的核心复杂性来源于动态命令调度——需要实时跟踪数百个bank的状态,并在满足tRC、tRAS等数十个时序约束的前提下生成命令流。RoMe的命令生成器采用截然不同的哲学:将固定的命令序列预编程到硬件中。
以RD_row为例,其转换为DRAM命令的流程如下:
- 接收MC发来的RD_row(opcode+row_addr)
- 生成固定序列:
- ACT to Bank A
- 等待tRCDRD
- 连续32个RD to Bank A
- PRE to Bank A
- (同时并行处理Bank B的相同序列)
- 保持严格的tCCDS间隔
这种静态转换虽然牺牲了部分灵活性,但带来两个关键收益:首先,时序检查从O(n²)降低到O(1);其次,命令解码逻辑减少72%。
3.2 位置选择的工程权衡
命令生成器的布局存在三种候选位置,各自特点如表2所示:
| 位置 | C/A引脚节省 | TSV节省 | 冗余度 | 适用场景 |
|---|---|---|---|---|
| MC | 0% | 0% | 低 | 兼容现有系统 |
| 逻辑die | 65% | 0% | 中 | HBM4等先进封装 |
| DRAM die | 65% | 80% | 高 | 未来3D DRAM |
我们选择逻辑die部署的原因包括:
- 工艺兼容性:逻辑die采用7nm工艺,比DRAM die的18nm更适合实现复杂逻辑
- 面积优势:单个生成器仅需4268.8μm²,占逻辑die面积<0.01%
- 引脚效益:可减少MC与HBM间65%的C/A引脚
实测表明,这种设计使HBM4的C/A引脚从18个降至5个(去除8个列命令引脚+5个行地址引脚),节省的13个引脚可扩展出4个新增通道。
4. 简化型存储控制器架构
4.1 状态机的极致简化
传统DRAM控制器需要管理7种bank状态(Idle、Activating、Active、Precharging等)和15个时序参数。RoMe将其简化为仅4种状态和10个参数,如图11所示:
状态转换:
stateDiagram Idle --> Reading: RD_row Idle --> Writing: WR_row Idle --> Refreshing: REF Reading --> Idle: 自动PRE Writing --> Idle: 自动PRE Refreshing --> Idle: tRFC后关键时序参数:
- tR2RS:相同VBA的读-读间隔(64ns)
- tW2WS:相同VBA的写-写间隔(64ns)
- tRTW:读-写转向延迟(7ns)
这种简化使调度器面积减少91%,请求队列深度从64降至4即可维持带宽饱和。
4.2 刷新操作的优化设计
针对LLM读密集的特点,RoMe对刷新机制做了两项改进:
批量刷新:将每tREFIpb(3.9μs)发送的REFpb改为每2×tREFIpb发送两个REFpb,利用tRREFD(8ns)重叠部分刷新延迟。
计算示例:
- 传统方案:每3.9μs产生280ns延迟
- RoMe方案:每7.8μs产生288ns延迟
- 有效刷新开销从7.2%降至3.7%
写队列优化:采用即时写入策略(Immediate Write),避免大容量写缓存。由于LLM推理中写流量占比<5%,这种设计不会造成性能瓶颈。
5. 性能评估与实测分析
5.1 实验平台配置
我们构建了包含8个加速器的测试平台,关键参数如下:
- 计算单元:
- BF16算力:4480 TFLOPS
- 算术强度:280 Op/B
- 内存系统:
- 容量:256GB(32GB×8 cubes)
- 基线带宽:16TB/s(HBM4)
- RoMe带宽:18TB/s(+12.5%)
- 测试模型:
- DeepSeek-V3(MLA+MoE)
- Grok-1(GQA+MoE)
- Llama3-405B(纯GQA)
5.2 延迟与吞吐量表现
图12展示了不同batch size下的时间每输出token(TPOT)对比:
- DeepSeek-V3:平均加速10.4%
- Grok-1:平均加速10.2%
- Llama3:平均加速9.0%
值得注意的是,当batch size<64时,加速效果更显著(最高达14%)。这是因为小batch时计算资源未饱和,内存带宽成为瓶颈。
5.3 能效与面积开销
能效方面(图14):
- 动态能量:ACT能量降低45-55%
- 静态能量:由于简化电路,静态功耗降低1.2%
- 总能耗:下降0.7-1.9%
面积方面:
- 逻辑die:增加0.003%(命令生成器)
- DRAM die:增加12%(额外通道)
- 总体芯片:增加0.1%
6. 工程实践中的挑战与解决方案
6.1 负载均衡问题
由于4KB的固定访问粒度,RoMe面临通道间负载不均衡的挑战。图13的负载平衡率(LBR)显示:
- 注意力层:LBR=0.92-0.98(良好)
- FFN层:
- DeepSeek-V3:LBR=0.85(因中间层仅2048维)
- Llama3:LBR=0.97(因53,248维大矩阵)
解决方案包括:
- 权重交织存储:将大矩阵的行数据轮转分配到不同通道
- 动态批处理:当检测到LBR<0.9时,自动增大batch size
6.2 稀疏注意力适配
对于DeepSeek-V3的稀疏注意力场景,我们提出两种应对策略:
- 混合架构:保留1个传统通道处理稀疏访问
- 掩码扩展:在RD_row命令中添加4KB掩码位图(需修改指令集)
实测显示,当稀疏度<20%时,方案1的带宽利用率仍能保持85%以上。
7. 未来演进方向
RoMe架构展现出三个潜在发展路径:
- 训练加速:初步测试显示,在8K序列长度的训练中,RoMe可减少12%的梯度同步时间
- ECC增强:利用4KB粒度实现更高效的Reed-Solomon编码,将ECC开销从6.25%降至1.5%
- 3D集成:与存算一体架构结合,将命令生成器嵌入计算die,进一步减少数据移动