在pcie总线上传输报文的方法、设备和系统的制作方法

文档序号:7618007阅读:140来源:国知局
专利名称:在pcie总线上传输报文的方法、设备和系统的制作方法
技术领域
本发明实施例涉及通信技术领域,尤其涉及ー种在快速局部(PeripheralComponent Interconnect Express,简称为PCIE)总线上传输报文的方法、设备和系统。
背景技术
PCIE是最新的总线和接ロ标准,这个新标准将全面取代现行的PCI和AGP,最终实现总线标准的统一。PCIE的主要优势是数据传输速率高,目前最高的16X 2. O版本可达到16GB/S,而且还有相当大的发展潜力。PCIE作为主板级的交互协议,完成应用程序、CPU和PCIE设备(如NIC,SCSI HBA,FC-HBA等)间的通信。同时,也可以作为系统级的交互协议。光纤通道(Fibre Channel, FC)协议通常用于存储区域网络上的服务器和存储 设备之间的通信,光纤通道基于FC的链路控制和物理层协议,光纤通道的主要特性有热插拔性、高速带宽、远程连接、连接设备数量大等,一般的,业务采用的介质是光纤线缆和铜缆等,然而,FC设备价格昂贵,但采用铜轴电缆的光纤通道有着铜媒介一祥的问题,如传输距离短(30米,取决于具体的线缆)以及易受电磁干扰(EMI)影响等,且目前刚光纤通道开始流行的8Gb/s的速率与PCI-Express的最大速率相比有很大差距,不能获得更好的数据传输率。

