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

一种基于PCIE总线的USB虚拟网卡和服务器

文献发布时间:2024-04-18 19:54:45


一种基于PCIE总线的USB虚拟网卡和服务器

技术领域

本发明涉及计算机领域,并且更具体地涉及一种基于PCIE总线的USB虚拟网卡和服务器。

背景技术

随着网络技术的高速发展,USB虚拟网卡的应用越来越广泛,尤其在服务器领域,越来越多的用户会通过远端电脑来访问服务器主机,目前的USB虚拟网卡通常使用USB接口与本地主机进行连接,通过内部的USB HUB模块来支持多个USB设备,但随着USB虚拟网卡内部USB设备数量的增加,其总带宽却不能增加,当远端电脑上有大量USB设备使用时,会对其数据传输产生影响,可能出现数据响应不及时的问题。

目前使用的USB虚拟网卡都是通过USB接口与本地主机进行连接,然后通过其内部的USB HUB模块将本地主机发送过来的数据转发给内部的多个USB DEVICE,由于USB HUB模块只能实现数据分发,不能实现带宽的倍增,因此USB虚拟网卡的最高速率只能为1路USBDEVICE的最高速率,大大限制了USB虚拟网卡的带宽和通信效率。

发明内容

有鉴于此,本发明实施例的目的在于提出一种基于PCIE总线(PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,它原来的名称为“3GIO”,是由英特尔在2001年提出的,旨在替代旧的PCI,PCI-X和AGP总线标准)的USB(Universal Serial Bus,通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术)虚拟网卡和服务器,通过使用本发明的技术方案,能够提高USB虚拟网卡的带宽,增加USB虚拟网卡支持的设备数量,提高USB远端设备数据传输的效率,解决了数据响应不及时的问题。

基于上述目的,本发明的实施例的一个方面提供了一种基于PCIE总线的USB虚拟网卡,包括:

CPU(指中央处理器,中央处理器(Central Processing Unit,简称CPU)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元);

芯片内部互联总线,芯片内部互联总线连接到CPU;

以太网连接端,以太网连接端包括以太网控制器和以太网PHY((英语:Physical),中文可称之为端口物理层,是一个对OSI模型物理层的共同简称。而以太网是一个操作OSI模型物理层的设备,一个以太网PHY是一个芯片,可以发送和接收以太网的数据帧(frame))接口,以太网控制器的第一端连接到芯片内部互联总线,第二端连接到以太网PHY接口的第一端,以太网PHY接口的第二端连接远端电脑;

PCIE连接端,PCIE连接端包括若干个USB DEVICE(设备)控制器、USB HOST控制器、PCIE EP(EndPoint,EP设备通常表示一个串行或I/O设备;EP模式下,PCIE配置头中的类型值为0;EP模式下,PCIE控制器接收针对本地内存空间的读写操作)控制器和PCIE PHY接口,若干个USB DEVICE控制器的第一端并行连接到芯片内部互联总线,第二端并行连接到USBHOST控制器的第一端,USB HOST控制器的第二端连接到PCIE EP控制器的第一端,PCIE EP控制器的第二端连接到PCIE PHY接口的第一端,PCIE PHY接口的第二端连接到本地主机,其中以太网控制器的带宽和PCIE EP控制器的带宽均大于阈值倍数的USB DEVICE控制器的带宽。

根据本发明的一个实施例,还包括:

其他外设接口,其他外设接口连接到芯片内部互联总线,其他外设接口配置为实现ASIC(专用集成电路)相关外设模块与ASIC外部接口之间的数据传输。

根据本发明的一个实施例,还包括:

INTERCONNETC(互联)模块,INTERCONNETC模块设置在芯片内部互联总线和若干个USB DEVICE控制器之间,INTERCONNETC模块配置为实现若干个USB DEVICE控制器与芯片内部互联总线之间的数据传输。

根据本发明的一个实施例,USB HOST控制器包括ROOT HUB(根集线器)功能。

