基于PCIE总线的报文传输方法与装置制造方法及图纸

技术编号:10417950 阅读:164 留言:0更新日期:2014-09-12 10:21
本发明专利技术提供一种基于PCIE总线的报文传输方法与装置,该方法包括:接收数据传输请求,并根据数据传输请求判断数据传输请求所请求的待传输数据是否具备压缩条件;若具备压缩条件,则将待传输数据封装在至少两个数据报文中;其中,所述压缩事务层数据报文缺少至少一个字段或所述压缩事务层数据报文的至少一个字段中配置压缩信息;将所述至少两个数据报文的数据标识设置为相同值;将至少两个数据报文通过PCIE总线传输给对端设备。本发明专利技术实施例提供的基于PCIE总线的报文传输方法与装置,在传输过程中实现节约信道资源。

【技术实现步骤摘要】
基于PCIE总线的报文传输方法与装置
本专利技术涉及通信技术,尤其涉及一种基于PCIE总线的报文传输方法与装置。
技术介绍
外围组件互连快递(PeripheralComponent Interconnect Express,简称 PCIE)总线是一种采用端对端的连接方式的高速差分总线,具有三个层次:物理层、数据链路层和事务层,其中事务层是所有层次中的最高层。PCIE具有多种总线事务,包括:存储器读请求总线事务、存储器写请求总线事务、输入/输出读和写请求总线事务以及配置读和写请求总线事务等。在使用PCIE总线进行数据传输时,在事务层中,需要将待传输数据采用事务层数据报文(Transact1n Lay Packet,简称TLP)的格式将所要传输的数据封装成至少一个TLP,再通过PCIE总线的多个层次发送出去。在实际传输数据过程中,将一份数据按照一定字节长度切割成多份数据,并对上述多份数据分别封装成TLP,通常属于一份数据对应的多个TLP都会对一段连续的地址空间进行读或写。现有技术中,在将所传输的数据封装为多个TLP后,每一个TLP中,除了必要的数据信息外,每个TLP的包头中都包含TLP的长度信息、TLP的类型信息、标识该TLP在传输时的各种特性与支持的传输功能的信息、地址字段信息、以及没有确定含义的保留字段等额外信息。当设备A接到另一个设备B传输的TLP,根据每个TLP的包头就可以将各个TLP还原为待传输数据,执行写入或读取等操作,当对应一份数据的多个TLP全部到达设备A时,即完成一次数据的传输。在现有技术的使用PCIE总线传输数据的过程中,TLP中包含不必要的冗余信息,额外的冗余信息占用了宝贵的数据信道资源,并且在对应一份数据的多个TLP中,每个TLP中都包含与其他TLP相同或相近的额外的冗余信息,因此在数据传输的过程中,会存在大量的冗余信息,并且传输冗余信息对宝贵的数据信道资源造成很大的浪费。
技术实现思路
本专利技术提供一种基于PCIE总线的报文传输方法与装置,用以节约数据信道资源,进而提高数据的传输效率。第一方面,本专利技术实施例提供一种基于PCIE总线的报文传输方法,该方法包括:接收数据传输请求,并根据所述数据传输请求判断所述数据传输请求所请求的待传输数据是否具备压缩条件;若具备压缩条件,则将所述待传输数据封装在至少两个数据报文中;其中,所述至少两个数据报文的第一个数据报文为完全事务层数据报文和所述至少两个数据报文的其他数据报文中的至少一个为压缩事务层数据报文,各所述数据报文中配置有标识所述数据报文为完全事务层数据报文或压缩事务层数据报文的信息;与所述完全事务层数据报文相t匕,所述压缩事务层数据报文缺少至少一个字段或所述压缩事务层数据报文的至少一个字段中配置压缩信息;将所述至少两个数据报文的数据标识设置为相同值;将所述至少两个数据报文通过PCIE总线传输给对端设备。在第一方面的第一种可能的实现方式中,所述接收数据传输请求,并根据所述数据传输请求判断待传输数据是否具备压缩条件包括:接收数据传输请求;判断所述数据传输请求的类型是否为设定的可压缩请求,若是,则待传输数据具备压缩条件。根据第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述判断所述数据传输请求的类型是否为设定的可压缩请求,若是,则待传输数据具备压缩条件包括:判断所述数据传输请求的类型是否为DMA数据读写请求;若是DMA数据读写请求,则判断所述DMA数据读写请求的读写地址是否连续;若读写地址连续,则所述DMA数据读写请求的待传输数据具备压缩条件。结合第一方面、第一方面的第一种可能的实现方式或第二种可能的实现方式中任一种可能的实现方式,在第三种可能的实现方式中,所述压缩事务层数据报文的包头缺少的至少一个字段包括:数据报文长度字段和字节使能字段。结合第一方面、第一方面的第一种可能的实现方式或第二种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述压缩事务层数据报文配置压缩信息的字段包括目标地址字段,在该字段配置的压缩信息为地址偏移量;所述地址偏移量为所述压缩事务层数据报文的目标地址相对于完全事务层数据报文的目标地址的地址偏移量。结合第一方面、第一方面的第一种可能的实现方式或第二种可能的实现方式中任一种可能的实现方式,在第五种可能的实现方式中,所述若具备压缩条件,则将所述待传输数据封装在至少两个数据报文包括:若具备压缩条件,则将所述待传输数据封装在至少两个事务层数据报文中;所述至少两个事务层数据报文中的报文长度相等。结合第一方面、第一方面的第一种可能的实现方式或第二种可能的实现方式中任一种可能的实现方式,在第六种可能的实现方式中,所述若具备压缩条件,则将所述待传输数据封装在至少两个数据报文包括:若具备压缩条件,则将所述待传输数据封装在一个头事务层数据报文、至少一个中间事务层数据报文和一个尾事务层数据报文中,其中,所述头事务层数据报文和尾事务层数据报文为完全事务层数据报文,中间事务层数据报文为压缩事务层数据报文。第二方面,本专利技术实施例提供一种基于外围组件互连快递PCIE总线的报文传输方法,该方法包括:接收对端设备通过PCIE总线传输的事务层数据报文并进行识别;当识别到所述事务层数据报文为完全事务层数据报文时,从所述完全事务层数据报文的各字段中获取完整信息;当识别到所述事务层数据报文为压缩事务层数据报文时,根据数据标识将属于同一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述压缩事务层数据报文中缺少的字段或配置压缩信息的字段,获得压缩事务层数据报文;拼接各事务层数据报文以获取对端设备数据发送的待传输数据。在第二方面的第一种可能的实现方式中,所述接收对端设备基于PCIE总线传输的事务层数据报文并进行识别包括:接收对端设备基于PCIE总线传输的事务层数据报文;从所述事务层数据报文中解析设定字段的标识;当识别到所述标识为完全标识时,则所述事务层数据报文为完全事务层数据报文;当识别到所述标识为压缩标识时,则所述事务层数据报文为压缩事务层数据报文。结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述根据数据标识将属于同一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述压缩事务层数据报文中缺少的字段或配置压缩信息的字段,获得压缩事务层数据报文,包括:从所述压缩事务层数据报文的目标地址字段中获得地址偏移量;从与所述压缩事务层数据报文的数据标识相同的完全事务层数据报文中的目标地址字段中获得基地址;将地址偏移量与基地址相加,得到所述压缩数据层报文的目标地址信息。第三方面,本专利技术实施例提供一种基于外围组件互连快递PCIE总线的报文传输装置,该装置包括:接收判断模块,用于接收数据传输请求,并根据所述数据传输请求判断所述数据传输请求所请求的待传输数据是否具备压缩条件;封装模块,用于若具备压缩条件,则将所述待传输数据封装在至少两个数据报文中;其中,所述至少两个数据报文的第一个数据报文为完全事务层数据报文和所述至少两个数据报文的其他数据报文中的至少一个为压缩事务层数据报文,各所述数据报文中配置有标识所述数据报文为完全事务层数据报文或压缩事务层数据报文的信息;与所述完全事务层数据报文相比,所本文档来自技高网
...
基于PCIE总线的报文传输方法与装置

