componment
内存颗粒,基础的电子元器件
UDIMM
Unbuffered DIMM,定位于桌面市场,指地址和控制信号没有经过缓冲器,没有做任何时序调整(缓冲器延迟是有的),直接到达DIMM上的RAM芯片。而Registered内存模组则对地址和控制信号等进行寄存,在下一个时钟到来时再触发输出。
RDIMM
Registered DIMM,定位于工作站和服务器市场,指地址和控制信号经过寄存,时钟经过PLL锁相。相对于UDIMM,RDIMM更稳定,容量更大,但是对于单个的读写访问要滞后一个时钟周期。Registered内存本身有两种工作模式,即 Registered模式和Buffered模式。在支持Registered工作模式的主板上工作时,Registered内存工作于 Registered模式,这时主板上的地址信号和控制信号会比数据信号先一个时钟周期到达DIMM,送入Register芯片后会在其中停留一个时钟周期,然后在下一个时钟信号的上升沿从Register输出,与此时从主板上到达DIMM的数据信号一起同时传送到SDRAM。当Registered内存工作在普通的主板上时,为Buffered工作模式,这时所有的信号也基本上是同时到达DIMM再同时传送到SDRAM,Register芯片这时在功能上只相当于一个简单的Buffer,其输入到输出之间是直通的,只简单的起到改善地址信号和控制信号的作用,时序上与Unbuffered内存是一样的。
SODIMM
Small Outline DIMM,定位于笔记本市场,UDIMM和RDIMM都隶属于DIMM,内存模组的长度等,包括金手指的信号分布在内都是一样的。而SODIMM可以理解为小一号的内存模组。
NORM”:
Allows the Memory Controller to reorder read but not write commands to the memory.
"RELAXED":
Allows the Memory Controller to reorder commands to the memory for maximum
efficiency. Strong ordering is not preserved at the native interface in this mode.
“STRICT”:
Forces the Memory Controller to execute commands in the exact order received.
DCI(数字控制阻抗)——àVRN/VRP——io type is se?????????????
数据选取脉冲(DQS)
DQS是DDR SDRAM中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。
每一颗芯片都有一个DQS信号线,它是双向的,在写入时它用来传送由北桥发来的DQS信号,读取时,则由芯片生成DQS向北桥发送。
完全可以说,它就是数据的同步信号。
在读取时,DQS与数据信号同时生成(也是在CK与CK#的交叉点)。
而DDR内存中的CL也就是从CAS发出到DQS生成的间隔,数据真正出现在数据I/O总线上相对于DQS触发的时间间隔被称为tAC。注意,这与SDRAM中的tAC的不同。
实际上,DQS生成时,芯片内部的预取已经完毕了,tAC是指上文结构图中灰色部分的数据输出时间,由于预取的原因,实际的数据传出可能会提前于DQS发生(数据提前于DQS传出)。
由于是并行传输,DDR内存对tAC也有一定的要求,对于DDR266,tAC的允许范围是±0.75ns,对于DDR333,则是±0.7ns,有关它们的时序图示见前文,其中CL里包含了一段DQS的导入期。
前文已经说了DQS是了保证接收放的选择数据, DQS在读取时与数据同步传输,那么接收时也是以DQS的上下沿为准吗?不,如果以DQS的上下沿区分数据周期的危险很大。
由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各I/O端口的出现时间可能有快有慢,会与DQS有一定的间隔,这也就是为什么要有一个tAC规定的原因。
而在接收方,一切必须保证同步接收,不能有tAC之类的偏差。
这样在写入时,芯片不再自己生成DQS,而以发送方传来的DQS为基准,并相应延后一定的时间,在DQS的中部为数据周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。
这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步,在DQS上下沿时都处于保持周期中,此时数据接收触发的准确性无疑是最高的。
在上面的DQS写入时序图中,可以发现写入延迟已经不是0了,在发出写入命令后,DQS与写入数据要等一段时间才会送达。这个周期被称为DQS相对于写入命令的延迟时间(tDQSS, WRITE Command to the first corresponding rising edge of DQS)。
为什么要有这样的延迟设计呢?原因也在于同步,毕竟一个时钟周期两次传送,需要很高的控制精度,它必须要等接收方做好充分的准备才行。
tDQSS是DDR内存写入操作的一个重要参数,太短的话恐怕接受有误,太长则会造成总线空闲。tDQSS最短不能小于0.75个时钟周期,最长不能超过1.25个时钟周期。
有人可能会说,如果这样,DQS不就与芯片内的时钟不同步了吗?对,正常情况下,tDQSS是一个时钟周期,但写入时接受方的时钟只用来控制命令信号的同步,而数据的接受则完全依靠DQS进行同步,所以DQS与时钟不同步也无所谓。
不过,tDQSS产生了一个不利影响:读后写操作延迟的增加,如果CL=2.5,还要在tDQSS基础上加入半个时钟周期,因为命令都要在CK的上升沿发出。
User端的接口数据说明