CN110299164B - 一种自适应dram刷新控制方法和dram刷新控制器 - Google Patents
一种自适应dram刷新控制方法和dram刷新控制器 Download PDFInfo
- Publication number
- CN110299164B CN110299164B CN201910575913.9A CN201910575913A CN110299164B CN 110299164 B CN110299164 B CN 110299164B CN 201910575913 A CN201910575913 A CN 201910575913A CN 110299164 B CN110299164 B CN 110299164B
- Authority
- CN
- China
- Prior art keywords
- cache
- dram
- refresh
- command
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
为了降低现有DRAM刷新控制器基于tREFI发送刷新指令所带来的系统性能损失,本发明提供了一种自适应DRAM刷新控制方法和DRAM刷新控制器。本发明先将刷新指令进行缓存,然后判断读写总线状态,若读写总线空闲,将缓存的刷新指令顺序发送DRAM;若读写总线处于工作状态,依据缓存中刷新指令的数目决定是否将缓存的刷新指令顺序发给DRAM。
Description
技术领域
本发明属于存储器技术领域,涉及一种自适应DRAM刷新控制方法和DRAM刷新控制器。
背景技术
如图1中(a)图所示,传统的DRAM刷新控制器基于tREFI(平均刷新间隔,DRAMJEDEC术语)发送刷新指令,当tREFI计数器达到计数值(通常是7.8微秒)后,首先需要反压前一级电路产生的正常的读/写指令(即压住使读/写指令不被发送),然后发送刷新指令给DRAM。而读/写操作被反压(即停止读/写操作)后需要precharge(预充电)和重新active(激活),这将会造成系统性能损失。
如图1中(b)图所示,当写传输被刷新指令打断时,首先需要发送预充电命令PRE,之后才能发送刷新指令REF,刷新完成后需要重新激活要写的行,之后才能继续进行写操作;一笔写命令后需要经过WL+BL/2+tWR的时间才能发PRE(预充)命令,在经过tRP后才能发送REF(刷新)指令,REF(刷新指令)后需要tRFC才能发ACT(激活)命令,之后再经过tRCD才能发送下一笔写命令。正常情况下,上一笔WR(写命令)到下一笔WR(写命令)的时间间隔为tCCD。
以DDR4(2133bps)为例,tREFI是7.8us,WL=14tck,BL=8,tWR=15ns,tRP=15ns,tRFC=350ns,tRCD=15ns,tCCD=4tck,刷新指令带来的性能损失大约为:
(tck×(WL+BL/2)+tWR+tRP+tRFC+tRCD-tCCD×tck)/tREFI
=(0.938×(14+8/2)+15+15+350+15-4×0.938)/7800=5.2%。
上式中:WL指写延迟;BL指突发传输长度;tWR指写恢复时间;tRP指行预充电有效周期;tRFC指刷新周期;tRCD指行有效到列有效时间。
发明内容
为了降低现有DRAM刷新控制器基于tREFI发送刷新指令所带来的系统性能损失,本发明提供了一种自适应DRAM刷新控制方法和DRAM刷新控制器。
本发明的技术方案是:
一种自适应DRAM刷新控制方法,其特殊之处在于:
1)缓存刷新指令;
2)判断读写总线状态:
若读写总线空闲,将缓存的刷新指令顺序发送DRAM;
若读写总线处于工作状态,依据缓存中刷新指令的数目决定是否将缓存的刷新指令顺序发给DRAM。
进一步地,设定刷新指令的缓存上限值Y,当读写总线处于工作状态时,若缓存的刷新指令数目小于缓存上限值Y,不进行刷新指令发送;若缓存的刷新指令数目大于缓存上限值Y,反压读/写指令,将Z笔刷新指令顺序发送给DRAM,Z≤Y。
进一步地,刷新指令的发送间隔大于等于tRFC,tRFC为刷新周期。
进一步地,步骤1)采用缓存计数器实现刷新指令的缓存,即每缓存一笔刷新指令,缓存计数器的计数值加1,当有一笔刷新指令发送出去,缓存计数器的计数值减1。
或者,步骤1)采用FIFO实现刷新指令的缓存。
进一步地,Y≤16。
进一步地,Y≤8。
本发明还提供了一种自适应DRAM刷新控制器,包括:用于产生刷新指令的刷新指令生成装置和命令控制器,其特殊之处在于:还包括设置在所述刷新指令生成装置和命令控制器之间的缓存装置;所述缓存装置:存储所述刷新指令生成装置产生的刷新指令,并进行计数处理(对于FIFO,这里的计数处理可以理解为FIFO电路的“空”或“满”);所述命令控制器:判断读写总线状态以及缓存装置的计数结果,依据判断结果控制刷新指令的发送。
进一步地,所述命令控制器判断总线状态,当总线空闲时:命令控制器将缓存装置中的刷新指令发送给DRAM;当总线忙:判断缓存装置的计数结果,缓存装置的计数结果达到缓存上限值Y时,命令控制器反压读/写指令,将缓存装置中的Z笔刷新指令顺序发送DRAM,Z≤Y。
进一步地,所述的缓存装置为缓存计数器。
或者,所述的缓存装置为FIFO。
进一步地,所述Y≤16。
进一步地,所述Y≤8。
进一步地,所述刷新指令生成装置为tREFI计数器。
与现有技术相比,本发明的优点是:
1、本发明在DRAM刷新时,正常的读/写指令不被打断,能够提高读写访问效率,降低系统性能损失。
2、本发明将缓存上限Y设置为小于等于8,可以进一步降低DRAM的瞬态刷新功耗。
附图说明
图1是传统DRAM刷新控制器的电路原理及刷新操作时序图,其中:(a)为电路原理图,(b)为刷新操作时序图。
图2是本发明DRAM刷新控制器实施例一的原理示意图。
图3是本发明DRAM刷新控制器实施例二的原理示意图。
图4是本发明在总线空闲时发送缓存的刷新指令时序图。
图5是本发明在总线忙时发送缓存的刷新指令时序图。
图1中:WR是写命令;
PRE是预充电命令;
REF是刷新命令;
ACT是行激活命令。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明所提供的自适应DRAM刷新控制器,是在现有DRAM刷新控制器的基础上,在tREFI计数器和命令控制器之间设置缓存区进行刷新指令的缓存。当读/写正在进行时,刷新指令会被缓存起来,从而保证读/写不被打断而影响效率,当总线空闲时,缓存的刷新指令被发送给DRAM。
图2所示为本发明第一种实现方式,具体是在现有DRAM刷新控制器的基础上,在tREFI计数器和命令控制器之间设置FIFO进行刷新指令缓存,并设置FIFO的缓存上限值为Y,Y的值根据DRAM允许推迟刷新的数目决定,即DRAM允许Y个tREFI时间内的刷新命令被推迟发送而不丢失存储的数据。tREFI计数器每达到计数值,tREFI计数器产生一次FIFO写使能,通过FIFO写使能向FIFO中写入一笔刷新指令;当总线空闲时,命令控制器产生FIFO读使能,通过FIFO读使能从FIFO中读出缓存的刷新指令,然后将读出的刷新指令通过命令线发送给DRAM;若总线一直处于工作状态,命令控制器根据FIFO发出的刷新指令数目信号,判断FIFO中缓存的刷新指令数目是否达到缓存上限Y,则当缓存的刷新指令数目达到缓存上限Y后,命令控制器向前一级电路发出反压信号并将正在执行的读写命令执行完,之后产生FIFO读使能,通过FIFO读使能从FIFO中读出Z笔刷新指令,然后将读出的Z笔刷新指令通过命令线发送给DRAM;Z≤Y,Y可根据用户需求以及DRAM允许推迟刷新的数目设定,一般Y≤16;优选的,为进一步降低DRAM的瞬态刷新功耗,Y≤8。
图3所示为本发明第二种实现方式,具体是在现有DRAM刷新控制器的基础上,在tREFI计数器和命令控制器之间设置缓存计数器进行刷新指令缓存,并设置缓存计数器的缓存上限为Y,Y的值根据DRAM允许推迟刷新的数目决定,即DRAM允许Y个tREFI时间内的刷新命令被推迟发送而不丢失存储的数据。tREFI计数器达到计数值,tREFI计数器产生一次计数器加脉冲,缓存计数器的计数值加1,即向缓存计数器中写入一笔刷新指令;当总线空闲时,命令控制器产生计数器减脉冲,缓存计数器的计数值依次减1,即从缓存计数器中依次读出一笔刷新指令,然后将读出的刷新指令通过命令线发送给DRAM,直到缓存计数器减到0,即所有缓存的刷新指令都被发送给DRAM。如果减的过程中前一级电路接收到读写命令,则当前刷新指令执行完后优先执行读写指令;若总线一直处于工作状态,命令控制器根据缓存计数器发出的刷新指令数目信号,判断缓存计数器中缓存的刷新指令数目是否达到缓存上限Y,则当缓存的刷新指令数目达到缓存上限Y后,命令控制器向前一级电路发出反压信号,并产生计数器减脉冲,缓存计数器的计数值减Z,即从缓存计数器中读出Z笔刷新指令,然后将读出的Z笔刷新指令通过命令线发送给DRAM;Z≤Y,Y可根据用户需求以及DRAM允许推迟刷新的数目设定,一般Y≤16;优选的,为进一步降低系统功耗,Y≤8。
上述两种实现方式中,判断总线是否空闲是由命令控制器进行的,命令控制器会根据前一级电路产生的前级电路状态信号,判断总线是否空闲:前级电路状态信号表征了前一级电路是否有读/写命令在发送或者被调度,当有读/写命令在发送或者被调度时表示总线忙;否则,表示总线空闲。
在复位后,可以向缓存区(FIFO或缓存计数器)预存X笔刷新指令,当缓存区的刷新指令总数目(预存数目+缓存数目)达到缓存上限Y后,读/写指令被反压,然后将Z笔刷新指令通过命令控制器发送给DRAM;X≤Y。
本发明通过X、Y和Z的配置,可以满足不同存储控制器的需求。例如,可缓存的刷新指令数目X设置成8,缓存区的上限Y设置成16,读/写指令被反压后发送的刷新指令数目Z设置成1。
本发明所提供的DRAM刷新控制方法的具体过程:
1>总线空闲时发送缓存的刷新指令:
如图4所示,DRAM刷新控制器中的tREFI计数器每隔tREFI(平均刷新间隔)会内部产生一笔刷新指令,当读/写指令在执行时,先将这些刷新指令缓存下来不发送,当读写总线空闲时,再将这些被缓存的刷新指令通过命令控制器顺序发送给DRAM,并且刷新指令的发送间隔应大于等于tRFC(刷新周期),这样可保证DRAM刷新时正常的读/写指令不被打断,提高读写访问效率,降低系统性能损失。
2>总线忙时发送缓存的刷新指令(读/写指令被反压):
如图5所示,如果读写总线一直处于工作状态,当缓存区的刷新指令数目达到设置的缓存上限Y后,为保证DRAM中数据不丢失,此时命令控制器产生反压信号(如图中所示,刷新指令数目达到Y后,反压信号变为高电平)将读/写指令压住不发送,并将缓存区中的Z笔刷新指令通过顺序发送给DRAM,刷新指令的发送间隔应大于等于tRFC。
Claims (12)
1.一种自适应DRAM刷新控制方法,其特征在于:
1)响应于读/写正在进行时,利用缓存装置缓存刷新指令;
2)判断读写总线状态:
若读写总线空闲,将缓存的刷新指令顺序发送DRAM;
若读写总线处于工作状态,依据缓存中刷新指令的数目决定是否将缓存的刷新指令顺序发给DRAM;
所述若读写总线处于工作状态,依据缓存中刷新指令的数目决定是否将缓存的刷新指令顺序发给DRAM,包括:设定刷新指令的缓存上限值Y,当读写总线处于工作状态时,
若缓存的刷新指令数目小于缓存上限值Y,不进行刷新指令发送;
若缓存的刷新指令数目大于缓存上限值Y,反压读/写指令,将Z笔刷新指令顺序发送给DRAM,Z≤Y。
2.根据权利要求1所述的自适应DRAM刷新控制方法,其特征在于:刷新指令的发送间隔大于等于tRFC,tRFC为刷新周期。
3.根据权利要求1所述的自适应DRAM刷新控制方法,其特征在于:步骤1)采用缓存计数器实现刷新指令的缓存,即每缓存一笔刷新指令,缓存计数器的计数值加1,当有一笔刷新指令发送出去,缓存计数器的计数值减1。
4.根据权利要求1-3任一所述的自适应DRAM刷新控制方法,其特征在于:步骤1)采用FIFO实现刷新指令的缓存。
5.根据权利要求1-3任一所述的自适应DRAM刷新控制方法,其特征在于:Y≤16。
6.根据权利要求5所述的自适应DRAM刷新控制方法,其特征在于:Y≤8。
7.一种自适应DRAM刷新控制器,包括:
用于产生刷新指令的刷新指令生成装置和命令控制器,
其特征在于:
还包括设置在所述刷新指令生成装置和命令控制器之间的缓存装置;
所述缓存装置:存储所述刷新指令生成装置在读/写正在进行时,产生的刷新指令,并进行计数处理;
所述命令控制器:判断读写总线状态;
当总线空闲时:命令控制器将缓存装置中的刷新指令发送给DRAM;
当总线忙:判断缓存装置的计数结果,依据缓存中刷新指令的数目决定是否将缓存的刷新指令顺序发给DRAM;
缓存装置的计数结果达到缓存上限值Y时,命令控制器反压读/写指令,将缓存装置中的Z笔刷新指令顺序发送DRAM,Z≤Y。
8.根据权利要求7所述的自适应DRAM刷新控制器,其特征在于:所述缓存装置为缓存计数器。
9.根据权利要求7所述的自适应DRAM刷新控制器,其特征在于:所述缓存装置为FIFO。
10.根据权利要求7-9任一所述的自适应DRAM刷新控制器,其特征在于:所述Y≤16。
11.根据权利要求10所述的自适应DRAM刷新控制器,其特征在于:所述Y≤8。
12.根据权利要求8或7所述的自适应DRAM刷新控制器,其特征在于:所述刷新指令生成装置为tREFI计数器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575913.9A CN110299164B (zh) | 2019-06-28 | 2019-06-28 | 一种自适应dram刷新控制方法和dram刷新控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910575913.9A CN110299164B (zh) | 2019-06-28 | 2019-06-28 | 一种自适应dram刷新控制方法和dram刷新控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110299164A CN110299164A (zh) | 2019-10-01 |
CN110299164B true CN110299164B (zh) | 2021-10-26 |
Family
ID=68029471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910575913.9A Active CN110299164B (zh) | 2019-06-28 | 2019-06-28 | 一种自适应dram刷新控制方法和dram刷新控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110299164B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631701A (en) * | 1983-10-31 | 1986-12-23 | Ncr Corporation | Dynamic random access memory refresh control system |
JPH04143993A (ja) * | 1990-10-03 | 1992-05-18 | Toshiba Corp | Dramコントローラ |
JP5070656B2 (ja) * | 2000-12-20 | 2012-11-14 | 富士通セミコンダクター株式会社 | 半導体記憶装置 |
US6643732B1 (en) * | 2001-11-14 | 2003-11-04 | Etron Technology, Inc. | Delayed read/write scheme for SRAM interface compatible DRAM |
US7930471B2 (en) * | 2004-11-24 | 2011-04-19 | Qualcomm Incorporated | Method and system for minimizing impact of refresh operations on volatile memory performance |
CN107516539A (zh) * | 2016-06-15 | 2017-12-26 | 上海磁宇信息科技有限公司 | 一种mram芯片及其自刷新方法 |
CN106601286A (zh) * | 2016-12-20 | 2017-04-26 | 湖南国科微电子股份有限公司 | DDRx SDRAM存储器刷新方法及存储器控制器 |
JP6946168B2 (ja) * | 2017-12-22 | 2021-10-06 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
-
2019
- 2019-06-28 CN CN201910575913.9A patent/CN110299164B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110299164A (zh) | 2019-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6169658B2 (ja) | 有向自動リフレッシュ同期 | |
US7778099B2 (en) | Semiconductor memory, memory system, and memory access control method | |
US10522207B2 (en) | Performance of additional refresh operations during self-refresh mode | |
US7603512B2 (en) | Dynamic memory refresh controller, memory system including the same and method of controlling refresh of dynamic memory | |
CN100538882C (zh) | 一种同步动态存储器控制器的设计方法 | |
CN106856098B (zh) | 一种用于DRAM或eDRAM刷新的装置及其方法 | |
CN110520929B (zh) | 内存刷新方法、装置及计算机系统 | |
CN110546707B (zh) | 内存刷新技术及计算机系统 | |
CN109814811B (zh) | 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法 | |
KR20200067227A (ko) | 메모리 채널 상호연결의 정보에 근거하여 스토리지 장치 타스크들을 개시하기 위한 시스템 및 방법 | |
KR960008278B1 (ko) | 셀프-리프레쉬 모드에서 동작가능한 다이나믹형 반도체기억장치 및 그의 동작방법 | |
EP0588250A2 (en) | PSRAM refresh controller | |
CN113900818A (zh) | Ddr存储器数据读写调度方法和装置 | |
EP2660820A1 (en) | Ddr controller, and method and chip for implementing same | |
US20070247953A1 (en) | Memory control method and apparatuses | |
CN110299164B (zh) | 一种自适应dram刷新控制方法和dram刷新控制器 | |
WO2024140468A1 (zh) | 存储器的控制方法和控制器、以及芯片系统 | |
JP4518563B2 (ja) | 半導体記憶装置 | |
US20110010494A1 (en) | Memory control circuit and memory control method | |
JP2001035158A (ja) | メモリアクセス方法及びメモリアクセス方式 | |
US7330394B2 (en) | Information storage device, information storage method, and information storage program | |
CN100423081C (zh) | 硬件加速显示水平线段的装置及其方法 | |
CN102033832B (zh) | 一种同步动态存储器访存控制方法 | |
WO2022178772A1 (zh) | 一种存储器的刷新方法、存储器、控制器及存储系统 | |
JP4934118B2 (ja) | 半導体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |