一种内存监控方法、内存访问控制器及SoC系统技术方案

技术编号:14817517 阅读:83 留言:0更新日期:2017-03-15 11:40
本发明专利技术提供一种内存监控方法、内存访问控制器及SoC系统,涉及通信领域,能够在出现内存访问异常时,快速准确地定位到非法访问内存的模块。包括:获取内存访问模块发送的内存访问命令(包括待访问的内存地址、内存访问模块的标识和读写属性);获取与待访问的内存地址对应的合法访问条件,其包括至少一个模块的标识和至少一个模块对待访问的内存地址所拥有的读或写权限;判断内存访问模块的标识是否属于至少一个模块的标识和读写属性是否符合读或写权限;在内存访问模块的标识不属于至少一个模块的标识和/或读写属性不符合读或写权限时,记录待访问的内存地址、内存访问模块的标识以及读写属性。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种内存监控方法、内存访问控制器及SoC系统
技术介绍
在系统级芯片(SystemonChip,SoC)系统中,存在多个不同的模块,比如多个硬件专用逻辑、各种外设(IntelligentPeripheral,IP)、中央处理器(CentralProcessingUnit,CPU)中运行的多种应用程序等。各个模块可以共享内存。由于SoC系统组成的复杂性,会发生内存访问越界的问题,即某模块访问了其不该访问的内存地址,导致该模块无法正常运行,甚至导致SoC系统崩溃。目前,一般是在SoC系统初始化或释放内存的时候在某个内存地址设置特征值(如:0xaa),当监测到某个内存地址的特征值被修改,则确定有模块越界访问了该内存地址。但这种方式通常只能判断内存地址是否被越界访问,无法确定是哪个模块越界访问了内存。需要逐一排查可能访问该内存地址的每个模块,来定位是哪个模块越界访问了该内存地址,定位故障问题的周期长、效率较低。
技术实现思路
本专利技术实施提供一种内存监控方法、内存访问控制器及SoC系统,能够准确监控到内存的访问情况,出现内存访问异常时,可以快速、准确地定位到非法访问内存的模块。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,公开了一种内存监控方法,包括:内存访问控制器获取内存访问模块发送的内存访问命令,该命令携带包括待访问的内存地址的地址信息、本次访问的读写属性以及该内存访问模块的标识和读写属性,所谓读写属性即该内存访问模块对待访问内存执行读操作还是写操作;接着,确定待访问的内存地址对应的合法访问条件,该合法访问条件包括允许访问该待访问的内存地址的至少一个模块的标识和至少一个模块对待访问的内存地址所拥有的读或写权限;接着随后,判断内存访问模块的标识是否属于所述至少一个模块的标识和所述读写属性是否符合所述读或写权限,即判断发起内存访问请求的内存访问模块是否可以访问待访问的内存地址,以及是否可以对待访问的内存地址执行写操作或读操作;最后,在所述内存访问模块的标识不属于所述至少一个模块的标识和/或所述读写属性不符合所述读或写权限时,也就是内存访问模块非法访问时,记录所述待访问的内存地址、所述内存访问模块的标识以及所述读写属性。本专利技术提供的内存监控方法,当有模块申请访问内存时,内存访问控制器监控其内存访问命令,并确定待访问内存地址的合法访问条件,该合法访问条件携带允许访问该待访问的内存地址的至少一个模块的标识和至少一个模块对待访问的内存地址所拥有的读或写权限。进而判断该内存访问模块是否可以访问待访问的内存地址,以及是否可以对待访问的内存地址执行写操作或操作。若内存访问模块的访问不合法(即内存访问模块的标识不属于合法访问条件中的至少一个模块的标识,和/或内存访问请求中的读写属性不符合合法访问条件中的读或写权限),则记录内存访问模块的访问信息,即待访问的内存地址、所述内存访问模块的标识以及所述读写属性之间的对应关系。如此,当设备的内存被非法访问,导致设备系统异常后,设备中运行的检测软件可以根据监控模块记录的本次访问的信息快速、准确的确定出内存非法访问的真正原因。结合第一方面,在第一方面的第一种可能的实现方式中,获取与所述待访问的内存地址对应的合法访问条件具体包括:根据所述待访问的内存地址查询合法访问信息表,确定所述待访问的内存地址对应的所述合法访问条件;所述合法访问信息表记录有被监控的内存地址的标识以及每一个所述被监控的内存地址所对应的合法访问条件。这里,可以根据预先生成的合法访问信息表,获取到带访问的内存地址对应的合法访问条件,即允许访问该待访问的内存地址的至少一个模块的标识和所述至少一个模块对该待访问的内存地址所拥有的读或写权限。进而可以根据该合法访问条件判断内存访问模块对该待访问的内存地址的访问是否合法。结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,在获取内存访问模块发送的内存访问命令之前,内存访问控制器还需确定被监控的内存地址,以及每一个被监控的内存地址的合法访问条件,其中,被监控的内存地址的合法访问条件包括可访问被监控的内存地址的模块的标识、以及各个模块对被监控的内存地址所拥有的读或写权限。最终根据每一个被监控的内存地址,以及每一个被监控的内存地址的合法访问条件生成上述合法访问信息表。如此,当有模块发起内存访问时,内存访问控制器就可以根据预配置的访问信息表确定本次访问是否合法。一旦确认是非法访问,则可记录本次访问的信息,以便根据记录的信息确认究竟是哪个模块非法访问了内存而导致的系统异常。结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,内存访问控制器获取与所述待访问的内存地址对应的合法访问条件之前,还可以确定所述待访问的内存地址为被监控的内存地址,具体地,可以根据待访问的内存地址的信息确定待访问内存地址为被监控的内存地址。内存访问控制器只会为被监控的内存地址生成合法访问条件,因此只有待访问内存地址是被监控的内存地址,才能在合法访问信息表中查询到与其对应的合法访问条件。结合第一方面,在第一方面的第四种可能的实现方式中,若判断所述内存访问模块的标识属于所述至少一个模块的标识,且所述读写属性符合所述读或写权限,则确定所述内存访问模块的访问合法。也就说,只有当内存访问模块被允许使用待访问的内存地址,且内存访问模块的读写属性是其对待访问的内存地址。结合第一方面或第一方面的第一或第三种可能的实现方式,在第一方面的第四种可能的实现方式中,内存访问控制器记录所述待访问的内存地址、所述内存访问模块的标识以及所述读写属性之后,该方法还包括:向中央处理器CPU上报中断信息,以便所述CPU运行所述中断信息对应的中断处理软件对所述中断信息进行处理;所述中断信息携带所述待访问的内存地址、所述内存访问模块的标识以及所述读写属性。如此,当出现内存非法访问时,CPU接收内存访问控制器上报的中断信息后,指示该中断信息对应的软件查询内存访问控制器本地记录的访问信息就可以确定是哪个模块非法访问了哪个内存地址。第二方面,公开了一种内存访问控制器,包括:获取模块,用于获取内存访问模块发送的内存访问命令,内存访问命令包括待访问的内存地址、内存访问模块的标识和读写属性,读写属性用于指示内存访问模块对待访问的内存地址执行读操作或写操作;获取模块还用于,获取与待访问的内存地址对应的合法访问条件,合法访问条件包括至少一个模块的标识和至少一个模块对待访问的内存地址所拥有的读或写权限;判断模块,用于判断获取模块获取的内存访问模块的标识是否属于至少一个模块的标识和读写属性是否符合读或写权限;记录模块,用于在判断模块确定内存访问模块的标识不属于至少一个模块的标识和/或读写属性不符合读或写权限时,记录待访问的内存地址、内存访问模块的标识以及读写属性。本专利技术提供的内存访问控制器,当有模块申请访问内存时,监控其内存访问命令,并确定待访问内存地址的合法访问条件,该合法访问条件携带允许访问该待访问的内存地址的至少一个模块的标识和至少一个模块对待访问的内存地址所拥有的读或写权限。进而判断该内存访问模块是否可以访问待访问的内存地址,以及是否可以对待访问的内存地址执行写操作或操作本文档来自技高网...
一种内存监控方法、内存访问控制器及SoC系统

