未来CPU缓存的主角——eDRAM存储技术解析

技术空间

计算机系统一般都采用多级存储器结构,由于上下两级存储器的速度可以相差1~2个数量级或者更高,因此,上一级和下一级存储器的数据交换常常成为系统瓶颈,大大降低了系统的性能。为了解决这个问题,通常采用的办法是在两级存储器之间增加一个高速缓冲存储器Cache,CPU中采用L1、L2缓存设计就是基于这个原因。不过长期以来Cache都是由静态RAM组成,规模庞大且成本高昂成为了该技术的致命伤。不过,这也正是技术前进的原动力,有需要才有进步!针对这个问题,以技术创新为代表的IBM推出了一种eDRAM技术……

eDRAM拥有更高的性能

传统嵌入式SRAM(Static RAM,静态随机存取存储器)的应用已经相当悠久,其中以SRAM在处理器中的嵌入更是具有指标性的意义。对于处理器来说,由于在存取指令时,必须与缓慢的主存储器进行沟通,处理器内部的暂存器速度虽然很快,但是处理器的前端总线有一定的限制,特别是局限于前端总线的数据传输位宽,势必无法与主存储器进行及时的资料处理与交换。以Intel的处理器为例,由于其前端总线的效能不是很高,而且存取限制特别多,因此Intel处理器往往都会配备大容量的二级快速存储器(L2 Cache),并配合相关的指令或资料Prefetch(预取)机制,让这些二级快取存储器作为处理器与主存储器之间的缓冲区,可以有效提升系统的整体性能。

如果将SRAM换成eDRAM,那么能给芯片带来什么样的好处?由于eDRAM是采用整合于芯片内部的设计,因此芯片在研发初期就可以采用位宽更大的总线,不需要改变芯片封装后的针脚数或者PCB的布线规模。在性能表现方面,以256bit宽度总线设计的嵌入式存储器来看,频率只要达到500MHz,即可实现128Gbps的带宽。在eDRAM中载入SRAM部分的数据可以在15ns(纳秒)内被处理器访问到,如果数据不在SRAM中,它可以在35ns内从eDRAM的DRAM部分访问到,效能要比目前的静态RAM设计高出不少。

你知道吗>>

eDRAM的英文全称是enhanced Dynamic Random Access Memory,其中文意思为增强动态随机存取存储器,这是一种动态随机存取内存(动态或者电刷新的RAM),它在大量的DRAM(动态随机存取存储器)中包括了小部分SRAM。

我们以IBM的Power 7为例来具体说明eDRAM的特点。在Power 7之前的Power 4、5、6,每一代产品主频都是不断提高的,但到了Power 7主频没有提高,反而有所下降,但每个核的性能却提高了。这里面有什么奥妙?其实,一个很重要的原因就是eDRAM的应用,它大大缩小了三级缓存所占用的空间。此前,芯片采用SRAM作为三级缓存,占用空间很大,三级缓存只能放在系统基板(PCB)上。而采用新的eDRAM技术,缓存体积缩小为原来的1/6,这为把三级缓存放进芯片内部创造了条件。因此Power 7系统性能的巨大提升,eDRAM功不可没。换句话说,采用eDRAM的技术可以用较低的主频损失换取更高的系统性能,这是Power处理器设计取得的巨大突破。

除Power 7外,eDRAM最著名的应用案例就是SONY PS2游戏机中的图形芯片,该芯片中内嵌了总线宽度为2560bit的4MB eDRAM,而采用“分割式”总线设计(1024bit作为写入、1024bit作为读取、512bit用来执行贴图材质读取),达到了总带宽为48GB/s的目的。

另一方面,因为eDRAM整个I/O(输入/输出)功能在芯片内部的电路、栅极阶段就已经完成,所以不需要另外耗费电力来驱动外部装置,比起传统的静态RAM设计的方式,该芯片拥有更省电、更易提升频率的优点。

更精密的架构和更低的成本

目前一颗Core2 Duo双核处理器有超过60%的面积由各种嵌入式SRAM组成,如寄存器堆和一、二级缓存等,嵌入式SRAM一度成为先进晶圆厂制程技术高低的衡量标杆。不过,由于SRAM由六个晶体管组成,而DRAM只有一个晶体管加一个电容的结构,面积相当有优势。例如,当东芝的16Mb嵌入式SRAM所用制造工艺从180nm发展到130nm乃至90nm时,面积会分别缩小50.1%和51.7%,其尺寸变化接近线性规律,而同样规模的嵌入式DRAM(即eDRAM)的尺寸变化比线性规律还要好,面积缩小百分比分别可达61.2%和71.1%。换言之,这种DRAM所需的面积缩减要比工艺缩减本身快得多,成本也更低。

