掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及服务器技术领域,更具体地说,涉及一种内存扩展装置和一种机架。

背景技术

在当下的数据中心服务器中,随着CPU(中央处理器,central processing unit)内核数的快速增加与信息处理量的提升,对内存的需求量也日益增加。在云服务及一些计算密集型的场景下,内存的数量的不足会成为限制服务器性能的瓶颈。如何进行高效的内存扩展,一直是业内人员所研究的问题。

在一种相关技术中,利用CPU插座的位置,通过将CPU替换成专用的内存扩展芯片,通过UPI总线进行扩展,这种方案少装了一颗CPU,整机性能损失很大。在另一种相关技术中,通过专门的线缆连接CPU与内存扩展装置,这种方案需要CPU预留出一组宝贵的一致性协议接口给内存扩展装置,例如UPI(Ultra Path Interconnect,Intel提出的高速总线,用于Intel CPU之间的高速互连)另外内存扩展装置的固定与供电也需要特殊定制,通用性比较差。

因此,如何在不损失CPU一致性协议接口的前提下实现内存扩展是本领域技术人员需要解决的技术方案。

发明内容

本申请的目的在于提供一种内存扩展装置和一种机架,在不损失CPU一致性协议接口的前提下实现了内存扩展。

为实现上述目的,本申请提供了一种内存扩展装置,设置于目标服务器中,所述内存扩展装置包括扩展芯片和扩展内存;

所述扩展芯片包括一个或多个CXL控制器、一个或多个内存控制器,所述CXL控制器和所述内存控制器通过总线连接;

所述CXL控制器通过CXL接口连接所述目标服务器的CPU,所述内存控制器连接所述扩展内存。

优选的,所述CXL接口通过PCIe金手指连接所述目标服务器的CPU。

优选的,所述内存控制器连接内存插槽,所述扩展内存插入所述内存插槽中。

优选的,所述内存控制器与所述扩展内存集成于一块电路板上并通过走线连接。

优选的,所述内存扩展装置还包括线缆连接器,所述CXL接口通过所述线缆连接器连接所述目标服务器所在机架中的其他服务器。

优选的,所述机架中的服务器通过CXL交换机连接。

优选的,所述扩展芯片还包括以太网控制器,所述以太网控制器连接所述目标服务器所在机房中的其他服务器。

优选的,所述内存扩展装置还包括光纤连接器,所述以太网控制器通过所述光纤连接器连接所述目标服务器所在机房中的其他服务器。

为实现上述目的,本申请提供了一种机架,包括多台第一类服务器,所述第一类服务器包含如上述内存扩展装置,多台所述第一类服务器中的内存扩展装置通过CXL交换机连接。

优选的,所述机架还包括第二类服务器,所述第二类服务器不包含所述内存扩展装置;

所述第二类服务器的CPU通过CXL转接卡或PCIe金手指连接线缆连接器,所述线缆连接器通过线缆连接所述CXL交换机,以便所述第二类服务器通过所述CXL交换机使用所述第一类服务器中所述内存扩展装置所提供的所述扩展内存。

通过以上方案可知,本申请提供的一种内存扩展装置,设置于目标服务器中,所述内存扩展装置包括扩展芯片和扩展内存;所述扩展芯片包括一个或多个CXL控制器、一个或多个内存控制器,所述CXL控制器和所述内存控制器通过总线连接;所述CXL控制器通过CXL接口连接所述目标服务器的CPU,所述内存控制器连接所述扩展内存。

本申请提供的内存扩展装置通过CXL接口连接CPU,由于CXL(Compute ExpressLink,一种一致性总线)总线与PCIe总线的物理层兼容,因此内存扩展装置可以与PCIe(peripheral component interconnect express,外设部件互连扩展)设备一样使用服务器机箱内的PCIe插槽,无需额外的通信线缆,也即内存扩展装置可以复用服务器的PCIe接口,CPU不需要为内存扩展装置预留一致性协议接口。本申请还公开了一种机架,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1为根据一示例性实施例示出的一种内存扩展装置的结构图;

图2为根据一示例性实施例示出的一种Type3型的CXL设备的结构图;

图3为根据一示例性实施例示出的一种内存扩展装置的原理图;

图4为根据一示例性实施例示出的一种扩展芯片的结构图;

图5为根据一示例性实施例示出的一种机架的结构图;

图6为根据一示例性实施例示出的一种CXL转接卡的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

本申请实施例公开了一种内存扩展装置,设置于目标服务器中,如图1所示,所述内存扩展装置包括扩展芯片10和扩展内存20;

所述扩展芯片10包括一个或多个CXL控制器101、一个或多个内存控制器102,所述CXL控制器101和所述内存控制器102通过总线连接;

所述CXL控制器101通过CXL接口连接所述目标服务器的CPU30,所述内存控制器102连接所述扩展内存20。

在本实施例中,目标服务器包括扩展芯片、扩展内存和CPU,扩展芯片包括一个或多个CXL控制器、一个或多个内存控制器(MC,Memory Controller),经由内部总线(Internal Bus)连接在一起。内部总线的实现方式可以为单向总线、环形总线、网格总线等,任务是在各功能单元之间高带宽低延迟地传递数据。

每个CXL控制器引出一个CXL接口,其中的一个CXL接口连接目标服务器的CPU,作为一种可行的实施方式,CXL接口通过PCIe金手指连接目标服务器的CPU。由于CXL总线与PCIe总线的物理层兼容,因此内存扩展装置可以与PCIe设备一样使用服务器机箱内的PCIe插槽,无需额外的通信线缆由于CXL与PCIe物理层兼容,新的CPU在支持PCIe总线的接口中一般都同时支持CXL总线。这意味着CPU端无需引出额外的通信接口,只需要在原有PCIe总线接口的基础上,在CPU启动时通过BIOS控制,即可在PCIe总线与CXL总线之间进行切换。

CXL控制器实现了CXL协议中的CXL.io与CXL.Mem两部分。根据CXL协议,有这两部分就能构成一个Type3型的CXL设备,可以实现内存扩展的功能。Type3型的CXL设备如图2所示,其中,Host Memory为服务器的主存储器,Root Complex(根复合体)集成于CPU上,HomeAgent为本地代理,IO Bridge为IO(输入/输出,Input/Output)桥,IOMMU(input/outputmemory management unit)为输入输出内存管理单元,CXL Memory Expander为上述扩展芯片,Device Memory为上述扩展内存。

内存控制器可以采用DDR(Double Data Rate SDRAM)控制器,例如DDR4或DDR5类型,当然也可以支持其他内存类型。内存控制器连接扩展内存,作为一种可行的实施方式,内存控制器连接内存插槽,扩展内存插入内存插槽中。内存插槽的数量由扩展芯片中内存控制器的数量决定,物理形态可以是DIMM(Dual Inline Memory Module,双列直插内存模块)形式,也可以为SODIMM(Small Outline DIMM)形式。作为另一种可行的实施方式,内存控制器与扩展内存集成于一块电路板上并通过走线连接,可以节省空间并提升内存接口速率。

可见,CPU通过CXL接口连接扩展芯片,扩展芯片通过其中的内存控制器连接扩展内存,进而实现了CPU连接扩展内存,实现了目标服务器内的内存扩展,也即机箱内的内存扩展。

本申请实施例提供的内存扩展装置通过CXL接口连接CPU,由于CXL总线与PCIe总线的物理层兼容,因此内存扩展装置可以与PCIe设备一样使用服务器机箱内的PCIe插槽,无需额外的通信线缆,也即内存扩展装置可以复用服务器的PCIe接口,CPU不需要为内存扩展装置预留一致性协议接口。

在上述实施例的基础上,作为一种优选实施方式,所述内存扩展装置还包括线缆连接器,所述CXL接口通过所述线缆连接器连接所述目标服务器所在机架中的其他服务器。在具体实施中,内存扩展装置还可以通过线缆连接器引出CXL接口。线缆连接器可以接铜制线缆,将内存扩展装置接入一个CXL交换机,也即机架中的服务器通过CXL交换机连接,从而向目标服务器所在机架中的其他提供内存扩展,向更多的服务器提供内存扩展。由于铜缆的传输距离有限(一般在5米范围之内),可实现机架范围内的内存扩展。可见,目标服务中的内存扩展装置通过CXL接口连接目标服务器所在机架中的CXL交换机,机架中的其他服务器也连接至该CXL交换机,其他服务器可以使用目标服务器中的内存扩展装置所提供的扩展内存,此时目标服务器提供扩展内存,其他服务器作为该扩展内存的“消费者”,也即通过CXL交换机实现机架内的内存共享。

在上述实施例的基础上,作为一种优选实施方式,所述扩展芯片还包括以太网控制器,所述以太网控制器连接所述目标服务器所在机房中的其他服务器。在具体实施中,以太网控制器(Ethernet Controller)支持IEEE802.3协议,集成媒体接入控制器(MAC)与物理接口收发器(PHY),通信速率为100Gbps或更高,并向下兼容其它速率。为进一步降低内存扩展应用中的数据传输延迟,所述扩展芯片还具备专门的硬件卸载引擎,用以实现RoCE(RDMA over Converged Ethernet)等加速技术,RoCE为利用融合以太网的RDMA(RemoteDirect Memory Access,远程直接数据存取)技术。

作为一种可行的实施方式,所述内存扩展装置还包括光纤连接器,所述以太网控制器通过所述光纤连接器连接所述目标服务器所在机房中的其他服务器。在具体实施中,内存扩展装置采用标准太网接口,就可以利用机房内现有的交换机与路由器等基础设施,将内存扩展装置提供更远距离的服务器使用,实现机房范围内的内存扩展。由于要经过多一级的硬件转接与协议处理,相比于机箱内与机架内的扩展方式,机房内扩展方式不可避免的会产生更大的通信延迟。因此,内存扩展装置在采用802.3以太网物理层和数据链路层的基础上,更上层的协议采用更轻量级类似于RoCE网络的传输协议,通过必要的CPU卸载(CPU Offload)与内核旁路(Kernal Bypass)加速技术,将整个链路的延迟控制在一定范围内(例如小于10us)。

可见,本申请实施例提出了一种基于CXL总线的三级内存扩展装置,该内存扩展装置的外形为标准的PCIe Add-In Card形态。通过PCIe金手指,可以像普通PCIe设备一样插在服务器机箱内,不会占用CPU其它的通信接口。PCIe插槽是服务器机箱内的标准配置,因此本装置不需要专门的安装空间。该内存扩展装置上实现有多个DIMM插槽,每个插槽可插一条内存,作为扩展内存使用。该内存扩展装置的原理图如图3所示。

该内存扩展装置上包含一片具备CXL协议处理能力的扩展芯片(Expander IC),如图4所示,它集成有若干通道的内存控制器以及多个CXL接口。处理通过金手指上引出的CXL总线之外,本装置还将用线缆连接器形式引出了CXL总线,用于外接CXL交换机,供更多的服务器访问本装置。进一步地,扩展芯片还集成有一个或多个高速以太网控制器,用于连接100Gbps或速率更高的光模块,供更远距离的服务器访问内存扩展装置。内存扩展装置可以实现机箱内、机架内、机房内三级内存扩展:通过PCIe金手指,实现单台服务器内部的内存扩展,也即机箱内扩展;通过线缆连接器,将内存扩展装置连接CXL交换机,供同一机架内的其它服务器访问内存扩展装置,也即机架内扩展;通过光纤连接器,将内存扩展装置接入以太网,供机房内更远距离的服务器访问内存扩展装置,也即机房内扩展。三种扩展方式的目标延迟数据如表1所示:

表1

