[发明专利]提升多通道DMA访问性能的动态缓存块管理方法和装置有效
申请号: | 201811140592.1 | 申请日: | 2018-09-28 |
公开(公告)号: | CN109388590B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 闫华;吴道广;何晶晶;瞿崇晓 | 申请(专利权)人: | 中国电子科技集团公司第五十二研究所 |
主分类号: | G06F12/0877 | 分类号: | G06F12/0877;G06F9/54 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 杨天娇 |
地址: | 311121*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提升 通道 dma 访问 性能 动态 缓存 管理 方法 装置 | ||
1.一种提升多通道DMA访问性能的动态缓存块管理方法,其特征在于,所述提升多通道DMA访问性能的动态缓存块管理方法包括:
预先通过驱动提供多个缓存块,各缓存块进行唯一编号,并将编号构建形成缓存块编号表;
在数据操作时,随机选择写通道接收数据,通过hash算法从缓存块编号表中查询空闲的缓存块编号,将查询所得的缓存块编号写入FIFO队列,同时更新对应的缓存块编号的状态为已使用,其中每个写通道申请有独立的FIFO队列;
发起DMA操作,将写通道中的数据写入空闲的缓存块中;
随机选择读通道,从FIFO队列中读取缓存块编号;
发起DMA操作,将数据从已使用的缓存块写出至读通道,缓存块中的数据被读取后,将对应的缓存块编号移出FIFO队列,并更新对应的缓存块编号的状态为空闲;
所述查询空闲的缓存块编号之前,还包括:
判断写通道接收的数据量是否大于单个缓存块的大小,若数据量不大于单个缓存块的大小,则从缓存块编号表中申请1个空闲的缓存块编号;
若数据量大于单个缓存块的大小,则将写通道接收的数据根据缓存块的大小分成数据块,并根据数据块的数量申请相应数量的空闲的缓存块编号。
2.如权利要求1所述的提升多通道DMA访问性能的动态缓存块管理方法,其特征在于,所述通过hash算法从缓存块编号表中查询空闲的缓存块编号,包括:
初始化时,将缓存块编号key映射到数据元素中,并建立缓存块状态到缓存块编号的映射hash(key)中;在查询时,根据输入的缓存块编号key,定位该数据元素的存储地址,并根据hash(key)中建立的缓存块状态判断该缓存块编号key是否处于空闲状态。
3.如权利要求1所述的提升多通道DMA访问性能的动态缓存块管理方法,其特征在于,所述查询空闲的缓存块编号时,包括:
从缓存块编号表中,上次查询所得的空闲的缓存块编号的后一编号起,继续查询处于空闲状态的缓存块编号。
4.如权利要求1所述的提升多通道DMA访问性能的动态缓存块管理方法,其特征在于,所述发起DMA操作,将写通道中的数据写入空闲的缓存块中,包括:
根据查询所得的缓存块编号定位缓存块地址,将该缓存块地址对应的缓存块分配给相应的写通道使用,通过DMA操作将写通道中的数据写入空闲的缓存块中;
所述发起DMA操作,将数据从已使用的缓存块写出至读通道,包括:根据从FIFO队列中读取的缓存块编号,定位缓存有数据的缓存块地址,将该缓存块地址对应的缓存块分配给相应的读通道使用,通过DMA操作将数据从缓存块写出至读通道。
5.一种提升多通道DMA访问性能的动态缓存块管理装置,其特征在于,包括存储模块、高速接口模块以及主控模块,其中,
所述高速接口模块,具有多个读写通道,并通过驱动提供多个缓存块,各缓存块由所述主控模块进行唯一编号,并将编号构建形成缓存块编号表;
所述主控模块,用于随机选择所述高速接口模块的写通道接收数据,通过hash算法从缓存块编号表中查询空闲的缓存块编号,将查询所得的缓存块编号写入FIFO队列,同时更新对应的缓存块编号的状态为已使用;发起DMA操作,将写通道中的数据写入空闲的缓存块中;随机选择所述高速接口模块的读通道,从FIFO队列中读取缓存块编号;发起DMA操作,将数据从已使用的缓存块写出至读通道,缓存块中的数据被读取后,将对应的缓存块编号移出FIFO队列,并更新对应的缓存块编号的状态为空闲,其中每个写通道申请有独立的FIFO队列;
所述存储模块,用于存储所述高速接口模块发送的数据;
所述主控模块在查询空闲的缓存块编号之前,执行如下操作:
所述主控模块判断写通道接收的数据量是否大于单个缓存块的大小,若数据量不大于单个缓存块的大小,则从缓存块编号表中申请1个空闲的缓存块编号;
若数据量大于单个缓存块的大小,则将写通道接收的数据根据缓存块的大小分成数据块,并根据数据块的数量申请相应数量的空闲的缓存块编号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第五十二研究所,未经中国电子科技集团公司第五十二研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811140592.1/1.html,转载请声明来源钻瓜专利网。