对于众多嵌入式应用——特别是那些需要更大容量存储,要求设计上要具有灵活性、设计中可选用多种存储器,并且更长使用寿命的应用来说,DRAM存储器模组是一种极佳的选择。本文对如何选择最佳的存储器模组及所考虑的协调方案进行了介绍。
组件还是模组?
模组很少在仅需要一个或两个DRAM组件的嵌入式应用中采用。通常,在仅需要8到64MB存储器的系统应用中应考虑采用组件;128MB以上的存储器则应考虑使用模组。例如,最小的DDR1 组件为128Mb 或16MB (详见表1)。
表1:组件密度与内存技术的关系。
之所以采用模组有许多理由。某些设计可有多种变化形式,要求采用不同的内存容量。 例如,一块主板在设计上可能有两种变化形式——一种为高性能的设计,另一种为低成本低性能的设计。高性能的设计要求采用512MB存储器,而低成本的设计则采用256MB的存储器。这在设计上通过采用可适应多种模组密度的一个模组和连接器即可实现。
DRAM行业经常提供若干种不同的模组执行同样或类似的功能。为提高设计灵活性,增加设计中的可选产品,设计人员应能在设计中灵活采用多种模组类型。一个实际的例子便是设计中采用不同的DRAM封装类型。某些DRAM模组或采用TSOP封装或采用FBGA DRAM封装。当在设计中采用某一模组类型时,为了能尽可能地使其设计在产品选用上具有灵活性,设计人员的设计应既能适应基于TSOP封装的模组,同时还能适应基于FBGA封装的模组。
表2:基本 DRAM 模组类型。
另一个例子类似DDR1 512MB不带缓存的DIMM模组——两个模组内存容量相同,但使用不同的组件。该模组有两种类型——一种为8芯片采用512Mb组件,另一种类型为16芯片采用256Mb组件。同样,设计人员如果在设计上能够适应这两种模组则可增加在紧缺的市场中购买到其设计中所选用模组的可能性。
这种做法的最后一个优点是可增加设计产品的使用寿命。许多嵌入式设计解决方案的产品或支持寿命超过五年。如果这种解决方案中所采用的一个模组不再被普遍采用,则设计人员可使用不同的模组,而不必重新设计母板,因此可显著延长项目的寿命。
选择DRAM
在选择具体的DRAM模组之前,设计人员必须确定采用哪种存储器技术:单倍数据速率(SDR)、双倍数据速率( DDR ),还是双倍数据速率2 ( DDR2 )等。选择通常受到存储器控制器、带宽、项目寿命、成本和DRAM技术的期望使用寿命等因素的限制。
图1:各种DRAM技术的最大带宽。
图1中显示了设计中普遍采用的各种DRAM技术的带宽。高性能的设计方案通常局限于采用能够满足性能要求的DDR1或DDR2技术。
供选择的模组类型
市场上有一些大批量生产的基本DRAM模组类型。由于每种存储器类型在市场上都受到数量不同的大批量生产支持(见表格2),因此这些模组是设计中极好的选择。如果可能的话,嵌入式设计人员可利用其大批量应用的优势,使用这些符合JEDEC标准和行业标准的存储器模组。
图2:DIMM 模组及其固定在内存插槽上实例。
DIMM:双重嵌入式内存模组或称DIMM是可设计中可采用的生产量最大的内存模组。这些模组主要应用于生产量最大的那部分计算机——桌面计算机中。这些模组符合JEDEC和工业标准要求,并且市场供应稳定。
有趣的是我们注意到虽然DIMM很早之前就已有了,但这种模组的基本宽度在此期间却没有发生改变(120.65mm)。这种大小的宽度或模组尺寸规格极为普遍,它较好地平衡了模组尺寸及优化存储器密度之间存在的矛盾。
由于不同的存储器技术在功能上彼此之间相互不兼容,因此应用中不混合使用不同的模组十分重要。幸运的是,在模组设计中通过在模组内放入凹口却可以在应用中混合使用不同的模组。 只有DDR2模组能插入DDR2内存槽(图2)。
当设计不受空间严格限制并且一个存储信道仅需要1或2个模组时,选择DIMM较为理想。
SODIMM:标准的DIMM在桌面计算机应用经常使用,但对笔记本电脑或者其它移动计算机应用来说体积太大。这些应用要求采用尺寸最小的内存模组,而不需要使用最大容量的存储器。SODIMM的模组面积减少为几乎为DIMM一半大小,可以满足这种要求。
SODIMM内存模组大多采用x16组件,而DIMM模组则经常采用x8组件。这两种模组具有相同的64位数据总线带宽。 因此,DIMM的内存存取相当于开启8个内存组件,而SODIMM的内存存取则相当于开启4个组件。在PC应用中,当大多数应用激活DRAM或使之处于工作模式下不超过周期值的3%到5%时,通常不会明显降低能耗。不管是一般应用或末端应用,SODIMM和DIMM在空闲模式下的能耗不存在什么不同。
表3:各类模组优缺点比较。
然而,嵌入式应用可能更为经常地访问存储器,并且同基于x8组件模组相比,基于x16组件的模组的功率减低更为显著。在信息包传送应用中可能需要使用DRAM来存储信息包。如果应用中频繁进行包的读写操作,则大部分功率处于激活模式。在这种情况下,使用基于x16模组的能耗将明显低于基于x8模组。同样,在图形应用中对DRAM几乎总是进行读操作,采用同样的方式更新监视器是有益的。在某些应用为了减低能耗,即使不受空间限制也可能会考虑采用SoDIMM。利用美光科技公司提供的功率计算表可以计算出实际的能耗,该工作表可在我们的网站http:// / systemcalc上得到。
带寄存器的DIMM:服务器对存储器的容量要求最高。由于需要大量的模组,因此在这种应用中要求控制和地址线带缓冲器(或寄存器)。通过这种方法可缓冲应用中的大量内存存取负载。
在这些应用中存储器密度比速度更为重要。 因此,同桌面计算机相比,最高容量级的服务器应用中操作会相对较慢。 例如,当桌面平台应用中需要DDR400时,高容量服务器可能仅仅需要使用DDR333或DDR266技术。由于存储器密度的重要性,因此一般采用x4组件存储器。这意味着在激活模式下任何增加能耗的存储器存取都需要开启动16个组件。
为了获得较高的存储器密度,有若干种方法可以使用。 一种方法是使用封装体积较小的组件以增加密度。利用DDR技术,FBGA封装能在高密度模组(超过TSOP )上使用。减小封装体积,模组上就可以安装更多的存储器组件。第二种方法是使用堆叠组件,用于基于TSOP和FBGA封装的模组。
其它模组的优点 --- SPD:原来所采用的存储器技术(EDO或FPM DRAM,或焊接组件)中所存在的一个问题就是计算机无法方便地确定其主板上所用的存储器容量大小。
为了使设计简单,所有现代DRAM模组都采用串行存在侦测(SPD)或串行EEPROM。因此无需猜测插座中用的哪一个模组。每一模组现在都将有关的信息保存在EEPROM中。这些信息包括如下重要内容:
- 行地址位及列地址位带宽
- 模组 (如, 数据总线 = 64位)
- 存取时间
- 电压
DDR2所采用的新型内存模组
在处理DDR2存储器时,设计人员应该知道现在的内存模组类型有了一些变化。这些变化包括MiniDIMM、MicroDIMM及FBDIMM技术的采用。
MicroDIMM:DDR是最先采用MicroDIMM模组尺寸的DRAM技术。DDR MicroDIMM技术的优势在于同SODIMM技术相比所占用的主板面积减少了50%,两者的关系为 13.5cm2比25.3cm2。但MicroDIMM的劣势在于很少有供应商提供内存插槽支持。因此,极少在设计中采用DDR DRAM MicroDIMMs技术,该技术产品的生产量也因此受到限制。
DDR2 MicroDIMM模组尺寸不太可能被普遍采用。JEDEC标准化团体对此模组规格仍在讨论中;另外,到底有多少内存模组插座制造商支持这种技术也是一个未知数。目前,据预计,这种内存模组规格几乎不受业内支持,美光科技公司对此技术也不予以支持。因此,在采用DDR2 MicroDIMM技术进行设计之前,美光科技公司建议同我们销售部门或应用工程师取得联系,获取有关支持此类模组类型方面的最新信息。
MiniDIMM: DDR1模组产品中有一种属SODIMM类型。这种类型的内存模组支持x64和x72配置。特别是在同一块PCB印刷板上可采用 x64和x72两种组件配置的SODIMM内存。两者 唯一的区别是x72型内存上带有一个DRAM组件,用于奇偶性/ECC校验。
对于DDR2,规定SODIMM只能采用x64配置。其原因是为了仅针对一种配置优化SODIMM信号的完整性,而不是为了在一个模组上支持两种配置。带寄存器的DDR2 MiniDIMM仅支持x72配置。表4中显示了SODIMM和MiniDIMM内存模组在外形尺寸上的差别。作为比较,表中还列出了采用x72组件的规则 DIMM所占用的主板面积。
表4:DDR2 SODIMM与MiniDIMM区别比较。
FBDIMM:由于RDIMM在每信道存储器模组数量方面存在局限,因此未来的几年中在服务器应用领域这种存储器有望被完全缓冲的DIMM或FBDIMM所完全取代。频率和存取负载方面所存在的限制,使得一般情况下服务器上只能配置两个(有时是四个)RDIMM存储器插座。由于服务器要求配置的存储器在数量十分多,因此就需要提供一种能够支持大量存储器模组(30到40个)的存储器解决方案。只有采用FBDIMM技术才能满足这种存储器密度的要求。
这种内存技术的特点包括,可明显减少每存储信道的针脚数量,并在技术上采用了先进的存储缓冲芯片技术(AMB)及chipkill内存纠错技术等等。 不久就可在美光科技公司的网站上看到介绍这一新型技术的技术札记和技术介绍。
针对长使用寿命和产品供应情况进行设计
前面提到,许多嵌入式设计方案所支持的产品寿命远远超过大多数消费类PC机产品的生命周期。要求长使用寿命的设计方案需适合于多种模组类型,以避免今后的重新设计。因此,在设计中需考虑采用多种DRAM组件密度(如,基于128Mb的模组密度、基于256Mb的模组密度以及基于256Mb的模组密度,等等)。 下面介绍的是一些设计中应该考虑的问题。
不同的刷新速率(存储器中仅采用SDR模组):对于SDR模组,设计人员在设计中必须考虑其设计方案能够适应组件密度为256Mb或以上的存储器刷新率变化。表5说明了所存在的差异。如果设计中采用了密度为128Mb或256Mb的存储器组件,则必须考虑所存在的这种存储器刷新率方面的差异。
表5:SDR组件刷新率。
支持不同的DRAM组件配置(如x8和x16):有时在同样的设计中会选用一种以上的模组类型。如512MB、x64 DDR SODIMM有7种版本。有人在设计中采用8个512Mb x16组件,其他的人在设计中则可能会采用16个256Mb x8组件。因此,为了能够使用这两种模组,存储控制器在设计上应能适应x8或x16组件,以及单排或双排模组配置。
地址针脚(所有技术):DRAM组件的地址针脚数不同。例如,当在 128MB x8 SDR DRAM及256MB之间进行选择时,DRAM另外增加了一个行地址 (A12)。
存储单元尺寸(DDR2):任何DRAM的内部都有一些存储单元。如,DDR DRAM 有4个内部存储单元。这些存储单元中的每一个都可以有一个开启行。 采用DDR内存技术,所有DRAM存储器内部都有4个存储单元。但采用 DDR2技术,小型DRAM存储器有4个存储单元,而大型密度的存储器内部则有8个存储单元。
小结:嵌入式设计人员在决定其设计中是否采用DRAM时需十分仔细。首先,他们必须考虑他们在设计中是否使用了焊接存储器或存储器模组。如果是,则设计人员在设计中会遇到一些其他方面的问题需要其做出决定加以解决。通过周到细致的考虑,设计人员能够选用一种能够满足其设计性能、功率、尺寸大小、价格、可获得性及使用寿命方面标准要求的设计解决方案。
作者:拉里·弗伦奇(Larry French)
系统存储器工作组现场应用工程师
美光科技(Micron Technology)有限公司