1.一种用于DRAM或eDRAM刷新的装置,用于在DRAM或eDRAM的每个数据库的数据保持时间内执行刷新操作,包括:
刷新控制装置,其用于控制刷新周期小于数据保持时间,且控制生成是否执行刷新的信号;
内存控制装置,其接收读写请求,并根据所述刷新控制装置生成的信号,向内存发送读写请求或刷新命令;
其中,内存控制装置在向内存发送刷新请求后,在刷新执行的过程中,如果接收到读写请求,内存控制装置向刷新控制装置请示可否中断刷新而执行读写操作,刷新控制装置在预定条件下生成暂停刷新的信号,所述预定条件为刷新可以中断一延迟时间,该延迟时间为数据保持时间与刷新周期之间的差值。
2.如权利要求1所述的用于DRAM或eDRAM刷新的装置,其中,所述刷新控制装置在刷新周期开始时,生成执行刷新信号,并通知内存控制装置控制内存执行刷新操作,当满足预定条件时,刷新控制装置生成暂停刷新的信号,并通知内存控制装置控制内存暂停刷新,执行读写操作,当读写操作的累计时间超过延迟时间时,所述刷新控制装置再次生成执行刷新信号,并通知内存控制装置控制内存执行刷新操作,不再响应内存控制装置的读写请求,直到刷新完成。
3.如权利要求2所述的用于DRAM或eDRAM刷新的装置,其中,刷新完成后,内存控制装置控制内存执行读写操作,直到下一个刷新周期开始,再次执行刷新操作。
4.如权利要求3所述的用于DRAM或eDRAM刷新的装置,其中,所述刷新控制装置包括:
刷新周期寄存器,其用来存储刷新周期;
刷新延迟计数器,其用来存储当前刷新已经被延迟的时间;
刷新周期定时器,其用来记录当前刷新周期已经经过的时间;
刷新行数计数器,其用来记录数据库中当前刷新已经被刷新的数据的行数;
总行数寄存器,其用来存储数据库中的数据的总行数;以及
刷新延迟寄存器,其用来存储刷新总的可以被延迟的时间,即该延迟时间。
5.如权利要求4所述的用于DRAM或eDRAM刷新的装置,其中,所述刷新控制装置还包括:
刷新逻辑器,其根据所述总行数寄存器计算刷新完成所需要的时间;还根据所述刷新行数计数器计算刷新完成所需要的剩余时间;还根据刷新周期寄存器确定刷新周期的开始;还根据刷新周期定时器确定已经刷新的时间;还根据刷新延迟寄存器与刷新延迟计数器之间的差值,确定暂停刷新的时间。
6.如权利要求5所述的用于DRAM或eDRAM刷新的装置,其中,所述内存控制装置包括:
读缓存,其用来缓存从内存中读出的数据;
写缓存,其用来缓存将要写入到内存的数据;
控制逻辑,其用来接收读写请求,并根据所述刷新控制装置生成的信号,向内存发送读写请求或刷新命令;以及
内存控制信号发生器,其用来将控制逻辑发送的命令译码成内存可以识别的命令。
7.如权利要求6所述的用于DRAM或eDRAM刷新的装置,其中,每个数据库配置一套刷新装置;或者一组具有相同行数的数据库配置一套刷新装置。
8.如权利要求7所述的用于DRAM或eDRAM刷新的装置,其中,每个数据库的刷新装置相互独立运行。
9.一种用于DRAM或eDRAM刷新方法,用于在DRAM或eDRAM的每个数据库的数据保持时间内执行刷新操作,包括:
设置刷新周期小于数据保持时间,且在刷新周期开始时,刷新控制装置生成执行刷新的信号;
内存控制装置根据所生成的执行刷新的信号,向内存发送刷新命令;
若在刷新过程中,内存控制装置接收到读写请求,则向刷新控制装置请示可否中断刷新而执行读写操作;
刷新控制装置生成暂停刷新的信号,该暂停刷新信号的累计适用时间为一延迟时间,该延迟时间为数据保持时间与刷新周期之间的差值。
10.如权利要求9所述的用于DRAM或eDRAM刷新方法,所述延迟时间为3-5秒。