System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于PCIe的数据传输方法、装置和系统制造方法及图纸_技高网

一种基于PCIe的数据传输方法、装置和系统制造方法及图纸

技术编号:40438573 阅读:4 留言:0更新日期:2024-02-22 23:02
本发明专利技术提供一种基于PCIe的数据传输方法、装置和系统,该方法在设备端执行,设备端的多个端口由主机端的驱动器进行识别以匹配对应的数据缓冲区,该方法包括:将数据包分段为数据小包,描述符生成器根据数据小包生成描述符,描述符仲裁轮询每个端口对应的通道以检测描述符,将检测到的待处理的描述符传递至DMA控制器生成控制信息发送至数据抓取器和数据发送器,数据抓取器从对应通道读取数据小包,并将其传递至数据发送器,数据发送器将数据小包发送至主机端的数据缓冲区以供驱动器对数据进行处理。本发明专利技术能够简化传输流程并降低数据传输时延。

【技术实现步骤摘要】

本专利技术涉及计算机通信,尤其涉及一种基于pcie的数据传输方法、装置和系统。


技术介绍

1、随着金融证券、数据中心、5g行业等行业对网络的延时要求的不断提高,传统网卡已经不能够满足业务处理的要求,所以需要对网络延时有特殊优化的网卡来加速行业业务的处理。

2、dma(直接内存访问)技术允许外部设备直接访问计算机的内存,而无需通过中央处理单元(cpu)的干预,能够提高数据传输的效率,降低延迟,减轻cpu的负担,使其能够执行其他任务,提高计算机系统的整体效率。

3、传统的dma中,host根据数据传输需求产生描述符信息并通知到设备,设备从host内存指定位置抓取描述符信息,dma控制器根据描述符信息提供的目的地址、源地址以及长度等信息在host内存与设备间搬运数据。

4、相较于传统的dma,低延时dma主要通过两个方向来降低数据传输过程中的延时:一种是简化或者优化dma传输流程中的步骤,像host直接把描述符通过pio放到设备中指定位置;另一种是降低数据在内存中的拷贝次数来实现,比如零拷贝技术。其中,c2h方向的dma需要host去预填充描述符,并告知设备数据如何组织并发送到host端的内存中指定位置。加上多个端口通道接收的网络包都需要通过这种方式来把网络数据包放到对应内存的位置,无疑使得数据包延时相对较大,还容易产生较大的抖动。在业务量比较多时,会因为无法及时对网络包进行处理从而导致丢包的现象。


技术实现思路

1、鉴于此,本专利技术实施例提供了一种基于pcie的数据传输方法、装置和系统,以消除或改善现有技术中存在的一个或更多个缺陷。

2、本专利技术的一个方面提供了一种基于pcie的数据传输方法,所述方法用于在设备端执行,所述设备端的多个端口由主机端的驱动器识别并配置使能,每个端口分别匹配所述主机端预申请的一个数据缓冲区,该方法包括以下步骤:

3、将每个端口待发送的数据包按照预设规则分段得到数据小包,调用描述符生成器根据所述数据小包生成描述符;

4、调用所述描述符仲裁器轮询每个端口对应的通道以检测和获取所述描述符,将检测到的所述描述符传至dma控制器;

5、调用所述dma控制器向数据抓取器和数据发送器发送控制信息,指令所述数据抓取器从对应的通道读取所述数据小包,并将转发至所述数据发送器;

6、调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合。

7、在本专利技术的一些实施例中,还包括:

8、所述数据发送器向所述dma控制器发送反馈信息,并将所述反馈信息传至所述描述符仲裁器;

9、所述描述符仲裁器收到所述反馈信息,继续轮询各通道以获取下一个所述描述符。

10、在本专利技术的一些实施例中,所述数据小包包括数据字段和标签字段;所述数据字段包括有效数据信息;所述标签字段包括数据包id、时间戳、有效数据的长度、包统计和硬件状态信息。

11、在本专利技术的一些实施例中,调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合,还包括:

12、所述数据发送器向所述主机端发送中断信息,所述驱动器根据所述中断信息对所述数据缓冲区中所述数据小包进行逐个读取并聚合。

13、在本专利技术的一些实施例中,所述主机端采用默认中断或中断聚合的方式触发中断。

14、在本专利技术的一些实施例中,调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合,还包括:

15、所述驱动器轮询所述数据缓冲区以获取所述数据小包,并对所述数据缓冲区中所述数据小包进行逐个读取并聚合。

16、在本专利技术的一些实施例中,调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合,还包括:

17、所述数据发送器将所述数据小包按预设顺序放置到所述数据缓冲区中的连续基本单元中;

18、所述驱动器对所述数据缓冲区中所述数据小包进行处理时,按顺序将其逐个取出并进行偏移处理。

