数据传输装置和数据传输系统制造方法及图纸

技术编号:29162883 阅读:22 留言:0更新日期:2021-07-06 23:04
本申请提供一种数据传输装置和数据传输系统,装置包括:队列管理模块,连接主机,用于管理数据传输队列的状态信息,并接收主机发送的数据传输指令;描述符调度模块,连接所述队列管理模块,用于在接收到所述队列管理模块发出的数据传输通知信息后,调取所述数据传输指令中指定的目标队列的原始描述符;描述符构建模块,连接所述描述符调度模块,用于接收所述目标队列的原始描述符,并根据所述原始描述符和所述数据传输装置的当前可用存储容量,构建所述目标队列的子描述符;传输控制器,连接所述描述符构建模块,用于接收目标队列的子描述符,并基于子描述符传输所述目标队列中的数据。本申请实现了无需主机处理器监管情况下的大数据量传输。

【技术实现步骤摘要】
数据传输装置和数据传输系统
本申请涉及数据传输
,具体而言,涉及一种数据传输装置和数据传输系统。
技术介绍
FPGA(FieldProgrammableGateArray,现场可编程逻辑门阵列)是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。IP(IntelligentProperty)核是具有知识产权核的集成电路芯核总称,具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。基于IP的设计已成为目前FPGA设计的主流方法之一。DMA(DirectMemoryAccess,直接存储器访问)传输将数据从一个地址空间复制到另外一个地址空间。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实行和完成,不需要消耗额外的CPU资源。DMA传输对于高效能嵌入式系统及网络十分重要。对于普遍的DMA使用场景,主机内存数据通过PCIe(peripheralcomponentinterconnectexpress,高速串行计算机扩展总线标准)总线,由DMA控制器控制,传输至外设板卡,外设板卡如基于FPGA的、集成DMA控制器的各类通信卡、计算加速卡等。外设板卡存储资源相对有限,且数据处理带宽、延迟等性能指标通常会劣于PCIe总线,即DMA通道的输入端数据生产能力大于输出端数据消费能力。这种数据生产能力与消费能力的不匹配,使数据生产端必须在数据输送时根据消费端可用容量发起DMA传输,从而使大数据量的传输不断中断,并由数据生产端处理这种中断,不断发起小规模数据片段的DMA传输指令,造成生产端的压力及传输过程的低效。因此,基于DMA方式进行数据传输的场景,需要解决由于数据生产能力大于消费能力所导致的生产端压力及传输过程的低效问题。
技术实现思路
本申请实施例的目的在于提供一种数据传输装置和数据传输系统,将主机对于数据传输过程的跟踪控制卸载至外设的数据传输装置,实现无需主机处理器监管情况下的大数据量传输,有效解决大数据量传输场景下,数据生产能力大于消费能力所导致的传输过程的低效问题。本申请实施例第一方面提供了一种数据传输装置,包括:队列管理模块,连接主机,用于管理数据传输队列的状态信息,并接收主机发送的数据传输指令;描述符调度模块,连接所述队列管理模块,用于在接收到所述队列管理模块发出的数据传输通知信息后,调取所述数据传输指令中指定的目标队列的原始描述符;描述符构建模块,连接所述描述符调度模块,用于接收所述目标队列的原始描述符,并根据所述原始描述符和所述数据传输装置的当前可用存储容量,构建所述目标队列的子描述符;传输控制器,连接所述描述符构建模块,用于接收所述目标队列的子描述符,并基于所述子描述符传输所述目标队列中的数据。于一实施例中,还包括:传输完成控制模块,分别连接所述描述符构建模块和所述主机,用于在接收到来自所述描述符构建模块的数据传输完成信息后,将所述目标队列的传输完成信息反馈至所述主机。于一实施例中,所述队列管理模块包括:操作队列,连接所述主机,用于存储从所述主机获取的所述传输队列的状态信息;操作流水线,连接所述操作队列,用于以流水线方式访问所述传输队列的状态信息。于一实施例中,所述传输队列的状态信息包括:每个传输队列的队列号、队列地址、激活状态、队列尺寸、生产者指针、消费者指针和下一次出队的描述符序号中的一个或多个。于一实施例中,所述描述符调度模块,包括:调度器,分别连接所述主机和所述队列管理模块,用于接收所述队列管理模块的数据传输通知信息,并从所述主机中获取配置的调度策略和调度信息表,根据所述调度策略和所述调度信息表中选定需要出队的所述目标队列,并发送针对所述目标队列的出队操作请求至所述队列管理模块;元数据队列,连接所述队列管理模块,用于接收所述队列管理模块根据所述出队操作请求传输的所述目标队列的描述符元数据;存取单元,分别连接所述元数据队列和所述主机,用于从所述元数据队列接收所述目标队列的元数据,并根据所述目标队列的元数据从所述主机获取所述目标队列的原始描述符。于一实施例中,所述描述符构建模块包括:描述符队列,连接所述描述符调度模块,用于接收所述目标队列的原始描述符;构建单元,连接所述描述符队列,用于获取所述目标队列的原始描述符,查询所述数据传输装置的当前可用存储容量和存储空间物理地址,并根据所述原始描述符、所述当前可用存储容量和所述存储空间物理地址,构建所述目标队列的子描述符;下发单元,分别连接所述构建单元和所述传输控制器,用于发送所述目标队列的子描述符至所述传输控制器。于一实施例中,所述描述符构建模块还包括:更新单元,分别连接所述构建单元和所述下发单元,用于基于所述下发单元的传输完成信息,更新已完成传输的数据长度,并发送反馈信息至所述构建单元。于一实施例中,所述根据所述原始描述符、所述当前可用存储容量和所述存储空间物理地址,构建所述目标队列的子描述符,包括:将所述原始描述符记录的数据总长度减去已完成传输的数据长度,得到第一数据长度,并取所述当前可用存储容量与所述第一数据长度的值最小者作为待传输数据长度;将所述原始描述符中记录的内存物理地址加上已完成传输的数据的内存物理地址,得到所述子描述符的源数据地址,并将所述存储空间物理地址作为所述子描述符的目的地址,结合所述原始描述符的元数据,构建所述子描述符。于一实施例中,所述传输完成控制模块,包括:状态管理单元,连接所述描述符构建模块,用于记录所述目标队列的传输完成状态信息;发送单元,分别连接所述状态管理单元和所述主机,用于发送所述传输完成状态信息至所述主机。本申请实施例第二方面提供了一种数据传输系统,包括:主机和如本申请实施例第一方面及其任一实施例的数据传输装置;其中,所述主机包括:存储器和处理器,所述主机上安装有驱动程序,所述处理器用于执行所述驱动程序,以驱动所述数据传输装置运行;所述主机还包括:传输驱动模块,连接所述数据传输装置,用于向所述数据传输装置发起数据传输指令。本申请提供的数据传输装置和数据传输系统,通过将数据传输装置集成到外设板卡,与板卡存储空间进行交互,通过跟踪可用存储空间状态,自适应构建目标队列的子描述符,进而根据子描述符进行数据传输。实现了将主机处理器对于数据传输过程的跟踪控制卸载至外设板卡,实现无需主机处理器监管情况下的大数据量传输,有效解决大数据量传输场景下,数据生产能力大于消费能力所导致的传输过程的低效问题。附图说明为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1为本申请一实施例的数据传输系统的结构示意图;图2为本申请一实施例的数据传输装置的队列管理模块结构示意图;图3为本申请一实施例本文档来自技高网
...

