一种PCIe传输管理方法、系统和装置制造方法及图纸

技术编号:23890097 阅读:27 留言:0更新日期:2020-04-22 06:06
本发明专利技术提供一种PCIe传输管理方法、系统和装置,方法包括:接受对PCIe传输的发送端和接收端各自的存储域与PCIe总线域的映射关系的配置;发送端设置每个buffer所保存的将要传输的数据包结构,数据包具有检索位、和包大小和数据段;发送端在发送数据时,将传输数据按设置的包大小进行切割,并扫描本地多个buffer,直到获取第一个空闲buffer进行数据填充搬移,查询总线状态,获取到总线空闲后,启动总线传输,并根据尾部标签来判断数据包是否传输完毕;接收端接收数据包后,根据每个数据包的检索位将各个数据包的数据段进行顺序拟合,保存在自己对应的buffer中。本发明专利技术可达PCIe传输速率的最大化,从而具有更低的延时。

【技术实现步骤摘要】
一种PCIe传输管理方法、系统和装置
本专利技术涉及计算机
,特别涉及一种PCIe传输管理方法、系统和装置。
技术介绍
目前越来越多的SoC芯片带有PCIe(peripheralcomponentinterconnectexpress,是一种高速串行计算机扩展总线标准)接口,为了将多片SoC级联起来,可以使用PCIe总线实现。实现PCIe链路层的连接较为简单,但是由于PCIe有多个地址域的转换以及低时延的需求,就需要配套设计一种符合PCIe域特点的传输管理模型,以求达到传输速率最大化。并且,互联的Soc可能是不同厂家的,那么也需要不依赖于硬件的一些同步机制实现。本案设计了一种低延时的PCIe传输管理模型。
技术实现思路
本专利技术要解决的技术问题,在于提供一种PCIe传输管理方法、系统和装置,达到PCIe传输速率的最大化,从而具有更低的延时。第一方面,本专利技术提供了一种PCIe传输管理方法,其特征在于:包括:接受对PCIe传输的发送端和接收端各自的存储域与PCIe总线域的映射关系的配置;发送端设置每个buffer所保存的将要传输的数据包结构,数据包具有检索位、包大小和数据段;发送端在发送数据时,将传输数据按设置的包大小进行切割,并扫描本地多个buffer,直到获取第一个空闲buffer进行数据填充搬移,在buffer填充完成之后,查询总线状态,获取到总线空闲后,启动总线传输,并根据尾部标签来判断数据包是否传输完毕;接收端接收数据包后,根据每个数据包的检索位将各个数据包的数据段进行顺序拟合,保存在自己对应的buffer中。第二方面,本专利技术提供了一种PCIe传输管理系统,包括发送端和接收端;所述发送端接受对存储域与PCIe总线域的映射关系的配置;所述接收端接受对存储域与PCIe总线域的映射关系的配置;所述发送端设置每个buffer所保存的将要传输的数据包结构,数据包具有检索位、包大小和数据段;所述发送端在发送数据时,将传输数据按设置的包大小进行切割,并扫描本地多个buffer,直到获取第一个空闲buffer进行数据填充搬移,在buffer填充完成之后,查询总线状态,获取到总线空闲后,启动总线传输,并根据尾部标签来判断数据包是否传输完毕;所述接收端接收数据包后,根据每个数据包的检索位将各个数据包的数据段进行顺序拟合,保存在自己对应的buffer中。第三方面,本专利技术提供了一种PCIe传输管理装置,该装置为发送端,包括:映射配置模块,用于接受对存储域与PCIe总线域的映射关系的配置;数据包设置模块,用于发送端设置每个buffer所保存的将要传输的数据包结构,数据包具有检索位、包大小和数据段;传输模块,用于发送端在发送数据时,将传输数据按设置的包大小进行切割,并扫描本地多个buffer,直到获取第一个空闲buffer进行数据填充搬移,在buffer填充完成之后,查询总线状态,获取到总线空闲后,启动总线传输,并根据尾部标签来判断数据包是否传输完毕。第四方面,本专利技术提供了一种PCIe传输管理装置,该装置为接收端,包括:映射配置模块,用于接受对存储域与PCIe总线域的映射关系的配置;拟合模块,用于接收端接收数据包后,根据每个数据包的检索位将各个数据包的数据段进行顺序拟合,保存在自己对应的buffer中。判断模块,用于接收端通过一线程不断扫描数据起始标志位信息,若扫描到该数据起始标志位信息则判断已经正确接收数据序号和数据包大小的信息;再利用包大小来获取数据结束标志位进行扫描,若扫描到数据结束标志位则判断buffer已经接收完毕;清理模块,用于接收端将接收的数据取走后,清理对应buffer的数据起始标志位和数据结束标志位,并发送传输层数据包,回写至发送端对应的buffer,将发送端与之对应的检索位清理。本专利技术实施例中提供的方法、系统和装置,至少具有如下技术效果或优点:1、通过对PCIe传输的发送端和接收端各自的存储域与PCIe总线域的映射关系的配置,可以实现总线域地址与存储域地址的无序映射;从而可实现哪个buffer空闲,就先由哪个buffer先进行数据传输,无需顺序等待,大大提高传输效率从而降低了时延;2、通过设置发送端每个buffer所保存的将要传输的数据包结构,使数据包具有检索位,从而可作为接收端进行顺序拟合的依据,实现多个buffer的乱序管理;3、通过在数据包结构中设置包大小、数据起始标志位和数据结束标志位位信息,可以实现不同长短数据校验和完整性检查机制,保证数据成功传输;4、使用软件查询方式实现协议交互,不需要额外的硬件不依赖于板间的额外物理连接信号以及带内的vendor中断信号实现低延时处理;5、配置存储域与PCIe总线域的映射关系时可以支持动态地址映射,对buffer个数进行限制,既可支持异步传输也可支持同步传输,实现了高稳定低时延,易于迁移。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明下面参照附图结合实施例对本专利技术作进一步的说明。图1为本专利技术系统的框架示意图;图2为本专利技术实施例一中方法中的流程图;图3为本专利技术数据包的结构示意图;图4为本专利技术将传输数据按设置的包大小进行切割时的示意图;图5为本专利技术实施例二中装置为发送端时的结构示意图;图6为本专利技术实施例三中装置为接收端时的结构示意图。具体实施方式本申请实施例通过提供一种PCIe传输管理方法、系统和装置,达到PCIe传输速率的最大化,从而具有更低的延时。本申请实施例中的技术方案,总体思路如下:通过对PCIe传输的发送端和接收端各自的存储域与PCIe总线域的映射关系的配置,可以实现总线域地址与存储域地址的无序映射;从而可实现哪个buffer空闲,就先由哪个buffer先进行数据传输,无需顺序等待。在介绍具体实施例之前,先介绍本申请实施例方法所对应的系统框架,系统使用PCIe总线将多个SoC芯片级联起来,以实现PCIe链路层的连接,两个SoC芯片传输数据时,如图1所示,SoC芯片所在的设备根据传输数据过程承担的角色的不同,可分为两个部分:发送端,用于向接收端通过总线传输数据,如可以是RC(RootComplex,根组件);接收端,用于接收发送端通过总线传输来的数据,如可以是EP(endponint,会议终端)。发送端与接收端的链路连接可以认为是Host与slave的关系,二者角色可随机调换。双方的总线域地址与各自的存储域地址依赖于对各自的iATU单元进行无序映射,可以动态随机调整,也可以顺序一一映射。实施例一本实施例提供一种PCIe传输管理方法,如图2所示,包括:接受本文档来自技高网...

