一、BANK的定義與物理結構
-
基本概念
BANK(存儲體)?是內存芯片內部的一個邏輯或物理分區,每個BANK由存儲單元陣列、地址解碼電路和緩沖器組成,用于分塊管理內存操作。-
作用:通過并行操作減少訪問沖突,提升內存吞吐量。
-
-
物理實現
-
DRAM BANK結構:
-
存儲陣列:由行(Row)和列(Column)組成的電容矩陣。
-
行解碼器:激活特定行(行地址)。
-
靈敏放大器:讀取時放大電容電荷信號。
-
列解碼器:選擇目標列(列地址)。
-
-
典型BANK數量:
-
DDR4:16-32個BANK(分4-8組BANK Group)。
-
GDDR6:16-32個獨立BANK。
-
-
二、BANK的核心意義
-
提升并行性與帶寬
-
并行操作:多個BANK可同時執行激活、讀寫或預充電操作。
-
帶寬增益公式:
帶寬提升倍數 ≈ BANK數量 / 平均訪問間隔周期
(例如:4個BANK交錯訪問,帶寬提升3-4倍)
-
-
減少訪問延遲
-
隱藏預充電時間(tRP):當一個BANK預充電時,其他BANK可繼續操作。
-
Bank Interleaving(交錯訪問):輪流訪問不同BANK,減少行沖突。
-
-
降低功耗
-
局部激活:僅激活目標BANK的行,減少電容充放電范圍。
-
動態功耗公式:
P_dynamic = α * C_eff * V_DD^2 * f
(C_eff與激活的BANK數量正相關)
-
三、BANK的工作原理與訪問流程
-
地址映射
-
地址組成:
物理地址 = BANK地址 + 行地址 + 列地址
(例如:DDR4地址格式為?BG:BANK:ROW:COL
)
-
-
典型操作流程
-
步驟1:激活目標BANK的行(ACT命令)。
-
步驟2:讀取或寫入數據(RD/WR命令)。
-
步驟3:預充電當前行(PRE命令),準備下次訪問。
-
-
多BANK并行示例
-
時序重疊:BANK0激活(tRCD=15ns)期間,BANK1可讀取數據(tCAS=10ns)。
-
四、BANK對系統性能的影響
-
Bank Conflict(存儲體沖突)
-
定義:連續訪問同一BANK的不同行,需頻繁預充電,增加延遲。
-
沖突概率公式:
P_conflict = 1 / BANK數量
(例如:16個BANK的沖突概率≈6.25%)
-
-
優化手段
-
增加BANK數量:DDR4通過BANK Group技術(4 Groups × 4 BANKs)降低沖突。
-
地址交錯算法:控制器將連續地址映射到不同BANK。
-
五、不同內存技術中的BANK設計
內存類型 | BANK結構特點 | 典型應用場景 |
---|---|---|
DDR4 | 16-32 BANKs,分4-8 BANK Groups | 服務器、PC主內存 |
LPDDR5 | 16 BANKs,支持Bank Group Refresh | 手機、低功耗設備 |
HBM2 | 8-16垂直堆疊BANKs,通過TSV互聯 | 高性能計算、AI加速卡 |
GDDR6 | 16-32獨立BANKs,高并發訪問優化 | 顯卡顯存 |
六、設計注意事項
-
信號完整性
-
BANK地址(BA)信號需等長布線(偏差≤50mil),防止解碼錯誤。
-
-
時序約束
-
同一BANK的兩次行激活間隔需滿足?tRC(Row Cycle Time)(DDR4-3200的tRC≈45ns)。
-
-
功耗管理
-
多BANK同時激活時,配置低ESR去耦電容(如每BANK組1μF)。
-
-
控制器調度算法
-
采用?FR-FCFS(First-Ready First-Come-First-Serve)?策略,優先處理無沖突請求。
-
總結:
BANK是內存實現高效并行的核心架構,通過分塊管理提升帶寬并降低延遲。設計時需優化BANK數量、地址映射策略及控制器調度,以最大化性能并規避沖突。隨著3D堆疊(如HBM)技術發展,BANK的物理結構與控制邏輯將持續演進。