[发明专利]用于存储器标记的低存储器开销堆管理在审
申请号: | 202010211610.1 | 申请日: | 2020-03-24 |
公开(公告)号: | CN112149143A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | D·M·德拉姆;R·贾亚拉姆马斯蒂 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/64;H04L9/32;G06F12/14 |
代理公司: | 北京尚诚知识产权代理有限公司 11322 | 代理人: | 龙淳 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 存储器 标记 开销 管理 | ||
一种方法,包括响应于请求存储器堆操作的第一指令:识别存储器堆的数据块;访问用于数据块的标签历史,该标签历史包括先前分配给数据块的多个标签;将标签分配给数据块,其中,分配标签包括:验证标签与标签历史的多个标签中的任何一个标签都不匹配;以及提供分配的标签和对数据块位置的引用。
技术领域
本公开总体上涉及计算系统领域,并且更具体地涉及用于存储器标记的低存储器开销堆管理。
背景技术
保护计算机系统中的存储器免受软件错误和安全漏洞的影响是一个重大问题。在计算系统中,堆管理器可以在运行时服务来自各种应用程序的存储器分配请求。除非堆管理器采取预防措施,否则先前分配给第一个应用程序的一部分存储器中的内容可能会被另一个应用程序访问。
附图说明
图1示出了根据某些实施例的计算设备。
图2示出了根据某些实施例的存储器堆。
图3A和图3B示出了根据某些实施例的用于存储器碎片整理的流程。
图4示出了根据某些实施例的用于存储器分块的流程。
图5示出了根据某些实施例的用于利用加密存储器指针格式的流程。
图6示出了根据某些实施例的用于分配堆存储器的流程。
图7是示出根据某些实施例的示例处理器核和存储器的框图。
图8A是示出根据某些实施例的示例性顺序流水线和示例性寄存器重命名、乱序发射/执行流水线的框图。
图8B是示出了根据某些实施例的将包括在处理器中的顺序架构核心的示例性实施例和示例性寄存器重命名、乱序发射/执行架构核心的框图。
图9是根据某些实施例的示例计算机架构的框图。
图10是根据某些实施例的对比使用软件指令转换器将源指令集中的二进制指令转换为目标指令集中的二进制指令的框图。
图11描绘了根据某些实施例的用于将加密标签与分配的数据块的对应子部分相关联的流程。
在各个附图中,相似的附图标记和标记指示相似的元件。
具体实施方式
存储器标记是一种存储器安全技术,该技术通过维护包括用于存储器位置的标签的参考元数据并且将传入存储器访问请求中的标签与用于包括作为存储器访问请求的主题的存储器位置的数据块的分配标签进行比较来降低运行时存储器安全违规的风险。如果传入标签与分配的标签不匹配,则不执行存储器访问请求。存储器标记解决方案主要旨在实现堆保护,例如,防止损坏或非法访问软件程序中动态分配的存储器。堆管理器可负责在存储器分配和释放期间管理堆空间。堆管理器可以在存储器分配期间生成用于数据块的标签,并在释放或重新分配存储器时将标签更改为不同值。堆管理器可以防止标签重用,例如通过该数据块的后续分配将相同标签分配给特定数据块。
用于存储器标记的各种堆管理解决方案(例如,用于Linux的堆分配器)依赖于隔离释放的存储器以防止标记重用。当释放数据块时,该数据块在释放之后的一定持续时间内将无法重用。此类堆管理方法可以在数据块被释放并重用后,防止使用指向数据块一部分的指针,但是会导致隔离的存储器在很长一段时间内仍然无法使用,从而导致较低的总体存储器利用率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010211610.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:支持加密计算的微处理器流水线电路
- 下一篇:信息中心网络近似计算高速缓存