一种用于DRAM或eDRAM刷新的装置及刷新方法与流程

文档序号:11867514阅读:367来源:国知局
一种用于DRAM或eDRAM刷新的装置及刷新方法与流程

本发明涉一种刷新电路,尤其涉及一种用于DRAM或eDRAM刷新的装置及刷新方法。



背景技术:

DRAM(Dynamic Random Access Memory),即动态随机存取存储器,是最为常见的系统内存。DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。由于DRAM由MOS技术制造,使用电容来做存储单元。DRAM的功耗低,速度慢。另一方面,静态随机存储器(SRAM)速度快并且不需要刷新,然而静态随机存储器(SRAM)的面积太大并且更昂贵,因此DRAM应用比SRAM更广泛。

静态随机存储器(SRAM)是用触发器来存储信息,而DRAM用电容来存储信息。但是电容会逐渐漏电,从而丢失数据。因此DRAM的存储单元需要周期性的刷新,刷新周期要小于数据保持时间,如果存储单元没有在数据保持时间内被刷新,存储信息就会丢失。在传统的集中刷新方式中,在每个刷新周期内都会有段时间用来进行刷新(如图1),在每个刷新周期内,时间轴被分成两个部分,一部分时间用于读写,另一部分时间用于刷新。当DRAM在进行刷新时,无法进行读写操作,这一段时间被称作死区时间,如此一来就降低了DRAM读写量,并且使得读写的延迟时间增加。

因此,如何降低DRAM读写延迟成为本领域技术人员所要解决的一大难题,如何提供一种可以改进集中刷新的方式使刷新变得更加灵活,协调刷新与读写冲突,进而提高DRAM的吞吐量的用于DRAM或eDRAM刷新的装置为本领域技术人员以及相关厂商所急欲解决的问题所在。



技术实现要素:

针对上述技术问题,本发明的一个目的是解决至少上述问题和缺陷,并提供至少后面将说明的优点。

本发明设计开发了一种用于DRAM或eDRAM刷新的装置及刷新方法,本发明的主要目的在于提供一种可以改进集中刷新的方式使刷新变得更加灵活,协调刷新与读写冲突,进而提高DRAM的吞吐量的用于DRAM或eDRAM刷新的装置。

为了实现根据本发明的这些目的和其它优点,提供了一种用于DRAM或eDRAM刷新的装置及刷新方法,用于在DRAM或eDRAM的每个数据库的数据保持时间内执行刷新操作,包括:刷新控制装置,其用于控制刷新周期小于数据保持时间,且控制生成是否执行刷新的信号;内存控制装置,其接收读写请求,并根据所述刷新控制装置生成的信号,向内存发送读写请求或刷新命令;其中,内存控制装置在向内存发送刷新请求后,在刷新执行的过程中,如果接收到读写请求,内存控制装置向刷新控制装置请示可否中断刷新而执行读写操作,刷新控制装置在预定条件下生成暂停刷新的信号。

优选的是,其中,所述预定条件为刷新可以中断一延迟时间,该延迟时间为数据保持时间与刷新周期之间的差值。

优选的是,其中,所述刷新控制装置在刷新周期开始时,生成执行刷新信号,并通知内存控制装置控制内存执行刷新操作,当满足预定条件时,刷新控制装置生成暂停刷新的信号,并通知内存控制装置控制内存暂停刷新,执行读写操作,当读写操作的累计时间超过延迟时间时,所述刷新控制装置再次生成执行刷新信号,并通知内存控制装置控制内存执行刷新操作,不再响应内存控制装置的读写请求,直到刷新完成。

优选的是,其中,刷新完成后,内存控制装置控制内存执行读写操作,直到下一个刷新周期开始,再次执行刷新操作。

