JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

3D 堆疊與小晶片:用拼塊組成系統

六十年來,我們把晶片做得更大、更平。如今的前沿同時往上、也往旁邊長:一片片晶粒在垂直方向上相隔僅數微米堆疊,而巨大的晶片則被打碎成小塊、再像樂高一樣拼回去。這正是現代 CPU、GPU 或 AI 加速器真正的建造方式——不是一整塊英雄式的矽,而是一支精心組裝的專家團隊。

並排到頭時撞上的牆

在第 3 階你學會把晶粒「並排」放在中介層上——這是 2.5D 的世界,一疊 HBM 緊鄰著 GPU,透過下方矽中介層裡的數千條細線溝通。這招換來了龐大的頻寬。但請注意它的幾何結構:即使兩片晶粒只相距幾毫米,訊號仍得從一片晶粒「走出來」、橫越中介層、再「走進」另一片。在 GHz 等級的速度下,幾毫米形同永恆。每多一毫米的導線就多一分電容,意味著每位元要花更多能量、也帶來更多延遲。

於是工程師問了一個看似簡單的問題:與其把晶粒並排,不如讓它們「面對面」、或像煎餅一樣疊起來?那麼兩片不同晶粒上的電晶體之間,路徑就能縮短到幾「微米」,而非幾毫米——足足短了一千倍。這就是從 2.5D 躍進到真正垂直整合的一步,也就是 3D IC

往上長:TSV、微凸塊與混合鍵合

要把晶粒 B 疊在晶粒 A 之上、又能讓訊號在兩者間流通,你需要一種方法把導體「貫穿」矽的本體。這個導體就是矽穿孔(TSV)——一個填滿銅的孔洞,往往只有幾微米寬,垂直鑽穿一片已被磨薄的晶粒。把它想成大樓裡的電梯井:樓層之間得以接線相通,而不必跑到外牆爬梯子。

但 TSV 只負責把訊號「穿過」一片晶粒。要把兩片堆疊的晶粒接起來,還需要在它們相接的表面上設置接點。第一代用的是「微凸塊」:細小的錫球,間距約 20–40 µm,回流焊接後把上層晶粒的焊墊銲到下層晶粒的焊墊上。微凸塊與第 2 階的覆晶凸塊是同一個概念,只是大幅縮小。它們行得通,但錫有極限——球做到一定程度就會與鄰球橋接短路,而且錫也帶來額外電阻與一道微小間隙。

前沿技術乾脆把錫整個拿掉。在銅對銅混合鍵合中,兩片晶粒被拋光到鏡面般平整,氧化層表面直接相黏(像兩片乾淨的玻璃片貼合),各自表面內嵌的銅墊對準後,再經一道加熱步驟熔接,直到融為一整片連續的銅。沒有錫球、沒有間隙——只有金屬與金屬相接。這把連接間距從微凸塊的約 40 µm 推進到「1 µm 甚至更小」,使晶粒對晶粒的連接密度提升「數百倍」,同時大幅降低每條連線的電阻與電容。

  2.5D (side-by-side on interposer)        3D stack (hybrid bonded)
  -----------------------------------       --------------------------
   [ GPU ]  ~mm of wire   [ HBM ]            +========+  die B (top)
      |________________________|             | copper |  <-- ~1 um pitch
          interposer (passive)               +========+  hybrid bond
   ====================================       | copper |
             ~mm path, more C, more energy   +========+  die A (bottom)
                                              | TSV  | |  signals exit below
                                              +------+-+
   3D vertical path:  a few microns  =>  ~1000x shorter, ~lower energy/bit
2.5D 在側向繞行數毫米;3D 混合鍵合堆疊則直接往上走數微米。

為何要把一塊大晶片打碎成小塊?

現在把鏡頭整個拉遠。堆疊解決的是「距離」。但還有第二股更殘酷的力量正在重塑晶片設計:「經濟」,而它的驅動力是良率。良率指的是一片晶圓上做出來能正常運作的晶粒比例。缺陷大致是隨機落在晶圓上的——比方說每平方公分幾顆灰塵。小晶粒或許能全部閃過;巨大的晶粒幾乎必定會吃到至少一顆,而一個致命缺陷就會讓「整片」晶粒報廢。

這個數學毫不留情。缺陷隨「面積」累積,因此晶粒一變大,良率大致呈指數下滑。面積加倍,你損失的不只是多一點——你可能會折損掉大部分的良品。更糟的是,最大的設計會撞上「光罩極限」,也就是微影掃描機一次能曝印的最大面積(約 858 mm²)。你在物理上根本無法做出比這更大的單體晶粒。

Toy yield model (Poisson):  Y = exp(-A * D)
   A = die area (cm^2),  D = defect density (defects/cm^2),  D = 0.1

   One monolithic die, A = 6.0 cm^2:   Y = exp(-0.60) = 0.55   (45% scrapped!)
   Split into 4 chiplets, A = 1.5 cm^2 each:
        each chiplet  Y = exp(-0.15) = 0.86
        => far more good dies per wafer; toss a 1.5 cm^2 reject, not a 6 cm^2 one
