一种具多个非透明桥端口的PCIe交换机及其通信方法技术

技术编号:37978615 阅读:6 留言:0更新日期:2023-06-30 09:53
本发明专利技术公开一种具多个非透明桥端口的PCIe交换机,其包括非透明桥端口以及主控制模块,其中非透明桥端口用于解析PCIe数据包,主控制模块与非透明桥端口可通信地连接,包括非透明桥端口的门铃寄存器和/或暂存寄存器,用于统一管理所述非透明桥端口之间的访问权限,进而有效避免多个根联合体同时访问同一个根联合体资源造成的冲突问题。联合体资源造成的冲突问题。联合体资源造成的冲突问题。

【技术实现步骤摘要】
一种具多个非透明桥端口的PCIe交换机及其通信方法


[0001]本专利技术涉及计算机通信
,特别涉及一种具多个非透明桥端口的PCIe交换机及其通信方法。

技术介绍

[0002]外围设备高速互连(Peripheral Component Interconnect Express,简称“PCIe”)是一种局部总线技术和接口标准。PCIe设备使用独立的地址空间,即PCIe总线的地址空间,也称为PCIe总线域。在PCIe协议中规定了三种类型的设备,包括根联合体(Root Complex,简称“RC”)、交换机(switch)、以及终端(EndPoint,简称“EP”)。其中PCIe交换机可以扩展PCIe接口,将不同的带有PCIe接口的设备进行互联以进行信息交换和处理。PCIe交换机的内部包含多个PCI

PCI桥,这些PCI

PCI桥通常被称为透明桥。一个透明桥上所挂的设备都从属于同一个PCIe总线域,由于PCIe协议中规定同一个PCIe总线域的树形拓扑中只有一个RC,因此在一个PCIe总线域中除了RC外,其他端口通常都与EP连接。
[0003]在同一个PCIe总线域中的EP之间可以在RC不参与的基础上,采用点对点(peer to peer,简称“P2P”)传输进行数据传输。而两个RC则需要通过PCIe非透明桥(Non

Transparent Bridging,简称“NTB”)进行连接。NTB可将不同的PCIe总线域的地址空间进行隔离,以连接不同的RC,此时NTB同时作为与其连接的两个PCIe总线域的PCIe设备。带有NTB功能的端口通常会包含一些资源,例如门铃寄存器(doorbell registers)以及暂存寄存器(scratch pad registers),其中门铃寄存器用于RC之间发送中断信息,而暂存寄存器用于提供一些命令字,交换少量的信息。
[0004]存在多个NTB端口的PCIe交换机可以连接多个RC,RC之间通过互相访问彼此的门铃寄存器和暂存器可以交换信息。但是在带有多个NTB端口的PCIe交换机中,一旦出现多个RC同时访问同一个RC的资源并进行写操作的情况下,可能会导致同时访问的多个写请求互相覆盖而丢失信息或信息处理错误。

技术实现思路

