一种扩展内存的方法、内存节点、主节点及系统技术方案

技术编号:9033967 阅读:177 留言:0更新日期:2013-08-15 00:49
本发明专利技术实施例提供一种扩展内存的方法、内存节点、主节点、及系统,所述方法通过接收同一个Grid中其他内存节点和主节点的读写请求命令,根据所述读写请求命令中的地址判断所述其他内存节点和主节点是否同时访问同一个内存通道,当判断所述其他内存节点和主节点同时访问不同的内存通道时,则根据所述其他内存节点和主节点发送的所述读写请求命令中的地址访问所述地址对应的内存通道,接收从所述内存通道中返回的数据和身份标识ID,将所述数据发送到所述ID对应的所述其他内存节点或者主节点,从而实现内存扩展功能,并可根据内存设计的容量需求,利用FPGA和专用集成电路芯片,实现不同应用的拓扑。

【技术实现步骤摘要】

本专利技术涉及计算机硬件领域,尤其涉及到一种扩展内存的方法、内存节点、主节点及系统
技术介绍
在计算机系统中,存储器可谓是决定整机性能的关键因素之一。随着微电子技术的飞速发展,处理器的性能成倍提高,工作主频和总线带宽都很高,这需要存储器提供高的数据传输率来配合。特别是对多路服务器来说,对存储器容量是极其渴求的,传统的存储访问技术已经无法满足需求。而且随着处理器的速度提升,需要存储器提供更多的数据来满足处理器的要求,但是目前存储器的速度提升已经相当困难,这样就导致了存储器成为计算机系统速度提闻的最大瓶颈。Intel多核处理器共享内存时,使用快速通道互联(Quick Path Interconnect,QPI)协议来保证内存的一致性。从逻辑上,QPI_vl.1协议代理可分为缓冲代理(CachingAgent,CA)和内存管理代理(Home Agent,HA)。CA和HA通过一个通信网络上的包交换,CA发起访问内存的请求,HA管理内存数据,解决多个CA请求之间的冲突,共同实现了数据一致性和前向处理。每一个Cache line地址都有一个HA,当CA没有备份这个地址上的数据时,HA这个内存空间就会存储这个地址所对应的数据。当两个或多个CA差不多同时向HA的同一 Cache line地址发起请求时,就会出现冲突。Intel QPI 1.1协议故意将CA的设计尽可能的简单,把解决冲突的大部分工作都放在HA中去做。HA必须产生所需要的监听消肩、OIBM的eX5 (FireHawk)芯片可以看做是一个QPI与内存控制器的桥接芯片。它提供4路QPI接口与服务器连接,8个可升级内存接口(Scalable Memory Interface, SMI),经过可升级内存缓冲器(Scalable Memory Buffer, SMB)连接双列直插式存储模块(DualIn-line Memory Module, DIMM)条,另外它还提供3个扩展口,用作FireHawk芯片之间的连接。SMI接口属于Intel定义的接口,只支持较低的两种DMM速率。本方案中,一款芯片能够扩展8个SMI接口,最大能外挂32个DI丽。Cisco刀片服务器内提供了内存扩展技术(Extended Memory Technology),通过这种技术,能够将基于Xeon5500的刀片服务器的内存容量从144G增加到384G,从而能装载更多的虚拟机。在内存架构方面,Xeon5500内置一个内存控制器。这个内存控制器能管理三个内存通道Channel,而且每个内存通道能接三个DIMM,也就是一个Xeon5500CPU最多能接九个DMM,在双路的情况下,因为有两个内存控制器,所以能接十八个DMM。虽然Xeon5500芯片每个内存通道都支持三个DIMM,但内存控制器的驱动能力是有限的,单通道驱动多个DIMM时性能会下降,因此使用三个DIMM的后果是内存只能运行在800Mhz,所以思科通过一块称为Catalina的专用集成电路将前两个DIMM都进行扩展,每个DIMM扩展成四个子DIMM,使得每个内存通道都能支持八个DIMM,并且都运行在1066Mhz下。Xeon5500芯片和Intel的CPU的SMI 接口耦合,扩展灵活性很差,且6款芯片最大能外挂56个DMM。在实际的应用中,实现TB级的内存扩展是非常有意义的,针对主流的16GB的DMM,ITB对应着64个DMM。目前主流内存为DDR3的带寄存器的双列直插式存储模块(Register Dual In-line Meomory Module, RDIMM),由于芯片管脚的驱动负载能力,每个控制器IO只能驱动两个RDIMM的模组,RDIMM的主流容量分为4GB/8GB/16GB。RDIMM的传输带宽为64Gbps,而一个QPI的传输带宽为128Gbps。可以看出,对内存扩展板来说,由于存在多个控制器通道,而QPI的带宽是个瓶颈。本专利技术基于现场可编程门阵列(Field-Programmable Gate Array,FPGA)实现,针对大容量内存扩展和优化内存扩展板的性能提出一种思路。
技术实现思路
本专利技术实施例提供了一种扩展内存的方法,旨在解决如何简单可靠的实现内存的扩展。第一方面,一种扩展内存的方法,所述方法包括:接收同一个Grid中其他内存节点和主节点的读写请求命令;根据所述读写请求命令中的地址判断所述其他内存节点和主节点是否同时访问同一个内存通道;当判断所述其他内存节点和主节点同时访问不同的内存通道时,则根据所述其他内存节点和主节点发送的所述读写请求命令中的地址访问所述地址对应的内存通道;接收从所述内存通道中返回的数据和身份标识ID,将所述数据发送到所述ID对应的所述其他内存节点或者主节点,所述ID用于标识访问所述数据的其他内存节点或者主节点。 结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:当判断所述其他内存节点和主节点同时访问相同的内存通道时,根据RoundRobin的策略从访问相同的其他内存节点和主节点的读写请求命令中选取其中一个其他内存节点或者主节点的读写请求命令;根据选取的读写请求命令中的地址访问所述地址对应的内存通道。第二方面,一种扩展内存的方法,所述方法包括:接收快速通道互联QPI接口发送的QPI报文或者上一级主节点发送的一个或者多个读写请求命令;根据所述多个读写请求命令中的地址判断所述多个读写请求命令中的地址是否相同;当所述多个读写请求命令中的地址不相同时,则将所述读写请求命令发送到所述读写请求命令地址对应的下一级主节点或者Grid中,使得所述Grid中的内存节点根据所述地址访问所述地址对应的内存通道获取数据,并将所述数据发送到主节点;接收所述下一级主节点或者Grid发送的数据。结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:当所述多个读写请求命令中的地址相同时,则选取其中一个读写请求命令;根据选取的读写请求命令中的地址将选取的读写请求命令发送到所述地址对应的下一级主节点或者Grid中。第三方面,一种内存节点,所述内存节点包括:第一接收单元,用于接收同一个Grid中其他内存节点和主节点的读写请求命令;第一判断单元,用于根据所述读写请求命令中的地址判断所述其他内存节点和主节点是否同时访问同一个内存通道;访问单元,用于当判断所述其他内存节点和主节点同时访问不同的内存通道时,则根据所述其他内存节点和主节点发送的所述读写请求命令中的地址访问所述地址对应的内存通道;第二接收单元,用于接收从所述内存通道中返回的数据和身份标识ID,将所述数据发送到所述ID对应的所述其他内存节点或者主节点,所述ID用于标识访问所述数据的其他内存节点或者主节点。结合第三方面,在第三方面的第一种可能的实现方式中,所述内存节点还包括第一选取单元,所述第一选取单元具体用于:当判断所述其他内存节点和主节点同时访问相同的内存通道时,根据RoundRobin的策略从访问相同的其他内存节点和主节点的读写请求命令中选取其中一个其他内存节点或者主节点的读写请求命令;根据选取的读写请求命令中的地址访问所述地址对应的内存通道。第四方面,一种主节点,所述主节点包括:第三接收单元,用于接 收快速通道互联QPI接口发送本文档来自技高网
...

【技术保护点】
一种扩展内存的方法,其特征在于,所述方法包括:接收同一个Grid中其他内存节点和主节点的读写请求命令;根据所述读写请求命令中的地址判断所述其他内存节点和主节点是否同时访问同一个内存通道;当判断所述其他内存节点和主节点同时访问不同的内存通道时,则根据所述其他内存节点和主节点发送的所述读写请求命令中的地址访问所述地址对应的内存通道;接收从所述内存通道中返回的数据和身份标识ID,将所述数据发送到所述ID对应的所述其他内存节点或者主节点,所述ID用于标识访问所述数据的其他内存节点或者主节点。

【技术特征摘要】

【专利技术属性】
技术研发人员:李涛常胜王工艺顾雄礼
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1