較小的晶粒吃到的缺陷較少——而當一塊故障時,你丟掉的是一小塊便宜的,而非一整塊巨大的。

這正是小晶片革命背後的經濟引擎。與其做一塊巨大的單體 SoC,不如把它「分拆」:將設計切成數個較小的晶粒,分別製造、各自測試,只留下良品——也就是已知良品晶粒(KGD)。接著把這些倖存者重新整合進同一個封裝。你等於把一張昂貴的彩券,換成一把便宜的彩券,而且只為中獎的付錢。

混搭:異質整合

為了良率而分拆,只是獎賞的一半。一旦晶片成了一堆拼塊,這些拼塊就不必再用同一種方式製造。這就是異質整合:每片小晶片都能採用最適合「它自己」的製程節點,再把這些拼塊組裝成一個系統。

這為何重要?不同的電路微縮的方式不一樣。邏輯——做算術的電晶體——在每一個新節點都能漂亮地縮小,而且「鍾愛」最新(也最貴)的 EUV 製程。但類比電路、高壓 I/O 驅動器與 SRAM 大致已停止縮小;花錢用尖端矽去做它們純屬浪費。於是你把密集的運算邏輯做在最新節點上,I/O 與類比做在較便宜的成熟節點上,記憶體或許做在記憶體專用製程上——再把它們組裝在一起。你能集各製程之長,而不必逼著一個製程包辦一切。

實例:CPU 運算晶粒 + 一片 IO 晶粒

用一個讓小晶片聲名大噪的架構把它講具體——一顆由兩種晶粒組成的伺服器 CPU。「運算晶粒(CCD)」上只有 CPU 核心與快取,採用最先進的節點製造,讓核心又快又密。另一片獨立的「I/O 晶粒(IOD)」則放所有不太縮得動的東西:記憶體控制器、PCIe 與 USB 的實體介面、插槽間連結。它做在較便宜的舊節點上,因為這麼做沒有壞處。

  1. 分別製造。 在先進節點上做出大量小型運算晶粒,在成熟節點上做出 IO 晶粒。每片晶粒都很小,所以每片晶圓都能產出許多良品。
  2. 組裝前先測試。 對每片晶粒進行探針測試,挑出已知良品晶粒。你只想把組裝成本花在已確認可運作的拼塊上。
  3. 分級與混搭。 速度快的運算晶粒進高階產品,稍慢的進較便宜的型號。「同一片」IO 晶粒兩者通用。整條產品線就從同一個零件箱裡分裝出來。
  4. 重新整合。 把一片或多片運算晶粒連同 IO 晶粒放上封裝基板(或中介層),做晶粒對晶粒連接,再封裝密合。
                package substrate / interposer
   +---------+   +---------+         +-------------------+
   |  CCD 0  |   |  CCD 1  |  ...    |     IO die (IOD)  |
   | cores + |   | cores + |  <==>   | mem ctrl, PCIe,   |
   |  cache  |   |  cache  |  d2d    | USB, socket links |
   | (newest |   | (newest |  link   |  (mature node)    |
   |  node)  |   |  node)  |         +-------------------+
   +----+----+   +----+----+              ^   ^   ^
        |  d2d links (UCIe)              DDR PCIe USB  to the outside world
        +-------------------------------+
   Build a 4-core, 8-core, ... or 64-core part by changing how many CCDs you drop in.
最新節點的運算晶粒 + 成熟節點的共用 IO 晶粒,以標準化的晶粒對晶粒連線相接。要加核心數,就多放幾片 CCD。

看看這替你換來什麼。你能從 4 核晶片擴展到 64 核怪物,「靠的只是多放幾片運算晶粒」——不必重新設計、不必新光罩組、也不會撞上光罩極限的牆。昂貴的先進節點矽只花在核心上。而由於每片晶粒都小,你的晶圓上滿是已知良品晶粒,而非折損過半的巨片。同樣的概念遠不止用於 CPU:GPU 與 AI 加速器如今也以一模一樣的方式,把許多運算小晶片並排(並疊放)在記憶體與 I/O 旁邊。

讓拼塊能扣合:UCIe 與協同最佳化

在這份優雅之中藏著一個陷阱。如果你向甲廠買的運算晶粒,和向乙廠買的 IO 晶粒,談不攏「該如何」跨越間隙溝通——電壓、間距、協定、錯誤處理——那麼小晶片就只是客製的一次性配對,而非一個市場。數十年來,各家公司的晶粒對晶粒連線都是自家的方言。業界的答案是 UCIe(通用小晶片互連 Express),一套開放標準,定義了實體凸塊/間距、電氣訊號與協定,讓某供應商的小晶片能插進另一家的封裝——這是封裝「內部」的「PCIe 時刻」。

還有最後一個心態轉變要吸收。當一個系統被拆散到許多晶粒與堆疊之中,你就不能再先設計晶片、後設計封裝。這個拆分本身——哪些功能放在哪片晶粒、熱點落在何處、電力如何往上送進 3D 堆疊、晶粒對晶粒連線如何分配預算——都得在一開始就一起決定。這套整體性的做法就是系統-技術協同最佳化(STCO):把矽、封裝與分割當成「一個」問題來最佳化,而非三個。