根据本发明的一个实施例,USB虚拟网卡配置为经由CPU通过以太网读取远端电脑上的USB设备信息,并把对应的USB设备信息分别映射到USB虚拟网卡上的若干个USBDEVICE控制器上,本地主机通过PCIE总线读取若干个USB DEVICE控制器上的设备信息,并完成若干个USB DEVICE控制器的配置,本地主机将USB数据通过PCIE总线发送至USB HOST控制器,USB HOST控制器将PCIE协议的数据转换成USB协议的数据,并通过ROOT HUB将数据分别发送至对应的USB DEVICE控制器上,CPU将USB DEVICE控制器的数据组成以太网包,并通过以太网PHY接口发送至远端电脑,远端电脑接收到以太网数据包后对数据进行解析,并发送至远端电脑连接的各个USB设备,CPU对远端电脑发送的以太网数据包进行解析并将提取出的有效USB数据发送至对应的USB DEVICE控制器,通过USB HOST控制器与PCIE EP控制器将USB数据通过PCIE总线发送至本地主机。

本发明的实施例的另一个方面,还提供了一种服务器,服务器包括基于PCIE总线的USB虚拟网卡,基于PCIE总线的USB虚拟网卡包括:

CPU;

芯片内部互联总线,芯片内部互联总线连接到CPU;

以太网连接端,以太网连接端包括以太网控制器和以太网PHY接口,以太网控制器的第一端连接到芯片内部互联总线,第二端连接到以太网PHY接口的第一端,以太网PHY接口的第二端连接远端电脑;

PCIE连接端,PCIE连接端包括若干个USB DEVICE控制器、USB HOST控制器、PCIEEP控制器和PCIE PHY接口,若干个USB DEVICE控制器的第一端并行连接到芯片内部互联总线,第二端并行连接到USB HOST控制器的第一端,USB HOST控制器的第二端连接到PCIE EP控制器的第一端,PCIE EP控制器的第二端连接到PCIE PHY接口的第一端,PCIE PHY接口的第二端连接到本地主机。

根据本发明的一个实施例,还包括:

其他外设接口,其他外设接口连接到芯片内部互联总线,其他外设接口配置为实现ASIC相关外设模块与ASIC外部接口之间的数据传输。

根据本发明的一个实施例,还包括:

INTERCONNETC模块,INTERCONNETC模块设置在芯片内部互联总线和若干个USBDEVICE控制器之间,INTERCONNETC模块配置为实现若干个USB DEVICE控制器与芯片内部互联总线之间的数据传输。

根据本发明的一个实施例,USB HOST控制器包括ROOT HUB功能。

根据本发明的一个实施例,USB虚拟网卡配置为经由CPU通过以太网读取远端电脑上的USB设备信息,并把对应的USB设备信息分别映射到USB虚拟网卡上的若干个USBDEVICE控制器上,本地主机通过PCIE总线读取若干个USB DEVICE控制器上的设备信息,并完成若干个USB DEVICE控制器的配置,本地主机将USB数据通过PCIE总线发送至USB HOST控制器,USB HOST控制器将PCIE协议的数据转换成USB协议的数据,并通过ROOT HUB将数据分别发送至对应的USB DEVICE控制器上,CPU将USB DEVICE控制器的数据组成以太网包,并通过以太网PHY接口发送至远端电脑,远端电脑接收到以太网数据包后对数据进行解析,并发送至远端电脑连接的各个USB设备,CPU对远端电脑发送的以太网数据包进行解析并将提取出的有效USB数据发送至对应的USB DEVICE控制器,通过USB HOST控制器与PCIE EP控制器将USB数据通过PCIE总线发送至本地主机,其中以太网控制器的带宽和PCIE EP控制器的带宽均大于阈值倍数的USB DEVICE控制器的带宽。

本发明具有以下有益技术效果:本发明实施例提供的K8S集群容器应用性能提升的方法,通过设置CPU;芯片内部互联总线,芯片内部互联总线连接到CPU;以太网连接端,以太网连接端包括以太网控制器和以太网PHY接口,以太网控制器的第一端连接到芯片内部互联总线,第二端连接到以太网PHY接口的第一端,以太网PHY接口的第二端连接远端电脑;PCIE连接端,PCIE连接端包括若干个USB DEVICE控制器、USB HOST控制器、PCIE EP控制器和PCIE PHY接口,若干个USB DEVICE控制器的第一端并行连接到芯片内部互联总线,第二端并行连接到USB HOST控制器的第一端,USB HOST控制器的第二端连接到PCIE EP控制器的第一端,PCIE EP控制器的第二端连接到PCIE PHY接口的第一端,PCIE PHY接口的第二端连接到本地主机,其中以太网控制器的带宽和PCIE EP控制器的带宽均大于阈值倍数的USBDEVICE控制器的带宽的技术方案,能够提高USB虚拟网卡的带宽,增加USB虚拟网卡支持的设备数量,提高USB远端设备数据传输的效率,解决了数据响应不及时的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。

