[发明专利]一种低延迟PCIE DMA数据传输方法及控制器有效
申请号: | 201911403225.0 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111221757B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 张宇弘 | 申请(专利权)人: | 杭州熠芯科技有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28;G06F13/42 |
代理公司: | 浙江千克知识产权代理有限公司 33246 | 代理人: | 赵芳;张瑜 |
地址: | 310000 浙江省杭州市西*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 延迟 pcie dma 数据传输 方法 控制器 | ||
本发明提供了一种低延迟PCIE DMA数据传输方法及控制器,其中一种低延迟PCIE DMA数据传输方法,包括发起设备和接收设备,在接收设备的PCIE地址空间上映射一个数据窗口和一个控制窗口,数据传输步骤包括:S1、发起设备检查数据窗口状态,如果有足够空间,写数据到数据窗口;S2、发起设备检查控制窗口状态,如果有足够空间,写控制符到控制窗口;S3、接收设备监控控制窗口的写入操作,读取控制符并处理传送的数据;S4、接收设备在处理完控制符后,向发起设备发出释放控制窗口空间的通知;S5、接收设备在处理完数据后,向发起设备发出释放数据窗口空间的通知。S6、发起设备根据收到的释放窗口空间的通知来更新数据窗口状态和控制窗口状态。
技术领域
本发明属于直接内存存取(DMA,Direct Memory Access)技术,尤其涉及一种低延迟PCIE DMA数据传输方法和控制器。
背景技术
DMA控制器可以将数据从一个地址空间搬移到另外一个地址空间,传输动作本身是由DMA控制器来实行和完成的。传统的DMA操作,是当有数据需要传送时,发送设备通知接收设备去读取数据,见图1,具体如下:
1.发送设备在自己的地址空间建立一个环形的控制符队列。
2.当有数据要传输时,把控制符放入缓冲队列,控制符包含数据的位置和长度信息。
3.发送设备通知接收设备缓冲队列有新控制符。
4.接收设备向发送设备读控制符。
5.接收设备向发送设备读数据。
6.接收设备通知发送设备传输完成。
在上述操作中,涉及多个PCIE写和读操作,由于PCIE总线的读操作延迟较长(ms级别),完成整个操作的时延很长。在一些对时延要求更高的应用中,需要更低延迟的DMA传输方案。
发明内容
为了克服现有技术中存在的不足,本发明在于提供了一种避免了延时较长的PCIE读操作,简化了发送和接收设备间的交互,并减少了PCIE总线上TLP数目的低延迟PCIE DMA数据传输方法。
本发明还提供了一种实现单向传输、同时管理多个数据窗口和控制窗口的低延迟PCIE DMA控制器。
本发明采用的技术方案是:
一种低延迟PCIE DMA数据传输方法,包括发起设备和接收设备,所述接收设备的PCIE地址空间上映射一个数据窗口和一个控制窗口,数据窗口是接收设备上一段地址连续的PCIE内存空间,控制窗口是接收设备上一段地址连续的PCIE内存空间;所述发起设备和接收设备之间数据传输步骤包括:
S1、发起设备检查数据窗口状态,如果有足够空间,写数据到数据窗口;
S2、发起设备检查控制窗口状态,如果有足够空间,写控制符到控制窗口;
S3、接收设备监控控制窗口的写入操作,读取控制符并处理传送的数据;
S4、接收设备在处理完控制符后,向发起设备发出释放控制窗口空间的通知;
S5、接收设备在处理完数据后,向发起设备发出释放数据窗口空间的通知。
S6、发起设备根据收到的释放窗口空间的通知来更新数据窗口状态和控制窗口状态。本发明把数据传输方式从接收设备读取数据改为发送设备主动推送的方式,避免了延时较长的PCIE读操作,简化了发送和接收设备间的交互,并减少了PCIE总线上TLP数目。
进一步,所述发起设备在数据窗口和控制窗口有剩余空间的前提下,可以连续发起多个数据块传输,实现流水线操作,不需要等到前一个数据块传输完成才开始下一个数据块的传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州熠芯科技有限公司,未经杭州熠芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911403225.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于声纹和神经网络的变压器高有功值预测方法
- 下一篇:一种闭环电机控制器