
因為公眾號平臺更改了推送規則。記得點右下角的大拇指“贊”和紅心“推薦”。這樣每次新文章推送,就會第一時間出現在訂閱號列表里。
基于SRAM的加速器近期引發了社交媒體上關于內存的廣泛討論。它之所以特別吸引人,是因為它避免了使用HBM和CoWoS封裝,而這兩者都面臨嚴重的供應限制。
然而,關于SRAM到底是什么,以及它與現有的HBM解決方案有何不同,人們存在很多誤解。此外,還普遍存在一種錯誤的擔憂,認為SRAM會影響未來AI加速器中HBM的需求。
本文將探討SRAM與HBM的優缺點,并客觀分析每種存儲器在AI推理中的作用。我們將從結構、可擴展性、容量、帶寬方面對SRAM與HBM進行比較。
SRAM概述
SRAM是一種常用于處理器中的存儲器形式,可存儲數字信息而無需持續刷新。一旦將0或1寫入SRAM單元,只要電源供應存在,其狀態就會一直保持,除非被有意更改。
SRAM在計算中的應用與計算機本身一樣古老。它最常用于寄存器以及低層緩存,通常被稱為L1-L3(L1離處理器最近,L3離得最遠)。SRAM的主要優勢在于其極快的訪問速度,能夠以絕對最小的延遲將數據傳輸給處理器。事實上,目前沒有任何其他內存技術能超越SRAM的訪問速度,即使是HBM也無法做到。
SRAM的超低延遲和低功耗源于其與處理器都位于芯片上的特性。然而,SRAM在性能上的優勢卻體現在其存儲容量上有所不足。在每平方毫米的芯片面積內,可容納的SRAM數量僅為DRAM的5到6分之一。HBM通過垂直堆疊12至16塊DRAM芯片來進一步提升存儲容量,因此HBM的實際存儲能力輕松達到SRAM的80倍以上。
與HBM不同,SRAM通常不會單獨制造,而是與GPU一起封裝(存在例外情況)。為了充分發揮SRAM的性能優勢,它必須與處理器位于同一芯片上。
通過將SRAM芯片堆疊在計算芯片之上,可以增加SRAM容量,這與AMD在其3D V-Cache技術中采用的方法類似。但目前尚未有像DRAM那樣以12至16層堆疊來構建HBM的多層堆疊SRAM產品。過去一些有趣的實現方式曾將SRAM芯片拆分,并與HBM一同封裝;不過這些內容將在后續文章中討論。
在接下來的章節中,我們將重點探討SRAM的具體特性,重新回顧這些概念。
單元結構:6T SRAM 與1T1C DRAM
要真正理解SRAM 與DRAM 之間的差異,關鍵在于了解它們的基本構成組件及其與工藝技術的關聯。
6T SRAM
每個SRAM單元通常采用如下的六晶體管(6T)結構實現。該結構包含一個四晶體管交叉耦合的CMOS反相器,稱為“雙穩態鎖存器”,用于保持單元的狀態;以及兩個NMOS訪問晶體管,用于讀取和寫入單元數據。這種6T SRAM結構被布置在2*2網格上,通過向行和列施加控制電壓來控制每個單元的狀態。訪問晶體管的柵極連接到網格的列,也稱為bitlines(BL、BL');柵極則連接到行,也稱為wordlines(WL)。

該6T單元格可執行三種操作:保持、讀取和寫入。下圖展示了通過BL和WL上的電壓實現這三種狀態的方式。
保持:WL被設置為低電平(例如0伏),從而關閉了訪問晶體管。只要Vdd供電,雙穩態鎖存器中的反相器就會保持其0或1的狀態。
讀取:WL被設置為高電平(Vdd);BL和BL’被設置為Vdd。根據內部存儲的位值,其中一個訪問晶體管會根據0或1存儲的位置,輕微拉低BL或BL'。檢測放大器會判斷是哪條位線(BL或BL')被拉低,并確定內部位的狀態。
寫入:將WL設置為高電平;然后強制BL上拉0V或VDD(即BL'上的VDD或0V),以將雙穩態鎖存器的內部位狀態設為0或1。

SRAM單元的工作原理是通過存儲信息,無需像DRAM那樣持續刷新即可保存數據,并且比特值的讀寫方式也與此類似。
1T1C DRAM
DRAM單元的內部結構比SRAM簡單得多,僅由一個晶體管與一個電容串聯構成(1T1C)。由于僅包含兩個元件,其結構極為簡單,因此在芯片的同一區域中可以容納更多的DRAM單元,而SRAM則需要六個晶體管。
晶體管是一種N型MOS器件,用作電容的接入晶體管。當通過字線向其柵極施加電壓,使該接入晶體管導通時,電容便被充電,此時單元格表示為1的狀態。通常施加的字線電壓比nMOS晶體管的閾值電壓高出Vdd,從而確保電容能夠獲得完整的Vdd電壓進行充電。

當WL電壓設置為較低電平,即0V時,訪問晶體管會關閉,電容與BL斷開連接。根據電容是否帶電,DRAM單元分別表示1或0。然而,該單元無法無限保持在此狀態。電荷最終會開始泄漏,因此必須進行刷新以維持其狀態;這就是DRAM的原理。
向DRAM單元寫入數據非常簡單。將BL設置為高電壓,以使訪問晶體管導通。根據位的狀態是1還是0,將位線電壓設置為Vdd或0。幾納秒后,將字線設置為低電壓,使電荷被鎖在電容中。
在最簡單的情況下,從DRAM單元讀取數據的過程是:首先將字線預充電至Vdd/2。當WL被激活以導通晶體管時,如果電容已充電(存儲1位),則BL電壓會高于Vdd/2;如果電容已放電(存儲0位),則電壓會低于Vdd/2。通過使用檢測放大器來檢測這些電壓差,從而判斷位的狀態。實際上,DRAM的檢測過程要復雜得多,但以上內容可幫助理解其基本工作原理。
工藝與密度擴展
SRAM
盡管6T單元結構中的設計權衡和工藝技術可能相當復雜,但有一個關鍵點需要強調:如果晶體管可以做得更小,我們就可以將更多晶體管集成在一起,從而提高存儲器的密度。
在平面晶體管的早期,每一代更小的晶體管都會帶來更高密度的SRAM內存。這種情況一直持續到Dennard scaling結束為止,隨著每一代晶體管尺寸的縮小,亞閾值漏電問題也日益嚴重。亞閾值漏電是指晶體管在關閉狀態下泄漏的電流,這本應是完全避免的現象。此外,由于晶體管尺寸越來越小,其性能存在較大差異,導致雙穩態鎖存器意外地翻轉位狀態,從而引發比特錯誤。

向14納米節點的FinFET工藝遷移,使得晶體管尺寸更小,并且對硅溝道的控制能力更強,從而實現了部分SRAM的進一步縮放。然而,在5-7納米節點附近,SRAM的縮放似乎趨于平緩。這一點在臺積電N3E工藝中表現得尤為明顯,其位元單元尺寸與N5工藝相同(0.021平方微米)。
臺積電N2工藝采用全柵極晶體管,實現了自N5以來首次的SRAM制程縮小,位單元尺寸降至0.0175平方微米,約縮小了17%。而英特爾在2025年ISSCC上公布的18A工藝仍保持0.021平方微米的位尺寸,未出現顯著縮小。
本質上,我們已達到當前技術能力在SRAM方面的極限。每兩年翻倍的SRAM密度時代已經一去不復返。目前能實現的最高SRAM存儲密度約為38 Mb/mm2。
當發展到互補型FET(CFET)時,即NMOS與PMOS疊加結構,有可能實現進一步的SRAM尺寸縮小。雙穩態鎖存器包含兩個反相器,隨著CFET技術的進步,這些器件也將變得更小。此外,研究人員正在探索MRAM和FeRAM等激進替代方案,這些技術可能帶來在規模上的重大突破。
DRAM
DRAM中使用的1T1C單元經過獨特設計,以最大化存儲密度。DRAM芯片采用專為存儲設計的特殊工藝制造,其命名方式與用于SRAM的先進邏輯節點(如5nm、3nm、2nm)不同,分別稱為1a、1b、1c。
存儲工藝節點采用高寬比電容結構,在晶體管上方堆疊電容,通常使用鉿或氧化鋯等高介電常數的介質材料,以最大化電容并最小化漏電。訪問晶體管的尺寸相當于10納米邏輯晶體管或更大,因為單元格尺寸的限制因素是電容而非晶體管。若進一步縮小溝道晶體管,則會增加漏電和成本。
DRAM在提升存儲密度方面也面臨挑戰。過去20年中,DRAM單元的尺寸一直停留在6F2,其中F代表存儲單元的半間距。為了提高DRAM的密度,需要縮小電容和晶體管以減小F值,但多年來在這一領域進展緩慢,因為通過光刻技術難以實現顯著的縮小。

下一次飛躍將出現在采用4F2單元結構時,這意味著存儲單元將并排堆疊,彼此之間沒有空隙。這需要一種垂直通道晶體管,可能使用氧化銦鎵鋅(IGZO)通道,并結合真正意義上的三維DRAM單元結構,而這種技術正受到Neo Semiconductor等初創企業的積極追求。
容量
總體而言,就容量而言,無論是HBM、LPDDR還是GDDR,所有DRAM技術都優于SRAM。如上所述,它們的單元結構存在根本性差異,這直接影響了在特定芯片面積內可容納多少內存。以HBM3e為例,其密度約為每平方毫米200兆字節的DRAM;而在臺積電N3E節點中,1平方毫米的硅晶片僅能容納約38兆字節的SRAM。
HBM還受益于垂直堆疊技術。目前,HBM3e堆疊中的每個DRAM芯片面積為11毫米*11毫米,容量為3GB(24Gb)。像Blackwell Ultra這樣的GPU使用了八個12層的HBM3e堆疊,總內存可達288GB(12層*3GB*8個堆疊)。

相比之下,SRAM在芯片面積上直接與計算資源及其他片上資源競爭。每增加1兆字節的SRAM,都會以犧牲計算單元、互連或控制邏輯為代價,因此其尺寸始終處于權衡之中。因此,即使在大型加速器中,片上SRAM在每顆芯片上通常會限制在幾百兆字節。
以下是Blackwell Ultra GPU的芯片圖,展示了其結構以及爭奪芯片面積的各種模塊。L2緩存采用SRAM構建,增大其容量將導致GPU集群變小,總計算浮點數也相應降低。

容量對模型并行性的影響
現代LLM規模龐大,即使具備HBM,也常常需要將模型分片部署在多個GPU或XPU上,因為其內存需求超過了單個GPU的可用空間。實現這一目標的兩種常見方法是張量并行和流水線并行,它們在模型如何在設備間劃分方面有所不同。下圖展示了這兩種方法。
張量并行(層內并行)將單個層內的矩陣乘法任務分配到多個GPU上,而流水線并行(層間并行)則將Transformer層本身在多個GPU之間進行劃分。

實際上,這些策略通常會結合使用。例如,一個擁有126層的LLaMA-405B模型可能會分布在兩個DGX-H100節點上,每個節點配備八個H100 GPU。在每個節點內部采用張量并行技術,而流水線并行則將兩個節點連接起來。

在基于SRAM的加速器中,由于每個芯片可用內存有限,相同型號的模型通常會被分布在更多的芯片上。這使得編譯器和運行時系統需要承擔更大的責任,以高效地對設備之間的任務進行劃分與協調,從而導致整體協調過程變得越來越復雜且效率低下。雖然設計這類系統是完全可行的,但會增加復雜性,并需要精心的協調工作,以避免效率損失。
帶寬性能
內存帶寬等于內存接口的寬度乘以數據傳輸速率。對于任何內存系統,都可以通過增加接口寬度(更多并行數據通道)、提高運行速度或兩者結合來提升帶寬。在帶寬方面,有三個因素使SRAM優于DRAM。
1. SRAM帶寬比HBM高出一個數量級。
以NVIDIA B200為例:
每個HBM3e提供約1 TB/s的帶寬;8個則可實現峰值DRAM帶寬達8 TB/s。
在1.98 GHz的GPU時鐘頻率下,基于片上SRAM的L1緩存可有效提供約37.5 TB/s的帶寬。具體計算如下:
Cache line大小,即SRAM的寬度 = 128 byte
時鐘頻率為1.98 GHz,SRAM可在每個時鐘周期內被訪問。
148 個流式多處理器(SMs)
(128 byte cache line*1.98 GHz *148個SM ≈ ~37.5 TB/s。)
除了現有的緩存層次結構外,Blackwell的第五代Tensor Core還引入了TMEM,即每個SM專用的256 KB SRAM,專為Tensor Core運算而設計。微基準測試結果表明,TMEM“每SM可提供16 TB/s的讀取帶寬和8 TB/s的寫入帶寬,且該帶寬與L1/SMEM帶寬疊加運行,而非與其他資源競爭。”TMEM的引入凸顯了高度專用、緊耦合于計算過程的片上SRAM結構所釋放出的性能潛力。
除了GPU之外,Groq LPU還支持基于SRAM的加速器,可提供約80 TB/s的片上內存帶寬,而d-Matrix的Corsair PCIe卡則可提供高達150 TB/s的內存帶寬。
2. SRAM帶寬與計算量成正比,而HBM的引腳數有限。
由于DRAM芯片位于邏輯芯片外部,其性能在本質上受到接口寬度的限制,更具體地說,是內存與xPU之間實際可支持的I/O引腳數量的限制。若要提高每引腳的數據傳輸速率,就必須犧牲數據流在銅制互連上的信號完整性,而這種互連正是連接內存芯片與xPU的關鍵部分。
例如,HBM3e 在計算芯片與每個內存堆疊之間使用1024 位的數據總線,每條通道最高運行速度可達9.6 Gbps,每個堆疊的帶寬約為1.2 TB/s。要提高帶寬,需要提升信號傳輸速率或增加總線寬度。在HBM2、HBM2e、HBM3 和HBM3e 四代產品中,總線寬度一直保持在1024 位。直到HBM4 時代,隨著微凸點間距顯著縮小,接口寬度才首次翻倍至2048 位。未來接口寬度的進一步提升,可能只能通過采用混合鍵合技術實現,而不再依賴目前使用的熱壓縮鍵合方式。
SRAM的縮放模型與DRAM不同,因為它直接集成在邏輯芯片上,其帶寬不受外部引腳或固定內存接口的限制。相反,SRAM的帶寬主要取決于架構中實例的數量以及SRAM與計算單元之間的耦合程度。隨著新一代XPU增加更多計算單元,設計者可以在這些單元附近添加更多的分布式SRAM,從而在不依賴更快的信號傳輸或更寬的片外總線的情況下,提升芯片上的總體帶寬。
例如,一個使用8級HBM內存的XPU,其帶寬約為8 TB/s,必須由所有計算單元共享。當每個計算單元都連接有90 TB/s接口帶寬的SRAM時,總內存帶寬會隨計算單元數量增加而提升——每個計算單元都有獨立連接的SRAM。因此,100個核心將擁有900 TB/s的內存帶寬。
在GPU中,這種擴展體現在緩存結構與計算功能一同復制的方式上。SM是NVIDIA GPU的基本執行單元,每個SM都配備了獨立的L1緩存,該緩存以SRAM實現。隨著NVIDIA從A100升級到H100再到B200,SM的數量從108增加到132,再增至148。由于每個SM都有獨立的L1緩存,SM數量的增加也意味著可以并行運行的SRAM訪問點數量隨之增加,從而提升了GPU可使用的片上總內存帶寬。

通過增加SRAM數據路徑的寬度,例如擴大緩存行寬或增加緩存組數,也可以提升帶寬,從而進一步提高每周期能傳輸的數據量。綜合來看,這些因素意味著SRAM的帶寬在計算需求增長時,可比DRAM更緊密地實現擴展,而DRAM的帶寬受限于芯片外接口和固定的引腳數量。
3. DRAM的理論帶寬 ≠ 實際帶寬。
實際上,DRAM從未達到其宣傳的全部帶寬。其中一部分帶寬因DRAM工作方式固有的結構效率問題而損失,包括:
周期性刷新周期
bank沖突
行激活和預充電延遲

以刷新為例,DRAM單元基于電容,會隨著時間推移發生漏電,因此必須定期刷新以保持數據。對于HBM3e,刷新間隔為每3900納秒(tREFI),在此期間內存不可用的時間為350納秒(tRFC)。僅此一項就已導致近8%的帶寬損耗,而尚未考慮任何訪問模式或并發情況。

另一個重要因素是行局部性,通常用頁面命中和頁面未命中來描述。DRAM被組織成行(或頁面)。當某一行被激活時,其內容會被加載到感知放大器中,從而使得對該行的后續訪問能夠快速進行。如果多次訪問命中同一行,則激活成本得以攤薄。但當訪問在不同行之間跳轉時,必須先關閉當前行并激活新的行,這一過程代價高昂,會顯著降低有效帶寬。下圖展示了頁面命中與頁面未命中之間的時序差異。

然后是bank沖突問題。DRAM單元被組織成bank和bank組,為了實現最高的帶寬,連續的內存訪問應針對不同的bank組。

如果訪問命中同一bank組內的不同bank,則會產生額外的延遲。該行為由時間參數tCCD_S(短列間延遲)和 tCCD_L(長列間延遲)來表示,如下圖所示。

相比之下,SRAM 沒有這些結構上的低效。它沒有刷新操作、行激活,也沒有頁面命中或頁面未命中的行為。如果核心每周期都能發出一次內存請求,SRAM 就能在每周期內完成響應。換句話說,SRAM 的可用帶寬實際上等于其理論帶寬。
原文鏈接:
https://www.viksnewsletter.com/p/a-close-look-at-sram-for-inference
高端微信群介紹 | |
創業投資群 | AI、IOT、芯片創始人、投資人、分析師、券商 |
閃存群 | 覆蓋5000多位全球華人閃存、存儲芯片精英 |
云計算群 | 全閃存、軟件定義存儲SDS、超融合等公有云和私有云討論 |
AI芯片群 | 討論AI芯片和GPU、FPGA、CPU異構計算 |
5G群 | 物聯網、5G芯片討論 |
第三代半導體群 | 氮化鎵、碳化硅等化合物半導體討論 |
存儲芯片群 | DRAM、NAND、3D XPoint等各類存儲介質和主控討論 |
汽車電子群 | MCU、電源、傳感器等汽車電子討論 |
光電器件群 | 光通信、激光器、ToF、AR、VCSEL等光電器件討論 |
渠道群 | 存儲和芯片產品報價、行情、渠道、供應鏈 |

< 長按識別二維碼添加好友 >
加入上述群聊

帶你走進萬物存儲、萬物智能、
萬物互聯信息革命新時代
