内存访问方法及内存系统的制作方法

文档序号:6502231阅读:173来源:国知局
内存访问方法及内存系统的制作方法
【专利摘要】本发明实施例提供的一种内存访问方法及内存系统,内存控制器将访存指令、低位地址信号、第一片选信号和第一高位地址信号发给第一级缓冲芯片,并延迟第二高位地址信号,得到延迟地址信号,将延迟地址信号发送给第二级缓冲芯片,第一级缓冲芯片根据第一片选信号和第一高位地址信号选通目标第二级缓冲芯片,并将访存指令和低位地址信号发送给目标第二级缓冲芯片,目标第二级缓冲芯片根据延迟地址信号和第二片选信号确定目标内存模块,根据低位地址信号确定目标内存颗粒,根据访存指令从目标内存颗粒中获取目标数据,将目标数据返给内存控制器。本发明实施例将系统内存级联方式变为树状拓扑形式,避免协议转换问题,缩短内存访问时间,提高访存效率。
【专利说明】内存访问方法及内存系统

【技术领域】
[0001] 本发明实施例涉及通信技术,尤其涉及一种内存访问方法及内存系统。

【背景技术】
[0002] 计算机的内存系统是影响体系结构和软件效能的主要因数之一,评价一个系统内 存性能的主要指标有访问延迟、带宽和容量。目前,随着云计算、大数据的兴起,对数据访问 容量的要求越来越高。
[0003] 图1所示为现有的全缓冲双列直插式内存模块的结构示意图。如图1所示,全缓冲 双列直插式内存模块(Full Buffer Dual Inline Memory Module,简称为FBDIMM)芯片通 过在动态随机存储器(Dynamic Random-Access Memory,简称为DRAM)即内存模块的中间, 增加高级内存缓冲芯片(Advanced Memory Buffer,简称为AMB),通过AMB与内存控制器连 接,内存模块通过AMB与内存控制器进行数据交互,不再与内存控制器进行直接的数据交 互。这种扩展系统内存的模式,通过AMB芯片实现了系统中内存模块之间的级联,增大了系 统内存的访问容量。但是,由于AMB芯片之间采用串行方式连接,所以内存模块与内存模 块之间的连接从传统的并行连接变成了串行连接,但是内存模块内部的内存颗粒之间仍然 为并行连接,这样就需要AMB芯片将内存控制器发送的串行协议转换成双倍速率(Double Data Rate,简称为DDR)访存指令,增加了访存的延迟时间,而且由于AMB芯片采用串行方 式连接,使得对较远端的内存模块的访问延迟较大。


【发明内容】

[0004] 本发明实施例提供一种内存访问方法及内存系统,用以解决访问现有扩展的内存 系统时,存在访问延迟较大的问题,提高对内存系统的访存效率。
[0005] 本发明实施例第一方面提供一种内存访问方法,包括:
[0006] 内存控制器发送访存指令、低位地址信号、第一片选信号和第一高位地址信号给 第一级缓冲芯片,并将第二高位地址信号进行延迟处理,得到延迟地址信号,将所述延迟地 址信号发送给第二级缓冲芯片;其中,所述第一级缓冲芯片与所述第二级缓冲芯片级联,所 述第二级缓冲芯片连接至少一个内存模块,所述内存模块包括至少一个内存颗粒;所述第 一片选信号与所述第一高位地址信号用于标识所述第二缓冲芯片中的目标第二级缓冲芯 片;所述低位地址信号用于标识目标内存模块中的目标内存颗粒;
[0007] 所述第一级缓冲芯片根据预设的映射关系以及所述第一片选信号和所述第一高 位地址信号向所述第二级缓冲芯片输出第二片选信号以选通所述目标第二级缓冲芯片,并 将所述访存指令和所述低位地址信号发送给所述目标第二级缓冲芯片;其中,所述第二级 缓冲芯片包括至少一个缓冲芯片,所述目标缓缓冲芯片为所述第二级缓冲芯片中被所述第 二片选信号选通的缓冲芯片;
[0008] 所述目标第二级缓冲芯片根据所述延迟地址信号和所述第二片选信号从所述内 存模块中确定所述目标内存模块,并根据所述低位地址信号从所述目标内存模块中确定所 述目标内存颗粒;所述延迟地址信号和所述第二片选信号用于标识所述内存模块中的所述 目标内存模块;
[0009] 所述目标第二级缓冲芯片根据所述访存指令从所述目标内存颗粒中获取目标数 据,并通过所述第一级缓冲芯片将所述目标数据发送给所述内存控制器。
[0010] 在第一方面的第一种可能的实现方式中,所述内存控制器将将第二高位地址信号 进行延迟处理,得到延迟地址信号包括:
[0011] 所述内存控制器根据所述第一级缓冲芯片的延迟参数对所述第二高位地址信号 进行延迟处理,得到延迟地址信号。
[0012] 结合第一方面或者第一方面的第一种可能实现方式,在第一方面的第二种可能的 实现方式中,所述第一级缓冲芯片根据预设的映射关系以及所述第一片选信号和所述第一 高位地址信号向所述第二级缓冲芯片输出第二片选信号以选通所述目标第二级缓冲芯片 包括:
[0013] 所述第一级缓冲芯片根据所述映射关系生成编码代码;
[0014] 所述第一级缓冲芯片采用所述编码代码对所述第一片选信号和所述第一高位地 址信号进行编码,获得所述第二片选信号;
[0015] 所述第一级缓冲芯片向所述第二级缓冲芯片输出所述第二片选信号,以选通所述 目标第二级缓冲芯片。
[0016] 本发明实施例第二方面提供一种内存系统,包括:内存控制器、第一级缓冲芯片和 至少一个第二级缓冲芯片,其中,所述内存控制器与所述第一级缓冲芯片和所述第二级缓 冲芯片连接,所述第一级缓冲芯片与所述第二级缓冲芯片级联,所述第二级缓冲芯片连接 内存模块,所述内存模块包括至少一个内存颗粒;
[0017] 所述内存控制器,用于发送访存指令、低位地址信号、第一片选信号和第一高位地 址信号给所述第一级缓冲芯片,并将第二高位地址信号进行延迟处理,得到延迟地址信号, 将所述延迟地址信号发送给所述第二级缓冲芯片,接收所述第一级缓冲芯片返回的目标数 据;所述第一片选信号与所述第一高位地址信号用于标识所述第二缓冲芯片中的目标第二 级缓冲芯片;所述低位地址信号用于标识目标内存模块中的目标内存颗粒;
[0018] 所述第一级缓冲芯片,用于接收所述访存指令、所述低位地址信号、所述第一片选 信号和所述第一高位地址信号,根据预设的映射关系以及所述第一片选信号和所述第一高 位地址信号向所述第二级缓冲芯片输出第二片选信号以选通所述目标第二级缓冲芯片,并 将所述访存指令和所述低位地址信号发送给所述目标第二级缓冲芯片,以及接收所述目标 第二级缓冲芯片返回的所述目标数据并将所述目标数据发送给所述内存控制器;其中,所 述第二级缓冲芯片包括至少一个缓冲芯片,所述目标缓缓冲芯片为所述第二级缓冲芯片中 被所述第二片选信号选通的缓冲芯片;
[0019] 所述目标第二级缓冲芯片,用于接收所述访存指令、所述低位地址信号、所述延迟 地址信号和所述第二片选信号,根据所述延迟地址信号和所述第二片选信号从所述内存模 块中确定所述目标内存模块,并根据所述低位地址信号从所述目标内存模块中确定所述目 标内存颗粒,以及根据所述访存指令从所述目标内存颗粒中获取目标数据,将所述目标数 据发送给所述第一级缓冲芯片;所述延迟地址信号和所述第二片选信号用于标识所述内存 模块中的所述目标内存模块。
[0020] 在第二方面的第一种可能的实现方式中,所述内存控制器具体用于根据所述第一 级缓冲芯片的延迟参数对所述第二高位地址信号进行延迟处理,得到所述延迟地址信号。
[0021] 结合第二方面或者第二方面的第一种可能实现方式,在第二方面的第二种可能的 实现方式中,所述第一级缓冲芯片具体用于根据所述映射关系生成编码代码,采用所述编 码代码对所述第一片选信号和所述第一高位地址信号,获得所述第二片选信号,以及向所 述第二级缓冲芯片输出所述第二片选信号,以选通所述目标第二级缓冲芯片。
[0022] 结合第二方面或者第二方面的第一种可能实现方式,在第二方面的第三种可能的 实现方式中,所述第一级缓冲芯片为iMB芯片。
[0023] 本发明实施例第三方面提供一种内存系统,包括:内存控制器和第一级缓冲芯片, 以及至少一个负载减少双列直插式LRDMM内存模块,其中,所述LRDMM内存模块中包括 iMB芯片和内存模块,所述内存模块中包括至少一个内存颗粒;所述内存控制器与所述第 一级缓冲芯片以及所述LRDIMM内存模块中的所述iMB芯片连接,所述第一级缓冲芯片与所 述LRDIMM内存模块中的所述iMB芯片连接。
[0024] 本发明实施例提供的一种内存访问方法及内存系统,本发明实施例中内存控制器 与第一级缓冲芯片和第二级缓冲芯片连接,第一级缓冲芯片与第二级缓冲芯片级联,将系 统内存的级联方式变为树状拓扑形式,第二级缓冲芯片可以同时接收内存控制器发送的用 于选择目标内存模块的信号和第一级缓冲芯片发送的选通第二级缓冲芯片的信号,对第二 级缓冲芯片来说,这两种信号不再是串行接收方式,且不需要进行串行协议到并行协议的 转换,避免了现有扩展的系统内存需要将串行协议转换成并行协议的问题,缩短了访问内 存系统的时间,提高了内存系统的访存效率。

