2024年4月12日发(作者:)
一、CAS、RCD、RP是内存芯片的重要参数,它们表示内存工作的延迟时间,当延迟时间
越短,其内存的工作效率就越高,其性能也就越好。
CAS:CAS Latency,列地址脉冲选通潜伏期(又可简称为CL)
RCD:RAS-to-CAS Delay,行寻址至列寻址延迟时间
RP:RAS Precharge Time,“行预充电时间”
二、
DDR400是JEDEC(Joint Electron Device Engineering Council:联合电子设
备工程协会)承认最高的DDR内存标准,而针对它以其工作时序参数划分了三个
等级:
DDR400A级的CAS-RCD-RP工作参数规定为:2.5-3-3
DDR400B级的CAS-RCD-RP工作参数规定为:3-3-3
DDR400C级的CAS-RCD-RP工作参数规定为:3-4-4
三、
SPD(Serial Presence Detect)其实是一片EEPROM电可擦写可编程只读存储器,
它一般处在内存条正面的右侧,里面记录了诸如内存的速度、容量、电压、行/
列地址带宽等十分重要的参数信息。当计算机开机工作时的BIOS就会自动读取
内存SPD中的记录信息,以获让内存运行在规定的工作频率上
内存负责向CPU提供运算所需的原始数据,而目前CPU运行速度超过内存数
据传输速度很多,因此很多情况下CPU都需要等待内存提供数据,这就是常说的
“CPU等待时间”。内存传输速度越慢,CPU等待时间就会越长,系统整体性能
受到的影响就越大。因此,快速的内存是有效提升CPU效率和整机性能的关键之
一。
在实际工作时,无论什么类型的内存,在数据被传输之前,传送方必须花费
一定时间去等待传输请求的响应,通俗点说就是传输前传输双方必须要进行必要
的通信,而这种就会造成传输的一定延迟时间。CL设置一定程度上反映出了该
内存在CPU接到读取内存数据的指令后,到正式开始读取数据所需的等待时间。
不难看出同频率的内存,CL设置低的更具有速度优势。
上面只是给大家建立一个基本的CL概念,而实际上内存延迟的基本因素绝
对不止这些。内存延迟时间有个专门的术语叫“Latency”。要形象的了解延迟,
我们不妨把内存当成一个存储着数据的数组,或者一个EXCEL表格,要确定每个
数据的位置,每个数据都是以行和列编排序号来标示,在确定了行、列序号之后
该数据就唯一了。内存工作时,在要读取或写入某数据,内存控制芯片会先把数
据的列地址传送过去,这个RAS信号(Row Address Strobe,行地址信号)就被
激活,而在转化到行数据前,需要经过几个执行周期,然后接下来CAS信号
(Column Address Strobe,列地址信号)被激活。在RAS信号和CAS信号之间
的几个执行周期就是RAS-to-CAS延迟时间。在CAS信号被执行之后同样也需要
几个执行周期。此执行周期在使用标准PC133的SDRAM大约是2到3个周期;而
DDR RAM则是4到5个周期。在DDR中,真正的CAS延迟时间则是2到2.5个执
行周期。RAS-to-CAS的时间则视技术而定,大约是5到7个周期,这也是延迟
的基本因素。
CL设置较低的内存具备更高的优势,这可以从总的延迟时间来表现。内存
总的延迟时间有一个计算公式,总延迟时间=系统时钟周期×CL模式数+存取时
间(tAC)。首先来了解一下存取时间(tAC)的概念,tAC是Access Time from
CLK的缩写,是指最大CAS延迟时的最大数输入时钟,是以纳秒为单位的,与内
存时钟周期是完全不同的概念,虽然都是以纳秒为单位。存取时间(tAC)代表
着读取、写入的时间,而时钟频率则代表内存的速度。
举个例子来计算一下总延迟时间,比如一条DDR333内存其存取时间为6ns,
其内存时钟周期为6ns(DDR内存时钟周期=1X2/内存频率,DDR333内存频率为
333,则可计算出其时钟周期为6ns)。我们在主板的BIOS中将其CL设置为2.5,
则总的延迟时间=6ns X2.5+6ns=21ns,而如果CL设置为2,那么总的延迟时
间=6ns X2+6ns=18 ns,就减少了3ns的时间。
从总的延迟时间来看,CL值的大小起到了很关键的作用。所以对系统要求
高和喜欢超频的用户通常喜欢购买CL值较低的内存。目前各内存颗粒厂商除了
从提高内存时钟频率来提高DDR的性能之外,已经考虑通过更进一步的降低CAS
延迟时间来提高内存性能。不同类型内存的典型CL值并不相同,例如目前典型
DDR的CL值为2.5或者2,而大部分DDR2 533的延迟参数都是4或者5,少量
高端DDR2的CL值可以达到3。
不过,并不是说CL值越低性能就越好,因为其它的因素会影响这个数据。
例如,新一代处理器的高速缓存较有效率,这表示处理器比较少地直接从内存读
取数据。再者,列的数据会比较常被存取,所以RAS-to-CAS的发生几率也大,
读取的时间也会增多。最后,有时会发生同时读取大量数据的情形,在这种情形
下,相邻的内存数据会一次被读取出来,CAS延迟时间只会发生一次。
选择购买内存时,最好选择同样CL设置的内存,因为不同速度的内存混插在系统内,
系统会以较慢的速度来运行,也就是当CL2.5和CL2的内存同时插在主机内,系统会自动
让两条内存都工作在CL2.5状态,造成资源浪费。
SDRAM DDR DDR2 内存参数详解
严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,部分初学者也常看到DDR
SDRAM,就认为是SDRAM。DDR SDRAM是Double Data Rate SDRAM的缩写,是双
倍速率同步动态随机存储器的意思。DDR内存是在SDRAM内存基础上发展而来的,
仍然沿用SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设
备稍加改进,即可实现DDR内存的生产,可有效的降低成本。
SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;
而DDR内存则是一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降
期各传输一次数据,因此称为双倍速率同步动态随机存储器。DDR内存可以在与
SDRAM相同的总线频率下达到更高的数据传输率。
与SDRAM相比:DDR运用了更先进的同步电路,使指定地址、数据的输送和输出
主要步骤既独立执行,又保持与CPU完全同步;DDR使用了DLL(Delay Locked
Loop,延时锁定回路提供一个数据滤波信号)技术,当数据有效时,存储控制器
可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自
不同存储器模块的数据。DDL本质上不需要提高时钟频率就能加倍提高SDRAM的
速度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是标准SDRA
的两倍。
从外形体积上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚
距离。但DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、
时钟、电源和接地等信号。DDR内存采用的是支持2.5V电压的SSTL2标准,而
不是SDRAM使用的3.3V电压的LVTTL标准。
DDR2内存起始频率从DDR内存最高标准频率400Mhz开始,现已定义可以生产的
频率支持到533Mhz到667Mhz,标准工作频率工作频率分别是200/266/333MHz,
工作电压为1.8V。DDR2采用全新定义的240 PIN DIMM接口标准,完全不兼容于
DDR的184PIN DIMM接口标准。
DDR2和DDR一样,采用了在时钟的上升延和下降延同时进行数据传输的基本方
式,但是最大的区别在于,DDR2内存可进行4bit预读取。两倍于标准DDR内存
的2BIT预读取,这就意味着,DDR2拥有两倍于DDR的预读系统命令数据的能力,
因此,DDR2则简单的获得两倍于DDR的完整的数据传输能力。
DDR2内存技术最大的突破点其实不在于所谓的两倍于DDR的传输能力,而是,
在采用更低发热量,更低功耗的情况下,反而获得更快的频率提升,突破标准
DDR的400MHZ限制。
最后说下DDR3
其实它相对来说我觉得叫DDR2pro应该更为贴切.
因为它其实是DDR2的延伸..只是提升了频率降低了能耗..
实际的技术并没有特别的变化
现在DDR3内存相对来说似乎还是一些中高档显卡用的,系统用到的还比较少..
DDR2内存参数
DR内存既然叫做双倍速率SDRAM(Dual date rate SDRSM),就是说是SDRAM的升级换代产品。从技术上
分析,DDR SDRAM最重要的改变是在界面数据传输上,其在时钟信号上升缘与下降缘时各传输一次数据,这使
得DDR的数据传输速率为传统SDRAM的两倍。那么大家就应该知道了,我们所说的DDR400,DDR333,
DDR266,他们的工作频率其实仅为那些数值的一半,也就是说DDR400工作频率为 200MHz。
FSB与内存频率的关系
首先请大家看看表一:FSB(Front Side Bus:前端总线)和内存比率与内存实际运行频率的关系。
FSB/MEM比率 实际运行频率
1/01 200MHz
1/02 100MHz
2/03 133MHz
3/04 150MHz
3/05 120MHz
5/06 166MHz
7/10 140MHz
9/10 180MHz
对于大多数玩家来说,FSB和内存同步,即1:1(DFI 用1/01表示)是使性能最佳的选择。而其他的设置都
是异步的。同步后,内存的实际运行频率是FSBx2,所以,DDR400的内存和200MHz的 FSB正好同步。如
果你的FSB为240MHz,则同步后,内存的实际运行频率为240MHz x 2 = 480MHz。
表2更详尽列出了FSB与不同速度的DDR内存之间正确的设置关系
强烈建议采用1:1的FSB与内存同步的设置,这样可以完全发挥内存带宽的优势。
Command Per Clock(CPC)
可选的设置:Auto,Enable(1T),Disable(2T)。
Command Per Clock(CPC:指令比率,也有翻译为:首命令延迟),一般还被描述为DRAM Command
Rate、CMD Rate等。由于目前的DDR内存的寻址,先要进行P-Bank的选择(通过DIMM上CS片选信号进行),
然后才是L-Bank/行激活与列地址的选择。这个参数的含义就是指在P-Bank选择完之后多少时间可以发出具体
的寻址的L-Bank/行激活命令,单位是时钟周期。
显然,也是越短越好。但当随着主板
上内存模组的增多,控制芯片组的负载也随之增加,过短的命令间隔可
能会影响稳定性。因此当你的内存插得很多而出现不太稳定的时间,才需要将此参数调长。目前的大部分主板都
会自动设置这个参数。
该参数的默认值为Disable(2T),如果玩家的内存质量很好,则可以将其设置为Enable(1T)。
CAS Latency Control(tCL)
可选的设置:Auto,1,1.5,2,2.5,3,3.5,4,4.5。
一般我们在查阅内存的时序参数时,如“3-4-4-8”这一类的数字序列,上述数字序列分别对应的参数是
“CL-tRCD-tRP-tRAS”。这个3就是第1个参数,即CL参数。
CAS Latency Control(也被描述为tCL、CL、CAS Latency Time、CAS Timing Delay),CAS latency
是“内存读写操作前列地址控制器的潜伏时间”。CAS控制从接受一个指令到执行指令之间的时间。因为CAS主要
控制十六进制的地址,或者说是内存矩阵中的列地址,所以它是最为重要的参数,在稳定的前提下应该尽可能设
低。
内存是根据行和列寻址的,当请求触发后,最初是 tRAS(Activeto Precharge Delay),预充电后,内
存才真正开始初始化RAS。一旦tRAS激活后,RAS(Row Address Strobe )开始进行需要数据的寻址。首先
是行地址,然后初始化tRCD,周期结束,接着通过CAS访问所需数据的精确十六进制地址。期间从CAS开始到
CAS结束就是CAS延迟。所以CAS是找到数据的最后一个步骤,也是内存参数中最重要的。
这个参数控制内存接收到一条数据读取指令后要等待多少个时钟周期才实际执行该指令。同时该参数也决定
了在一次内存突发传送过程中完成第一部分传送所需要的时钟周期数。这个参数越小,则内存的速度越快。必须
注意部分内存不能运行在较低的延迟,可能会丢失数据,因此在提醒大家把
CAS延迟设为2或2.5的同时,如果
不稳定就只有进一步提高它了。而且提高延迟能使内存运行在更高的频率,所以需要对内存超频时,应该试着提
高CAS延迟。
该参数对内存性能的影响最大,在保证系统稳定性的前提下,CAS值越低,则会导致更快的内存读写操作。
CL值为2为会获得最佳的性能,而CL值为3可以提高系统的稳定性。注意,WinbondBH-5/6芯片可能无法设
为3。
RAS# to CAS# Delay(tRCD)
可选的设置:Auto,0,1,2,3,4,5,6,7。
该值就是“3-4-4-8”内存
时序参数中的第2个参数,即第1个4。RAS# to CAS# Delay(也被描述为:tRCD、
RAS to CAS Delay、Active to CMD),表示"行寻址到列寻址延迟时间",数值越小,性能越好。对内存进行读、
写或刷新操作时,需要在这两种脉冲信号之间插入延迟时钟周期。在 JEDEC规范中,它是排在第二的参数,降
低此延时,可以提高系统性能。建议该值设置为3或2,但如果该值设置太低,同样会导致系统不稳定。该值为
4时,系统将处于最稳定的状态,而该值为5,则太保守。
如果你的内存的超频性能不佳,则可将此值设为内存的默认值或尝试提高tRCD值。
Min RAS# Active Timing(tRAS)
可选的设置:Auto,00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15。
该值就是该值就是“3-4-4-8”内存时序参数中的最后一个参数,即8。Min RAS# Active Time (也被描述
为:tRAS、Active to Precharge Delay、Row Active Time、Precharge Wait State、Row Active Delay、
Row Precharge Delay、RAS Active Time),表示“内存行有效至预充电的最短周期”,调整这个参数需要结合
具体情况而定,一般我们最好设在5-10之间。这个参数要根据实际情况而定,并不是说越大或越小就越好。
如果tRAS的周期太长,系统会因为无谓的等待而降低性能。降低tRAS周期,则会导致已被激活的行地址会
更早的进入非激活状态。如果tRAS的周期太短,则可能因缺乏足够的时间而无法完成数据的突发传输,这样会引
发丢失数据或损坏数据。该值一般设定为CAS latency + tRCD + 2个时钟周期。如果你的CAS latency的值
为2,tRCD的值为3,则最佳的tRAS值应该设置为7个时钟周期。为提高系统性能,应尽可能降低tRAS的值,
但如果发生内存错误或系统死机,则应该增大tRAS的值。
如果使用DFI的主板
,则tRAS值建议使用00,或者5-10之间的值。
Row Precharge Timing(tRP)
可选的设置:Auto,0,1,2,3,4,5,6,7。
该值就是“3-4-4-8”内存时序参数中的第3个参数,即第2个4。Row Precharge Timing (也被描述为:
tRP、RAS Precharge、Precharge to active),表示"内存行地址控制器预充电时间",预充电参数越小则内存
读写速度就越快。
tRP用来设定在另一行能被激活之前,RAS需要的充电时间。tRP参数设置太长会导致所有的行激活延迟过长,
设为2可以减少预充电时间,从而更快地激活下一行。然而,想要把tRP设为2对大多数内存都是个很高的要求,
可能会造成行激活之前的数据丢失,内存控制器不能顺利地完成读写操作。对于桌面计算机来说,推荐预充电参
数的值设定为2个时钟周期,这是最佳的设置。如果比此值低,则会因为每次激活相邻紧接着的bank将需要1
个时钟周期,这将影响DDR 内存的读写性能,从而降低性能。只有在tRP值为2而出现系统不稳定的情况下,
将此值设定为3个时钟周期。
如果使用DFI的主板,则tRP值建议2-5之间的值。值为2将获取最高的性能,该值为4将在超频时获取最
佳的稳定性,同样的而该值为5,则太保守。大部分内存都无法使用2的值,需要超频才可以达到该参数。
Row Cycle Time(tRC)
可选的设置:Auto,7-22,步幅值1。
Row Cycle Time(tRC、RC),表示“SDRAM行周期时间”,它是包括行单元预充电到激活在内的整个过程
所需要的最小的时钟周期数。
其计算公式是:row cycle time (tRC) = minimum row active time(tRAS) + row precharge
time(tRP)。因此,设置该参数之前,你应该明白你的tRAS值和tRP值是多少。如果tRC的时间过长,会因在完
成整个时钟周期后激活新的地址而等待无谓的延时,而降低性能。然后一旦该值设置过小,在被激活的行单元被
充分充电之前,新的周期就可以被初始化。
在这种情况下,仍会导致数据丢失和损坏。因此,最好根据tRC = tRAS + tRP进行设置,如果你的内存模
块的tRAS值是7个时钟周期,而tRP的值为4个时钟周期,则理想的tRC的值应当设置为11个时钟周期。
Row Refresh Cycle Time(tRFC)
可选的设置:Auto,9-24,步幅值1。
Row Refresh Cycle Time(tRFC、RFC),表示“SDRAM行刷新周期时间”,它是行单元刷新所需要的时钟
周期数。该值也表示向相同的bank中的另一个行单元两次发送刷新指令(即:REF指令)之间的时间间隔。tRFC
值越小越好,它比tRC的值要稍高一些。
如果使用DFI的主板,通常tRFC的值不能达到9,而10为最佳设置,17-19是内存超频建议值。建议从17
开始依次递减来测试该值。大多数稳定值为tRC加上2-4个时钟周期。
Row to Row Delay(RAS to RAS delay)(tRRD)
可选的设置:Auto, 0-7,每级以1的步幅递增。
Row to Row Delay,也被称为RAS to RAS delay (tRRD),表示"行单元到行单元的延时"。该值也表示
向相同的bank中的同一个行单元两次发送激活指令(即:REF指令)之间的时间间隔。tRRD值越小越好。
延迟越低,表示下一个bank能更快地被激活,进行读写操作。然而,由于需要一定量的数据,太短的延迟会
引起连续数据膨胀。于桌面计算机来说,推荐 tRRD值设定为2个时钟周期,这是最佳的设置,此时的数据膨胀
可以忽视。如果比此值低,则会因为每次激活相邻紧接着的bank将需要1个时钟周期,这将影响DDR内存的读
写性能,从而降低性能。只有在tRRD值为2而出现系统不稳定的情况下,将此值设定为3个时钟周期。
如果使用DFI的主板,则tRRD值为00是最佳性能参数,4超频内存时能达到最高的频率。通常2是最合适
的值,00看上去很奇怪,但有人也能稳定运行在00-260MHz。
Write Recovery Time(tWR)
可选的设置:Auto,2,3。
Write Recovery Time (tWD),表示“写恢复延时”。该值说明在一个激活的bank中完成有效的写操作及预
充电前,必须等待多少个时钟周期。这段必须的时钟周期用来确保在预充电发生前,写缓冲中的数据可以被写进内
存单元中。同样的,过低的tWD虽然提高了系统性能,但可能导致数据还未被正确写入到内存单元中,就发生了
预充电操作,会导致数据的丢失及损坏。
如果你使用的是DDR200和266的内存,建议将tWR值设为2;如果使用DDR333或DDR400,则将tWD
值设为3。如果使用DFI的主板
,则tWR值建议为2。
Write to Read Delay(tWTR)
可选的设置:Auto,1,2。
Write to Read Delay (tWTR),表示“读到写延时”。三星公司称其为“TCDLR (last data in to read
command)”,即最后的数据进入读指令。它设定向DDR内存模块中的同一个单元中,在最后一次有效的写操作
和下一次读操作之间必须等待的时钟周期。
tWTR值为2在高时钟频率的情况下,降低了读性能,但提高了系统稳定性。这种情况下,也使得内存芯片
运行于高速度下。换句话说,增加tWTR值,可以让内容模块运行于比其默认速度更快的速度下。如果使用DDR266
或DDR333,则将tWTR值设为1;如果使用DDR400,则也可试着将tWTR的值设为1,如果系统不稳定,则改
为2。
Refresh Period(tREF)
可选的设置:Auto, 0032-4708,其步进值非固定。
Refresh Period (tREF),表示“刷新周期”。它指内存模块的刷新周期。
先请看不同的参数在相同的内存下所对应的刷新周期(单位:微秒,即:一百万分之一秒)。?号在这里表示该
刷新周期尚无对应的准确数据。
1552= 100mhz(?.??s)
2064= 133mhz(?.??s)
2592= 166mhz(?.??s)
3120= 200mhz(?.??s)
---------------------
3632= 100mhz(?.??s)
4128= 133mhz(?.??s)
4672= 166mhz(?.??s)
0064= 200mhz(?.??s)
---------------------
0776= 100mhz(?.??s)
1032= 133mhz(?.??s)
1296= 166mhz(?.??s)
1560= 200mhz(?.??s)
---------------------
1816= 100mhz(?.??s)
2064= 133mhz(?.??s)
2336= 166mhz(?.??s)
0032= 200mhz(?.??s)
---------------------
0388= 100mhz(15.6us)
0516= 133mhz(15.6us)
0648= 166mhz(15.6us)
0780= 200mhz(15.6us)
---------------------
0908= 100mhz(7.8us)
1032= 133mhz(7.8us)
1168= 166mhz(7.8us)
0016= 200mhz(7.8us)
---------------------
1536= 100mhz(3.9us)
2048= 133mhz(3.9us)
2560= 166mhz(3.9us)
3072= 200mhz(3.9us)
---------------------
3684= 100mhz(1.95us)
4196= 133mhz(1.95us)
4708= 166mhz(1.95us)
0128= 200mhz(1.95us)
如果采用Auto选项,主板BIOS将会查询内存上的一个很小的、名为“SPD”(Serial Presence Detect )的芯
片。SPD存储了内存条的各种相关工作参数等信息,系统会自动根据SPD中的数据中最保守的设置来确定内存的
运行参数。如过要追求最优的性能,则需手动设置刷新周期的参数。一般说来,15.6us适用于基于128兆位内
存芯片的内存(即单颗容量为16MB的内存),而7.8us适用于基于256兆位内存芯片的内存(即单颗容量为
32MB的内存)。注意,如果tREF刷新周期设置不当,将会导致内存单元丢失其数据。
另外根据其他的资料显示,内存存储每一个bit,都需要定期的刷新来充电。不及时充电会导致数据的丢失。
DRAM实际上就是电容器,最小的存储单位是bit。阵列中的每个bit
都能被随机地访问。但如果不充电,数据只
能保存很短的时间。因此我们必须每隔15.6us
就刷新一行。每次刷新时数据就被重写一次。正是这个原因 DRAM
也被称为非永久性存储器。一般通过同步的RAS-only的刷新方法(行刷新),每行每行的依次刷新。早期的EDO
内存每刷新一行耗费 15.6us的时间。因此一个2Kb的内存每列的刷新时间为15.6?s x2048行=32ms。
如果使用DFI的主板,tREF 和tRAS一样,不是一个精确的数值。通常15.6us和3.9us都能稳定运行,1.95us
会降低内存带宽。很多玩家发现,如果内存质量优良,当 tREF刷新周期设置为3120=200mhz(?.??s)时,会
得到最佳的性能/稳定性比。
Write CAS# Latency(tWCL)
可选的设置:Auto,1-8
Write CAS Latency (tWCL),表示“写指令到行地址控制器延时”。SDRAM内存
是随机访问的,这意味着
内存控制器可以把数据写入任意的物理地址,大多数情况下,数据通常写入距离当前列地址最近的页面。tWCL
表示写入的延迟,除了DDRII,一般可以设为1T,这个参数和大家熟悉的tCL(CAS-Latency)是相对的,tCL
表示读的延迟。
DRAM Bank Interleave
可选的设置:Enable, Disable
DRAM Bank Interleave,表示“DRAM Bank交错”。这个设置用来控制是否启用内存交错式(interleave)
模式。Interleave模式允许内存bank改变刷新和访问周期。一个 bank在刷新的同时另一个bank可能正在访问。
最近的实验表明,由于所有的内存bank的刷新周期都是交叉排列的,这样会产生一种流水线效应。
虽然interleave模式只有在不同bank提出连续的的寻址请求时才会起作用,如果处于同一bank,数据处理
时和不开启interleave一样。CPU
必须等待第一个数据处理结束和内存bank的刷新,这样才能发送另一个地址。
目前所有的内存都支持interleave模式,在可能的情况下我们建议打开此项功能。
对于DFI主板来说,任何情况下该设置都应该是Enable,可以增大内存的带宽。Disable对将减少内存的带
宽,但使系统更加稳定。
DQS Skew Control
可选的设置:Auto,Increase Skew,Decrease Skew
DQS Skew Control,表示“DQS时间差控制”。稳定的电压可以使内存达到更高的频率,电压浮动会引起较
大的时间差(skew),加强控制力可以减少 skew,但相应的DQS(数据控制信号)上升和下降的边缘会出现
电压过高或过低。一个额外的问题是高频信号会引起追踪延迟。DDR内存的解决方法是通过简单数据选通脉冲来
增加时钟推进。
DDRII引进了更先进的技术:双向的微分I/O缓存器来组成DQS。微分表示用一个简单脉冲信号和一个参考
点来测量信号,而并非信号之间相互比较。理论上提升和下降信号应该是完全对成的,但事实并非如此。时钟和
数据的失谐就产生了DQ-DQS skew。
如下图所示。
对于DFI主板来说,建议设置为Increase Skew可以提升性能,而Decrease Skew在牺牲一定性能的情况
下,可以增加稳定性。
DQS Skew Value
可选的设置:Auto,0-255,步进值为1。
当我们开启了DQS skew control后,该选项用来设定增加或减少的数值。这个参数对系统的影响并不很敏
感。 对于DFI主板来说,开启"Increase Skew"选项后,可以将该值设为50-255之间的值。值越大,表示速
度越快。
DRAM Drive Strength
可选的设置:Auto,1-8,步进值为1。
DRAM Drive Strength(也被称为:driving strength),表示“DRAM驱动
强度”。这个参数用来控制内
存数据总线的信号强度,数值越高代表信号强度越高,增加信号强度可以提高超频的稳定性。但是并非信号强度
高就一定好,三星的TCCD内存芯片在低强度信号下性能更佳。
如果设为Auto,系统通常会设定为一个较低的值。对使用TCCD的芯片而言,表现会好一些。但是其他的内
存芯片就并非如此了,根据在DFI NF4主板上调试和测试的结果,1、3、5 、7都是性能较弱的参数,其中1
是最弱的。2、4、6、8是正常的设置,8提供了最强的信号强度。TCCD建议参数为3、5或7,其他芯片的内
存建议设为 6或8。
DFI用户建议设置:TCCD建议参数为3、5、7,其他芯片的内存建议设为6或8。
DRAM Data Drive Strength
可选的设置:Auto,1-4,步进值为1。
DRAM Data Drive Strength表示“DRAM数据驱动
强度”。这个参数决定内存数据总线的信号强度,数值越
高代表信号强度越高。它主要用于处理高负荷的内存读取时,增加DRAM的驾驭能力。因此,如果你的系统内存
的读取负荷很高,则应将该值设置为高(Hi/High)。它有助于对内存数据总线超频。但如果你并没有超频,提升
内存数据线的信号强度,可以提高超频后速度的稳定性。此外,提升内存数据总线的信号强度并不能增强SDRAM
DIMM的性能。因此,除非你内存有很高的读取负荷或试图超频DIMM,建议设置DRAM Data Drive Strength
的值为低(Lo/Low)。
要处理大负荷的数据流时,需要提高内存的驾驭能力,你可以设为Hi或者High。超频时,调高此项参数可以
提高稳定性。此外,这个参数对内存性能几乎没什么影响。所以,除非超频,一般用户建议设为Lo/Low。
DFI用户建议设置:普通用户建议使用level 1或3,如果开启了CPC,可能任何高于1的参数都会不稳定。
部分用户开启CPC后能运行在3。更多的人关闭CPC后2-4都能够稳定运行。当然最理想的参数是开启CPC后设
为level4。
Strength Max Async Latency
可选的设置:Auto,0-15,步进值为1。
Strength Max Async Latency目前还没能找到任何关于此项参数的说明,不知道其功能。感觉网友的经验,
在进行Everest的LatencyTest时,可以看出一些差别。在我的BH-6上,参数从8ns到7ns在Latency Test的
测试结果中有1ns的区别。从7ns调低6ns后,测试结果又减少了2ns。
DFI主板
建议设置:BIOS中的默认值为7ns,建议大家在5-10之间调节。6ns对内存的要求就比较高了,
建议使用BH-5和UTT芯片的用户可以尝试一下,但对TCCD不适用。7ns的要求低一些,UTT和BH-5设为7n
比较适合超频。8ns对UTT和BH-5就是小菜一碟,8ns时TCCD通常能稳定运行在DDR600,如果想超频到
DDR640就必须设为9ns甚至更高了。
Read Preamble Time
可选的设置:Auto,2.0-9.5,步进值为0.5。
Read Preamble Time这个参数表示DQS(数据控制信号)返回后,DQS又被开启时的时间间隔。Samsung
早期的显存资料显示,这个参数是用以提升性能的。DQS 信号是双向的,无论从图形控制器到DDR SGRAM还
是从DDR SGRAM到图形控制器都起作用。
DFI主板建议设置:BIOS中的该值设置为Auto时,实际上此时执行的是默认值5.0。建议大家在4.0-7.0
之间调节,该值越小越好。
Idle Cycle Limit
可选的设置:Auto,0-256,无固定步进值。
Idle Cycle Limit这个参数表示“空闲周期限制”。这个参数指定强制关闭一个也打开的内存页面之前的
memclock数值,也就是读取一个内存页面之前,强制对该页面进行重充电操作所允许的最大时间。
DFI主板建议设置:BIOS中的该值设置为Auto时,实际上此时执行的是默认值256。质量好的内存可以尝
试16-32,华邦(WINBOND)BH-5颗粒的产品能稳定运行在16。Idle Cycle Limit值越低越好。
Dynamic Counter
可选的设置:Auto, Enable, Disable。
Dynamic Counter这个参数表示“动态计数器”。这个参数指定开启还是关闭动态空闲周期计数器。如果选
择开启(Enable),则会每次进入内存页表 (Page Table)就强制根据页面冲突和页面错误(conflict/page miss:
PC/PM)之间通信
量的比率而动态调整Idle Cycle Limit的值。这个参数和前一个Idle Cycle Limit是密切相关的,
启用后会屏蔽掉当前的Idle Cycle Limit,并且根据冲突的发生来动态调节。
DFI主板建议设置:BIOS中的该值设置为Auto和关闭和一样的。打开该设置可能会提升性能,而关闭该设
置,可以使系统的更稳定。
R/W Queue Bypass
可选的设置:Auto,2x,4x,8x,16x。
R/W Queue Bypass表示“读/写队列忽略”。这个参数指定在优化器被重写及DCI (设备控制接口:Device
Control Interface)最后一次的操作被选定前,忽略操作DCI的读/写队列的时间。这个参数和前一个Idle Cycle
Limit是相类似,只是优化器影响内存中的读/写队列。
DFI主板建议设置:BIOS中的该值默认为16x。如果你的系统稳定,则保留该值。但如果不稳定,或者要超
频,就只有降低到8x甚至更低的4x或2x。该值越大,则说明系统性能越强,该值越小,则会是系统越稳定。
Bypass Max
可选的设置:Auto, 0x-7x, 步进值为1。
Bypass Max表示“最大忽略时间”。这个参数表示优化器选择否决之前,最后进入DCQ(Dependence Chain
Queue)的可以被优化器忽略的时间。仔细研究后,我觉得这个参数会影响内存到CPU内存控制器的连接。
DFI主板建议设置:BIOS中的该值默认为7x。建议4x或7x,两者都提供了很好的性能及稳定性。如果你
的系统稳定,则保留该值。但如果不稳定,或者要超频,就只有降低到8x甚至更低的4x或2x。该值越大,则说
明系统性能越强,该值越小,则会是系统越稳定。
32 Byte Granulation
可选的设置:Auto,Disable (8burst),Enable(4burst)。
32 Byte Granulation表示"32位颗粒化"。当该参数设置为关闭(Disable)时,就可以选择突发计数器,并
在32位的数据存取的情况下,最优化数据总线带宽。因此该参数关闭后可以达到最佳性能的目的。
DFI主板建议设置:绝大多数情况下,建议选择Disable(8burst)选项。开启Enable (4burst)可以使系统更
稳定一些。
第三部分 超强的内存芯片
上述参数的设置不可能适用于每位用户。不同的内存芯片的电压、参数都不同,所以超频能力也不一样。下
面给出超频能力很强的一些内存芯片,建议大家在选购时多加以留意。
·Winbond(华邦)系列颗粒::BH-5、CH-5、BH-6、CH-6 、UTT;
·Hy
nix(现代)系列颗粒:D43、D5;
·Micron(镁光)系列颗粒:-5B C、-5B G;
·Infineon
(英飞凌)系列颗粒:B5、BT-6、BT-5、CE-5、BE-5;
·Samsung(三星)系列颗粒:TCB3、TCCC、TCC4、TCC5、TCCD。
DDR2,DDR区别:预读取比特数
DDR2和DDR一样,采用了在时钟的上升沿和下降沿同时进行数据传输的基本方式,但是最
大的区别在于,DDR2内存可进行4bit预读取,两倍于标准DDR内存
的2bit预读取,这就意味着DDR2拥有两倍于DDR的预读系统命令数据的能力。但DDR2内
存技术最大的突破点其实不在于所谓的两倍于DDR的传输能力,而是在采用更低发热量、更
低功耗的情况下,反而获得更快的频率提升,突破标准DDR的400MHz的限制。
对于所有的SDRAM来说,它们都有两个时钟,一个是内部时钟,一个是外部时钟。在SDRAM
与DDR时代,这两个时钟频率是相同的,但在DDR2内存中,内部时钟变成了外部时钟的一
半。以 DDR2 400为例,数据传输频率为400MHz,外部时钟频率为200MHZ,内部时钟频率
为100MHz。得益于DDR2的4bit预读取技术,内部一次传输的数据就可供外部接口传输4
次,虽然以DDR方式传输,但作为数据传输频率基准的外部时钟频率仍要是内部时钟的两倍
才行。DDR2、DDR与SDRAM的操作时钟差异可以参考下图。
4bit预读取技术即每个核心频率周期中取出的数据的bit数为4bit,100MHz核心频率下,
每10ns取出4bit数据,为了同时传输取出的4bit数据,IO Buffer需要在10ns时间中传
输4bit数据,由于上升沿和下降沿均能传输数据,因此IO Buffer的工作频率为200MHz,
总线的数据传输率为400Mbps。
同理,2bit预读取技术即每个核心频率周期中取出的数据的bit数为2bit。此时在100MHz
核心频率下,为了及时将取出的数据传输,IO buffer的频率也只要100MHz(上升沿,下降
沿均传输)。
内存传输标准
开放分类:硬件列表计算机计算机术语
收藏分享到顶[0]
新知社新浪微博人人网腾讯微博移动说客网易微博开心001天涯
目录
1 SDRAM传输标准
2 DDR传输标准
3 RDRAM传输标准
4 DDR2传输标准
5 DDR2与DDR的区别
6 参考资料
展开全部
摘要
请用一段简单的话描述该词条,马上添加摘要。
内存传输标准
内存是计算机内部最为关键的部件之一,其有很严格的制造要求。而其中的传输标准则代表
着对内存速度方面的标准。不同类型的内存,无论是SDRAM、DDR SDRAM,还是RDRAM
都有不同的规格,每种规格
的内存在速度上是各不相同的。传输标准是内存的规范,只有完
全符合该规范才能说该内存采用了此传输标准。比如说传输标准PC3200内存,代表着此内
存为工作频率200MHz,等效频率为400MHz的DDR内存,也就是常说的DDR400。传输标
目前市场中所有的内存传输标
准术购买内存的首要选择条件之一,它代表着该内存的速度
。
准有SDRAM的PC100、PC133;DDR SDRAM的PC1600、PC2100、PC2700、PC3200、PC3500、
PC3700;RDRAM的PC600、PC800和PC1066等。
内存传输标准-SDRAM传输标准
内存传输标准
,曾经是PC电脑上最为广泛应用的
SDRAM,即Synchronous DRAM(同步动态随机存储器
)
一种内存类型,即便在今天SDRAM仍旧还在市场占有一席之地。既然是“同步动态随机存
储器”,那就代表着它的工作速度是与系统总线
速度同步的。SDRAM内存又分为PC66、
PC100、PC133等不同规格
,而规格后面的数字就代表着该内存最大所能正常工作系统总线
速度,比如PC100,那就说明此内存可以在系统总线为100MHz的电脑中同步工作。
与系统总线速度同步,也就是与系统时钟
同步,这样就避免了不必要的等待周期,减少数据
因此数据可在脉
存储时间。同步还使存储控制器
知道在哪一个时钟脉冲期由数据请求使用,
冲上升期便开始传输。SDRAM采用3.3伏工作电压
,168Pin的DIMM接口,带宽为64位。
SDRAM不仅应用在内存上,在显存上也较为常见。
PC100
PC100是由JEDEC和英特尔共同制订的一个SDRAM内存条的标准,
内存传输标准
符合该标准的内存都称为PC100,其中的100代表该内存工作频率可达100MHz。JEDEC
(Joint Electron Device Engineering Council),电子元件工业联合会。JEDEC是由生产厂商们
制定的国际性协议,主要为计算机内存制定。工业标准的内存通常指的是符合JEDEC标准的
一组内存。
大多数人认为的PC100内存,就是该内存能正常工作在前端总线
(FSB)100MHz
的系统中。其实PC100是一组很严格的规范,它包含有:内存时钟周期
,在100MHZ外频工
作时值为10ns;存取时间小于6ns;PCB必须为六层板;内存上必须有SPD等多方面的规定
。
PC100中还详细的规定了,内存条上电路的各部分线长
最大值与最小值; 电路线宽与间距
,
的精确规格;保证6层PCB板制作(分别为:信号层、电源层、信号层、基层
、信号层)
具备完整的电源
层与地线层;具备每层电路板间距离的详细规格;精确符合发送、载入、终
止等请求的时间;详细的EEPROM编程规格;详细的SDRAM组成规格;特殊的标记要求;
电磁干扰抑制;可选镀金印刷电路板
等等。由此可见传输标准是一套相当复杂的内存标准,
内存传输标准
但具体的内存规范定义,我们没有必要去详细了解,只要了解内存符合这个规范,那么它的
数据传输能到达多大,它所能提供的性能
怎么样那就足够了。从性能的角度来说,PC100
的内存在主板
设置在100MHZ外频,且在主板的BIOS选项中CL设置为2,此内存可以稳定
的工作。
PC133
PC133是威盛公司联合了三星
、现代、日立、西门子、Micron和NEC等数家著名IT厂商联合
推出的内存标准,其中的133指的是该内存工作频率可达133MHz。PC133 SDRAM的数据
传输速率可以达到1.06GB/s。严格地说,PC133和PC100内存在制造工艺
上没有什么太大的
不同,区别只是在制造PC133内存时多了一道"筛选"工序
,把内存颗粒中外频超过133 MHz
的挑选出来,焊接
成高档一些的内存。
内存传输标准-DDR传输标准
内存传输标准
严格的说DDR应该叫DDR SDRAM,人们习惯称为DDR,部分初学者也常看到DDR
SDRAM,就认为是SDRAM。DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率
同步动态随机存储器
的意思。DDR内存是在SDRAM内存基础上发展而来的,仍然沿用
SDRAM生产体系,因此对于内存厂商而言,只需对制造普通SDRAM的设备稍加改进,即
可实现DDR内存的生产,可有效的降低成本
。
SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内
存则是一个时钟周期
内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据,
因此称为双倍速率同步动态随机存储器
。DDR内存可以在与SDRAM相同的总线频率下达到
更高的数据传输率。
与SDRAM相比
内存传输标准
:DDR运用了更先进的同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,
又保持与CPU
完全同步;DDR使用了DLL(Delay Locked Loop,延时锁定回路提供一个数据
滤波信号)技术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每
并重新同步来自不同存储器模块的数据。DDL本质上不需要提高时钟频率
就
16次输出一次,
能加倍提高SDRAM的速度,它允许在时钟脉冲的上升沿和下降沿读出数据,因而其速度是
标准SDRA的两倍。
从外形体积
上DDR与SDRAM相比差别并不大,他们具有同样的尺寸和同样的针脚距离。但
DDR为184针脚,比SDRAM多出了16个针脚,主要包含了新的控制、时钟
、电源和接地
DDR内存采用的是支持2.5V电压的SSTL2标准,而不是SDRAM使用的3.3V电压的
等信号
。
LVTTL标准。
内存传输标准
PC1600如果按照传统习惯传输标准的命名,PC1600(DDR200)应该是PC200。在当时DDR
内存正在与RDRAM内存进行下一代内存标准之争,此时的RDRAM按照频率
命名应该叫
PC600和PC800。这样对于不是很了解的人来说,自然会认为PC200远远落后于PC600,而
JEDEC基于市场竞争
的考虑,将DDR内存的命名规范进行了调整。传统习惯是按照内存工
作频率来命名,而DDR内存则以内存传输速率命名。因此才有了今天的PC1600、PC2100、
PC2700、PC3200、PC3500等。
PC1600的实际工作频率是100 MHz,而等效工作频率是200 MHz,那么它的数据传输率
就
,就是200MHz*64bit=12800Mb/s,再除以8
为“数据传输率=频率*每次传输的数据位数
”
就换算为MB为单位,就是1600MB/s,从而命名为PC1600。
内存传输标准-RDRAM传输标准
内存传输标准
RDRAM(Rambus DRAM)是美国的RAMBUS公司开发的一种内存。与DDR和SDRAM不
同,它采用了串行的数据传输模式。在推出时,因为其彻底改变了内存的传输模式,无法保
证与原有的制造工艺相兼容,而且内存厂商要生产
RDRAM还必须要加纳一定专利费
用,再
加上其本身制造成本
,就导致了RDRAM从一问世就高昂的价格让普通用户无法接收。而同
时期的DDR则能以较低的价格,不错的性能
,逐渐成为主流,虽然RDRAM曾受到英特尔公
司的大力支持,但始终没有成为主流。
RDRAM的数据存储位宽
是16位,远低于DDR和SDRAM的64位。但在频率方面则远远高
于二者,可以达到400MHz乃至更高。同样也是在一个时钟周期内传输两次次数据
,能够在
时钟的上升期和下降期各传输一次数据,内存带宽能达到1.6Gbyte/s。
普通的DRAM行缓冲器
的信息在写回存储器后便不再保留,而RDRAM则具有继续保持这一
信息的特性,于是在进行存储器访问时,如行缓冲器中已经有目标数据
,则可利用,因而实
现了高速访问。另外其可把数据集中起来以分组的形式
传送,所以只要最初用24个时钟,
以后便可每1时钟
读出1个字节。
内存传输标准
一次访问所能读出的数据长度可以达到256字节。
PC600
RDRAM仍旧采用习惯的内存频率
来命名。PC600的工作频率为300 MHz,而其也是时钟上
升期和下降期都传输数据,因此其等效频率
为600 MHz,所以命名为PC600。
PC800
PC800的工作频率为400 MHz,而其也是时钟上升期和下降期都传输数据,因此其等效频率
为800 MHz,所以命名为PC800。
PC1066
PC1066的工作频率为533 MHz,而其也是时钟
上升期和下降期都传输数据,因此其等效频
率为1066 MHz,所以命名为PC1066。
内存传输标准-DDR2传输标准
内存传输标准
DDR2(Double Data Rate 2) SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的
新生代内存技术标准,它与上一代DDR内存技术
标准最大的不同就是,虽然同是采用了在
时钟的上升/下降延同时进行数据传输的基本方式,但DDR2内存却拥有两倍于上一代DDR
。换句话说,DDR2内存每个时钟能够以4倍外部总
内存预读取能力(即:4bit
数据读预取)
线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。
此外,由于DDR2标准规
定所有DDR2内存均采用FBGA封装形式,而不同于目前广泛应用
的TSOP/TSOP-II封装形式,FBGA封装可以提供了更为良好的电气性能
与散热性,为DDR2
内存的稳定工作与未来频率的发展提供了坚实的基础。回想起DDR的发展历程,从第一代
应用到个人电脑
的DDR200经过DDR266、DDR333到今天的双通道DDR400技术,第一代
DDR的发展也走到了技术
的极限,已经很难通过常规办法提高内存的工作速度;随着Intel
最新处理器技术的发展,前端总线对内存带宽的要求是越来越高,拥有更高更稳定
内存传输标准
运行频率
的DDR2内存将是大势所趋。
DDR2可以看作是DDR技术
标准的一种升级和扩展:DDR的核心频率与时钟频率相等,但
数据频率为时钟频率的两倍,也就是说在一个时钟周期
内必须传输两次数据。而DDR2采用
“4 bit Prefetch(4位预取)”机制
,核心频率仅为时钟频率的一半、时钟频率再为数据频率的
一半,这样即使核心频率
还在200MHz,DDR2内存的数据频率也能达到800MHz—也就是
所谓的DDR2 800。
目前,已有的标准DDR2内存分为DDR2 400和DDR2 533,今后还会有DDR2 667和DDR2
800,其核心频率分别为100MHz、133MHz、166MHz和200MHz,其总线频率(时钟频率
)
分别为200MHz、266MHz、333MHz和400MHz,等效的数据传输频率
分别为400MHz、
4.3GB/sec、5.3GB/sec
533MHz、667MHz和800MHz,其对应的内存传输带宽
分别为3.2GB/sec、
和6.4GB/sec,按照其内存传输带宽
分别标注为PC2 3200、PC2 4300、PC2 5300和PC2 6400。
内存传输标准-DDR2与DDR的区别
内存传输标准
1、延迟问题:
DDR2的实际工作频率是DDR的两倍。这得益于DDR2
从上表可以看出,在同等核心频率
下,
内存拥有两倍于标准DDR内存的4BIT预读取能力
。换句话说,虽然DDR2和DDR一样,都
采用了在时钟的上升延和下降延同时进行数据传输的基本方式
,但DDR2拥有两倍于DDR
的预读取系统命令
数据的能力。也就是说,在同样100MHz的工作频率下,DDR的实际频率
为200MHz,而DDR2则可以达到400MHz。
后者的内存延时要慢
这样也就出现了另一个问题:在同等工作频率
的DDR和DDR2内存中,
于前者。举例来说,DDR 200和DDR2-400具有相同的延迟,而后者具有高一倍的带宽
。实
际上,DDR2-400和DDR 400具有相同的带宽,它们都是3.2GB/s,但是DDR400的核心工
作频率是200MHz,而DDR2-400的核心工作频率是100MHz,也就是说DDR2-400的延迟要
高于DDR400。
2、封装和发热量:
内存传输标准
DDR2内存技术最大的突破点其实不在于用户们所认为的两倍于DDR的传输能力,而是在采
用更低发热量、更低功耗的情况下,DDR2可以获得更快的频率
提升,突破标准DDR的
400MHZ限制。
DDR内存通常采用TSOP芯片封装形式
,这种封装形式可以很好的工作在200MHz上,当频
这会影响它的稳定性和频率提升
率更高时,它过长的管脚就会产生很高的阻抗
和寄生电容,
的难度。这也就是DDR的核心频率很难突破275MHZ的原因。而DDR2内存均采用FBGA封
装形式。不同于目前广泛应用的TSOP封装形式,FBGA封装提供了更好的电气性能与散热
性,为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。
DDR2内存采用1.8V电压,相对于DDR标准的2.5V,降低了不少,从而提供了明显的更小
的功耗
与更小的发热量,这一点的变化是意义重大的。
3、DDR2采用的新技术
内存传输标准
:
除了以上所说的区别外,DDR2还引入了三项新的技术,它们是OCD、ODT和Post CAS。
OCD(Off-Chip Driver):也就是所谓的离线驱动调整,DDR II通过OCD可以提高信号的完
整性。DDR II通过调整上拉(pull-up)/下拉(pull-down)的电阻
值使两者电压相等。使用
OCD通过减少DQ-DQS的倾斜来提高信号的完整性;通过控制电压来提高信号品质
。
ODT:ODT是内建核心
的终结电阻器。我们知道使用DDR SDRAM的主板上面为了防止数
据线终端反射信号需要大量的终结电阻。它大大增加了主板
的制造成本。实际上,不同的内
存模组对终结电路的要求是不一样的,终结电阻的大小决定了数据线的信号比和反射率,终
结电阻小则数据线信号反射低但是信噪比也较低;终结电阻高,则数据线
的信噪比高,但是
还会在一定程度
信号反射也会增加。因此主板
上的终结电阻并不能非常好的匹配内存模组,
上影响信号品质。DDR2可以根据自已的特点内建合适的终结电阻,这样可以保证最佳的信
号波形。使用DDR2不但可以降低主板成本,
内存传输标准
还得到了最佳的信号品质,这是DDR不能比拟的。
(读
Post CAS:它是为了提高DDR II内存的利用效率而设定的。在Post CAS操作中,CAS信号
写/命令)能够被插到RAS信号后面的一个时钟周期
,CAS命令可以在附加延迟(Additive
Latency)后面保持有效。原来的tRCD(RAS到CAS和延迟)被AL(Additive Latency)所取
代,AL可以在0,1,2,3,4中进行设置。由于CAS信号放在了RAS信号后面一个时钟周
期,因此ACT和CAS信号
永远也不会产生碰撞冲突。
总的来说,DDR2采用了诸多的新技术,改善了DDR的诸多不足,虽然它目前有成本高、
延迟慢能诸多不足,但相信随着技术的不断提高和完善,这些问题终将得到解决。
DDR3内存参数
2009-04-23 13:59:43
标签:DDR3 内存 参数
[url]/cpu/reviews/0706/1029812_[/url]
我们先来看一看技术规格对比表,从表中可以看到DDR3内存相对于DDR2内存,其实只
是规格上的提高,并没有真正的全面换代的新架构。
电压 VDD/VDDQ
I/O接口
数据传输率(Mbps)
容量标准
Memory
Latency(ns)
CL值
预取设计(Bit)
逻辑Bank数量
突发长度
封装
引脚标准
2.5V/2.5V
SSTL_25
200~400
64M~1G
15~20
1.5/2/2.5/3
2
2/4
2/4/8
TSOP
184Pin DIMM
1.8V/1.8V
(+/-0.1)
SSTL_18
400~800
256M~4G
10~20
3/4/5/6
4
4/8
4/8
FBGA
240Pin DIMM
1.5V/1.5V
(+/-0.075)
SSTL_15
800~2000
512M~8G
10~15
5/6/7/8
8
8/16
8
FBGA
240Pin DIMM
1、逻辑Bank数量
DDR2 SDRAM中有4Bank和8Bank的设计,目的就是为了应对未来大容量芯片的需求。
而DDR3很可能将从2Gb容量起步,因此起始的逻辑Bank就是8个,另外还为未来的16
个逻辑Bank做好了准备。
2、封装(Packages)
DDR3由于新增了一些功能,所以在引脚方面会有所增加,8bit芯片采用78球FBGA
封装,16bit芯片采用96球FBGA封装,而DDR2则有60/68/84球FBGA封装三种规格。
并且DDR3必须是绿色封装,不能含有任何有害物质。
3、突发长度(BL,Burst Length)
由于DDR3的预取为8bit,所以突发传输周期(BL,Burst Length)也固定为8,而对
于DDR2和早期的DDR架构的系统,BL=4也是常用的,DDR3为此增加了一个4-bit Burst
Chop(突发突变)模式,即由一个BL=4的读取操作加上一个BL=4的写入操作来合成一个
BL=8的数据突发传输,届时可通过A12地址线来控制这一突发模式。而且需要指出的是,
任何突发中断操作都将在DDR3内存中予以禁止,且不予支持,取而代之的是更灵活的突
。
发传输控制(如4bit
顺序突发)
4、寻址时序(Timing)
就像DDR2从DDR转变而来后延迟周期数增加一样,DDR3的CL周期也将比DDR2
有所提高。DDR2的CL范围一般在2至5之间,而DDR3则在5至11之间,且附加延迟
(AL)的设计也有所变化。DDR2时AL的范围是0至4,而DDR3时AL有三种选项,分
别是0、CL-1和CL-2。另外,DDR3还新增加了一个时序参数——写入延迟(CWD),这
一参数将根据具体的工作频率而定。
DDR3内存优势何在
DDR3除了拥有更高的内存带宽外,其实在延迟值方面也是有提升的。不少消费者均被
CAS延迟值数值所误导,认为DDR3内存的延迟表现将不及DDR2。但相关专家指出这是
完全错误的观念,要计算整个内存模块的延迟值,还需要把内存颗粒的工作频率计算在内。
事实上,JEDEC规定DDR2-533的CL 4-4-4、DDR2-667的CL 5-5-5及DDR2-800的CL6-6-6,
其内存延迟时间均为15ns。
延迟同样也有提升
CAS Latency(CL)是指内存需要经过多少个周期才能开始读写数据,从前面的
DDR/DDR2/DDR3规格表我们可以知道,DDR3的CAS Latency(CL)将在5~8之间,相比
现在DDR2的3~6又要高出很多。
目前DDR3-1066、DDR3-1333和DDR3-1600的CL值分别为7-7-7、8-8-8及9-9-9,把
内存颗粒工作频率计算在内,其内存模块的延迟值应为13.125ns、12ns及11.25ns,相比DDR2
内存模块提升了约25%,因此消费者以CAS数值当成内存模块的延迟值是不正确的。
从外观上去看,DDR3内存与我们平时熟悉的DDR2没有太大的改变,如果没有特别留意的
话不容易从外观上区分开来。下面我们来看一看DDR3内存与DDR2内存在外观设计上有
什么不同之处。
金手指缺口位置
DDR/DDR2/DDR3内存三代同堂
首先是金手指缺口位置作了更改,金手指方面,SDRAM时代是两个缺口位置,升代至
DDR时就改成了一们缺口位置,这个缺口位置最大的作用就是避免内存不会插错方向。从
上图可以看到,DDR内存金手指离内存端最近的距离为59.21mm,占整个长度约45%左右,
到了DDR2时,这个长度改为61.86mm,约占整个长度47%(由于接近50%的比例让不少
不太细心的用户容易把内存方向搞错);而DDR3的缺口位置肯定要与DDR和DDR2不同,
好在DDR3的缺口位置比例远离50%,53.88mm的距离仅占整个长度约41%,用户可以较
明显地区分出内存的方向来。
内存器件介绍之RAM篇(一)
提到内存,相信大家都不陌生,几乎所有的计算机系统中都有它的身影,按照内存的工
作原理划分,可将内存分为RAM和ROM两大类。
RAM(Random Access Memory)存储器又称随机存取存储器,存储的内容可通过指令
随机读写访问,RAM中的数据在掉电时会丢失;
ROM(Read Only Memory)存储器又称只读存储器,只能从中读取信息而不能任意写
信息。ROM具有掉电后数据可保持不变的优点。
RAM和ROM两大类下面又可分很多小类,如下图所示:
♦
SRAM简介
SRAM即Static RAM,也就是静态随机存取存储器,按照制造工艺可分为NMOS
SRAM、CMOS SRAM和双极型SRAM(用的是TFT)。
SRAM的基本存储单元是数字锁存器,只要系统不掉电,它就会无限期地保持记忆状
态。掉电时,存储数据会丢失。并且SRAM的行列地址线是分开的(DRAM的行列地址线是
复用的)。
SRAM地特点是读写速度极快,在快速读取和刷新时能够保持数据地完整性,并且非
常省电。所以在一些高速和高可靠性要求电路中,基本上是SRAM地天下,如CPU的Cache。
但是SRAM的存储单元电路结构非常复杂,它内部采用的是双稳态电路的形式来存储数据,
制作一个bit存储位通常需要6个MOS管(4个MOS管组成两个交叉耦合反相器,用来锁存
数据,另外2个用于对读写操作过程的控制)。由于SRAM的复杂电路结构,使得成本要比
DRAM高很多,而且其集成度低,很难做成大容量,一般只有几十KByte到几百KByte的
容量,最大也就几MByte。
下图为6个NMOS构成的基本SRAM存储单元,Xi和Yj为字线;I/O为数据输入/输出
端;R/W为读/写控制端。当R/W=0时,进行写操作;当R/W=1时,进行读操作。图中红
色虚线框中的T1、T2、T3、T4、T5、T6六个NMOS管构成一个基本的存储单元。T1、T3
和T2、T4两个反相器交叉耦合构成触发器。电路采用二元寻址,当字线Xi和Yj均为高电
平时,T5-T8均导通,则该单元被选中,若此时R/W为1的读操作,三态门G1、G2关闭,
G3打开,存储的数据从数据线D,经过G3,然后从I/O输出。若R/W为0的写操作,则
G1、G2打开,G3关闭,I/O上的数据经G1、G2写入存储单元。
下图为32KByte容量的SRAM结构示意图,该SRAM有8位行地址,译码后生成256
根行地址线;列地址线为7位,译码后生成128根列地址线。对SRAM进行读操作时,OE#
和CS#为低电平,WE#为高电平,G1输出低电平将输入控缓冲器关闭,G2输出高电平将输
出缓冲器打开,通过行列地址线选中的存储单元数据经I/O和输出缓冲器,最后从I/O[0:7]
输出;写操作时,WE#和CS#为低电平,OE#为高电平,G1输出高电平将输入缓冲器打开,
G2输出低电平将输出缓冲器关闭,I/O[0:7]上的输出经输出缓冲器和内部I/O总线,最后写
入行列地址选中的存储空间中。
♦
DRAM介绍
DRAM即Dynamic RAM,动态随机存取存储器的意思,DRAM的种类有很多,常用的
有:
1).SDRAM:Synchronous Dynamic Random Access Memory,即同步动态随机存取存储
器。“同步”是指其时钟频率与CPU前端总线的系统时钟频率相同,并且内部命令的发送与
数据的传输都以此频率为基准;“动态”是指存储阵列需要不断的刷新来保证所存储数据不
丢失;“随机”是指数据不是线性一次存储,而是自由指定地址进行数据的读写。
2).DDR SDRAM:Double Data Rate SDRAM,即双倍速率SDRAM,普通SDRAM只在
时钟信号的上升沿采样数据,而DDR SDRAM在时钟信号的上升沿和下降沿都采样数据,
这样,在时钟频率不变的情况下,DDR SDRAM的数据存取速度提高了一倍,所以叫双倍
速率SDRAM。
DDR SDRAM最早由三星公司于1996年提出,之后与日本电气、三菱、富士通、东芝、
日立、TI、现代等8家公司协议制定规格,并得到AMD、VIA、SIS等公司的支持,并最终
于2005年形成JEDEC标准ESD79E。(JEDEC即Joint Electron Device Engineering Council,
电子器件工程联合理事会)
DDR SDRAM在其短暂的发展史中,先后经历了DDR SDRAM(也叫DDR1 SDRAM)、
DDR2 SDRAM、DDR3 SDRAM三个阶段,技术越来越先进。下面是DDR SDRAM、DDR2
SDRAM、DDR3 SDRAM三种内存芯片的参数对比表:
3).RDRAM:Rambus DRAM,是美国的RAMBUS公司开发的一种内存。与DDR和
SDRAM不同,它采用了串行的数据传输模式。RDRAM的数据存储位宽是16位,远低于
DDR和SDRAM的64位。但在频率方面则远远高于前者,可以达到400MHz乃至更高。同
样也是在一个时钟周期内传输两次次数据,能够在时钟的上升期和下降期各传输一次数据,
内存带宽能达到1.6Gbyte/s。普通的DRAM行缓冲器的信息在写回存储器后便不再保留,
而RDRAM则具有继续保持这一信息的特性,于是在进行存储器访问时,如行缓冲器中已
经有目标数据,则可利用,因而实现了高速访问。另外其可把数据集中起来以分组的形式传
送,所以只要最初用24个时钟,以后便可每1时钟读出1个字节。一次访问所能读出的数
据长度可以达到256字节。下图为SDRAM与RDRAM系统结构对比。
DRAM的存储单元结构与SRAM的锁存器存储结构不同,DRAM是利用电容来存储数
据信息的,电容中有电荷代表逻辑“1”,没有电荷代表逻辑“0”,如下图所示。DRAM进
行读/写操作时,行选信号与列选信号将使存储电容与外界的传输电路导通,从而可进行放
电(读取)或充电(写入)。目前的主流设计中,刷新放大器功能已经被并入读出放大器(Sense
Amplifier,简称S-AMP)中。
内存器件介绍之RAM篇(二)
在《内存器件介绍之RAM篇(一)》中我们介绍了SRAM的相关知识以及DRAM的部分
知识,下面继续我们的DRAM探索之旅。
♦
DRAM的物理BANK与逻辑BANK
我们在进行内存设计选型时会有两种选择:内存颗粒和内存条。
1).内存颗粒其实也就是内存芯片,数据位宽通常是8bit,最高的也就是16bit。
2).内存条就是将多颗内存芯片放在一起组成通用标准模块,并在模块中加入管理信号
(一般为I2C总线,用来读取厂家信息),然后从标准标准接口引出(就是我们常说的金手指)。
常见的内存条有SIMM和DIMM两种。
SIMM是Single In-line Memory Module缩写,即单列内存模组,它与主板插槽的接口
只有一列引脚(虽然两侧都有金手指),72个PIN,数据位宽为32bit。
DIMM是Double In-line Memory Module的缩写,即双列内存模组。所谓双列是指模组
电路板与主板插槽的接口有两列引脚,两侧的金手指各对应一列引脚。DIMM内存条一共
有168个PIN,数据位宽为64bit。
传统内存系统为了保证CPU的正常工作,必须一次传输完CPU在一个传输周期内所
需的数据,而CPU在一个传输周期能接受的数据容量就是CPU总线的位宽。这个位宽就是
物理BANK(Physical Bank,简称P-Bank)位宽。
如32位的CPU与内存进行数据交换时,一个时钟周期内必须是32bit,要是用普通8bit
位宽的内存颗粒的话,就需要4片并联起来才能满足要求。记得Pentium系列CPU刚上市
时,需要在主板上插两条SIMM才能使CPU正常工作,这是因为Pentium系列CPU是64
位的,而SIMM只能提供32bit位宽,所以必须要用两条并联起来才能满足其64bit的位宽
要求。直到后来64bit位宽的DIMM上市后,才可以使用一条内存配合CPU正常工作。
早期的内存条,无论是SIMM,还是DIMM,都只有一个P-Bank。随着计算机应用的
发展,一个系统只有一个P-Bank已经不能满足容量的需求。所以就出现了支持多个P-Bank
的内存条,一次选择一个P-Bank工作,这就有了内存条支持多少个物理BANK的说法(Intel
将P-Bank称为Row,比如845G内存条宣称支持4个Row,其实就是支持4个P-Bank,另
外,在一些文档中,也把P-Bank称为Rank)。
DRAM的逻辑BANK概念是针对内存颗粒内部的。大家都知道DRAM内部的存储单
元是以阵列形式排列的。如下图所示。行列地址总线分别经过行列地址译码器译码后分别指
向一行和一列,行列重叠的单元就是我们所寻找的存储单元,这就是内存芯片寻址的基本原
理。对于内存颗粒来说,这个阵列就是逻辑Bank(Logical Bank,简称L-Bank)。
但是,在实际应用中,由于技术、成本等原因,不可能只做一个全容量的L-BANK,而
且最重要的是,由于DRAM的工作原理限制,单一的L-Bank将会造成严重的寻址冲突,
大幅降低内存效率。所以人们在DRAM内部分割成多个L-Bank,每个L-Bank形状相同,
彼此独立,可以独立工作。早期的DRAM芯片内部分为2个L-Bank,后来是4个,DDR3
内存芯片为8个。
在进行寻址时需要先确定是哪个L-Bank,然后再在这个选定的L-Bank中选择相应的行
与列进行寻址。对内存的访问,一次只能是一个L-Bank,而每次与CPU交换的数据就是
L-Bank 存储阵列中一个“存储单元”的容量。SDRAM内存芯片一次传输的数据量就是芯
片的位宽,那么这个存储单元的容量就是芯片的位宽(也是 L-Bank 的位宽)。下图为4BANK
内存颗粒内部结构示意图。
内存芯片容量的计算方法为:存储单元数量=行数×列数(得到一个 L-Bank 的存储单
元数量)×L-Bank 的数量。在很多内存产品介绍文档中,都会用 M×W 的方式来表示芯
片的容量。M 是该芯片中存储单元的总数,单位是兆,W 代表每个存储单元的容量,也就
是 SDRAM 芯片的位宽(Width),单位是 bit。计算出来的芯片容量也是以 bit 为单位,
但用户可以采用除以 8 的方法换算为字节(Byte)。
内存器件介绍之RAM篇(三)
在《内存器件介绍之RAM篇(二)》中我们介绍了DRAM逻辑BANK和物理BANK以
及容量的计算方法,下面我们来学习下SDRAM芯片的初始化及读写时序。
针对内存的操作指令有如下几种:
1).Command INHIBIT(初始化);
2).No Operation(无动作);
3).Active(使指定L-Bank中的指定行有效);
4).Read(从指定L-Bank中的指定列开始读取数据);
5).Write(从指定L-Bank中的指定列开始写入数据);
6).Burst Terminate(突发传输终止);
7).Precharge(预充电命令,关闭指定或全部L-Bank中的工作行);
8).Auto Refresh(自动刷新);
9).Load Mode Register(模式寄存器加载);
10).写允许/输出允许;
11).写禁止/输出屏蔽;
♦
内存的初始化
一旦VDD、VDDQ被同时家电,并且时钟已经稳定,SDRAM需要一个200us的延迟,
在这个时间段中,Command INHIBIT和No Operation指令有效,这个过程实际上就是内存
的自检过程,一旦这个过程通过后,一个Precharge命令就会生效,在这个命令周期中,内
存会处于Idle状态。随后执行几个Auto Refresh周期,之后SDRAM为模式寄存器编程做准
备。整个初始化过程如下图所示。
模式寄存器设置(MRS)是在CPU的BIOS控制下进行的。SDRAM芯片内部有一个逻辑
控制单元,这个控制单元的相关控制参数是由MR提供的,SDRAM芯片每次进行初始化时
都要将重新写MR寄存器。MR中设置了SDRAM的运行模式:包括突发长度(BL)、突发类
型(Burst Type)、CAS延迟(CAS Latency)、运行方式(Operating Mode)和写入突发模式。
MR通过Load Mode Register命令进行编程。MR中操作位M0-M11分别与内存芯片的
地址线A0-A11对应。M0-M2用来设置BL,M3设置突发类型,M4-M6设置CAS延迟,
A7-A11设置操作模式。如下图所示。
♦
行有效
初始化完成后,要想对一个L-Bank中的阵列进行寻址,首先要确定行(Row),使之处
于活动状态(Active),然后再确定列。虽然之前要进行片选和L-Bank的地址,但它们与行有
效可以同时进行。通一个L-Bank中,两个相邻的Active命令之间的时间间隔被定义为 tRC,
在不同L-Bank中,执行两个Active命令之间的时间间隔被定义为tRRD(RAS to RAS Delay)。
行有效时序图如下所示。
♦
列读写
行地址确定之后,就要对列地址进行寻址了。在SDRAM中,行地址与列地址线是共用
的,仍然是A0-A11。读/写命令是通过WE#信号的状态去区分的,当WE#为低电平有效时
是写命令,为高电平无效时是读命令。列寻址信号与读写命令是同时发出的。虽然列地址线
与行寻址共用,但是CAS(Column Address Strobe,列地址选通脉冲)信号则可以区分开行与
列寻址的不同。列读写时序如下图所示。
在发送列读写命令时必须要与行有效命令有一个间隔,这个间隔被定位为tRCD,即
RAS to CAS Delay(RAS 至CAS延迟),大家也可以理解为行选通周期。tRCD时SDRAM的
一个冲要时序参数,可以通过主板BIOS经过北桥芯片进行调整,但不能超过厂商的预定范
围。广义的tRCD以时钟周期为单位,比如tRCD=2,就代表延迟周期为两个时钟周期。
在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过I/O通道输出到
内存总线上了。但是在CAS发出之后,仍要经过一定的时间才能有数据输出,从CAS与读
取命令发出到第一笔数据输出的这段时间,被定位为CL(CAS Latency,CAS潜伏期)。由于
CL只在读取时出现,所以CL又被称为读取潜伏期(RL,Read latency)。
由于芯片体积的原因,存储单元中的电容容量很小,所以信号要经过放大来保证其有效
的识别性,这个放大/驱动工作由S-AMP负责,一个存储体对应一个S-AMP通道。但它要
有一个准备时间才能保证信号的发送强度(事前还要进行电压比较以进行逻辑电平的判断),
因此从数据I/O总线上有数据输出之前的一个时钟上升沿开始,数据就已传向S-AMP,经
过一定的驱动时间最终传向数据I/O总线进行输出,这段时间被定位为tAC(Access Time from
CLK,时钟触发后的访问时间)。tAC的单位是ns,并且需要小于一个时钟周期。下面为
SDRAM读操作中CS与tAC关系示意图。
SDRAM的数据写入操作也是在tRCD之后进行,但此时没有CL,寻址方式跟读操作
一样,只是在写操作时,WE#信号为低电平有效。下图为SDRAM写操作时序。从图中可
以看出,由于数据信号由控制端发出,输入时芯片无需做任何调校,只需直接传到数据输入
寄存器中,然后再由写入驱动器进行对存储器电容的充电操作,因此数据可以与CAS同时
发送,也就是说写入延迟为0。不过,数据并不是即时地写入存储电容,因为选通三极管(就
如读取时一样)与电容的充电必须要有一段时间,所以数据的真正写入需要一定的周期。为
了保证数据的可靠写入,都会留出足够的写入/校正时间(tWR,Write Recovery Time),这
个操作也被称作写回(Write Back)。tWR 至少占用一个时钟周期或再多一点。
内存器件介绍之RAM篇(四)
在《内存器件介绍之RAM篇(三)》中我们介绍了SDRAM的初始化过程以及读写时序。
下面我们来解读下SDRAM的一些参数。
♦
突发长度
突发(Burst)是指在同一行中相邻的存储单元连续进行数据传输的方式,连续传输所涉
及到存储单元(列)的数量就是突发长度(Burst Lengths,简称 BL)。
在目前,由于内存控制器一次读/写 P-Bank 位宽的数据,也就是 8 个字节,但是在现
实中小于8 个字节的数据很少见,所以一般都要经过多个周期进行数据的传输。
上文讲到的读/写操作,都是一次对一个存储单元进行寻址,如果要连续读/写就还要对
当前存储单元的下一个单元进行寻址,也就是要不断的发送列地址与读/写命令(行地址不
变,所以不用再对行寻址)。虽然由于读/写延迟相同可以让数据的传输在 I/O 端是连续的,
但它占用了大量的内存控制资源,在数据进行连续传输时无法输入新的命令,效率很低(早
期的 FPE/EDO 内存就是以这种方式进行连续的数据传输)。
为此,人们开发了突发传输技术,只要指定起始列地址与突发长度,内存就会依次地自
动对后面相应数量的存储单元进行读/写操作而不再需要控制器连续地提供列地址。这样,
除了第一笔数据的传输需要若干个周期(主要是之前的延迟,一般的是 tRCD+CL)外,其后
每个数据只需一个周期的即可获得。在很多北桥芯片的介绍中都有类似于 X-1-1-1 的字样,
就是指这个意思,其中的 X 代表就代表第一笔数据所用的周期数。
非突发连续读取模式:不采用突发传输而是依次单独寻址,此时可等效于 BL=1。虽然
可以让数据是连续的传输,但每次都要发送列地址与命令信息,控制资源占用极大。突发连
续读取模式:只要指定起始列地址与突发长度,寻址与数据的读取自动进行,而只要控制好
两段突发读取命令的间隔周期(与 BL 相同)即可做到连续的突发传输。 至于 BL 的数值,
也是不能随便设或在数据进行传输前临时决定。在上文讲到的初始化过程中的MRS 阶段就
要对 BL 进行设置。目前可用的选项是 1、2、4、8、全页(Full Page),常见的设定是 4 和
8。下图为突发连续读取模式与非突发连续读取模式时序对比图。
♦
预充电
由于 SDRAM 的寻址具体独占性,所以在进行完读写操作后,如果要对同一 L-Bank 的
另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行/列地址。L-Bank 关闭现
有工作行,准备打开新行的操作就是预充电(Precharge)。
预充电可以通过命令控制,也可以通过辅助设定让芯片在每次读写操作之后自动进行
预充电。实际上,预充电是一种对工作行中所有存储体进行数据重写,并对行地址进行复位,
同时释放 S-AMP(重新加入比较电压,一般是电容电压的 1/2,以帮助判断读取数据的逻
辑电平,因为 S-AMP 是通过一个参考电压与存储体位线电压的比较来判断逻辑值的),以
准备新行的工作。
在发出预充电命令之后,要经过一段时间才能允许发送 RAS 行有效命令打开新的工
作行,这个间隔被称为 tRP(Precharge command Period,预充电有效周期)。和 tRCD、CL
一样,tRP 的单位也是时钟周期数,具体值视时钟频率而定。
♦
刷新
所以称为 DRAM,就是因为它要不断进行刷新(Refresh)才能保留住数据,因此它是
DRAM 最重要的操作。刷新操作与预充电中重写的操作一样,都是用 S-AMP 先读再写。
但为什么有预充电操作还要进行刷新呢?因为预充电是对一个或所有L-Bank 中的工作
行操作,并且是不定期的,而刷新则是有固定的周期,依次对所有行进行操作,以保留那些
久久没经历重写的存储体中的数据。但与所有 L-Bank 预充电不同的是,这里的行是指所
有 L-Bank 中地址相同的行,而预充电中各 L-Bank 中的工作行地址并不是一定是相同的。
那么要隔多长时间重复一次刷新呢?目前公认的标准是,存储体中电容的数据有效保存
期上限是64ms(毫秒,1/1000 秒),也就是说每一行刷新的循环周期是 64ms。这样刷新速
度就是:行数量/64ms。我们在看内存规格时,经常会看到 4096 Refresh Cycles/ 64ms 或
8192 RefreshCycles/64ms 的标识,这里的 4096 与 8192 就代表这个芯片中每个 L-Bank
的行数。刷新命令一次对一行有效,发送间隔也是随总行数而变化,4096 行时为 15.625μ
s(微秒,1/1000 毫秒),8192 行时就为 7.8125μs。
刷新操作分为两种:自动刷新(Auto Refresh,简称 AR)与自刷新(Self Refresh,简称
SR)。不论是何种刷新方式,都不需要外部提供行地址信息,因为这是一个内部的自动操作。
对于 AR, SDRAM 内部有一个行地址生成器(也称刷新计数器)用来自动的依次生
成行地址。由于刷新是针对一行中的所有存储体进行,所以无需列寻址,或者说 CAS 在
RAS 之前有效。所以,AR 又称 CBR(CAS Before RAS,列提前于行定位)式刷新。
SR 则主要用于休眠模式低功耗状态下的数据保存,这方面最著名的应用就是
STR(Suspend to RAM,休眠挂起于内存)。在发出 AR 命令时,将 CKE 置于无效状态,
就进入了 SR 模式,此时不再依靠系统时钟工作,而是根据内部的时钟进行刷新操作。在
SR 期间除了 CKE 之外的所有外部信号都是无效的(无需外部提供刷新指令),只有重新
使 CKE 有效才能退出自刷新模式并进入正常操作状态。
Refresh:就是刷新小电容的电量,电量来源于内存行列的一个旁路大电容。
Precharge:就是将旁路大电容预先充满电,以提供给小电容充电的电量。
♦
数据掩码(DQM)
在讲述读/写操作时,我们谈到了突发长度。如果 BL=4,那么也就是说一次就传送 4
×64bit 的数据。但是,如果其中的第二笔数据是不需要的,怎么办?还都传输吗?为了屏
蔽不需要的数据,人们采用了数据掩码(Data I/O Mask,简称 DQM)技术。通过 DQM,
内存可以控制 I/O 端口取消哪些输出或输入的数据。这里需要强调的是,在读取时,被屏
蔽的数据仍然会从存储体传出,只是在“掩码逻辑单元”处被屏蔽。
DQM 由北桥控制,为了精确屏蔽一个 P-Bank 位宽中的每个字节,每个 DIMM 有 8
个 DQM 信号线,每个信号针对一个字节。这样,对于 4bit 位宽芯片,两个芯片共用一个
DQM 信号线,对于 8bit 位宽芯片,一个芯片占用一个 DQM 信号,而对于 16bit 位宽芯
片,则需要两个 DQM 引脚。SDRAM 官方规定,在读取时 DQM 发出两个时钟周期后生
效,而在写入时,DQM 与写入命令一样是立即成效。
♦
预存取
预存取概念是针对DDR SDRAM的。
SDRAM内存频率可细分为:数据频率、时钟频率和内核频率三种。对于普通SDRAM
而言,这三者相同,也就不存在预存取的概念。但是对于DDR而言,由于其在时钟信号的
上升沿和下降沿都采样数据,所以其数据频率等于时钟频率的两倍,内核频率与时钟频率相
同。DDR读操作时,需要在一个时钟周期内给I/O总线提供双倍数据量,实现这一功能的
就是所谓的2倍预存取,其原理就是DDR SDRAM存储阵列的位宽增加一倍。这些数据被
转化为宽度为1/2的两通道数据分流,分别从时钟信号的上升沿和下降沿发送出去。
DDR2的预存取能力为4位,也就是说其L-Bank的宽度是芯片位宽的四倍。此时,时
钟频率是内核频率的两倍,数据频率又是时钟频率的两倍。由此可见,DDR2在数据频率与
DDR1相同的情况下,内核频率只有DDR1的一半。我们不要小看这个内核频率,其实它对
内存的稳定性和可靠性非常重要,内核频率越低,意为着功耗越小,发热量越低,内存越稳
定。实验证明,在目前的技术条件下,200MHz差不多是内存内核的极限频率。
DDR3有8位预存取能力,它的最大可支持1600MHz的数据存取速率,但是它的内核
频率其实也只有1600MHz/8=200MHz。时钟频率为:1600MHz/2=800MHz。
SDRAM芯片的预充电与刷新操作
2010-06-19 10:19
预充电
由于SDRAM的寻址具体独占性,所以在进行完读写操作后,如果要对同
一L-Bank的另一行进行寻址,就要将原来有效(工作)的行关闭,重新发送行
/列地址。L-Bank关闭现有工作行,准备打开新行的操作就是预充电
(Precharge)。预充电可以通过命令控制,也可以通过辅助设定让芯片在每次
读写操作之后自动进行预充电。实际上,预充电是一种对工作行中所有存储体进
行数据重写,并对行地址进行复位,同时释放S-AMP(重新加入比较电压,一
般是电容电压的1/2,以帮助判断读取数据的逻辑电平,因为S-AMP是通过一
个参考电压与存储体位线电压的比较来判断逻辑值的),以准备新行的工作。具
体而言,就是将S-AMP中的数据回写,即使是没有工作过的存储体也会因行选
通而使存储电容受到干扰,所以也需要S-AMP进行读后重写。此时,电容的电
量(或者说其产生的电压)将是判断逻辑状态的依据(读取时也需要),为此要
设定一个临界值,一般为电容电量的1/2,超过它的为逻辑1,进行重写,否则
为逻辑0,不进行重写(等于放电)。为此,现在基本都将电容的另一端接入一
个指定的电压(即1/2电容电压),而不是接地,以帮助重写时的比较与判断。
现在我们再回过头看看读写操作时的命令时序图,从中可以发现地址线A10
控制着是否进行在读写之后当前L-Bank自动进行预充电,这就是上文所说的
“辅助设定”。而在单独的预充电命令中,A10则控制着是对指定的L-Bank还
是所有的L-Bank(当有多个L-Bank处于有效/活动状态时)进行预充电,前
者需要提供L-Bank的地址,后者只需将A10信号置于高电平。
在发出预充电命令之后,要经过一段时间才能允许发送RAS行有效命令打
开新的工作行,这个间隔被称为tRP(Precharge command Period,预充电
有效周期)。和tRCD、CL一样,tRP的单位也是时钟周期数,具体值视时钟
频率而定。
读取时预充电时序图(上图可点击放大):图中设定:CL=2、BL=4、tRP=2。
自动预充电时的开始时间与此图一样,只是没有了单独的预充电命令,并在发出
读取命令时,A10地址线要设为高电平(允许自动预充电)。可见控制好预充
电启动时间很重要,它可以在读取操作结束后立刻进入新行的寻址,保证运行效
率。
数据写入时预充电操作时序图(可点击放大):注意其中的tWR参数,由于它
的存在,使预充电操作延后,从而造成写回延迟
刷新
之所以称为DRAM,就是因为它要不断进行刷新(Refresh)才能保留住数
据,因此它是DRAM最重要的操作。刷新操作与预充电中重写的操作一样,都
是用S-AMP先读再写。但为什么有预充电操作还要进行刷新呢?因为预充电是
对一个或所有L-Bank中的工作行操作,并且是不定期的,而刷新则是有固定的
周期,依次对所有行进行操作,以保留那些久久没经历重写的存储体中的数据。
但与所有L-Bank预充电不同的是,这里的行是指所有L-Bank中地址相同的行,
而预充电中各L-Bank中的工作行地址并不是一定是相同的。
那么要隔多长时间重复一次刷新呢?目前公认的标准是,存储体中电容的数
据有效保存期上限是64ms(毫秒,1/1000秒),也就是说每一行刷新的循环
周期是64ms。这样刷新速度就是:行数量/64ms。我们在看内存规格时,经
常会看到4096 Refresh Cycles/64ms或8192 Refresh Cycles/64ms的标
识,这里的4096与8192就代表这个芯片中每个L-Bank的行数。刷新命令一
次对一行有效,发送间隔也是随总行数而变化,4096行时为15.625μs(微秒,
1/1000毫秒),8192行时就为7.8125μs。
刷新操作分为两种:自动刷新(Auto Refresh,简称AR)与自刷新(Self
Refresh,简称SR)。不论是何种刷新方式,都不需要外部提供行地址信息,
因为这是一个内部的自动操作。对于AR, SDRAM内部有一个行地址生成器(也
称刷新计数器)用来自动的依次生成行地址。由于刷新是针对一行中的所有存储
体进行,所以无需列寻址,或者说CAS在RAS之前有效。所以,AR又称CBR
(CAS Before RAS,列提前于行定位)式刷新。由于刷新涉及到所有L-Bank,
因此在刷新过程中,所有L-Bank都停止工作,而每次刷新所占用的时间为9
个时钟周期(PC133标准),之后就可进入正常的工作状态,也就是说在这9 个
时钟期间内,所有工作指令只能等待而无法执行。64ms之后则再次对同一行进
行刷新,如此周而复始进行循环刷新。显然,刷新操作肯定会对SDRAM的性
能造成影响,但这是没办法的事情,也是DRAM相对于SRAM(静态内存,无
需刷新仍能保留数据)取得成本优势的同时所付出的代价。
SR则主要用于休眠模式低功耗状态下的数据保存,这方面最著名的应用就
是STR(Suspend to RAM,休眠挂起于内存)。在发出AR命令时,将CKE
置于无效状态,就进入了SR模式,此时不再依靠系统时钟工作,而是根据内部
的时钟进行刷新操作。在SR期间除了CKE之外的所有外部信号都是无效的(无
需外部提供刷新指令),只有重新使CKE有效才能退出自刷新模式并进入正常
操作状态。
数据掩码
在讲述读/写操作时,我们谈到了突发长度。如果BL=4,那么也就是说一
次就传送4×64bit的数据。但是,如果其中的第二笔数据是不需要的,怎么办?
还都传输吗?为了屏蔽不需要的数据,人们采用了数据掩码(Data I/O Mask,
简称DQM)技术。通过DQM,内存可以控制I/O端口取消哪些输出或输入的
数据。这里需要强调的是,在读取时,被屏蔽的数据仍然会从存储体传出,只是
在“掩码逻辑单元”处被屏蔽。DQM由北桥控制,为了精确屏蔽一个P-Bank位
宽中的每个字节,每个DIMM有8个DQM信号线,每个信号针对一个字节。
这样,对于4bit位宽芯片,两个芯片共用一个DQM信号线,对于8bit位宽芯
片,一个芯片占用一个DQM信号,而对于16bit位宽芯片,则需要两个DQM
引脚。
SDRAM官方规定,在读取时DQM发出两个时钟周期后生效,而在写入时,
DQM与写入命令一样是立即成效。
读取时数据掩码操作,DQM在两个周期后生效,突发周期的第二笔数据被取消
(上图可点击放大)
写入时数据掩码操作,DQM立即生效,突发周期的第二笔数据被取消(上图可
点击放大)
有关内存内部的基本操作就到此结束,其实还有很多内存的操作没有描述,
但都不是很重要了,限于篇幅与必要性,我们不在此介绍,有兴趣的读者可以自
行查看相关资料。


发布评论