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

文档序号:9616084阅读:来源:国知局
0051]混合内存会有两种结构:第一种是仅有一颗NCM存储芯片,如附图4a所示,假设单颗DRAM芯片的数据位宽为n,DRAM芯片个数为N,那么对DRAM总的数据位宽Μ为n*N,NCM存储芯片的位宽也即为Μ ;第二种是每一颗DRAM芯片都有一颗数据替换的NCM芯片,如附图4b所示,每一颗NCM芯片的位宽与单个DRAM芯片保持一致。如果采用第一种结构,好处是混合内存主板上的芯片较少,DRAM与NCM之间地址映射转换也更容易实现,缺点是对NCM容量要求大,因为只要某一颗DRAM芯片所存储的数据位于尾端分布区,就需要将连同其他DRAM芯片相同地址上的数据(保证一致的数据存取位宽)一起转存到NCM芯片中。
[0052]由于DRAM存储单元保持时间分布的随机性,当刷新周期提高时会有更多的数据转存到NCM,从而导致混合内存系统性能的降低。如果采用第二种结构,每个DRAM芯片都有独立的数据替换的NCM芯片,因而每个DRAM芯片出现在尾端分布区的数据都会独自转存到各自的NCM芯片中,DRAM芯片之间不会相互影响,因此对单个NCM芯片的存储容量要求小,但缺点是每个DRAM芯片及其对应的NCM芯片都需要额外的地址映射转换,实现上要复杂的多,而且混合内存主板上的芯片数量增多,增加了布线,制造成本会上升。不失一般性,将DRAM芯片统称为DRAM区,将NCM芯片统称为NCM区。
[0053]例如,DRAM区的存储容量为V_d,NCM区的存储容量为V_n,那么应有V_d远大于V_n。系统处理器能访问的整个混合内存的容量即为DRAM区的存储容量V_d,因为所述NCM仅用于替代DRAM尾端分布存储单元所在地址上的数据。混合内存中应当有逻辑检测模块,用于定期检测并确定尾端分布区和主要分布区的保持时间界限,判断位于DRAM中尾端分布区存储单元所在地址信息。当混合DRAM处于非繁忙状态,将位于DRAM尾端分布存储单元所在地址上的数据存储于NCM中指定地址的存储单元,然后提高DRAM的刷新周期,当系统下次再访问所述位于DRAM尾端分布存储单元所在地址上的数据时,仅读取所述NCM中指定地址上的数据。
[0054]图5a_5b为本实施例混合内存的硬件实现结构图,本实施例这种混合内存的具体硬件实现结构如附图5a所示,其中1为地址查找转换表,2为控制模块,3为多路选择器模块,图中忽略了访问混合内存的读写控制信号,但不影响对本实施例所述混合内存的具体硬件实现结构的阐述。所述地址查找转换表1记录了 NCM存储替代DRAM存储的地址映射关系,即当提高了 DRAM刷新周期时,DRAM中包含尾端分布存储单元的物理地址为addrl中的数据应转存到NCM中物理地址为addr2中的存储单元。那么,对应于DRAM的物理地址addrl就与对应于NCM的物理地址addr2就形成了一组地址映射关系,如图5b中的地址查找转换表。
[0055]当某个时刻,DRAM物理地址addrl_n上的数据转存到了 NCM物理地址为addr2_n上的存储单元中,那么应当更新地址查找转换表,建立由8(1(11'1_11到addr2_n的地址映射关系。相同的,如果DRAM工作在繁忙状态下,为了避免访问读取速度慢的NCM,会将NCM中所存储的数据写回至DRAM中指定地址上的存储单元中,降低刷新周期,那么此时也应当更新地址查找转换表,删除相应的地址映射关系。所述控制模块2是为了控制混合内存的数据输出通路是来自于NCM还是DRAM:如果系统请求数据的物理地址addrl存在于地址查找转换表1中对应于DRAM的地址列表,那么控制模块2发送控制信号至多路选择器3选择来自NCM中的数据2输出;如果系统请求的物理地址addrl不存在于地址查找转换表1中对应于DRAM的地址列表,那么控制模块2发送控制信号至多路选择器3选择来自DRAM中的数据1输出。
[0056]图6为本实施例采用TCAM或CAM实现地址查找转换表的结构示意图;本实施例所述混合内存的具体硬件实现方法的关键就在于如何快速的在地址查找转换表中实现DRAM地址查找,使数据输出通路选择的控制信号必须在DRAM数据读出之前就绪。一种快速的实现查找和匹配的硬件电路就是内容可寻址存储器(Content Addressable Memory:CAM)电路或三重CAM (Ternary CAM:TCAM)。用CAM或者TCAM实现本实施例的地址查找转换表,具体实现结构如图6所示。
[0057]其内部至少包含两个存储阵列,一个是DRAM物理地址addrl的查找阵列,另一个是NCM物理地址addr2的存储阵列,当需要在地址查找转换表中实现DRAM地址addrl,将addrl输入至查找数据寄存器,然后转化为匹配数据线SL和SLb进行匹配,读出感应放大器通过读匹配线ML的结果判断是否有匹配addrl的存储单元。通过CAM或者TCAM查找阵列能够在一个硬件时钟周期内完成查找数据的精确匹配,一旦匹配,读出感应放大器的结果再经过译码转化为addr2存储阵列的地址,从而将对应于addrl的NCM地址addr2输出。数据输出通路选择的控制信号可由读出感应放大器的结果(SML0,SML1,……,SMLn)通过或运算得到,即只要读出感应放大器的结果有一个为高电平(匹配),那么控制信号就为高电平,多路选择器的输出来自NCM的数据2,否则多路选择器的输出来自DRAM的数据1。综上所述,上述实现电路能够快速的实现DRAM地址查找,以及DRAM地址到NCM地址的转换。
[0058]本实施例可以为混合内存的硬件实现系统,其中包括N个DRAM存储器,按照DRAM存储单元保持时间将DRAM存储器划分为主要分布区和尾端分布区,N为正整数;
[0059]至少一个NCM存储器,与DRAM存储器连接,能够替代存储DRAM存储器中的尾端分布区存储的数据;
[0060]地址查找转换模块,分别与DRAM存储器、NCM存储器连接,且地址查找转换模块中预存包括DRAM存储器中尾端分布区存储数据的地址信息以及与之对应的NCM存储器中用以替代存储DRAM存储器中尾端分布区数据的地址信息;
[0061]控制模块,与地址查找转换模块连接,以获取并根据地址信息与地址映射关系判断系统数据的输出通路的来源,且控制模块根据输出通路的来源生成并输出控制信号;
[0062]多路选择器,分别与控制模块、DRAM存储器、NCM存储器连接,接收并根据控制信号选择数据进行输出。
[0063]本实施例中,地址查找转换模块可以包括地址查找转换表,DRAM存储区可以包括多个DRAM存储器,同理NCM存储区也可以包括多个或一个NCM存储器。
[0064]本发明一个较佳的实施例中,NCM存储器为N个,每一个DRAM存储器均与一个NCM存储器连接。
[0065]本发明一个较佳的实施例中,硬件实现包括:
[0066]逻辑检测模块,与DRAM存储器连接,定期检测并确定DRAM存储器尾端分布区与主要分布区的保持时间界限,同时判断位于DRAM存储器中尾端分布区存储数据的地址信息。
[0067]本发明一个较佳的实施例中,地址查找转换模块包括:
[0068]DRAM地址存储阵列,存储有DRAM存储器中被替代的尾端分布区存储数据的地址信息;
[0069]NCM地址存储阵列,存储有替代DRAM存储器中尾端分布区存储数据的NCM存储器的地址信息。
[0070]本发明一个较佳的实施例中,系统还包括:
[0071]查找数据寄存器,与DRAM地址存储阵列连接,以及
[0072]当需要在地址查找转换模块中实现DRAM地址查找时,将DRAM地址输入至查找数据寄存器,查找数据寄存器将DRAM地址转化为匹配数据线,于存储阵列中进行逐一匹配。
[0073]本发明一个较佳的实施例中,系统还包括:
[0074]读出感应放大器,分别与DRAM地址存储阵列、控制模块连接,以及
[0075]读出感应放大器根据匹配的结果读出匹配数据。
[0076]本发明一个较佳的实施例中,系统还包括:读出感应放大器通过读匹配线的结果判断DRAM地址存储阵列中是否存在匹配的DRAM地址。
[0077]本发明一个较佳的实施例中,系统还包括:
[0078]译码器,分别与读出感应放大器、NCM地址存储阵列、控制模块连接,以及
[0079]当DRAM地址存储阵列中存在相匹配的DRAM地址的时候,译码器对匹配的数据进行译码并转化为NCM地址存储阵列的地址。<
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1