图1为根据本发明一个实施例的基于PCIE总线的USB虚拟网卡的示意图;

图2为根据本发明一个实施例的USB虚拟网卡连接到主机的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种基于PCIE总线的USB虚拟网卡的一个实施例。图1示出的是该USB虚拟网卡的示意图。

如图1中所示,该USB虚拟网卡可以包括:

CPU,CPU实现整个USB虚拟网卡内部模块的控制及内部数据处理功能,CPU将本地USB数据转换成以太网数据包并通过以太网PHY接口传输至远端电脑,同时接收远端电脑发送过来的以太网数据包,并对数据包进行解析,提取有效的USB数据,发送至与之对应的USBDEVICE设备。

还包括芯片内部互联总线,芯片内部互联总线连接到CPU,芯片内部互联总线实现ASIC内部各个功能模块之间的数据传输。

还包括以太网连接端,以太网连接端包括以太网控制器和以太网PHY接口,以太网控制器的第一端连接到芯片内部互联总线,第二端连接到以太网PHY接口的第一端,以太网PHY接口的第二端连接远端电脑,以太网控制器实现USB虚拟网卡与远端电脑之间的以太网通信,以太网控制器的带宽需大于N倍的USB DEVICE控制器的带宽。

还包括PCIE连接端,PCIE连接端包括若干个USB DEVICE控制器、USB HOST控制器、PCIE EP控制器和PCIE PHY接口,若干个USB DEVICE控制器的第一端并行连接到芯片内部互联总线,第二端并行连接到USB HOST控制器的第一端,USB HOST控制器的第二端连接到PCIE EP控制器的第一端,PCIE EP控制器的第二端连接到PCIE PHY接口的第一端,PCIEPHY接口的第二端连接到本地主机,其中以太网控制器的带宽和PCIE EP控制器的带宽均大于阈值倍数的USB DEVICE控制器的带宽。PCIE EP控制器实现USB虚拟网卡与本地主机之间的USB数据传输,PCIE EP控制器的带宽需大于N倍的USB DEVICE控制器的带宽,USB HOST控制器(带ROOT HUB功能)根据对应的USB DEVICE地址将本地主机发送过来的数据转发至相应的USB DEVICE控制器,可实现N个USB DEVICE控制器的满带宽运行,其中N的数量会基于USB的协议而不同,INTERCONNETC模块实现N个USB DEVICE控制器与芯片内部互联总线之间的数据传输。

通过使用本发明的技术方案,能够提高USB虚拟网卡的带宽,增加USB虚拟网卡支持的设备数量,提高USB远端设备数据传输的效率,解决了数据响应不及时的问题。

在本发明的一个优选实施例中,还包括:

其他外设接口,其他外设接口连接到芯片内部互联总线,其他外设接口配置为实现ASIC相关外设模块与ASIC外部接口之间的数据传输。

在本发明的一个优选实施例中,还包括:

INTERCONNETC模块,INTERCONNETC模块设置在芯片内部互联总线和若干个USBDEVICE控制器之间,INTERCONNETC模块配置为实现若干个USB DEVICE控制器与芯片内部互联总线之间的数据传输。

在本发明的一个优选实施例中,USB HOST控制器包括ROOT HUB功能。