【专利附图】

【附图说明】
[0025] 图1为现有的为全缓冲双列直插式内存模块的结构示意图;
[0026] 图2为本发明实施例提供的一种内存访问方法的示意图;
[0027] 图3为本发明实施例提供的一种内存系统的结构示意图;
[0028] 图4为本发明实施例提供的一种基于LRDIMM内存模块的内存系统结构示意图。

【具体实施方式】
[0029] 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0030] 图2为本发明实施例一种内存访问方法的示意图。如图2所示,该内存访问方法 包括以下步骤:
[0031] 201、内存控制器发送访存指令、低位地址信号、第一片选信号和第一高位地址信 号给第一级缓冲芯片,并将第二高位地址信号进行延迟处理,得到延迟地址信号,将所述延 迟地址信号发送给第二级缓冲芯片;其中,所述第一级缓冲芯片与所述第二级缓冲芯片级 联,所述第二级缓冲芯片连接至少一个内存模块,所述内存模块包括至少一个内存颗粒;所 述第一片选信号与所述第一高位地址信号用于标识所述第二缓冲芯片中的目标第二级缓 冲芯片;所述低位地址信号用于标识目标内存模块中的目标内存颗粒。
[0032] 202、所述第一级缓冲芯片根据所述第一片选信号和所述第一高位地址信号向所 述第二级缓冲芯片输出第二片选信号以选通所述目标第二级缓冲芯片,并将所述访存指令 和所述低位地址信号发送给所述目标第二级缓冲芯片;其中,所述第二级缓冲芯片包括至 少一个缓冲芯片,所述目标缓缓冲芯片为所述第二级缓冲芯片中被所述第二片选信号选通 的缓冲芯片。
[0033] 203、所述目标第二级缓冲芯片根据所述延迟地址信号和所述第二片选信号从所 述内存模块中确定所述目标内存模块,并根据所述低位地址信号从所述目标内存模块中确 定所述目标内存颗粒;所述延迟地址信号和所述第二片选信号用于标识所述内存模块中的 所述目标内存模块。
[0034] 204、所述目标第二级缓冲芯片根据所述访存指令从所述目标内存颗粒中获取目 标数据,并通过所述第一级缓冲芯片将所述目标数据发送给所述内存控制器。
[0035] 在本实施例中,在内存控制器和内存模块之间,增加两个级联的缓冲芯片,通过缓 冲芯片连接内存控制器与内存模块。其中,内存控制器与第一级缓冲芯片和第二级缓冲芯 片连接,第一级缓冲芯片与第二级缓冲芯片级联,而第二级缓冲芯片与至少一个内存模块 连接,并且内存模块包括至少一个内存颗粒。
[0036] 在内存控制器想要访问内存模块中存储的数据时,内存控制器发送访存指令、低 位地址信号、第一片选信号和第一高位地址信号给第一级缓冲芯片。其中,第一片选信号与 第一高位地址信号用于标识第二缓冲芯片中的目标第二级缓冲芯片,而低位地址信号用于 标识目标内存模块中的目标内存颗粒。实际上内存控制器一般只有2?4条片选信号线。 在这种缓冲芯片级联的情况下,一般内存控制器片选信号线是不能满足系统内存扩展需求 的。由于内存控制器的地址信号线一般比缓冲芯片的地址信号线要多,因此,可以将内存控 制器30的高位地址信号线输出的高位地址信号,作为片选信号来使用,以实现缓冲芯片的 多级级联,从而达到扩展系统内存的目的。在本实施例中,内存控制器实际的片选信号线输 出的片选信号(Chip Select,简称为CS)作为第一片选信号。其中,一组片选信号线中只有 一根片选信号线是选通的,通常将低电平作为片选信号线选通。例如,一组片选信号中只能 有一根片选信号线上的输出信号为"〇",剩余片选信号线的输出信号均为"1"。在本实施例 中,内存控制器选取2根片选信号线,则第一片选信号为2位,第一片选信号的取值为"01" 或者"10"。
[0037] -般缓冲芯片的地址信号为16位,内存控制器可以将地址信号线A0?A15与第 一级缓冲芯片的地址信号线A0?A15连接,具体地,将内存控制器的地址信号线A0?A15 接入第一级缓冲芯片的地址信号线A0?A15的管脚上。第一级缓冲芯片的地址信号线 A0?A15接入第二级缓冲芯片的地址信号线A0?A15的管脚上。内存控制器将地址信号 线A0?A15的输出,作为低位地址信号输入到第一级缓冲芯片中。其中,低位地址信号是 由A0?A15的输出组成的。每根地址信号线的输出信号代表一个地址信号中的不同位,例 如,地址信号线A0代表地址信号中的第一位即最低位,地址信号线A15代表地址信号的第 16位即最高位。每个地址信号线的输出信号为"0"或"1"。举例说明,当内存控制器需要 访问地址"2"时,则需要输出的低位地址信号为:"0000000000000010",也就是说,地址信 号线A1输出"1",剩余地址信号线A15?A2和A0均输出"0"。
[0038] 进一步地,内存控制器从剩下高位地址信号线中选取部分地址信号线,将被选取 出的地址信号线的输出作为第一高位地址信号。在本实施例中,内存控制器可以从剩下的 高位地址信号中选取2位高位地址信号线的输出作为第一高位地址信号,例如,第一高位 地址信号可以通过剩余高位地址信号线中的A17和A16的输出生成。其中,A17为第一高 位地址信号第二位,而A16为第一高位地址信号中的第一位,第一高位地址信号的取值可 以为 " 00 "、" 01 "、" 10 " 或者 " 11 "。
[0039] 第一级缓冲芯片在接收到第一片选信号和第一高位地址信号后,根据第一片选信 号和第一高位地址信号从第二级缓冲芯片中确定出目标第二级缓冲芯片。具体地,预先设 置第一高位地址信号和第一片选信号与第二片信号之间的映射关系。例如,可以为真值 表。第一级缓冲芯片根据该映射关系生成编码代码,并将该编码代码存储在第一级缓冲芯 片中。第一级缓冲芯片在接收到第一片选信号和第一高位地址信号后,运行根据该编码代 码,对第一高位地址信号和第一片选信号进行编码处理,得到第二片选信号,然后第一级缓 冲芯片向第二级缓冲芯片中输出该第二片选信号,以从第二级缓冲芯片中选通目标第二级 缓冲芯片。
[0040] 表1为本发明实施例提供给的一种预设的映射关系。第一级缓冲芯片根据该预设 的映射关系表对第一片选信号和第一高位地址信号进行编码,得到第二片选信号。
[0041] 表 1
[0042]

