Memory damage detection techniques are described. The processor may include a memory for storing data from the application, wherein the memory includes a memory damage detection (MCD) table. The processor can also include processor cores that are coupled to memory. A memory access request for data from one or more contiguous memory blocks in a memory object that accesses the memory from the processor core. The processor core can also retrieve data stored in one or more contiguous memory blocks based on the location indicated by the pointer. Processor cores can also retrieve distribution information associated with one or more contiguous memory blocks from the MCD table. The processor core can also be used to send error messages to the application when the error event associated with the retrieved data occurs.
【技术实现步骤摘要】
【国外来华专利技术】用于存储器损坏检测架构的字节水平粒度的缓冲器上溢检测背景存储器损坏可以是导致系统故障的主要资源问题,并且可能负面地影响系统的性能。存储器损坏可能由多种原因引起,包括:存储器上的编程错误、越界访问、悬摆指针以及恶意攻击。在计算机程序中使用被损坏的存储器内容可能使得计算机程序崩溃或异常地动作。软件解决方案可以用于存储器损坏检测,诸如调试工具。然而,软件解决方案可能使得计算机程序显著更慢地运行并且可以难以在调试计算机程序时使用。附图说明图1示出了根据一个实施例的存储器损坏检测(MCD)系统。图2示出了根据一个实施例的具有系统存储器和MCD表的MCD系统的架构。图3描绘了根据一个实施例的用于将存储器对象的一个或多个存储器块与MCD元数据字的存储器分配信息相关联的方法的流程图。图4A示出了根据一个实施例的与存储器块相关联的MCD元数据字。图4B示出了根据一个实施例的与存储器块相关联的另一MCD元数据字。图5A示出了根据一个实施例的被分配给存储器对象的第一存储器块和第二存储器块。图5B描绘了根据一个实施例的用于检查存储器中的越界存储器访问的方法的流程图。图6A是示出根据一个实施 ...
【技术保护点】
一种处理器,包括:存储器,用于存储来自应用的数据,其中所述存储器包括存储器损坏检测(MCD)表和存储器对象;以及处理器核,耦合到所述存储器,其中所述处理核用于:从所述应用接收访问在所述存储器的存储器对象中的具有连续存储器块的所述存储器对象的数据的存储器访问请求,其中所述存储器访问请求包括:指针,指示所述存储器对象在所述存储器中的位置;以及第一MCD唯一标识符(ID);基于所述指针所指示的所述位置来检索存储在所述连续存储器块中的数据;从所述MCD表检索与所述连续存储器块相关联的分配信息,其中所述分配信息包括:第二MCD唯一标识符,与所述连续存储器块相关联;以及MCD边界值,指 ...
【技术特征摘要】
【国外来华专利技术】2015.03.25 US 14/668,8621.一种处理器,包括:存储器,用于存储来自应用的数据,其中所述存储器包括存储器损坏检测(MCD)表和存储器对象;以及处理器核,耦合到所述存储器,其中所述处理核用于:从所述应用接收访问在所述存储器的存储器对象中的具有连续存储器块的所述存储器对象的数据的存储器访问请求,其中所述存储器访问请求包括:指针,指示所述存储器对象在所述存储器中的位置;以及第一MCD唯一标识符(ID);基于所述指针所指示的所述位置来检索存储在所述连续存储器块中的数据;从所述MCD表检索与所述连续存储器块相关联的分配信息,其中所述分配信息包括:第二MCD唯一标识符,与所述连续存储器块相关联;以及MCD边界值,指示所述连续存储器块的第一存储器区域的尺寸;以及当与被检索的数据相关联的错误事件发生时,基于所述分配信息将错误消息发送到所述应用。2.如权利要求1所述的处理器,其特征在于:所述连续存储器块包括可用存储器区域和不可用存储器区域;以及所述第一存储器区域是所述可用存储器区域或所述不可用存储器区域。3.如权利要求2所述的处理器,其特征在于,所述处理核进一步用于:将所述第一MCD唯一ID与所述第二MCD唯一ID进行比较以确定所述被检索的数据何时来自所述指针所指示的所述存储器对象;以及基于所述分配信息确定所述被检索的数据何时来自所述可用存储器区域。4.如权利要求3所述的处理器,其特征在于,所述错误事件在以下情形时发生:所述第一MCD唯一ID与所述第二MCD唯一ID不匹配;或所述存储器访问在所述不可用存储器区域内。5.如权利要求2所述的处理器,其特征在于,所述处理核进一步用于通过以下操作确定所述可用存储器区域:从所述连续存储器块的尺寸值减去所述MCD边界值来获得边界位置值;以及基于边界位置值在所述连续存储器块中标识MCD边界位置,其中所述MCD边界位置指示所述可用存储器区域与所述不可用存储器区域之间的界线。6.如权利要求5所述的处理器,其特征在于,所述连续存储器块的尺寸是64字节。7.如权利要求2所述的处理器,其特征在于,当所述MCD边界值是零时,全部连续存储器块是所述可用存储器区域。8.一种处理器,包括:存储器,用于存储来自应用的数据,其中所述存储器包括存储器损坏检测(MCD)表;以及处理器核,耦合到所述存储器,其中所述处理核用于:从所述应用接收用于将所述存储器中的一个或多个连续存储器块分配给存储器对象的分配请求;考虑所请求的存储器对象的尺寸,将所述一个或多个连续存储器块分配给所述存储器对象,其中所述一个或多个连续存储器块中的连续存储器块包括第一存储器区域和第二存储器区域;以及将MCD元数据字写入所述MCD表,其中所述MCD元数据字包括:第一MCD唯一标识符,与所述连续存储器块相关联;以及MCD边界值,指示所述连续存储器块的所述第一存储器区域的尺寸。9.如权利要求8所述的处理器,其特征在...
【专利技术属性】
技术研发人员:T·史塔克,A·塔尔,R·加伯,J·努兹曼,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。