您的位置:技术中心首页 > 设计杂项 >> 终极内存技术指南

终极内存技术指南 (6)

作者:赵效民   时间:2006-03-26 07:10:59  来自:网上转载  浏览次数:2917  文字大小:【】【】【

第1页:序:不得不说的话
           SDRAM内存模组的物理Bank与芯片位宽
           SDRAM的逻辑Bank与芯片容量表示方法

第2页:SDRAM的引脚与封装
           SDRAM芯片初始化、行有效、列读写时序
           SDRAM的读/写时序与突发长度
           SDRAM芯片的预充电与刷新操作

第3页:图解SDRAM工作流程:仓库物语
第4页:SDRAM的结构、时序与性能的关系
第5页:如日中天——DDR SDRAM
第6页:昔日贵族——Rambus DRAM
第7页:明日之星——DDR-Ⅱ与DDR-Ⅲ
第8页:没有我不行——内存模组

昔日贵族——Rambus DRAM

谈起DDR SDRAM与Rambus DRAM(简称RDRAM)之间的恩怨,很多人现在还是津津乐道。的确,上一世纪末的内存大战虽胜负已分,但至今仍余波未平。在主流市场DDR SDRAM成为王者,RDRAM则沦为“高端贵族”。

Rambus公司于1990年3月成立,之后不久就有了Rambus的核心专利——RSL(Rambus Signaling Level,Rambus发信电平技术)。Rambus内存最早出现于1995年12月,那时它与任天堂64(Nintendo64)游戏机一起发售,但名声不大。从1996年12月开始,Rambus与Intel合作开发,准备将Rambus推广到PC领域。到Rambus内存真正亮相于PC市场时已经是1999年11月了。

一、RDRAM简介

RDRAM与DDR SDRAM一样,也是一种采用双沿触发技术的内存, 但它在结构、控制体系方面相对于传统SDRAM有着不小的变化,首先我们来看看它与SDRAM之间的简单比较。

(上图可点击放大)

RDRAM与传统SDRAM的架构比较

从架构比较图中,可以看出RDRAM在工作方式上与SDRAM有了很大不同。SDRAM需要多颗芯片并联组成P-Bank与北桥沟通,而在RDRAM架构中每个芯片就是一个单独工作的读写单元,芯片的位宽就是与北桥接口的位宽,所以如果想用ECC,就要用专门的ECC型芯片,也因此有了16/18bit的两种规格。而芯片的位宽就是一个RDRAM通道的位宽(本文以16bit芯片为例进行介绍)。

为了达到更高的容量,在一个通道中将多颗RDRAM芯片串起来,形成RIMM(Rambus Interface Memory Module,Rambus接口内存模组),如果主板允许,完全可以设计一个超长的内存插槽与模组,但现实中肯定不能这么做,所以在主板上Rambus又把模组串起来组成通道。由于是串联的形式,所以要求起始端与终结端形成一个完整的通路,而RIMM就是这个通路的串联器,因此Rambus要求所有的插槽必须插满,如果没有RIMM则用C-RIMM(Continuity RIMM,RIMM续连器)代替,以达到联通RSL信号并行终结器的目的。工作时,RDRAM每次寻址一颗芯片,所需要的数据则由通道数据总线传送到北桥,而不像SDRAM那样由所在模组直接通过DIMM接口传向北桥,也因此RIMM的引脚定义几乎是左右对称的。

由于位宽的降低,为保证高带宽,RDRAM使用了更高的时钟频率(这就意味着它不可能与系统时钟同步,所以只能叫RDRAM而不是RSDRAM),芯片的工作频率明显高于SDRAM/DDR,这样芯片的工作热量也急剧上升,为此Rambus在官方规范中规定RIMM必须配备散热片,从而成了现在这个样子。

32bit位宽PC1066芯片标准的RIMM,它是目前PC领域中性能最高的RDRAM产品

二、RDRAM的结构简介

1、 RDRAM的L-Bank结构

