CN114357399A - 一种基于存储器的访存权限控制方法及装置 - Google Patents
一种基于存储器的访存权限控制方法及装置 Download PDFInfo
- Publication number
- CN114357399A CN114357399A CN202111457572.9A CN202111457572A CN114357399A CN 114357399 A CN114357399 A CN 114357399A CN 202111457572 A CN202111457572 A CN 202111457572A CN 114357399 A CN114357399 A CN 114357399A
- Authority
- CN
- China
- Prior art keywords
- memory
- area
- access
- access control
- information
- 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
Images
Abstract
本发明公开了一种基于存储器的访存权限控制方法及装置,该方法包括:根据存储器中需要纳入访存权限管理的区域,计算管理区域的区域地址信息,包括管理区域在存储器中的地址索引;确定访存控制信息,访存控制信息包括管理区域中的每个存储单元的访存控制标识;设置与区域地址信息及访存控制信息相匹配的访存专用标识,访存专用标识用于表示具有访存专用标识的Master能够访存区域地址信息以及访存控制信息。可见,本发明能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,提高了存储器的利用效率,节省存储器的使用成本。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种基于存储器的访存权限控制方法及装置。
背景技术
随着信息技术的快速发展,可信计算是一个非常迫切的现实需求,为了提高计算机设备的安全性,要求计算机系统的运行行为是授权的、可信执行的。由于计算系统的运行需要经常对存储器进行数据的访问和存储,因此,对存储器的访存权限的控制成为信息安全的重要一环。
在实际应用中,对存储器的访存权限的控制方法分为两类:1)在芯片设计阶段,采用片上固定RAM区域来做访存权限控制标记,通过RAM中的控制标记来实现存储器的访存权限的控制;2)在物理内存中划定一片连续区域为指定安全区域,并在该指定安全区域完成所有安全访问操作。可见,现有的存储器访存权限控制方法,均采用固定的存储区域来进行权限控制,灵活性和扩展性较差,降低了存储器的利用效率。
发明内容
本发明提供了一种基于存储器的访存权限控制方法及装置,能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,同时按照不同需求配置多样化的访存权限控制策略,提高了存储器的利用效率,可动态灵活的设定管理区域以及区域地址信息及访存控制信息的存储区域,节省存储器的使用成本,提高了内存访问控制的灵活性和可扩展性。
为了解决上述技术问题,本发明第一方面公开了一种基于存储器的访存权限控制方法,所述方法包括:
根据确定出的管理区域,计算所述管理区域的区域地址信息,所述区域地址信息包括所述管理区域在所述存储器中的地址索引,所述管理区域为所述存储器中需要纳入访存权限管理的区域;
确定与所述管理区域相关联的访存控制信息,所述访存控制信息包括所述管理区域中的每个存储单元的访存控制标识;
设置与所述区域地址信息及所述访存控制信息相匹配的访存专用标识,所述访存专用标识用于表示具有所述访存专用标识的Master能够访存所述区域地址信息以及所述访存控制信息。
作为一种可选的实施方式,在本发明第一方面中,所述根据确定出的管理区域,计算所述管理区域的区域地址信息,包括:
根据确定出的管理区域,计算所述管理区域在所述存储器中的基地址信息以及长度信息;
将所述管理区域对应的基地址信息以及长度信息确定为所述管理区域的区域地址信息。
作为一种可选的实施方式,在本发明第一方面中,所述确定与所述管理区域相关联的访存控制信息,包括:
根据预先确定出的权限控制模型,确定出所述管理区域中每个存储单元的访存控制标识;
将所有所述存储单元对应的访存控制标识确定为所述管理区域的访存控制信息。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
在确定出所述区域地址信息以及所述访存控制信息之后,将所述区域地址信息以及所述访存控制信息缓存至预先确定出的缓存单元;
其中,所述将所述区域地址信息以及所述访存控制信息缓存至预先确定出的缓存空间,包括:
判断所述缓存单元的空间是否大于等于所述区域地址信息和所述访存控制信息所需的空间总和;
当判断结果为是时,将所述区域地址信息以及所述访存控制信息的全部信息缓存至所述缓存单元;
当判断结果为否时,分别计算出所述区域地址信息的第一缓存权重值以及所述访存控制信息的第二缓存权重值,并根据所述第一缓存权重值以及所述第二缓存权重值,分别从所述区域地址信息中筛选出目标区域缓存信息以及从所述访存控制信息中筛选出目标访存控制缓存信息;将所述目标区域缓存信息以及所述目标访存控制缓存信息缓存至所述缓存单元。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
在确定出所述区域地址信息以及所述访存控制信息之后,判断所述区域地址信息的存储区域、所述访存控制信息的存储区域以及所述管理区域两两之间是否存在重叠区域;
当判断出存在所述重叠区域时,重新触发执行所述的计算所述管理区域的区域地址信息的操作以及所述的确定与所述管理区域相关联的访存控制信息的操作;或者,
当判断出存在所述重叠区域时,将所述重叠区域标注为禁止访存区域,并生成报错信息。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
监测是否存在某一存储单元的访存控制标识需要变更,当监测到存在所述存储单元的访存控制标识需要变更时,确定所述存储单元所需变更的目标访存控制标识;
将所述访存控制信息中所述存储单元对应的访存控制标识变更为所述目标访存控制标识;或者,
由访存专用Master将所述访存控制信息中所述存储单元对应的访存控制标识变更为所述目标访存控制标识,其中所述访存专用Master为具有所述访存专用标识的Master。
作为一种可选的实施方式,在本发明第一方面中,所述设置与所述区域地址信息及所述访存控制信息相匹配的访存专用标识之后,所述方法还包括:
判断是否接收到访存命令,所述访存命令是由任一Master发送的;
当判断出接收到所述访存命令时,判断所述访存命令所需访存的目标存储单元是否存在于所述管理区域中;
当判断结果为是时,判断所述访存命令中是否存在与所述访存专用标识相匹配的内容;
当判断出所述访存命令中不存在与所述访存专用标识相匹配的内容时,拒绝执行所述访存命令。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
当判断出所述访存命令中存在与所述访存专用标识相匹配的内容时,判断所述访存命令对应的访存控制标识与所述访存控制信息中所述目标存储单元对应的访存控制标识是否相匹配;
当判断结果为是时,执行所述访存命令;
当判断结果为否时,拒绝执行所述访存命令。
本发明第二方面公开了一种基于存储器的访存权限控制装置,所述装置包括:
区域管理模块,用于根据确定出的管理区域,计算所述管理区域的区域地址信息,所述区域地址信息包括所述管理区域在所述存储器中的地址索引,所述管理区域为所述存储器中需要纳入访存权限管理的区域;
控制管理模块,用于确定与所述管理区域相关联的访存控制信息,所述访存控制信息包括所述管理区域中的每个存储单元的访存控制标识;
设置模块,用于设置与所述区域地址信息及所述访存控制信息相匹配的访存专用标识,所述访存专用标识用于表示具有所述访存专用标识的Master能够访存所述区域地址信息以及所述访存控制信息。
作为一种可选的实施方式,在本发明第二方面中,所述区域管理模块,包括:
计算子模块,用于根据确定出的管理区域,计算所述管理区域在所述存储器中的基地址信息以及长度信息;
第一确定子模块,用于将所述管理区域对应的基地址信息以及长度信息确定为所述管理区域的区域地址信息。
作为一种可选的实施方式,在本发明第二方面中,所述控制管理模块,包括:
第二确定子模块,用于根据预先确定出的权限控制模型,确定出所述管理区域中每个存储单元的访存控制标识;
第三确定子模块,用于将所有所述存储单元对应的访存控制标识确定为所述管理区域的访存控制信息。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
缓存模块,用于在所述区域管理模块确定出所述区域地址信息以及所述控制管理模块确定出所述访存控制信息之后,将所述区域地址信息以及所述访存控制信息缓存至预先确定出的缓存单元;
其中,所述缓存模块,具体用于:
判断所述缓存单元的空间是否大于等于所述区域地址信息和所述访存控制信息所需的空间总和;
当判断结果为是时,将所述区域地址信息以及所述访存控制信息的全部信息缓存至所述缓存单元;
当判断结果为否时,分别计算出所述区域地址信息的第一缓存权重值以及所述访存控制信息的第二缓存权重值,并根据所述第一缓存权重值以及所述第二缓存权重值,分别从所述区域地址信息中筛选出目标区域缓存信息以及从所述访存控制信息中筛选出目标访存控制缓存信息;将所述目标区域缓存信息以及所述目标访存控制缓存信息缓存至所述缓存单元。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
冲突检测模块,用于在所述区域管理模块确定出所述区域地址信息以及所述控制管理模块确定出所述访存控制信息之后,判断所述区域地址信息的存储区域、所述访存控制信息的存储区域以及所述管理区域两两之间是否存在重叠区域;当判断出存在所述重叠区域时,重新触发所述区域管理模块执行所述的计算所述管理区域的区域地址信息的操作以及所述控制管理模块执行所述的确定与所述管理区域相关联的访存控制信息的操作;或者,
所述冲突检测模块,还用于当判断出存在所述重叠区域时,将所述重叠区域标注为禁止访存区域,并生成报错信息。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
监测模块,用于监测是否存在某一存储单元的访存控制标识需要变更;
访存权限变更模块,用于在所述监测模块检测到存在所述存储单元的访存控制标识需要变更时,确定所述存储单元所需变更的目标访存控制标识;将所述访存控制信息中所述存储单元对应的访存控制标识变更为所述目标访存控制标识;或者,用于由访存专用Master将所述访存控制信息中所述存储单元对应的访存控制标识变更为所述目标访存控制标识,其中所述访存专用Master为具有所述访存专用标识的Master。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
判断模块,用于判断是否接收到访存命令,所述访存命令是由任一Master发送的;
所述判断模块,还用于当判断出接收到所述访存命令时,判断所述访存命令所需访存的目标存储单元是否存在于所述管理区域中;
所述判断模块,还用于当判断出所述访存命令所需访存的目标存储单元存在于所述管理区域中时,判断所述访存命令中是否存在与所述访存专用标识相匹配的内容;
执行模块,用于当所述判断模块判断出所述访存命令中不存在与所述访存专用标识相匹配的内容时,拒绝执行所述访存命令。
作为一种可选的实施方式,在本发明第二方面中,所述判断模块,还用于当判断出所述访存命令中存在与所述访存专用标识相匹配的内容时,判断所述访存命令对应的访存控制标识与所述访存控制信息中所述目标存储单元对应的访存控制标识是否相匹配;
所述执行模块,还用于当所述判断模块判断出所述访存命令对应的访存控制标识与所述访存控制信息中所述目标存储单元对应的访存控制标识相匹配时,执行所述访存命令;还用于当所述判断模块判断出所述访存命令对应的访存控制标识与所述访存控制信息中所述目标存储单元对应的访存控制标识不相匹配时,拒绝执行所述访存命令。
本发明第三方面公开了另一种基于存储器的访存权限控制装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的任意一种基于存储器的访存权限控制方法中的部分或全部步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的任意一种基于存储器的访存权限控制方法中的部分或全部步骤。
与现有技术相比,本发明具有以下有益效果:
本发明根据存储器中需要纳入访存权限管理的区域,计算管理区域的区域地址信息,包括管理区域在存储器中的地址索引;确定访存控制信息,访存控制信息包括管理区域中的每个存储单元的访存控制标识;设置与区域地址信息及访存控制信息相匹配的访存专用标识,访存专用标识用于表示具有访存专用标识的Master能够访存区域地址信息以及访存控制信息。可见,本发明能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,同时按照不同需求配置多样化的访存权限控制策略,提高了存储器的利用效率,可动态灵活的设定管理区域以及区域地址信息及访存控制信息的存储区域,节省存储器的使用成本,提高了内存访问控制的灵活性和可扩展性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基于存储器的访存权限控制方法的流程示意图;
图2是本发明实施例公开的另一种基于存储器的访存权限控制方法的流程示意图;
图3是本发明实施例公开的一种基于存储器的访存权限控制装置的结构示意图;
图4是本发明实施例公开的另一种基于存储器的访存权限控制装置的结构示意图;
图5是本发明实施例公开的又一种基于存储器的访存权限控制装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种基于存储器的访存权限控制方法及装置,能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,同时按照不同需求配置多样化的访存权限控制策略,提高了存储器的利用效率,可动态灵活的设定管理区域以及区域地址信息及访存控制信息的存储区域,节省存储器的使用成本,提高了内存访问控制的灵活性和可扩展性。
实施例一
请参阅图1,图1是本发明实施例公开的一种基于存储器的访存权限控制方法的流程示意图。其中,图1所描述的方法可以应用于基于存储器的访存权限控制装置中,该基于存储器的访存权限控制装置可以是一个独立的装置(比如,内存访问控制器),也可以集成在计算机处理设备中,本发明实施例不做限定。如图1所示,该基于存储器的访存权限控制方法可以包括以下操作:
101、根据确定出的管理区域,计算管理区域的区域地址信息。
本发明实施例中,管理区域是存储器中需要纳入访存权限控制的存储区域,需要说明的是,存储区域中的存储单元为可用地址信息进行索引的区域,即可以通过地址寻址的方式对其中的存储单元进行定位。此外,存储区域可以是内存区域,也可以是硬盘存储区域等,本发明实施例不做限定。根据确定出的管理区域,即可计算出该管理区域的区域地址信息,相应的,区域地址信息包括该管理区域在存储器中的地址索引。对区域地址信息进行初始化,可以将其存储在本存储器中,也可以存储在计算机系统的物理内存中,本发明实施例不做限定。
在该实施例中,管理区域的个数可以是一个,也可以是多个,本发明实施例不做限定。对于多个管理区域,相应的,需要确定出每个管理区域对应的区域地址信息,多个管理区域之间可以在存储地址上是连续的,也可以是非连续的,对此本发明实施例亦不做限定。
102、确定与管理区域相关联的访存控制信息。
本发明实施例中,根据确定出的管理区域,为实现对管理区域中每个存储单元进行独立的控制,本发明对管理区域中每个存储单元均设置了访存控制标识,将所有存储单元对应的访存控制标识确定为访存控制信息。对访存控制信息进行初始化,可以将其存储在本存储器中,也可以存储在计算机系统的物理内存中,本发明实施例不做限定。
举例说明,管理区域包括2个页框单元,分别设置访存控制标识为{第1页框,安全}、{第2页框,非安全},非安全世界的Master(比如,CPU等可请求访存存储器的单元)不能访问安全属性的页框,则访存控制信息可以采用2个bit位来存储,第一个低位bit位存储“0”,用于表示区域地址信息对应的第1页框的访存权限为“安全”;第二个低位bit位存储“1”,用于表示区域地址信息对应的第2页框的访存权限为“非安全”。
需要说明的是,每个管理区域的占用空间可以是不同的,各个管理区域中的每个存储单元的占用空间亦可以是不同的,以实现更加灵活的访存权限控制。比如,Linux操作系统中的内存是以4K/16K/64K的页框为存储单元的,本管理区域为了与操作系统的内存实现页框对其,同样可以将每个存储单元的空间大小设置为4K/16K/64K。
103、设置与区域地址信息及访存控制信息相匹配的访存专用标识。
本发明实施例中,在对区域地址信息以及访存控制信息初始化完成后,设置一个或多个与区域地址信息以及访存控制信息相匹配的访存专用标识,该访存专用标识用来表示具有该访存专用标识的Master能够访存区域地址信息以及访存控制信息,比如,将Master ID转换成二进制后的第三个低位bit位为1作为访存专用标识,当检测到发起对区域地址信息或者访存控制信息访存请求的Master的ID为7时,转换成二进制为“0x00000111”,其第三个低位bit为1,则该Master即可以访存区域地址信息或访存控制信息。
进一步的,设置的区域地址信息的访存专用标识与访存控制信息的访存专用标识可以是同一个标识,也可以是不同的标识,本发明实施例不做限定。
可见,本发明实施例所描述的方法能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,同时按照不同需求配置多样化的访存权限控制策略,提高了存储器的利用效率,可动态灵活的设定管理区域以及区域地址信息及访存控制信息的存储区域,节省存储器的使用成本,提高了内存访问控制的灵活性和可扩展性。
在一个可选的实施例中,根据确定出的管理区域,计算管理区域的区域地址信息,可以包括以下操作:
根据确定出的管理区域,计算管理区域在存储器中的基地址信息以及长度信息;
将管理区域对应的基地址信息以及长度信息确定为管理区域的区域地址信息。
本发明实施例中,在确定出管理区域之后,计算出管理区域在存储器中的基地址,并以该基地址为起算点,计算该管理区域所占用的空间长度。比如,某一管理区域的所占用的空间为0x00000000至0x00000111,则对应的基地址信息为0x00000000,长度信息为7。优选地,此处的基地址和长度都推荐做页框对齐(4K/16K/64K),便于嵌入到计算机系统的页式内存管理系统中。需要说明的是,如果存在多个管理区域,则相应的需要计算出每个管理区域对应的基地址信息以及长度信息,以确定出每个管理区域的区域地址信息。
可见,本发明实施例所描述的方法能够通过管理区域的基地址信息以及长度信息的结构形式对区域地址信息进行存储,节省了区域地址信息所占用的空间大小,节约存储器的成本,同时提高了访存过程的寻址速率,增强灵活性和可扩展性。
在另一个可选的实施例中,确定与管理区域相关联的访存控制信息,可以包括以下操作:
根据预先确定出的权限控制模型,确定出管理区域中每个存储单元的访存控制标识;
将所有存储单元对应的访存控制标识确定为管理区域的访存控制信息。
本发明实施例中,为实现对管理区域中每个存储单元的独立访存控制,本发明通过预先设定的权限控制模型,为每一个存储单元均设置以及存储了单独的访存控制标识。其中,权限控制模型可以根据实际情况设置,本发明实施例不做限定。
举例说明,第一种权限控制模型,可以设定每1个bit位表示一个页框的访存权限,其两种取值(0和1)分别代表对应的页框访问权限属于安全还是非安全;非安全世界不能访问安全属性的页框;如果一个页框大小为4K bytes,则1G bytes的管理区域需要(1G/4K/8)=32K bytes的访存控制信息。第二种权限控制模型,可以设定每4个bit表示一个页框的访存权限,分别标记安全可读(0001)/安全可写(0010)/非安全可读(0100)/非安全可写(1000)4种访问权限;如果一个页框大小为4K bytes,则1G bytes的管理区域需要(1G/4K/2)=128K bytes的访存控制信息。第三种权限控制模型,可以设定每8个bit表示一个页框的访存权限,其中6个bit标记Master ID(最多支持64个Master ID),2bit标记是否可读/可写;如果一个页框大小为4K bytes,则1G bytes的管理区域需要(1G/4K)=256K bytes的访存控制信息。
可见,本发明实施例所描述的方法能够根据不同的访存控制需求,采用多样化的访存权限控制策略,实现对纳入管理范围的每个存储单元进行独立访存权限的管理,提高了存储器的利用效率,节省存储器的使用成本,提高了访问权限控制的灵活性和可扩展性。
在又一个可选的实施例中,在确定出区域地址信息以及访存控制信息之后,该方法还可以包括以下操作:
将区域地址信息以及访存控制信息缓存至预先确定出的缓存单元;
其中,将区域地址信息以及访存控制信息缓存至预先确定出的缓存空间,包括:
判断缓存单元的空间是否大于等于区域地址信息和访存控制信息所需的空间总和;
当判断结果为是时,将区域地址信息以及访存控制信息的全部信息缓存至缓存单元;
当判断结果为否时,分别计算出区域地址信息的第一缓存权重值以及访存控制信息的第二缓存权重值,并根据第一缓存权重值以及第二缓存权重值,分别从区域地址信息中筛选出目标区域缓存信息以及从访存控制信息中筛选出目标访存控制缓存信息;将目标区域缓存信息以及目标访存控制缓存信息缓存至缓存单元。
本发明实施例中,为了避免频繁访问内存造成性能瓶颈,本发明在确定出区域地址信息以及访存控制信息之后,将区域地址信息以及访存控制信息进行缓存。当判断出缓存单元的空间大于等于于区域地址信息和访存控制信息所需的空间总和的时候,可以将区域地址信息以及访存控制信息的全部信息从其存储区域缓存至缓存单元。当判断出缓存单元的空间大小不足时,需要根据缓存策略将部分信息进行缓存。首先根据系统的负载和/或应用场景,确定出区域地址信息对应的第一缓存权重值以及访存控制信息对应的第二缓存权重值,分别根据的第一缓存权重值以及第二缓存权重值从区域地址信息中筛选出目标区域缓存信息以及从访存控制信息中筛选出目标访存控制缓存信息,将目标区域缓存信息以及目标访存控制缓存信息缓存至缓存单元。
举例说明,假如缓存单元的空间大小为1M,此时区域地址信息和访存控制信息所占用的空间大小为2M,此时根据系统的应用场景,判断出系统此时主要的任务在于对访存控制信息的访问,则确定出区域地址信息的第一缓存权重值为0.3,访存控制信息的第二缓存权重值为0.7,即预留给区域地址信息的缓存空间为约为300K,预留给访存控制信息的缓存空间为700K。此时,可以根据优先级判定规则,对区域地址信息以及访存控制信息中的存储单元进行优先级排序,筛选出区域地址信息中优先级最高的目标区域缓存信息(小于等于300K)以及访存控制信息中目标访存控制缓存信息(小于等于700K)缓存至缓存单元中。
可见,本发明实施例所描述的方法能够将地址信息和访存控制信息进行缓存值缓存单元,提高了对地址信息和访存控制信息的访问效率,同时降低了频繁访存存储器带来的性能影响,进一步提高了存储器的利用效率和访存效率。
在又一个可选的实施例中,在确定出区域地址信息以及访存控制信息之后,该方法还可以包括以下操作:
判断区域地址信息的存储区域、访存控制信息的存储区域以及管理区域两两之间是否存在重叠区域;
当判断出存在重叠区域时,重新触发执行计算管理区域的区域地址信息的操作以及确定与管理区域相关联的访存控制信息的操作;或者,
当判断出存在重叠区域时,将重叠区域标注为禁止访存区域,并生成报错信息。
本发明实施例中,在根据管理区域确定出区域地址信息以及访存控制信息之后,对区域地址信息的存储区域、访存控制信息的存储区域以及管理区域两两之间进行重叠区域检测。当检测出重叠区域时,可以重新触发执行上述的步骤101、102对应的操作,重新确定区域地址信息以及访存控制信息的存储区域,以避免因计算出错导致出现重叠区域;还可以将该重叠区域标注为禁止访存区域,也即标注为无效区域,禁止使用,同时生成包含该重叠区域信息的报错信息。
可见,本发明实施例所描述的方法能够对区域地址信息、访存控制信息以及管理区域的存储空间进行重叠区域检测,降低后续访存存储器发生错误的概率,同时通过多种措施以对重叠区域进行补救,提高了本发明的稳定性,进一步提高了存储器的利用效率和访存效率。
实施例二
请参阅图2,图2是本发明实施例公开的一种基于存储器的访存权限控制方法的流程示意图。其中,图2所描述的方法可以应用于基于存储器的访存权限控制装置中,该基于存储器的访存权限控制装置可以是一个独立的装置(比如,内存访问控制器),也可以集成在计算机处理设备中,本发明实施例不做限定。如图2所示,该基于存储器的访存权限控制方法可以包括以下操作:
201、根据确定出的管理区域,计算管理区域的区域地址信息。
202、确定与管理区域相关联的访存控制信息。
203、设置与区域地址信息及访存控制信息相匹配的访存专用标识。
本发明实施例中,针对步骤201-步骤203的其它描述,请分别对应参照实施例一中针对步骤101-步骤103的详细描述,本发明实施例不再赘述。
204、接收到访存命令时,判断访存命令所需访存的目标存储单元是否存在于管理区域中;当判断结果为是时,判断访存命令中是否存在与访存专用标识相匹配的内容;当判断出访存命令中不存在与访存专用标识相匹配的内容时,触发执行步骤205。
本发明实施例中,在接收到任一Master发送的访存命令时,解析该访存命令,并判断该访存命令所需访存的目标存储单元是否存在于该存储器的管理区域中,如果判断结果为否时,拒绝执行该访存指令。如果判断结果为是时,继续判断该访存命令中是否存在与访存专用标识相匹配的内容,比如,解析出的Master ID是否与上述访存专用标识相匹配。
205、拒绝执行访存命令。
206、当判断出访存命令中存在与访存专用标识相匹配的内容时,判断访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识是否相匹配;当判断出访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识相匹配时,触发执行步骤207;当判断出访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识不相匹配时,触发执行步骤205。
本发明实施例中,当该访存命令中存在访存专用标识时,则说明发送该访存命令的Master具有访存区域地址信息以及访存控制信息的权限,此时,需要继续判断该访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识是否相匹配。举例说明,该访存命令表征的是需要对管理区域中0x00000001地址位置的存储单元进行写入操作,需要获取该0x00000001地址位置对应的访存控制信息中的访存控制信息,并进行对比匹配,假如访存命令表征的是需要对管理区域中0x00000001地址位置的存储单元进行写入操作,获取该0x00000001地址位置对应的访存控制信息中的访存控制信息为“可写入”,相匹配,即可以执行该访存命令。
进一步的,当判断出访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识不相匹配时,拒绝执行访存命令。
207、执行访存命令。
可见,本发明实施例所描述的方法能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,同时通过对访存命令进行实时检查,拒绝非授权命令,为访问权限控制方法提供了更多的扩展性,进一步提高了存储器的利用效率,节省存储器的使用成本。
在一个可选的实施例中,该方法还可以包括以下操作:
监测是否存在某一存储单元的访存控制标识需要变更,当监测到存在存储单元的访存控制标识需要变更时,确定存储单元所需变更的目标访存控制标识;
将访存控制信息中存储单元对应的访存控制标识变更为目标访存控制标识;或者,
由访存专用Master将访存控制信息中存储单元对应的访存控制标识变更为目标访存控制标识,其中访存专用Master为具有访存专用标识的Master。
本发明实施例中,实时检测是否存在某一存储单元的访存控制标识需要变更,当监测到存在某一存储单元的访存控制标识需要变更时,本存储器可以将访存控制信息中存储单元对应的访存控制标识变更为目标访存控制标识。此外,还可以由访存专用Master将访存控制信息中存储单元对应的访存控制标识变更为目标访存控制标识,该访存专用Master即为具有上述访存专用标识的Master。
可见,本发明实施例所描述的方法能够通过实时监测,根据存储器管理区域的分配需求,动态设置指定存储单元的访存权限动态,提高内存访问控制的灵活性和可扩展性。
实施例三
请参阅图3,图3是本发明实施例公开的一种基于存储器的访存权限控制装置的结构示意图。其中,图3所描述的装置可以是一个独立的装置(比如,内存访问控制器),也可以集成在计算机处理设备中,本发明实施例不做限定。需要说明的是,该基于存储器的访存权限控制装置参照的是实施例一和实施例二所描述的一种基于存储器的访存权限控制方法中的步骤,详细的描述在本实施例中就不做赘述,如图3所示,该基于存储器的访存权限控制装置可以包括:
区域管理模块301,用于根据确定出的管理区域,计算管理区域的区域地址信息,区域地址信息包括管理区域在存储器中的地址索引,管理区域为存储器中需要纳入访存权限管理的区域;
控制管理模块302,用于确定与管理区域相关联的访存控制信息,访存控制信息包括管理区域中的每个存储单元的访存控制标识;
设置模块303,用于设置与区域地址信息及访存控制信息相匹配的访存专用标识,访存专用标识用于表示具有访存专用标识的Master能够访存区域地址信息以及访存控制信息;
可见,本发明实施例所描述的装置能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,同时按照不同需求配置多样化的访存权限控制策略,提高了存储器的利用效率,节省存储器的使用成本,提高了内存访问控制的灵活性和可扩展性。
在一个可选的实施例中,如图4所示,区域管理模块301可以包括:
计算子模块3011,用于根据确定出的管理区域,计算管理区域在存储器中的基地址信息以及长度信息;
第一确定子模块3012,用于将管理区域对应的基地址信息以及长度信息确定为管理区域的区域地址信息。
可见,本发明实施例所描述的装置能够通过管理区域的基地址信息以及长度信息的结构形式对区域地址信息进行存储,节省了区域地址信息所占用的空间大小,节约存储器的成本,同时提高了访存过程的寻址速率,增强灵活性和可扩展性。
在另一个可选的实施例中,如图4所示,控制管理模块302可以包括:
第二确定子模块3021,用于根据预先确定出的权限控制模型,确定出管理区域中每个存储单元的访存控制标识;
第三确定子模块3022,用于将所有存储单元对应的访存控制标识确定为管理区域的访存控制信息。
可见,本发明实施例所描述的装置能够根据不同的访存控制需求,采用多样化的访存权限控制策略,实现对纳入管理范围的每个存储单元进行独立访存权限的管理,提高了存储器的利用效率,节省存储器的使用成本,提高了访问权限控制的灵活性和可扩展性。
在又一个可选的实施例中,如图4所示,该装置还可以包括:
缓存模块304,用于在区域管理模块301确定出区域地址信息以及控制管理模块302确定出访存控制信息之后,将区域地址信息以及访存控制信息缓存至预先确定出的缓存单元;
其中,缓存模块304,具体用于:
判断缓存单元的空间是否大于等于区域地址信息和访存控制信息所需的空间总和;
当判断结果为是时,将区域地址信息以及访存控制信息的全部信息缓存至缓存单元;
当判断结果为否时,分别计算出区域地址信息的第一缓存权重值以及访存控制信息的第二缓存权重值,并根据第一缓存权重值以及第二缓存权重值,分别从区域地址信息中筛选出目标区域缓存信息以及从访存控制信息中筛选出目标访存控制缓存信息;将目标区域缓存信息以及目标访存控制缓存信息缓存至缓存单元。
可见,本发明实施例所描述的装置能够将地址信息和访存控制信息进行缓存值缓存单元,提高了对地址信息和访存控制信息的访问效率,同时降低了频繁访存存储器带来的性能影响,进一步提高了存储器的利用效率和访存效率。
在又一个可选的实施例中,如图4所示,该装置还可以包括:
冲突检测模块305,用于在区域管理模块301确定出区域地址信息以及控制管理模块302确定出访存控制信息之后,判断区域地址信息的存储区域、访存控制信息的存储区域以及管理区域两两之间是否存在重叠区域;
当判断出存在重叠区域时,重新触发区域管理模块301执行计算管理区域的区域地址信息的操作以及控制管理模块302执行确定与管理区域相关联的访存控制信息的操作;或者,
当判断出存在重叠区域时,将重叠区域标注为禁止访存区域,并生成报错信息。
可见,本发明实施例所描述的装置能够对区域地址信息、访存控制信息以及管理区域的存储空间进行重叠区域检测,降低后续访存存储器发生错误的概率,同时通过多种措施以对重叠区域进行补救,提高了本发明的稳定性,进一步提高了存储器的利用效率和访存效率。
在又一个可选的实施例中,如图4所示,该装置还可以包括:
监测模块306,用于监测是否存在某一存储单元的访存控制标识需要变更;
访存权限变更模块307,用于在监测模块306检测到存在存储单元的访存控制标识需要变更时,确定存储单元所需变更的目标访存控制标识;将访存控制信息中存储单元对应的访存控制标识变更为目标访存控制标识;或者,用于由访存专用Master将访存控制信息中存储单元对应的访存控制标识变更为目标访存控制标识,其中访存专用Master为具有访存专用标识的Master。
可见,本发明实施例所描述的装置能够通过实时监测,根据存储器管理区域的分配需求,动态设置指定存储单元的访存权限动态,提高内存访问控制的灵活性和可扩展性。
在又一个可选的实施例中,如图4所示,该装置还可以包括:
判断模块308,用于判断是否接收到访存命令,访存命令是由任一Master发送的;
判断模块308,还用于当判断出接收到访存命令时,判断访存命令所需访存的目标存储单元是否存在于管理区域中;
判断模块308,还用于当判断出访存命令所需访存的目标存储单元存在于管理区域中时,判断访存命令中是否存在与访存专用标识相匹配的内容;
执行模块309,用于当判断模块308判断出访存命令中不存在与访存专用标识相匹配的内容时,拒绝执行访存命令。
判断模块308,还用于当判断出访存命令中存在与访存专用标识相匹配的内容时,判断访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识是否相匹配;
执行模块309,还用于当判断模块308判断出访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识相匹配时,执行访存命令;还用于当判断模块308判断出访存命令对应的访存控制标识与访存控制信息中目标存储单元对应的访存控制标识不相匹配时,拒绝执行访存命令。
可见,本发明实施例所描述的装置能够提供一种基于存储单元的开放式的访存权限控制方法,动态配置管理区域地址信息以及访存控制信息,实现了对纳入管理范围的每个存储单元的独立访存权限的管理,同时通过对访存命令进行实时检查,拒绝非授权命令,为访问权限控制方法提供了更多的扩展性,进一步提高了存储器的利用效率,节省存储器的使用成本。
实施例四
请参阅图5,图5是本发明实施例公开的又一种基于存储器的访存权限控制装置的结构示意图。其中,图5所描述的装置可以是一个独立的装置(比如,内存访问控制器),也可以集成在计算机处理设备中,本发明实施例不做限定。如图5所示,该基于存储器的访存权限控制装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一或实施例二公开的基于存储器的访存权限控制方法中的部分或全部步骤。
实施例五
本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或实施例二公开的基于存储器的访存权限控制方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种基于存储器的访存权限控制方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (10)
1.一种基于存储器的访存权限控制方法,其特征在于,所述方法包括:
根据确定出的管理区域,计算所述管理区域的区域地址信息,所述区域地址信息包括所述管理区域在所述存储器中的地址索引,所述管理区域为所述存储器中需要纳入访存权限管理的区域;
确定与所述管理区域相关联的访存控制信息,所述访存控制信息包括所述管理区域中的每个存储单元的访存控制标识;
设置与所述区域地址信息及所述访存控制信息相匹配的访存专用标识,所述访存专用标识用于表示具有所述访存专用标识的Master能够访存所述区域地址信息以及所述访存控制信息。
2.根据权利要求1所述的基于存储器的访存权限控制方法,其特征在于,所述根据确定出的管理区域,计算所述管理区域的区域地址信息,包括:
根据确定出的管理区域,计算所述管理区域在所述存储器中的基地址信息以及长度信息;
将所述管理区域对应的基地址信息以及长度信息确定为所述管理区域的区域地址信息。
3.根据权利要求1或2所述的基于存储器的访存权限控制方法,其特征在于,所述确定与所述管理区域相关联的访存控制信息,包括:
根据预先确定出的权限控制模型,确定出所述管理区域中每个存储单元的访存控制标识;
将所有所述存储单元对应的访存控制标识确定为所述管理区域的访存控制信息。
4.根据权利要求3所述的基于存储器的访存权限控制方法,其特征在于,所述方法还包括:
在确定出所述区域地址信息以及所述访存控制信息之后,将所述区域地址信息以及所述访存控制信息缓存至预先确定出的缓存单元;
其中,所述将所述区域地址信息以及所述访存控制信息缓存至预先确定出的缓存空间,包括:
判断所述缓存单元的空间是否大于等于所述区域地址信息和所述访存控制信息所需的空间总和;
当判断结果为是时,将所述区域地址信息以及所述访存控制信息的全部信息缓存至所述缓存单元;
当判断结果为否时,分别计算出所述区域地址信息的第一缓存权重值以及所述访存控制信息的第二缓存权重值,并根据所述第一缓存权重值以及所述第二缓存权重值,分别从所述区域地址信息中筛选出目标区域缓存信息以及从所述访存控制信息中筛选出目标访存控制缓存信息;将所述目标区域缓存信息以及所述目标访存控制缓存信息缓存至所述缓存单元。
5.根据权利要求4所述的基于存储器的访存权限控制方法,其特征在于,所述方法还包括:
在确定出所述区域地址信息以及所述访存控制信息之后,判断所述区域地址信息的存储区域、所述访存控制信息的存储区域以及所述管理区域两两之间是否存在重叠区域;
当判断出存在所述重叠区域时,重新触发执行所述的计算所述管理区域的区域地址信息的操作以及所述的确定与所述管理区域相关联的访存控制信息的操作;或者,
当判断出存在所述重叠区域时,将所述重叠区域标注为禁止访存区域,并生成报错信息。
6.根据权利要求5所述的基于存储器的访存权限控制方法,其特征在于,所述方法还包括:
监测是否存在某一存储单元的访存控制标识需要变更,当监测到存在所述存储单元的访存控制标识需要变更时,确定所述存储单元所需变更的目标访存控制标识;
将所述访存控制信息中所述存储单元对应的访存控制标识变更为所述目标访存控制标识;或者,
由访存专用Master将所述访存控制信息中所述存储单元对应的访存控制标识变更为所述目标访存控制标识,其中所述访存专用Master为具有所述访存专用标识的Master。
7.根据权利要求1-6任一所述的基于存储器的访存权限控制方法,其特征在于,所述设置与所述区域地址信息及所述访存控制信息相匹配的访存专用标识之后,所述方法还包括:
判断是否接收到访存命令,所述访存命令是由任一Master发送的;
当判断出接收到所述访存命令时,判断所述访存命令所需访存的目标存储单元是否存在于所述管理区域中;
当判断结果为是时,判断所述访存命令中是否存在与所述访存专用标识相匹配的内容;
当判断出所述访存命令中不存在与所述访存专用标识相匹配的内容时,拒绝执行所述访存命令。
8.根据权利要求7所述的基于存储器的访存权限控制方法,其特征在于,所述方法还包括:
当判断出所述访存命令中存在与所述访存专用标识相匹配的内容时,判断所述访存命令对应的访存控制标识与所述访存控制信息中所述目标存储单元对应的访存控制标识是否相匹配;
当判断结果为是时,执行所述访存命令;
当判断结果为否时,拒绝执行所述访存命令。
9.一种基于存储器的访存权限控制装置,其特征在于,所述装置包括:
区域管理模块,用于根据确定出的管理区域,计算所述管理区域的区域地址信息,所述区域地址信息包括所述管理区域在所述存储器中的地址索引,所述管理区域为所述存储器中需要纳入访存权限管理的区域;
控制管理模块,用于确定与所述管理区域相关联的访存控制信息,所述访存控制信息包括所述管理区域中的每个存储单元的访存控制标识;
设置模块,用于设置与所述区域地址信息及所述访存控制信息相匹配的访存专用标识,所述访存专用标识用于表示具有所述访存专用标识的Master能够访存所述区域地址信息以及所述访存控制信息。
10.一种基于存储器的访存权限控制装置,其特征在于,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-8任一项所述的基于存储器的访存权限控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111457572.9A CN114357399A (zh) | 2021-12-01 | 2021-12-01 | 一种基于存储器的访存权限控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111457572.9A CN114357399A (zh) | 2021-12-01 | 2021-12-01 | 一种基于存储器的访存权限控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114357399A true CN114357399A (zh) | 2022-04-15 |
Family
ID=81098198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111457572.9A Pending CN114357399A (zh) | 2021-12-01 | 2021-12-01 | 一种基于存储器的访存权限控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114357399A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115455397A (zh) * | 2022-10-28 | 2022-12-09 | 湖北芯擎科技有限公司 | 一种输入输出接口控制方法及系统 |
-
2021
- 2021-12-01 CN CN202111457572.9A patent/CN114357399A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115455397A (zh) * | 2022-10-28 | 2022-12-09 | 湖北芯擎科技有限公司 | 一种输入输出接口控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105431858B (zh) | 安全特权等级执行和访问保护 | |
US7058768B2 (en) | Memory isolation through address translation data edit control | |
US5504814A (en) | Efficient security kernel for the 80960 extended architecture | |
US7650478B2 (en) | Using limits on address translation to control access to an addressable entity | |
JPS61195443A (ja) | データ処理システム内のシステムフアイルを保護する方法及びデータ処理システム | |
US20080263256A1 (en) | Logic Device with Write Protected Memory Management Unit Registers | |
JP2013536505A (ja) | ブート前動作およびセキュアモード動作用のセキュアな読み出し可能メモリ領域のサポート | |
JP7213879B2 (ja) | 間接アクセスメモリコントローラ用のメモリ保護装置 | |
CN111159762B (zh) | 一种强制访问控制下的主体可信验证方法及系统 | |
JP2003162452A (ja) | 記憶媒体装置に格納されているデータを保護するためのシステム及び方法 | |
CN114357399A (zh) | 一种基于存储器的访存权限控制方法及装置 | |
CN114707147A (zh) | 业务请求处理方法及电子设备 | |
CN107562514B (zh) | 一种物理内存访问控制与隔离方法 | |
CN109145536B (zh) | 一种网页防篡改方法及装置 | |
US8782367B2 (en) | Memory area protection circuit | |
EP2819023A1 (en) | Computing device, access management method, and access management program | |
CN105631317B (zh) | 一种系统调用方法及装置 | |
US8621557B2 (en) | Information processing system judging whether manipulation is possible or not based on access control policy and method of operation thereof | |
CN115277228A (zh) | 一种分层网络中的数据访问防御方法及系统 | |
JP2020504393A (ja) | セキュリティアーキテクチャおよび方法 | |
KR100416447B1 (ko) | 메모리 관리 유니트가 제공된 마이크로 컴퓨터 | |
US11086797B2 (en) | Systems and methods for restricting write access to non-volatile memory | |
EP1456730B1 (en) | Method and system for module chaining control in a modular software architecture | |
CN113590264A (zh) | 一种容器环境下的文件防篡改方法及装置 | |
CN114116524A (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 |