19、本专利技术的另一方面提供了一种基于pcie的数据传输装置,该装置包括:多个端口、描述符生成器、描述符仲裁器、dma控制器、数据抓取器和数据发送器;

20、所述描述符生成器用于根据数据小包生成描述符;

21、所述描述符仲裁器用于每个端口对应的通道以检测和获取所述描述符,将检测到的所述描述符传至dma控制器;

22、所述dma控制器用于向所述数据抓取器和所述数据发送器发送控制信息,指令所述数据抓取器从对应的通道读取所述数据小包,并将转发至所述数据发送器;

23、所述数据抓取器用于根据所述控制信息从对应通道读取所述数据小包,并将所述数据小包传至所述数据发送器;

24、所述数据发送器用于将所述数据小包发送到主机端,并存储至与该数据小包对应端口匹配的数据缓冲区,以供驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合。

25、本专利技术的另一方面提供了一种基于pcie的数据传输系统,包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如上述任一项方法的步骤。

26、本专利技术的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如上述任一项方法的步骤。

27、本专利技术的有益效果至少包括:

28、本专利技术提供一种基于pcie的数据传输方法、装置和系统,该方法在设备端执行,设备端的多个端口由主机端的驱动器进行识别以匹配对应的数据缓冲区,在设备端将数据包分段为数据小包,调用描述符生成器根据数据小包生成描述符,调用描述符仲裁轮询每个端口对应的通道以检测描述符,并将描述符传递至dma控制器生成控制信息发送至数据抓取器和数据发送器,数据抓取器从对应通道读取数据小包,并将其传递至数据发送器,数据发送器将数据小包发送至主机端的数据缓冲区以供驱动器对数据进行处理。本专利技术的方法不需要主机端生成描述符,减少了主机端在dma流程中的操作步骤,简化传输流程,降低了dma的时延,提高了系统的整体效率。结合数据小包和描述符的公平轮询机制,避免了大包数据或高优先级通道数据对pcie的独占。将整个数据包分段为数据小包的操作,使得整个数据包在设备端被接收完成前就能够以数据小包为单元传输,可以实现了流水式传输,避免了数据积压,从而降低了pcie总线以及整个处理器系统在某一时间点的负载压力,提高了本文档来自技高网...

【技术保护点】

1.一种基于PCIe的数据传输方法,其特征在于,所述方法用于在设备端执行,所述设备端的多个端口由主机端的驱动器识别并配置使能,每个端口分别匹配所述主机端预申请的一个数据缓冲区,该方法包括以下步骤:

2.根据权利要求1所述的基于PCIe的数据传输方法,其特征在于,还包括:

3.根据权利要求1所述的基于PCIe的数据传输方法,其特征在于,所述数据小包包括数据字段和标签字段;所述数据字段包括有效数据信息;所述标签字段包括数据包ID、时间戳、有效数据的长度、包统计和硬件状态信息。

4.根据权利要求1所述的基于PCIe的数据传输方法,其特征在于,调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合,还包括:

5.根据权利要求4所述的基于PCIe的数据传输方法,其特征在于,所述主机端采用默认中断或中断聚合的方式触发中断。

6.根据权利要求1所述的基于PCIe的数据传输方法,其特征在于,调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合,还包括:

7.根据权利要求1所述的基于PCIe的数据传输方法,其特征在于,调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合,还包括:

8.一种基于PCIe的数据传输装置,其特征在于,所述装置包括:多个端口、描述符生成器、描述符仲裁器、DMA控制器、数据抓取器和数据发送器;

9.一种基于PCIe的数据传输系统,包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。

...

【技术特征摘要】

1.一种基于pcie的数据传输方法,其特征在于,所述方法用于在设备端执行,所述设备端的多个端口由主机端的驱动器识别并配置使能,每个端口分别匹配所述主机端预申请的一个数据缓冲区,该方法包括以下步骤:

2.根据权利要求1所述的基于pcie的数据传输方法,其特征在于,还包括:

3.根据权利要求1所述的基于pcie的数据传输方法,其特征在于,所述数据小包包括数据字段和标签字段;所述数据字段包括有效数据信息;所述标签字段包括数据包id、时间戳、有效数据的长度、包统计和硬件状态信息。

4.根据权利要求1所述的基于pcie的数据传输方法,其特征在于,调用所述数据发送器将所述数据小包发送到所述主机端,并存储至与该数据小包对应端口匹配的所述数据缓冲区,以供所述驱动器对所述数据缓冲区中所述数据小包进行逐个读取并聚合,还包括:

5.根据权利要求4所述的基于pcie的数据传输方法,其特征在于,所述主机端采用默认中断或中断聚合的方式触发中断。

6.根据权利要求1所述的基于pcie的数据传输方法,其特征在于,调...

【专利技术属性】
技术研发人员:秦向东
申请(专利权)人:中科驭数北京科技有限公司
类型:发明
国别省市:

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

1