記憶體牆,以及為何電路板才是瓶頸
想像一位冠軍主廚,能在十秒內把一道菜切好、煎好、擺好盤——但通往食材庫的唯一通道,是一條只有一位侍者徒手把食材搬進來的窄走廊。廚房的速度不再由主廚決定,而是由走廊決定。這條走廊,正是今天每一顆高效能晶片核心處的難題。現代 GPU 或 AI 加速器每秒能執行數十兆次運算,但每次運算都需要從記憶體取來運算元,而通往那記憶體的路徑,已成為整台機器裡最慢的一環。我們稱之為記憶體牆。
為何這條路徑這麼慢?在傳統電路板上,處理器與 DRAM 是相隔數公分焊接的兩個獨立封裝,透過印刷電路板上的銅導線溝通。那些導線又寬又疏——尺度在數十微米到數毫米之間——所以兩個封裝之間只塞得下幾百條線,而每條線在反射與串擾毀掉訊號之前,只能跑到不高的資料速率。把寬度乘上速率,就得到一道頻寬天花板。對於每毫秒就要把數 GB 權重串流過晶片的工作負載而言,那道天花板就是一面磚牆。
Bandwidth = (number of parallel wires) x (data rate per wire)
Classic board-level DRAM channel
~64 data wires/channel x ~3.2 Gbit/s ≈ ~25 GB/s per channel
a few channels -> ~100-200 GB/s total
The ceiling comes from PHYSICS of the board:
- traces are wide (tens of um) -> few wires fit between packages
- traces are long (cm) -> high R, L, C -> slow, lossy, power-hungry
- drivers must shout across cm -> pJ per bit is high
Goal of 2.5D: replace the cm-long board hop with a um-short hop
and pack THOUSANDS of wires instead of hundreds.中介層:晶粒底下的一塊矽電路板
2.5D 整合的核心是中介層——可以把它想成一塊極小、解析度極高的電路板,但材質是矽(有時是有機材料或重佈線層材料)而非玻璃纖維。在第 2 階你學過覆晶晶粒如何用焊料凸塊面朝下接合到封裝上,以及其中最細的微凸塊如何以約 40 µm 或更小的間距把晶粒連到載板。中介層就是那塊載板。邏輯晶粒與它的記憶體都用微凸塊覆晶到中介層頂面上;而中介層的任務,是以任何有機板都比不上的密度,把它們連在一起。
為何矽能佈線得如此密集?因為中介層是用製造晶片的同一套微影技術做出來的。它的佈線層以微米與次微米級的線寬圖案化,所以單一中介層就能在相鄰晶粒之間承載數萬條平行訊號。這正是關鍵數字:電路板提供數百條線之處,中介層提供數萬條,而且每條只有一兩毫米長。頻寬天花板因此提升了一到兩個數量級,而且是橫向地提升——晶粒並排而非堆疊,這正是它被稱為 2.5D 而非完整 3D 的原因。
SIDE VIEW of a 2.5D package (not to scale)
[ Logic die / GPU ] [ HBM stack ]
| | | | | | | | | | | | | | | <- microbumps (~40um pitch)
========================================== <- SILICON INTERPOSER
|| fine routing: 10000s of wires, ~1mm || (top: dense Cu wiring)
|| TSV TSV TSV TSV TSV TSV || (TSVs punch down)
==========================================
O O O O O O O O O O <- C4 solder bumps (~150um)
########################################## <- PACKAGE SUBSTRATE
o o o o o o o o o o o o o o o o o o <- BGA balls to the board
Two regimes of wiring:
TOP (interposer) = dense + short -> die-to-die signals
BOTTOM(substrate) = coarse + long -> power & off-package I/O矽穿孔:把電源直直打下去
上一張圖裡藏著一個問題。如果晶粒坐在中介層頂上,而中介層是一整塊實心矽片,那麼電源要怎麼上去給它們,慢速的離封裝訊號又要怎麼下到基板、再出到電路板?你不可能把所有東西都繞著邊緣走。答案是直接鑽穿矽片。矽穿孔(TSV)是一根垂直的銅柱——通常直徑 5–10 µm、高數十微米——從頂面乾淨地貫穿中介層到底面,把上方的微凸塊與下方的 C4 凸塊電氣相連。
製作 TSV 是貨真價實的 3D 微加工。工程師在矽中蝕刻出又深又窄的孔(一種稱為 Bosch 製程的高深寬比蝕刻),在孔壁鋪上絕緣阻障層,以免銅與導電的矽短路,再用電鍍銅把孔填滿。晶圓之後從背面被磨薄,使穿孔底部露出來、可以植凸塊。成果是數千條垂直線,把電源、接地與相對慢速的 I/O 訊號送下基板——而快速的晶粒間對話則留在頂部的細佈線裡,根本不必走這趟下行旅程。
Anatomy of a Through-Silicon Via (TSV)
microbump o <- die / top-side routing
--|-- top metal
+========+
| Cu fill | <- electroplated copper post
| (5-10um | diameter 5-10 um
| wide) | height 50-100 um
| | aspect ratio ~ 10:1
barrier liner | <- insulator: keeps Cu from shorting to Si bulk
+========+
--|-- bottom metal (exposed by backgrind)
C4 bump O <- down to the package substrate
WHAT TSVs CARRY (mostly): power, ground, slow off-package I/O
WHAT STAYS ON TOP: fast die-to-die signals in fine routingHBM:一棟有寬大正門的記憶體摩天樓
現在輪到實例中的主角登場。高頻寬記憶體(HBM)正是 2.5D 幾乎是為了承載它而誕生的搭檔晶粒。一般 DRAM 是一片平坦的晶片,焊在電路板上遙遠的彼端;HBM 卻是一垂直堆疊的多片 DRAM 晶粒——通常 8、12 或 16 片——一片接一片接合,並由它們自己的 TSV 串接貫穿,坐在一片基底邏輯晶粒上。它是一棟記憶體摩天樓:與其把儲存攤開在整片電路板上,不如把它向上蓋,再把整座塔停在處理器正旁邊。
堆疊之所以有用,又是同一個道理——又短、又細、又多的線。把 DRAM 晶粒疊起、用 TSV 上下貫穿,意味著這座記憶體對外呈現出極寬的介面:一座 HBM 堆疊提供約一千位元寬的資料匯流排,相對於板級通道的 64 位元。這條超寬匯流排之所以行得通,全靠底下的中介層能在通往邏輯晶粒的那道毫米級縫隙上,扇出一千多條線,而完全不必碰觸電路板。HBM 與中介層是共同設計的:寬大的門只有在有寬廣的走廊來迎接它時才有意義。
Worked example: one logic die + 4 HBM stacks on a silicon interposer
+---------+ +---------+
| HBM 0 | | HBM 1 | each HBM stack:
+---------+ +---------+ ~1024-bit data bus
\ / stacked DRAM + TSVs
+-----------------+ on a base logic die
| LOGIC / GPU |
+-----------------+
/ \
+---------+ +---------+
| HBM 2 | | HBM 3 |
+---------+ +---------+
<----- all on ONE interposer ----->
Bandwidth per stack (illustrative HBM-class numbers):
1024 bits x ~6.4 Gbit/s/pin / 8 ≈ ~800 GB/s per stack
4 stacks -> ~3.2 TB/s aggregate
Compare a board-level DRAM subsystem: ~0.1-0.2 TB/s
-> roughly a 15-30x bandwidth jump, at LOWER energy per bit.2.5D 對 3D,以及這一切矽片的代價
釐清這為何是 2.5D 而非 3D 是值得的。在 2.5D 中,所有主動晶粒都並排坐在共用的中介層上;唯一被堆疊的是它們底下那塊被動的中介層(以及 HBM 堆疊內部的 DRAM 層)。真正的 3D 整合——下一階的主題——更進一步:它把主動的邏輯晶粒直接一片疊一片,面對面或面對背地接合,常用完全不靠焊料、直接熔接銅墊的混合鍵合。2.5D 把熱攤開、並讓晶粒可分離;3D 在最短的垂直線上取勝,卻得對抗酷烈的散熱與鍵合難題。2.5D 是成熟、已量產的主力;3D 則是緊隨其後、更陡峭的前沿。
這一切都不便宜。矽中介層本身就是一大片用晶片級微影做出來的矽,而大型中介層很難做到沒有缺陷——它的良率隨面積增大而下降,而旗艦級加速器所需的中介層,可能比單次微影曝光所能印出的範圍還大,被迫採用奇特的拼接技術。經濟上的槓桿在於中介層的觸及範圍與密度:細線能橫越它跑多遠、又能塞進多少條。更大的觸及範圍讓你放下更多 HBM 堆疊與更大的邏輯晶粒;更高的密度則拉高頻寬。兩者都耗用面積,而矽上的面積要花錢。這就是 2.5D 的核心取捨。
正是這股成本壓力,使業界四處尋找更便宜的載體。有些 2.5D 封裝把整塊矽片換成一小片嵌在原為有機基板中的矽橋——只在兩顆晶粒真正相會之處鋪細佈線,其餘地方一律用粗的有機佈線。另一些則用一層厚的重佈線層(RDL)中介層,完全不靠矽晶圓建構。它們全都服務於驅動整個這一階的同一目標:在晶粒之間提供中介層級的佈線,最好不必到處都付出中介層級的矽片成本。這正是現代異質整合與小晶片設計的引擎,並由 UCIe 之類的晶粒間介面加以標準化。
把它組起來:組裝流程
退一步看,整套 2.5D 食譜是一連串間距逐步縮小的接合,每一道都是上方更精細世界與下方更粗大世界之間的轉譯者。以下是邏輯加 HBM 模組的典型流程。
- 製作中介層晶圓:圖案化頂面細密的銅佈線,並蝕刻、鋪襯、填滿TSV,再背磨使穿孔底部露出。
- 預先測試每顆晶粒。邏輯晶粒與每一座 HBM 堆疊都必須各自通過、成為已知良品晶粒——你只想讓經過驗證的零件去碰那塊昂貴的中介層。
- 用細的微凸塊(間距約 40 µm)把晶粒接合到中介層頂面,再在每顆晶粒底下灌入底膠,以紓解那些微小接點上的熱應力。
- 用粗的 C4 凸塊(間距約 150 µm)把已布滿晶粒的中介層貼到封裝基板上——此時 TSV 將電源往上送、把慢速 I/O 往下送到基板。
- 裝上上蓋與散熱片,把基板的焊球連向外界,模組就準備好落到電路板上了——在一個外觀平常的封裝背後,呈現出每秒數 TB 的內部記憶體頻寬。