[发明专利]一种内存分配方法和装置有效

专利信息
申请号: 202010216167.7 申请日: 2020-03-25
公开(公告)号: CN111444016B 公开(公告)日: 2023-10-13
发明(设计)人: 薛小明 申请(专利权)人: 瑞芯微电子股份有限公司
主分类号: G06F9/50 分类号: G06F9/50;G06F12/02
代理公司: 福州市景弘专利代理事务所(普通合伙) 35219 代理人: 徐剑兵;张忠波
地址: 350003 福建省*** 国省代码: 福建;35
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 内存 分配 方法 装置
【说明书】:

发明公开了一种内存分配方法,包括如下步骤:扫描每段IOPA对应的内存地址信息。按照内存地址信息中对应的列信息进行顺序化,更新IOPA对应的内存地址信息为顺序化后的内存地址信息。将排序后的IOPA发送至IOMMU,并进行IOVA的映射。上述技术方案本案将分配到的每段IOPA的内存地址信息进行扫描,将连续PFN的地址IOPA进行顺序化。再对不了连续PFN的地址的IOPA的index进行扫描,处于同一个chunk内的也进行顺序化。减少因为内存碎片导致的显示模块的性能损耗,同时降低开销,提升产品性能。

技术领域

本发明涉及数据读取领域,尤其涉及一种内存分配方法和装置。

背景技术

目前业内嵌入式设备的显示模块对于内存的访问都有使用IOMMU,其功能是将非连续的物理内存(IOPA)映射成连续的虚拟内存(IOVA),本质原因是显示模块的DMA需要访问连续的地址,但是系统并不能总是保证大块连续的物理地址。但是当系统长时间运行后,IOPA的碎片化更加严重后,即使IOVA能够提供线性连续的地址给显示模块的DMA使用,但是性能会有不同程度的下降。其原因是碎片化的IOPA可能导致对其访问时需要切换DDR的列地址,增加了额外的开销;且如果IOPA不连续且跨越列地址的情况加剧,则显示模块访问这些地址的性能将受到严重影响。

发明内容

为此,需要提供一种内存分配方法,减少列地址的切换,加快访问速度,减少开销。

为实现上述目的,发明人提供了一种内存分配方法,包括如下步骤:

扫描每段IOPA对应的内存地址信息;

按照内存地址信息中对应的列信息进行顺序化,更新IOPA对应的内存地址信息为顺序化后的内存地址信息;

将排序后的IOPA发送至IOMMU,并进行IOVA的映射。

进一步地,还包括步骤:

根据内存地址信息中的PFN判断PFN是否连续;

若是连续,则对连续的PFN的IOPA进行顺序化;

若不是连续,则对不连续的PFN的IOPA的index进行扫描,将位于同一个chunk内的IOPA进行顺序化。

进一步地,还包括步骤:

DMA接收并发出IOVA,IOMMU根据接收到的IOVA调用顺序化后的IOPA。

进一步地,“对连续的PFN的IOPA进行顺序化”包括步骤:

按序依次抽取每个chunk链表的第一行,并进行排序;

按序依次抽取每个chunk链表的第二行,并进行排序;

直至抽取完所有行。

进一步地,“将位于同一个chunk内的IOPA进行顺序化”前还包括步骤:

判断IOPA是否处于同一个chunk内;

若IOPA处于同一个chunk内,,则进行所述将位于同一个chunk内的IOPA进行顺序化步骤。

发明人还提供了一种内存分配装置,所述装置用于执行上述实施例所述的方法。

区别于现有技术,上述技术方案本案将分配到的每段IOPA的内存地址信息进行扫描,将连续PFN的地址IOPA进行顺序化。再对不了连续PFN的地址的IOPA的index进行扫描,处于同一个chunk内的也进行顺序化。减少因为内存碎片导致的显示模块的性能损耗,同时降低开销,提升产品性能。

附图说明

图1为碎片化良好时示意图;

图2为碎片化严重时示意图;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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