PCIE总线扩展系统及方法
技术领域
本发明属于数据传输技术领域,具体涉及一种PCIE总线扩展系统及方法。
背景技术
PCIE是一种高速串行计算机扩展总线标准,旨在取代旧的PCI,PCI-X和AGP总线标准,PCIE是一个点对点全双工串行计算机扩展总线,是个人计算机显卡,硬盘驱动器,SSD,Wi-Fi和以太网硬件连接的通用主板接口;PCIE同PCI标准相比有许多改进,包括更高的系统总线吞吐量,更低的I/O引脚数和更小的物理占用空间,更好的总线设备性能扩展,更详细的错误检测和报告机制和本机热插拔功能。
PCIE接口根据数据位宽的不同有X1、X2、X4、X8及X16等,PCIE接口的数据位宽也决定了PCIE SLOT的长短,数据位宽越高对应的数据带宽越高。
随着人工智能和云计算的发展,一些计算加速卡如GPU设备、FPGA设备越来越多的应用于服务器或通用计算机中,这些计算加速卡的物理接口通常为PCIE X16。应用于计算机的计算加速卡对数据传输带宽有较高的要求,需要较多的PCIE X16总线接口,但计算机中PCIEX16接口一般为1个或2个,不能满足多块计算加速卡应用于同一计算机的情况。
发明内容
为了解决现有技术中的上述问题,即为了解决同一计算机中使用多块加速卡时PCIE接口不足的问题,本发明提供了一种PCIE总线扩展系统,包括PCIE扩展背板、PCIE连接适配卡,所述PCIE扩展背板与所述PCIE连接适配卡通信连接;
所述PCIE扩展背板包括微控制单元、拨码开关和交换芯片;所述拨码开关、所述交换芯片均与所述微控制单元信号连接;所述微控制单元基于所述拨码开关的工作状态可设置所述交换芯片的工作模式。
在一些优选实例中,所述PCIE扩展背板包括一个或多个所述交换芯片;每个所述交换芯片均具有多个站;所述交换芯片与CPU连接的站配置为数据上行端口。
在一些优选实例中,所述交换芯片为多个;所述交换芯片之间通过PCIE X16连接。
在一些优选实例中,所述交换芯片包括N个站,每个站均包括M个通道,其中,N、M均为正整数。
在一些优选实例中,所述交换芯片均包括多个PCIE插槽;每个所述PCIE插槽与每个站连接。
在一些优选实例中,所述PCIE插槽为16位插槽。
在一些优选实例中,所述交换芯片的数量为多个;将其中一个所述交换芯片作为第一芯片,与CPU通过线缆通信连接并用于传输上行PCIE信号;其余所述交换芯片与所述第一芯片通信连接。
在一些优选实例中,所述交换芯片的数量为多个;多个交换芯片均通过各自的一个站与CPU信号连接,并作为对应的数据上行端口。
在一些优选实例中,CPU与所述PCIE扩展背板均包括一个或多个所述PCIE连接适配卡;所述PCIE连接适配卡为芯片PLX8732;CPU与所述PCIE扩展背板均通过mini-SAS HD连接器连接。
一种PCIE总线扩展方法,该方法基于上面任一项所述的PCIE总线扩展系统,包括以下步骤:
步骤S100,获取所述拨码开关的设置状态;
步骤S200,基于所述设置状态,所述微控制单元基于预设的设置状态-交换芯片映射关系选定所述交换芯片的连接关系;
步骤S300,所述微控制单元基于选定的所述交换芯片的连接关系,对所述交换芯片进行配置;其中,所述连接关系包括所述交换芯片的数据上行端口和工作模式。
本发明的有益效果为:与现有技术相比,本发明设置了2个PCIE交换芯片,扩展连接了10个PCIE X16的插槽;系统与CPU之间可以实现不同的两种连接关系,实现与CPU之间有1组或2组PCIE X16的信号连接。本发明解决了现有的计算机硬件设计中PCIE资源不足,不能应用多块计算加速卡的问题,丰富了PCIE的IO引脚。本发明采用一套系统实现了两种不同的拓扑方案,可应用于需要较高数据带宽或较多PCIE总线接口的应用场景下,具有较高的灵活性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明中的PCIE总线扩展系统的一种具体实施例的构成方框图;
图2是第一种连接关系的信号拓扑图;
图3是第二种连接关系的信号拓扑图;
图4是本发明中的MCU芯片对PCIE扩展背板进行初始化设置的流程图。
具体实施方式
下面参照附图来描述本发明的优选实施方式,本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
本发明提供了一种PCIE总线扩展系统,包括PCIE扩展背板和PCIE连接适配卡,PCIE扩展背板与PCIE连接适配卡通信连接;本发明提供的PCIE总线扩展系统中的PCIE扩展背板用于与CPU连接实现PCIE总线扩展的目的。PCIE扩展背板包括微控制单元(MCU)、拨码开关和交换芯片;拨码开关、交换芯片均与微控制单元信号连接;微控制单元基于拨码开关的工作状态可设置交换芯片的工作模式,从而满足不同的工作需求;PCIE扩展背板包括一个或多个交换芯片;每个交换芯片均具有多个站;交换芯片与CPU连接的一个站配置为数据上行端口;交换芯片为多个,两两交换芯片之间通过PCIE X16连接;交换芯片包括N个站,每个站均包括M个通道,其中,N、M均为正整数,具体地,交换芯片可根据实际需要的站数等其它考量数据灵活选择不同的类型;交换芯片均包括多个PCIE插槽;每个PCIE插槽与交换芯片中的各个站连接。该PCIE总线扩展系统可实现以下两种方案,第一:交换芯片的数量为多个时,将其中一个交换芯片作为第一芯片,与CPU通过线缆通信连接并用于传输上行PCIE信号,其余交换芯片与第一芯片通信连接,可形成第一种拓扑结构方案,用于实现较多PCIE总线接口。第二:交换芯片的数量为多个时,多个交换芯片均通过各自的一个站与CPU信号连接,并作为对应的数据上行端口时,形成第二种拓扑结构方案,用于实现需要较高数据带宽的场景。
进一步地,PCIE插槽为16位插槽。
以下参照附图结合具体实施例进一步说明本发明。
参照附图1,图示是本发明中的PCIE总线扩展系统的一种具体实施例的构成方框图,包括用于与CPU通信连接实现系统的总线扩展目的的PCIE扩展背板10,其中CPU为计算机11;PCIE扩展背板包括微控制单元(MCU芯片)103、拨码开关104和PCIE交换芯片(PCIESWITCH芯片)101;拨码开关、交换芯片均与微控制单元(MCU)信号连接;微控制单元(MCU)基于拨码开关设置的工作状态可配置对应的交换芯片的工作模式。
优选地,扩展背板10与计算机11中均包括PCIE连接适配卡12,对应的PCIE连接适配卡12之间通过X4mini-SAS HD线缆13连接,使PCIE信号在计算机11的CPU和背板的PCIE交换芯片间进行传输。
优选地,PCIE扩展背板10包含两个PCIE交换芯片101,其中,每个交换芯片均包含10个PCIE X16插槽102。
进一步地,PCIE交换芯片101具有96个Lane,1个Station包含16个Lane,共6个Station,编号为Station0-5。PCIE交换芯片与CPU连接的一个Station作为数据上行端口。PCIE扩展背板中包含的2个PCIE交换芯片之间可通过一组PCIE X16互连;2个PCIE交换芯片剩余的其它Station,对应连接多个PCIE X16插槽。
PCIE扩展背板中的MCU(微控制单元)芯片可以对PCIE交换芯片的工作模式和数据上行端口进行配置,使得系统可以设置成不同工作连接。
以下结合附图2和附图3对本发明的系统工作原理进一步进行详细说明。
PCIE连接适配卡12包含芯片PLX8732,连接器为mini-SASHD连接器,PLX8732具有预/去加重和接收均衡等信道质量调整功能,在使用较长的连接线缆情况下依然具有较高的信号质量。使用扩展装置时将PCIE连接适配卡分别插在连接2个PCIE交换芯片的Station0连接的PCIE X16插槽,以及位于计算机的PCIE X16插槽,然后将X4mini-SASHD线缆的两端分别连接两个PCIE连接适配卡,上行PCIE信号即可在CPU和PCIE交换芯片间传输。
本实施例中的物理连接如附图1所示,CPU和PCIE交换芯片可选地有一组或两组PCIE X16连接,当只有一组PCIE X16连接时构成了系统的第一种连接关系如附图2,此时系统可以连接9个PCIE计算加速卡或者其它PCIE设备;当有两组PCIE X16连接时构成了系统的第二种连接关系如附图3,此时系统可以连接8个PCIE计算加速卡或者其他PCIE设备。
PCIE交换芯片101可以通过I2C总线对工作模式和上行端口进行配置,本实施例在PCIE扩展背板10放置MCU芯片103,MCU芯片103与PCIE扩展背板10的两片PCIE交换芯片101具有I2C总线的信号连接。MCU芯片103使用GPIO连接了一组拨码开关,通过GPIO可以读取拨码开关的闭合状态,不同的闭合状态对应了两片PCIE交换芯片101的工作模式及上行端口对应的Station编号。MCU芯片103根据开关闭合状态,对两片PCIE交换芯片101进行相应配置,从而在用户设置不同的开关闭合状态后形成如附图2或附图3所示的两种连接关系。在实际应用场景下,如果计算机只存在1个PCIE X16SLOT 102可以将系统设置为第一种连接关系对应的模式;如果计算机存在2个PCIE X16SLOT 102可以将系统设置为第二种连接关系对应的模式。第二种连接关系的数据上行带宽是第一种连接关系的两倍,可以应用于需要较高数据传输带宽的场景下;第一种连接关系具有相对第二种连接关系更多的用于连接PCIE设备的接口,可以应用于需要更多PCIE总线接口的场景下。
如图4所示,采用上述PCIE总线扩展系统进行总线扩展的方法包括如下步骤:
步骤S100,用户根据应用场景设置所需的连接关系;
步骤S200,MCU芯片通过GPIO检测拨码开关的闭合状态;
步骤S300,MCU芯片判断用户设置的连接关系;
步骤S400,当连接关系设置为第一种连接关系时,执行步骤S400-a:MCU芯片将两个PCIE交换芯片的工作模式和上行的站(Station)做相应设置,形成如附图2所示的连接关系;当连接关系设置为第二种连接关系时,执行步骤S400-b:MCU芯片将两个PCIE交换芯片的工作模式和上行的Station做对应设置,形成如附图3所示的连接关系。
经过上述步骤后,系统配置完成。需要说明的是,当每次重新上电或者系统复位时都会重新执行步骤S100-S400。
本扩展系统经过2个PCIE交换芯片101扩展出可用于连接计算加速卡或其它设备的多个PCIE X16插槽,2个PCIE X16SLOT用于连接PCIE连接适配卡,通过X4mini-SAS HD线缆13连接位于计算机11的PCIE连接适配卡12。本发明解决了现有的计算机硬件设计中PCIE资源不足,不能应用多块计算加速卡的问题,丰富了PCIE的IO引脚。同时在面向需要较高数据带宽和较多PCIE总线接口的应用场景下,本发明采用一套系统实现了满足上述不同需求的两种拓扑方案,具有较高的灵活性。
在通用计算机或者服务器中,不同制造商在主板扩展的PCIeX16插槽的数量并没有统一的标准,一般为1个或者2个。而固定拓扑结构的PCIe扩展系统仅可应用于其中1种情况,附图3拓扑结构的扩展系统应用在只有1个PCIE X16插槽接口的计算机或服务器时会造成PCIE交换芯片Station资源的浪费;附图2拓扑结构应用在有2个PCIE X16插槽接口的计算机或者服务器时上行的数据带宽不足。本发明将附图2和附图3两种拓扑结构设计在一个系统中,通过MCU获取用户设置的连接关系配置PCIE交换芯片的工作模式,可以灵活适用不同的需求;此外,本发明通过使用更少的交换芯片就实现了灵活的拓扑结构,节约成本。
需要说明的是,本发明的具体实施例中示出两个PCIE交换芯片并不限制本发明的保护范围,本发明还可以根据需要设置多个PCIE交换芯片,其它多个交换芯片的连接方式的配置可根据具体根据本发明提供的模式灵活设置,以满足不同的接口或者宽带需求,故在此不再一一赘述。
虽然已经参考优选实施例对本发明进行了描述,但在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件,尤其是,只要不存在结构冲突,各个实施例中所提到的各项技术特征均可以任意方式组合起来;本发明并不局限于文中公开的特定实施例,而是包括落入权利要求的范围内的所有技术方案。
在本发明的描述中,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。