死亡游戏里的活口 书架

第 12 章 / 共 16 章

第十二章 · 叠罗汉:HBM 是怎么想出来的

第十二章 叠罗汉:HBM 是怎么想出来的

上一章我们撞上了一堵墙。平面微缩越来越难,每一代提升都要付出指数级增长的工程代价,物理定律不给面子。但故事没有到此为止——因为工程师被墙挡住的时候,会做一件很朴素的事:既然横着走不通,那就竖着走。

这一章讲的,就是「竖着走」这条路。它有个名字叫 HBM(High Bandwidth Memory,高带宽内存)——直译过来就是「带宽很高的内存」。它凭什么带宽高?答案说穿了只有两个字:叠楼。但要把这两个字讲清楚,我们得先搞明白,内存和处理器之间到底卡在哪儿。

先说清楚:内存和处理器是怎么「说话」的

你的显卡、CPU 要算东西,数据得从内存里搬过来。搬数据靠什么?靠 总线(bus,芯片之间传数据的物理线路)——一根一根实实在在的导线,从内存芯片的引脚出发,平铺在电路板上,绕过去接到处理器上。

数据在这些导线上是「并行」跑的:有多少根线,一个时钟节拍就能同时送过去多少个二进制位(bit)。所以一次能传多少数据,取决于线的根数,我们管它叫位宽

打个比方。总线就是一条马路,每根导线是一条车道,数据是车。

一次能运多少货 = 车道数 × 车速。

这就是带宽(bandwidth,单位时间能传多少数据)。想让内存更快,无非两招:把车速提上去(每根线跑得更快),或者把车道加宽(多铺几根线)。

问题是,这两招都快到头了。

提车速——让每根线的频率更高——发热和功耗是按平方甚至更狠的比例往上涨的。线一快,信号还容易互相串扰、失真,得加一堆额外电路去纠正,越快越难伺候。

加车道——多铺线——听着简单,可线是从芯片边缘的引脚引出来的。一颗芯片就那么大,边上一圈能排的引脚是有限的;线全挤在电路板那一个平面上,密到一定程度就互相干扰、布不下去了。普通 DRAM 一颗芯片的接口,也就几十根线(比如 32 位)的量级。

于是我们卡死在这里:马路想拓宽,两边是山,拓不动了。这就是带宽墙——它和第十一章那堵「微缩墙」是一对孪生兄弟,一个卡容量,一个卡速度。

核心点子:平面铺不下,就往上叠、在垂直方向打通

HBM 的天才之处,是它没有继续在那个平面上死磕,而是换了个维度想问题:

平地上盖不下更多房子,为什么不盖摩天楼?

具体分三步。

第一步,把多层芯片叠起来。把好几片 DRAM 裸片(die,从晶圆上切下来、还没封装的一小块芯片)像叠罗汉、盖楼一样,一层一层堆在一起。早期堆 4 层,后来 8 层、12 层,如今已经做到 16 层。同样的占地面积(芯片在电路板上的投影),容量和资源翻了好几倍——这就是盖楼相对平房的好处:占地不变,使用面积暴涨。

第二步,给这栋楼装垂直电梯。楼盖起来了,可楼上楼下怎么通信?如果还是让信号绕到每层芯片的边缘、再平铺出去,那等于住在 16 楼却只能走消防楼梯下楼,白叠了。HBM 的做法是 TSV(Through-Silicon Via,硅通孔)——字面意思「穿透硅片的通道」:直接在硅片上打一大堆垂直的微型孔,孔里灌上金属,就成了一根根竖直穿过整栋楼的导线。

TSV 就是给这栋楼装了成千上万部直达电梯。第 3 层的数据要去第 12 层,不用绕到墙外爬管道,垂直方向「嗖」一下就到——距离是整栋楼里最短的那条路。

第三步,也是最关键的收获——接口一下子变得超宽。因为通信走的是芯片内部成千上万个 TSV,而不是芯片边缘那一圈有限的引脚,位宽就不再被「边长」卡住了。一个 HBM 堆栈(stack)对外的接口宽达 1024 位——对比一下普通 DRAM 那几十位,宽了一个数量级还多。

车道从几十条,一口气拓到上千条。哪怕每条车道的车速(频率)压得比普通内存还低一点,架不住车道多啊——总吞吐量照样甩开对手一大截。而这里藏着 HBM 最反直觉、也最漂亮的一点:

