一种主机与设备之间的数据传输方法、装置、系统及介质制造方法及图纸

技术编号:32165616 阅读:55 留言:0更新日期:2022-02-08 15:19
本发明专利技术公开了本发明专利技术实施例提供了一种主机与设备之间的数据传输方法、装置、系统及计算机可读存储介质,该方法包括:预先通过驱动配置内存池及获取内存页的映射关系,记录用户态地址与内核态地址的对应关系;当产生用户业务数据时,将用户业务数据填充至内存池;通过驱动根据当前用户态地址从所记录的用户态地址与内核态地址的对应关系中匹配出对应的目标内核态地址;将目标内核态地址作为DMA的源地址、将用户输入的设备地址作为DMA的目的地址,以便DMA将用户业务数据发送至设备地址对应的设备;本发明专利技术在使用过程中能够有效避免临时调用函数获取内存条的映射导致的时间不确定性,从而减少数据传输抖动的产生,提高数据传输的稳定性。传输的稳定性。传输的稳定性。

【技术实现步骤摘要】
一种主机与设备之间的数据传输方法、装置、系统及介质


[0001]本专利技术涉及计算机
,特别是涉及主机与设备之间的数据传输方法、装置、系统及计算机可读存储介质。

技术介绍

[0002]在主机+设备的系统中,当主机需要和设备进行数据交换时,通常有两种方法:1、直接的io访问;2、dma传输,其中dma传输不会占用CPU的时间,有利于提高CPU的利用率和提高数据传输效率,在数据批量传输时会使用。
[0003]以主机向设备发送数据为例,目前相对成熟的做法是:由用户态申请地址,将数据填充后通过linux系统调用,在驱动中发送数据。Dma使用的地址需要是物理地址,不能够直接使用用户态申请的地址,因此驱动需要先通过get_user_pages获取内存页的映射关系,确定出物理地址,再将物理地址发送至dma进行数据传输。
[0004]但是,由于get_user_pages函数执行的时间并不确定,根据系统当前内存使用情况会出现一定程度上的波动,这种波动在应用上会影响到数据传输的稳定性。
[0005]鉴于此,如何提供一种解决上述技术问本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种主机与设备之间的数据传输方法,其特征在于,包括:预先通过驱动配置内存池及获取内存页的映射关系,记录用户态地址与内核态地址的对应关系;当产生用户业务数据时,将所述用户业务数据填充至所述内存池;通过所述驱动根据当前用户态地址从所记录的用户态地址与内核态地址的对应关系中匹配出对应的目标内核态地址;将所述目标内核态地址作为DMA的源地址、将用户输入的设备地址作为所述DMA的目的地址,以便所述DMA将所述用户业务数据发送至所述设备地址对应的设备。2.根据权利要求1所述的主机与设备之间的数据传输方法,其特征在于,还包括:当接收到用户输入的读取数据请求时,所述读取数据请求包括设备地址通过所述驱动根据当前用户态地址从所记录的用户态地址与内核态地址的对应关系中匹配出对应的目标内核态地址;将所述目标内核态地址作为DMA的目的地址,将所述设备地址作为所述DMA的源地址,并启动所述DMA,以便所述DMA从设备对应的设备地址中搬运目标数据至所述内存池;从所述内存池将所述目标数据搬运至与所述目标内核态地址对应的内存上。3.根据权利要求1或2所述的主机与设备之间的数据传输方法,其特征在于,在从所记录的用户态地址与内核态地址的对应关系中不存在与所述当前用户态地址对应的目标内核态地址时,还包括:通过所述驱动调用所述get_user_pages函数临时获取所述内存页的映射关系;从所述映射关系中匹配出与所述当前用户态地址对应的目标内核态地址。4.根据权利要求3所述的主机与设备之间的数据传输方法,其特征在于,在所述通过所述驱动根据当前用户态地址从所记录的用户态地址与内核态地址的对应关系中匹配出对应的目标内核态地址之后,还包括:添加内存池使用标记。5.根据权利要求4所述的主机与设备之间的数据传输方法,其特征...

【专利技术属性】
技术研发人员:徐亚明李仁刚刘伟张德闪
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1