下面介绍本申请提供的一种应用实施例,内存扩展芯片由Intel Agilex I系列FPGA(Field Programmable Gate Array,现场可编程门阵列)实现,基于这颗FPGA本实施例实现了两个CXL接口、4通道DIMM、两个200Gbps高速以太网接口。在本实施例中,内存扩展装置的外形为一张全高3/4长的标准PCIe x16 Add-in卡大小,可插在服务器的标准PCIe插槽内。内存插槽为标准DDR4插槽,可以搭载标准的UDIMM(Unbuffered DIMM,即无缓冲双列直插内存模块),RDIMM(Registered DIMM,带寄存器的双列直插内存模块)和LRDIMM(LoadReduced DIMM,低负载双列直插内存模块)类型DDR4内存条。其中线缆连接器是两个MCIO(Mini Cool Edge I/O)形态的连接器,每个传输8通道CXL信号。即合并起来可传输16通道CXL信号,也可以作为两个8通道CXL接口使用。其中光纤连接器是两个标准的QSFP56(QuadSmall Form-factor Pluggable)连接器,每个可以连接最高200Gbps速率的光模块,由FPGA内的两个高速以太网接口控制。本内存扩展装置整体功耗120W,由PCIe金手指与外接电源合路供电。装置还包含中有DC-DC电源转换系统、时钟系统、温度检测及风扇控制系统、Jtag(边界扫描测试)调试系统等辅助功能单元。

可见,本实施例提供了一个基于CXL总线的内存扩展装置,可实现机箱内、机架内、机房内三级内存扩展功能。内存扩展装置装置包含一颗集成电路芯片,可实现一路或多路CXL总线、多路内存控制器与以太网控制器功能。内存扩展装置以金手指为物理介质与本地服务器CPU连接,运行具备一致性特点的CXL协议,使装置内搭载的内存条可供本地服务器使用,实现机箱范围内的内存扩展。内存扩展装置以线缆连接器为物理介质与相邻的CXL交换机相连,运行具备一致性特点的CXL协议,使装置内搭载的内存条可供接入交换机的其它服务器CPU使用,实现机架内的内存扩展。内存扩展装置以光纤连接器为物理介质与远端的服务器相连,在以太网物理层和数据链路层基础上,运行特定的卸载与加速协议,使装置内搭载的内存条可供远距离服务器使用,实现机房范围内的内存扩展。

本申请实施例提供了一种机架,包括多台第一类服务器,所述第一类服务器包含如上述实施例提供的内存扩展装置,多台所述第一类服务器中的内存扩展装置通过CXL交换机连接。该机架还包括第二类服务器,所述第二类服务器不包含所述内存扩展装置;所述第二类服务器的CPU通过CXL转接卡或PCIe金手指连接线缆连接器,所述线缆连接器通过线缆连接所述CXL交换机,以便所述第二类服务器通过所述CXL交换机使用所述第一类服务器中所述内存扩展装置所提供的所述扩展内存。

如图5所示,一台或多台配备了内存扩展装置的第一类服务器(例如Server0、Server22)通过CXL交换机(CXL Switch)向其它服务器提供内存扩展服务。未配置内存扩展装置的第二类服务器(例如Server21、Server23),可以通过CXL转接卡连接CXL交换机,如图6所示,CXL转接卡可以通过在上述内存扩展装置上移除DIMM插槽与光纤连接器来实现,卡上的内存扩展芯片可更换成功能相对简单的CXL中继芯片(CXL Retimer)以节省成本。更近一步地,如果机架内的CXL交换机的距离足够近,CXL中继芯片也可以省掉,直接用PCB走线将金手指与线缆连接器连通即可。

可见,在本实施例中,机架中的各服务器线缆连接器、线缆连接至CXL交换机,第一类服务器中包含内存扩展装置,第二类服务器未配置内存扩展装置,但是可以通过CXL交换机与第一类服务器中的内存扩展装置相连,也即第二类服务器可以使用第一类服务器中内存扩展装置所提供的扩展内存,第一类服务器提供扩展内存,第二类服务器作为该扩展内存的“消费者”,通过CXL交换机实现机架内的内存共享。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

技术分类

06120114584123