当前位置: 华文星空 > 知识

HBM 存储有可能成为未来 CPU 平台的一个主流选择吗?

2020-05-12知识

个人看法:短期不会,未来则有可能

HBM的名字是High Bandwidth Memory,顾名思义,就是高带宽存储器。HBM的带宽有多高呢?以标准HBM2来说,单颗粒可以提供256 GB/s的带宽,作为对比,16 Gbps的GDDR6单颗粒带宽是64 GB/s,只有HBM2的1/4;DDR4 3200是最少8颗颗粒提供25.6 GB/s带宽,只有HBM2的1/10。

就现在来说,HBM的核心原理和普通的DDR、GDDR是完全一样的:每一位数据都通过一个晶体管和一个电容组成的Cell来存放,电容存储电量来表示0和1,通过晶体管与周边电路联通实现读、写、刷新操作。既然原理一样,HBM要实现高带宽,就必须在其它方面付出代价: 使用多根数据线。

HBM/HBM2都使用了1024根数据线传输数据,作为对比,GDDR是32根,DDR是64根。这么多数据线,已经无法用传统的PCB布线实现,因此HBM都需要使用额外的硅联通层,通过晶片堆叠技术与处理器(CPU、GPU或者其它类型的处理器)连接。使用硅联通层会带来两个缺点: 高成本,容量不可扩。 不过使用硅联通层的会有一个优点,就是 传输数据的功耗可以大幅降低。

HBM堆叠封装中的硅联通层

这么多的连接线,要保持高传输频率一方面会带来高功耗,另一方面也没有必要。因此HBM的数据传输频率相对很低,HBM2也只有2 Gbps,作为对比,GDDR6是16 Gbps,DDR4 3200是3.2 Gbps。此外,从多个Bank中读取并组织1024bit数据进行传输也需要耗费相当时间。虽然HBM的1024bit是分成8个128bit通道,HBM2的伪通道模式更是每个通道再进一步细分为两个伪通道,每个64bit,但组织64/128bit的数据排队,还是远比GDDR的32bit,DDR的8bit要慢不少。排队慢传输也慢,因此, HBM还有另一个缺点:延迟高。

小结一下,HBM的优点:带宽高,传输功耗低;缺点:成本高,延迟高,容量不可扩。

现在以及短期可见的应用来说,很少有非常大的计算量,对于带宽的需求并不高,对性能影响更大的是延迟。而且PC用户的需求各种各样,使用习惯,购买预算都会有很大差异,特定一两种内存容量的规格难以满足全体用户,所以HBM在可预见的短期内,都不可能成为主流选择。

就目前来说,内存厂家提出的低成本HBM,以及Intel的EMIB技术,可以一定程度上降低HBM的成本。

低成本HBM,首先传输速度从2 Gbps提高到3 Gbps。降低接口位宽,从1024bit降低到512bit;同时堆叠层数也可以减半;另一方面,取消掉缓冲芯片、ECC纠错所需的冗余容量。

Intel的EMIB(Embedded Multi-die Interconnect Bridge,嵌入式多晶片互联桥接)技术,则可以用很小面积的桥接硅片代替大面积的硅互联层。但需要处理器、HBM颗粒把用于互联的触点分布在颗粒边缘。

基板封装、硅穿孔堆叠、互联桥接对比
互联桥接只需使用很小面积的晶片<br>(图中金色小方块)

未来随着互联网接入带宽的提升,智能手机的普及,以及人工智能的流行,可以合理猜测未来的数据量和计算量是会不断提升的,当数据量、计算量达到现有的DDR/GDDR带宽瓶颈后,HBM很可能会是唯一解决方案。

HBM容量不可扩展的问题,如果傲腾内存得以普及,应该也不是问题。毕竟现在很多时候我们需要大容量内存,往往只是因为硬盘太慢,且不支持随机访问,很多后台应用、服务占用了大部分内存容量,这些数据完全可以放在傲腾内存中而且对性能没有影响,甚至傲腾的无需定时刷新特性还可以大幅降低功耗。HBM相当于傲腾的缓存,活跃数据才放在HBM上就可以了。

HBM延迟高的缺点,则只能通过加大处理器的内部缓存来解决了。现在CPU方面,AMD 64核的的EPYC 7742/线程撕裂者3990X末级缓存都高达256 MiB,GPU也有128 MiB缓存的6800了,可以一定程度上降低HBM高延迟带来的影响。