在本发明的一个优选实施例中,如图2所示,将USB虚拟网卡连接到本地主机和远端电脑,USB虚拟网卡配置为经由CPU通过以太网读取远端电脑上的USB设备信息,并把对应的USB设备信息分别映射到USB虚拟网卡上的若干个USB DEVICE控制器上,本地主机通过PCIE总线读取若干个USB DEVICE控制器上的设备信息,并完成若干个USB DEVICE控制器的配置,本地主机将USB数据通过PCIE总线发送至USB HOST控制器,USB HOST控制器将PCIE协议的数据转换成USB协议的数据,并通过ROOT HUB将数据分别发送至对应的USB DEVICE控制器上,CPU将USB DEVICE控制器的数据组成以太网包,并通过以太网PHY接口发送至远端电脑,远端电脑接收到以太网数据包后对数据进行解析,并发送至远端电脑连接的各个USB设备,CPU对远端电脑发送的以太网数据包进行解析并将提取出的有效USB数据发送至对应的USB DEVICE控制器,通过USB HOST控制器与PCIE EP控制器将USB数据通过PCIE总线发送至本地主机。

在本发明的一个优选实施例中,使用如图1所示的USB虚拟网卡进行数据传输的方法包括以下步骤:

1、将基于PCIE总线的USB虚拟网卡通过以太网与远端电脑相连,将基于PCIE总线的USB虚拟网卡连接至本地主机的PCIE接口上,并保持整个系统上电运行;

2、USB虚拟网卡上的CPU通过以太网读取远端电脑上的USB设备信息,并把对应的USB设备信息分别映射到虚拟网卡上的N个USB DEVICE上;

3、本地主机通过PCIE总线读取N个USB DEVICE的设备信息,并完成N个USB DEVICE设备的枚举配置;

4、本地主机将USB数据通过PCIE总线发送至USB HOST控制器,USB HOST控制器将PCIE协议的数据转换成USB协议的数据,并通过ROOT HUB将数据分别发送至对应的USBDEVICE;

5、CPU将USB DEVICE的数据组成以太网包,并通过以太网PHY接口发送至远端电脑,远端电脑接收到以太网数据包后对数据进行解析,并发送至各个USB设备;

6、CPU对远端电脑发送过来的以太网数据包进行解析,提取出有效USB数据发送至对应的USB DEVICE,通过USB HOST控制器与PCIE EP控制器,最终将USB数据通过PCIE总线发送至本地主机。

通过使用本发明的技术方案,能够提高USB虚拟网卡的带宽,增加USB虚拟网卡支持的设备数量,提高USB远端设备数据传输的效率,解决了数据响应不及时的问题,可以在ASIC上实现基于PCIE总线的USB虚拟网卡功能,为ASIC的芯片架构设计提供了一种可实现的方案。

基于上述目的,本发明的实施例的第二个方面,提出了一种服务器,服务器包括基于PCIE总线的USB虚拟网卡,基于PCIE总线的USB虚拟网卡包括:

CPU,CPU实现整个USB虚拟网卡内部模块的控制及内部数据处理功能,CPU将本地USB数据转换成以太网数据包并通过以太网PHY接口传输至远端电脑,同时接收远端电脑发送过来的以太网数据包,并对数据包进行解析,提取有效的USB数据,发送至与之对应的USBDEVICE设备。

还包括芯片内部互联总线,芯片内部互联总线连接到CPU,芯片内部互联总线实现ASIC内部各个功能模块之间的数据传输。

还包括以太网连接端,以太网连接端包括以太网控制器和以太网PHY接口,以太网控制器的第一端连接到芯片内部互联总线,第二端连接到以太网PHY接口的第一端,以太网PHY接口的第二端连接远端电脑,以太网控制器实现USB虚拟网卡与远端电脑之间的以太网通信,以太网控制器的带宽需大于N倍的USB DEVICE控制器的带宽。

还包括PCIE连接端,PCIE连接端包括若干个USB DEVICE控制器、USB HOST控制器、PCIE EP控制器和PCIE PHY接口,若干个USB DEVICE控制器的第一端并行连接到芯片内部互联总线,第二端并行连接到USB HOST控制器的第一端,USB HOST控制器的第二端连接到PCIE EP控制器的第一端,PCIE EP控制器的第二端连接到PCIE PHY接口的第一端,PCIEPHY接口的第二端连接到本地主机,其中以太网控制器的带宽和PCIE EP控制器的带宽均大于阈值倍数的USB DEVICE控制器的带宽。PCIE EP控制器实现USB虚拟网卡与本地主机之间的USB数据传输,PCIE EP控制器的带宽需大于N倍的USB DEVICE控制器的带宽,USB HOST控制器(带ROOT HUB功能)根据对应的USB DEVICE地址将本地主机发送过来的数据转发至相应的USB DEVICE控制器,可实现N个USB DEVICE控制器的满带宽运行,其中N的数量会基于USB的协议而不同,INTERCONNETC模块实现N个USB DEVICE控制器与芯片内部互联总线之间的数据传输。

