CN109739806A - 内存访问方法、内存访问控制器和片上系统 - Google Patents
内存访问方法、内存访问控制器和片上系统 Download PDFInfo
- Publication number
- CN109739806A CN109739806A CN201811619460.7A CN201811619460A CN109739806A CN 109739806 A CN109739806 A CN 109739806A CN 201811619460 A CN201811619460 A CN 201811619460A CN 109739806 A CN109739806 A CN 109739806A
- Authority
- CN
- China
- Prior art keywords
- access request
- memory access
- memory
- internal storage
- result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种内存访问方法、内存访问控制器和片上系统,该方法包括:接收步骤,经由总线从内存访问模块接收内存访问请求,所述内存访问请求包括所述内存访问模块的标识、要访问的内存区域名;检测处理步骤,根据当前存储的内存访问请求以及预定的内存访问控制表,对所述内存访问请求进行检测,根据检测结果对所述内存访问请求进行相应的处理,并得到更新存储的内存访问请求,检测返回步骤,对所述更新存储的内存访问请求进行检测,根据检测结果将所述内存访问请求的访问结果传送给对应的内存访问模块。本发明可以有效地保护内存,避免敏感信息的泄漏,同时可以高效地访问内存。
Description
技术领域
本发明涉及微体系结构,尤其涉及一种内存访问方法、内存访问控制器和片上系统。
背景技术
在当前的片上系统(System on Chip,SoC)中,安全性已经是系统中非常重要的一部分。
通常在基于ARM公司架构的片上系统中,会存在多个不同的内存访问模块,例如中央处理器、图像处理器、视频音频解码器等。这些内存访问模块可以共享内存。现有的架构将系统中不同的内存访问模块划分为安全模块和非安全模块,对于内存空间则划分为安全区域和非安全区域。安全模块可以访问所有的内存区域,而非安全模块则只能访问非安全区域。这样的内存访问控制策略过于简单,无法满足现在愈发复杂的用户场景。尤其对于中央处理器,图像处理器等模块,在不同的应用中,这些模块负责了不同的工作,如果简单的将这些模块设置为安全模块,势必会导致一些敏感信息会泄漏。
发明内容
本发明提供了一种内存访问方法、内存访问控制器以及片上系统。
本发明提供了一种内存访问方法,该方法包括:
接收步骤,经由总线从内存访问模块接收内存访问请求,所述内存访问请求包括所述内存访问模块的标识、要访问的内存区域名;
判断处理步骤,根据当前存储的内存访问请求以及预定的内存访问控制表,对所述内存访问请求进行判断,根据判断结果对所述内存访问请求进行相应的处理,并得到更新存储的内存访问请求,
检测返回步骤,对所述更新存储的内存访问请求进行检测,根据检测结果将更新存储的内存访问请求中的每个内存访问请求的访问结果传送给对应的内存访问模块。
其中,所述内存访问控制表中包含多个内存区域名,以及与每个内存区域名对应的标识白名单。
其中,所述判断处理步骤进一步包括:
第一判断步骤,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同且有错误标记的内存访问请求,如果是,则对所述内存访问请求的处理结束,如果否,则进入第二判断步骤;
第二判断步骤,判断所述内存访问请求中的所述标识是否在所述要访问的内存区域名的所述对应的标识白名单中,如果是,则进入存储转发步骤,如果否,则进入第三判断步骤;
第三判断步骤,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同的其他内存访问请求,如果是,则进入存储步骤,如果否,则进入第一返回步骤;
存储转发步骤,存储所述内存访问请求,得到所述更新存储的内存访问请求,并经由所述总线将所述内存访问请求传送给所述内存;
存储步骤,将所述错误标记添加到所述内存访问请求中,并进行存储,得到所述更新存储的内存访问请求;
第一返回步骤,将错误消息作为所述内存访问请求的所述访问结果返回给对应的内存访问模块。
其中,所述检测返回步骤进一步包括:
第四判断步骤,判断所述更新存储的内存访问请求中具有相同标识的内存访问请求是否只包含添加有所述错误标记的内存访问请求,如果是,则进入第三返回步骤,如果否,则进入所述第二返回步骤;
第二返回步骤,当从所述内存接收到返回结果时,经由总线,将所述返回结果中的成功消息作为所述访问结果传送给与所述返回结果对应的内存访问请求的标识所对应的内存访问模块,并删除与所述返回结果对应的内存访问请求;
第三返回步骤,经由总线,将所述错误消息作为所述访问结果传送给添加有所述错误标记的内存访问请求的标识所对应的内存访问模块,并删除所述添加有所述错误标记的内存访问请求。
其中,所述总线是高级可扩展总线。
本发明还提供一种内存访问控制器,所述控制器包括:
接收单元,经由总线从内存访问模块接收内存访问请求,所述内存访问请求包括所述内存访问模块的标识、要访问的内存区域名;
判断处理单元,根据当前存储的内存访问请求以及预定的内存访问控制表,对所述内存访问请求进行判断,根据判断结果对所述内存访问请求进行相应的处理,并得到更新存储的内存访问请求;
检测返回单元,对所述更新存储的内存访问请求进行检测,根据检测结果将更新存储的内存访问请求中的每个内存访问请求的访问结果传送给对应的内存访问模块。
其中,所述内存访问控制表中包含多个内存区域名,以及与每个内存区域名对应的标识白名单。
其中,所述判断处理单元进一步包括:
第一判断单元,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同且有错误标记的内存访问请求,如果是,则对所述内存访问请求的处理结束;
第二判断单元,判断所述内存访问请求中的所述标识是否在所述要访问的内存区域名的所述对应的标识白名单中;
第三判断单元,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同的其他内存访问请求;
存储单元,如果所述第二判断单元的判断结果为是,则所述存储单元存储所述内存访问请求,得到所述更新存储的内存访问请求,并经由所述总线将所述内存访问请求传送给所述内存;如果所述第三判断单元的判断结果为是,则所述存储单元将所述错误标记添加到所述内存访问请求中,并进行存储,得到所述更新存储的内存访问请求;
第一返回单元,如果所述第三判断单元的判断结果为否,则所述第一返回单元将错误消息作为所述内存访问请求的访问结果返回给对应的内存访问模块。
其中,所述检测返回单元进一步包括:
第四判断单元,判断所述更新存储的内存访问请求中具有相同标识的内存访问请求是否只包含添加有所述错误标记的内存访问请求;
第二返回单元,如果所述第四判断单元的判断结果为否,则当从所述内存接收到返回结果时,所述第二返回单元将所述返回结果中的成功消息作为所述访问结果传送给与所述返回结果对应的内存访问请求的标识所对应的内存访问模块,并删除与所述返回结果对应的内存访问请求;
如果所述第四判断单元的判断结果为是,则所述第二返回单元将所述错误消息作为所述访问结果返回给添加有所述错误标记的内存访问请求的标识所对应的内存访问模块,并删除所述添加有所述错误标记的内存访问请求。
其中,所述总线是高级可扩展总线。
本发明进一步提供一种内存访问系统,所述系统包括:至少一个内存访问模块,内存,总线,以及如上所述的内存访问控制器,
其中,所述至少一个内存访问模块经由所述总线和所述内存访问控制器来访问所述内存。
通过本发明,可以有效地保护内存,避免敏感信息的泄漏,可以使得内存访问模块高效地访问内存。
附图说明
图1是根据本发明的实施例的片上系统的结构图;
图2是根据本发明的实施例的内存访问控制器的结构图;
图3是根据本发明的实施例的内存访问方法的流程图;
图4是根据本发明的实施例的内存访问控制器中的判断处理单元的结构图;
图5是根据本发明的实施例的内存访问方法中的判断处理步骤的流程图;
图6是根据本发明的实施例的内存访问控制器中的检测返回单元的结构图;
图7是根据本发明的实施例的内存访问方法中的检测返回步骤的流程图。
具体实施方式
下面结合附图,对本发明的具体实施例进行详细说明。
图1是根据本发明的实施例的片上系统10的结构图。如图1所示,片上系统10包括至少一个内存访问模块(例如,内存访问模块1、2……n),内存访问控制器11、总线12、以及内存13。其中,内存访问模块1、2……n经由总线12和内存访问控制器10来访问内存13。本例中,总线12例如是高级可扩展总线(AXI总线)。
图2是根据本发明的实施例的内存访问控制器11的结构图。如图2所示,内存访问控制器11包括接收单元111、判断处理单元112和检测返回单元113。
图3根据本发明的实施例的内存访问方法的流程图,如图3所示,在步骤S31,接收单元111经由AXI总线12从内存访问模块接收内存访问请求,内存访问请求包括内存访问模块的标识、以及要访问的内存区域名。
例如,接收单元111从内存访问模块1接收到内存访问请求R1,该内存访问请求R1包括该内存访问模块1的标识ID1、以及区域0。这里,接收单元111可以从不同的内存访问模块接收不同的内存访问请求,且每个内存访问模块可以发出多个内存访问请求,而不受限制。
在判断处理步骤S32,判断处理单元112根据当前存储的内存访问请求以及预定的内存访问控制表,对内存访问请求进行判断,根据判断结果对内存访问请求进行相应的处理,并得到更新存储的内存访问请求。
下面结合图4和图5进行详细说明。图4是根据本发明的实施例的内存访问控制器11中的判断处理单元112的结构图。如图4所示,判断处理单元112包括第一判断单元1121、第二判断单元1122、第三判断单元1123、存储单元1124以及第一返回单元1125。
图5是根据本发明的实施例的内存访问方法中的判断处理步骤S32的流程图,在第一判断步骤S321,第一判断单元1121判断当前存储的内存访问请求中是否存在与接收到的内存访问请求中的标识相同且有错误标记的内存访问请求,如果是,则对该内存访问请求的处理结束,如果否,则进入第二判断步骤S322。
本例中,例如接收到的内存访问请求R1的标识是ID1,第一判断单元1121判断当前存储的内存访问请求中是否存在标识为ID1的其他内存访问请求,即,是否存在内存访问模块1先前发出的其他内存访问请求,并且其他内存访问请求中是否带有错误标记。这里,错误标记将在后面详述。
如果在第一判断步骤S321的判断结果为“是”,则对该内存访问请求R1的处理结束,然后对下一个接收到的内存访问请求进行判断处理。也就是说,当第一判断单元1121判断出当前存储的内存访问请求中存在内存访问模块1先前发出的带有错误标记的内存访问请求(例如,内存访问请求R0)时,即,根据步骤S321的判断结果,对内存访问请求R1进行的相应处理是不做任何处理。然后,当接收单元111接收到下一个内存访问请求时,从步骤S321开始进行同样的判断。
此时,当前存储的内存访问请求没有变化,即,更新存储的内存访问请求与当前存储的内存访问请求相同。并且此时,该内存访问请求R1的访问请求结束。
如果在第一判断步骤S321的判断结果为“否”,则进入第二判断步骤S322。也就是说,如果第一判断单元1121判断出当前存储的内存访问请求中没有内存访问模块1先前发出的内存访问请求或者没有内存访问模块1发出的带有错误标记的内存访问请求,则判断结果为“否”。
接着,在步骤S322,第二判断单元1122判断该内存访问请求R1中的标识ID1是否在要访问的内存区域名(区域0)的对应的标识白名单中。
这里,预定的内存访问控制表中包含多个内存区域名,以及与每个内存区域名对应的标识白名单。
其中,预定的内存访问控制表例如是由上层的系统应用所确定,且被预先存储在内存访问控制器11中。该内存访问控制表包含多个内存区域名,以及与每个内存区域名对应的标识白名单。例如,该内存访问控制表如表1所示。
表1
内存区域名 | 开始地址 | 结束地址 | 标识白名单 |
区域0 | StAddr0 | EdAddr0 | 0,1,2 |
区域1 | StAddr1 | EdAddr1 | 2,3,4 |
… | … | … | … |
区域N | StAddrN | EdAddrN | 1,7 |
默认区域 | StAddrDft | EdAddrDft | 1 |
如表1所示,该内存访问控制表包括多个内存区域名,即,区域0、1……N以及默认区域,且每个内存区域名具有对应的标识白名单。其中,标识白名单中的标识是指可以访问该区域的内存访问模块的标识。例如,区域0具有标识白名单ID0、ID1、ID2,即具有标识ID0、ID1、ID2的这些内存访问模块具有访问区域0的权限。
另外,每个区域具有对应的开始地址和结束地址,例如区域0的开始地址是StAddr0,结束地址是EdAddr0,从而限定了每个区域的内存地址范围。另外,每个内存访问模块在一段时间内会被分配一个固定的标识,因此,在不同的时间段内,每个内存访问模块可以被分配有不同的标识。如此,对于每个内存访问模块,可以根据需要灵活地设置其可访问的内存区域。
本例中,第二判断单元1122根据表1判断该内存访问请求R1中的标识ID1是否在要访问的内存区域名(区域0)的对应的标识白名单中。从表1可以看出,ID1在区域0的对应的标识白名单中,即,步骤S322的判断结果为“是”,那么就进入存储转发步骤S324。
在步骤S324,存储单元1124存储该内存访问请求R1,得到更新存储的内存访问请求,并经由总线12将内存访问请求R1传送给内存113。此时,更新存储的内存访问请求中包含了当前存储的内存访问请求以及新存储的该内存访问请求R1。
根据步骤S321、S322的判断结果,在步骤S324对该内存访问请求R1进行了相应的处理,即,存储并转发,此时对该内存访问请求R1的处理结束。然后,当接收单元111接收到下一个内存访问请求时,从步骤S321开始进行同样的判断。
另外,如果在步骤S322的判断结果为“否”,那么就进入第三判断步骤S323。例如,如果接收到的是内存访问请求R3,且内存访问请求R3包含ID1、区域1。在步骤S322,根据表1,判断结果为“否”,即,内存访问请求R3不在“区域1”对应的标识白名单中,那么进入步骤S323。
在步骤S323,第三判断单元1123判断当前存储的内存访问请求中是否存在与内存访问请求R3中的标识ID1相同的其他内存访问请求,如果是,则进入存储步骤S325,如果否,则进入第一返回步骤S326。
其中,第三判断单元1123判断当前存储的内存访问请求中是否存在内存访问模块1先前发出的其他内存访问请求,例如,当前存储的内存访问请求中存在内存访问模块1先前发出的其他内存访问请求R4,那么进入步骤S325。
在步骤S325,存储单元1124将错误标记添加到该内存访问请求R3中,并进行存储,得到更新存储的内存访问请求。此时,更新存储的内存访问请求中包含了当前存储的内存访问请求以及新存储的内存访问请求R3。其中,因为该内存访问请求R3的标识不在对应的标识白名单中(步骤S322的判断结果为“否”),所以对其只存储,而不会将其转发给内存13。
根据步骤S321、S322、S323的判断结果,在步骤S325对该内存访问请求R3进行了相应的处理,即存储但不转发,此时对该内存访问请求R3的处理结束。然后,当接收单元111接收到下一个内存访问请求时,从步骤S321开始进行同样的判断。
另外,如果步骤S323的判断结果为“否”,则进入第一返回步骤S326。也就是说,在步骤S323中,判断出当前存储的内存访问请求中没有与内存访问请求R3的标识ID1相同的其他内存访问请求,即,没有内存访问模块1先前发出的其他内存访问请求(例如,只有其他内存访问模块发出的内存访问请求),那么进入步骤S326。
在步骤S326,第一返回单元1125将错误消息作为内存访问请求R3的访问结果返回给对应的内存访问模块1。此时,由于并未存储内存访问请求R3,所以当前存储的内存访问请求没有变化,即,更新存储的内存访问请求与当前存储的内存访问请求相同。并且此时,该内存访问请求R3的访问请求结束。
根据步骤S321、S322、S323的判断结果,在步骤S326对该内存访问请求R3进行了相应处理,即,将内存访问请求R3的访问结果(错误消息)返回给内存访问模块1。然后,当接收单元111接收到下一个内存访问请求时,从步骤S321开始进行同样的判断。
在图5所示的判断处理步骤S32中,对接收到的每个内存访问请求,都根据判断结果进行相应处理,每当处理完当前接收到的内存访问请求时,则对下一个接收到的内存访问请求进行相应处理,并且可以获得一直在变化的更新存储的内存访问请求。
接下来,在检测返回步骤S33,检测返回单元113对更新存储的内存访问请求进行检测,根据检测结果将内存访问请求的访问结果传送给对应的内存访问模块。
下面结合图6、图7进行详细说明。图6是根据本发明的实施例的内存访问控制器11中的检测返回单元113的结构图;图7是根据本发明的实施例的内存访问方法中的检测返回步骤S33的流程图。
在第四判断步骤S331中,第四判断单元1131判断更新存储的内存访问请求中具有相同标识的内存访问请求是否只包含添加有错误标记的内存访问请求,如果是,则进入第三返回步骤S333,如果否,则进入第二返回步骤S332。
具体的,更新存储的内存访问请求可以包括来自不同内存访问模块的一个或多个内存访问请求,例如,更新存储的内存访问请求包括来自内存访问模块1的内存访问请求R1、R3、来自内存访问模块2的R8、R9、来自内存访问模块3的R10。其中,内存访问请求R1、R3是具有相同标识ID1的内存访问请求,内存访问请求R8、R9是具有相同标识ID2的内存访问请求,内存访问请求R10是具有相同标识ID3的内存访问请求。
对于来自内存访问模块1的内存访问请求R1、R3,判断是否只有带有错误标记的内存访问请求,例如,内存访问请求R1没有错误标记,内存访问请求R3具有错误标记,那么就判断出内存访问请求R1、R3包含添加有错误标记的R3以及没添加有错误标记的内存访问请求R1,即,判断出内存访问请求R1、R3不是只包含添加有错误标记的内存访问请求。同样,对于来自内存访问模块2的内存访问请求R8、R9,判断出内存访问请求R8、R9都不具有错误标记。对于来自内存访问模块3的内存访问请求R10,判断出内存访问请求R10具有错误标记,即,来自内存访问模块3的内存访问请求只包含添加有错误标记的内存访问请求R10,则进入第三返回步骤S333。
在步骤S331,第四判断单元1131对更新存储的内存访问请求中来自每个内存访问模块的一个或多个内存访问请求进行判断,并且判断出只要有一个内存访问模块的内存访问请求是该内存访问模块的唯一的且添加有错误标记的内存访问请求时,例如,判断出标识为ID3(内存访问模块3)的内存访问请求只包含唯一的且添加有错误标记的内存访问请求R10,则进入第三返回步骤S333。
在步骤S333,第二返回单元1132将错误消息作为访问结果返回给添加有错误标记的内存访问请求的标识所对应的内存访问模块,并删除添加有所述错误标记的内存访问请求。例如,第二返回单元1132将错误消息作为访问结果返回给内存访问请求R10的标识ID3所对应的内存访问模块3,并删除内存访问请求R3。此时,当前存储的内存访问请求中不包含内存访问请求R3。
如果在步骤S331中的判断结果为“否”,则进入第二返回步骤S332。例如,对于来自内存访问模块1的内存访问请求,其中,内存访问请求R1没有错误标记,内存访问请求R3具有错误标记。对于来自内存访问模块2的内存访问请求R8、R9,其中,内存访问请求R8、R9都不具有错误标记。对于来自内存访问模块3的内存访问请求R10,其中内存访问请求R10不具有错误标记。也就是说,来自相同内存访问模块的内存访问请求都不只包含添加有错误标记的内存访问请求,即,每个内存访问模块的内存访问请求都至少包含一个未添加有错误标记的内存访问请求,那么进入第二返回步骤S332。
在步骤S332,当从内存13接收到返回结果时,第二返回单元1132将返回结果中的成功消息作为访问结果传送给与返回结果对应的内存访问请求的标识所对应的内存访问模块,并删除与返回结果对应的内存访问请求。
其中,在步骤S332,等待内存13经由总线12传送过来的返回结果。当经由总线12从内存13接收到内存访问请求R1的返回结果D1时,第二返回单元1132将返回结果D1中的成功消息作为访问结果传送给与内存访问请求R1的标识ID1对应的内存访问模块1,此时,内存访问请求R1的访问请求结束。另外,删除该内存访问请求R1,此时,当前存储的内存访问请求中已不包含内存访问请求R1。
在图7所示的步骤S33中,检测返回单元113定时对更新存储的内存访问请求进行检测,即,执行图7中的各个步骤,从而将更新存储的内存访问请求中的每个内存访问请求的访问结果返回给对应的内存访问模块。其中,访问结果是成功消息,则表示该内存访问请求成功访问了内存,如果访问结果是错误消息,则表示该内存访问请求被拒绝访问内存,即,内存访问失败。
本发明中,判断处理单元112仅仅将标识在标识白名单中的内存访问请求进行转发,也就是说,本发明只会转发对要访问的内存区域具有访问权限的内存访问请求,因此可以有效地保护内存,避免敏感信息的泄漏。
进一步,本发明中,对于转发到AXI总线12上的来自不同内存访问模块的内存访问请求,AXI总线可以打乱顺序进行转发处理,从而可以使得内存访问模块高效地访问内存。
虽然经过对本发明结合具体实施例进行描述,对于本领域的技术技术人员而言,根据上文的叙述后作出的许多替代、修改与变化将是显而易见。因此,当这样的替代、修改和变化落入附后的权利要求的精神和范围之内时,应该被包括在本发明中。
Claims (11)
1.一种内存访问方法,其特征在于,所述方法包括:
接收步骤,经由总线从内存访问模块接收内存访问请求,所述内存访问请求包括所述内存访问模块的标识、要访问的内存区域名;
判断处理步骤,根据当前存储的内存访问请求以及预定的内存访问控制表,对所述内存访问请求进行判断,根据判断结果对所述内存访问请求进行相应处理,并得到更新存储的内存访问请求;
检测返回步骤,对所述更新存储的内存访问请求进行检测,根据检测结果将所述更新存储的内存访问请求中的每个内存访问请求的访问结果传送给对应的内存访问模块。
2.如权利要求1所述的方法,其特征在于,所述内存访问控制表中包含多个内存区域名,以及与每个内存区域名对应的标识白名单。
3.如权利要求2所述的方法,其特征在于,所述判断处理步骤进一步包括:
第一判断步骤,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同且有错误标记的内存访问请求,如果是,则对所述内存访问请求的处理结束,如果否,则进入第二判断步骤;
第二判断步骤,判断所述内存访问请求中的所述标识是否在所述要访问的内存区域名的所述对应的标识白名单中,如果是,则进入存储转发步骤,如果否,则进入第三判断步骤;
第三判断步骤,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同的其他内存访问请求,如果是,则进入存储步骤,如果否,则进入第一返回步骤;
存储转发步骤,存储所述内存访问请求,得到所述更新存储的内存访问请求,并经由所述总线将所述内存访问请求传送给所述内存;
存储步骤,将所述错误标记添加到所述内存访问请求中,并进行存储,得到所述更新存储的内存访问请求;
第一返回步骤,将错误消息作为所述内存访问请求的所述访问结果返回给对应的内存访问模块。
4.如权利要求3所述的方法,其特征在于,所述检测返回步骤进一步包括:
第四判断步骤,判断所述更新存储的内存访问请求中具有相同标识的内存访问请求是否只包含添加有所述错误标记的内存访问请求,如果是,则进入第三返回步骤,如果否,则进入所述第二返回步骤;
第二返回步骤,当从所述内存接收到返回结果时,经由所述总线,将所述返回结果中的成功消息作为所述访问结果传送给与所述返回结果对应的内存访问请求的标识所对应的内存访问模块,并删除与所述返回结果对应的内存访问请求;
第三返回步骤,经由所述总线,将所述错误消息作为所述访问结果传送给添加有所述错误标记的内存访问请求的标识所对应的内存访问模块,并删除所述添加有所述错误标记的内存访问请求。
5.如权利要求1-4中任一项所述的方法,其特征在于,所述总线是高级可扩展总线。
6.一种内存访问控制器,其特征在于,所述控制器包括:
接收单元,经由总线从内存访问模块接收内存访问请求,所述内存访问请求包括所述内存访问模块的标识、要访问的内存区域名;
判断处理单元,根据当前存储的内存访问请求以及预定的内存访问控制表,对所述内存访问请求进行判断,根据判断结果对所述内存访问请求进行相应处理,并得到更新存储的内存访问请求;
检测返回单元,对所述更新存储的内存访问请求进行检测,根据检测结果将所述更新存储的内存访问请求中的每个内存访问请求的访问结果传送给对应的内存访问模块。
7.如权利要求6所述的控制器,其特征在于,所述内存访问控制表中包含多个内存区域名,以及与每个内存区域名对应的标识白名单。
8.如权利要求7所述的控制器,其特征在于,所述判断处理单元进一步包括:
第一判断单元,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同且有错误标记的内存访问请求,如果是,则对所述内存访问请求的处理结束;
第二判断单元,判断所述内存访问请求中的所述标识是否在所述要访问的内存区域名的所述对应的标识白名单中;
第三判断单元,判断所述当前存储的内存访问请求中是否存在与所述内存访问请求中的所述标识相同的其他内存访问请求;
存储单元,如果所述第二判断单元的判断结果为是,则所述存储单元存储所述内存访问请求,得到所述更新存储的内存访问请求,并经由所述总线将所述内存访问请求传送给所述内存;如果所述第三判断单元的判断结果为是,则所述存储单元将所述错误标记添加到所述内存访问请求中,并进行存储,得到所述更新存储的内存访问请求;
第一返回单元,如果所述第三判断单元的判断结果为否,则所述第一返回单元将错误消息作为所述内存访问请求的访问结果返回给对应的内存访问模块。
9.如权利要求8所述的控制器,其特征在于,所述检测返回单元进一步包括:
第四判断单元,判断所述更新存储的内存访问请求中具有相同标识的内存访问请求是否只包含添加有所述错误标记的内存访问请求;
第二返回单元,如果所述第四判断单元的判断结果为否,则当从所述内存接收到返回结果时,经由所述总线,所述第二返回单元将所述返回结果中的成功消息作为所述访问结果传送给与所述返回结果对应的内存访问请求的标识所对应的内存访问模块,并删除与所述返回结果对应的内存访问请求;
如果所述第四判断单元的判断结果为是,则所述第二返回单元经由所述总线,将所述错误消息作为所述访问结果传送给添加有所述错误标记的内存访问请求的标识所对应的内存访问模块,并删除所述添加有所述错误标记的内存访问请求。
10.如权利要求6-9中任一项所述的控制器,其特征在于,所述总线是高级可扩展总线。
11.一种内存访问系统,其特征在于,所述系统包括:至少一个内存访问模块,内存,总线,以及如权利要求6-10中任一项所述的内存访问控制器,
其中,所述至少一个内存访问模块经由所述总线和所述内存访问控制器来访问所述内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619460.7A CN109739806A (zh) | 2018-12-28 | 2018-12-28 | 内存访问方法、内存访问控制器和片上系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811619460.7A CN109739806A (zh) | 2018-12-28 | 2018-12-28 | 内存访问方法、内存访问控制器和片上系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109739806A true CN109739806A (zh) | 2019-05-10 |
Family
ID=66361736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811619460.7A Pending CN109739806A (zh) | 2018-12-28 | 2018-12-28 | 内存访问方法、内存访问控制器和片上系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739806A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022021446A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 一种内存保护方法及保护代理控制装置 |
CN114072738A (zh) * | 2019-07-08 | 2022-02-18 | 欧姆龙株式会社 | 控制器、控制系统以及控制方法 |
CN117194286A (zh) * | 2023-09-08 | 2023-12-08 | 上海合芯数字科技有限公司 | 微控制单元、处理器、访问方法和访问系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132147A1 (en) * | 2003-12-10 | 2005-06-16 | International Business Machines Corporation | Method and system for supplier-based memory speculation in a memory subsystem of a data processing system |
CN102495989A (zh) * | 2011-12-21 | 2012-06-13 | 北京诺思恒信科技有限公司 | 一种基于主体标记的访问控制方法及系统 |
CN104216834A (zh) * | 2013-05-30 | 2014-12-17 | 华为技术有限公司 | 一种内存访问的方法、缓冲调度器和内存模块 |
CN106027577A (zh) * | 2016-08-04 | 2016-10-12 | 四川无声信息技术有限公司 | 一种异常访问行为检测方法及装置 |
CN106502926A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种内存监控方法、内存访问控制器及SoC系统 |
CN107220189A (zh) * | 2017-03-14 | 2017-09-29 | 晨星半导体股份有限公司 | 内存空间管理及内存访问控制方法及装置 |
CN107465650A (zh) * | 2016-06-06 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种访问控制方法及装置 |
-
2018
- 2018-12-28 CN CN201811619460.7A patent/CN109739806A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132147A1 (en) * | 2003-12-10 | 2005-06-16 | International Business Machines Corporation | Method and system for supplier-based memory speculation in a memory subsystem of a data processing system |
CN102495989A (zh) * | 2011-12-21 | 2012-06-13 | 北京诺思恒信科技有限公司 | 一种基于主体标记的访问控制方法及系统 |
CN104216834A (zh) * | 2013-05-30 | 2014-12-17 | 华为技术有限公司 | 一种内存访问的方法、缓冲调度器和内存模块 |
CN107465650A (zh) * | 2016-06-06 | 2017-12-12 | 阿里巴巴集团控股有限公司 | 一种访问控制方法及装置 |
CN106027577A (zh) * | 2016-08-04 | 2016-10-12 | 四川无声信息技术有限公司 | 一种异常访问行为检测方法及装置 |
CN106502926A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种内存监控方法、内存访问控制器及SoC系统 |
CN107220189A (zh) * | 2017-03-14 | 2017-09-29 | 晨星半导体股份有限公司 | 内存空间管理及内存访问控制方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114072738A (zh) * | 2019-07-08 | 2022-02-18 | 欧姆龙株式会社 | 控制器、控制系统以及控制方法 |
WO2022021446A1 (zh) * | 2020-07-31 | 2022-02-03 | 华为技术有限公司 | 一种内存保护方法及保护代理控制装置 |
CN117194286A (zh) * | 2023-09-08 | 2023-12-08 | 上海合芯数字科技有限公司 | 微控制单元、处理器、访问方法和访问系统 |
CN117194286B (zh) * | 2023-09-08 | 2024-03-26 | 上海合芯数字科技有限公司 | 微控制单元、处理器、访问方法和访问系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739806A (zh) | 内存访问方法、内存访问控制器和片上系统 | |
JP3853540B2 (ja) | ファイバチャネル接続磁気ディスク装置およびファイバチャネル接続磁気ディスク制御装置 | |
US10601606B2 (en) | Communications on vehicle data buses | |
JPH05282260A (ja) | コンピユータネツトワーク及びその操作方法 | |
US8250308B2 (en) | Cache coherency protocol with built in avoidance for conflicting responses | |
US7080377B2 (en) | Method for effective utilizing of shared resources in computerized system | |
US20080071961A1 (en) | Shared system of i/o equipment, shared system of information processing apparatus, and method used thereto | |
CN102196060A (zh) | 一种Cache服务器选择源站的方法和系统 | |
CN106878084B (zh) | 一种权限控制方法和装置 | |
WO2003014890A3 (en) | Apparatus and method for resolving security association database update coherency in high-speed systems having multiple security channels | |
CN104639650A (zh) | 一种细粒度分布式接口访问控制方法及装置 | |
CN105224541B (zh) | 数据的唯一性控制方法、信息存储方法及装置 | |
JP2008030691A (ja) | 車両用制御システムのメッセージ管理装置及び車両用制御システム | |
CN111163245B (zh) | 网络硬盘录像机中添加网络摄像机的方法及装置 | |
CN112637338B (zh) | 一种物联网节点服务管理方法、装置、设备及存储介质 | |
CN109600254A (zh) | 全链路日志的生成方法及相关系统 | |
US11372690B2 (en) | Multi-phase distributed task coordination | |
CN107249050A (zh) | 云平台中资源的管理方法和装置 | |
CN108023774B (zh) | 一种跨网关迁移的方法及装置 | |
WO2015157935A1 (zh) | 一种流表项管理方法及设备 | |
JPH1117714A (ja) | アドレス設定方法、及びこのアドレス設定方法が適用される通信システム | |
CN109726171A (zh) | 内存访问方法、内存访问控制器和片上系统 | |
US6816888B2 (en) | Communication process and system with service access points and groups of references where participant addresses are used to access a particular reference | |
CN106331897B (zh) | 一种列表处理方法及装置 | |
CN111010286A (zh) | 基于串行总线的智能注册方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190510 |
|
WD01 | Invention patent application deemed withdrawn after publication |