[发明专利]一种Scatter-Gather DMA的数据传输方法及装置在审
申请号: | 201811244093.7 | 申请日: | 2018-10-24 |
公开(公告)号: | CN109491937A | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 赵瑞东;王朝晖;陈亮甫;贾国强 | 申请(专利权)人: | 山东超越数控电子股份有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 250104 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种SG DMA的数据传输方法,包括:以数组形式创建SG DMA数据传输链表一和链表二并且创建第一组缓冲区和第二组缓冲区;通过CPU将用户空间数据拷贝入第一组缓冲区、将链表一的地址写入IO设备;在启动SG DMA数据传输的同时通过CPU将用户空间数据拷贝入第二组缓冲区;创建中断处理程序,待SG DMA传输完成后,CPU接收SG DMA发送的传输完成中断指令将链表二的地址写入IO设备;依次循环直到用户空间数据完全写入IO设备内存位置。本发明还公开了一种SG DMA的数据传输装置。该方法和装置解决了CPU同DMA无法同时参与数据传输的问题,提高数据在DMA传输时的效率。 | ||
搜索关键词: | 缓冲区 链表 数据传输 用户空间 写入 数据拷贝 创建 数据传输装置 中断处理程序 方法和装置 传输完成 内存位置 数组形式 中断指令 发送 | ||
【主权项】:
1.一种SG DMA的数据传输方法,其特征在于,包括以下步骤:1)以数组形式创建SG DMA数据传输链表一和链表二并且在内核空间中创建第一组缓冲区和第二组缓冲区;2)通过CPU将用户空间数据拷贝入第一组缓冲区并将链表一的地址写入IO设备;3)启动SG DMA数据传输,并通过CPU将另外的用户空间数据拷贝入第二组缓冲区;4)待SG DMA传输完成后,CPU将链表二的地址写入IO设备;5)启动进一步的SG DMA数据传输,并通过CPU将进一步的用户空间数据拷贝入第一组缓冲区,待进一步的SG DMA传输完成后,CPU将链表一的地址写入IO设备并且重复步骤3)到5)直到用户空间数据完全写入IO设备内存位置。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子股份有限公司,未经山东超越数控电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811244093.7/,转载请声明来源钻瓜专利网。