[0005]针对现有技术中的部分或全部问题,本专利技术第一方面提供一种具多个非透明桥端口的PCIe交换机,包括:
[0006]非透明桥端口,其用于连接RC并解析PCIe数据包,以获取所述数据包中携带的地址信息;以及
[0007]主控制模块,其包括所述非透明桥端口的门铃寄存器和/或暂存寄存器,且所述主控制模块与所述非透明桥端口可通信地连接,所述主控制模块用于管理所述非透明桥端口之间,尤其是非透明桥端口所连接的根联合体之间的访问权限。
[0008]进一步地,所述非透明桥端口包括包监测模块,所述包监测模块用于解析并获取所述PCIe数据包中所携带的地址信息。
[0009]进一步地,所述包监测模块中包括其他非透明桥端口的资源映射的地址,其中所
述资源包括门铃寄存器和/或暂存寄存器。
[0010]本专利技术第二方面提供如前所述的PCIe交换机的通信方法,所述PCIe交换机上连接的各个根联合体可以相互访问,其中连接至所述PCIe交换机上的根联合体可以通过对连接至所述PCIe交换机的另一根联合体对应的门铃寄存器或暂存寄存器进行写入操作以交换信息,所述写入操作包括步骤:
[0011]查询目标根联合体对应的资源占用情况:
[0012]若所述目标根联合体对应的资源被占用,则等待指定时长后,重新查询,直至所述目标根联合体对应的资源空闲;以及
[0013]若所述目标根联合体对应的资源未被占用,则将待交换信息写入所述目标根联合体对应的资源,其中所述资源包括门铃寄存器或暂存寄存器。
[0014]进一步地,查询目标根联合体对应的资源占用情况包括:
[0015]根联合体发送存储器读包至与其相连的非透明桥端口;
[0016]所述非透明桥端口解析所述存储器读包,并根据存储器读包中的目标地址向所述主控制模块发送申请权限请求;
[0017]所述主控制模块查询目标根联合体对应的资源占用情况:
[0018]若目标根联合体对应的资源已被占用,则返回忙碌状态至所述非透明桥端口;以及
[0019]若所述目标根联合体的资源未被占用,则记录申请权限请求的端口,并返回成功状态至所述非透明桥端口;以及
[0020]所述非透明桥端口组成PCIe完成包,并发送给所述根联合体。
[0021]进一步地,当所述主控制模块同时收到多个申请权限请求时,其根据预设的优先级向具有最高优先级的非透明桥端口授予权限。
[0022]进一步地,所述非透明桥端口通过包监测模块解析所述存储器读包,以及组成PCIe完成包,其中所述存储器读包及PCIe完成包为PCIe标准数据包。
[0023]进一步地,将待交换信息写入所述目标根联合体对应的资源包括:
[0024]根联合体发送存储器写包至与其相连的非透明桥端口;
[0025]所述非透明桥端口解析所述存储器写包,并根据存储器写包携带的地址向所述主控制模块发送写请求;以及
[0026]所述主控制模块接收到写请求后,判断写请求端口是否与记录的已申请权限请求的端口一致:
[0027]若一致,则将数据写入目标根联合体对应的资源,并返回成功状态;以及
[0028]若不一致,则返回失败状态。
[0029]进一步地,所述非透明桥端口通过包监测模块解析所述存储器写包,其中所述存储器写包为PCIe标准数据包。
[0030]进一步地,所述存储器写包携带的地址包括目标根联合体对应的资源在当前非透明桥端口的映射地址。
[0031]进一步地,所述写入操作还包括:
[0032]根联合体发送存储器读包以获取写入状态,并在写入成功后,向主控制模块发送释放权限请求。
[0033]进一步地,所述释放权限请求在根联合体确认写入成功后自动发送。
[0034]本专利技术提供的一种具多个非透明桥端口的PCIe交换机及其通信方法,首先在每个非透明桥端口设置包监测模块,以实现对PCIe数据包的解析,然后通过设置主控制模块来统一监测及管理每个非透明桥端口连接的根联合体对应的资源,并统一管理非透明桥端口的权限申请。其通过查询反馈机制保证了数据交互的安全,能够有效避免多个根联合体同时访问同一个根联合体资源的冲突问题。此外,所述权限申请基本在软件层面实现,因此还可以简化PCIe交换机的硬件设计,进而节省设计成本,提升设计的成功率。
附图说明
[0035]为进一步阐明本专利技术的各实施例的以上和其它优点和特征,将参考附图来呈现本专利技术的各实施例的更具体的描述。可以理解,这些附图只描绘本专利技术的典型实施例,因此将不被认为是对其范围的限制。在附图中,为了清楚明了,相同或相应的部件将用相同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种具多个非透明桥端口的PCIe交换机,其特征在于,包括:非透明桥端口,其被配置为连接RC并解析PCIe数据包;以及主控制模块,包括所述非透明桥端口的门铃寄存器和/或暂存寄存器,且所述主控制模块与所述非透明桥端口可通信地连接,所述主控制模块被配置为管理所述非透明桥端口之间的访问权限。2.如权利要求1所述的PCIe交换机,其特征在于,所述非透明桥端口包括包监测模块,所述包监测模块被配置为解析并获取所述PCIe数据包中的地址。3.如权利要求1所述的PCIe交换机,其特征在于,所述非透明桥端口的地址空间包括其他非透明桥端口的资源映射的地址,其中所述资源包括门铃寄存器和/或暂存寄存器。4.如权利要求1至3任一所述的PCIe交换机的通信方法,其特征在于,连接至所述PCIe交换机上的根联合体通过对连接至所述PCIe交换机的另一根联合体对应的资源进行写入操作以交换信息,其中所述写入操作包括步骤:查询目标根联合体对应的资源占用情况:若所述目标根联合体对应的资源被占用,则等待指定时长后,重新查询,直至所述目标根联合体对应的资源空闲;以及若所述目标根联合体对应的资源未被占用,则将待交换信息写入所述目标根联合体对应的资源,其中所述资源包括门铃寄存器或暂存寄存器。5.如权利要求4所述的通信方法,其特征在于,查询目标根联合体对应的资源占用情况包括步骤:根联合体发送存储器读包至与其相连的非透明桥端口;所述非透明桥端口解析所述存储器读包,并根据存储器读包中的目标地址向所述主控制模块发送申请权限请求;所述主控制模块查询目标根联合体对应的资源占用情况:若目标根联合体对应的资源已被占用,则...

【专利技术属性】
技术研发人员:孙向向江国范
申请(专利权)人:青芯半导体科技上海有限公司
类型:发明
国别省市:

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

1