DDR SDRAM:SoC低成本高复杂度片外存储器解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DDR SDRAM:SoC低成本高复杂度片外存储器解决方案
几乎所有人都知道,用于桌面计算机和便携计算机的DRAM存储器产品与本白皮书所讨论的片外DRAM完全相同。
事实上,全部DRAM产量中的约90%用在计算机上,其它10%当作了系统级芯片(SoC)的片外存储器来使用,这就象将方木钉打入圆孔一样地不适合。
随着要求配备与外部存储器接口的SoC设计方案的数量增加,现化化的DDRn SDRAM存储器接口(DDR、DDR2、DDR3)提供了可靠的供货能力、高存储容量、低成本和合理的通道带宽,但却存在使用不便的接口以及复杂控制器方面的问题。
面对内部DRAM阵列所导致的独特指令结构,且要求在设计方案内加入代表当前先进水平的DRAM接口时,SoC设计人员就会将这个任务视为畏途。
本白皮书对SDRAM的历史进行了简短介绍,并探讨了实施DDRn控制器和PHY的设计考虑要素,并描述了如何采用完整的IP解决方案来帮助加快产品上市周期和降低成本。
SDRAM历史简介
尽管存储容量上也发生了令人惊奇的进步,但商品DRAM在过去15年来的演化让接口峰值带宽以远大于2000%的系数增加(请参见图1)。
虽然任何人都不能违背物理学的基本规律而对基本随机存取操作的延迟现象做出类似程度的提升,但通过增加引脚带宽以及在脉冲猝发下访问数据的能力,能够减少一部分存储器相对于典型处理器对于更高速存储器带宽永无止境的需求之间的差距。
在这段发展期内,被称为JC42的美国电子器件工程联合委员会(JEDEC)一直是商品DRAM的行业标准的制订机构。
在1993年下半年,JEDEC发布了最初的SDRAM标准,这个标准最终变成了后来称为“PC100 SDRAM”的标准。
通过将SDRAM的时序参数推到实际极限时,PC133 SDRAM出现了,它将通道频率增加到了133MHz,数据速率增加到了133Mbps。
图1 峰值带宽与DRAM类型对比
Peak…峰值带宽
在20世纪90年代末,JEDEC制订了一份内容扎实的DRAM发展路线图。
从1996年起至2000年6月为止,JEDEC制订了DDR(双倍数据速率)SDRAM规格(JESD79)。
为了为那些要求更高带宽的系统提供明显性能提升,DDR SDRAM在PC100和PC133 SDRAM上做出了更显著的改进,包括双边沿时钟触发(a.k.a.双倍数据速率或DDR时钟触发)、源同步双向脉冲(strobe)、SSTL_2低电压信号,并结合了内部延迟锁定环(DLL)。
随后在2003年之前,(JESD79-2)制订了DDR2 SDRAM规格,提供了高达800Mb/s的引脚带宽,是DDR SDRAM的2倍。
在DDR和DDR2 SDRAM标准制订过程中,工程师们的焦点更多地放在整体的系统时序预算上以及一些可以用于解决限制性能关键性问题的领域上。
DDR时钟信号发生方式是一个广为认可的可提高带宽的概念,并同时避免采用更高频率的时钟(虽然这个概念确实将更多重点放在对时钟信号占空比的要求上)。
也许,DDR和DDR2 SDRAM标准中最有价值的要素是采纳了源同步时钟信号以及加入了一个片内DLL(或同等电路)来消除用于满足存取时间规格的时钟插入延迟。
2007年6月,JEDEC分布了DDR3 SDRAM标准(JESD79-3)。
而提供高达1600Mbps的引脚带宽要求对DDR2标准做出多项新的改进,包括精密输出驱动电路以及通过一个外部校准电阻器提供的ODT阻抗控制方式,还有在控制器内采用写均衡以便配合DIMM所使用的“飞越式(fly by)”布线方式。
此外,DDR3标准包含了一个内部多用途寄存器,这个寄存器让DRAM能够发送标准数据模式至存储器控制器,这些模式将用于系统校准用途,例如精密地将数据选通信号的发生时刻调整到数据眼的中心。
保持DRAM的简洁性,将复杂部分放在控制器内
随着同步DRAM标准化工作的完成,有多项关键性的决定最终导致了DDRn SDRAM存储器控制器设计方案的复杂化。
其中第一个决定涉及在DRAM内使用片内延迟锁定环(DLL)。
DLL或同等电路事实上于90年代末期在一些单数据速率的SDRAM设计中首次出现,目的在于消除时钟引脚与数据输出缓存器之间的部分时钟插入延迟现象。
运用DLL电路来减少时钟规格(tAC)所规定的数据存取时间能够显著地改善时序预算情况。
但是,绝大多数的DRAM供货商都能够生产出性能足够优秀的部件,从而无需使用DLL,因此,那些原来依赖DLL的供货商也迅速跟上了这个趋势,修改了自己的设计,设法在没有DLL的情况下满足要求。
在制订DDR SDRAM标准时,因为在DDR SDRAM所要求使用的时钟频率下,时钟插入延迟属于不可克服的问题,所以要求在设计时采用DLL电路。
而在DDR SDRAM 内加入DLL或等效电路后,就要求在输出数据眼边沿与输入时钟边沿之间确定一个合理的技术规格,所以JEDEC做出了一个合理的选择,指定将输出数据信号的边沿与时钟边沿对齐。
这个规定导致,在例如DIMM这样从4个或8个独立DRAM中生成64位数据字的芯片中,可以获得最为粘着的时序,让每个DRAM均按照相同的时钟生成数据。
为了方便大带宽下的运行,DDRn SDRAM采用了源同步设计方案,让正在执行数据发送的同一个SDRAM可生成1个或多个数据选通信号(DQS)。
采用此体系的优点在于,数据信号与DQS选通信号具有类似的负荷特性和物理特性,而且DDRn SDRAM可以很容易地驱动DQS选通信号,并且与数据引脚之间也具有最低的相对畸变。
与原来使用一个负荷率很重的主时钟信号来采集所有地址、数据和共用信息的SDRAM对比起来,在存储器控制器处采用DQS选通信号对读取数据进行采样可以很方便地获得高得多的带宽。
但是,采用数据选通信号要求做出另一项关键性的决定,而这项决定对存储器控制器产生着影响,即,将数据选通信号的边沿放置在数据眼的哪一个相对位置上。
在理想条件下,最合理的对准方式是将数据选通信号边沿精确地放置在数据眼的中间,从而可以轻松方便地在控制器处采集到数据。
但是,真实世界导致SDRAM所采用DLL具有相当大的复杂度,因为DLL原先只是用于消除时钟插入延迟现象的用途。
要将数据选通脉冲边沿与DDR数据眼的中心对准就要求SDRAM DLL将选通脉冲边沿完美地移位90度。
从逻辑上讲,由于数量较多的存储器部件在典型情况下与同一存储器控制器进行接口时,所以将成本负担添加到存储器部件上显得很不合理。
因此,所做出的决定是将读取数据眼的边沿与数据选通脉冲的边沿对准,这样就让DDRn SDRAM的应用更加容易(也更加便宜,不过让控制器更加复杂化)。
将数据选通脉冲移位到读取数据眼正中以便正确采样数据的负担便落到了控制器的肩头。
相反地,对于发送到DDRn SDRAM的写入数据,所做出的决定是要求数据选通脉冲对中于写入数据眼的中心,以方便SDRAM对数据进行采样。
再一次,这个决定要求DDRn控制器加入复杂的电路,这些电路是通过精确调整时序以放置数据选通脉冲边沿位置时所必需的。
以下为图片译文:
控制器?? 特意保持了SDRAM的简洁性
?? 将复杂度加入到存储器控制器中
指令(SDR)控制器DLL生成存储器通道时钟并精密地调整SDR地址和指令边沿的时序(寻址总线会承受很重的负荷)
写入至DRAM(DDR)控制器发送“中心对准的”DQS选通脉冲以及DQ脉冲,控制器DLL电路调节DQ和DM边沿的时序,将DQS对准到数据眼的中心并且让DQS与CK 对准
从DRAM读取(DDR)SDRAM发送“边沿对准的”DQS脉冲以及DQ,控制器DLL 用于移动DQS边沿至读取数据眼的中央。
图2. 用于DDRn SDRAM读取和写入操作的DQS与DQ间的关系
最后一项对存储器控制器设计有影响的关键性决定与数据选通脉冲本身有关,即,数据选通脉冲本身应当采用单向(采用1个选通信号进行读取操作,再采用另1个选通信号进行写入操作)还是双向(采用同1个选通信号,通过反相来处理后,用于读取和写入操作)。
最终,为了保留引脚数量以及出于其它原因,JEDEC采用了双向数据选通脉冲作为标准。
这项决定导致数据选通脉冲并不是可以自由运行的时钟信号,而是变成,在输出数据时,由DDRn SDRAM进行驱动;而在有写入数据提交到DDRn SDRAM时必须由存储器控制器进行驱动。
作为一种后见之明,从总成本的角度来看,这些关键性的决定对于典型的PC机存储器子系统是正确的,这样能够将存在复杂部件的芯片数量控制在最少。
但是,结果是这些关键性决策将全部沉重的负担留给了存储器控制器。
对于向DDRn SDRAM的写入操作来说,存储器控制器必须将数据选通脉冲放置到数据眼的中心。
对于从DDRn SDRAM读取的操作来说,存储器控制器必须移位数据选通脉冲至到数据眼的中心以便正确采集数据。
在此之外,数据选通脉冲并不是自由运行的定时信号,从而导致在存储器控制器内要求配备主/从DLL或等同电路。
在典型情况下,存储器控制器采用一个主时序电路来与自由运行的定时系统时钟保持锁定,并采用一个从时序电路来执行非连续性数据选通脉冲的移位操作,例如与DDR数据眼对中的数据选通脉冲边沿。
DDR2和DDR3 SDRAM提供了一种将选通信号变成差分信号的选择方案,从而导致了数据选通脉冲功能的进一步复杂化。
本意是为了能够跟踪单次结束型的数据信号,差分型数据选通脉冲加入了一个差分逻辑阈值,使得系统对于转换速率的更加灵敏。
这样的情况已经通过采用根据信号转换速率建立的大量降速率表而得到了很大程度的纠正。
如果存储器控制器或SDRAM都没有驱动数据,则各双向数据选通脉冲引脚处于三态状态下(无驱动,这些引脚被拉至终接电压电位VTT)。
为了防止处于三态下的DQS上的噪音生成假DQS边沿信号,数据选通脉冲输入缓存器在典型情况下会在存储器控制器得到启用,使得DQS只能在读取周期内处于活动状态下。
DQS输入缓存器能够在存储器控制器实施一项方案,这项方案能够对各类不同延迟现象和不确定现象做出补偿,例如I/O延迟、印刷电路板延迟、CAS滞后、附加CAS滞后,以及一般性的时序不确定现象。
在典型情况下,在启动时会执行一个数据训练序列,以寻找到相对于DQS输入缓存器启用信号的最优位置。
这个目标可以通过采用具有确定性的模式执行读取操作并同时顺利扫描到可能的系统延迟数值来达到。
DDR PHY–不仅仅是I/O
对于要求提供一个与外部DDRn SDRAM接口的系统级芯片(SoC)来说,物理接口(PHY)在最低程度上的要求包括,与应用具体相关的SSTL I/O以及一些用于处理数据选通脉冲时序要求的解决方案。
DDR2和DDR3 SDRAM PHY均采用了SSTL I/O电路,这种电路在芯片终接(ODT)电阻器上加入可编程性,以这个电阻器替代了以前那些要求作为外部部件提供的电阻器。
此外,还要求采用某些形式的PLL、DLL或经校准延迟电路,按照如上文所示的方式,移位数据选通脉冲至数据眼的中央。
采用经校准延迟电路的解决方案在典型情况下采用了一个训练信号序列,这个序列采用预期数据对延迟线进行了从最小值至最大值的扫描,以寻找到失败和合格区域的边沿位置,从而最终能够将选通脉冲置于合格区域的中央。
为了避免对温度和电压波动的敏感性,延迟线的位置应当与时钟频率保持锁定,或进行频繁更新以便对任何漂移现象做出补偿。
定时重新校准也是一种能够解决这个问题的方法,相应的操作可以在DRAM刷新操作期间执行,从而不必偷偷占用存储器通道。
加入了DLL或PLL的PHY无需进行外部校准,因为它们能够有效地执行自我校准操作。
PLL/DLL与时钟频率保持锁定,由于延迟线或VCO一直在连续调整以匹配时钟频率,从而免受温度和电压波动的影响。
通过采用主/从DLL以及存在精确90度相位的输入时钟,并采用从(镜像)延迟线来控制选通脉冲,数据选通脉冲的边沿可以精确地移位至数据眼的中央(请参见图3)。
要求采用镜像或从延迟线的原因在于,数据选通脉冲并非可以自由运行的时钟信号。
采用PLL电路通常要求存储器通道时钟乘以4才能产生有90度相位角的时钟信号。
但是,PLL仍然要求采用某种形式的从延迟线来调整数据选通脉冲边沿的时序。
图3 在800Mb/s的速度执行DDR2 SDRAM写入操作,图中显示了DQS经90??移位移至数据眼中心的现象
DDRn控制器-更象大脑而不像肌肉
任何DRAM存储器控制器的大脑部分都是指令时序和执行之间的合理关联。
DDRn SDRAM 并非十分简单的器件。
DDRn SDRAM内包含了多个独立的存储体(bank),而且每个读取或写入访问的前面必须提供一个存储体激活指令,最后必须跟随一个预充电指令。
一旦某个存储体已经激活,这个激活结果可以保持,就象打开了一个数据页面一样,允许对很小的存储体子集合(例如,“页面”)执行一次以上的读取或写入操作。
为了能够让存储器通道带宽最大化,优点较大的方法是,提前查找指令序列并按照不同的存储体来重新组织这些指令的次序,这样就可以将存储体激活指令和预充电指令“隐藏”在不重组就会没有用处的指令间隙期内。
通过指令重组和时间安排减少存储体激活和预充电“停用时间”的开销可以显著地提升SoC与存储器数据通道之间的效率。
DDRn SDRAM控制器逻辑电路还必须能够方便满足DRAM的刷新要求。
要在不能忍受滞后执行的指令以及延后过长的刷新要求之间进行仲裁就要求在控制器内采用复杂的优先级控制。
控制器还必须频繁地在争夺单一片外存储器资源的SoC的多个子程序块之间实施仲裁。
此类仲裁行为要求有能力控制存储器通道内的数据流动优先级,并且不会让低优先级的指令在不断出现高优先级指令的情况下延误执行。
从终极意义上说,这个过程永远也不会完美,并需要频繁地根据具体应用进行定制。
IP大力相助
开发DDRn SDRAM接口要求运用多个工程设计专业的知识。
作为大脑的存储器控制器是在典型的ASIC设计流程(RTL、逻辑综合、布局和布线)中开发出来的,而作为肌肉的PHY 是在完全定制的混合信号设计环境下(原理图输入、模拟电路仿真、定制布局)开发而成的。
当代的SoC极少是由那些具备满足这2个领域条件的适当专业知识和EDA工具的设计团队来完成的。
幸运的是,当今的SoC设计人员再也不必担心存储器控制器以及接口设计方面的难题了,因为目前已有可用采用的半导体知识产权(IP),可以降低总开发成本以及上市周期。
通过推出完备的DesignWare?? DDR PHY和存储器控制器IP产品,Synopsys为那些面临着外部DDRn SDRAM接口设计难题的SoC设计人员提供了完整的DDRn存储器接口解决方案。
DesignWare DDRn IP解决方案结合了硬件和软件IP,可以同时自如地满足DDRn SDRAM PHY的复杂性以及DDDn SDRAM指令结构的逻辑特异性要求。
DesignWare DDRn IP目前分成3个经优化的产品系列供应:
1. 支持高达1066Mbps数据速率的DDR2产品系列。
这个产品系列可以很理想地应用于存储器容量要求较小的系统,因为可供DDR2产品的容量在256Mb以上。
2. 支持高达1066Mbps数据速率的DDR3/2产品系列。
此产品系列针对那些既想要使用目前的DDR2存储器,但还想要在DDR3存储器随着技术进步变得更加便宜时使用DDR3存储器的采用“保险政策”的芯片提供了优化的PHY解决方案。
来自这一产品系列的DDR3/2 PHY和控制器IP可让SoC实现如上的灵活性。
这款产品也可以配合某些供应商供货的新兴1.5V DDR2 SDRAM产品以节省功耗。
若要利用DDR3保险政策的优点,DRAM需要为512Mb以上。
3. 支持高达1600Mbps数据速率的DDR3/2产品系列。
这一产品系统为那些最终要求采用DDR3产品所许诺的更高带宽的芯片提供了一项高性能的PHY。
此产品系列内的控制器和PHY组合可以独立地将精确DQS最佳点调整到读取和写入操作的数据眼内,并且提供每位数据去畸变功能,消除了对时序不匹配现象以及对SoC的OCV(片内变动)效应,而且还能消除芯片封装以及系统印刷电路板上的时序不匹配现象。
以下为图片译文:
验证环境
AMBA 2…
存储器控制器数字电路核心
数据时钟地址指令数据块
DDRn I/O
混合信号PHY IP
存储器模型存储器模型
DesignWare DDRn IP可提供适用于各种领先制程技术和代工厂的产品。
典型Synopsys DesignWare DDRn存储器控制器和PHY IP解决方案的高阶系统框图如图4所示。