CN103019974B - 存储器访问处理方法及控制器 - Google Patents

存储器访问处理方法及控制器 Download PDF

Info

Publication number
CN103019974B
CN103019974B CN201210553090.8A CN201210553090A CN103019974B CN 103019974 B CN103019974 B CN 103019974B CN 201210553090 A CN201210553090 A CN 201210553090A CN 103019974 B CN103019974 B CN 103019974B
Authority
CN
China
Prior art keywords
dram
row
access
timing
line
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
Application number
CN201210553090.8A
Other languages
English (en)
Other versions
CN103019974A (zh
Inventor
王国民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huawei Digital Technologies Co Ltd
Original Assignee
Beijing Huawei Digital Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Huawei Digital Technologies Co Ltd filed Critical Beijing Huawei Digital Technologies Co Ltd
Priority to CN201210553090.8A priority Critical patent/CN103019974B/zh
Publication of CN103019974A publication Critical patent/CN103019974A/zh
Application granted granted Critical
Publication of CN103019974B publication Critical patent/CN103019974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例提供一种存储器访问处理方法及控制器,该方法包括:采用计数器对动态随机存储器DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1;若与所述DRAM的一行对应的时间T1大于所述DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新;本发明实施例中,本实施例中,通过对每一行在相邻两次访问之间的时间进行计时,若在刷新周期内该行被访问,则无需再进行刷新操作,减少了刷新的次数,从而节省了周期性刷新占用的带宽,对于超过刷新周期未被访问的行,采用进行一次访问的方式代替刷新,无需考虑专门进行刷新操作的问题,从而在设计上也更为简单。

Description

存储器访问处理方法及控制器
技术领域
本发明实施例涉及通信技术,尤其涉及一种存储器访问处理方法及控制器。
背景技术
随着网络设备的速率越来越高,板级信号完整性(SI)/电源完整性(PI)设计难度大,对存储器的带宽要求越来越高。
现有技术中,动态随机存储器(DynamicRandomAccessMemory,简称DRAM)为一种常见的系统内存,由于DRAM中电容的电荷每过一段时间就会丢失,因而只能将数据保存很短的时间,为了保存数据,需要对DRAM进行周期性刷新操作,即对DRAM进行电荷补充。
发明人在实现本发明实施例的过程中发现,现有技术中对DRAM进行刷新操作、读操作或写操作等,都要占用同一接口,在进行刷新操作时,不能同时进行读操作或写操作,且执行刷新操作后,需要经过一定时间才可以进行读操作或写操作,因而对DRAM进行周期性刷新会占用较大存储器的带宽,造成读操作和写操作的延迟。
发明内容
本发明实施例提供一种存储器访问处理方法及控制器,用于解决动态随机存储器DRAM周期性刷新占用较大存储器带宽,造成读操作或写操作延迟的问题。
本发明第一方面提供一种存储器刷新处理方法,包括:
采用计数器对动态随机存储器DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1
若与所述DRAM的一行对应的时间T1大于所述DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新。
结合第一方面,在第一方面第一种可能的实施方式中,所述计数器具体为:带有片内随机存储器IRAM的计数器。
结合第一方面第一种可能的实施方式,在第一方面第二种可能的实施方式中,所述IRAM包括至少一个静态随机存储器SRAM单元,其中,每一个SRAM单元用于存储所述DRAM的一行对应的计时结果T1
结合第一方面至第一方面第二种可能的实施方式中任一项,在第一方面第三种可能的实施方式中,所述采用计数器对DRAM的每一行在相邻两次访问之间的空闲时间进行计时,获取计时结果T1之后,还包括:
根据所述计时结果T1获取访问频率最高的DRAM行,将该行对应的存储内容写入IRAM中,以优化访问方式。
结合第一方面至第一方面第二种可能的实施方式中任一项,在第一方面第四种可能的实施方式中,所述采用计数器对DRAM的每一行在相邻两次访问之间的空闲时间进行计时,获取计时结果T1之后,还包括:
根据所述计时结果T1获取在预设时间之后仍不被访问的DRAM行,屏蔽对该DRAM行的访问操作,以优化访问方式。
结合第一方面至第一方面第四种可能的实施方式中任一项,在第一方面第五种可能的实施方式中,所述访问包括:对所述DRAM进行读操作或写操作。
本发明实施例第二方面提供一种控制器,包括:
计时模块,用于采用计数器对动态随机存储器DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1
刷新模块,用于若与所述DRAM的一行对应的时间T1大于所述DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新。
结合第二方面,在第二方面第一种可能的实施方式中,所述计时模块采用的计数器具体为:带有片内随机存储器IRAM的计数器。
结合第二方面第一种可能的实施方式,在第二方面第二种可能的实施方式中,所述IRAM包括至少一个静态随机存储器SRAM单元,其中,每一个SRAM单元用于存储所述DRAM的一行对应的计时结果T1
结合第二方面至第二方面第二种可能的实施方式中任一项,在第二方面第三种可能的实施方式中,所述控制器还包括:
读写模块,用于根据所述计时结果T1获取访问频率最高的DRAM行,将该行对应的存储内容写入IRAM中,以优化访问方式。
结合第二方面至第二方面第二种可能的实施方式中任一项,在第二方面第四种可能的实施方式中,所述控制器还包括:
屏蔽模块,用于根据所述计时结果T1获取在预设时间之后仍不被访问的DRAM行,屏蔽对该DRAM行的访问操作,以优化访问方式。
结合第二方面至第二方面第四种可能的实施方式中任一项,在第二方面第五种可能的实施方式中,所述访问包括:对所述DRAM进行读操作或写操作。
本发明实施例中,通过对每一行在相邻两次访问之间的时间进行计时,若在刷新周期内该行被访问,则无需再进行刷新操作,减少了刷新的次数,可以节省刷新操作占用的带宽,另外,将访问频率最高的行的内容写到IRAM内,并且屏蔽长期不被访问行的访问操作,从而很大程度地节省了周期性刷新占用的带宽,对于超过刷新周期未被访问的行,采用进行一次访问的方式代替刷新,无需考虑专门进行刷新操作的问题,从而在设计上也更为简单。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的存储器刷新处理方法实施例一的流程示意图;
图2为本发明提供的控制器实施例一的结构示意图;
图3为本发明提供的控制器实施例二的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的存储器刷新处理方法实施例一的流程示意图,如图1所示,该方法包括:
S101、采用计数器对DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1
S102、若与该DRAM的一行对应的时间T1大于该DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新操作;
需要说明的是,由于DRAM中电容的电荷每过一段时间就会丢失,因而只能将数据保存很短的时间,为了保存数据,需要对DRAM进行刷新操作,即对DRAM进行电荷补充,与现有技术不同,本实施例中,如果通过计数器获知DRAM中的某一行超过刷新周期T2没有被访问,则对该行进行一次访问,而不必进行专门的周期性刷新操作,一般可以是进行一次读操作或写操作,对该行进行一次读操作或写操作同样可以达到刷新的目的,即为该行的电容进行电荷补充;
另外,上述计数器对每一行进行计时时,是在该行被访问后开始计时,只要该行被访问,则该计数器对这一行的计时进行清零操作,重新开始计时。
本实施例中,通过对每一行在相邻两次访问之间的时间进行计时,若在刷新周期内该行被访问,则无需再进行刷新操作,减少了刷新的次数,从而节省了周期性刷新占用的带宽,对于超过刷新周期未被访问的行,采用进行一次访问的方式代替刷新,无需考虑专门进行刷新操作的问题,从而在设计上也更为简单。
进一步地,上述计数器为带有片内随机存储器(InterorRAM,简称IRAM)的计数器,具体地,该IRAM包括至少一个静态随机存储器(StaticRAM,简称SRAM)单元,其中,每一个SRAM单元用于存储上述DRAM的一行对应的计时结果T1,这样的话使得计数器在工艺上更加简单,即无需给每一行配置一个计数器,只要将对每一行的计时结果存储在IRAM中的相应SRAM单元就可以了;需要说明的是,IRAM的容量为[(6+2)bit×DRAMSIZE]/(xburst×ybit×zcolumn),其中DRAMSIZE为上述DRAM的容量,burst表示脉冲,bit表示比特,column表示列。
在具体实现过程中,还可以在上述DRAM的物理层集成一个行访问记录电路,根据上述计数器的结果,对每一行的访问频率进行记录,具体地,根据上述方法可以得出,如果某一行对应的T1的最大值一直很小,说明该行被访问的频率较高,因为,每一次被访问,该行对应的T1都会被清零,再重新开始计时,所以可以根据T1值和被清零的次数,获取这一行的访问频率;若该T1长期处于增长状态,直到大于刷新周期T2,被动执行一次访问操作,这样的行可以被认为是长期不被访问行。
因此,进一步地,可以根据上述计时结果T1获取访问频率最高的DRAM行,将该行对应的存储内容写入IRAM,以优化访问方式;具体地,可以是将这一行的存储内容先读出,然后写入IRAM内的行缓存器,这样,下次这一行被访问时,则直接访问IRAM即可,减少对接口总线的占用;
另外,还可以根据上述计时结果T1获取在预设时间之后仍不被访问的DRAM行,屏蔽对该DRAM行的访问操作,以优化访问方式;即在预设时间内该行都是被动在超过刷新周期时被访问,那么预设时间后,可以认为该行是访问率极低的行或者永不被访问的行,屏蔽对该DRAM行的访问。
需要说明的是,本实施例中的访问,可以是对上述DRAM进行读操作或写操作。
以一个300G系统芯片为例,该芯片缓存采用24组800MHz双倍速率同步动态随机存储器(DoubleDataRateDRAM,简称DDR),每组DDR为1片16bit位宽,则该芯片实际读写总带宽为2×16bit×800MHz×24=614.4Gbit/s,当存储器有5%的刷新带宽损失时,系统带宽614.4×(1-5%)=583.68Gbit/s,小于600Gbit/s,为了满足芯片达到双向300G性能,以该系统中包含24片,每片2Gbit/s的DDR为例,其中各行被访问的平均周期为24×2Gbit/600Gbps=80ms,而该DDR的刷新周期为64ms,采用本实施例的方法,其中那些不到64ms就被访问的行不需要进行刷新,那么超过64ms不被访问,需要被动访问进行刷新的行所占的比例为(80-64)/80=20%,这样的话,原5%的刷新带宽损失就可以降低20%,即现在的系统刷新损失为5%×20%=1%,那么614.4×(1-1%)=608.258Gbit/s,大于600Gbit/s,即芯片达到双向300G性能的要求;此时,IRAM容量为(6+2)bit×DRAMSIZE/(xburst×ybit×zcolumn)=8×2G/(8×16×1K)=16KB,其中根据具体场景以及控制器的性能,对该DDR类器件,可以优选burst为8,column为1K,即x=8,z=1K。
本实施例中,通过对每一行在相邻两次访问之间的时间进行计时,若在刷新周期内该行被访问,则无需再进行刷新操作,减少了刷新的次数,另外,将访问频率最高的行的内容写到IRAM内,并且屏蔽长期不被访问行的访问操作,从而很大程度地节省了周期性刷新占用的带宽,对于超过刷新周期未被访问的行,采用进行一次访问的方式代替刷新,无需考虑专门进行刷新操作的问题,从而在设计上也更为简单。
图2为本发明提供的控制器实施例一的结构示意图,该控制器可以是DRAM控制器,如图2所示,该控制器包括:计时模块201和刷新模块202,其中:
计时模块201,用于采用计数器对动态随机存储器DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1
刷新模块202,用于若与所述DRAM的一行对应的时间T1大于所述DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新。
具体实现过程中,上述计时模块201中采用的计数器具体为:带有片内随机存储器IRAM的计数器;进一步地,所述IRAM包括至少一个静态随机存储器SRAM单元,其中,每一个SRAM单元用于存储所述DRAM的一行对应的计时结果T1
图3为本发明提供的控制器实施例一的结构示意图,如图3所示,在图2的基础上,该控制器还包括:读写模块203和屏蔽模块204,其中:
读写模块203,用于根据所述计时结果T1获取访问频率最高的DRAM行,将该行对应的存储内容写入IRAM中,以优化访问方式。
屏蔽模块204,用于根据所述计时结果T1获取在预设时间之后仍不被访问的DRAM行,屏蔽对该DRAM行的访问操作,以优化访问方式。
需要说明的是,本实施例中的访问可以是对所述DRAM进行读操作或写操作。
上述控制器中各模块可执行图1所示方法实施例,在此不再赘述。
本实施例中,通过对每一行在相邻两次访问之间的时间进行计时,若在刷新周期内该行被访问,则无需再进行刷新操作,减少了刷新的次数,另外,将访问频率最高的行的内容写到IRAM内,并且屏蔽长期不被访问行的访问操作,从而很大程度地节省了周期性刷新占用的带宽,对于超过刷新周期未被访问的行,采用进行一次访问的方式代替刷新,无需考虑专门进行刷新操作的问题,从而在设计上也更为简单。
本发明另一实施例还包括一种控制器,该控制器可以为DRAM控制器,包括计数器和处理器,其中,计数器用于采用计数器对动态随机存储器DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1;处理器,用于若与所述DRAM的一行对应的时间T1大于所述DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新。
进一步地,上述采用的计数器具体为:带有片内随机存储器IRAM的计数器;具体地,该IRAM包括至少一个静态随机存储器SRAM单元,其中,每一个SRAM单元用于存储所述DRAM的一行对应的计时结果T1
更进一步地,上述处理器,还用于根据所述计时结果T1获取访问频率最高的DRAM行,将该行对应的存储内容写入IRAM中,以优化访问方式;根据所述计时结果T1获取在预设时间之后仍不被访问的DRAM行,屏蔽对该DRAM行的访问操作,以优化访问方式。
需要说明的是,本实施例中,所述访问包括:对所述DRAM进行读操作或写操作。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种存储器刷新处理方法,其特征在于,包括:
采用计数器对动态随机存储器DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1
若与所述DRAM的一行对应的时间T1大于所述DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新。
2.根据权利要求1所述的方法,其特征在于,所述计数器具体为:带有片内随机存储器IRAM的计数器。
3.根据权利要求2所述的方法,其特征在于,所述IRAM包括至少一个静态随机存储器SRAM单元,其中,每一个SRAM单元用于存储所述DRAM的一行对应的计时结果T1
4.根据权利要求3所述的方法,其特征在于,所述采用计数器对DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1之后,还包括:
根据所述计时结果T1获取访问频率最高的DRAM行,将该行对应的存储内容写入IRAM中,以优化访问方式。
5.根据权利要求3所述的方法,其特征在于,所述采用计数器对DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1之后,还包括:
根据所述计时结果T1获取在预设时间之后仍不被访问的DRAM行,屏蔽对该DRAM行的访问操作,以优化访问方式。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述访问包括:对所述DRAM进行读操作或写操作。
7.一种控制器,其特征在于,包括:
计时模块,用于采用计数器对动态随机存储器DRAM的每一行在相邻两次访问之间的时间进行计时,获取计时结果T1
刷新模块,用于若与所述DRAM的一行对应的时间T1大于所述DRAM的刷新周期T2,则对该行进行访问处理,以对该行进行刷新。
8.根据权利要求7所述的控制器,其特征在于,所述计时模块采用的计数器具体为:带有片内随机存储器IRAM的计数器。
9.根据权利要求8所述的控制器,其特征在于,所述IRAM包括至少一个静态随机存储器SRAM单元,其中,每一个SRAM单元用于存储所述DRAM的一行对应的计时结果T1
10.根据权利要求9所述的控制器,其特征在于,还包括:
读写模块,用于根据所述计时结果T1获取访问频率最高的DRAM行,将该行对应的存储内容写入IRAM中,以优化访问方式。
11.根据权利要求9所述的控制器,其特征在于,还包括:
屏蔽模块,用于根据所述计时结果T1获取在预设时间之后仍不被访问的DRAM行,屏蔽对该DRAM行的访问操作,以优化访问方式。
12.根据权利要求7~11任一项所述的控制器,其特征在于,所述访问包括:对所述DRAM进行读操作或写操作。
CN201210553090.8A 2012-12-18 2012-12-18 存储器访问处理方法及控制器 Active CN103019974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210553090.8A CN103019974B (zh) 2012-12-18 2012-12-18 存储器访问处理方法及控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210553090.8A CN103019974B (zh) 2012-12-18 2012-12-18 存储器访问处理方法及控制器

Publications (2)

Publication Number Publication Date
CN103019974A CN103019974A (zh) 2013-04-03
CN103019974B true CN103019974B (zh) 2016-08-03

Family

ID=47968598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210553090.8A Active CN103019974B (zh) 2012-12-18 2012-12-18 存储器访问处理方法及控制器

Country Status (1)

Country Link
CN (1) CN103019974B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105448341B (zh) * 2014-08-25 2019-08-09 华邦电子股份有限公司 存储电路及其更新方法
CN105489240A (zh) * 2015-11-30 2016-04-13 中国科学院计算技术研究所 一种用于DRAM或eDRAM刷新的装置及其方法
CN106128499A (zh) * 2016-06-28 2016-11-16 田彬 一种用于DRAM或eDRAM刷新的装置及刷新方法
CN107015628B (zh) * 2017-03-30 2020-08-28 中国科学院计算技术研究所 一种面向近似应用的低开销dram刷新方法及系统
SG11201908904TA (en) * 2017-04-14 2019-10-30 Huawei Tech Co Ltd Memory refresh technology and computer system
CN108319556B (zh) * 2017-12-28 2019-01-18 湖北经济学院 一种新的面向刷新的内存预取控制器及方法
WO2021147043A1 (zh) * 2020-01-22 2021-07-29 华为技术有限公司 一种存储器、控制器、刷新方法及存储系统
CN114388025B (zh) * 2021-12-30 2022-09-13 中科声龙科技发展(北京)有限公司 动态随机存储器刷新电路和刷新方法、工作量证明芯片

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815625A (zh) * 2005-11-18 2006-08-09 宁波中科集成电路设计中心有限公司 一种同步动态存储器控制器的设计方法
CN102081964A (zh) * 2009-11-30 2011-06-01 国际商业机器公司 动态随机访问存储器刷新的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941415B1 (en) * 2000-08-21 2005-09-06 Micron Technology, Inc. DRAM with hidden refresh
US7433258B2 (en) * 2003-10-10 2008-10-07 Datasecure Llc. Posted precharge and multiple open-page RAM architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1815625A (zh) * 2005-11-18 2006-08-09 宁波中科集成电路设计中心有限公司 一种同步动态存储器控制器的设计方法
CN102081964A (zh) * 2009-11-30 2011-06-01 国际商业机器公司 动态随机访问存储器刷新的方法和系统

Also Published As

Publication number Publication date
CN103019974A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN103019974B (zh) 存储器访问处理方法及控制器
US9431064B2 (en) Memory circuit and cache circuit configuration
US8599634B1 (en) Circuit and method for refreshing a memory module
CN106856098B (zh) 一种用于DRAM或eDRAM刷新的装置及其方法
KR20170012399A (ko) 메모리 시스템에서 데이터 구조들을 세그먼트하기 위한 시스템들 및 방법들
CN102541458B (zh) 一种提高电子硬盘数据写入速度的方法
CN104143355B (zh) 一种刷新动态随机存取存储器的方法和装置
CN105808455B (zh) 访问内存的方法、存储级内存及计算机系统
CN101446924A (zh) 一种数据存储及获取方法、系统
CN105518784A (zh) 具有用于高可靠性操作的存储控制器的数据处理器和方法
US9417816B2 (en) Partitionable memory interfaces
WO2016176807A1 (zh) 一种dram刷新方法、装置和系统
CN104505117A (zh) 一种动态存储器刷新方法与刷新控制器
CN111158633A (zh) 一种基于fpga的ddr3多通道读写控制器及控制方法
CN104616688A (zh) 一种集成mram的固态硬盘控制芯片及固态硬盘
CN102314321B (zh) 存储系统、运用存储系统进行数据访问的方法和装置
US20140258606A1 (en) Storage control device, storage device, information processing system, and storage control method
US9685220B2 (en) DDR controller, method for implementing the same, and chip
CN104122977A (zh) 一种存储数据的方法及存储系统
US8750068B2 (en) Memory system and refresh control method thereof
CN204270293U (zh) 多通道Flash控制器
CN103177751A (zh) 一种存储器阵列结构
CN109920467B (zh) 一种用于多存储芯片测试的方法
EP2851802A1 (en) Memory scheduling method and memory controller
CN102736996A (zh) 一种减少存储控制器接口占用的方法及高速存储器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant