首页> 中国专利> 一种混合内存的硬件实现系统及方法

一种混合内存的硬件实现系统及方法

摘要

本发明涉及存储器领域,尤其涉及一种混合内存的硬件实现系统及方法。混合内存至少包括:N个DRAM存储器,按照DRAM存储单元保持时间将DRAM存储器划分为主要分布区和尾端分布区,N为正整数;至少一个NCM存储器,能够替代存储DRAM存储器中的尾端分布区存储的数据;地址查找转换模块,预存包括DRAM存储器中尾端分布区存储数据的地址信息以及与之对应的NCM存储器中用以替代存储DRAM存储器中尾端分布区数据的地址信息;控制模块,以获取并根据地址信息与地址映射关系判断系统数据的输出通路的来源,且控制模块根据输出通路的来源生成并输出控制信号;多路选择器,分别与控制模块、DRAM存储器、NCM存储器连接,接收并根据控制信号选择数据进行输出。

著录项

  • 公开/公告号CN105373348A

    专利类型发明专利

  • 公开/公告日2016-03-02

    原文格式PDF

  • 申请/专利权人 上海新储集成电路有限公司;

    申请/专利号CN201510698601.9

  • 发明设计人 景蔚亮;叶勇;

    申请日2015-10-23

  • 分类号G06F3/06;

  • 代理机构上海申新律师事务所;

  • 代理人俞涤炯

  • 地址 201506 上海市金山区亭卫公路6505号2幢8号

  • 入库时间 2023-12-18 14:30:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-29

    授权

    授权

  • 2016-03-30

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20151023

    实质审查的生效

  • 2016-03-02

    公开

    公开

说明书

技术领域

本发明涉及存储器领域,尤其涉及一种混合内存的硬件实现系统 及方法。

背景技术

在过去几十年,动态随机存储器(DynamicRandomAccess Memory,DRAM)成本随着摩尔定律不断降低。但随着特征尺寸越 来越小,芯片对功耗的要求越来越高,由于DRAM存储电容漏电因 此每隔一段时间就必须刷新一次,刷新功耗越来越大,图1为现有技 术中DRAM刷新功耗的比重及趋势示意图,如图1所示,DRAM刷 新功耗随着DRAM容量的增加而进一步增加。DRAM的刷新周期 是由其存储单元中电荷的保持时间决定的。

图2a-2b为现有技术中DRAM保持时间分布示意图;其中图2a 为整体分布预览图,图2b为尾段分布图,保持时间分布主要包括两 部分,一部分是主要分布区(maindistribution),另一部分为尾端分 布区(taildistribution),示意图如图2a-2b所示。图中可以看出,大 多数存储单元的保持时间可以达到1s甚至更长时间,而只有不足1% 的存储单元分布在尾端,它们的保持时间低于1s,甚至不到100ms。 然而决定DRAM刷新时间的恰恰是分布在尾端的保持数据能力最差 的存储单元(tailbit)。目前,DRAM存储芯片的刷新周期为64ms, 128ms,256ms等。刷新操作不仅会产生刷新功耗,同时也会降低 DRAM性能,因为执行刷新操作时系统是不能够对DRAM进行访 问的。

图3为现有技术中一种混合DRAM结构示意图,目前有一种提 高刷新周期的方法就是采用混合内存的方式,添加非易失性的新型存 储器,如图3所示。在DRAM非繁忙状态下将存储在DRAM尾端 分布区的存储单元中的数据转移至新型存储器中,然后提高DRAM 刷新周期,从而能够大大降低DRAM的刷新功耗,提高DRAM的 性能。

这种技术方案还有许多问题没有解决,比如当内存控制器向混合 内存请求数据时,发送了一个地址到混合内存,混合内存如何确定该 地址所对应的数据是存储在NCM中,还是存储在DRAM中,NCM 的物理地址与DRAM的物理地址又是如何实现映射的,这都是添加 NCM存储的技术漏洞。

发明内容

针对现有技术中NCM实现混合内存存在的漏洞,本发明提供了 一种一种混合内存的硬件实现系统及方法,提升DRAM阵列的刷新 周期,降低刷新功耗。

本发明采用如下技术方案:

一种混合内存的硬件实现系统,所述硬件实现系统包括:

N个DRAM存储器,按照DRAM存储单元保持时间将所述 DRAM存储器划分为主要分布区和尾端分布区,N为正整数;

至少一个NCM存储器,与所述DRAM存储器连接,能够替代存 储所述DRAM存储器中的尾端分布区存储的数据;

地址查找转换模块,分别与所述DRAM存储器、所述NCM存储 器连接,且所述地址查找转换模块中预存包括所述DRAM存储器中 尾端分布区存储数据的地址信息以及与之对应的NCM存储器中用以 替代存储所述DRAM存储器中尾端分布区数据的地址信息;

控制模块,与所述地址查找转换模块连接,以获取并根据所述地 址信息与所述地址映射关系判断所述系统数据的输出通路的来源,且 所述控制模块根据所述输出通路的来源生成并输出控制信号;

多路选择器,分别与所述控制模块、所述DRAM存储器、所述 NCM存储器连接,接收并根据所述控制信号选择数据进行输出。

优选的,所述NCM存储器为N个,每一个所述DRAM存储器 均与一个所述NCM存储器连接。

优选的,所述硬件实现包括:

逻辑检测模块,与所述DRAM存储器连接,定期检测并确定所 述DRAM存储器尾端分布区与所述主要分布区的保持时间界限,同 时判断位于DRAM存储器中所述尾端分布区存储数据的地址信息。

优选的,所述地址查找转换模块包括:

DRAM地址存储阵列,存储有所述DRAM存储器中被替代的尾 端分布区存储数据的地址信息;

NCM地址存储阵列,存储有替代所述DRAM存储器中尾端分布 区存储数据的NCM存储器的地址信息。

优选的,所述系统还包括:

查找数据寄存器,与所述DRAM地址存储阵列连接,以及

当需要在所述地址查找转换模块中实现DRAM地址查找时,将 所述DRAM地址输入至所述查找数据寄存器,所述查找数据寄存器 将所述DRAM地址转化为匹配数据线,于所述存储阵列中进行逐一 匹配。

优选的,所述系统还包括:

读出感应放大器,分别与所述DRAM地址存储阵列、所述控制 模块连接,以及

所述读出感应放大器根据匹配的结果读出匹配数据。

优选的,所述系统还包括:所述读出感应放大器通过读匹配线的 结果判断所述DRAM地址存储阵列中是否存在匹配的所述DRAM 地址。

优选的,所述系统还包括:

译码器,分别与所述读出感应放大器、所述NCM地址存储阵列、 所述控制模块连接,以及

当所述DRAM地址存储阵列中存在相匹配的所述DRAM地址的 时候,译码器对所述匹配的数据进行译码并转化为所述NCM地址存 储阵列的地址。

一种混合内存的硬件实现方法,所述硬件实现方法包括:

步骤S1:发送数据请求分别至DRAM存储器、地址查找转换模 块;

步骤S2:所述地址查找转换模块接收所述数据请求的物理地址, 并判断所述请求数据的物理地址是否存在于所述地址查找转换模块 中的DRAM地址列表;若是,则执行步骤S3,若不是,则执行步骤 S4。

步骤S3:控制模块产生控制信号并发送至多路选择器,多路选择 器根据所述控制信号选择于NCM存储器的数据进行输出,并将匹配 的DRAM地址对应的NCM物理地址发送至NCM存储器中。

步骤S4:控制模块将所述DRAM存储器中读取的数据经所述多 路选择器输出至数据总线上。

优选的,所述硬件实现方法还包括:

步骤S31:于步骤S3之后,所述NCM存储器根据所述NCM物 理地址读取数据,并将读取的数据经多路选择器输出至数据总线。

本发明的有益效果是:

本发明提出了一种混合内存的具体硬件实现方法,通过地址查找 转换表来存储DRAM地址和NCM地址的映射关系,通过查找结果 控制数据输出来自DRAM或NCM。本发明这种硬件实现方法对混 合内存的性能影响非常小,但却可以获得DRAM阵列的刷新周期的 提升,降低刷新功耗。

附图说明

图1为现有技术中DRAM刷新功耗的比重及趋势示意图;

图2a-2b为现有技术中DRAM保持时间分布示意图;

图3为现有技术中一种混合DRAM结构示意图;

图4a-4b为本发明两种混合内存结构实施例一的示意图;

图5a-5b为本发明混合内存的硬件实现结构图;

图6为本发明采用TCAM或CAM实现地址查找转换表的结构 示意图;

图7为本发明一种混合内存的硬件实现方法实施例二的示意图;

图8为本发明混合内存的访问流程示意图。

具体实施方式

需要说明的是,在不冲突的情况下,下述技术方案,技术特征之 间可以相互组合。

下面结合附图对本实用新型的具体实施方式作进一步的说明:

实施例一

图4a-4b为本实施例两种混合内存结构实施例一的示意图,本实 施例提出了一种混合内存的具体硬件实现方式。本实施例这种混合内 存包括传统的DRAM存储区和新型存储器(NCM)区,所述DRAM 存储区与NCM存储区的最小存取位宽应保持一致,例如目前对 DRAM一次读取操作可以读出64位数据,那么对NCM一次读取操 作也应该读出64位数据。一般内存都会由多个DRAM芯片组成从 而可以并行处理,加快DRAM存取速度和增加数据带宽。

混合内存会有两种结构:第一种是仅有一颗NCM存储芯片,如 附图4a所示,假设单颗DRAM芯片的数据位宽为n,DRAM芯片 个数为N,那么对DRAM总的数据位宽M为n*N,NCM存储芯片 的位宽也即为M;第二种是每一颗DRAM芯片都有一颗数据替换的 NCM芯片,如附图4b所示,每一颗NCM芯片的位宽与单个DRAM 芯片保持一致。如果采用第一种结构,好处是混合内存主板上的芯片 较少,DRAM与NCM之间地址映射转换也更容易实现,缺点是对 NCM容量要求大,因为只要某一颗DRAM芯片所存储的数据位于 尾端分布区,就需要将连同其他DRAM芯片相同地址上的数据(保 证一致的数据存取位宽)一起转存到NCM芯片中。

由于DRAM存储单元保持时间分布的随机性,当刷新周期提高 时会有更多的数据转存到NCM,从而导致混合内存系统性能的降低。 如果采用第二种结构,每个DRAM芯片都有独立的数据替换的NCM 芯片,因而每个DRAM芯片出现在尾端分布区的数据都会独自转存 到各自的NCM芯片中,DRAM芯片之间不会相互影响,因此对单 个NCM芯片的存储容量要求小,但缺点是每个DRAM芯片及其对 应的NCM芯片都需要额外的地址映射转换,实现上要复杂的多,而 且混合内存主板上的芯片数量增多,增加了布线,制造成本会上升。 不失一般性,将DRAM芯片统称为DRAM区,将NCM芯片统称 为NCM区。

例如,DRAM区的存储容量为V_d,NCM区的存储容量为V_n, 那么应有V_d远大于V_n。系统处理器能访问的整个混合内存的容 量即为DRAM区的存储容量V_d,因为所述NCM仅用于替代 DRAM尾端分布存储单元所在地址上的数据。混合内存中应当有逻 辑检测模块,用于定期检测并确定尾端分布区和主要分布区的保持时 间界限,判断位于DRAM中尾端分布区存储单元所在地址信息。当 混合DRAM处于非繁忙状态,将位于DRAM尾端分布存储单元所 在地址上的数据存储于NCM中指定地址的存储单元,然后提高 DRAM的刷新周期,当系统下次再访问所述位于DRAM尾端分布 存储单元所在地址上的数据时,仅读取所述NCM中指定地址上的数 据。

图5a-5b为本实施例混合内存的硬件实现结构图,本实施例这种 混合内存的具体硬件实现结构如附图5a所示,其中1为地址查找转 换表,2为控制模块,3为多路选择器模块,图中忽略了访问混合内 存的读写控制信号,但不影响对本实施例所述混合内存的具体硬件实 现结构的阐述。所述地址查找转换表1记录了NCM存储替代DRAM 存储的地址映射关系,即当提高了DRAM刷新周期时,DRAM中 包含尾端分布存储单元的物理地址为addr1中的数据应转存到NCM 中物理地址为addr2中的存储单元。那么,对应于DRAM的物理地 址addr1就与对应于NCM的物理地址addr2就形成了一组地址映射 关系,如图5b中的地址查找转换表。

当某个时刻,DRAM物理地址addr1_n上的数据转存到了NCM 物理地址为addr2_n上的存储单元中,那么应当更新地址查找转换 表,建立由addr1_n到addr2_n的地址映射关系。相同的,如果DRAM 工作在繁忙状态下,为了避免访问读取速度慢的NCM,会将NCM 中所存储的数据写回至DRAM中指定地址上的存储单元中,降低刷 新周期,那么此时也应当更新地址查找转换表,删除相应的地址映射 关系。所述控制模块2是为了控制混合内存的数据输出通路是来自于 NCM还是DRAM:如果系统请求数据的物理地址addr1存在于地址 查找转换表1中对应于DRAM的地址列表,那么控制模块2发送控 制信号至多路选择器3选择来自NCM中的数据2输出;如果系统请 求的物理地址addr1不存在于地址查找转换表1中对应于DRAM的 地址列表,那么控制模块2发送控制信号至多路选择器3选择来自 DRAM中的数据1输出。

图6为本实施例采用TCAM或CAM实现地址查找转换表的结 构示意图;本实施例所述混合内存的具体硬件实现方法的关键就在于 如何快速的在地址查找转换表中实现DRAM地址查找,使数据输出 通路选择的控制信号必须在DRAM数据读出之前就绪。一种快速的 实现查找和匹配的硬件电路就是内容可寻址存储器(Content AddressableMemory:CAM)电路或三重CAM(TernaryCAM:TCAM)。 用CAM或者TCAM实现本实施例的地址查找转换表,具体实现结 构如图6所示。

其内部至少包含两个存储阵列,一个是DRAM物理地址addr1 的查找阵列,另一个是NCM物理地址addr2的存储阵列,当需要在 地址查找转换表中实现DRAM地址addr1,将addr1输入至查找数 据寄存器,然后转化为匹配数据线SL和SLb进行匹配,读出感应放 大器通过读匹配线ML的结果判断是否有匹配addr1的存储单元。通 过CAM或者TCAM查找阵列能够在一个硬件时钟周期内完成查找 数据的精确匹配,一旦匹配,读出感应放大器的结果再经过译码转化 为addr2存储阵列的地址,从而将对应于addr1的NCM地址addr2 输出。数据输出通路选择的控制信号可由读出感应放大器的结果 (SML0,SML1,……,SMLn)通过或运算得到,即只要读出感应 放大器的结果有一个为高电平(匹配),那么控制信号就为高电平, 多路选择器的输出来自NCM的数据2,否则多路选择器的输出来自 DRAM的数据1。综上所述,上述实现电路能够快速的实现DRAM 地址查找,以及DRAM地址到NCM地址的转换。

本实施例可以为混合内存的硬件实现系统,其中包括N个DRAM 存储器,按照DRAM存储单元保持时间将DRAM存储器划分为主 要分布区和尾端分布区,N为正整数;

至少一个NCM存储器,与DRAM存储器连接,能够替代存储 DRAM存储器中的尾端分布区存储的数据;

地址查找转换模块,分别与DRAM存储器、NCM存储器连接, 且地址查找转换模块中预存包括DRAM存储器中尾端分布区存储数 据的地址信息以及与之对应的NCM存储器中用以替代存储DRAM 存储器中尾端分布区数据的地址信息;

控制模块,与地址查找转换模块连接,以获取并根据地址信息与 地址映射关系判断系统数据的输出通路的来源,且控制模块根据输出 通路的来源生成并输出控制信号;

多路选择器,分别与控制模块、DRAM存储器、NCM存储器连 接,接收并根据控制信号选择数据进行输出。

本实施例中,地址查找转换模块可以包括地址查找转换表, DRAM存储区可以包括多个DRAM存储器,同理NCM存储区也 可以包括多个或一个NCM存储器。

本发明一个较佳的实施例中,NCM存储器为N个,每一个DRAM 存储器均与一个NCM存储器连接。

本发明一个较佳的实施例中,硬件实现包括:

逻辑检测模块,与DRAM存储器连接,定期检测并确定DRAM 存储器尾端分布区与主要分布区的保持时间界限,同时判断位于 DRAM存储器中尾端分布区存储数据的地址信息。

本发明一个较佳的实施例中,地址查找转换模块包括:

DRAM地址存储阵列,存储有DRAM存储器中被替代的尾端分 布区存储数据的地址信息;

NCM地址存储阵列,存储有替代DRAM存储器中尾端分布区存 储数据的NCM存储器的地址信息。