RDRAM的内部仍主要由L-Bank构成,但它的设计与SDRAM家族有很大的不同。首先,每个L-Bank有两个数据通道A和B,各为8bit位宽(ECC型号为9bit,这种设计就是Direct DRAM较以前RDRAM的不同),每个端口都配有S-AMP。根据L-Bank数量与S-AMP的分配方式不同,目前RDRAM共有三种内核结构,分别是32s、16d与4i。

较早时,RDRAM的设计是16d,所谓的d是指Double(双),即除了0与15号L-Bank,其余相邻的L-Bank每个数据通道(A和B)共用一个S-AMP。

16d L-Bank结构(上图可点击放大)

后来分别向高端和低端领域发展了32s与4i技术。前者的s代表Split,它将原来的16d内核分割为两个部分,各为16d结构,0、15、16、31号L-Bank的每个数据通道各自独占一个S-AMP。4i则与传统的SDRAM相似,i代表Independent(独立),只有4个L-Bank,各L-Bank的每个数据通道有单独的S-AMP。

32s L-Bank结构

4i L-Bank结构

上文已经讲过,L-Bank数越多,造成L-Bank寻址冲突的机率就越小,但理论上L-Bank越多,所用的S-AMP也就越多, RDRAM内存核心加工与面积控制的难度就越大,因此32s与16d都采用了共享S-AMP的设计。但即使这样,RDRAM的生产成本仍被限制在较高的水平上,在早期这成为了RDRAM难以普及的重要原因。而4i就是为解决这一问题而出现的方案,成本更低,但性能也较前两者降低了。

另外,由于共享S-AMP的设计,除了个别独有S-AMP的L-Bank,其他的L-Bank每次预充电操作也都是成双成对的。为此,在逻辑控制上,RDRAM的操作要尽量避免相邻L-Bank前后进行,否则也会降低RDRAM的实际效率。

2、RDRAM的主要特点

目前RDRAM主要有两个容量规格——128Mbit和256Mbit。L-Bank中存储单元的容量也并不等于RDRAM的接口位宽,而是它的8倍,因此可以说RDRAM是一种8bit预取设计,这是它最主要的特点。对于16bit芯片,其存储单元的容量为128bit,这些数据分别从通道A和B传输至L-Bank,也就是说L-Bank两端的S-AMP一次各负责72bit数据的传输。由于预取为8bit,所以RDRAM的突发长度也固定为8,因为如果再高,对于PC应用将不太适合。不过需要特别注意的是,一个字节的数据不是由数据通道中的8条数据线进行并排传输,而是一个字节由一条数据线进行8次传输(即串行传输,这也是为什么有人说RDRAM是串行内存的原因),这一点也与SDRAM不同,它意味着北桥在进行数据读/写时,必须要等8个周期之后才能完成,中途不能停止。也就是说,读取时目前的北桥(如850)一次接收128bit(16字节)的数据,然后再转换为两个64bit数据分两次向CPU传送。

RDRAM虽然每个数据通道是串行传输,但总体上讲,仍然存在数据块(一次传输的128bit)同步的问题,因此严格的讲,RDRAM从系统架构上讲并不是串行内存

由于RDRAM的存储单元容量很大,所以RDRAM的行列地址线也大为减少,以256Mbit的4i结构的RDRAM为例,行地址为12bit(4096),列地址为7bit(128)。如果是32s结构的,由于L-Bank地址的增多,行列地址要更少(分别是9和7bit)。而且RDRAM的行列地址线是独立的,但是RDRAM的行与列地址线各自只有3条和5条,显然不够用,Rambus又是怎么搞定的呢?这就涉及到RDRAM具体的操作设计了。

三、 RDRAM的具体操作与相关技术

1、 初始化与命令包