当然,更少的晶体管和电容意味着更低的维持功耗、更小的晶体管尺寸。虽然RAM本身可以保持住电荷,理论上不需要额外的电压来维持动作,但漏电的情况是其无法抹去的“伤痛”,而在eDRAM身上是不会发生这种情况的。不过对eDRAM来说,其成本控制的关键在于制程的精密度,厂商拥有的制程越先进,越容易从eDRAM的生产中得到好处。

15-d14-1-1.jpg
结合逻辑控制和eDRAM设计,可有效改善芯片执行效率
15-d14-1-2.jpg
eDRAM成功应用实例:IBM的Power 7

工艺仍是eDRAM成败的关键

正因为eDRAM更具有优势,因此很多厂商很早就考虑将它嵌入到系统中的可能性。IBM、东芝等厂商都投入了大量人力、物力进行eDRAM的开发。而eDRAM开发的难点在于DRAM工艺与常规逻辑工艺差异很大,工艺的整合相当困难。由于eDRAM在生产过程中也会遇到传统芯片生产的困难,比如说电荷留滞时间、漏电流、DRAM储存单元的大小等,而eDRAM本身也需要附加的逻辑电路,因此在与芯片本体进行连接整合时,整个芯片的布局也会随之复杂化。

即使SRAM采用的硅数量比eDRAM多得多,SRAM的可制造性仍然很高,这主要是因为目前SRAM技术已经相当成熟,可以通过增加冗余SRAM单元来提高大型SRAM模块的良品率。而eDRAM存储器在提升汇流排宽度的设计方法上,必须大幅扩大整个PCB布线的复杂度,连带会使得PCB的面积增加,而为了避免电子讯号遭到EMI(电磁干扰)的影响,PCB也必须往更多层设计方向发展,这些都将成为无法忽视的设计负担,且会严重影响到大量制造的效率以及成本分摊。若采用嵌入式存储器方案,初始芯片设计成本无可避免地会增加,制造难度也会因为芯片规模的增加而提高,顺带也会造成良品率的下降。

虽然相比SRAM来说,eDRAM的容量限制要放宽不少,但是受限于晶粒大小与成本和逻辑电路的复杂性,无法做到无限制的扩充。由于存储器的单元通常相当工整,在芯片中常占据完整的区块,且由于存储器资料流动有一定的方向,所需的互相连接较少。而在逻辑控制单元这方面,则是近似随机地散布在芯片上,为了达到更高的指令传输效率,需要大量的导线来连接。而逻辑控制单元在制程上通常需要4层左右,其中约有2层为多晶矽,其余为金属层,另外存储器单元多为4层以上的多晶矽,在同一片晶圆上必须交错使用不同的制程,在技术层面上复杂度较高。

比如早期XBOX360的Xenos图形芯片原计划就是采用eDRAM设计,但受当时的生产工艺制约,Xenos图形芯片可能会因制程难度过高,而造成难产的局面,因此只能改用多芯片模块设计方式:Xenos 图形芯片由两个晶粒所组成的,一个是图形芯片本体,采用ATI的图形核心,另一个则是NEC所提供的90nm制程10MB eDRAM,后者虽然号称是嵌入式DRAM,实际上却是分开的两个晶粒,采用MCM(Multi-Chip Module,多芯片组件)封装。这里要注意的是,MCM的设计思路是将多种功能的芯片结合到单一的封装中,以求降低整个系统的复杂度。这种设计的芯片数据带宽达到了256GB/s的惊人地步,一点也不输给直接内建在芯片内部的设计,而分离式的设计也可以有效提升芯片良品率。

正因为eDRAM生产工艺要求极高,从上个世纪90年代初期有大大小小数十家公司致力于eDRAM的研究开发,到现在只剩下寥寥数家,不能不说超出想象的工艺整合的难度和后面持续的投入局限,使得这个原本很好的设想难以大展鸿图。

15-d14-1-3.jpg
受到当时制程的制约,Xeons核心部分与eDRAM不得不采用MCM封装方式
15-d14-1-4.jpg
d14题图.jpg
Power 7的eDRAM采用深沟槽电容结构,并结合高k介质和金属内衬电容器技术

写在最后

随着工艺的快速发展,使得不少厂商重新审视eDRAM的可行性,并有部分厂商也取得了成果,如IBM已经在有限应用中推广eDRAM且小有成就,毕竟像极高密度存储空间的应用对eDRAM还是有着迫切的需求,但受生产工艺的制约,主流设计还是没有将eDRAM纳入必备选项。但随着eDRAM已经成功应用及生产工艺的改进,相信我们能很快在主流CPU上看到它的身影。