三維整合與小晶片

已知良好裸晶(known-good die, KGD)

已知良好裸晶,指的是一顆還沒裝進封裝、也還沒和別的晶片接合在一起之前,就已經經過測試、被證明能正常運作的裸晶片。名字說得很直白:你手上握有證據,知道這一顆裸晶是好的,而不只是抱著希望。通常一顆晶片要等到封裝之後才接受真正的全面考驗,但一旦你開始把好幾顆裸晶黏到一起、做成同一個產品,這個先後順序就變得危險了——所以你把測試提前,挪到那顆散裝裸晶本身上去做。

底下說說,為什麼這麼一個小小的想法能救活那些大設計。缺陷在晶圓上大體是隨機分布的,所以裸晶越大,它越有可能至少吞下一個致命瑕疵——面積一漲,良率就掉得很快。一顆巨大的單片晶片就是一張孤注一擲的彩券:任何一處壞點,都會讓整顆昂貴的裸晶報廢。換種做法,如果你把這個設計拆解成好幾顆小晶片,就能逐顆單獨測試每一顆小裸晶,只留下那些已知良好的,再用清一色的優勝者去組裝一個封裝。壞裸晶在還便宜的時候就被丟掉了——還沒等你花錢把它們接合到好鄰居身邊。

這就是小晶片浪潮底下那台安靜運轉的引擎。拆分設計要划得來,前提是你能信得過這些零件,而 KGD 測試正是讓這些零件值得信賴的東西——它把『把小裸晶混搭拼裝』從一場良率賭博,變成了一套良率策略。難就難在:測一顆裸露、未封裝的裸晶是真的不容易——你得在細小的焊墊上建立起可靠的臨時接觸,還要在缺少成品封裝所提供的保護與便於探測條件下,跑出有意義的測試,這也是為什麼像 HBM 這樣細間距、用 TSV 堆疊的記憶體,會如此倚重精心設計的裸晶級測試。

monolithic big die          4 small chiplets (test each, keep good)
+-----------------+         [die1 ok][die2 ok][die3 X][die4 ok]
|        X        |   -->        |       |    toss      |
|  one defect  =  |              keep the 3 known-good, swap
|  whole die lost |              in another good die -> good package
+-----------------+

一處缺陷就能毀掉整顆單晶片裸晶;而先測試小晶片,就能讓你只丟掉那顆壞的小裸晶,再用已知良好的裸晶把封裝拼起來。

KGD 從來都不是十全十美的保證——裸晶級測試無法複現一顆封裝好的元件將會遇到的每一種工況,所以總還有少數漏網之魚要等到組裝之後才暴露出來;目標是把這一比例壓得足夠小,讓拆解到頭來仍然是淨賺。

又稱
KGDknown good die