【权利要求】
1. 一种内存访问方法,其特征在于,包括: 内存控制器发送访存指令、低位地址信号、第一片选信号和第一高位地址信号给第一 级缓冲芯片,并将第二高位地址信号进行延迟处理,得到延迟地址信号,将所述延迟地址信 号发送给第二级缓冲芯片;其中,所述第一级缓冲芯片与所述第二级缓冲芯片级联,所述第 二级缓冲芯片连接至少一个内存模块,所述内存模块包括至少一个内存颗粒;所述第一片 选信号与所述第一高位地址信号用于标识所述第二缓冲芯片中的目标第二级缓冲芯片;所 述低位地址信号用于标识目标内存模块中的目标内存颗粒; 所述第一级缓冲芯片根据预设的映射关系以及所述第一片选信号和所述第一高位地 址信号向所述第二级缓冲芯片输出第二片选信号以选通所述目标第二级缓冲芯片,并将所 述访存指令和所述低位地址信号发送给所述目标第二级缓冲芯片;其中,所述第二级缓冲 芯片包括至少一个缓冲芯片,所述目标缓缓冲芯片为所述第二级缓冲芯片中被所述第二片 选信号选通的缓冲芯片; 所述目标第二级缓冲芯片根据所述延迟地址信号和所述第二片选信号从所述内存模 块中确定所述目标内存模块,并根据所述低位地址信号从所述目标内存模块中确定所述目 标内存颗粒;所述延迟地址信号和所述第二片选信号用于标识所述内存模块中的所述目标 内存模块; 所述目标第二级缓冲芯片根据所述访存指令从所述目标内存颗粒中获取目标数据,并 通过所述第一级缓冲芯片将所述目标数据发送给所述内存控制器。
2. 根据权利要求1所述的内存访问方法,其特征在于,所述内存控制器将第二高位地 址信号进行延迟处理,得到延迟地址信号包括: 所述内存控制器根据所述第一级缓冲芯片的延迟参数对所述第二高位地址信号进行 延迟处理,得到延迟地址信号。
3. 根据权利要求1或2所述的内存访问方法,其特征在于,所述第一级缓冲芯片根据预 设的映射关系以及所述第一片选信号和所述第一高位地址信号向所述第二级缓冲芯片输 出第二片选信号以选通所述目标第二级缓冲芯片包括: 所述第一级缓冲芯片根据所述映射关系生成编码代码; 所述第一级缓冲芯片采用所述编码代码对所述第一片选信号和所述第一高位地址信 号进行编码,获得所述第二片选信号; 所述第一级缓冲芯片向所述第二级缓冲芯片输出所述第二片选信号,以选通所述目标 第二级缓冲芯片。
4. 一种内存系统,其特征在于,包括:内存控制器、第一级缓冲芯片和至少一个第二级 缓冲芯片,其中,所述内存控制器与所述第一级缓冲芯片和所述第二级缓冲芯片连接,所述 第一级缓冲芯片与所述第二级缓冲芯片级联,所述第二级缓冲芯片连接内存模块,所述内 存模块包括至少一个内存颗粒; 所述内存控制器,用于发送访存指令、低位地址信号、第一片选信号和第一高位地址信 号给所述第一级缓冲芯片,并将第二高位地址信号进行延迟处理,得到延迟地址信号,将所 述延迟地址信号发送给所述第二级缓冲芯片,以及接收所述第一级缓冲芯片返回的目标数 据;所述第一片选信号与所述第一高位地址信号用于标识所述第二缓冲芯片中的目标第二 级缓冲芯片;所述低位地址信号用于标识目标内存模块中的目标内存颗粒; 所述第一级缓冲芯片,用于接收所述访存指令、所述低位地址信号、所述第一片选信号 和所述第一高位地址信号,根据预设的映射关系以及所述第一片选信号和所述第一高位地 址信号向所述第二级缓冲芯片输出第二片选信号以选通所述目标第二级缓冲芯片,并将所 述访存指令和所述低位地址信号发送给所述目标第二级缓冲芯片,以及接收所述目标第二 级缓冲芯片返回的所述目标数据并将所述目标数据发送给所述内存控制器;其中,所述第 二级缓冲芯片包括至少一个缓冲芯片,所述目标缓缓冲芯片为所述第二级缓冲芯片中被所 述第二片选信号选通的缓冲芯片; 所述目标第二级缓冲芯片,用于接收所述访存指令、所述低位地址信号、所述延迟地址 信号和所述第二片选信号,根据所述延迟地址信号和所述第二片选信号从所述内存模块中 确定所述目标内存模块,并根据所述低位地址信号从所述目标内存模块中确定所述目标内 存颗粒,以及根据所述访存指令从所述目标内存颗粒中获取目标数据,将所述目标数据发 送给所述第一级缓冲芯片;所述延迟地址信号和所述第二片选信号用于标识所述内存模块 中的所述目标内存模块。
5. 根据权利要求4所述的内存系统,其特征在于,所述内存控制器具体用于根据所述 第一级缓冲芯片的延迟参数对所述第二高位地址信号进行延迟处理,得到所述延迟地址信 号。
6. 根据权利要求4或5所述的内存系统,其特征在于,所述第一级缓冲芯片具体用于根 据所述映射关系生成编码代码,采用所述编码代码对所述第一片选信号和所述第一高位地 址信号进行编码,获得所述第二片选信号,以及向所述第二级缓冲芯片输出所述第二片选 信号,以选通所述目标第二级缓冲芯片。
7. 根据权利要求4或5所述的内存系统,其特征在于,所述第一级缓冲芯片为iMB芯 片。
8. -种内存系统,其特征在于,包括:上述权利要求4-7任一项的内存控制器和上述权 利要求4-7任一项的第一级缓冲芯片,以及至少一个负载减少双列直插式LRDMM内存模 块,其中,所述LRDIMM内存模块中包括iMB芯片和内存模块,所述内存模块中包括至少一个 内存颗粒;所述内存控制器与所述第一级缓冲芯片以及所述LRDIMM内存模块中的所述iMB 芯片连接,所述第一级缓冲芯片与所述LRDIMM内存模块中的所述iMB芯片连接。
【文档编号】G06F13/16GK104123234SQ201310152306
【公开日】2014年10月29日 申请日期:2013年4月27日 优先权日:2013年4月27日
【发明者】阮元, 陈明宇 申请人:华为技术有限公司, 中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1