存储扩展装置及服务器的制作方法

文档序号:6397079阅读:198来源:国知局
专利名称:存储扩展装置及服务器的制作方法
技术领域
本发明实施例涉及通信技术,尤其涉及一种存储扩展装置及服务器。
背景技术
在服务器中,计算资源与存储资源是整机性能的关键因素。随着微电子技术的飞速发展,处理器的性能在成倍的提高。虽然处理器技术在不断进步,但内存容量仍然受到限制,内存容量的限制造成了服务器的利用率无法随着处理器的性能提高而提高。其原因如下:第一,现在处理器性能的提高更多是通过内核数量和缓存,而非主频;第二,内核数、缓存和线程数随中央处理器(Central Processing Unit,简称CPU)工作频率的降低而增加,内存增长不足,导致失衡;第三,64位的应用和操作系统需要更多内存。从整个服务器的利用率的角度来看,服务器的利用率的瓶颈不再受限于CPU的性能,而主要受限于内存的容量与内存数据的读写速率。当前,内存数据的读写速率受制造工业技术的限制,存储器的读写速度提升也相当困难。这样,就只能从扩展内存容量的方向考虑。如何扩展内存容量,可以达到既适用于多种接口多种配置的内存扩展设备,同时还可以切换为存储扩展硬件,从而提升服务器性能成为当前需要解决的技术问题。

发明内容
有鉴于此,本发明实施例提供一种存储扩展装置及服务器,能够作为CPU内存容量的扩展设备,还能够切换为存储输入输出(Input&Output,简称10)设备的存储扩展硬件。一方面,本发明实施例提供的存储扩展装置,包括:快速通道互连QPI接口模块,通过QPI总线与中央处理器CPU通信;高速外围组件互联PCIe接口模块,通过PCIe总线与所述CPU通信;接口选择模块,分别与所述QPI接口模块、所述PCIe接口模块连接;缓存代理HA模块,与所述接口选择模块连接;内存控制器引擎MCEng模块,分别与所述HA模块、所述接口选择模块连接;当所述存储扩展装置作为存储IO接口设备时,所述PCIe接口模块用于完成所述PCIe总线中PCIe数据的接收,并对所述PCIe数据中PCIe协议存储器事务进行处理,以及将处理的PCIe协议存储器事务通过所述接口选择模块发送至所述MCEng模块,所述MCEng模块完成读写驱动功能并提供接口与存储IO设备相连;或者当所述存储扩展装置作为内存扩展设备时,所述QPI接口模块用于完成所述QPI总线中QPI数据的接收,获取所述QPI数据中的QPI协议事务并发送给所述接口选择模块,进而通过所述接口选择模块将所述QPI数据中的QPI协议事务输出至所述HA模块,以及所述HA模块对所述QPI数据中的QPI协议事务进行处理,并将处理完成的QPI协议事务发送至所述MCEng模块,所述MCEng模块完成读写驱动功能并提供接口与扩展内存相连;或者,当所述存储扩展装置作为内存扩展设备时,所述PCIe接口模块用于完成所述PCIe总线中PCIe数据的接收,获取所述PCIe数据中的QPI协议事务并发送给所述接口选择模块,进而通过所述接口选择模块将所述PCIe数据中的QPI协议事务输出至所述HA模块,以及所述HA模块对所述所述PCIe数据中的QPI协议事务进行处理,并将处理完成的所述PCIe数据中的QPI协议事务发送至所述MCEng模块,所述MCEng模块完成读写驱动功能并提供接口与扩展内存相连。在一种可能的实现方式中,上述的存储扩展装置,还包括:SMbus选择模块,与所述接口选择模块连接,用于向所述接口选择模块发送选择指令,以使所述接口选择模块根据所述选择指令,选择接收所述QPI接口模块发送的所述QPI接口模块获取的QPI协议事务;或者选择接收所述PCIe接口模块发送的所述PCIe接口模块获取的QPI协议事务,或者选择接收所述PCIe接口模块发送的所述处理的PCIe协议存储器事务。在另一种可能的实现方式中,上述的存储扩展装置,还包括:选择指令切换模块,与所述CPU连接,并分别与所述QPI接口模块和所述PCIe接口模块连接,用于使所述CPU输出的数据通过所述QPI总线传输至所述QPI接口模块,以及向所述SMbus选择模块发送第一内存扩展指令,所述SMbus选择模块根据所述第一内存扩展指令向所述接口选择模块发送所述选择指令;或者,用于使所述CPU输出的数据,经过接口适配后,通过所述PCIe总线传输至所述PCIe接口模块,以及向所述SMbus选择模块发送第二内存扩展指令,所述SMbus选择模块根据所述第二内存扩展指令向所述接口选择模块发送所述选择指令;或者,用于使所述CPU输出的数据,通过所述PCIe总线传输至所述PCIe接口模块,以及向所述SMbus选择模块发送存储指令,所述SMbus选择模块根据所述存储指令向所述接口选择模块发送所述选择指令。另一方面,本发明实施例提供的服务器,包括:CPU,和本发明任一所述的存储扩展装置,所述CPU通过QPI总线与所述存储扩展装置中的QPI接口模块连接,以及所述CPU通过PCIe总线与所述存储扩展装置中的PCIe接口模块连接。由上述技术方案可知,本发明实施例的存储扩展装置及服务器,通过QPI接口模块和PCIe接口模块与CPU通信,通过接口选择模块选择接收QPI接口模块或PCIe接口模块输出的数据,若存储扩展装置作为存储IO设备,接口选择模块输出的数据可以直接输出至MCEng模块,若存储扩展装置作为内存扩展设备,接口选择模块输出的数据经过HA模块处理之后输出至MCEng模块,实现了上述的存储扩展装置可作为CPU内存容量的QPI接口和PCIe接口扩展设备,还可切换为存储IO的存储扩展硬件,从而提升服务器性能。


