公开/公告号CN103559142A
专利类型发明专利
公开/公告日2014-02-05
原文格式PDF
申请/专利权人 中国科学院声学研究所;
申请/专利号CN201310541616.5
申请日2013-11-05
分类号G06F12/02;G11C11/406;
代理机构北京亿腾知识产权代理事务所;
代理人陈霁
地址 100190 北京市海淀区北四环西路21号
入库时间 2024-02-19 22:14:31
法律状态公告日
法律状态信息
法律状态
2017-03-08
授权
授权
2014-03-12
实质审查的生效 IPC(主分类):G06F12/02 申请日:20131105
实质审查的生效
2014-02-05
公开
公开
技术领域
本发明涉及一种内存刷新方法,具体而言,涉及一种动态随机访问存储 器的刷新方法。
背景技术
动态随机访问存储器(Dynamic Random Access Memory,DRAM)具有很 低的单元存储成本和很高的集成密度,被广泛应用于现代计算机系统中。DRAM 属于易失性存储器件,为了保持数据不丢失,需要进行刷新操作,JEDEC标 准规定DRAM单元的刷新周期为64ms(高温下为32ms),所有的DRAM的行必 须在刷新周期内被刷新。如果存储单元没有被刷新,存储的信息就会丢失。
目前DRAM内存控制器通常采用的调度算法是FR-FCFS(First-Ready First-Come-First-Serve,行命中优先-先来先服务),该算法确定下一个要 响应的内存访问请求,这种算法的主要特点在于行命中优先和最早的请求优 先。这种传统的调度算法在DRAM的某一行的刷新周期内该行被访问的概率有 限,所以减少的刷新次数有限。过去DRAM的容量较小,行数较少,完成刷新 的总时间较短。因此一个刷新脉冲完成所有行的刷新是可接受的,随着DRAM 容量的增大,刷新给访存操作带来的延时增大,降低了系统性能。
与本发明相关的现有技术中,现有的DRAM刷新方法有两种,一种是在DRAM 内存控制器中为存储器的每一行设置了一个2bit的计数器,来实现刷新控制。 将计数器置为初始值3,刷新周期为64ms,计数器按16ms为单位递减计数, 计数器减到0时对应的行进行刷新,如果在减到0之前该行被访问,将计数 器置为3,不需要对该行进行刷新。刷新操作是对DRAM的一行进行充电的过 程,该方案减少了刷新次数,降低了DRAM的功耗。但是在DRAM的某一行的 刷新周期内该行被访问的概率有限,所以减少的刷新次数有限。另一种是通 过对每一行在相邻两次访问之间的时间进行计时,若在刷新周期内该行被访 问,则无需再进行刷新操作,对于超过刷新周期未被刷新的行,通过一次读 操作或写操作代替刷新,无需考虑专门的刷新操作,但是这一做法增大了DRAM 的功耗并降低了带宽。
发明内容
本发明的目的是针对现有技术的缺点,提供一种DRAM的刷新方法,以解 决现有技术的内存刷新方法中刷新次数频繁,访存延迟和功耗大的问题,降 低了功耗并提高了性能。
为实现上述目的,本发明提供了一种DRAM的刷新方法,所述方法包括以 下步骤:
设置计数器的初始值;
每隔一递减周期,所述计数器递减计数;
判断所述DRAM的行是否被访问;
当所述DRAM的行被访问时,将计数器值置为所述初始值;
当所述DRAM的行未被访问时,如果当前计数值为零,则查找访存命令队 列中是否有对将刷新行的访问操作,如果有,则调度器按照优先顺序调度执 行对所述即将刷新行的访问命令;
如果访存命令队列中没有对将刷新行的访问操作,则调度器按照优先顺 序调度执行对该行的刷新命令;
当所述DRAM的行未被访问时,如果当前计数值大于零,则每隔一递减周 期,所述计数器递减计数。
优选地,所述调度器的调度算法包括行命中优先、即将刷新行的访问命 令优先和先到先服务三个优先级。
在上述方法中,在设置计数器的初始值之前,对每一个DRAM的行使用所 述计数器进行计数。
本发明的优点是采用行命中优先、即将刷新行的访问命令优先和先到先 服务三个优先级的调度算法,进行DRAM的控制操作,通过优先调度即将刷新 行的访问,代替了部分刷新操作,减少了刷新次数,降低了DRAM的功耗并提 高了系统性能。
附图说明
图1为本发明的DRAM的刷新方法的刷新控制电路的示意图。
图2为本发明的DRAM的刷新方法实施例一的流程图;
图3为本发明的DRAM的刷新方法实施例二的流程图。
具体实施方式
本发明的DRAM的刷新方法采用优先调度即将刷新行的访问,代替了传统 的刷新操作,减少了刷新次数,降低了DRAM的功耗并提高了系统性能。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明的DRAM的刷新方法的刷新控制电路的示意图,由于相对于 传统的DRAM的刷新增加了优先调度即将刷新行的访问,需要对DRAM的控制 器的结构进行修改,如图所示,每一条命令增加了一个比较器,用于在队列 中查找即将刷新的行的访问,其余模块均采用传统形式,提高了模块的通用 性。
DRAM的控制器中的调度器采用三个优先级的调度算法,包括行命中优先、 即将刷新行的访问命令优先和先到先服务。
图2为本发明的DRAM的刷新方法实施例一的流程图,如图所示,该方法 包括:
步骤101,设置计数器的初始值;
步骤102,每隔一递减周期,计数器递减计数;
步骤103,判断DRAM的行是否被访问;
步骤104,依据对DRAM的行是否被访问的判断,选择最佳的调度算法。
通过选择最佳的调度方法,当计数器的值为0时,优先调度即将刷新行 的访问,代替了部分刷新操作,减少了刷新次数,达到了降低DRAM的功耗并 提高系统性能的效果。
图3为本发明的DRAM的刷新方法实施例二的流程图,如图所示,包括如 下步骤:
步骤201,对DRAM中的每一行计数,设置初始值;
对每一个DRAM行设置一个计数器,并对每一个DRAM行进行计数。例如, DRAM刷新周期为64ms,计数器若按照16ms为单位递减来计数,则当计数器 减到0时,DRAM一个刷新周期结束,计数器的初始值T可以设置为3。
步骤202,每隔一递减周期,T值减1;
每隔一递减周期,计数器进行递减计数,例如,每隔16ms,计数值T值 减去1。
步骤203,判断该行是否被访问;
判断DRAM的行中是否有正在被访问的行,如果有,则进入步骤208;如 果没有,则进行下一步骤204。
步骤204,判断计数器值是否为零;
判断计数器值T是否为0,如果计数器值T大于0,则计数值每隔一递减 周期递减,例如每隔16msT值减去1。如果计数器值T等于0,则进行下一步 骤205。
步骤205,查找访存命令队列中是否有对该行的访问;
通过比较器查找访存命令队列中是否有对即将要刷新的行的访问操作, 如果有则进行步骤207;如果没有则进行步骤206。
步骤206,对该DRAM的行进行刷新操作;
通过步骤205利用比较器查找访存命令队列中没有对即将要刷新的行的 访问操作,则与该计数器对应的地址被插入到刷新命令队列中,调度器读取 该地址并发出刷新命令,对该行进行刷新操作,刷新完成后进入步骤208。
步骤207,根据优先顺序调度执行对即将刷新行的访问命令,访问该行;
通过步骤205利用比较器查找访存命令队列中有对即将要刷新的行的访 问操作,则调度器按照优先顺序调度执行对即将刷新行的访问命令,并进行 下一步骤208。
步骤208,计数值初始化;
在调度器完成一个调度之后,计数器值置为初始值,例如T=3,进入到下 一刷新循环中。
对每一个DRAM的行设置一个计数器,并对每一个DRAM的行进行计数。 每隔一递减周期,计数器递减计数,例如每隔16ms,计数值T值减去1。判 断DRAM的行中是否有正在被访问的操作。依据对DRAM的行是否被访问的判 断,选择最佳的调度算法,如果该DRAM的行正在被访问,则将该行计数器值 置为初始值,并进入到下一个刷新循环中。如果该DRAM的行没有被访问,则 每隔一递减周期,计数器递减计数,例如,计数值T每隔16ms减去1,当计 数值减小到0时,通过比较器查找访存命令队列中是否有对即将要刷新的行 的访问操作,如果有则优先调度执行,并将该行计数器值置为初始值T=3,进 入到下一个刷新循环中;如果没有,则与该计数器对应的地址被插入到刷新 命令队列中,调度器读取该地址并发出刷新命令,对该行进行刷新操作,刷 新完成后将该行计数器值置为初始值T=3,进入到下一个刷新循环中。
本发明在刷新控制电路中添加了用于在队列中查找即将刷新的行的访问 的比较器,调度器采用行命中优先、即将刷新行的访问命令优先和先到先服 务三个优先级的调度算法,进行DRAM的控制操作,通过优先调度即将刷新行 的访问,代替了部分刷新操作,减少了刷新次数,达到了降低DRAM的功耗并 提高系统性能的效果。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的 各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来 实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能 一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来 执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每 个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为 超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理 器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器 (RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、 寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式 的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而 已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做 的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 刷新动态随机访问存储器的方法,特别是在待机模式和活动操作模式下,以及对应于动态随机访问存储器的设备,例如合并到蜂窝电话中的方法
机译: 动态随机访问存储器的刷新周期建立方法及动态随机访问存储器
机译: 刷新集成到蜂窝电话中的动态随机访问存储器和相应的动态随机访问存储器的方法