RDRAM也有一个控制寄存器,在开机初始化过程中用来对RDRAM芯片进行配置,有的信息由北桥动态写入(如芯片地址、自刷新模式等),有的则是出厂时就设置好不能更改的(如刷新计数、生产商信息、支持的协议版本等)。在初始化之后,RDRAM才能进入正常的工作状态。 RDRAM的读写操作过程与SDRAM基本是一样的,也要进行片选、L-Bank定址、行/列寻址等操作(此时的行就是指RDRAM内存系统中的页),但由于它的每次操作只针对一颗芯片,所以具体操作起来有很大不同,这主要体现在“命令包”的方式上。

RDRAM读取时序图,以PC800为例,400MHz时钟频率。

在上图中,我们可以看到行寻址命令与列寻址(读)命令并没有同时发出,而且各自占用了10ns的时间。我们算一算,对于PC800,10ns相当于8个传输周期。难道是传输有延迟?从行列地址的设计,就能猜到这是一个命令包形式的操作。 所谓的命令包,就是将一组命令集合在一起,统一发出。在RDRAM中,行命令包与列命令包都分为两种,一种是正常的读/写操作命令,一种是芯片操作命令(如数据掩码、预充电、刷新、电源管理等)。现在我们就看看行与列读/写命令包都包含哪些信息。

行读/写命令包的信息组成

列读/写命令包的信息组成

至于操作命令包就不在此多说了,因为构成的形式基本就是这样,每次用8个传输周期进行命令发送。而且由于RDRAM的命令代码很多,也比较复杂,在本专题中也不用一一列出,关键在于让大家明白RDRAM的寻址是怎么一回事即可,剩下的具体代码定义,如果有兴趣大家可以自行研究。

2、 操作时序计算

通过上面的时序图,我们可以发现RDRAM计算时序的方法与SDRAM家族不一样,这在比较两者间时序效率时有着关键的影响。

Rambus的时序规定与FPE/EDO内存时一样,在读取时延用了tRAC、tCAC的定义,前者是行访问周期(RAC,RAS Access Cycle/Delay),后者是列访问周期(CAC,CAS Access Cycle/ Delay),你可以把它等同于SDRAM中的CL,但决不能在RDRAM中引入CL这个概念。在写入时则将tCAC替换为tCWD(CAS to Write Delay)。它们的单位都是时钟周期,对于PC800,一个时钟周期就是2.5ns,对于PC1066就是1.876ns了。显然,时钟频率越高,延迟周期就越短。

但是这些时序是从命令包发送完毕开始计算,SDRAM则是在命令发送同时开始计算。因此,在计算RDRAM的操作延迟时,命令包本身占用的时间也必须要考虑进来。

3、 写入延迟与掩码操作

RDRAM为写入设置了专用的延迟tCWD,这并不是被迫而是有意设计的。RDRAM不需要DQS之类的信号进行同步操作,数据是可以立即接受的,但出于总线利用率的考虑,RDRAM加入了写入延迟,它略短于tCAC。在具体操作中,芯片上没有引脚控制写入允许/禁止,一切的命令在命令包中进行定义,所以读命令可以在写过程中发出,经过tCAC后有效。这样在写后读操作中,除了tCAC与tCWD之间的差距外(估计是留给写回的时间),几乎没有任何停顿,而不像SDR/DDR SDRAM中有较大延迟。

在写入过程中,数据都是先存在写入缓冲区中,这个操作的目的在于等待掩码的控制。RDRAM的数据掩码只对写入有效,当收到掩码命令后,RDRAM将指定的引脚数据从缓冲区中删除,之后再进行真正的写入。

4、多通道技术与多通道模组

PC800的速度在当时可算是RDRAM的一极限,但它的1.6GB/s带宽并不能满足高端应用的需要,而且DDR一方主推的产品是P2100的DDR-266,为此RDRAM利用双通道技术来弥补带宽上的不足。简单的说,它就像一个用于内存的RAID,两个通道的数据在RAC一端进行分割(写)与合并(读),两个通道的RIMM缺一不可并要求结构完全一致,因为寻址信号是一样的,必须适用于两个RIMM,这也就意味着两个RIMM的存储轨迹也是一样。但是,数据的寻址延迟并没有变化,只是连续传输率提高了一倍达到3.2GB/s(两个PC800通道),而且总的内存容量也增加了一倍。时至今日,虽然RDRAM使用窄位宽设计,但毕竟不是串行的方式,提升频率也越来越困难,最新的PC1066标准也只达到2.1GB/s的带宽,此时双通道设计几乎成为RDRAM的标配。可以说没有双通道技术的支持,RDRAM是很难走到今天的。