【技术保护点】
一种基于外围组件互连快递PCIE总线的报文传输方法,其特征在于,包括:接收数据传输请求,并根据所述数据传输请求判断所述数据传输请求所请求的待传输数据是否具备压缩条件;若具备压缩条件,则将所述待传输数据封装在至少两个数据报文中;其中,所述至少两个数据报文的第一个数据报文为完全事务层数据报文和所述至少两个数据报文的其他数据报文中的至少一个为压缩事务层数据报文,各所述数据报文中配置有标识所述数据报文为完全事务层数据报文或压缩事务层数据报文的信息;与所述完全事务层数据报文相比,所述压缩事务层数据报文缺少至少一个字段或所述压缩事务层数据报文的至少一个字段中配置压缩信息;将所述至少两个数据报文的数据标识设置为相同值;将所述至少两个数据报文通过PCIE总线传输给对端设备。

【技术特征摘要】
1.一种基于外围组件互连快递PCIE总线的报文传输方法,其特征在于,包括: 接收数据传输请求,并根据所述数据传输请求判断所述数据传输请求所请求的待传输数据是否具备压缩条件; 若具备压缩条件,则将所述待传输数据封装在至少两个数据报文中;其中,所述至少两个数据报文的第一个数据报文为完全事务层数据报文和所述至少两个数据报文的其他数据报文中的至少一个为压缩事务层数据报文,各所述数据报文中配置有标识所述数据报文为完全事务层数据报文或压缩事务层数据报文的信息;与所述完全事务层数据报文相比,所述压缩事务层数据报文缺少至少一个字段或所述压缩事务层数据报文的至少一个字段中配置压缩信息;将所述至少两个数据报文的数据标识设置为相同值; 将所述至少两个数据报文通过PCIE总线传输给对端设备。2.根据权利要求1所述的方法,其特征在于,所述接收数据传输请求,并根据所述数据传输请求判断待传输数据是否具备压缩条件包括: 接收数据传输请求; 判断所述数据传输请求的类型是否为设定的可压缩请求,若是,则待传输数据具备压缩条件。3.根据权利要求2所述的方法,其特征在于,所述判断所述数据传输请求的类型是否为设定的可压缩请求,若是,则待传输数据具备压缩条件包括: 判断所述数据传输请求 的类型是否为直接内存存取DMA数据读写请求,所述DMA数据读写请求包含DMA数据写请求和DMA数据读请求; 若是DMA数据读写请求,则判断所述DMA数据读写请求的读写地址是否连续; 若读写地址连续,则所述DMA数据读写请求的待传输数据具备压缩条件。4.根据权利要求1-3任一所述的方法,其特征在于,所述压缩事务层数据报文的包头缺少的至少一个字段包括:数据报文长度字段和字节使能字段。5.根据权利要求1-3任一所述的方法,其特征在于,所述压缩事务层数据报文配置压缩信息的字段包括目标地址字段,在该字段配置的压缩信息为地址偏移量;所述地址偏移量为所述压缩事务层数据报文的目标地址相对于完全事务层数据报文的目标地址的地址偏移量。6.根据权利要求1-3任一所述的方法,其特征在于,所述若具备压缩条件,则将所述待传输数据封装在至少两个数据报文中包括: 若具备压缩条件,则将所述待传输数据封装在至少两个事务层数据报文中;所述至少两个事务层数据报文中的报文长度相等。7.根据权利要求1-3任一所述的方法,其特征在于,所述若具备压缩条件,则将所述待传输数据封装在至少两个数据报文中包括: 若具备压缩条件,则将所述待传输数据封装在一个头事务层数据报文、至少一个中间事务层数据报文和一个尾事务层数据报文中,其中,所述头事务层数据报文和尾事务层数据报文为完全事务层数据报文,中间事务层数据报文为压缩事务层数据报文。8.一种基于外围组件互连快递PCIE总线的报文传输方法,其特征在于,包括: 接收对端设备通过PCIE总线传输的事务层数据报文并进行识别; 当识别到所述事务层数据报文为完全事务层数据报文时,从所述完全事务层数据报文的各字段中获取完整信息; 当识别到所述事务层数据报文为压缩事务层数据报文时,根据数据标识将属于同一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述压缩事务层数据报文中缺少的字段或配置压缩信息的字段,获得压缩事务层数据报文; 拼接各事务层数据报文以获取对端设备数据发送的待传输数据。9.根据权利要求8所述的方法,其特征在于,所述接收对端设备基于PCIE总线传输的事务层数据报文并进行识别包括: 接收对端设备基于PCIE总线传输的事务层数据报文; 从所述事务层数据报文中解析设定字段的标识; 当识别到所述标识为完全标识时,则所述事务层数据报文为完全事务层数据报文; 当识别到所述标识为压缩标识时,则所述事务层数据报文为压缩事务层数据报文。10.根据权利要求8或9所述的方法,其特征在于,所述根据数据标识将属于同一次待传输数据的所述完全事务层数据报文中的完整信息恢复所述压缩事务层数据报文中缺少的字段或配置压...

【专利技术属性】
技术研发人员:王曦爽侯锐冯煜晶张柳航
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1