【技术保护点】
1.一种数据传输装置,其特征在于,包括:/n队列管理模块,连接主机,用于管理数据传输队列的状态信息,并接收主机发送的数据传输指令;/n描述符调度模块,连接所述队列管理模块,用于在接收到所述队列管理模块发出的数据传输通知信息后,调取所述数据传输指令中指定的目标队列的原始描述符;/n描述符构建模块,连接所述描述符调度模块,用于接收所述目标队列的原始描述符,并根据所述原始描述符和所述数据传输装置的当前可用存储容量,构建所述目标队列的子描述符;/n传输控制器,连接所述描述符构建模块,用于接收所述目标队列的子描述符,并基于所述子描述符传输所述目标队列中的数据。/n

【技术特征摘要】
1.一种数据传输装置,其特征在于,包括:
队列管理模块,连接主机,用于管理数据传输队列的状态信息,并接收主机发送的数据传输指令;
描述符调度模块,连接所述队列管理模块,用于在接收到所述队列管理模块发出的数据传输通知信息后,调取所述数据传输指令中指定的目标队列的原始描述符;
描述符构建模块,连接所述描述符调度模块,用于接收所述目标队列的原始描述符,并根据所述原始描述符和所述数据传输装置的当前可用存储容量,构建所述目标队列的子描述符;
传输控制器,连接所述描述符构建模块,用于接收所述目标队列的子描述符,并基于所述子描述符传输所述目标队列中的数据。


2.根据权利要求1所述的数据传输装置,其特征在于,还包括:
传输完成控制模块,分别连接所述描述符构建模块和所述主机,用于在接收到来自所述描述符构建模块的数据传输完成信息后,将所述目标队列的传输完成信息反馈至所述主机。


3.根据权利要求1所述的数据传输装置,其特征在于,所述队列管理模块包括:
操作队列,连接所述主机,用于存储从所述主机获取的所述传输队列的状态信息;
操作流水线,连接所述操作队列,用于以流水线方式访问所述传输队列的状态信息。


4.根据权利要求3所述的数据传输装置,其特征在于,所述传输队列的状态信息包括:每个传输队列的队列号、队列地址、激活状态、队列尺寸、生产者指针、消费者指针和下一次出队的描述符序号中的一个或多个。


5.根据权利要求1所述的数据传输装置,其特征在于,所述描述符调度模块,包括:
调度器,分别连接所述主机和所述队列管理模块,用于接收所述队列管理模块的数据传输通知信息,并从所述主机中获取配置的调度策略和调度信息表,根据所述调度策略和所述调度信息表中选定需要出队的所述目标队列,并发送针对所述目标队列的出队操作请求至所述队列管理模块;
元数据队列,连接所述队列管理模块,用于接收所述队列管理模块根据所述出队操作请求传输的所述目标队列的描述符元数据;
存取单元,分别连接所述元数据队列和所述主机,用于从所述元数据队列接收所述目标队列的元数据,并根据所述目标队列的元数据从所述主机获取所述目标队列的原始描...

【专利技术属性】
技术研发人员:周思远杨阳周春云王舒鹏李镇
申请(专利权)人:扬州万方电子技术有限责任公司
类型:发明
国别省市:江苏;32

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

1