通过使用本发明的技术方案,能够提高服务器中的USB虚拟网卡的带宽,增加USB虚拟网卡支持的设备数量,提高USB远端设备数据传输的效率,解决了数据响应不及时的问题。

在本发明的一个优选实施例中,还包括:

其他外设接口,其他外设接口连接到芯片内部互联总线,其他外设接口配置为实现ASIC相关外设模块与ASIC外部接口之间的数据传输。

在本发明的一个优选实施例中,还包括:

INTERCONNETC模块,INTERCONNETC模块设置在芯片内部互联总线和若干个USBDEVICE控制器之间,INTERCONNETC模块配置为实现若干个USB DEVICE控制器与芯片内部互联总线之间的数据传输。

在本发明的一个优选实施例中,USB HOST控制器包括ROOT HUB功能。

在本发明的一个优选实施例中,USB虚拟网卡配置为经由CPU通过以太网读取远端电脑上的USB设备信息,并把对应的USB设备信息分别映射到USB虚拟网卡上的若干个USBDEVICE控制器上,本地主机通过PCIE总线读取若干个USB DEVICE控制器上的设备信息,并完成若干个USB DEVICE控制器的配置,本地主机将USB数据通过PCIE总线发送至USB HOST控制器,USB HOST控制器将PCIE协议的数据转换成USB协议的数据,并通过ROOT HUB将数据分别发送至对应的USB DEVICE控制器上,CPU将USB DEVICE控制器的数据组成以太网包,并通过以太网PHY接口发送至远端电脑,远端电脑接收到以太网数据包后对数据进行解析,并发送至远端电脑连接的各个USB设备,CPU对远端电脑发送的以太网数据包进行解析并将提取出的有效USB数据发送至对应的USB DEVICE控制器,通过USB HOST控制器与PCIE EP控制器将USB数据通过PCIE总线发送至本地主机,其中以太网控制器的带宽和PCIE EP控制器的带宽均大于阈值倍数的USB DEVICE控制器的带宽。

在本发明的一个优选实施例中,使用如图1所示的USB虚拟网卡进行数据传输的方法包括以下步骤:

1、将基于PCIE总线的USB虚拟网卡通过以太网与远端电脑相连,将基于PCIE总线的USB虚拟网卡连接至本地主机的PCIE接口上,并保持整个系统上电运行;

2、USB虚拟网卡上的CPU通过以太网读取远端电脑上的USB设备信息,并把对应的USB设备信息分别映射到虚拟网卡上的N个USB DEVICE上;

3、本地主机通过PCIE总线读取N个USB DEVICE的设备信息,并完成N个USB DEVICE设备的枚举配置;

4、本地主机将USB数据通过PCIE总线发送至USB HOST控制器,USB HOST控制器将PCIE协议的数据转换成USB协议的数据,并通过ROOT HUB将数据分别发送至对应的USBDEVICE;

5、CPU将USB DEVICE的数据组成以太网包,并通过以太网PHY接口发送至远端电脑,远端电脑接收到以太网数据包后对数据进行解析,并发送至各个USB设备;

6、CPU对远端电脑发送过来的以太网数据包进行解析,提取出有效USB数据发送至对应的USB DEVICE,通过USB HOST控制器与PCIE EP控制器,最终将USB数据通过PCIE总线发送至本地主机。

通过使用本发明的技术方案,能够提高USB虚拟网卡的带宽,增加USB虚拟网卡支持的设备数量,提高USB远端设备数据传输的效率,解决了数据响应不及时的问题,可以在ASIC上实现基于PCIE总线的USB虚拟网卡功能,为ASIC的芯片架构设计提供了一种可实现的方案。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

技术分类

06120116380516