一种混合内存的硬件实现系统及方法
【技术领域】
[0001]本发明涉及存储器领域,尤其涉及一种混合内存的硬件实现系统及方法。
【背景技术】
[0002]在过去几十年,动态随机存储器(Dynamic Random Access Memory, DRAM)成本随着摩尔定律不断降低。但随着特征尺寸越来越小,芯片对功耗的要求越来越高,由于DRAM存储电容漏电因此每隔一段时间就必须刷新一次,刷新功耗越来越大,图1为现有技术中DRAM刷新功耗的比重及趋势示意图,如图1所示,DRAM刷新功耗随着DRAM容量的增加而进一步增加。DRAM的刷新周期是由其存储单元中电荷的保持时间决定的。
[0003]图2a_2b为现有技术中DRAM保持时间分布示意图;其中图2a为整体分布预览图,图2b为尾段分布图,保持时间分布主要包括两部分,一部分是主要分布区(maindistribut1n),另一部分为尾端分布区(tail distribut1n),示意图如图2a_2b所示。图中可以看出,大多数存储单元的保持时间可以达到Is甚至更长时间,而只有不足1%的存储单元分布在尾端,它们的保持时间低于ls,甚至不到100ms。然而决定DRAM刷新时间的恰恰是分布在尾端的保持数据能力最差的存储单元(tail bit) ο目前,DRAM存储芯片的刷新周期为64ms,128ms,256ms等。刷新操作不仅会产生刷新功耗,同时也会降低DRAM性能,因为执行刷新操作时系统是不能够对DRAM进行访问的。
[0004]图3为现有技术中一种混合DRAM结构示意图,目前有一种提高刷新周期的方法就是采用混合内存的方式,添加非易失性的新型存储器,如图3所示。在DRAM非繁忙状态下将存储在DRAM尾端分布区的存储单元中的数据转移至新型存储器中,然后提高DRAM刷新周期,从而能够大大降低DRAM的刷新功耗,提高DRAM的性能。
[0005]这种技术方案还有许多问题没有解决,比如当内存控制器向混合内存请求数据时,发送了一个地址到混合内存,混合内存如何确定该地址所对应的数据是存储在NCM中,还是存储在DRAM中,NCM的物理地址与DRAM的物理地址又是如何实现映射的,这都是添加NCM存储的技术漏洞。
【发明内容】
[0006]针对现有技术中NCM实现混合内存存在的漏洞,本发明提供了一种一种混合内存的硬件实现系统及方法,提升DRAM阵列的刷新周期,降低刷新功耗。
[0007]本发明采用如下技术方案:
[0008]—种混合内存的硬件实现系统,所述硬件实现系统包括:
[0009]N个DRAM存储器,按照DRAM存储单元保持时间将所述DRAM存储器划分为主要分布区和尾端分布区,N为正整数;
[0010]至少一个NCM存储器,与所述DRAM存储器连接,能够替代存储所述DRAM存储器中的尾端分布区存储的数据;
[0011 ] 地址查找转换模块,分别与所述DRAM存储器、所述NCM存储器连接,且所述地址查找转换模块中预存包括所述DRAM存储器中尾端分布区存储数据的地址信息以及与之对应的NCM存储器中用以替代存储所述DRAM存储器中尾端分布区数据的地址信息;
[0012]控制模块,与所述地址查找转换模块连接,以获取并根据所述地址信息与所述地址映射关系判断所述系统数据的输出通路的来源,且所述控制模块根据所述输出通路的来源生成并输出控制信号;
[0013]多路选择器,分别与所述控制模块、所述DRAM存储器、所述NCM存储器连接,接收并根据所述控制信号选择数据进行输出。
[0014]优选的,所述NCM存储器为N个,每一个所述DRAM存储器均与一个所述NCM存储器连接。
[0015]优选的,所述硬件实现包括:
[0016]逻辑检测模块,与所述DRAM存储器连接,定期检测并确定所述DRAM存储器尾端分布区与所述主要分布区的保持时间界限,同时判断位于DRAM存储器中所述尾端分布区存储数据的地址信息。
[0017]优选的,所述地址查找转换模块包括:
[0018]DRAM地址存储阵列,存储有所述DRAM存储器中被替代的尾端分布区存储数据的地址信息;
[0019]NCM地址存储阵列,存储有替代所述DRAM存储器中尾端分布区存储数据的NCM存储器的地址信息。
[0020]优选的,所述系统还包括:
[0021]查找数据寄存器,与所述DRAM地址存储阵列连接,以及
[0022]当需要在所述地址查找转换模块中实现DRAM地址查找时,将所述DRAM地址输入至所述查找数据寄存器,所述查找数据寄存器将所述DRAM地址转化为匹配数据线,于所述存储阵列中进行逐一匹配。
[0023]优选的,所述系统还包括:
[0024]读出感应放大器,分别与所述DRAM地址存储阵列、所述控制模块连接,以及
[0025]所述读出感应放大器根据匹配的结果读出匹配数据。
[0026]优选的,所述系统还包括:所述读出感应放大器通过读匹配线的结果判断所述DRAM地址存储阵列中是否存在匹配的所述DRAM地址。
[0027]优选的,所述系统还包括:
[0028]译码器,分别与所述读出感应放大器、所述NCM地址存储阵列、所述控制模块连接,以及
[0029]当所述DRAM地址存储阵列中存在相匹配的所述DRAM地址的时候,译码器对所述匹配的数据进行译码并转化为所述NCM地址存储阵列的地址。
[0030]一种混合内存的硬件实现方法,所述硬件实现方法包括:
[0031]步骤S1:发送数据请求分别至DRAM存储器、地址查找转换模块;
[0032]步骤S2:所述地址查找转换模块接收所述数据请求的物理地址,并判断所述请求数据的物理地址是否存在于所述地址查找转换模块中的DRAM地址列表;若是,则执行步骤S3,若不是,则执行步骤S4。
[0033]步骤S3:控制模块产生控制信号并发送至多路选择器,多路选择器根据所述控制信号选择于NCM存储器的数据进行输出,并将匹配的DRAM地址对应的NCM物理地址发送至NCM存储器中。
[0034]步骤S4:控制模块将所述DRAM存储器中读取的数据经所述多路选择器输出至数据总线上。
[0035]优选的,所述硬件实现方法还包括:
[0036]步骤S31:于步骤S3之后,所述NCM存储器根据所述NCM物理地址读取数据,并将读取的数据经多路选择器输出至数据总线。
[0037]本发明的有益效果是:
[0038]本发明提出了一种混合内存的具体硬件实现方法,通过地址查找转换表来存储DRAM地址和NCM地址的映射关系,通过查找结果控制数据输出来自DRAM或NCM。本发明这种硬件实现方法对混合内存的性能影响非常小,但却可以获得DRAM阵列的刷新周期的提升,降低刷新功耗。
【附图说明】
[0039]图1为现有技术中DRAM刷新功耗的比重及趋势示意图;
[0040]图2a_2b为现有技术中DRAM保持时间分布示意图;
[0041]图3为现有技术中一种混合DRAM结构示意图;
[0042]图4a_4b为本发明两种混合内存结构实施例一的示意图;
[0043]图5a_5b为本发明混合内存的硬件实现结构图;
[0044]图6为本发明采用TCAM或CAM实现地址查找转换表的结构示意图;
[0045]图7为本发明一种混合内存的硬件实现方法实施例二的示意图;
[0046]图8为本发明混合内存的访问流程示意图。
【具体实施方式】
[0047]需要说明的是,在不冲突的情况下,下述技术方案,技术特征之间可以相互组合。
[0048]下面结合附图对本实用新型的【具体实施方式】作进一步的说明:
[0049]实施例一
[0050]图4a_4b为本实施例两种混合内存结构实施例一的示意图,本实施例提出了一种混合内存的具体硬件实现方式。本实施例这种混合内存包括传统的DRAM存储区和新型存储器(NCM)区,所述DRAM存储区与NCM存储区的最小存取位宽应保持一致,例如目前对DRAM 一次读取操作可以读出64位数据,那么对NCM —次读取操作也应该读出64位数据。一般内存都会由多个DRAM芯片组成从而可以并行处理,加快DRAM存取速度和增加数据带宽。
[