为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地:下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明技术方案的其它附图。
图1为本发明一实施例提供的存储扩展装置的结构示意图;图2A至图2C为本发明一实施例提供的存储扩展装置的部分结构示意图;图3为本发明另一实施例提供的存储扩展装置的部分结构示意图;图4为本发明另一实施例提供的存储扩展装置的部分结构示意图;图5A和图5B为本发明另一实施例提供的存储扩展装置的部分结构示意图;图6至图8为本发明另一实施例提供的存储扩展装置的实际应用的场景图;图9为本发明另一实施例提供的存储扩展装置的使用方法示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。显然,下述的各个实施例都只是本发明一部分的实施例。基于本发明下述的各个实施例,本领域普通技术人员即使没有作出创造性劳动,也可以通过等效变换部分甚至全部的技术特征,而获得能够解决本发明技术问题,实现本发明技术效果的其它实施例,而这些变换而来的各个实施例显然并不脱离本发明所公开的范围。本发明实施例主要是提供一种可以适用于多种接口多种配置的存储扩展装置,用以方便灵活地提升服务器的内存/存储容量,从而达到提升服务器的性能。结合图1至图2C所示,图1示出了本发明一实施例提供的存储扩展装置的结构示意图,图2A至图2C示出了本发明一实施例提供的存储扩展装置的部分结构示意图,其中,为方便查看图1中所示的存储扩展装置,采用2A、图2B和图2C分别示出存储扩展装置的部分结构,如图所示,图2A示出了图1中的部分结构示意图,图2B示出了存储扩展装置10中的CPU通过PCIe总线连接PCIe接口模块11的示意图,图2C示出了存储扩展装置10中的CPU通过QPI总线连接QPI接口模块12的示意图。本实施例的存储扩展装置10 (如图1中的虚线框中的结构)包括:快速通道互联(Quick Path Interconnect,简称QPI)接口模块12通过QPI总线与CPU通信,具体的QPI接口模块12可以与CPU的QPI接口(图1中未示出)连接,进而实现与CPU通信;高速外围组件互联(Peripheral Component Interconnect Express,简称PCIe)接 口模块 11 通过PCIe总线与CPU通信,具体的PCIe接口模块11可以与CPU的QPI接口连接,进而实现与(PU通信;接口选择模块13分别与QPI接口模块12、PCIe接口模块11连接;缓存代理(HomeAgent,简称HA)模块14与接口选择模块13连接;内存控制器引擎(Memory ControllerEngine,简称MCEng)模块15分别与HA模块14、接口选择模块13连接;当存储扩展装置10作为存储10设备接口时,PCIe接口模块11用于完成PCIe总线中PCIe数据的接收,并对PCIe数据中PCIe协议存储器事务进行处理,以及将处理后的PCIe协议存储器事务通过接口选择模块13发送至MCEng模块15,MCEng模块完成读写驱动功能并提供接口与存储10设备相连;当存储扩展装置10作为内存扩展设备时,QPI接口模块12用于完成QPI总线中QPI数据的接收,获取QPI数据中的QPI协议事务并发送给接口选择模块13,进而通过接口选择模块13将QPI接口模块获取的QPI协议事务输出至HA模块14,以及HA模块14对QPI接口模块获取的QPI协议事务进行处理,并将处理完成的QPI协议事务发送至MCEng模块15,MCEng模块完成读写驱动功能并提供接口与扩展内存相连;或者,当存储扩展装置10作为内存扩展设备时,PCIe接口模块11用于完成PCIe总线中PCIe数据的接收,获取携带在PCIe数据中的QPI协议事务并发送给接口选择模块13,进而通过接口选择模块13将PCIe接口模块11获取的QPI协议事务输出至HA模块14,以及HA模块14对PCIe接口模块获取的QPI协议事务进行处理,并将处理完成的PCIe数据中的QPI协议事务发送至MCEng模块15,所述MCEng模块完成读写驱动功能并提供接口与扩展内存相连。需要说明的是,在实际应用中,CPU还需读取存储扩展装置10中缓存/存储的相关数据。此时,上述各数据链路中数据的流向则按照原有数据链路的反向流入CPU中。例如,在存储扩展装置作为存储IO接口设备时,CPU若需要读取存储在存储扩展装置中的数据,则MCEng模块15根据CPU的读取指令将相对应的数据发送至接口选择模块13,接口选择模块13将相对应的数据发送至PCIe接口模块11,该PCIe接口模块11通过PCIe总线将相对应的数据经过适配后传输至CPU。需要说明的是,在实际应用中,当存储扩展装置10作为内存扩展设备时,则PCIe接口模块11无法直接和CPU的QPI接口相连,需要通过一个PCIe协议与QPI协议的转换模块之后才能相连,用于处理QPI协议的相关内容。则上述的PCIe接口模块11通过PCIe总线与CPU的QPI接口连接,实际上是PCIe接口模块11经过接口适配后通过PCIe总线与CPU的QPI接口连接。相应地,PCIe接口模块11用于完成PCIe总线中PCIe数据的接收与发送;QPI接口模块12也用于完成QPI总线中QPI数据的接收与发送。上述图1中所示的各模块的功能包括现有的各模块所能实现的功能,本实施例对各模块的功能仅为举例说明。在实际应用中,MCEng模块提供接口与扩展的内存或IO设备相连,具体可以为通过数据接口模块连接至少一个芯片,该数据接口模块可以为图1中所示的可伸缩内存互联(Scalable Memory Interconnect,简称SMI)模块20,或者为其他现有的数据接口模块。图1中所示的SMI模块可以是一种总线,用于增加双倍速率同步动态随机存储器(DoubleData Rate RAM3,简称DDR3)的驱动。在其他实施例中,数据接口模块可根据实际需要设置。需要说明的是,前述的MCEng模块15主要是对内存进行控制,例如,对内存设备进行初始化、根据内存的状态向内存发送各种命令以对内存的运行状态进行控制、实现芯片对内存的访问等。由上述实施例可知,本实施例的存储扩展装置,通过QPI接口模块和PCIe接口模块与CPU通信,进而通过接口选择模块选择接收QPI接口模块或PCIe接口模块输出的数据,若存储扩展装置作为存储IO设备,接口选择模块输出的数据可以直接输出至MCEng模块,若存储扩展装置作为内存扩展设备,接口选择模块输出的数据经过HA模块处理之后输出至MCEng模块,实现了上述的存储扩展装置可作为CPU内存容量的QPI接口和PCIe接口扩展设备,即多种接口的内存扩展设备,还可切换为存储IO的存储扩展硬件,从而提升服务器性能。如图3所示,图3示出了本发明另一实施例提供的存储扩展装置的部分结构示意图,图3所示的存储扩展装置与图1所示的存储扩展装置10不同的是,本实施例中的存储扩展装置还包括:系统管理总线(System Management Bus,简称SMbus)选择模块16,该SMbus选择模块16与接口选择模块13连接,用于向接口选择模块13发送选择指令,以使接口选择模块13根据选择指令,选择接收QPI接口模块12发送的QPI接口模块获取的QPI协议事务,或选择接收PCIe接口模块11发送PCIe接口模块获取的QPI协议事务,或者选择接收PCIe接口模块11发送的PCIe协议存储器事务。需要注意的是,图3中未示出存储扩展装置中的HA模块和MCEng模块。该处HA模块和MCEng模块的结构和连接关系与图1中所示的基本一致。也就是说,在图3中所示的存储扩展装置作为存储IO接口设备时,SMbus选择模块16,向接口选择模块13发送选择指令,以使接口选择模块13根据选择指令,选择接收PCIe接口模块11发送的所处理的PCIe协议存储器事务。在图3中所示的存储扩展装置作为内存扩展设备时,若此时CPU的QPI接口通过PCIe总线连接PCIe接口模块11,则SMbus选择模块16,向接口选择模块13发送另一选择指令,以使接口选择模块13根据另一选择指令,选择接收PCIe接口模块11发送的PCIe接口模块11获取的QPI协议事务;在图3中所示的存储扩展装置作为内存扩展设备时,若此时CPU的QPI接口通过QPI总线连接QPI接口模块12,则SMbus选择模块16,向接口选择模块13发送再一选择指令,以使接口选择模块13根据再一选择指令,选择接收QPI接口模块12发送的QPI协议事务。由上述实施例可知,本实施例的存储扩展装置,通过SMbus选择模块使接口选择模块选择接收QPI接口模块12或者PCIe接口模块的数据,以便实现上述的存储扩展装置可作为CPU内存容量的扩展设备,或者作为存储IO的存储扩展硬件。如图4所示,图4示出了本发明另一实施例提供的存储扩展装置的部分结构示意图,图4所示的存储扩展装置与图3所示的存储扩展装置不同的是,本实施例中的存储扩展装置还包括:选择指令切换模块17 ;选择指令切换模块17与CPU连接,并分别与QPI接口模块和PCIe接口模块连接,用于使述CPU输出的数据通过QPI总线传输至所述QPI接口模块,以及向SMbus选择模块发送第一内存扩展指令,SMbus选择模块根据第一内存扩展指令向所述接口选择模块发送选择指令;或者,用于使CPU输出的数据,经过接口适配后,通过PCIe总线传输至PCIe接口模块,以及向SMbus选择模块发送第二内存扩展指令,SMbus选择模块根据第二内存扩展指令向接口选择模块发送选择指令;或者,用于使CPU输出的数据,通过PCIe总线传输至PCIe接口模块,以及向SMbus选择模块发送存储指令,SMbus选择模块根据存储指令向接口选择模块发送选择指令。在具体应用中,该选择指令切换模块17与CPU的QPI接口连接,并分别与QPI接口模块和PCIe接口模块连接,用于使CPU的QPI接口输出的数据通过QPI总线传输至QPI接口模块12,以及向SMbus选择模块16发送第一内存扩展指令;相应地,SMbus选择模块16根据第一内存扩展指令向接口选择模块13发送选择指令,使得接口选择模块13根据选择指令,选择接收QPI接口模块12发送的QPI协议事务。或者,该选择指令切换模块17与CPU的QPI接口连接,并分别与QPI接口模块和PCIe接口模块连接,用于使CPU的QPI接口输出的数据,经过接口适配后,通过PCIe总线传输至PCIe接口模块11,以及向SMbus选择模块发送第二内存扩展指令;所述SMbus选择模块根据第二内存扩展指令向接口选择模块发送另一选择指令,使得接口选择模块13根据另一选择指令,选择接收PCIe接口模块11发送的PCIe接口模块11中获取的QPI协议事务,后续数据的流向如图5B所示;或者,该选择指令切换模块17与CPU的QPI接口连接,并分别与QPI接口模块和PCIe接口模块连接,用于使CPU的QPI接口输出的数据,通过PCIe总线传输至PCIe接口模块11,以及向SMbus选择模块发送存储指令,所述SMbus选择模块根据存储指令向接口选择模块发送再一选择指令,选择接收PCIe接口模块11发送的PCIe协议存储器事务,后续数据的流向如图5A所示。需要注意的是,图4中未示出存储扩展装置中的HA模块和MCEng模块。该处HA模块和MCEng模块的结构和连接关系与图1中所示的基本一致。进一步地,在实际应用中,若存储扩展装置作为内存扩展设备在使用,此时,用户感觉内存扩展设备不再需要,但需要较大的存储器设备时,用户可触发上述的选择指令切换模块17向SMbus选择模块16发送存储指令,用以实现存储扩展配置。由上述实施例可知,本实施例的存储扩展装置,通过选择指令切换模块触发SMbus选择模块向接口选择模块发送相关的选择指令,进而使得接口选择模块选择接收QPI接口模块12或者PCIe接口模块11的数据,以便实现上述的存储扩展装置可作为CPU内存容量的扩展设备,或者作为存储IO的存储扩展设备。进一步地,用户还可使用选择指令切换模块切换存储扩展装置的使用属性。在实际应用中,前述的QPI接口模块12主要完成的是QPI总线输出的QPI数据的接收,以及对QPI数据中QPI协议事务的获取等。当然,QPI接口模块12具体用于实现QPI协议数据的处理,完成QPI数据的接收、发送等,例如实现QPI协议的物理层、链路层和包解析的功能。实际的QPI接口模块12传输的数据的速率与CPU的QPI接口中传输的速率相同。前述的PCIe接口模块11主要完成的是PCIe总线输出的PCIe数据的接收,以及对PCIe协议存储器事务的处理,进一步还用于获取加载到PCIe消息事务类型中的QPI协议事务。可以理解的是,PCIe接口模块11用于实现标准的PCIe协议的传输功能。当然,为了尽量匹配QPI总线传输的速率,上述任一实施例中的PCIe接口模块11可采用具体的硬件为PCIe3.02X8端口,或PCIe3.0X16端口。如图4所示,接口选择模块13可接收SMbus选择模块发送的选择指令,进而根据选择指令相适应的处理相对应的数据,如选择处理PCIe接口模块11传输的数据或者选择处理QPI接口模块12的传输的数据。本实施例中的HA模块,用于实现高速缓存一致性(Cache Coherence,简称CC)协议,如处理QPI协议中的CC事务操作,保持内存的一致性。MCEng模块15用于实现内存命令的转换和数据的加密分发等功能,例如目录高速缓存、数据高速缓存等,以及实现双列直插式内存组件(dual in-line memory module,简称DIMM)的访问和基本稳定性、可靠性、可服务性(Reliability, Availability andServiceability,简称 RAS)等特性。由上述实施例可知,本发明实施例的存储扩展装置,在用户的选择下,该存储扩展装置可以作为扩展内存配置使用,还可以作为存储IO的存储扩展硬件使用。
另外,需要说明的是,在图5A中,虚线框中所示的存储扩展装置可作为存储IO功能的设备,如硬盘、固态硬盘(solid state disk,简称SSD)等。此时,在CPU中,存储扩展装置可映射为PCIe设备。在图5B中,虚线框中所示的存储扩展装置可作为内存扩展设备,此时,在CPU中,存储扩展装置可映射为QPI可见。举例来说,当用户需配置上述的存储扩展装置适用于图6所示的应用场景(即作为存储IO设备)时,触发SMbus选择模块16根据选择指令驱动接口选择模块13接收PCIe接口模块输出的包含PCIe协议存储器事务的数据,并将该数据直接输入到MCEng模块15,实现存储IO的配置使用,如图5A虚线框所示的数据链路。举例来说,当用户需配置上述的存储扩展装置适用于图7所示的应用场景(即作为内存扩展设备)时,触发SMbus选择模块16根据选择指令驱动接口选择模块13接收PCIe接口模块输出的包含QPI协议事务的数据,并将该数据输入HA模块14,进而HA模块14处理后的数据输入到MCEng模块15,实现内存扩展的配置使用,如图5B虚线框所示的数据链路。举例来说,当用户需配置上述的存储扩展装置适用于图8所示的应用场景(即作为内存扩展设备)时,触发SMbus选择模块16根据选择指令驱动接口选择模块13接收QPI接口模块12的数据,并将该数据输入HA模块14,进而HA模块14处理后的数据输入到MCEng模块15,实现内存扩展的配置使用。参见图9所示,图9示出了本发明另一实施例提供的存储扩展装置的使用方法示意图,具体地,存储扩展装置的使用方法如下所述。101、用户将设备组件(如上所述的存储扩展装置)插入服务器中相对应的位置。102、选择指令切换模块使CPU的QPI接口通过PCIe总线连接PCIe接口模块,或者进行接口适配后连接PCIe接口模块,或者通过QPI总线连接QPI接口模块,若CPU的QPI接口通过PCIe总线连接PCIe接口模块,则执行如下步骤103,否则执行如下的步骤113。103、在步骤102中,若用户使CPU的QPI接口通过PCIe总线连接PCIe接口模块,则对服务器上电。需要说明的是,在实际应用中,PCIe接口模块实现的是内存扩展功能时,则PCIe接口模块无法直接和CPU的QPI接口相连,需要通过一个PCIe协议与QPI协议的转换模块之后才能相连,用于处理QPI协议的相关内容,进而上述是CPU的QPI接口通过PCIe总线进行接口适配后连接PCIe接口模块。可以理解的是,该步骤103还可以是用户使CPU的QPI接口通过PCIe总线进行接口适配后连接PCIe接口模块,进而对服务器上电。104、用户决定该存储扩展装置是否作为存储IO接口设备使用,若作为存储IO接口设备使用,则执行步骤105,否则,执行步骤125。105、在步骤104中,用户确定存储扩展装置作为存储IO接口设备使用,则触发选择指令切换模块向SMbus选择模块发送存储指令,SMbus选择模块根据存储指令向接口选择模块下发选择指令,使得接口选择模块根据选择指令选择接收PCIe接口模块的数据(如接收PCIe数据中获取的PCIe协议存储器事务),并将PCIe接口模块的数据(如PCIe协议存储器事务)直接传输至MCEng模块。
106、PCIe数据链路建立完成,设备组件作为PCIe存储IO接口设备使用。进一步地,还包括步骤107,此时,用户判断是否需要改变存储扩展装置的使用属性,若需要改变,则执行步骤108之后,再执行前述的步骤104,否则,结束。步骤108、在用户的触发下,操作系统(Operating System,简称OS)将存储扩展装置停止使用,然后再执行前述的步骤104。特别注意的是,为防止数据的遗漏,在做存储IO接口设备与内存扩展设备切换应用时,一定要先由OS将该存储扩展装置停止使用。125、在步骤104中,若用户决定该存储扩展装置作为内存扩展设备使用,则触发选择指令切换模块向SMbus选择模块发送第二内存扩展指令,SMbus选择模块根据第二内存扩展指令向接口选择模块下发选择指令,使得接口选择模块根据选择指令选择接收PCIe接口模块的数据(如QPI协议事务),并将PCIe接口模块的数据进行处理后(如将PCIe接口模块获取的QPI协议事务)传输至HA模块,进而HA模块处理后的数据传输至MCEng模块,实现内存扩展。126、PCIe数据链路建立完成,设备组件作为PCIe内存扩展设备使用。113、在步骤102中,若用户使CPU的QPI接口通过QPI总线连接QPI接口模块,则对服务器上电。114、触发选择指令切换模块向SMbus选择模块发送第一内存扩展指令,SMbus选择模块根据第一内存扩展指令向接口选择模块下发选择指令,使得接口选择模块根据选择指令选择接收QPI接口模块的数据(如QPI协议事务),并将处理后的数据传输至HA模块,该HA模块将处理后的数据传输至MCEng模块,实现内存扩展。115、QPI数据链路建立完成,设备组件作为QPI内存扩展设备使用。由上,存储扩展装置可以完成多种配置(服务器扩展内存、存储10)的不同需求应用,且不需要增加新的硬件设备,提高了存储扩展装置的利用效率。在实际应用中,上述的存储扩展装置可位于现场可编程门阵列(Field-Programmable Gate Array, FPGA 简称)或者,专用集成电路(ApplicationSpecific Integrated Circuit,简称 ASIC)中。根据本发明的另一方面,本发明还提供一种服务器,包括:CPU,以及本发明任意实施例所述的存储扩展装置,CPU通过QPI总线与所述存储扩展装置中的QPI接口模块连接,以及所述CPU通过PCIe总线与所述存储扩展装置中的PCIe接口模块连接。举例来说,上述服务器包括:具有QPI接口的CPU,以及还包括:本发明任意实施例所述的存储扩展装置,所述CPU的QPI接口通过QPI总线与所述存储扩展装置中的QPI接口模块连接,以及所述QPI接口通过PCIe总线与所述存储扩展装置中的PCIe接口模块连接。最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种存储扩展装置,其特征在于,包括: 快速通道互连QPI接口模块,通过QPI总线与中央处理器CPU通信; 高速外围组件互联PCIe接口模块,通过PCIe总线与所述CPU通信; 接口选择模块,分别与所述QPI接口模块、所述PCIe接口模块连接; 缓存代理HA模块,与所述接口选择模块连接; 内存控制器引擎MCEng模块,分别与所述HA模块、所述接口选择模块连接; 当所述存储扩展装置作为存储IO接口设备时,所述PCIe接口模块用于完成所述PCIe总线中PCIe数据的接收,并对所述PCIe数据中PCIe协议存储器事务进行处理,以及将处理的PCIe协议存储器事务通过所述接口选择模块发送至所述MCEng模块,所述MCEng模块完成读写驱动功能并提供接口与存储IO设备相连;或者 当所述存储扩展装置作为内存扩展设备时,所述QPI接口模块用于完成所述QPI总线中QPI数据的接收,获取所述QPI数据中的QPI协议事务并发送给所述接口选择模块,进而通过所述接口选择模块将所述QPI数据中的QPI协议事务输出至所述HA模块,以及所述HA模块对所述QPI数据中的QPI协议事务进行处理,并将处理完成的QPI协议事务发送至所述MCEng模块,所述MCEng模块完成读写驱动功能并提供接口与扩展内存相连;或者, 当所述存储扩展装置作为内存扩展设备时,所述PCIe接口模块用于完成所述PCIe总线中PCIe数据的接收,获取所述PCIe数据中的QPI协议事务并发送给所述接口选择模块,进而通过所述接口选择模块将所述PCIe数据中的QPI协议事务输出至所述HA模块,以及所述HA模块对所述PCIe数据中的QPI协议事务进行处理,并将处理完成的所述PCIe数据中的QPI协议事务发送至所述MCEng模块,所述MCEng模块完成读写驱动功能并提供接口与扩展内存相连。
2.根据权利要求1所述的装置,其特征在于,还包括: 系统管理总线SMbus选择模块,与所述接口选择模块连接,用于向所述接口选择模块发送选择指令,以使所述接口选择模块根据所述选择指令,选择接收所述QPI接口模块发送的所述QPI接口模块获取的QPI协议事务;或者选择接收所述PCIe接口模块发送的所述PCIe接口模块获取的QPI协议事务;或者选择接收所述PCIe接口模块发送的所述处理的PCIe协议存储器事务。
3.根据权利要求2所述的装置,其特征在于,还包括: 选择指令切换模块,与所述CPU连接,并分别与所述QPI接口模块和所述PCIe接口模块连接,用于使所述CPU输出的数据通过所述QPI总线传输至所述QPI接口模块,以及向所述SMbus选择模块发送第一内存扩展指令,所述SMbus选择模块根据所述第一内存扩展指令向所述接口选择模块发送所述选择指令;或者,用于使所述CPU输出的数据,经过接口适配后,通过所述PCIe总线传输至所述PCIe接口模块,以及向所述SMbus选择模块发送第二内存扩展指令,所述SMbus选择模块根据所述第二内存扩展指令向所述接口选择模块发送所述选择指令;或者,用于使所述CPU输出的数据,通过所述PCIe总线传输至所述PCIe接口模块,以及向所述SMbus选择模块发送存储指令,所述SMbus选择模块根据所述存储指令向所述接口选择模块发送所述选择指令。
4.一种服务器,包括:CPU,其特征在于,还包括: 如权利要求1至3任一所述的存储扩展装置,所述CPU通过QPI总线与所述存储扩展装置中的QPI接口模块连接,以及所述CPU通过PCIe总线与所述存储扩展装置中的PCIe接口模块 连接。
全文摘要
本发明提供一种存储扩展装置及服务器,其中,该存储扩展装置包括快速通道互连QPI接口模块,通过QPI总线与中央处理器CPU通信;高速外围组件互联PCIe接口模块,通过PCIe总线与所述CPU通信;接口选择模块,分别与所述QPI接口模块、所述PCIe接口模块连接;缓存代理HA模块,与所述接口选择模块连接;内存控制器引擎MCEng模块,分别与所述HA模块、所述接口选择模块连接。上述存储扩展装置可以作为CPU内存容量的扩展设备,还可以作为存储IO的存储扩展硬件。
文档编号G06F3/06GK103180817SQ201280002839
公开日2013年6月26日 申请日期2012年7月2日 优先权日2012年7月2日
发明者常胜, 王工艺, 李涛 申请人:杭州华为数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1