发明内容
本发明实施例提供ー种在PCIE总线上传输报文的方法、设备和系统,用以实现在PCIE总线上直接传输预置的协议报文;本发明实施例的使用快速局部PCIE总线传输报文的方法,包括起始端设备获取预置的协议报文;在PCIE链路中,获取到所述目标端设备的PCIE设备ID后,将所述预置的协议报文携帯在PCIE协议报文中,并通过PCIE总线将所述PCIE协议报文发送给目标端设备,以使所述目标端设备从所述PCIE协议报文中解析出所述预置的协议报文后根据所述预置的协议报文的指令执行相应操作,其中,所述起始端设备和目标端设备,第三方设备之间通过PCIE总线互连。本发明实施例的在快速局部PCIE总线上传输报文的装置,其特征在于,包括封装模块,用于对光纤通道预置的协议报文进行封装,得到预置的协议报文;收发模块,用于将预置的协议报文携帯在PCIE协议报文中,并通过PCIE总线将所述PCIE协议报文发送给目标端设备,以使目标端设备从PCIE协议报文中解析出预置的协议报文后根据预置的协议报文的指令执行相应操作;解析模块,用于从PCIE协议报文中解析出预置的协议报文;执行模块,用于根据预置的协议报文的指令执行相应操作。本发明实施例提供的在PCIE总线上传输报文的方法、设备和系统,通过PCIE总线使得使用FC协议的存储系统进行互连,使得通过PCIE总线建立彼此连接的任意设备之间均可以通过预置的协议报文进行相互的操作,可以利用FC协议已有的功能优势和管理工具,且数据传输的带宽高、处理速度快,可用于全PCIE连接的多主机集群计算系统中,计算节点与存储节点基于FC协议实现互连。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作 ー简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明一个实施例提供的在PCIE总线上传输报文的方法流程图;图2为本发明一个实施例提供的在PCIE总线上传输报文的方法流程图;图3为本发明一个实施例提供的在PCIE总线上传输报文的装置结构示意图;图4为本发明一个实施例提供的在PCIE总线上传输报文的装置结构示意图;图5为本发明一个实施例提供的在PCIE总线上传输报文的系统结构示意具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图I为本发明一个实施例提供的在PCIE总线上传输报文的方法流程图,如图I所示,该方法包括步骤101 :起始端设备获取预置的协议报文;本发明实施例可以根据具体的业务类型将预置的协议报文携帯在所述PCIE协议报文的处理层协议TLP包中,获得FC-TLP协议报文,其中,FC-TLP协议报文为FC-TLP帧格式,所述预置的协议报文为FC协议报文;或将所述预置的协议报文携帯在所述PCIE协议报文的处理层协议TLP包中,获得FCoPIP-TLP协议报文,FCoPIP-TLP协议报文为FCoPIP-TLP帧格式,其中,所述预置的协议报文为FCoPIP协议报文。步骤102 :获取到所述目标端设备的PCIE设备ID后,将所述预置的协议报文携带在PCIE协议报文中,并通过PCIE总线将所述PCIE协议报文发送给目标端设备,以使所述目标端设备从所述PCIE协议报文中解析出所述预置的协议报文后根据所述预置的协议报文的指令执行相应操作,其中,所述起始端设备和目标端设备,第三方设备之间通过PCIE总线互连。其中,本实施例中的第三方设备可以是链路中的特定的网络管理设备。其中,本实施例中的预置的协议报文为FC协议报文或FCoPIP协议报文;本实施例中的“携帯”也在本领域内也可以称为“封装”,实际上指的是将FCoPIP协议报文或FC协议报文映射为符合PCIE协议报文的形式的ー种做法。其中,可以将预置的协议报文携带在PCIE的处理层协议(Transaction LayerProtocol,简称为TLP)包中。预置的协议报文在PCIE协议报文中具体的位置可以如表I中所示本发明实施例提供的PCIE协议报文的格式示意图。表I
中贞开始 DLLP头 TLP头~ 预置的协议报文ECRC LCRC 巾贞结束其中,有多种情况可以使得起始端设备将预置的协议报文进行封装后携帯在PCIE协议报文中,例如,计算机应用程序或者CPU希望通过PCIE总线对某一设备进行读写操作,则会将读写请求转换为FC读写命令并对其进行封装,然后携帯在PCIE协议报文中。或者,某一通过PCIE总线与计算机相连接的设备接收到计算机通过PCIE总线 发送的请求报文后需要返回请求响应报文吋,该设备会将请求响应报文转换为本发明实施例的协议报文并对其进行封装,然后携帯在PCIE协议报文中。本发明实施例提供的在PCIE总线上传输报文的方法,使得通过PCIE总线建立彼此连接的任意设备之间均可以通过预置的协议报文进行相互的操作,且数据传输的带宽高、处理速度快,可用于全PCIE连接的多主机集群计算系统中,计算节点与存储节点基于FC协议实现互连。图2是本发明实施例中预置的协议报文进行封装的方法流程图;本实施例中,获取到所述目标端设备的PCIE设备ID之前,所述将预置的协议报文携帯在PCIE协议报文中包括首先,步骤1010,起始端设备,和/或,目标端设备发送设备发现请求,获取第三方设备的PCIE设备ID,例如发送OOOlh,如表I所示
FCoPIPSubcodeOperationContents of
Protocol CodeODeration
OOOlh (设备Olh Discovery Solicitation PCIE Device ID
发现)FCWWN
___MAX Size —
02h Discovery AdvertisementPriority
PCIE Device IDFC WWN
___^MAX Size 等 _其中,FCoPIPProtocol Code 为 OOOlh 表示设备发现,Subcode 为 Olh 时,表示所述业务类型Operation为Discovery Solicitation,表不所述业务内容Contents ofOperation 包括为 PCIE Device ID, FC WffN, MAX Size 等信息;Subcode 为 02h 时,表示业务类型为Discovery Advertisement,表不所述业务内容Contents of Operation为Priority (优先级),另外,还包括 PCIE Device ID,FC WWNjMAX Size 等。其中,MAX Size,表示起始端设备可以接收的报文大小;Priority,表示第三方设备的优先级标识,在PCIE链路上也有可能存在多个第三方设备,此时会有多个第三方设备返回第一请求响应消息,这时可以根据第一请求响应信息中的优先级作为參考,从而优选采用第一请求响应信息中优先级标识较高的第三方设备。具体的,起始端设备需要在PCIE链路中,发送设备发现请求信息,其中,所述设备发现请求信息中携帯有起始端设备和目标端设备之间通信需要的光纤通道协议參数;本实施例中,可以在PCIE链路上通过广播或组播的方式发送设备发现请求信息,并接收第三方设备返回的第一请求响应信息。步骤1011,接收所述第三方设备返回的第一请求响应信息,其中,所述第一请求响应信息中携帯有所述第三方设备的PCIE设备ID。需要说明的是,本实施例中第一请求响应信息可以是上述的Discovery Solicitation,表示设备发现请求;当然,本发明实施例也可以通过其他方式获取第三方设备的PCIE设备ID,例如,在FCoPIP协议报文中,通过封装Subcode为02h的字段,表示Discovery Advertisement,此时,第三方设备主动向PCIE链路上的其他设备公布自己的PCIE设备ID。·步骤1012,获取到第三方设备的PCIE设备ID后,根据所述第三方设备的PCIE设备ID向第三方设备发送虚拟链路实例化请求信息,并接收PCIE链路上第三方设备返回的第二请求响应信息。其中,虚拟链路实例化请求信息可以是Virtual Link Instantiation Request,例如,可以是将携带有FLOGI消息的FCoPIP协议报文携带在PCIE协议报文的TLP包中;第二请求响应信息可以是Virtual Link Instantiation Reply,表示该第二请求响应信息是虚拟链路实例化响应,例如,可以是将携带有FLOGI响应消息的FCoPIP协议报文携带在PCIE协议报文的TLP包中;其中,本实施例中根据所述第三方设备的PCIE设备ID向第三方设备发送虚拟链路实例化请求信息,并接收PCIE链路上第三方设备返回的第二请求响应信息,具体可以包括起始端设备查询到起始端设备的PCIE设备ID后,将所述起始端设备的PCIE设备ID携帯在虚拟链路实例化请求信息中,在本实施例中,是将所述起始端设备的PCIE设备ID携帯携帯在FCoPIP协议报文中,向第三方设备发送虚拟链路实例化请求信息,并接收PCIE链路上第三方设备返回的第二请求响应信息;本领域技术人员可以了解,本实施例中也可以是目标端设备查询到第三方设备的PCIE设备ID后,根据所述第三方设备的PCIE设备ID向第三方设备发送虚拟链路实例化请求信息,并接收PCIE链路上第三方设备返回的第二请求响应信息;需要将所述目标端设备的PCIE设备ID封装在FCoPIP协议报文中,向第三方设备发送虚拟链路实例化请求信息,并接收PCIE链路上第三方设备返回的第二请求响应信息。本实施例中,虚拟链路实例化请求信息是FCoPIP-TLP帧格式的协议报文,可以通过发送0002h来实现链路和设备的初始化,如表2所示\
FCoPIP Subcode OperationContents of
Protocol CodeOperation
0002h (链路 Olh Virtual Link InstantiationFC FLOGI 消息
和设备实例化) RequestPCIE Device ID
02h Virtual LinkFC FLOGI ロ向应Instantiation Reply消息___L PCIE Device ID其中Subcode 为 Olh 表不业务类型为 Virtual Link Instantiation Request,则 所述预置的协议报文中包括FC FLOGI消息和起始端设备的PCIE设备ID ;02h表示业务类型为Virtual Link Instantiation Reply,表示虚拟链路实例请求信息的响应,即本发明实施例所述的第二请求响应信息,则所述预置的协议报文中包括FC FLOGI响应消息,例如,FC FLOGI响应消息具体可以是对于Fabric login等结构注册■信息的响应信息。步骤1013,第三方设备返回第二请求响应信息后,在第三方设备中记录所述起始端设备的光纤通道端ロ ID和目标端设备的光纤通道端ロ ID,以及起始端设备和目标端设备各自的光纤通道协议參数,所述光纤通道端ロ ID是在路由配置中确定的与设备唯一对应的地址标识。如表3中所示本发明实施例提供的FCoPIP-TLP协议报文的格式示意图。
Bvte0123
0 1 2 3 4 5 6 7 O 1 23456701 23456701 2 3 4567
0Ty P e =F C oPIPT YPEVersionReserved
1
.つ
3Encapsulated FCoPIP operation (n woras)
4N其中,Type域表示预置的协议报文的数据帧的类型,如FCoPIP TYPE表示该协议报文是FCoPIP-TLP巾贞格式的协议报文。Version表示版本,Reserved表示预留。Encapsulated FC Frame (n words)表不封装的具体的内容,Type = FCoPIP_TYPE 时,表不该预置的协议报文类型是FCoPIP协议报文。如表3. I中所示本发明实施例提供的FCoPIP-TLP协议报文的EncapsulatedFCoPIP operation所包括的具体的操作内容的示意图,其中的FCoPIP Protocol Code,例如,可以參考表2中所示,对应于0002h,表示链路和设备实例化;Contents of Operation可以是表2中的FC FLOGI消息和PCIE Device ID等。
权利要求
1.ー种在快速局部PCIE总线传输报文的方法,其特征在于,包括 获取预置的协议报文; 在PCIE链路中,获取到所述目标端设备的PCIE设备ID后,将所述预置的协议报文携带在PCIE协议报文中,并通过PCIE总线将所述PCIE协议报文发送给目标端设备,以使所述目标端设备从所述PCIE协议报文中解析出所述预置的协议报文后根据所述预置的协议报文的指令执行相应操作,其中,所述起始端设备、目标端设备、第三方设备之间通过PCIE总线互连。
2.根据权利要求I所述的方法,其特征在于,所述将预置的协议报文携帯在PCIE协议报文中包括 将预置的协议报文携帯在PCIE协议报文的处理层协议TLP包中,获得FC-TLP协议报文,其中,所述预置的协议报文为FC协议报文; 或者,将预置的协议报文携帯在PCIE协议报文的处理层协议TLP包中,获得FCoPIP-TLP协议报文,其中,所述预置的协议报文为FCoPIP协议报文。
3.如权利要求2所述的方法,其特征在干,获取到所述目标端设备的PCIE设备ID之前,所述将预置的协议报文携帯在PCIE协议报文中包括 在PCIE链路中,发送设备发现请求信息,获取第三方设备的PCIE设备ID,其中,设备发现请求信息中包括起始端设备的光纤通道协议參数和目标端设备的光纤通道协议參数,其中,所述设备发现请求信息为FCoPIP-TLP协议报文。
4.如权利要求3所述的方法,其特征在干, 发送设备发现请求信息,获取第三方设备的PCIE设备ID,包括 通过广播或组播的方式发送设备发现请求信息于第三方设备,并接收第三方设备返回的第一请求响应信息,第一请求响应信息中包括第三方设备PCIE设备ID,或,第三方设备主动在PCIE链路上公布第三方设备的PCIE设备ID。
5.如权利要求1-2中任一项所述的方法,其特征在于,所述将预置的协议报文携帯在PCIE协议报文中,包括 在PCIE链路中,起始端设备获取第三方设备的PCIE设备ID后,将所述起始端设备的PCIE设备ID封装在预置的协议报文中,根据第三方设备的PCIE设备ID向第三方设备发送虚拟链路实例化请求信息,并接收PCIE链路上第三方设备返回的第二请求响应信息; 其中,第二请求响应信息中携帯有所述起始端设备和目标端设备各自的光纤通道协议參数和第三方设备分配给起始端设备的光纤通道端ロ ID和目标端设备的光纤通道端ロID ; 其中,虚拟链路实例化请求信息和第二请求响应信息是FCoPIP-TLP协议报文; 第三方设备返回第二请求响应信息后,在第三方设备中记录起始端设备的光纤通道端ロ ID、目标端设备的光纤通道端ロ ID、起始端设备和目标端设备各自的光纤通道协议參数。
6.如权利要求1-2中任一项所述的方法,其特征在于,所述将预置的协议报文携帯在PCIE协议报文中,还包括 在PCIE链路中,目标端设备获取第三方设备的PCIE设备ID后,将所述目标端设备的PCIE设备ID携帯在预置的协议报文中,根据第三方设备的PCIE设备ID向第三方设备发送虚拟链路实例化请求信息,并接收PCIE链路上第三方设备返回的第二请求响应信息; 其中,第二请求响应信息中携帯有所述起始端设备和目标端设备各自的光纤通道协议參数和第三方设备分配给起始端设备的光纤通道端ロ ID和目标端设备的光纤通道端ロID ;其中,虚拟链路实例化请求信息和第二请求响应信息是FCoPIP-TLP协议报文; 第三方设备返回第二请求响应信息后,在第三方设备中记录起始端设备的光纤通道端ロ ID、目标端设备的光纤通道端ロ ID以及起始端设备和目标端设备各自的光纤通道协议參数。
7.如权利要求1-2中任一项所述的方法,其特征在于,所述将预置的协议报文携帯在PCIE协议报文中,还包括 起始端设备发送注册名称服务器请求信息于第三方设备以获取目标端设备的PCIE设备ID,接收目标端设备返回的第三请求响应信息,其中,注册名称服务器请求信息是FC-TLP协议报文,注册名称服务器请求信息中携帯有目标端设备的光纤通道端ロ ID及目标端设备的光纤通道协议參数,第三请求响应信息中携帯有目标端设备的PCIE设备ID。
8.如权利要求1-2中任一项所述的方法,其特征在于, 通过PCIE总线将所述PCIE协议报文发送给目标端设备,以使目标端设备从PCIE协议报文中解析出预置的协议报文后根据预置的协议报文的指令执行相应操作,包括 起始端设备根据所获取到的目标端设备的PCIE设备ID,发送端ロ注册请求信息于目标端设备,并接收目标端设备返回的第四请求响应信息,其中,端ロ注册请求信息是FC-TLP协议报文,所述端ロ注册请求信息中携帯有目标端设备的PCIE设备ID。
9.ー种在快速局部PCIE总线上传输报文的装置,其特征在于,包括封装模块,用于对光纤通道预置的协议报文进行封装,得到预置的协议报文; 收发模块,用于将预置的协议报文携帯在PCIE协议报文中,并通过PCIE总线将所述PCIE协议报文发送给目标端设备,以使目标端设备从PCIE协议报文中解析出预置的协议报文后根据预置的协议报文的指令执行相应操作; 解析模块,用于从PCIE协议报文中解析出预置的协议报文; 执行模块,用于根据预置的协议报文的指令执行相应操作。
10.如权利要求9所述的装置,其特征在于,所述封装模块具体用于 将预置的协议报文携帯在PCIE协议报文的处理层协议TLP包中,获得FC-TLP协议报文;或将预置的协议报文携帯在PCIE协议报文的处理层协议TLP包中,获得FCoPIP-TLP协议报文。
11.如权利要求9-10中任一项所述的装置,其特征在于,其特征在于,所述封装模块包括 第一封装単元,用于当发送设备发现请求信息至第三方设备时,对预置的协议报文进行处理,将起始端设备的光纤通道协议參数和目标端设备的光纤通道协议參数封装在FCoPIP协议报文中; 第一封装単元还用于向第三方设备发送虚拟链路实例化请求信息时,对预置的协议报文进行处理,将起始端设备的PCIE设备ID封装在FCoPIP协议报文中,并将FCoPIP协议报文携帯在PCIE协议报文中;或者,将目标端设备的PCIE设备ID封装在FCoPIP协议报文中,并将FCoPIP协议报文携带在PCIE协议报文中以获得FCoPIP-TLP协议报文; 第二封装単元,用于当发送注册名称服务器请求信息至第三方设备时,对预置的协议报文进行处理,将第三方设备的光纤通道协议參数和光纤通道端ロ ID封装在FC协议报文中,并将FC协议报文携带在PCIE协议报文中以获得FC-TLP协议报文; 第二封装单元还用于当发送端ロ注册请求信息到目标端设备时,对预置的协议报文进行处理,将目标端设备的PCIE设备ID封装在FC协议报文中,并将FC协议报文携带在PCIE协议报文中以获得FC-TLP协议报文; 收发模块,用于发送设备发现请求信息至第三方设备,接收所述第三方设备返回的第ー请求响应信息,其中,第一请求响应信息中携帯有所述第三方设备的PCIE设备ID ;和/或, 收发模块用于向第三方设备发送虚拟链路实例化请求信息,接收PCIE链路上第三方设备返回的第二请求响应信息,所述第二请求响应信息中携帯有起始端设备和目标端设备各自的光纤通道协议參数和所述第三方设备分配给起始端设备的光纤通道端ロ ID和分配给目标端设备的光纤通道端ロ ID ; 和/或,收发模块用于发送注册名称服务器请求到第三方设备,并接收第三方设备返回的第三请求响应信息,其中,注册名称服务器请求信息为FC-TLP协议报文,光纤通道端ロ ID是在路由配置中确定的与设备唯一对应的地址标识,其中,第三请求响应信息中携帯有所述目标端设备的PCIE设备ID ; 收发模块用于发送端ロ注册请求到所述目标端设备,并接收从目标端设备返回的第四请求响应信息。
12.根据权利要求8-11中任一项所述的装置,其特征在于,所述装置还包括 配置模块,用于响应接收到的设备发现请求信息,为起始端设备和目标端设备分别配置各自的光纤通道端ロ ID,并将光纤通道端ロ ID携带于第一请求响应信息中返回至起始端设备和目标端设备; 记录模块,用于记录所分配的光纤通道端ロ ID和PCIE设备ID,以及光纤通道协议參数等相关信息,其中,记录的光纤通道协议參数包括起始端设备的光纤通道端ロ ID和目标端设备的光纤通道端ロ ID,以及起始端设备和目标端设备各自的光纤通道协议參数。
全文摘要
本发明实施例提供一种在PCIE总线上传输报文的方法、装置和系统。方法包括起始端设备预置的协议报文对预置的协议报文进行处理,得到预置的协议报文;获取到所述目标端设备的PCIE设备ID后,将所述预置的协议报文携带在PCIE协议报文中,并通过PCIE总线将所述PCIE协议报文发送给目标端设备,以使所述目标端设备从所述PCIE协议报文中解析出所述预置的协议报文后根据所述预置的协议报文的指令执行相应操作,其中,所述起始端设备和目标端设备,第三方设备之间通过PCIE总线互连。本发明实施例提供的方案,数据传输的带宽高、处理速度快,通用性好,成本低。
文档编号H04L12/40GK102694717SQ201110070778
公开日2012年9月26日 申请日期2011年3月23日 优先权日2011年3月23日
发明者刘利锋, 孟健, 王雨晨 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1