优选的是,其中,所述刷新控制装置包括:刷新周期寄存器,其用来存储刷新周期;刷新延迟计数器,其用来存储当前刷新已经被延迟的时间;刷新周期定时器,其用来记录当前刷新周期已经经过的时间;刷新行数计数器,其用来记录数据库中当前刷新已经被刷新的数据的行数;总行数寄存器,其用来存储数据库中的数据的总行数;以及刷新延迟寄存器,其用来存储刷新总的可以被延迟的时间,即该延迟时间。

优选的是,其中,所述刷新控制装置还包括:刷新逻辑器,其根据所述总行数寄存器计算刷新完成所需要的时间;还根据所述刷新行数计数器计算刷新完成所需要的剩余时间;还根据刷新周期寄存器确定刷新周期的开始;还根据刷新周期定时器确定已经刷新的时间;还根据刷新延迟寄存器与刷新延迟计数器之间的差值,确定暂停刷新的时间。

优选的是,其中,所述内存控制装置包括:读缓存,其用来缓存从内存中独处的数据;写缓存,其用来缓存将要写入到内存的数据;控制逻辑,其用来接收读写请求,并根据所述刷新控制装置生成的信号,向内存发送读写请求或刷新命令;以及内存控制信号发生器,其用来将控制逻辑发送的命令译码成内存可以识别的命令。

优选的是,其中,每个数据库配置一套刷新装置;或者一组具有相同行数的数据库配置一套刷新装置。

优选的是,其中,每组数据库的刷新装置相互独立运行。

一种用于DRAM或eDRAM刷新方法,用于在DRAM或eDRAM的每个数据库的数据保持时间内执行刷新操作,包括:

设置刷新周期小于数据保持时间,且在刷新周期开始时,刷新控制装置生成执行刷新的信号;

内存控制装置根据所生成的执行刷新的信号,向内存发送刷新命令;

若在刷新过程中,内存控制装置接收到读写请求,则向刷新控制装置请示可否中断刷新而执行读写操作;

刷新控制装置生成暂停刷新的信号,该暂停刷新信号的累计适用时间为一延迟时间,该延迟时间为数据保持时间与刷新周期之间的差值,所述延迟时间为3-5秒。

本发明至少包括以下有益效果:通过可中断集中刷新方式,解决刷新时不能进行读写的问题,进而增进了DRAM或者eDRAM的性能效果。在集中刷新时,工作可以被读写打断,从而减小了读写上延迟,使刷新变得更加灵活,刷新与读写工作变得更加协调,进而大大增加了工作效率。

本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。

附图说明

图1为现有的用于DRAM或eDRAM的集中刷新装置的工作示意图;

图2为本发明的用于DRAM或eDRAM刷新装置的工作示意图;

图3为本发明的用于DRAM或eDRAM刷新装置的系统架构示意图;

图4为本发明的用于DRAM或eDRAM刷新装置的内部结构示意图;

图5为本发明的用于DRAM或eDRAM刷新装置的一实施例示意图;

图6为本发明的用于DRAM或eDRAM刷新装置的另一实施例示意图;

图7为本发明的用于DRAM或eDRAM刷新装置的另一实施例示意图。

具体实施方式

下面结合附图对本发明做进一步的详细说明,以使得本领域技术人员参照说明书文字能够据以实施。

如图1所示为现有的集中刷新装置的工作示意图,其刷新周期(数据保持时间)包括读、写和刷新两部分,其在刷新的时候不能进行读写操作,如此一来使得DRAM或者eDRAM的工作效率变低。

如图2所示为本发明的用于DRAM或eDRAM刷新装置的工作示意图,该DRAM或eDRAM刷新装置设定刷新周期小于数据保持时间,所述数据保持时间为1-3秒。在每个刷新周期内时间域被分成三部分,第一部分叫做集中刷新时间,第一部分是做集中刷新,但是当有读写操作时,集中刷新可以被打断,优先进行读写操作;第二部分叫做延迟刷新时间,第二部分开始也是优先进行读写,但是当第二部分余下的时间恰能做完刷新操作时,则进行强制刷新操作,此时不响应读写请求。第三部分叫做读写时间,这部分只做读写操作

