首页 内存器件介绍之RAM篇

内存器件介绍之RAM篇

举报
开通vip

内存器件介绍之RAM篇 内存器件介绍之 RAM篇(一) 提到内存,相信大家都不陌生,几乎所有的计算机系统中都有它的身影,按 照内存的工作原理划分,可将内存分为 RAM 和 ROM 两大类。 RAM(Random Access Memory)存储器又称随机存取存储器,存储的内容可 通过指令随机读写访问,RAM 中的数据在掉电时会丢失; ROM(Read Only Memory)存储器又称只读存储器,只能从中读取信息而 不能任意写信息。ROM 具有掉电后数据可保持不变的优点。 ...

内存器件介绍之RAM篇
内存器件介绍之 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 SDRA 内存器件介绍之 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 的方式来 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示芯片的容量。M 是该芯片中存储单元的总数,单位是兆,W 代 表每个存储单元的容量,也就是 SDRAM 芯片的位宽(Width),单位是 bit。 计算出来的芯片容量也是以 bit 为单位,但用户可以采用除以 8 的方法换算为 字节(Byt)。 内存器件介绍之 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。 内存器件介绍之 RAM篇(五) 在《内存器件介绍之 RAM 篇(四)》中我们介绍了 SDRAM 的“突发长度”、“预 充电” 、“刷新”、“数据掩码”以及 DDR“预存取”等一些基本参数和概念。 下面重点介绍下 DDR、DDR2、DDR3 的管脚功能和它们之间的差异。 ♦SDRAM 芯片引脚及功能如下图所示: 下图为 DDR SDRAM 的管脚列表及功能描述,从中可以可以发现,与 SDRAM 相比,DDR SDRAM 多了两个信号线:CLK#与 DQS,CLK#与正常 CLK 时钟 相位相反,形成差分时钟信号。而数据的传输在 CLK 与 CLK#的交叉点进行, 可见在 CLK 的上升与下降沿(此时正好是 CLK#的上升沿)都有数据被触发, 从而实现 DDR。 由于数据是在 CK 的上下沿触发,造成传输周期缩短了一半,因此必须要保 证传输周期的稳定以确保数据的正确传输,这就要求 CK 的上下沿间距要有精 确的控制。但因为温度、电阻性能的改变等原因,CK 上下沿间距可能发生变化, 此时与其反相的 CK#就起到纠正的作用。而由于上下沿触发的原因,也使 CL=1.5 和 2.5 成为可能,并容易实现。如下图所示,CK 与 CK#在相位上相差 180 度(CK 与 CK#实际上是伪差分时钟)。 ♦DDR 中的 DQS 信号 DQS 是 DDR SDRAM 中的重要功能,它的功能主要用来在一个时钟周期 内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一 个 DQS 信号线,它是双向的,在写入时它用来传送由北桥发来的 DQS 信号, 读取时,则由芯片生成 DQS 向北桥发送。完全可以说,它就是数据的同步信号。 DQS 在读取时与数据同步传输,那么接收时也是以 DQS 的上下沿为准 吗?不,如果以 DQS 的上下沿区分数据周期的危险很大。由于芯片有预取的操 作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各 I/O 端口的出现时间可能有快有慢,会与 DQS 有一定的间隔,这也就是为什么要有 一个 tAC 规定的原因。 而在接收方,一切必须保证同步接收,不能有 tAC 之类的偏差。这样在写入 时,芯片不再自己生成 DQS,而以发送方传来的 DQS 为基准,并相应延后一 定的时间,在 DQS 的中部为数据周期的选取分割点(在读取时分割点就是上下 沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一 个逻辑电平保持周期,即使发送时不同步,在 DQS 上下沿时都处于保持周期中, 此时数据接收触发的准确性无疑是最高的。 在写入时,以 DQS 的高/低电平期中部为数据周期分割点,而不是上/下沿, 但数据的接收 触发仍为 DQS 的上/下沿(写入时在 DQS 的上升/下降沿采样数 据,读时在 DQS 的高/低电平中点采样数据)。 在讲 SDRAM 的时候,我们知道它的写入延迟为 0,但是 DDR 的写入延迟 已经不是 0 了,在发出写入命令后,DQS 与写入数据要等一段时间才会送达。 这个周期被称为 DQS 相对于写入命令的延迟时间(tDQSS, WRITE Command to the first corresponding rising edge of DQS)。 为什么要有这样的延迟设计呢?原因也在于同步,毕竟一个时钟周期两次传 送,需要很高的控制精度,它必须要等接收方做好充分的准备才行。tDQSS 是 DDR 内存写入操作的一个重要参数,太短的话恐怕接受有误,太长则会造成总 线空闲。tDQSS 最短不能小于 0.75 个时钟周期,最长不能超过 1.25 个时钟周 期。 ♦DDR 中的时钟 DDR SDRAM 对时钟的精确性有着很高的要求,而 DDR SDRAM 有两个 时钟,一个是外部的总线时钟,一个是内部的工作时钟,在理论上 DDR SDRAM 这两个时钟应该是同步的,但由于种种原因,如温度、电压波动而产生延迟使两 者很难同步,更何况时钟频率本身也有不稳定的情况。 DDR SDRAM 的 tAC 就是因为内部时钟与外部时钟有偏差而引起的,它 很可造成因数据不同步而产生错误的恶果。实际上,不同步就是一种正/负延迟, 如果延迟不可避免,那么若是设定一个延迟值,如一个时钟周期,那么内外时钟 的上升与下降沿还是同步的。鉴于外部时钟周期也不会绝对统一,所以需要根据 外部时钟动态修正内部时钟的延迟来实现与外部时钟的同步,这就是 DLL 的任 务。 DLL 不同于主板上的 PLL,它不涉及频率与电压转换,而是生成一个延迟 量给内部时钟。目前 DLL 有两种实现方法,一个是时钟频率测量法(CFM, Clock Frequency Measurement),一个是时钟比较法(CC,Clock Comparator)。 CFM 是测量外部时钟的频率周期,然后以此周期为延迟值控制内部时钟, 这样内外时钟正好就相差了一个时钟周期,从而实现同步。DLL 就这样反复测 量反复控制延迟值,使内部时钟与外部时钟保持同步。 CC 的方法则是比较内外部时钟的长短,如果内部时钟周期短了,就将所少 的延迟加到下一个内部时钟周期里,然后再与外部时钟做比较,若是内部时钟周 期长了,就将多出的延迟从下一个内部时钟中刨除,如此往复,最终使内外时钟 同步。 上图为 DDR2/DDR3 的芯片的引脚和功能说明,与 DDR 相比,DDR2/DDR3 最大的差别是多了 OCD 和 ODT 功能。 OCD 是 Off-Chip Driver 的缩写,即片外驱动调校的意思。OCD 的主要用 意在于调整 I/O 接口端的电压,来补偿上拉与下拉电阻值。目的是让 DQS 与 DQ 数据信号之间的偏差降低到最小。调校期间,分别测试 DQS 高电平/DQ 高 电平,与 DQS 低电平/DQ 高电平时的同步情况,如果不满足要求,则通过设 定突发长度的地址线来传送上拉/下拉电阻等级(加一档或减一档),直到测试 合格才退出 OCD 操作。 ODT 是 On-Die Termination 的缩写,即片内终结的意思。所谓的终结,就 是让信号被电路的终端吸收掉,而不会在电路上形成反射,造成对后面信号的影 响。 在 DDR 时代,控制与数据信号的终结在主板上完成,每块 DDR 主板在 DIMM 槽的旁边都会有一个终结电压岛的设计,它主要由一排终结电阻构成。 长期以来,这个电压岛一直是 DDR 主板设计上的一个难点。而 ODT 的出现, 则将这个难点消灭了。 顾名思义,ODT 就是将终结电阻移植到了芯片内部,主 板上不在有终结电路。ODT 的功能与禁止由北桥芯片控制,ODT 所终结的信 号包括 DQS、DQ、DM 等。 在向内存写入时,如果只有一条 DIMM,那么这条 DIMM 就自己进行终结, 终结电阻等效为 150Ω。如果为两条 DIMM,一条工作时,另一条负责终结, 但等效电阻为 75Ω。在从内存读出时,终结操作也将在北桥内进行,如果有两 条 DIMM,不工作的那一条将会终结信号在另一方向的余波,等效电阻也因 DIMM 的数量而有两种设置。ODT 电阻网络示意图如下图所示。 内存器件介绍之 RAM篇(六) 2010-10-04 00:26:14 [ 上一篇 | 下一篇 ] 器件天地 / 查看( 584 ) / 评论( 0 ) / 评分( 0 / 0 ) 在关于内存的前面五篇相关介绍文字中,基本上都是关于内存原理性方面的 内容,下面介绍点 DDR 总线匹 配方 学校职工宿舍分配方案某公司股权分配方案中药治疗痤疮学校教师宿舍分配方案医生绩效二次分配方案 式和信号时序测试方面的实用内容。 ♦DDR 总线的匹配方式 SDRAM 芯片总线使用的是 3.3V LVTTL(Low Voltage Transistor-Transistor Logic)逻辑电平; DDR 芯片总线使用的是 SSTL-2(Stub Series Terminated Logic 2.5V,短线串 联终止逻辑)逻辑电平,I/O 端口电压 2.5V; DDR2 芯片总线使用的是 SSTL-18(Stub Series Terminated Logic 1.8V,短线串 联终止逻辑)逻辑电平,I/O 端口电压 1.8V; DDR3 芯片总线使用的是 SSTL-15(Stub Series Terminated Logic 1.5V,短线串 联终止逻辑)逻辑电平,I/O 端口电压 1.5V; DDR/DDR2/DDR3 总线有四种匹配方式(其实是 SSTL 逻辑的匹配方式): 1).串联匹配 此匹配方式不需要 VTT 电源,但属于非理想匹配,DDR Controller 的驱动能 力对接收器件波形影响很大,且电路中 ISI 效应明显,串联电阻视驱动能力大小 调整,典型值为 25ohm。 2).单端上拉匹配 单端上拉匹配是内存条设计中最常用的匹配方式,设计中需注意要将上拉电 阻靠近接收端放置。现在的简化设计中,一般不提供独立的 VTT 电源,而是利 用两个 100ohm 电阻分别上拉到 VDDQ 和下来到地,分压得到 VDDQ 一半的电 压,而且等效阻抗也是 50ohm,效果一样。 3).双端上拉匹配 此种匹配方式常用于双向信号传输线路,并且要求 BUFFER 的驱动能力较强。 4).RC 匹配方式 RC 匹配主要用于多负载的地址、控制信号匹配,使信号平滑。 ♦内存信号的时序测试(也就是 SSTL 逻辑电平的时序测试) SSTL 逻辑电平结构中的接口参数包括:VDDQ、VIH(ac)、VIH(dc)、Vref、 VIL(dc)、VIL(ac),VSS,如下图所示。 1).VIH(ac)输入高电平交流参数:当信号向上穿越此阀值后为逻辑高电平的 开始; 2).VIH(dc)输入高电平直流参数:当信号向下穿越此阀值后为逻辑高电平的 结束; 3).VIL(ac)输入低电平交流参数:当信号向下穿越此阀值后为逻辑低电平的 开始; 4).VIL(dc)输入低电平直流参数:向信号向上穿越此阀值后为逻辑低电平的 结束。 DDR 地址、控制信号的建立和保持时间均参考时钟信号 CK、CK#,而数据 信号的建立时间和保持时间参考的却是 DQS。数据信号的建立和保持时间测试方 法分为以下四种情况。 1).在理想条件下,DQS 和数据的 Skew rate(信号上升/下降沿电平幅度与 时间的比值,反应的是信号电平跳变的速度快慢)均大于等于 1V/ns。此时数据 的建立时间 tSetup 和数据的保持时间 tHold 测试方法如下图所示。 2).在非理想条件下,DQS 的 Skew rate 小于等于 1V/ns,数据信号的 Skew rate 大于等于 1V/ns。此时数据的建立时间 tSetup 和数据的保持时间 tHold 测 试方法如下图所示。 3). 在非理想条件下,数据的 Skew rate 小于等于 1V/ns,DQS 信号的 Skew rate 大于等于 1V/ns。此时数据的建立时间 tSetup 和数据的保持时间 tHold 测 试方法如下图所示。 4).在极不理想情况下,DQS 和数据的 Skew rate 小于等于 1V/ns。此时数 据的建立时间 tSetup 和数据的保持时间 tHold 测试方法如下图所示。
本文档为【内存器件介绍之RAM篇】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_652042
暂无简介~
格式:pdf
大小:804KB
软件:PDF阅读器
页数:27
分类:互联网
上传时间:2013-12-25
浏览量:40