动态随机存取存储器中控制延迟锁相环的控制电路与方法与流程

文档序号:18904319发布日期:2019-10-18 22:28阅读:243来源:国知局
本发明相关于在动态随机存取存储器中的一种延迟锁相环
技术领域
:,尤指相关于动态随机存取存储器中控制延迟锁相环的控制电路与方法。
背景技术
::随着中央处理器(cpu,centralprocessingunit)速度的不断提高,存储器性能成为系统性能的一个限制因素。提高存储器性能的一个重要方面,即提高资料传输至动态随机存取存储器(dram,dynamicrandomaccessmemory)内与从dram传输出资料的速度。在诸如rambus动态随机存取存储器(rdram,rambusdynamicrandomaccessmemory)和双倍速率同步动态随机存储器(ddr,doubledataratesynchronousdynamicrandomaccessmemory,ddrsdram)等高速dram技术中,延迟锁相环(dll,delay-lockedloop)是一种电路设计以最大限度地减少参考时脉(输入时脉)和控制信号之间的相位差。请参考图1,是用于控制dram中的dll10的现有技术控制电路。dram包括dll10、时脉树(clocktree)11、至少一个片外驱动器(ocd,off-chipdriver)12、相位检测器13(pd,phasedetector)及滤波器(filter)14。dll10接收参考时脉clk_r并更新dll10的延迟线(delayline),然后经由时脉树11将校准时脉clk_b输出到至少一个ocd12,其中dram将跟随clk_b执行读取read操作。ocd12通过连接垫(pad)将clk_b发送到外部设备。pd13通过时脉树11接收clk_b并检测clk_b和clk_r之间的相位差。因此,pd13获得clk_b的边缘超前、落后或同步于clk_r的边缘的信息。图2是图1中的控制电路的时序图。图1显示dram接收到read指令后,clk_r、clk_b和输出资料(dq)之间的关系。在dram接收到read指令后,dram开始read操作。为了防止从dram存取的dq中出现抖动(jitter),当检测到clk_r的边缘持续超前或持续落后clk_b的边缘时,滤波器14仅启动dll10以更新延迟线。更具体地说,clk_b的边缘应被检测到连续超前在clk_r的边缘四次(在周期)。在clk_b的读取延迟(rl,readlatency,通常是几个时脉周期)之后,dram输出dq。因此,在read操作期间由于时脉树11的电压电位缓慢下降而导致clk_b和clk_r之间产生偏斜(skew)的问题。然而,在dll10被滤波器14器动之前,偏斜可能一直存在或变得更大。如此一来,dram的存取时间(tac)变长,因此tac等于clk_b的数目。为了解决这个问题,可以做为解决方式是增加时脉树电源线的宽度,或者在时脉树电源线(powerline)上增加大电容,但是dram的面积也会因此增加。技术实现要素:因此,本发明的主要目的即在于提供一种dram控制dll的控制电路和控制方法,其中,当pd检测到接收到read命令时,滤波器增加dll的激活次数以更新延迟线。直到输出数据准备好发出时才考虑输出数据中的抖动,从而可以有效消除校准时钟与参考时钟之间的偏差,从而缩短dram的存取时间。本发明提供一种控制电路,用以控制在动态随机存取存储器(dram)内的一延迟锁相环(dll),该控制电路包含:该延迟锁相环,接收一参考时脉,并且更新一延迟线,然后通过一时脉树输出一校准时脉;一相位检测器(pd),接收该校准时脉,并且检测该校准时脉及该参考时脉之间的相位差;以及一滤波器,启动该延迟锁相环以根据该相位差更新该延迟线;其中,当动态随机存取存储器接收一读取(read)指令时,该滤波器增加该延迟锁相环的启动次数以更新该延迟线。本发明亦提供一种控制方法,用以控制在动态随机存取存储器(dram)内的一延迟锁相环(dll),该控制方法包含:通过该延迟锁相环,接收一参考时脉;通过该延迟锁相环,更新一延迟线;通过该延迟锁相环,通过一时脉树输出一校准时脉;通过一相位检测器(pd),接收该延迟锁相环输出的该校准时脉;通过相位检测器,检测该校准时脉及该参考时脉之间的相位差;以及通过一滤波器,启动该延迟锁相环以根据该相位差更新该延迟线;其中,当动态随机存取存储器接收一读取(read)指令时,该滤波器增加该延迟锁相环的启动次数以更新该延迟线。本发明中,控制电路包含延迟锁相环,接收一参考时脉,并且更新一延迟线,然后通过一时脉树输出一校准时脉;一相位检测器,接收该校准时脉,并且检测该校准时脉及该参考时脉之间的相位差;以及一滤波器,启动该延迟锁相环以根据该相位差更新该延迟线;其中,当动态随机存取存储器接收一读取指令时,该滤波器增加该延迟锁相环的启动次数以更新该延迟线。当相位检测器检测到接收到读取命令时,滤波器增加延迟锁相环的激活次数以更新延迟线,直到输出数据准备好发出时才考虑输出数据中的抖动,从而可以有效消除校准时钟与参考时钟之间的偏差,从而缩短动态随机存取存储器的存取时间。附图说明通过参考附图阅读随后的详细描述和示例,可以更全面地理解本发明。图1为用于控制dram中的dll10的现有技术控制电路;图2是图1中的控制电路的时序,说明了dram接收到read指令后,clk_r、clk_b与dq之间的关系;图3为本发明示例性实施例提供的具有决策模组的pd;图4为本发明实施例提供的图3中pd操作的波形和输出表;图5a为本发明示例性实施例提供的用于控制dram中的dll51的控制电路;图5b为本发明示例性实施例提供的用于控制dram中的dll51的另一控制电路;图6为本发明示例性实施例提供的图5a或者图5b中控制电路的时序图,说明了在dram接收到read指令后,clk_r、clk_b和dq之间的关系;图7为本发明示例性实施例提供的用于控制dram中的dll51的控制方法的流程图。符号说明:10延迟锁相环(dll)11时脉树12片外驱动器(ocd)13相位检测器(pd)14滤波器51延迟锁相回路(dll)52时脉树53片外驱动器(ocd)54相位检测器(pd)54a、55a决策模组55滤波器701~704步骤具体实施方式解密是为了说明本发明的一般原理的目的而做出的,不应该被理解为限制。本发明提供了一种控制电路和一种方法,以便在read指令被接收之后并且在准备好dq之前,增加用于dll以更新延迟线的启动次数。图3为本发明示例性实施例提供的具有决策模组的pd。图4为用于理解图3中的pd的操作的波形和输出表(outputtable)。pd能够检测clk_b的边缘与clk_r的边缘之间的关系,而后获得clk_b的边缘超前、落后或同步于clk_r的边缘的信息。接下来,在本发明中,基于该信息,滤波器根据clk_b的边缘和clk_r的边缘之间的关系来启动dll以更新延迟线。此外,本发明还包括一功能,可检测是否接收到read指令以及若dq已经准备好,然后生成锁定或解锁滤波器的信号。图3并不限制pd的架构,本领域技术人员应该理解,任何能够实现真值表功能的结构之电路皆落入本发明的范围内。在本发明的一个实施例中,pd包括决策模组,并且当决策模组检测到read指令已被接收时,pd锁定滤波器,然后将滤波器设置为禁用状态(disablestate)。因此,该滤波器会增加dll的启动次数以更新延迟线。在本发明的一个实施例中,滤波器在每个时脉周期启动dll。当根据read指令输出数据准备好时,pd然后在禁用状态下解锁滤波器。图5a为本发明示例性实施例提供的用于控制dram中的dll51的控制电路。dram包括dll51、时脉树52、ocd53、pd54与滤波器55。dll51包括由延迟器组成的延迟线,故通过更新电压、延迟器的rc值或延迟线的延迟器的数量,可以校准dll51的延迟时间。dll51接收clk_r并更新dll51的延迟线,然后通过时脉树52输出与clk_r同步的clk_b。如此,用于控制存取记忆体的dram的控制信号可以与clk_r同步。在本发明的一个实施例中,dll51经由时脉树52的一传输路径将clk_b传输到至少一个ocd53,时脉树52的该传输路径类似于每个路径,每个传输路径因此具有类似的rc延迟时间。pd54经由时脉树52接收clk_b,检测clk_b与clk_r之间的相位差,然后输出关于clk_r与clk_b之间是否存在任何偏斜以及read指令是否被dll51接收到的信息。在本发明的一个实施例中,pd54进一步包括决策模组54a。dram向决策模组54a发送read指令接收信号(readcommand_s)和dq准备信号(dqready_s),以向决策模组54a通知dram已接收到read指令并且dram已准备好dq。在决策模组54a接收到readcommand_s前,滤波器55被设置为启用状态并且启动dll51以根据相位差来更新延迟线。例如,当pd54多次检测到校准时脉的边缘连续地超前参考时脉的边缘或连续地落后参考时脉的边缘多次时(例如四次),滤波器55启动dll51以更新延迟线。当决策模组54a检测到readcommand_s时,pd54锁定滤波器55,然后将滤波器55设置为禁用状态以启动dll51在每个时脉周期或每几个周期更新延迟线。接下来,当决策模组54a检测到dqready_s时,pd54将处于禁用状态的滤波器55解锁,因此滤波器55被设置回使能状态。图5b为本发明示例性实施例提供的用于控制dram中的dll51的另一控制电路。滤波器55进一步包括决策模组55a。dram向决策模组55a发送read指令接收信号(readcommand_s)和dq准备信号(dqready_s),以通知决策模组55aread指令被接收了以及dq被准备好了。在决策模组55a接收到readcommand_s前,滤波器55被设置为启用状态,并且滤波器55启动dll51以根据相位差来更新延迟线。例如,当pd54多次检测到校准时脉的边缘连续地超前参考时脉的边缘或连续地落后参考时脉的边缘多次时(例如四次),滤波器55启动dll51以更新延迟线。当决策模组55a检测到readcommand_s时,滤波器55被锁定,然后被设置为禁用状态以启动dll51以在每个时脉周期或每几个周期更新延迟线。接下来,当决策模组55a检测到dqready_s时,处于禁用状态的滤波器55被解锁并因此回到启用状态。图6为图5a或图5b中控制电路的时序图,说明了在dram接收到read指令后,clk_r、clk_b和dq之间的关系。而且,图7为本发明示例性实施例的用于控制dram中的dll51的控制方法之流程图。本发明的read操作可以通过在一起参考图6和图7更容易理解。首先,滤波器55被设置为启用状态,并且当通过pd54检测到clk_b的边缘连续领先或落后于clk_r的边缘四次时(在图7中的步骤701处)。在dll51更新延迟线(由白色箭头指示)之后,clk_b将与clk_r同步。当决策模组54a或55a13a检测到readcommand_s时(在图6中的周期t0和图7中的步骤702处),将滤波器55设置为禁用状态并且增加用于dll51更新延迟线的启动次数。更佳地,滤波器55启动dll51以在每个时脉周期更新延迟线(在图6中的周期和图7中的步骤703),藉此将dram的存取时间(tac)最小化。接着,当决策模组54a或55a检测到dqready_s时,将滤波器55设置为启用状态(在图6中的周期t4和图7中的步骤704)。因此,当pd54检测到校准时脉的边缘连续超前或连续落后到校准时脉的边沿四次时,滤波器55回到启动状态以使dll51更新延迟线(图6中的周期和图7中的步骤701)。尽管示例性的实施例已描述了本发明,但是本领域技术人员可理解以上描述将不限制其范围,本发明的范围内包含其他之修改和变化。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1