【技术保护点】
1.一种PCIe传输管理方法,其特征在于:包括:/n接受对PCIe传输的发送端和接收端各自的存储域与PCIe总线域的映射关系的配置;/n发送端设置每个buffer所保存的将要传输的数据包结构,数据包具有检索位、包大小和数据段;/n发送端在发送数据时,将传输数据按设置的包大小进行切割,并扫描本地多个buffer,直到获取第一个空闲buffer进行数据填充搬移,在buffer填充完成之后,查询总线状态,获取到总线空闲后,启动总线传输,并根据尾部标签来判断数据包是否传输完毕;/n接收端接收数据包后,根据每个数据包的检索位将各个数据包的数据段进行顺序拟合,保存在自己对应的buffer中。/n

【技术特征摘要】
1.一种PCIe传输管理方法,其特征在于:包括:
接受对PCIe传输的发送端和接收端各自的存储域与PCIe总线域的映射关系的配置;
发送端设置每个buffer所保存的将要传输的数据包结构,数据包具有检索位、包大小和数据段;
发送端在发送数据时,将传输数据按设置的包大小进行切割,并扫描本地多个buffer,直到获取第一个空闲buffer进行数据填充搬移,在buffer填充完成之后,查询总线状态,获取到总线空闲后,启动总线传输,并根据尾部标签来判断数据包是否传输完毕;
接收端接收数据包后,根据每个数据包的检索位将各个数据包的数据段进行顺序拟合,保存在自己对应的buffer中。


2.根据权利要求1所述的一种PCIe传输管理方法,其特征在于:
所述所述映射关系包括全无序映射,全顺序映射,以及部分无序部分顺序映射。


3.根据权利要求1所述的一种PCIe传输管理方法,其特征在于:所述数据包还具有数据起始标志位和数据结束标志位,检索位、包大小、数据起始标志位依序位于数据包的头部位置,数据结束标志位位于位于数据包的尾部位置,数据段位于数据起始标志位和数据结束标志位之间;
接收端通过一线程不断扫描数据起始标志位信息,若扫描到该数据起始标志位信息则判断已经正确接收数据序号和数据包大小的信息;再利用包大小来获取数据结束标志位进行扫描,若扫描到数据结束标志位则判断buffer已经接收完毕;
接收端将接收的数据取走后,清理对应buffer的数据起始标志位和数据结束标志位,并发送传输层数据包,回写至发送端对应的buffer,将发送端与之对应的检索位清理;发送端的用户态也有一个线程在每个buffer启动传输后,扫描本地的传输buffer中的检索位,一旦发现检索位被清理,表明接收端已经接收完成,则该Buffer重新提供给发送端的用户态进行传输。


4.根据权利要求1所述的一种PCIe传输管理方法,其特征在于:所述总线状态在非空闲之时,总线传输所需的配置预先设置好,以待空闲时能立刻执行总线传输。


5.一种PCIe传输管理系统,其特征在于:包括发送端和接收端;
所述发送端接受对存储域与PCIe总线域的映射关系的配置;
所述接收端接受对存储域与PCIe总线域的映射关系的配置;
所述发送端设置每个buffer所保存的将要传输的数据包结构,数据包具有检索位、包大小和数据段;
所述发送端在发送数据时,将传输数据按设置的包大小进行切割,并扫描本地多个buffer,直到获取第一个空闲buffer进行数据填充搬移,在buffer填充完成之后,查询总线状态,获取到总线空闲后,启动总线传输,并根据尾部标签来判断数据包是否传输完毕;
所述接收端接收数据包后,根据每个数据包的检索位将各个数据包的数据段进行顺序拟合,保存在自己对应的buffer中。


6.根据权利要求5所述的一种PCIe传输管理系统,其特征在于:
所述映射配置模块提供的可供选择的映射...

【专利技术属性】
技术研发人员:薛小明
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建;35

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

1