发信人: gdtyy (gdtyy), 信区: Embedded
标 题: DDR2 SDRAM 和嵌入式系统
发信站: 水木社区 (Mon Jun 25 23:34:35 2007), 站内
DDR2 SDRAM 和嵌入式系统
2006/04/08 asdjf@163.com
随着计算机技术的普及,越来越多的应用系统嵌入了微处理器芯片,这些隐藏的晶片给
系统带来了智能特性,计算机也变成了信息处理机。数字化的信息流入处理机,经过数据挖
掘、变换、提取、重新组织等获得对我们有价值的信息输出。信息吞吐量是信息处理机的关
键指标,而在计算机系统性能上与之对应的就是带宽。
影响系统性能的瓶颈按优先级顺序排列依次是:总线架构、IO接口、CPU、内存。现代
的系统一般以总线为中心,独立于CPU,各部分有自己的局部总线,总线通俗地说就是主板
芯片组。例如:CPU通过前端总线(FSB:Front Side Bus)和北桥连接,通过北桥访问DDR2内
存;IO接口是信息流入流出的咽喉要道,决定了信息吞吐量的大小。CPU是核心部件,但性
能的发挥依赖于总线架构和IO接口,随着频率提升到极限,多核成为发展趋势;虽然CPU采
用缓存技术(CACHE)、流水线技术提高了性能,但最根本的提升需要内存和前端总线速度匹
配,减少CPU等待时间。从早期的DRAM、FPM DRAM、EDO DRAM到现在的SDRAM、RDRAM、DDR1
、DDR2,DDR3,内存一路紧追,不断提高带宽。
北桥图
本文后面部分将专注于讨论内存技术。
我们希望内存速度快、容量大、成本低、功耗小。一直以来,DRAM架构成为了计算机存
储系统设计的工业标准。它的优点就是高密度,只要一个晶体管(开关管)和一个电容就可以
构成一个bit的存储单元(cell),这样我们就可以很方便地制造出大容量的内存。虽然封装
技术和制造工艺不断提高,但现在主流的内存还在沿用古老的DRAM架构。访问DRAM需要一定
的周期,多年来,各种不同的基于DRAM架构的改良都试图减少这个访问时间。然而,最终的
结果却是处理器等待内存数据的时间越来越多:-(
CELL图
DRAM(Dynamic Random-Access Memory动态随机访问存储器)
最初的DRAM存储单元如图所示,使用电容存储0/1数据,由于电容存在泄露电流,所以
电压不能长期保持,必须周期性地刷新(Refresh),而且这种结构在读写bit cell前,应将
bit line预充(precharge)到1/2*VCC电压。DRAM将地址空间组织成“行 * 列”的矩阵形式
,虽然增加了接口复杂性,但也带来了2个好处。(1)通过复用地址线,只增加RAS#和CAS#两
个控制信号线,行列地址就可以分别发送,有效减少了地址线引脚数目;(2)刷新操作只要
读行(ROW)即可,减少刷新次数。
FPM DRAM(Fast Page Mode DRAM:快页内存)
DRAM每次读写都要发送RAS#和CAS#控制信号,RAS#需要预充时间并且RAS#和数据之间有
固定的延迟。FPM DRAM在读写同一行的4字节数据(同一页数据)时只发送1次RAS#,因为要读
写的4个字节的行地址相同但列地址不同,所以它们不必为了得到一个相同的行地址而去做
重复的工作。这样的工作模式显然相对于普通的DRAM模式节省了很多时间,特别是节省了3
次RAS#预充电时间和3个tRAC时间,从而进一步提高了效率。
EDO DRAM(Extended Data Out DRAM:扩展数据输出DRAM)
FPM DRAM是在上一次的数据读取完毕才会进行下一个数据的读取,但EDO DRAM可以在输
出数据的同时进行下一个列地址选通。如此的设计使得EDO内存的性能比FPM的性能提高了大
约20%-40%。正因为EDO的速度比FPM快,所以很多EDO DRAM可以运行在66MHz的频率上,并且
一般标注为5-2-2-2。
SDRAM(Synchronous DRAM同步DRAM)
SDRAM采用了同步控制技术,cell单元的数据存取和时钟同步,只要知道了访问开始时
间和数据延迟时间,就可以不借助其他控制信号而准确定位数据。此时SDRAM可以采用流水
线技术进一步提高效率,比如增加bank概念,当一个bank预充电时另一个可以立即被访问,
减少等待,不过要增加多bank管理逻辑电路。RAS#和CAS#也不必保持很长时间,只要一个时
钟周期即可,出现位置也可以按需要调整。既然如此,这里的RAS#、CAS#、WE#等就和DRAM
里的对应控制信号涵义不一样了。这里的RAS#、CAS#、WE#、CS#等已经成为了SDRAM命令集
中操作码(OP)的1 bit。SDRAM内部有一个控制状态机,可以完成复杂的预充、刷新、命令处
理、读写等操作。还有一个模式寄存器,存放配置信息,如:CAS延迟、突发类型、突发长
度、运行方式等。SDRAM越来越像个协处理器了,竟然有自己的指令集、寄存器,上电后还
需要初始化,其实,SDRAM就是个小处理器,需要内存控制器才能操作它。用户只要配置好
参数,SDRAM控制器就会自动控制SDRAM完成预充、刷新、命令处理、读写等操作。
对于内存带宽的需求是无止境的,如何进一步提高带宽呢?
根据内存带宽计算公式:带宽 = 位宽 X 频率 ,可知,提高内存带宽有两种途径:
(1)增加位宽。4位、8位、16位、32位、64位,位宽越宽,带宽就越大,当采用双通道
技术,把两根64位内存条拼成一个128位接口界面的内存时,可以将带宽提高一倍。但是,
并行总线存在串扰,自身干扰污染电磁环境,布线困难,很难提高速度。因而现在正在经历
“串行化”革命,SATA、PCI Express、XDR、USB等技术的出现就是明证。因为串行总线速
度快、距离远、布线简单、灵活,所以以后的趋势倾向于串行化,增加位宽的措施显然违背
潮流。
(2)提高频率。由于cell单元使用电容保存数据,而电容需要充放电时间,理论上存在
频率上限。一般cell阵列做到的最高频率是200MHz(Hynix DDR550的cell频率做到了
275MHz),继续提高频率会导致良率下降成本上升,量产并不划算。而且频率高会造成发热
量大的问题。
综上,两种途径都已经达到了极限,除非技术创新,否则无法突破带宽瓶颈。
虽然内存发展出很多的类型,但是它们都是基于原始的DRAM单元,实际上,它是一个晶
体管和一个电容的结合体,很简单但也很高效。有很多尝试希望丢弃这种陈旧的以晶体管为
基础的存储方式,由此出现了一些新的存储技术,如MRAM(Magnetoresistive RAM),FRAM
(Ferroelectric RAM)等,但是它们都没有获得足够的成功。目前没有任何其它内存类型能
够提供一个和DRAM相似的,结合了容量,价格和速度的解决方案。
看来,我们给自己制造了一个死锁,内存单元无法提高频率,内存总线位宽也不能轻易
增加,而且仍然要使用原始的DRAM架构,我们该何去何从呢?
DDR2(Double Data Rate 2双倍数据速率二代)内存就是解决方案。它没有局限于带宽公
式,而是从结构上想办法,采用4 bit预取技术,使得内存突破了200MHz带宽限制。基本原
理如图所示,DDR2 400内存的输入时钟为200M(时钟频率),内部cell阵列上的时钟(核心频
率)为100M,但是每次同时访问4个bnak上的1 bit,这样数据速率就是400M,用200M时钟的
上升和下降沿一起传输数据,对外就可以达到400M的数据传输速率(数据传输频率)。我们可
以描绘一个明显的场景:数据流慢慢通过宽的管道,然后进入一个狭窄的管道,但是流动的
速度更快。
4 bit预取图
DDR2采用这个“诀窍”使得数据传输频率提高的同时,核心频率反而降低了。也就是说
引入DDR2,可以让内存频率提升回到一个新的起跑线。依此类推,采用8 bit预取就可以实
现DDR3,而DDR2就是采用4 bit预取(DDR为2bit预取),SDRAM可以算是1 bit预取。
带宽大是不是就意味着系统性能高呢?当然不是,除了速度之外,这里还有一个重要的
参数是延迟(Latency潜伏期),存储单元不会一直处于可用状态,它们要进行刷新操作。而
且,即使存储单元可用,也不可能立即得到数据:这里还有其它类型的延迟,如设置行和列
的地址,这此延迟都是不能避免的,它们由DRAM单元的本质所决定。
让我们看看会有那些延迟,例如内存阵列工作的时钟组合是2-2-2,如果内存阵列在所
有的方案中以相同的频率工作,那么所有的模组都具有同样的延迟(我是说PC100,DDR200,
DDR2-400)。它们仅仅是带宽的区别。顺便提一下,2-2-2组合的含义是:CAS延迟,RAS到
CAS的延迟和RAS预充电时间。第一个数字是取得列地址的延迟时间,第二个数字是行和列地
址之间的延迟,第三个数字是存储单元充电时间,预充电实际上是对行数据进行读操作。
但实际上,存储单元不会工作在相同的频率上,举例来说PC133就是一个使用非常普遍
的SDRAM,它的DRAM单元工作在133MHz上。因此,DDR200虽然有着比PC133更高的带宽,但是
它的相应延迟却更慢(内部阵列的工作频率仅100MHz),PC133的存储单元的频率要比DDR200
存储单元的频率高33%。结果就是,DDR266才具有和PC133一样的延迟上的优势。
今天我们也看到类似的情形,DDR200和DDR2-400具有相同的延迟,而后者具有高一倍的
带宽。实际上,DDR2-400和DDR400具有相同的带宽,它们都是3.2GB/s,但是,DDR400的存
储阵列工作频率是200MHz,而DDR2-400的存储阵列工作频率是100MHz,也就是说DDR2-400的
延迟要高于DDR400。
让我们来比较一下数字,以DDR400为例,我们通常设置2或者2.5个时钟延迟,有时是3
。也就是10到15纳秒,对于DDR2-400,来计算一下它的延迟:核心工作在100MHz,具有2个
时钟延迟,它意味着20ns的延迟,接口部分占用4个时钟延迟(不过接口工作的频率更高),
结果就是DDR2模组的延迟将会是4-4-4个时钟周期,考虑到这里使用很低的核心频率,我们
希望看到未来DDR2-400具有3-3-3的特征,但是即使如此,DDR2-400也是输给DDR400的。
情况看上去有些荒谬,DDR2虽然能提供更大的带宽,具有潜在的优势,但是,DDR2初期
的产品在性能上甚至落后于DDR。我们都知道,一样产品需要有其优势才能吸引购买者,那
DDR2还有那些优势呢。
除了数据传输速率快之外,DDR2最吸引人的地方是发热量低(即功耗低,因为1.8v电压低
,核心频率低)、信号更清晰稳定。这样,可以构成更大的内存阵列,同时减少耗电。实际
上早期的DDR2 400在速度上和DDR400比没有什么优势,但是它的低工作电压和更好的驱动信
号可以保证工作的稳定性,DDR2的ODT和OCD使其传输信号更加清晰、稳定。这样系统可以同
时使用更多的内存模组,这对于要求海量内存的服务器很关键。随着CPU前端总线速度的提
升,如INTEL在下一代Prescott中使用FSB 1066MHz时,需要使用DDR533的内存,这时候就应
该是DDR2发挥作用了。DDR2另一个关键应用领域是在笔记本电脑中,如今内存已经成为了笔
记本电脑中的耗电大户,而且也造成很多热量。笔记本电脑的用户都清楚,笔记本中发热量
最大的三个部位是,CPU、硬盘和内存的安装位置。使用了DDR2内存之后,无论是发热量还
是功耗都会大幅降低。
DDR2采用了多项新技术提高性能,如:FBGA封装、ODT、OCD、POSTED CAS,下面分别介
绍:
FBGA封装
当频率高于200MHz时,过长的管脚会产生很高的阻抗和寄生电容,这会影响内存的稳定
性和频率提升的难度。BGA封装(Ball Grid Array球栅阵列)可以适应更高的工作频率,它具
有很低的阻抗和寄生电容,并且具有更小的几何尺寸,允许更有效的散热。当然成本也高啦
。
附:封装小知识
==============================================
BGA球栅阵列封装
随着集成电路技术的发展,对集成电路的封装要求更加严格。这是因为封装技术关系到产品
的功能性,当IC的频率超过100MHz时,传统封装方式可能会产生所谓的“CrossTalk”现象
,而且当IC的管脚数大于208 Pin时,传统的封装方式有其困难度。因此,除使用QFP封装方
式外,现今大多数的高脚数芯片(如图形芯片与芯片组等)皆转而使用BGA(Ball Grid
Array Package)封装技术。BGA一出现便成为CPU、主板上南/北桥芯片等高密度、高性能、
多引脚封装的最佳选择。
BGA封装技术又可详分为五大类:
1.PBGA(Plasric BGA)基板:一般为2-4层有机材料构成的多层板。Intel系列CPU中,
Pentium II、III、IV处理器均采用这种封装形式。
2.CBGA(CeramicBGA)基板:即陶瓷基板,芯片与基板间的电气连接通常采用倒装芯片(
FlipChip,简称FC)的安装方式。Intel系列CPU中,Pentium I、II、Pentium Pro处理器均
采用过这种封装形式。
3.FCBGA(FilpChipBGA)基板:硬质多层基板。
4.TBGA(TapeBGA)基板:基板为带状软质的1-2层PCB电路板。
5.CDPBGA(Carity Down PBGA)基板:指封装中央有方型低陷的芯片区(又称空腔区)。
BGA封装具有以下特点:
1.I/O引脚数虽然增多,但引脚之间的距离远大于QFP封装方式,提高了成品率。
2.虽然BGA的功耗增加,但由于采用的是可控塌陷芯片法焊接,从而可以改善电热性能。
3.信号传输延迟小,适应频率大大提高。
4.组装可用共面焊接,可靠性大大提高。
BGA封装方式经过十多年的发展已经进入实用化阶段。1987年,***西铁城(Citizen)公司
开始着手研制塑封球栅面阵列封装的芯片(即BGA)。而后,摩托罗拉、康柏等公司也随即
加入到开发BGA的行列。1993年,摩托罗拉率先将BGA应用于移动电话。同年,康柏公司也在
工作站、PC电脑上加以应用。直到五六年前,Intel公司在电脑CPU中(即奔腾II、奔腾III
、奔腾IV等),以及芯片组(如i850)中开始使用BGA,这对BGA应用领域扩展发挥了推波助
澜的作用。目前,BGA已成为极其热门的IC封装技术,其全球市场规模在2000年为12亿块,
预计2005年市场需求将比2000年有70%以上幅度的增长。
CSP芯片尺寸封装
随着全球电子产品个性化、轻巧化的需求蔚为风潮,封装技术已进步到CSP(Chip Size
Package)。它减小了芯片封装外形的尺寸,做到裸芯片尺寸有多大,封装尺寸就有多大。即
封装后的IC尺寸边长不大于芯片的1.2倍,IC面积只比晶粒(Die)大不超过1.4倍。
CSP封装又可分为四类:
1.Lead Frame Type(传统导线架形式),代表厂商有富士通、日立、Rohm、高士达(
Goldstar)等等。
2.Rigid Interposer Type(硬质内插板型),代表厂商有摩托罗拉、索尼、东芝、松下等等
。
3.Flexible Interposer Type(软质内插板型),其中最有名的是Tessera公司的microBGA,
CTS的sim-BGA也采用相同的原理。其他代表厂商包括通用电气(GE)和NEC。
4.Wafer Level Package(晶圆尺寸封装):有别于传统的单一芯片封装方式,WLCSP是将整片
晶圆切割为一颗颗的单一芯片,它号称是封装技术的未来主流,已投入研发的厂商包括FCT
、Aptos、卡西欧、EPIC、富士通、三菱电子等。
CSP封装具有以下特点:
1.满足了芯片I/O引脚不断增加的需要。
2.芯片面积与封装面积之间的比值很小。
3.极大地缩短延迟时间。
CSP封装适用于脚数少的IC,如内存条和便携电子产品。未来则将大量应用在信息家电(IA
)、数字电视(DTV)、电子书(E-Book)、无线网络WLAN/GigabitEthemet、ADSL/手机
芯片、蓝芽(Bluetooth)等新兴产品中。
==============================================
ODT(On Die Terminator内建终结电阻)
高频信号在信号线的终点并不会消失,而是反射回来,和有用信号叠加在一起,使信号
失真。通过在电路终点使用终结电阻可以减少信号反射,保证信号的完整性。阻值较大线路
的信噪比较高但是信号反射较为严重,阻值小的可以减少信号反射但是会造成信噪比下降。
如果在主板上提供终结电阻,由于不同的内存模组对终结电阻的要求是不一样的,终结电阻
的大小决定了数据线的信噪比和反射率,这个阻值太大或者太小都不好,因此主板上的终结
电阻并不能非常好的匹配内存模组(主板挑内存现象),还会在一定程度上影响信号品质。
DDR2内建了终结电阻器,在DRAM颗粒工作时把终结电阻器关掉,而对于不工作的DRAM颗粒则
打开终结电阻,减少信号的反射。ODT至少为DDR2带来了两个好处:一个是去掉了主板上的
终结电阻器使主板的成本降低,也使PCB板的设计更加容易;第二个好处是终结电阻器可以
和内存颗粒的"特性"相符,使DRAM处于最佳状态。
ODT图
OCD(Off-Chip Driver离线驱动调整)
DDR2通过OCD校准可以提高信号的完整性。在OCD校准中,通过I/O驱动电阻设置来调整
电压,等效于使其上拉(pull-up)/下拉(pull-down)的电阻值相等。也就是pull-up =
pull-down。使用OCD通过减少DQ-DQS的倾斜来提高信号的完整性;通过控制电压来提高信号
品质。
OCD图
posted CAS
PostCAS,它是为了提高DDR2内存的利用效率而设定的。在PostCAS操作中,CAS信号(读
写/命令)能够被插到RAS信号后面的一个时钟周期,CAS命令可以在附加延迟(Additive
Latency)后面保持有效。原来的tRCD(RAS到CAS的延迟)被AL(Additive Latency)所取代,
AL可以在0,1,2,3,4中进行设置。从上图的时序可以看出,PostCAS和Additive
Latency的好处。由于CAS信号放在了RAS信号后面一个时钟周期,因此ACT和CAS信号永远也
不会产生碰撞冲突。
在上图正常的操作中,此时的各项内存参数为:tRRD=2,tRCD=4,CL=4,AL=0,
BL=4(BL就是突发数据长度,Burst Length)。我们看到tRRD(RAS到RAS的延迟)为两个时钟
周期,tRCD(RAS到CAS的延迟)是四个时钟周期,因此在第四个时钟周期上面ACT(段激活)
和CAS信号产生了碰撞,ACT向后移动一个时钟周期,因此大家可以看到后面的数据传输中间
出现了一个时钟周期的BUBBLE。
再来看看PostCAS的操作,此时的各项内存参数是:tRRD=2,tRCD=4,CL=4,AL=3,
BL=4。RAS被设在ACT信号后的一个时钟周期上,因此CAS和ACT不会产生冲突,tRCD被AL所取
代(实际上大家可以想象到tRCD并没有减小,只是在概念上的转变,CAS向后一个时钟周期,
但是AL要比tRCD短,通过调整可以取消信号命令的碰撞),在附加延迟过程中DRAM保持读命
令。由于这种设计,ACT和CAS不会再有碰撞,内存读取时序中也没有BUBBLE出现。
使用PostCAS加Additive Latency会带来三个好处:
1、可以很容易的取消掉命令总线上的Collision(碰撞)现象;
2、提高了命令和数据总线的效率;
3、没有了Bubble,可以提高实际的内存带宽。
PostCAS图
DDR I 与 DDR II 对比表
---------------------------------------------------------------------
DDR I DDR II
---------------------------------------------------------------------
内核频率 100/133/166/200MHz 100/133/166MHz
时钟频率 100/133/166/200MHz 200/266/333MHz
数据传输率 200/266/333/400MBPS 400/533/667MBPS
工作电压 2.5V 1.8V
针脚数 184Pin 200Pin、220Pin、240Pin
封装技术 TSOP-II/CSP CSP(FBGA)封装
最大功率 418毫瓦 318毫瓦
预取设计 2Bit 4Bit
突发长度 2/4/8 4/8
数据选通 DQS 差分DQS/DQS#
L-BANK数量 最多4个 最多8个
CL值 1.5、2、2.5、3 3、4、5
AL值 无 0、1、2、3、4
WL值 1T RL - 1 (RL = AL + CL)
接口标准 SSTL_2 SSTL_18
系统最高P-BANK数量 8 4
新增特性 - OCD、ODT、POSTED CAS
---------------------------------------------------------------------
综上所述,内存一直朝着高带宽、大容量、低功耗、低成本的方向发展,但是基础仍然
是古老的DRAM架构,各种改良创新,工艺、封装技术的进步,为其注入了勃勃生机。
预计,内存电压将从5v,3.3v(SDRAM),2.5v(DDR1),1.8v(DDR2),1.5v(DDR3)一路走
低。为迎合市场口味,DDR1将以256MB容量导入市场,DDR2将以110nm制程,512MB容量切入
市场,后期发展90nm(1G-2G),65nm(4G),DDR3将以70nm制程1GB容量进入。由于内存至少要
维持2-3年主流地位才能收回投资,因此尽管JEDEC(电子设备工程联合委员会)规范要求
DDR2到800M为止,但厂商可能将规格延伸至1066M,以延长DDR2主流地位。这样,DDR2将有
400、533、667和高端的800、1066几个规格可选。DDR3的范围为800-1600M。预计2006年
DDR2成为主流,2009年被DDR3取代主流地位。
虽然,目前嵌入式系统并不迫切需要提高内存速度,但现在的趋势是DDR2将取代SDRAM
成为主流,SDRAM的产量将逐步减少并淡出市场,考虑一下DDR2总不会有什么坏处。后面会
继续讨论DDR2控制器ip设计、DDR2布线技巧、源同步时钟模式、内存颗粒和内存条。
参考资料
《High speed Digital Design》 Johnson & Graham
http://www.xilinx-china.com/products/design_resources/mem_corner/index.htm
http://www.fpga.com.cn/freeip.htm
hynix DDR2数据手册
网上文章,搜“DDR”
--
※ 来源:·水木社区 http://newsmth.net·[FROM: 61.149.56.*]