当前位置: 首页 > news >正文

内存中的“BANK”

一、BANK的定义与物理结构
  1. 基本概念
    BANK(存储体) 是内存芯片内部的一个逻辑或物理分区,每个BANK由存储单元阵列、地址解码电路和缓冲器组成,用于分块管理内存操作。

    • 作用:通过并行操作减少访问冲突,提升内存吞吐量。

  2. 物理实现

    • DRAM BANK结构

      • 存储阵列:由行(Row)和列(Column)组成的电容矩阵。

      • 行解码器:激活特定行(行地址)。

      • 灵敏放大器:读取时放大电容电荷信号。

      • 列解码器:选择目标列(列地址)。

    • 典型BANK数量

      • DDR4:16-32个BANK(分4-8组BANK Group)。

      • GDDR6:16-32个独立BANK。


二、BANK的核心意义
  1. 提升并行性与带宽

    • 并行操作:多个BANK可同时执行激活、读写或预充电操作。

    • 带宽增益公式
      带宽提升倍数 ≈ BANK数量 / 平均访问间隔周期
      (例如:4个BANK交错访问,带宽提升3-4倍)

  2. 减少访问延迟

    • 隐藏预充电时间(tRP):当一个BANK预充电时,其他BANK可继续操作。

    • Bank Interleaving(交错访问):轮流访问不同BANK,减少行冲突。

  3. 降低功耗

    • 局部激活:仅激活目标BANK的行,减少电容充放电范围。

    • 动态功耗公式
      P_dynamic = α * C_eff * V_DD^2 * f
      (C_eff与激活的BANK数量正相关)


三、BANK的工作原理与访问流程
  1. 地址映射

    • 地址组成
      物理地址 = BANK地址 + 行地址 + 列地址
      (例如:DDR4地址格式为 BG:BANK:ROW:COL

  2. 典型操作流程

    • 步骤1:激活目标BANK的行(ACT命令)。

    • 步骤2:读取或写入数据(RD/WR命令)。

    • 步骤3:预充电当前行(PRE命令),准备下次访问。

  3. 多BANK并行示例

    • 时序重叠:BANK0激活(tRCD=15ns)期间,BANK1可读取数据(tCAS=10ns)。


四、BANK对系统性能的影响
  1. Bank Conflict(存储体冲突)

    • 定义:连续访问同一BANK的不同行,需频繁预充电,增加延迟。

    • 冲突概率公式
      P_conflict = 1 / BANK数量
      (例如:16个BANK的冲突概率≈6.25%)

  2. 优化手段

    • 增加BANK数量:DDR4通过BANK Group技术(4 Groups × 4 BANKs)降低冲突。

    • 地址交错算法:控制器将连续地址映射到不同BANK。


五、不同内存技术中的BANK设计
内存类型BANK结构特点典型应用场景
DDR416-32 BANKs,分4-8 BANK Groups服务器、PC主内存
LPDDR516 BANKs,支持Bank Group Refresh手机、低功耗设备
HBM28-16垂直堆叠BANKs,通过TSV互联高性能计算、AI加速卡
GDDR616-32独立BANKs,高并发访问优化显卡显存

六、设计注意事项
  1. 信号完整性

    • BANK地址(BA)信号需等长布线(偏差≤50mil),防止解码错误。

  2. 时序约束

    • 同一BANK的两次行激活间隔需满足 tRC(Row Cycle Time)(DDR4-3200的tRC≈45ns)。

  3. 功耗管理

    • 多BANK同时激活时,配置低ESR去耦电容(如每BANK组1μF)。

  4. 控制器调度算法

    • 采用 FR-FCFS(First-Ready First-Come-First-Serve) 策略,优先处理无冲突请求。


总结
BANK是内存实现高效并行的核心架构,通过分块管理提升带宽并降低延迟。设计时需优化BANK数量、地址映射策略及控制器调度,以最大化性能并规避冲突。随着3D堆叠(如HBM)技术发展,BANK的物理结构与控制逻辑将持续演进。

相关文章:

  • 深入理解Python逻辑判断、循环与推导式(附实战案例)
  • Shell脚本与Xshell的使用、知识点、区别及原理
  • 演员评论家算法
  • 缺乏需求变更的影响评估,如何降低项目风险
  • Linux操作系统之进程(一):进程属性与进程创建
  • 交流充电桩IEC 61851-1和IEC 61851-21-2标准测试项目
  • MySQL推荐书单:从入门到精通
  • gradle--问答
  • 在 STM32 上使用 register 关键字
  • 如何访问云相关的api
  • python数据分析常用的10个核心库
  • 题海拾贝:P1833 樱花
  • vue3项目创建-配置-elementPlus导入-路由自动导入
  • 滑动窗口——水果成篮
  • Java后端快速生成验证码
  • 【NextPilot日志移植】params.c解析
  • 携程酒店 phantom-token token1004 分析
  • 什么是原码和补码
  • python中的进程锁与线程锁
  • 关于索引的使用
  • 一个多月来上海交大接连“牵手”三区,在这些方面进行区校合作
  • 王征、解宁元、牛恺任西安市副市长
  • 美国和沙特签署上千亿美元军售协议
  • 成都警方通报:8岁男孩落水父母下水施救,父亲遇难
  • 金价大跌!足金饰品每克一夜便宜14元,涨势是否已终结?
  • 民企老板被错羁212天续:申请国赔千万余元,要求恢复名誉赔礼道歉