图3为本发明的用于DRAM或eDRAM刷新装置的系统架构示意图,用于DRAM或eDRAM刷新的装置,用于在DRAM或eDRAM的每个数据库的数据保持时间内执行刷新操作,包括:刷新控制装置,其用于控制刷新周期小于数据保持时间,且控制生成是否执行刷新的信号;内存控制装置,其接收读写请求,并根据所述刷新控制装置生成的信号,向内存发送读写请求或刷新命令;其中,内存控制装置在向内存发送刷新请求后,在刷新执行的过程中,如果接收到读写请求,内存控制装置向刷新控制装置请示可否中断刷新而执行读写操作,刷新控制装置在预定条件下生成暂停刷新的信号。所述预定条件为刷新可以中断一延迟时间,该延迟时间为数据保持时间与刷新周期之间的差值。所述刷新控制装置在刷新周期开始时,生成执行刷新信号,并通知内存控制装置控制内存执行刷新操作,当满足预定条件时,刷新控制装置生成暂停刷新的信号,并通知内存控制装置控制内存暂停刷新,执行读写操作,当读写操作的累计时间超过延迟时间时,所述刷新控制装置再次生成执行刷新信号,并通知内存控制装置控制内存执行刷新操作,不再响应内存控制装置的读写请求,直到刷新完成。刷新完成后,内存控制装置控制内存执行读写操作,直到下一个刷新周期开始,再次执行刷新操作。本发明的用于DRAM或eDRAM刷新装置分为两个部分即内存控制装置和刷新控制装置,刷新控制装置用来控制生成刷新信号,内存控制装置用来接收读写请求和向内存发送刷新请求或者读写请求,内存控制装置要根据刷新控制装置的输出来决定向内存发送读写请求还是刷新请求,刷新控制装置根据内存控制装置的输出来记录刷新是否被延迟。

图4为本发明的用于DRAM或eDRAM刷新装置的内部结构示意图,其中刷新控制装置包括:刷新周期寄存器5,其用来存储刷新周期;刷新延迟计数器6,其用来存储当前刷新已经被延迟的时间;刷新周期定时器7,其用来记录当前刷新周期已经经过的时间;刷新行数计数器8,其用来记录数据库中当前刷新已经被刷新的数据的行数;总行数寄存器10,其用来存储数据库中的数据的总行数;以及刷新延迟寄存器11,其用来存储刷新总的可以被延迟的时间,即该延迟时间。所述刷新控制装置还包括:刷新逻辑器9,其根据所述总行数寄存器计算刷新完成所需要的时间;还根据所述刷新行数计数器计算刷新完成所需要的剩余时间;还根据刷新周期寄存器确定刷新周期的开始;还根据刷新周期定时器确定已经刷新的时间;还根据刷新延迟寄存器与刷新延迟计数器之间的差值,确定暂停刷新的时间。所述内存控制装置包括:读缓存1,其用来缓存从内存中读出的数据;写缓存2,其用来缓存将要写入到内存的数据;控制逻辑3,其用来接收读写请求,并根据所述刷新控制装置生成的信号,向内存发送读写请求或刷新命令;以及内存控制信号发生器4,其用来将控制逻辑发送的命令译码成内存可以识别的命令。每个数据库配置一套刷新装置;或者一组具有相同行数的数据库配置一套刷新装置。每组数据库的刷新装置相互独立运行。

在一实施例中如图5所示,用于DRAM或eDRAM刷新方法,用于在DRAM或eDRAM的每个数据库的数据保持时间内执行刷新操作,包括:设置刷新周期小于数据保持时间,且在刷新周期开始时,刷新控制装置生成执行刷新的信号;内存控制装置根据所生成的执行刷新的信号,向内存发送刷新命令;若在刷新过程中,内存控制装置接收到读写请求,则向刷新控制装置请示可否中断刷新而执行读写操作;刷新控制装置生成暂停刷新的信号,该暂停刷新信号的累计适用时间为一延迟时间,该延迟时间为数据保持时间与刷新周期之间的差值。

