[发明专利]一种DMA传输的方法及控制部件在审
申请号: | 202211021951.8 | 申请日: | 2022-08-24 |
公开(公告)号: | CN115599718A | 公开(公告)日: | 2023-01-13 |
发明(设计)人: | 王玉巧;刘传杰;黄好城 | 申请(专利权)人: | 成都忆芯科技有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京众元弘策知识产权代理事务所(普通合伙) 11462 | 代理人: | 李超 |
地址: | 610000 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 dma 传输 方法 控制 部件 | ||
1.一种DMA传输的方法,其特征在于,包括:
为IO命令在DMA设备的缓存中分配连续的缓存空间,根据所述IO命令获取SGL,并根据SCL中每个描述符生成第一DMA命令,所述第一DMA命令用于描述从第一存储器空间向DMA设备缓存空间的DMA传输;
基于所述第一DMA命令发起第一DMA传输;
为所述IO命令分配一个或多个数据传输单元DTU,根据每个DTU生成DMA命令组,DMA命令组包括一个或多个第二DMA命令,第二DMA命令用于描述从缓存空间到第二存储器空间的DMA传输;
基于所述第二DMA命令发起第二DMA传输。
2.根据权利要求1所述的方法,其特征在于,根据SCL中每个描述符生成第一DMA命令,包括:
根据所述SCL中每个空洞描述符生成一个第一DMA命令;以及
根据所述SCL中每个数据块描述符生成一个第一DMA命令。
3.根据权利要求1或2所述的方法,其特征在于,为IO命令在DMA设备的缓存中分配连续的缓存空间,包括:
为每个第一DMA命令分配连续的DMA设备缓存空间。
4.根据权利要求3所述的方法,其特征在于,为SCL中相邻描述符所生成的第一DMA命令所分配的缓存空间是相邻的,且在后的描述符所生成的第一DMA命令所对应的缓存空间位于在前描述符所生成的第一DMA命令所对应的缓存空间之后。
5.根据权利要求2-4任一项所述的方法,其特征在于,
根据空洞描述符生成的第一DMA命令,要在该第一DMA命令所对应的DMA设备的缓存中填充无效数据,以使得能够把后续第一DMA命令所指示的数据写入正确的位置。
6.根据权利要求1-5任一项所述的方法,其特征在于,还包括:为IO命令在第二存储器中分配一个或多个容纳DTU的缓存。
7.根据权利要求6所述的方法,其特征在于,若从第二存储器中分配的一个或多个容纳DTU的缓存不连续,则所述缓存包括多个存储区域,且多个存储区域容量和为4KB。
8.根据权利要求7所述的方法,其特征在于,响应于容纳DTU的缓存不连续,根据每个DTU的每个存储区域生成一个第二DMA命令。
9.根据权利要求5-8任一项所述的方法,其特征在于,响应于基于第二DMA命令从DMA设备缓存空间中要读取的数据存在无效数据,在该第二DMA命令中还标记无效数据在DMA设备缓存空间中存储的范围。
10.一种控制部件,其特征在于,包括:SGL单元以及DMA设备;
所述SGL单元,响应于收到IO命令,为IO命令在DMA设备的缓存中分配连续的缓存空间,根据所述IO命令获取SGL,并根据SCL中每个描述符生成第一DMA命令,所述第一DMA命令用于描述从第一存储器空间向DMA设备缓存空间的DMA传输;以及
为所述IO命令分配一个或多个数据传输单元DTU,根据每个DTU生成DMA命令组,DMA命令组包括一个或多个第二DMA命令,第二DMA命令用于描述从缓存空间到第二存储器空间的DMA传输;
所述DMA设备基于所述第一DMA命令发起第一DMA传输;以及基于所述第二DMA命令发起第二DMA传输。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都忆芯科技有限公司,未经成都忆芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211021951.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于浮体拼组的连接组件及浮体拼组的连接方法
- 下一篇:一种绝热指数测量系统