[发明专利]一种实现DMA数据传输的方法及装置有效

专利信息
申请号: 200910041976.2 申请日: 2009-08-20
公开(公告)号: CN101634975A 公开(公告)日: 2010-01-27
发明(设计)人: 赵群英;田启金 申请(专利权)人: 广东威创视讯科技股份有限公司
主分类号: G06F13/28 分类号: G06F13/28;G06F9/48
代理公司: 广州市华学知识产权代理有限公司 代理人: 李卫东;黄 磊
地址: 510663广东省广*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 实现 dma 数据传输 方法 装置
【说明书】:

技术领域

发明涉及一种不影响设备普通I/O读写操作快速实现的海量数据DirectMemory Access(直接存储器访问,以下简称DMA)传输的方法及装置。

背景技术

在含有中央处理器(以下简称CPU)的系统中,为了提高系统数据传输效率,在进行外设与存储器之间大量数据传输操作时,通常通过PCIE接口,采用DMA方式实现对海量数据的快速传输操作。DMA操作主要通过DMA控制器来实现,DMA控制器在传输数据时,通过硬件逻辑电路用固定顺序发地址和读/写信号来实现高速数据传输;在此过程中,数据不经过CPU而是直接在外设与存储器之间传输。

在现有技术中,在DMA数据传输过程中,DMA控制器占有PCIE总线,CPU对设备进行I/O读写操作。由于在DMA传输数据过程中PCIE总线被DMA控制器占有,所以该情况下是不能对设备进行I/O读写操作的,否则会造成系统死机或者崩溃。在设备DMA传输过程中,如果需要进行I/O读写操作,目前的方法是等待DMA传输完成,释放总线控制权,CPU获取总线控制权后再完成I/O读写操作。目前的这种方法在DMA传输数据量大的情况下,I/O读写操作时间延迟将会非常严重。例如总线传输速度为100兆字节/秒,一次DMA传输为10兆字节数据,完成该次DMA操作时间约100毫秒,假设在DMA刚启动时应用程序需要对设备进行一次I/O读写操作,本次I/O读写操作必须等待本次DMA完成再进行,延迟时间至少100毫秒。在高速采集系统中,延时100毫秒是非常严重的,所以解决或改善这个问题有深远的现实意义。

发明内容

本发明的目的主要是解决上述现有技术所存在的问题,提供一种实现DMA数据传输的方法及装置,在海量数据DMA过程中仍然能对设备进行快速的I/O读写操作。

本发明采用如下技术方案实现上述目的:实现DMA数据传输的方法,其传输过程为:DMA传输模块把DMA请求传输的总数据分割成若干个DMA传输单元后再通过通用DMA控制器逐个传输;每一DMA传输单元的传输完成后通用DMA控制器发送一个中断给DMA传输模块,然后DMA传输模块获取中断并累计DMA传输数据量大小,同时中断处理模块查询是否存在I/O读写操作请求,若有则响应I/O读写请求,等I/O读写操作完成后清除中断标识,若无I/O读写操作请求则中断处理模块直接清除中断标识;中断标识清除后启动下一个DMA传输单元的传输,直至DMA请求传输的总数据传输完成。

具体地,上述实现DMA数据传输的方法包括如下步骤:

步骤1:DMA传输控制模块收到DMA传输请求并根据DMA传输请求把发起DMA操作的源地址、目标地址、DMA传输的总大小和每个DMA传输单元的大小发送到DMA传输模块,同时设置每个DMA传输单元的大小;

步骤2:DMA传输模块根据设定好的每个DMA传输单元传输数据的大小把DMA请求传输的总数据请求分成一个或多个DMA传输单元;

步骤3:DMA传输模块根据顺序依次把各个DMA传输单元发送给通用DMA控制器进行DMA传输操作;同时I/O操作控制模块在DMA数据传输过程中,收到I/O读写操作请求,则把该I/O读写操作请求放入I/O队列中;

步骤4:通用DMA控制器每完成一个DMA传输单元的传输就会发送一个中断给DMA传输模块;DMA传输模块收到此中断后,判断DMA请求传输的总数据是否传输结束,并修改DMA传输模块的DMA参数寄存器里所存储的已完成数据传输数量,产生一个中断给中断处理模块;

步骤5:中断处理模块接收到DMA传输模块发送的中断后,若DMA请求传输的总数据没有传输完成则查询I/O队列,如果存在I/O读写操作请求,则I/O读写操作控制模块把I/O队列的I/O读写操作请求发送给I/O读写操作模块,等待I/O读写操作完成后,中断处理模块清除DMA中断标识,执行步骤6;如果无I/O读写操作请求,则中断处理模块直接清除DMA中断标识,执行步骤6;若DMA请求传输的总数据已经传输完成,清除DMA中断标识,DMA数据传输结束;

步骤6:DMA传输模块等待DMA中断标识被清除,当中断标识被清除后,则启动下一个DMA传输单元的传输,执行步骤7;

步骤7:执行步骤3、步骤4、步骤5、步骤6,直到DMA请求传输的总数据传输完成,结束。

优选地,步骤1所述DMA传输单元的大小按下面的方法计算:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东威创视讯科技股份有限公司,未经广东威创视讯科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910041976.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top