RDRAM双通道结构

以前,双通道技术是以两条RIMM来实现,在双通道已经是RDRAM标准设计的今天,这种设计的弊病很明显,比如客户的购置成本、主板的布线设计等。为此,在一些内存厂商的支持下,RDRAM出现了多通道模组设计,其主体思路就是将每个通道的信号终结电路移植到模组上来,在一个模组上实现多通道传输。

32bit的RIMM设计,每个通道的终结器做在了模组上

目前PC市场上32bit RIMM逐渐开始流行并终将取代传统的双通道设计,对于64bit RIMM,由于是4通道设计,得需要4通道北桥芯片的支持,所以目前不可能在台式机领域里普及。

不同规格的RIMM间比较(上图可点击放大)

5、 黄石技术

黄石(Yellowstone)是Rambus为了适应未来带宽的需要而开发的信号与数据传输技术,其主要的技术特点有四个:

黄石技术的物理系统结构

A、3.2GHz传输频率,未来可高达6.4GHz,按16bit位宽计算,带宽可达6.4GB/s,双通道应用则为12.8GB/s。

B、极低电压的差分RSL信号(DRSL),降低电源消耗并保证信号质量与制造成本。信号电压差值只有200mV,是目前电压差最小的内存信号技术。

DRSL发信技术与其他内存接口发信技术的比较

C、八倍数据流技术(ODR,Octal Data Rate)。目前采用黄石技术的RDRAM,时钟频率仍是400MHz,但芯片内部通过专用的锁相回路(PLL)将其转换为1.6GHz的内部时钟,然后在此基础上使用DDR技术,从而能在一个时钟周期内传输8次数据。数据传输频率也因此达到了3.2GHz。

ODR操作示意图

D、固定相位技术(FlexPhase),使内存生产者不再费力的去调校PCB的设计以减少延迟/潜伏期对数据/时钟间同步的影响。固定相位技术使信号本身就具备了数据/时钟同步与自校准能力,从而使外围有关时序跟踪的设计与布线变得非常简单,并有助于提高同步性,提高总线利用率。

Rambus展示的用于显卡的点对点黄石RDRAM显存方案

黄石技术于2001年10月2日正式发布,但是虽然它有这样那样的优点,但从最近的资料中显示,Rambus主要将其定位于消费电子、网络、通信和图形设备市场。对于目前的桌面PC市场,黄石在近期应用的可能性并不大。

四、 目前的RDRAM与DDR SDRAM的比较

1、 延迟与总线利用率的比较

仍以PC800为例,由于tRAC已经包括了从行选通至数据输出的所有延迟,与是否双通道无关,所以我们只需将它再加上命令包的占用时间即可算出RDRAM一次访问所需要的时间。PC800的tRAC基本都是40ns(16个时钟周期),加上命令包占用的4个时钟周期10ns,总共耗时为50ns。而这是在行关闭的情况下,没有计算预充电的时间tRP,它一般为12个时钟周期(加上命令包时间),即30ns,共计80ns。显然,时钟频率越高,延迟就会越短。下面就来比较一下读取操作时RDRAM与DDR SDRAM的延迟。

读取操作时RDRAM与DDR SDRAM的延迟比较表(上图可点击放大)

从对比表中可以看出,RDRAM相对于DDR SDRAM在首次寻址时的确存在较大的延迟,即使是最新的PC1066,在与DDR-333的比较中也不占优势。不过,借助于双通道的设计,RDRAM在高数据量传输应用中的优势还是比较明显的。另外,在总线的利用率方面RDRAM的设计也居领先地位,这为保证它的总体效率提供了坚实的保障。

