Dram子阵列级自动刷新存储器控制器优化的制作方法_2

文档序号:9621065阅读:来源:国知局
在被刷新的行(例如,图1中所示的刷新行114)位于与打开页相同的子阵列中。在图1中,例如,打开页116位于条102-7的子阵列104-7中。如本文中所描述的,子阵列104-7可以被称为“打开子阵列”。
[0033]根据本公开的诸方面,因为打开页116与正在被刷新的行(例如,刷新行114)并不在相同的子阵列(例如,打开子阵列104-7)中,所以打开页116能够在刷新操作期间维持打开。在该情形中,没有任何条102应当在刷新操作期间被关闭。在另一方面,根据本公开的诸方面,当正在刷新的行(例如,刷新行114)位于包括打开页(例如,打开页116)的条(例如,条102-7)的子阵列(例如,打开子阵列104-7)中时,在刷新操作期间整个条(例如,条102-7)都被关闭。
[0034]参见图2,DRAM架构200包括耦合到DRAM条206中的每个子阵列204的全局行解码器202以及列解码器203。在对DRAM条206的正常存储器访问期间,当从存储器控制器接收到激活命令时,由复用器电路系统208将该激活命令中所提供的行地址从行地址锁存器210耦合到全局行解码器202。
[0035]在刷新操作期间,复用器电路系统208将刷新计数器212生成的行地址耦合到全局行解码器202。在该示例中,刷新计数器212也被称为内部先列后行(CBR)计数器。刷新计数器212跟踪哪行已经被刷新以及哪行应当在下一刷新循环中被刷新。在DRAM架构200中,刷新计数器212 —般在随机地址处开始。
[0036]复用器电路系统208在正常存储器访问期间从行地址锁存器210选择行地址或者在刷新操作期间从刷新计数器212选择行地址。在DRAM架构200中,一次仅有一个字线被全局行解码器202基于从复用器电路系统208接收到的行地址来断言。这防止了条206中的其他行被访问,即使是正在该条206内的不同子阵列204中执行刷新。
[0037]本公开的诸方面包括修改了 DRAM设备和存储器控制器的DRAM架构。对于DRAM设备的改变允许多个字线在同一时间被断言。
[0038]参见图3,根据本公开诸方面的DRAM架构300允许在存储器条中的子阵列上进行刷新操作,而该存储器条在其他子阵列中具有打开页。DRAM架构300包括耦合到DRAM条306中的每个子阵列304的局部行解码器302以及列解码器303局部行地址锁存器305被耦合到局部列解码器302。耦合到行地址锁存器310以及刷新计数器312的复用器电路系统308将行地址耦合到子阵列选择器307。
[0039]根据本公开的诸方面,全局行解码器被子阵列选择器307和局部行解码器302所代替。这允许多个(例如,两个)字线在同一时间被激发以寻址两个分别子阵列中的行。例如,一个字线可以基于从行地址锁存器310接收的第一个子阵列中的行地址来被断言,与此同时,另一字线可以基于从刷新计数器312接收的第二个子阵列304中的行地址来被断言。
[0040]根据本公开的诸方面,刷新计数器312可以从0开始并且与地址控制器同步。该同步使得存储器控制器能够知晓DRAM设备内部哪行正在被刷新,从而该存储器控制器能够确定正常操作和刷新操作是否具有子阵列冲突。这可以通过在上电阶段将刷新计数器初始化到0并且在存储器控制器侧添加副本刷新计数器来实现,该副本刷新计数器也在上电时被初始化到0。这两个计数器在相同的条件下均将递增。尽管本公开的诸方面被描述为其中刷新计数器行为被预定义,但是本公开的其他方面包括替换性实现,在其中存储器控制器被配置成显式地仅提供哪个子阵列或者哪个子阵列以及该子阵列中的哪行可以在下一刷新循环中被刷新的指示。
[0041]根据本公开的另一方面,模式寄存器314被实现成存储并向存储器控制器指示DRAM条306中的子阵列304的数目。这允许存储器控制器确定每个设备的子阵列数目,例如,其可以在不同供应商所提供的存储器设备之间有所不同。
[0042]本公开的诸方面包括配置成允许访问DRAM条中的子阵列而此时该DRAM条中的另一子阵列的行被刷新的DRAM存储器控制器。DRAM存储器控制器协议引擎适配成允许刷新周期(tRFC窗口 )期间的读/写/预充电命令,以及允许tRFC窗口期间的激活命令。
[0043]参考图4描述了根据本公开的诸方面的DRAM存储器控制器的功能性。在框420,DRAM存储器控制器加载设备子阵列参数。例如,设备子阵列参数可以包括来自模式寄存器314(图3)的信息。在框422,DRAM存储器控制器重置局部刷新(CBR)计数器。在框424,DRAM存储器控制器确定tREFI定时器(其指示刷新周期)是否期满。
[0044]当tREFI定时器已期满时,在框426,DRAM存储器控制器确定打开行是否与局部刷新计数器冲突。若没有打开行与局部刷新计数器冲突,即,在正被刷新的子阵列中没有行被打开,那么在框428,DRAM存储器控制器发送刷新命令。
[0045]若打开行与局部刷新计数器冲突(例如,在要被刷新的子阵列中有行打开),那么在框430,DRAM存储器控制器向处于冲突中的条发送预充电命令以仅关闭其中正在被刷新的子阵列有行被打开的那个条。随后在框428,DRAM存储器控制器发送刷新命令。在刷新命令被发送之后,DRAM存储器控制器在框410重置tREFI定时器。
[0046]根据本公开的一方面,在子阵列冲突的情形中,DRAM存储器控制器仅发送预充电命令来关闭条。在刷新命令之后,DRAM侧计数器和存储器控制器CBR计数器二者均被递增。这允许在刷新期间在存储器设备中有打开行。藉由打开行提供了改善的性能,因为常规DRAM架构在刷新之前关闭所有打开行。
[0047]根据本公开的诸方面,因为配置了子阵列级并行化,所以读命令、写命令以及预充电命令在tRFC窗口期间当这些命令与刷新不在相同子阵列中时被允许。激活命令在tRFC窗口期间也被允许,但有一些合理的电流汲取限制,因为激活命令与刷新命令二者消耗大量的电流。在一个配置中,在这两个操作之间施加了合理的定时,但是激活命令和刷新命令两者都在tRFC窗口内被发布是有实现可能的。
[0048]虽然本公开的方面是参考用于在刷新操作期间刷新存储器设备中的所有条的架构与方法来描述的,但是应当理解本公开的各种方面也可以在其他DRAM设备中实现。例如,本公开的各种方面也可以在配置成在每条基础上执行刷新操作的DRAM设备中实现,其中条地址被用来标识正被刷新的条。
[0049]在本公开进一步的方面,当刷新命令被发布到DRAM条的目标刷新行时,子阵列级并行化可能不可用。例如,在刷新命令被发布到处于DRAM条的打开子阵列中的目标刷新行时,子阵列级并行化不可用。在本公开的该方面,当DRAM条的目标刷新行在DRAM条的打开子阵列中时,DRAM存储器控制器可以延迟向DRAM条的目标刷新行发布刷新命令。在一个配置中,DRAM存储器控制器跳过去往目标刷新行的刷新命令。在另一配置中,例如,如图5中所示,当存储器总线空闲时,经延迟的刷新命令由DRAM存储器控制器发布。
[0050]图5是根据本公开的一方面解说包括命令调度器510和刷新控制器520以在检测到子阵列级冲突时延迟刷新操作的发布的DRAM存储器控制器502的框图500。在该配置中,存储器总线512将存储器控制器502耦合到DRAM设备540(540-1,...,540_n),每个DRAM设备包括存储器阵列550和刷新计数器560。刷新控制器520按刷新间隔(tREFI)发布刷新命令。在该配置中,刷新控制器520包括具有先列后行(CBR)计数器532以及模式寄存器(MR) 534的刷新控制逻辑530。在该示例中,先列后行(CBR)计数器532追踪哪个子阵列已被刷新以及哪个子阵列应当在下一刷新循环中被刷新。模式寄存器(MR) 534提供DRAM条中的子阵列的数目。在操作中,如图6中所进一步解说的,当DRAM条的目标刷新行处于该DRAM条的打开子阵列中时,刷新控制逻辑530结合先列后行(CBR)计数器532以及模式寄存器(MR) 534延迟向该DRAM条的该目标刷新行发布刷新命令。
[0051]图6是解说图5的DRAM存储器控制器的根据本公开另一方面的功能的功能性框图600。在框602,DRAM存储器控制器502加载设备子阵列参数。设备子阵列
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1