本发明一个较佳的实施例中,系统还包括:

查找数据寄存器,与DRAM地址存储阵列连接,以及

当需要在地址查找转换模块中实现DRAM地址查找时,将 DRAM地址输入至查找数据寄存器,查找数据寄存器将DRAM地 址转化为匹配数据线,于存储阵列中进行逐一匹配。

本发明一个较佳的实施例中,系统还包括:

读出感应放大器,分别与DRAM地址存储阵列、控制模块连接, 以及

读出感应放大器根据匹配的结果读出匹配数据。

本发明一个较佳的实施例中,系统还包括:读出感应放大器通过 读匹配线的结果判断DRAM地址存储阵列中是否存在匹配的 DRAM地址。

本发明一个较佳的实施例中,系统还包括:

译码器,分别与读出感应放大器、NCM地址存储阵列、控制模块 连接,以及

当DRAM地址存储阵列中存在相匹配的DRAM地址的时候,译 码器对匹配的数据进行译码并转化为NCM地址存储阵列的地址。

实施例二

图7为本实施例一种混合内存的硬件实现方法实施例二的示意 图,一种混合内存的硬件实现方法,硬件实现方法包括:

步骤S1:发送数据请求分别至DRAM存储器、地址查找转换模 块;

步骤S2:地址查找转换模块接收数据请求的物理地址,并判断请 求数据的物理地址是否存在于地址查找转换模块中的DRAM地址列 表;若是,则执行步骤S3,若不是,则执行步骤S4。

步骤S3:控制模块产生控制信号并发送至多路选择器,多路选择 器根据控制信号选择于NCM存储器的数据进行输出,并将匹配的 DRAM地址对应的NCM物理地址发送至NCM存储器中。

步骤S4:控制模块将DRAM存储器中读取的数据经多路选择器 输出至数据总线上。

本发明一个较佳的实施例中,硬件实现方法还包括:

步骤S31:于步骤S3之后,NCM存储器根据NCM物理地址读 取数据,并将读取的数据经多路选择器输出至数据总线。

图8为本实施例混合内存的访问流程示意图,本实施例混合内存 的具体硬件实现方法流程图如图8所示,其步骤主要包括如下:

(1)系统向混合内存发送数据请求,数据请求的物理地址为 addr1,一方面发送至DRAM存储区,一方面发送至地址查找转换 表;

(2)判断地址addr1是否存在于地址查找转换表中对应于 DRAM的地址列表:如果是,执行步骤3,如果不是,执行步骤4;

(3)控制模块发生控制信号至多路选择器选择自于NCM的数 据输出,同时,将地址查找转换表中DRAM物理地址addr1对应的 NCM物理地址addr2发送至NCM存储区中并读取数据,最后将 NCM中读取的数据2经多路选择器输出到数据总线上。

(4)控制模块控制多路选择器选择来自DRAM的数据输出, 不访问NCM,最后将DRAM中读取的数据1经多路选择器输出到 数据总线上。

如果读取数据最终来自于DRAM,那么相比传统的内存读取, 本实施例混合内存的读取延时仅仅增加了数据经过多路选择器(3) 的延时,相比从DRAM阵列中读出数据的延迟,由多路选择器(3) 带来的延迟的增加可忽略不计。如果读取数据最终来自于NCM,虽 然读取延迟相较于DRAM要慢得多,但NCM的容量要远小于 DRAM,对混合内存性能的影响也很小,但带来的好处是刷新周期 大大提高,由刷新所造成的功耗就会大大降低,同时刷新周期的提高 也会使DRAM读写性能得到提高。

综上所述,本发明提出了一种混合内存的具体硬件实现方法,通 过地址查找转换表来存储DRAM地址和NCM地址的映射关系,通 过查找结果控制数据输出来自DRAM或NCM。本发明这种硬件实 现方法对混合内存的性能影响非常小,但却可以获得DRAM阵列的 刷新周期的提升,降低刷新功耗。

通过说明和附图,给出了具体实施方式的特定结构的典型实施 例,基于本发明精神,还可作其他的转换。尽管上述发明提出了现有 的较佳实施例,然而,这些内容并不作为局限。

对于本领域的技术人员而言,阅读上述说明后,各种变化和修正 无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真 实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等 价的范围与内容,都应认为仍属本发明的意图和范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号