各内存的总线效率比较

这个对比表是东芝公司经过反复实验而得出的结论,它是通过一些典型的操作(如写-读-读),结合不同页命中情况下的时序,以及刷新对内存操作的影响等分析而得出的。由于DDR SDRAM在L-Bank数量上占劣势,所以出现L-Bank寻址冲突的可能性要大为提高,而且在写后读操作中,RDRAM的延迟也明显小于SDRAM家族,因此虽然PC800的峰值带宽不如DDR-266,但综合效率要更好。这可以解释为什么在一些测试中,RDRAM明显比DDR领先的原因。不过,在以零散数据为主的操作中,RDRAM的固定传输周期以及高延迟就成为了性能的障碍。

从前面的分析可以看出,SDRAM/DDR在数据控制上的灵活性要比RDRAM高,首次访问的延迟也更短,因此在某些操作中,即使带宽比RDRAM系统小,性能仍不见得落后。比如845D/E在某些应用测试中,完全可以与双通道PC1066一较高低。而Intel决定在高端服务器领域使用DDR芯片组,也基本是出于这个考虑,因为在服务器的操作中,零散型存取操作所占比例很大。相反,若大规模连续存取操作占比例很大(如视频与音频工作站),那么可能就要考虑RDRAM了。

2、 未来竞争展望

目前随着多通道技术在DDR上的普及,RDRAM在带宽上的优势也变得不明显了。所以,RDRAM如果不及时提高单通道的性能,很快会被强大的DDR家族赶出台式机领域。但RDRAM的时钟频率已经很高了,再向上提高已经很难,不少RDRAM厂商都表示,800MHz时钟频率可能将是RDRAM的一个巨大门槛,即使能超过,成本可能也是惊人的,要知道目前533/400MHz的RIMM就已使用了8层PCB,800MHz时PCB成本将很难控制。这也是为什么RDRAM急于推出32bit与64bit RIMM的原因,毕竟内存这种高带宽应用设备,还是需要一定位宽的保证。而且高位宽的同步性也不像想象中的那么难以控制,DQS的设计就很大程度地解决了这一问题,所以,DDR可以借助较少的转产成本,较低的PCB成本(即使是DDR-Ⅱ也是6层设计),成为PC内存的首选产品。

现在再去争论RDRAM与DDR谁胜谁败已经没有意义,RDRAM已经很难再在主流市场重振雄风。这主要不是它的技术限制,而是早期的市场动作与成本的压力造成的。虽然现在4i芯片开始起步,但支持这种结构的芯片组还很难找到(至少850E不支持)。在820时代,RDRAM由于成本而没有打开市场,现在可以通过降低成本来提高竞争力,但DDR一方也有了多通道技术。Rambus也因此明智地将黄石定位于专用/定制市场。这样,在今后很长一段时间里我们只有看DDR的独角戏了。

[1] [2] [3] [4] [5] [6] [7] [8]
责任编辑:5life

更多相关 SDRAM DDR Rambus 内存,存储器 的文章

存储器类型综述及DDR接口设计的实现 [2006-01-16]
使用Verilog实现基于FPGA的SDRAM控制器 [2005-12-24]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造工艺
书籍精选
说文解字
工具学习
数字滤波
趣闻逸事
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  LVDS技术原理和设计简介
  I2C总线性能介绍
  NAND闪存深入解析
  终极内存技术指南
  深入介绍一下CPU的原理
  双向端口仿真及实例
  三种常用SoC片上总线的分...
  存储器类型综述及DDR接口...
  SoC片上总线综述
  片上系统的总线结构发展...

栏目最新

更多相关链接

  LVDS技术原理和设计简介
  I2C总线性能介绍
  NAND闪存深入解析
  终极内存技术指南
  深入介绍一下CPU的原理
  双向端口仿真及实例
  三种常用SoC片上总线的分...
  存储器类型综述及DDR接口...
  SoC片上总线综述
  片上系统的总线结构发展...

热点文章

更多相关链接