当只设置一组刷新装置时,所有的数据库的刷新操作相同。刷新逻辑器9通过判断各个刷新寄存器的状态向控制逻辑3发送。刷新行数计数器8对数据库刷新的行数进行计数,刷新延迟计数器11对刷新时的延迟时间进行计数,在集中刷新时,如果有读写请求则刷新被打断,刷新延迟计数器6开始计数。刷新逻辑器9发给控制逻辑3当前刷新是否可以被打断的信号,如果当前刷新没有完成,并且刷新延迟计数器6等于刷新延迟寄存器寄存器11,那么刷新逻辑器9返回一个刷新不可被打断信号,并且控制逻辑继续刷新剩余的行。如果刷新已完成,或者刷新延迟计数器6小于刷新延迟寄存器11,那么刷新逻辑器9返回一个可以被读写的信号。刷新周期寄存器5存储刷新周期的时间,刷新周期定时器一直开始计时,当刷新周期定时器7等于刷新周期时,表示到了下一个刷新周期,刷新周期定时器7,刷新行数计数器8,刷新延迟计数器6归零。

请参照图3,图4,图5,以下为本发明的用于DRAM或eDRAM刷新装置的工作流程:首先初始化寄存器,刷新周期寄存器5存储了DRAM的刷新周期,总行数寄存器10存储了DRAM一个数据库的行数,刷新延迟寄存器11存储了在集中刷新时刷新可以被延迟的时间。其中,刷新延迟时间+刷新周期<=存储单元的数据保持时间,上述寄存器在正常工作前都需要提前配置好。

控制逻辑3用来接收外部的命令并执行,在访问存储单元之前,控制逻辑3都要检查一下刷新逻辑器9返回的信号,如果处于刷新状态那么就不执行,反之执行。当进入集中刷新时间时,如果控制逻辑3需要访问存储单元,刷新逻辑器9需要判断当前刷新是否能被打断,如果刷新延迟计数器6小于刷新延迟寄存器11,则当前刷新可以被打断,控制逻辑3开始访问存储单元,同时刷新延迟计数器6开始计数刷新被延迟的时间。刷新周期定时器7始终在计时,如果刷新周期定时器7等于刷新周期寄存器5,表示到了下一个刷新周期,刷新周期定时器,刷新行数计数器,刷新延迟计数器归零。

所述延迟时间为3-5秒,因为在此段时间内刷新频率能够保证最大限度的稳定与高效。

在另一种实例中,如图6所示,其每个单元的基本工作流程与原理与上述本发明的用于DRAM或eDRAM刷新装置的工作流程相同,故在此不再赘述,唯本实施例中,提供了多个数据库,并且每个数据库都有自己独立的刷新装置,每个数据库之间的刷新相互独立,当一个数据库在集中刷新时间内被打断时,不会影响到其他数据库的刷新。

在另一种实例中,如图7所示,其每个单元的基本工作流程与原理与上述本发明的用于DRAM或eDRAM刷新装置的工作流程相同,故在此不再赘述,唯本实施例中,所有的数据库都分成M个组,每组N个数据库,每组有一个独立的刷新装置,每个组之间的刷新相互独立,当一个组在集中刷新时间内被打断时,不会影响到其他组的刷新。

如上所述,根据本发明提供的一种用于DRAM或eDRAM刷新的装置,解决刷新时不能进行读写的问题,进而增进了DRAM或者eDRAM的性能效果。在集中刷新时,工作可以被读写打断,从而减小了读写上延迟,使刷新变得更加灵活,刷新与读写工作变得更加协调,进而大大增加了工作效率。

尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1