DDR3以及之前的内存时代,主板上的内存插槽并不会成为用户特别关心的问题。绝大多数主流主板都会设计多达四条内存插槽。用户可以在初次购买的时候使用1根或者2根内存插槽,在未来升级时再添加内存即可。随着技术发展,即使是双通道技术,也不严格需要每通道的内存容量完全相同,弹性双通道技术也很好地解决了内存速度和容量的问题。
图3
我们称上述设计为多点分支总线(Multi-drop bus)(图3)。这种总线类似铁路—— 一条铁路周围可以设定多个火车站,每个火车站的物资都能顺利进入铁路传输。多点分支总线允许用户随时添加不同的“内存节点”,添加的内存相当于直接挂接排成一串,在数据位宽没有改变的情况下,增加了数据存储的深度,用简单的话来说就是提升了内存的容量。
多点分支总线的好处是扩展内存更容易,但却浪费了内存的位宽。我们知道,目前使用的内存条全部都属于64bit位宽,容量则从256MB~4GB不等。传统的多点分支总线固定了所有可扩展的内存单元,只能利用到内存的容量部分。另外,多点分支总线设计也较为复杂,不太适合未来更多通道内存总线的设计和发展。
因此在DDR4内存的设计上,可能不会采用传统的多点分支总线设计,将有望采用全新的点对点总线完全设计(图4)。
图4
该设计充分利用了内存的位宽和容量,只要内存控制器有足够多的通道数,就能支持更宽的位宽,实现更高的存储性能。以DDR4 3200来算的话,双通道可以提供51.2GB/s的带宽,四通道则翻倍到102.4GB/s!这是相当惊人的带宽规模,已经相当接近目前中端显卡的带宽表现了,也为大规模数据运算和存储带来了良好的硬件基础。
不过有好就有坏,点对点总线也有自己的劣势,它每通道只支持一条内存模组,并且必须使用一样的内存才能顺利运行。举例来说,如果某内存控制器有两个点对点内存通道,首次安装时用户已经购买了两条2GB的内存组成了双通道,那么下次升级内存时,用户必须抛弃这两条2GB内存,重新购买更大容量的两根内存才能正常使用。如果是四个点对点通道都插满内存的话,升级内存就必须放弃已有的四根内存。
不仅如此,从目前内存发展情况来看,在个人电脑上4GB内存很可能在未来1年~2年时间内逐渐淘汰,8GB甚至更大容量的16GB内存则会渐渐普及。如果是传统的多点分支总线,则可以通过总线上挂接更多的内存来解决。但就点对点总线而言,想支持高于8GB甚至16GB的内存容量的话,就必须提高单条内存的容量。如果只具备双通道点对点内存控制器,内存则必须支持单条8GB的容量,这在目前的生产工艺下是较难做到的(市售内存普遍为16颗内存颗粒,单条8GB意味着每颗内存颗粒容量要达到512MB)。未来采用更新的28nm等工艺有望改变这个情况。不过对一些服务器来说,需要更大的内存如128GB,512GB等,点对点总线技术仍然显得捉襟见肘,比较困难。
如果要解决这种问题,只有从内存和控制单元的设计下手。从内存方面来说,使用更新的生产工艺,采用诸如多层封装、硅穿孔(TSV)等技术(图5),大幅度提高单颗芯片的容量。
图5
比如普通单层封装可以制造单条容量8GB的内存,四层封装就可以让容量翻两番到32GB,八层封装则可以达到64GB的惊人容量。不过这对生产工艺要求很高,良品率在短时间内很难得到保证。因此很可能会大幅度提高内存的成本和销售价格,对DDR4的推广来说是非常不利的。
图6
除此之外,芯片厂商还可以设计一颗“Digital Switch数字开关”起到“桥”的作用(图6)。这颗“桥芯片”一边连接内存,一边连接内存控制器。它连接内存的一端,类似传统的多点分支总线的作用,将很多内存的容量扩展相加,实现高容量;连接内存控制器的一端则固定位宽。内存控制器不会在意连接的设备是什么,它只需要连接在总线上的设备达到要求即可。DDR4内存控制器会将“桥芯片”和多条内存看作一整个大容量的内存,从而实现正常运作。不过额外添加桥接芯片的方式也由自己的问题。额外桥接会导致性能损失、延迟变大,并且桥接芯片是否能完整保障每个内存的兼容性,在高速传输过程中是否影响传输性能,这都是未来研发的重点。