恭喜杭州国芯微电子股份有限公司张令获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网恭喜杭州国芯微电子股份有限公司申请的专利一种内存分配办法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN113946444B 。
龙图腾网通过国家知识产权局官网在2025-03-25发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202111198865.X,技术领域涉及:G06F9/50;该发明授权一种内存分配办法是由张令;刘非;沈建春;黄俊斌设计研发完成,并于2021-10-14向国家知识产权局提交的专利申请。
本一种内存分配办法在说明书摘要公布了:本发明公开了一种内存分配办法。用户首次申请内存时,向操作系统申请内存块,同时生成一个数据块,并将申请内存块的指针保留在数据块内;数据块内包含有标识符、申请内存块大小、热度值;将数据块放入使用表;用户再次申请内存块时,从空闲表内寻找标识符和申请内存块大小相同的数据块;如果找到,将数据块返回用户使用,并将数据块由空闲表移动到使用表;如果没有找到,则本次申请为首次申请。用户释放内存时,将数据块由使用表移动到空闲表。如果系统内存不足,优先释放热度值小的数据块。采用本发明方法,在高频次地申请释放同样大小的内存块时,不再每次都经过操作系统,避免频繁系统调用带来的额外开销,同时提升内存利用率。
本发明授权一种内存分配办法在权利要求书中公布了:1.一种内存分配方法,包括申请内存、释放内存和清除缓存,其特征在于,所述的申请内存为:用户首次申请内存时,向操作系统申请内存块,同时生成一个数据块MallocPackage,并将申请内存块的指针*P保留在MallocPackage内;MallocPackage内包含有用户传入的本次申请标识符ID和申请内存块大小Size,以及MallocPackage自身的热度值Hot;将MallocPackage放入使用表Malloc;用户再次申请内存块时,从空闲表Free内寻找ID和Size与本次申请相同的MallocPackage;如果找到,则将找到的MallocPackage返回用户使用,同时将MallocPackage由Free表移动到Malloc表;如果没有找到,则本次申请为首次申请;所述的释放内存为:用户释放内存时,将MallocPackage由Malloc表移动到Free表;所述的清除缓存为:用户申请内存时如果系统内存不足,按照热度值hot释放Free表中的MallocPackage到系统,优先释放热度值hot小的MallocPackage;所述的申请内存步骤如下:步骤1用户发送申请内存指令;步骤2通过用户传入的ID和Size判断本次申请生成的数据块MallocPackage是否已经存在于Free表中:如果存在则执行步骤3~7,如果不存在则执行步骤8;步骤3从Free表里获取存在的MallocPackage;步骤4将获取的MallocPackage中的热度值Hot加1;步骤5将获取的MallocPackage从Free表里移除;步骤6将获取的MallocPackage添加到Malloc表;步骤7将获取的MallocPackage返回给用户;步骤8通过操作系统和用户传入的Size申请内存块;步骤9判断从操作系统获取的指针*P是否为NULL:如果不是则执行步骤10~13,如果是则执行步骤14;步骤10生成新的MallocPackage,并且将从操作系统获取的指针*P填充进新的MallocPackage;步骤11生成新的ID,并且将新的ID填充到新的MallocPackage中;步骤12将新的MallocPackage中的热度值Hot初始化为0;步骤13将新的MallocPackage返回给用户;步骤14判断Free表中是否还存在MallocPackage,如果存在则执行步骤15,如果不存在则执行步骤16;步骤15从Free表中获取热度值Hot最小的MallocPackage进行释放,返回步骤8;步骤16返回用户错误信息;所述的释放内存步骤如下:步骤a.用户发送释放内存指令,并且传入已经返回给用户的待释放内存对应的MallocPackage;步骤b.判断待释放内存对应的MallocPackage是否存在于Malloc表中:如果存在,执行步骤c,否则返回用户错误信息;步骤c.从Malloc表中移除待释放内存对应的MallocPackage;步骤d.将待释放内存对应的MallocPackage添加到Free表中,释放过程结束;所述的清除缓存步骤如下:步骤A.用户发送清除缓存指令;步骤B.判断Free表中是否存在MallocPackage:如果存在,执行步骤C,否则表示清除缓存完毕;步骤C.获取Free表中的一个MallocPackage;步骤D.将获取的MallocPackage中的指针*P释放;步骤E.将获取的MallocPackage释放;继续执行步骤B。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人杭州国芯微电子股份有限公司,其通讯地址为:310012 浙江省杭州市文三路90号东部软件园创新大厦A座5-6层;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。