因为走的是垂直方向的短路径,每传一个 bit 走的距离更短、驱动它的功耗更低。所以 HBM 不只是更快——它在每传一位数据上反而更省电。又快又省,这在工程里是罕见的「既要又要」都拿到了。

换个饭堂的比喻你就全懂了:普通内存是一个打饭窗口,队排得再快也就那么点吞吐;HBM 是同时开了上千个窗口一起打饭。就算每个窗口的阿姨手脚慢一点,上千个窗口并行,总量还是碾压。

楼盖好了,还得接到处理器上——中介层与先进封装

内存这栋摩天楼盖好了,可它终究要和处理器(通常是 GPU)通信。这上千根线要是还老老实实铺回普通电路板上,前面的努力又白费了——电路板的布线密度根本承接不了上千位的接口。

所以 HBM 通常和处理器一起,坐在同一块 中介层(interposer,一块布满超高密度微细导线的硅底板)上。你可以把它想成一座高架桥:它用硅工艺做出比普通电路板细密得多的走线,把旁边的 HBM 堆栈和中间的 GPU 近距离、超高密度地连起来。距离近、线又密,上千位的接口才真正落得了地。

这种「把好几块不同的芯片(GPU + 几个 HBM 堆栈)拼装到同一个封装里」的做法,叫 先进封装(advanced packaging,把多块芯片高密度集成到一个封装体内的工艺)。它标志着一个转折:

芯片竞争,不再只是「把一个个晶体管单元做得更小」,也变成了「怎么把多块芯片精妙地拼装、连接到一起」。

战场从二维的「微缩」,扩张到了三维的「集成」。这对海力士这类厂商是个重大信号——第十一章攒下的那身工程功力,在这条新赛道上还能再变现一次。

为什么这事这么难,也这么值钱

叠罗汉听着简单,真做起来处处是坑。理解了它有多难,你才会明白它为什么贵、为什么不是谁想做就能做。

  • 良率的连乘。叠 12 层、16 层,意味着每一层都得是好片。哪怕单层良率有 99%,十几层连乘下来也会掉一大截——只要一层是坏的,整栋楼就报废。这等于把第十一章讲的「良率工程」难度又乘方了一次。
  • 几千上万个孔不能错位。TSV 要在硅片上打成千上万个微型孔,上下每一层的孔都得对得严丝合缝。错位一点点,电梯就接不上,楼就成了废楼。
  • 热出不去。芯片工作会发热,本来摊在平面上还好散;现在一层压一层叠成一栋楼,最中间那几层的热量被夹在里面,出不来。散热成了叠层数越多越棘手的老大难。
  • 键合要极准。要把一片片好芯片精准地对齐、堆叠、键合(bonding,把两片芯片牢牢接合并接通电路)到一起,位置差之毫厘,整片作废。这是制造和封装两门功夫的顶配组合。

把这几条叠加起来,你就明白 HBM 为什么是一门极高门槛的手艺活——它不是设计出来就行,而是能不能稳定、高良率地造出来。这恰恰是海力士这类在制造工程里泡了几十年的老兵最擅长的地方。

一个当年没人看好的「贵而无用」之物

把时间拨回它刚诞生的时候。HBM 在 2013 年由行业标准组织 JEDEC(制定内存行业统一标准的组织)定为标准(编号 JESD235);2015 年,AMD 在它的 Fiji 显卡(Radeon R9 Fury X)上第一次把 HBM 用进了商用产品——把 4 个 HBM 堆栈和 GPU 一起放在硅中介层上,正是我们前面讲的那套 2.5D 封装。

可当年这东西,是个不折不扣的小众高端货。它贵、工艺难、市场就那么一小块,很多人看着它直摇头:又贵又难造,普通电脑内存根本用不上这么夸张的带宽,图什么?在那几年,押注 HBM 看起来像是把钱投进了一个叫好不叫座的技术。

但海力士很早就在这条线上下了注。为什么一个当时「贵而无用」的东西,几年后会变成整个行业挤破头也抢不到的战略物资?是什么力量在几年后突然让全世界疯抢这些叠起来的楼?

那要等到一位新客人登场——它叫 AI。我们下一章说。

死亡游戏里的活口 · 王建硕
面向对世界有好奇心的人 · 费曼式写法 · 由多个 AI 代理撰写与互相审校