SDRAM接口学习.ppt
SDRAM接口讲解,SDRAM:Synchronous Dynamic Random Access Memory 同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写 DDR SDRAM:Double Data Rate SDRAM,是双倍速率同步动态随机存储器,目录,part1-SDRAM内存模组结构part2-SDRAM芯片内部结构Part3-SDRAM芯片外部结构part4-SDRAM内部操作与工作时序part5-SDRAM性能优化part6-备注Part7-参考资料,Part 1 SDRAM内存模组结构,P-Bank(Physical Bank)内存总线等同于CPU数据总线的位宽。单位为Bit,简称P-Bank。注意:P-Bank是SDRAM及以前传统内存特有的概念芯片位宽:在SDRAM中,单个芯片的位宽即每个传输周期能提供的数据量(仅对SDRAM有效)=一个存储单元位宽 单个芯片的位宽一般都较小,所以为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。DIMM:Double In-line Memory Module,双列内存模组。模组电路板与主板插槽的接口有两列引脚。DIMM是SDRAM集合形式的最终体现,每个DIMM至少包含一个P-Bank的芯片集合,Part 2 SDRAM芯片内部结构,逻辑Bank(Logical Bank):SDRAM芯片内部存储阵列由于技术、成本、内存工作效率(具体见part5-SDRAM性能优化)三方面原因,一个芯片内部有多个L-ABNK,目前基本为四个(SDRAM规范中的最高L-Bank数量)芯片位宽(SDRAM内存芯片传输一次的数据量):L-Bank存储阵列中一个存储单元的容量芯片容量=行数列数(得到一个L-Bank的存储单元数量)L-Bank的数量位宽(单位 bit)模组容量:相同位宽下,不同芯片的组合会有不同的容量,Part 2 SDRAM芯片内部结构,Part3-SDRAM芯片外部结构,Part3-SDRAM芯片外部结构,Part3-SDRAM芯片外部结构,内存寻址步骤以及相关引脚:P-BANK(CS)-L-BANK(BA)-行(RAS、An、WE#)-列(CAS、An、WE#),part4-SDRAM内部操作与工作时序,part4-SDRAM内部操作与工作时序,芯片工作顺序:初始化-行有效-列读写内存初始化:模式寄存器设置(MRS,Mode Register Set)内存控制器(北桥芯片)在BIOS的控制下进行,寄存器的信息由地址线来提供。,part4-SDRAM内部操作与工作时序,行有效:CS/BAn/RAS信号同时发出,part4-SDRAM内部操作与工作时序,列读写:CAS与WE#同时发出。在SDRAM中,行地址与列地址是共用的(地址复用),以CAS区分行列寻址(注:列寻址时,A10用作预充电命令),part4-SDRAM内部操作与工作时序,读写命令表(除自刷新Self Refresh)命令外,所有命令都是默认CKE有效),part4-SDRAM内部操作与工作时序,行选通:在发送列读写命令时,与行有效命令有一个间隔,这个间隔定义为tRCD(RAS to CAS Delay,RAS至CAS延迟)。这是根据芯片存储阵列电子元件响应时间(从一种状态到另一种状态变化的过程)制定。广义的tRCD以时钟周期(tCK,Clock Time)数为单位,part4-SDRAM内部操作与工作时序,读操作:列地址确定后,存储单元确定CL:CAS Latency,CAS 潜伏期。从 CAS 与读取命令发出到第一笔数据输出时间间隔 CL 只在读取时出现,所以 CL 又被称为读取潜伏期(RL,Read Latency)。单位为时钟周期数,part4-SDRAM内部操作与工作时序,T0-T1(根据芯片不同,=一个TCK):假设芯片位宽为 n 个bit,列数为c,那么一个列地址需选通 n 个存储体。但存储体中晶体管反应时间造成数据延后触发。这个时间结束时,数据被触发,传向S-AMPT1-T2(=一个TCK):存储单元中电容容量很小,S-AMP(sense amplifier)要对其电压比较以进行逻辑电平的判断,然后在做放大/驱动tAC:Access Time from CLK,时钟触发后的访问时间(即T1-T2)S-AMP:在读取时保持数据逻辑状态,Cache的作用,再次读取时由它直接发送,不进行新的寻址输出数据重写:逻辑状态为 1的电容在读取操作后,会因放电而变为逻辑 0,所以要预充电阶段做数据重写,part4-SDRAM内部操作与工作时序,写操作:写操作也在 tRCD 之后进行,但没有 CL(数据信号由控制端发出,输入时芯片无需做任何调校,只需直接传到数据输入寄存器中,然后由写入驱动器进行对存储电容的充电操作,因此数据可以与 CAS 同时发送,part4-SDRAM内部操作与工作时序,tWR:Write Recovery Time。=一个TCK 数据不能即时地写入存储电容,因为选通三极管(如同读操作)与电容的充电必须要有一段时间,part4-SDRAM内部操作与工作时序,突发传输:是指在同一行中相邻的存储单元连续进行数据传输的方式,传输时只需指定起始列地址与突发长度,内存就会依次地自动对后面相应数量的存储单元进行读/写操作而不再需要控制器连续地提供列地址(不能减少数据输出时间,但是可以节约内存控制资源)突发长度(Burst Lengths,简称 BL):连续传输所涉及到存储单元(列)的数量。BL值可以使是 1、2、4、8、全页(Full Page)Full Page:P-BANK所包含的每个芯片内同一L-BANK中同一行的所有存储单元,part4-SDRAM内部操作与工作时序,非突发连续读取模式:,part4-SDRAM内部操作与工作时序,突发连续读取:,part4-SDRAM内部操作与工作时序,预充电(Precharge):L-Bank关闭现有的工作行,准备打开新行的操作就是预充电。SDRAM寻址具有独占性,一个L-BANK中只能有一行打开(S-AMP 只能为一行服务)预充电的实质是:对工作行中的所有存储体进行数据重写(,即使是没有工作过的存储体也会因行选通而使存储电容受到干扰,所以也需 要 S-AMP 进行读后重写),并对地址进行复位,同时释放读出放大器(Sense Amplifier,S-AMP),以准备新的工作行,part4-SDRAM内部操作与工作时序,tRAS(Active to Precharge Command,行有效至预充电命令间隔周期):至少要在行有效命令 5 个时钟周期之后发出,最长间隔视芯片而异(基本在 120000ns左右),否则工作行的数据将有丢失的危险tRP(Precharge command Period,预充电有效周期)预充电控制:命令控制/辅助设定 命令控制:A10决定读写之后是否自动预充电 辅助设定:A10决定着是对指定的 L-Bank 还是所有的 L-Bank(当有多个 L-Bank 处于有效/活动状态时)进行预充电,前者需要提供 L-Bank 的地址,后者只需将 A10 信号置于高电平,part4-SDRAM内部操作与工作时序,1、行同步,控制好预充电启动时间很重要,它可以在读取操作结束后立刻进入新行的寻址,保证运行效率。,part4-SDRAM内部操作与工作时序,预充电不能与写操作同时进行,必须要在 tWR 之后发出预充电命令,以确保数据的可靠写入,否则重写的数据可能是错的,这就造成了写回延迟,Part 4 SDRAM内部操作与工作时序,刷新:自动刷新(Auto Refresh,简称 AR)与自刷新(Self Refresh,简称SR)。不论是何种刷新方式,都不需要外部提供行地址信息,因为这是一个内部的自动操刷新必要性:刷新操作与预充电中重写的操作一样,都是用 S-AMP先读再写。但预充电是对个或所有 L-Bank 中的工作行操作,并且是不定期的,而刷新则是有固定的周期,依次对所有行进行操作,以保留那些久久没经历重写的存储体中的数据。但与所有 L-Bank 预充电不同的是,这里的行是指所有 L-Bank 中地址相同的行,而预充电中各 L-Bank 中的工作行地址并不是一定是相同的,Part 4 SDRAM内部操作与工作时序,刷新周期:存储体中电容的数据有效保存期上限是 64ms(毫秒,1/1000 秒),也就是说每一行刷新的循环周期是 64ms。这样刷新速度就是:行数量/64ms AR:SDRAM 内部有一个行地址生成器(也称刷新计数器)用来自动的依次生成行地址。因为是针对一行中的所有存储体进行,所以无需列寻址)由于刷新涉及到所有 L-Bank,因此在刷新过程中,所有 L-Bank 都停止工作,每次刷新所占用的时间为 9 个时钟周期(PC133 标准),之后就可进入正常的工作状态,64ms 之后则再次对同一行进行刷新,SR:主要用于休眠模式低功耗状态下的数据保存,在发出 AR命令时,将 CKE 置于无效状态,就进入了 SR 模式,此 时不再依靠系统时钟工作,而是根据内部的时钟进行刷新 操作。在 SR期间除了 CKE 之外的所有外部信号都是无效的(无需外部提供刷新指令),重新使 CKE有效才能退出自刷新,Part 4 SDRAM内部操作与工作时序,Part 4 SDRAM内部操作与工作时序,DM:为了屏蔽不需要的数据,我们采用了数据掩码(Data I/O Mask,DQM)技术。通过DQM,内存可以控制I/O端口取消哪些输入或输出的数据。SDRAM官方规定,在读取时DQM发出两个时钟周期后生效;而在写入时,DQM立即生效 DQM由北桥控制,每个信号针对一个字节,Part 4 SDRAM内部操作与工作时序,Part 4 SDRAM内部操作与工作时序,突发中断:BL越长,对于连续的大数据量传输很有好处,但是对零散的数据,BL太长会造成总线周期的浪费,所以需要突发中断,part5-SDRAM性能优化,影响性能的主要时序参数:tRCD、CL和tRP读操作情况分析 PH(Page Hit):T=tRCD+CL 要寻址的行与L-Bank空闲 PFH(Page Fast Hit)/PDH(Page Direct Hit):T=CL 要寻址的行正好是前一个操 作的工作 PM(Page Miss):T=tRP+tRCD+CL 要寻址的行所在的L-Bank中已经有一个行处于活动状态(未关闭,part5-SDRAM性能优化,PHR增加:自动预充电/L-Bank交错预充电 自动预充电:见上文 L-Bank交错预充电:在一个L-Bank工作时,对下一个要工作的L-Bank进行预充电。这样,预充电与数据的传输交错执行,当访问下一个L-Bank时,tRP已过,就可以直接进入行有效状态,part5-SDRAM性能优化,part5-SDRAM性能优化,PFHR增加:增加选通页数/读写顺序 增加选通页数 在tRAS(5TCK-120000ns)Q期间,只要北桥芯片不发出预充电(包括允许自动预充电)的命令,行打开的状态就会一直保持。在此期间的对该行的任何读写操作也就不会有tRCD的延迟。因此北桥芯片在能同时打开的行(页)越多,那么PFHR也就越大。可同时打开的最大页数:P-BANK数*(单芯片)L-BANK数 注:1、这里的同时打开不是指对多行同时寻址,而是指多行同时处于选通状态。同一L-Bank中不可能有两个打开的行(S-AMP只能为一行服务 3、L-BANK数与内存结构有关。L-Bank数量会带来新问题,part5-SDRAM性能优化,读写顺序,part6-备注,Part7 参考资料,how_to_use_sdram.pdf内存的原理和时序(SDRAM、DDR、DDR-、Rambus_DRAM)-上.pdf,THANK YOU!,