【技术保护点】
一种监控内存的方法,其特征在于,包括:获取内存访问模块发送的内存访问命令,所述内存访问命令包括待访问的内存地址、所述内存访问模块的标识和读写属性,所述读写属性用于指示所述内存访问模块对所述待访问的内存地址执行读操作或写操作;获取与所述待访问的内存地址对应的合法访问条件,所述合法访问条件包括至少一个模块的标识和所述至少一个模块对所述待访问的内存地址所拥有的读或写权限;判断所述内存访问模块的标识是否属于所述至少一个模块的标识和所述读写属性是否符合所述读或写权限;在所述内存访问模块的标识不属于所述至少一个模块的标识和/或所述读写属性不符合所述读或写权限时,记录所述待访问的内存地址、所述内存访问模块的标识以及所述读写属性。

【技术特征摘要】
1.一种监控内存的方法,其特征在于,包括:获取内存访问模块发送的内存访问命令,所述内存访问命令包括待访问的内存地址、所述内存访问模块的标识和读写属性,所述读写属性用于指示所述内存访问模块对所述待访问的内存地址执行读操作或写操作;获取与所述待访问的内存地址对应的合法访问条件,所述合法访问条件包括至少一个模块的标识和所述至少一个模块对所述待访问的内存地址所拥有的读或写权限;判断所述内存访问模块的标识是否属于所述至少一个模块的标识和所述读写属性是否符合所述读或写权限;在所述内存访问模块的标识不属于所述至少一个模块的标识和/或所述读写属性不符合所述读或写权限时,记录所述待访问的内存地址、所述内存访问模块的标识以及所述读写属性。2.根据权利要求1所述的方法,其特征在于,所述获取与所述待访问的内存地址对应的合法访问条件具体包括:根据所述待访问的内存地址查询合法访问信息表,确定所述待访问的内存地址对应的所述合法访问条件;所述合法访问信息表记录有被监控的内存地址的标识以及每一个所述被监控的内存地址所对应的合法访问条件。3.根据权利要求2所述的方法,其特征在于,所述获取内存访问模块发送的内存访问命令之前,所述方法还包括:确定被监控的内存地址,以及每一个所述被监控的内存地址的合法访问条件;根据每一个所述被监控的内存地址的合法访问条件生成所述合法访问信息表。4.根据权利要求3所述的方法,其特征在于,所述获取与所述待访问的内存地址对应的合法访问条件之前,所述方法还包括:确定所述待访问的内存地址为所述被监控的内存地址。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:若判断所述内存访问模块的标识属于所述至少一个模块的标识,且所述读写属性符合所述读或写权限,则确定所述内存访问模块的访问合法。6.根据权利要求1-3任一项所述的方法,其特征在于,所述记录所述待访问的内存地址、所述内存访问模块的标识以及所述读写属性之后,所述方法还包括:向中央处理器CPU上报中断信息,以便所述CPU运行所述中断信息对应的中断处理软件对所述中断信息进行处理;所述中断信息携带所述待访问的内存地址、所述内存访问模块的标识以及所述读写属性。7.一种内存访问控制器,其特征在于,包括:获取模块,用于获取内存访问模块发送的内存访问命令,所述内存访问命令包括待访问的内存地址、所述内存访问模块的标识和读写属性,所述读写属性用于指示所述内存访问模块对所述待访问的内存地址执行读操作或写操作;所述获取模块还用于,获取与所述待访问的内存地址对应的合法访问条件,所述合法访问条件包括至少一...

【专利技术属性】
技术研发人员:郭鹏蔡智勇王坚
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1