【技术实现步骤摘要】
本专利技术涉及一种基于PCIe数据交换的通信方法及系统,特别是涉及一种通过扩展PCIe协议实现的多处理机环境下数据交换方法及数据交换系统,还涉及对标准PCIe的兼容,实现基于PCIe的I/O设备扩展。
技术介绍
PC1-Express总线协议(简称PCIe)继承自PC1、PCI_x协议,是当前计算机系统中主流的I/o系统总线。相比PCI和PC1-X,PCIe总线具有更高的高带宽,PCIe2.0规范的单路(lane)单向带宽就已达到5Gpbs,PCIe3.0规范更是达到了 8Gbps。由于是串行传输协议,因此PCIe总线可以实现较长的传输距离,甚至可以通过使用光模块,达到上百米的传输距离。此外,PCIe总线还提供了丰富的服务质量(QoS)特性,和点对点链路可靠性保证。作为PC1、PC1-x总线的延续,PCIe总线主要用于扩展I/O资源。目前市场上均为符合PCIe标准的PCIe交换机,它们可以通过级联构成树形拓扑,处理机是树的根,而I/O设备则是树的叶子。目前构造的树形拓扑可以有多个根,不同的根拥有不同的子树,但根与根之间不能通信。这些子树之间可以共用中间的节点(PCIe交换机),但一个叶子(PCIe终端设备)仅能归属于一个子树。因此,标准PCIe交换机构成的网络,只是一个或若干个功能独立的子树的集合,子树之间并无数据交换,当然这已经满足了在I/O扩展方面的需要。但是从带宽、传输距离、服务质量、可靠性等方面看,PCIe总线除了实现I/O设备的扩展外,还适合于构造系统互连网络,实现多台计算机间的高速互连。然而PCIe总线严格遵循树形拓扑,终端叶子节点之间无法直 ...
【技术保护点】
一种基于PCIe数据交换的通信方法,其特征在于,包括:步骤1,启动PCIe交换机,并对与所述PCIe交换机进行通信的处理机和PCIe终端进行PCIe的设备搜索和配置;步骤2,所述处理机或所述PCIe终端根据路由信息向所述PCIe交换机端口发送PCIe读写请求,所述端口使用兼容标准PCIe链路层协议的包格式和兼容标准PCIe路由的可扩展路由方式,将所述PCIe读写请求构造为数据包,并将其发送至对应端口;步骤3,所述对应端口将所述数据包还原为PCIe读写请求,并将其发送至处理机或所述PCIe终端。
【技术特征摘要】
1.一种基于PCIe数据交换的通信方法,其特征在于,包括: 步骤I,启动PCIe交换机,并对与所述PCIe交换机进行通信的处理机和PCIe终端进行PCIe的设备搜索和配置; 步骤2,所述处理机或所述PCIe终端根据路由信息向所述PCIe交换机端口发送PCIe读写请求,所述端口使用兼容标准PCIe链路层协议的包格式和兼容标准PCIe路由的可扩展路由方式,将所述PCIe读写请求构造为数据包,并将其发送至对应端口 ; 步骤3,所述对应端口将所述数据包还原为PCIe读写请求,并将其发送至处理机或所述PCIe终端。2.如权利要求1所述的基于PCIe数据交换的通信方法,其特征在于,如果发送PCIe读写请求的是处理机,则所述步骤2包括: 步骤21,所述处理机根据路由信息向其下一级PCIe交换机的上游端口的单PCI桥配置空间发送PCIe读写请求; 步骤22,所述上游端口的上游输出端口路由单元使用PCIe读写请求的PCIe终端的地址查询地址端口路由表,获得下游端口号,并使用该下游端口号将所述PCIe读写请求构造为第一数据包,所述上游端口发送该第一数据包至本地交叉开关的接收虚通道模块的请求虚通道; 步骤23,所述本地交叉开关的交换子模块将该第一数据包发送至所述下游端口。3.如权利要求2所述的基于PCIe数据交换的通信方法,其特征在于,如果发送PCIe读写请求的是处理机,且PCIe读写请求是PCIe写请求,则所述步骤3包括: 步骤31,所述下游端口将所述第一数据包还原为PCIe写请求,若与下游端口相连的是下一级PCIe交换机的上游端口,则将该PCIe写请求发送给该上游端口 ;若与所述下游端口相连的是PCIe终端,则将该PCIe写请求发送给该PCIe终端。4.如权利要求3所述的基于PCIe数据交换的通信方法,其特征在于,如果发送PCIe读写请求的是处理机,且PCIe读写请求是PCIe读请求,则所述步骤3包括: 步骤31,所述下游端口将所述第一数据包还原为PCIe读请求,若与下游端口相连的是下一级PCIe交换机的上游端口,则将该PCIe读请求发送给该上游端口 ;若与下游端口相连的是PCIe终端,则将该PCIe读请求发送给该PCIe终端; 步骤32,所述PCIe终端根据路由信息向其上一级PCIe交换机的下游端口发送携带的PCIe读请求ID号的PCIe响应数据; 步骤33,所述下游端口的下游输出端口路由单元使用PCIe响应数据的PCIe读请求ID号查询源ID端口路由表,获取上游端口号,并使用该上游端口号将PCIe响应数据构造为第一数据包,所述下游端口发送该第一数据包至本地交叉开关的接收虚通道模块的应答虚通道; 步骤34,所述本地交叉开关的交换子模块将该第一数据包发送至上游端口 ; 步骤35,所述上游端口将该第一数据包还原为PCIe响应数据,若与上游端口相连的是上一级PCIe交换机的下游端口,则将PCIe响应数据发送给该下游端口 ;若与上游端口相连的是处理机,则将PCIe响应数据发送给该处理机。5.如权利要求1所述的基于PCIe数据交换的通信方法,其特征在于,如果发送PCIe读写请求的是PCIe终端,则所述步骤 2包括:步骤221,所述PCIe终端根据路由信息向其上一级PCIe交换机的下游端口的多PCI桥配置空间单元发送PCIe读写请求; 步骤222,所述下游端口使用PCIe读写请求中的处理机地址与多PCI桥配置空间单元中各个PCI桥配置空间地址进行比对,获得命中PCI桥配置空间对应的上游端口号,并使用该上游端口号将所述PCIe读写请求构造为第一数据包,下游端口发送该第一数据包至本地交叉开关的接收虚通道模块的请求虚通道; 步骤223,所述本地交叉开关的交换子模块将该第一数据包发送至上游端口。6.如权利要求5所述的基于PCIe数据交换的通信方法,其特征在于,如果发送PCIe读写请求的是PCIe终端,且PCIe读写请求是PCIe写请求,则所...
【专利技术属性】
技术研发人员:孙凝晖,曹政,刘小丽,安学军,张佩珩,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。