【技术实现步骤摘要】
一种低延迟PCIEDMA数据传输方法及控制器
本专利技术属于直接内存存取(DMA,DirectMemoryAccess)技术,尤其涉及一种低延迟PCIEDMA数据传输方法和控制器。
技术介绍
DMA控制器可以将数据从一个地址空间搬移到另外一个地址空间,传输动作本身是由DMA控制器来实行和完成的。传统的DMA操作,是当有数据需要传送时,发送设备通知接收设备去读取数据,见图1,具体如下:1.发送设备在自己的地址空间建立一个环形的控制符队列。2.当有数据要传输时,把控制符放入缓冲队列,控制符包含数据的位置和长度信息。3.发送设备通知接收设备缓冲队列有新控制符。4.接收设备向发送设备读控制符。5.接收设备向发送设备读数据。6.接收设备通知发送设备传输完成。在上述操作中,涉及多个PCIE写和读操作,由于PCIE总线的读操作延迟较长(ms级别),完成整个操作的时延很长。在一些对时延要求更高的应用中,需要更低延迟的DMA传输方案。
技术实现思路
为了克服现有技术中 ...
【技术保护点】
1.一种低延迟PCIE DMA数据传输方法,包括发起设备和接收设备,所述接收设备的PCIE地址空间上映射一个数据窗口和一个控制窗口,数据窗口是接收设备上一段地址连续的PCIE内存空间,控制窗口是接收设备上一段地址连续的PCIE内存空间;所述发起设备和接收设备之间数据传输步骤包括:/nS1、发起设备检查数据窗口状态,如果有足够空间,写数据到数据窗口;/nS2、发起设备检查控制窗口状态,如果有足够空间,写控制符到控制窗口;/nS3、接收设备监控控制窗口的写入操作,读取控制符并处理传送的数据;/nS4、接收设备在处理完控制符后,向发起设备发出释放控制窗口空间的通知;/nS5、接收 ...
【技术特征摘要】
1.一种低延迟PCIEDMA数据传输方法,包括发起设备和接收设备,所述接收设备的PCIE地址空间上映射一个数据窗口和一个控制窗口,数据窗口是接收设备上一段地址连续的PCIE内存空间,控制窗口是接收设备上一段地址连续的PCIE内存空间;所述发起设备和接收设备之间数据传输步骤包括:
S1、发起设备检查数据窗口状态,如果有足够空间,写数据到数据窗口;
S2、发起设备检查控制窗口状态,如果有足够空间,写控制符到控制窗口;
S3、接收设备监控控制窗口的写入操作,读取控制符并处理传送的数据;
S4、接收设备在处理完控制符后,向发起设备发出释放控制窗口空间的通知;
S5、接收设备在处理完数据后,向发起设备发出释放数据窗口空间的通知。
S6、发起设备根据收到的释放窗口空间的通知来更新数据窗口状态和控制窗口状态。
2.根据权利要求1所述的一种低延迟PCIEDMA数据传输方法,其特征在于:所述发起设备在数据窗口和控制窗口有剩余空间的前提下,可以连续发起多个数据块传输。
3.根据权利要求1所述的一种低延迟PCIEDMA数据传输方法,其特征在于:步骤S1中所述发起设备按照地址顺序把数据写入接收设备的数据窗口时,数据窗口可以同时容纳多块数据块。
4.根据权利要求1所述的一种低延迟PCIEDMA数据传输方法,其特征在于:步骤S2中一个控制符对应一块写入数据窗口的连续数据,控制符包括相关数据在数据窗口的位置和长度,以及相关数据的其它信息,所述发起设备把控制符按照地址顺序写入接收设备的控制窗口,控制窗口可以同时容纳多个控制符。
5.根据权利要求1所述的一种低延迟PCIEDMA数据传输方法,其特征在于:步骤S3中所述接收设备比较每个收到的PCIEwriteTLP地址,如果写地址在控制窗口范围内,则记录该控制符;所述接收设备根据收到控制符的顺序来依次处理相关数据。
6.根...
【专利技术属性】
技术研发人员:张宇弘,
申请(专利权)人:杭州熠芯科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。