一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

具有安全检查指示的存储器访问事务的制作方法

2022-04-14 05:09:46 来源:中国专利 TAG:

具有安全检查指示的存储器访问事务


背景技术:
技术领域
1.本技术涉及数据处理领域。更具体地,其涉及存储器访问控制。
2.技术背景
3.在一些系统中,处理器或其它设备可以在安全域或非安全域中操作。对存储器的访问控制可以取决于供处理器操作的安全域。


技术实现要素:

4.至少一些示例提供了一种存储器系统部件,该存储器系统部件包括:
5.事务处理电路,所述事务处理电路用于接收存储器访问事务,每个存储器访问事务指定至少:
6.发布域标识符,所述发布域标识符指示由发布主设备指定的用于所述存储器访问事务的发布安全域,其中所述发布安全域是多个安全域中的一个安全域;
7.目标地址;和
8.安全检查指示,所述安全检查指示指示是否已知所述存储器访问事务将通过安全检查程序;
9.其中所述安全检查程序用于基于指示允许安全域中的哪些安全域访问目标地址的控制数据来确定指示所述发布安全域的存储器访问事务是否被授权访问目标地址;并且
10.所述存储器系统部件包括控制电路,所述控制电路用于基于所述安全检查指示来确定是否仍然需要执行所述安全检查程序。
11.至少一些示例提供了一种主设备,该主设备包括:
12.事务发布电路,所述事务发布电路用于发布存储器访问事务;和
13.编码电路,所述编码电路用于对每个存储器访问事务进行编码,其中编码指定至少:
14.发布域标识符,所述发布域标识符指示针对所述存储器访问事务指定的发布安全域,其中所述发布安全域是多个安全域中的一个安全域;
15.目标地址;和
16.安全检查指示,所述安全检查指示指示是否已知所述存储器访问事务将通过安全检查程序;
17.其中所述安全检查程序用于基于指示允许安全域中的哪些安全域访问目标地址的控制数据来确定指示所述发布安全域的存储器访问事务是否被授权访问目标地址。
18.至少一些示例提供了一种方法,该方法包括:
19.接收存储器访问事务,每个存储器访问事务指定至少:
20.发布域标识符,所述发布域标识符指示由发布主设备指定的用于所述存储器访问事务的发布安全域,其中所述发布安全域是多个安全域中的一个安全域;
21.目标地址;和
22.安全检查指示,所述安全检查指示指示是否已知所述存储器访问事务将通过安全检查程序;
23.其中所述安全检查程序用于基于指示允许安全域中的哪些安全域访问目标地址的控制数据来确定指示所述发布安全域的存储器访问事务是否被授权访问目标地址;并且
24.所述方法包括基于所述安全检查指示确定是否仍然需要执行所述安全检查程序。
25.本技术的另外的方面、特征和优点将从结合附图阅读的示例的以下描述中显而易见。
附图说明
26.图1示意性地示出了数据处理装置的示例;
27.图2示意性地示出了由数据处理装置的不同角度查看的物理地址空间的示例;
28.图3示意性地示出了示例性存储器访问事务;
29.图4示意性地示出了保持数据条目的高速缓存;
30.图5示意性地示出了存储器系统部件的示例;
31.图6示意性地示出了包括安全检查电路的存储器系统部件的示例;
32.图7示意性地示出了主设备的示例;
33.图8示意性地示出了包括确定电路和安全检查电路的主设备的示例;
34.图9示意性地示出了存储器访问系统的示例;
35.图10示出了说明用于处理存储器访问事务的方法中的步骤的流程图;
36.图11示出了说明用于处理包括执行安全检查的存储器访问事务的方法中的步骤的流程图;
37.图12a示出了说明用于存储器系统部件处理包括将事务与高速缓存条目进行比较的存储器访问事务的方法中的步骤的流程图;
38.图12b示出了图12a的事务和高速缓存条目的安全检查指示的每个组合的可能结果;并且
39.图13示出了说明用于主设备的方法中的步骤的流程图,包括生成存储器访问事务并将事务与高速缓存条目进行比较。
具体实施方式
40.下面示出了一些具体示例。应当理解,本发明不限于这些示例。
41.在一些架构中,提供了分别与安全域和非安全域相关联的单独的安全存储器空间和非安全存储器空间。架构可以假设安全存储器空间和非安全存储器空间映射到物理上不同的硬件存储装置。然而,在一些具体实施中,硬件存储区(例如dram页面的块)可用于动态地分配给安全域或非安全域。
42.例如,当在非安全域中操作时,设备诸如发布存储器访问事务的cpu可以仅访问同样与非安全域相关联的目标地址。在安全域中发布的事务仅能够访问与安全域相关联的地址,或者另选地在一些示例中,可以允许安全域访问与安全域和非安全域相关联的存储器。应当理解,在该示例中,仅描述两个域(安全域和非安全域),但是提供的域数目是设计选择
并且将取决于具体实施,因此可以提供多于两个域。
43.在一些架构中,域到存储器区域的映射是固定的。然而,在映射未固定的情况下,可以使用更详细的控制数据来定义安全存储器空间和非安全存储器空间的映射。这意味着为了对事务进行安全检查(以检查其被发布的域是否能够访问其针对的存储器地址),可以在控制数据中执行查找,该查找可以包括对存储器中的表的访问。这可以是耗能和耗时过程,因此,这样做的频率越少越好。
44.在一些系统中,发布存储器访问请求的主设备具有在事务被传播到存储器系统下游之前执行安全检查的能力。使用相同互连件和/或存储器单元的其它设备可能不具有这种能力,因此也可以在这些下游阶段之一处对事务进行安全检查。
45.在一些系统中,下游阶段诸如互连件或存储器控制器不具有知道是否已经对事务进行安全检查的能力。这意味着必须检查所有事务,并且可以在系统的不同阶段检查两次或三次。
46.本技术通过在事务的编码中包括显示事务是否已被安全检查的指示符来提供解决方案。这意味着系统设计人员可以灵活地根据不同的主设备确定检查是在主设备本身还是在存储器系统的下游进行,而不会引起两次延迟。在没有此类安全检查指示符的情况下,必须选择一个或其它方法,这些方法限制可提供的主设备的种类(对于一些主设备,提供控制数据检查逻辑可能不实用),或者必须在存储器系统下游中对所有访问进行安全检查(如果主设备已经完成,则可能需要冗余地执行多个检查)。如上所述,当系统中的一些主设备执行安全检查并且在下游部件处重复安全检查时,这对性能具有不利影响。
47.在本技术的至少一个示例中,提供了一种存储器系统部件,其包括用于接收存储器访问事务的事务处理电路。存储器访问事务各自指定至少发布域标识符、目标地址和安全检查指示。事务的编码可包括其它信息,诸如访问类型(读取或写入)或其它事务标识符,但是应当理解,这对于执行本技术并非必需的。
48.发布域标识符指示由发布主设备指定的用于存储器访问事务的发布安全域,其中该发布安全域是多个安全域中的一个安全域。发布安全域可能是主设备在发布请求时操作的域。在域切换期间,可能存在其它规则,该其他规则指示主设备指定哪个域。发布域标识符可以是简单的安全或非安全标记。其也可以是更复杂的指示,特别是如果系统支持多于两个可能的域。
49.主设备可以是相对复杂的cpu,其能够在任何可能的域(区域)中操作。然而,可以是能够访问相同存储器区域的另一设备,该另一设备可能无法在域中的一个域中操作(例如,一些主设备可以被认为在不太安全的域中永久地操作)。发布域标识符可能不向存储器系统部件指示发布事务的主设备,但可以仅指示访问与哪些域相关联。
50.存储器访问事务中包括的目标地址定义在存储器中应该响应于事务而访问数据的位置。该地址具有一个或多个域,该一个或多个域允许访问保存在那里的数据,这取决于控制数据。
51.安全检查指示指示是否已知存储器访问事务将通过安全检查程序。这不一定指示事务已经经历安全检查程序,而是提供了是否已知事务将通过的指示(例如,如下所述,可能存在如下推断方式,例如基于存储在高速缓存中的信息推断事务在不实际执行安全检查的情况下将通过安全检查)。在以下描述中,“肯定”安全检查指示表示事务将通过安全检查
程序。“未知”指示表示仍然需要执行安全检查程序。安全检查指示并非为已通过或未通过程序的指示

标记有“未知”安全检查指示的事务可以在稍后执行安全检查程序时通过或未通过该安全检查程序。
52.安全检查指示可以是事务编码中的显式指示符。对于至少一个域,安全检查指示是显式的并且取决于是否知道将通过安全检查程序。在一些示例中,安全检查指示原本可以隐含于事务的其它细节中。例如,如果安全域中发布的事务具有对安全存储器和非安全存储器的访问权限,则安全发布域标识符可足以表示事务将通过安全检查程序。然而,在非安全域中发布的事务可能需要单独的显式指示来指示将通过安全检查程序,或另选地,安全检查程序仍然需要被执行。
53.安全检查程序用于基于指示允许安全域中的哪些安全域访问目标地址的控制数据来确定指示所述发布安全域的存储器访问事务是否被授权访问目标地址。可由每个域访问的存储器区域由控制数据限定,该控制数据如上所述可以改变。因此,安全检查程序检查事务指定的目标地址是与发布域相关联的存储器区域内的地址。如果发布域可访问目标地址,则事务通过安全检查程序。如果目标地址在不允许从发布域访问的区域中,则未通过安全检查程序。
54.存储器系统部件还包括控制电路,其用于基于安全检查指示来确定是否仍然需要执行安全检查程序。如果安全检查指示指示事务将通过安全检查程序,则控制电路确定不需要执行安全检查程序。
55.在本技术的至少一个示例中,当控制电路确定仍然需要执行安全检查程序时,控制电路被配置为控制安全检查电路以执行安全检查程序。这可以涉及将控制信号发送到系统的另一部件(例如,存储器系统中的下游存储器系统部件中,存储器系统部件将发布事务路由至该下游存储器系统部件)或同一存储器系统部件的另一元件。
56.存储器系统部件可包括安全检查电路。因此,如果确定仍然需要执行安全检查程序,则存储器系统部件可执行该安全检查程序。然后可以更改事务的安全检查指示,并在系统下游传播事务。因此,存储器系统部件可以在事务到达存储器本身之前将事务标记为已检查。
57.当给定存储器访问事务未通过安全检查程序时,安全检查电路可以被配置为发信号通知错误并防止给定存储器访问事务在存储器系统部件下游传播。也就是说,如果给定事务的发布域不是给定目标存储器地址的允许域,则发信号通知错误。通过防止事务在下游传播,该事务不会到达存储器访问阶段,并且延迟较少。因此,安全检查指示可能不具有表示事务未通过安全检查程序,仅表示安全检查程序尚未完成,或者事务将通过安全检查程序的编码。
58.在一些示例中,当控制电路确定仍然需要执行安全检查程序时,控制电路被配置为控制下游安全检查电路执行安全检查程序。控制电路确保安全检查程序被执行,但是该程序可以由存储器系统部件下游的另一部件执行。在一些情况下,未知安全检查指示本身的存在可以触发下游安全检查电路执行安全检查程序。另选地,可以在没有安全检查指示的情况下在下游传播事务,但是具有单独的控制信号,以使安全检查电路执行安全检查程序。
59.目标地址可以是物理地址。控制数据定义哪个域具有访问权限的区域可以是物理
地址空间的区域。这些可以是在芯片上或芯片外的物理存储器的区域。控制数据识别哪些域可以访问给定地址的存储器存储装置可以包括例如动态随机存取存储器(dram)。
60.控制数据可以包括多个条目,每个条目将地址空间的至少一个区域与多个安全域中的至少一个安全域相关联。例如,可能存在保持地址与其允许的域之间的映射的表。可以执行查找该表以确定事务是否具有地址与发布域的正确组合。该表可以存储在主存储器中,或者副本可以在本地高速缓存到存储器系统部件。地址可以与多于一个允许的域相关联。
61.安全检查程序可以包括将发布域标识符与与包括目标地址的地址空间区域相关联的多个安全域中的至少一个安全域进行比较。也就是说,安全检查程序可以涉及直接检查发布域与目标地址的允许域是否相同。这可以包括执行上述查找并将结果与发布域标识符进行比较。类似地,如果系统使用安全域的层级结构,则检查发布安全域具有等于或高于与目标地址相关联的域的安全级别就足够了。因此,目标地址的允许域不一定需要与发布域精确匹配。
62.在一些示例中,多个域包括至少一个安全域和不太安全的域。这些否则可以被标记为安全区域和非安全区域或类似的区域。例如,在安全域中操作的主设备可访问与安全域相关联的存储器区域,而在不太安全的域中操作的主设备可能不允许访问与安全域相关联的存储器区域。在一些具体实施中,在安全域中操作的主设备访问与安全域和非安全域相关联的存储器区域;虽然在非安全域中操作的设备可以仅访问与非安全域相关联的存储器区域。在这种情况下,对于在安全域中发布的事务上执行的安全检查程序,不一定需要参考控制数据。因此,在一些示例中,仅可以针对与不太安全的域相关联的事务但不针对安全事务执行对安全检查指示的检查。
63.在本技术的至少一个示例中,存储器访问事务支持编码,其指示发布安全域是不太安全的域,并且已知事务通过安全检查程序。也就是说,存在针对在不太安全的域中发布的事务的显式编码,该事务将通过安全检查程序。如上所述,(在一些示例中)安全发布域可暗示事务将通过安全检查程序。否则,也可能存在针对发布域和安全检查指示中的每一者的显式编码。
64.存储器系统部件可以包括高速缓存,其包括高速缓存条目以对响应于先前接收到的存储器访问事务而获得的数据进行高速缓存。每个高速缓存条目由目标地址与发布安全域的组合进行索引。通过使用目标地址与发布域的组合进行索引,高速缓存可以存储单独的高速缓存行中相同目标地址的安全条目和非安全条目。这对于安全性、性能和灵活性是有用的,因为它能够在执行安全检查程序之前分配高速缓存条目,但具有降低的安全漏洞风险,因为安全/非安全域标识符将索引到高速缓存的不同条目,非安全访问无法命中安全的高速缓存数据。
65.控制电路可以被配置为基于由给定存储器访问事务指定的安全检查指示和与给定存储器访问事务的目标地址与发布安全域的组合对应的高速缓存条目的高速缓存条目检查指示符来确定是否仍然需要针对给定存储器访问事务执行安全检查程序。存储在高速缓存条目中的高速缓存条目检查指示符指示具有发布域与目标地址的相同组合的事务是否将通过安全检查程序。
66.因此,针对目标地址与发布域的相同组合存储在高速缓存中的信息可用于推断事
务是否将通过安全检查程序。例如,如果事务指示需要执行安全检查程序,但是在高速缓存中存在具有与目标地址与发布安全域的相同组合的指示将通过安全检查程序的条目,则可以假设事务也通过安全检查程序。因此,如果高速缓存保持肯定指示,即使未明确执行安全检查程序,事务也可以更新为具有肯定指示。这意味着从主设备发布的不具有执行安全检查程序的功能的事务可以不需要由存储器系统部件执行的完整安全检查程序。如果已经示出具有发布域与目标地址相同组合的类似事务通过安全检查程序,则可以推断当前事务将通过安全检查程序。
67.当高速缓存条目检查指示符指示由给定存储器访问事务指定的目标地址与发布安全域的给定组合将通过安全检查程序时,即使由给定存储器访问事务指定的安全检查指示指示不知道给定存储器访问事务是否将通过安全检查程序,控制电路也确定不需要针对给定存储器事务执行安全检查程序。
68.类似地,当给定存储器访问事务的安全检查指示指示给定存储器访问事务将通过安全检查程序,并且高速缓存条目检查指示符不指示目标地址与发布安全域的给定组合将通过安全检查程序时,高速缓存被配置为更新高速缓存条目检查指示符以指示目标地址与发布安全域的给定组合将通过安全检查程序。也就是说,当具有肯定安全检查指示的事务命中高速缓存条目时,可以更新该高速缓存条目。
69.如果安全检查程序在存储器系统部件或另一下游部件处执行,则还可以更新高速缓存条目检查指示符以指示目标地址与发布域的组合将通过安全检查程序。如果存储器系统部件接收对存储器访问事务(在下游发布的)的有效响应,则可以推断在下游部件中通过安全检查程序(如果未通过安全检查程序,则将发信号通知错误并且不发布对事务的响应),因此接收到对存储器访问事务的有效响应也可以触发高速缓存条目检查指示符的更新,以指示域/地址的相应组合通过安全检查程序。
70.以此方式,当事务和对应的高速缓存条目中的至少一者表明事务将通过安全检查程序时,确定事务将通过安全检查程序,并且因此不必再次执行安全检查程序。
71.在本技术的一些实施方案中,提供了一种主设备,其包括用于发布存储器访问事务的事务发布电路;和用于对每个存储器访问事务进行编码的编码电路。该编码指定至少发布域标识符、目标地址;和安全检查指示。如上所述,如果事务用安全检查指示进行编码,则这可以在存储器访问系统中的下游部件处标引。这使得同一系统中的主设备能够任选地包括安全检查电路以执行安全检查程序,而不存在与重复检查一些事务相关联的延迟。
72.主设备还可以包括用于执行安全检查程序的安全检查电路;和确定电路,其用于确定是否应该执行安全检查程序。主设备中的安全检查电路可标引用于安全检查程序的控制数据的高速缓存。高速缓存的控制数据可以存储在用于控制数据的专用高速缓存中,或存储在也与其它类型的数据共享的一般高速缓存中。因此,主设备可以在向主存储器进行下游传播之前对事务进行发布、编码和安全检查。
73.编码电路可以被配置为基于由确定电路进行的确定来设置安全检查指示。例如,确定电路可以确定应该执行安全检查程序,然后安全检查电路可以执行安全检查程序(并且通过),并且编码电路可随后对指示已知将通过安全检查程序的肯定安全检查指示进行编码。另选地,确定电路可以针对安全域确定所有事务将通过安全检查程序,并且因此不执行安全检查程序,但是由于已知将通过安全检查程序,因此事务用肯定安全检查指示进行
20或非易失性随机存取存储器(nvram)22。dram或nvram可以是片上存储器的示例,但存储器也可以包括通过输入/输出单元访问的片外存储器。存储器控制器24&26控制对存储器20&22的读写访问。存储器控制器24、26可包括根据本技术的存储器系统部件。应当理解,为了简洁起见,采用本技术的系统还可以包括此图中未示出的多个部件。
86.图2示意性地示出了如在数据处理装置中的不同阶段所见的物理地址空间的示例。由cpu 2(或另一主设备)看到的物理地址空间在图2的左侧示出并且具有大小s。在此示例中,cpu 2不具有关于每个安全域和非安全域可访问哪些存储器区域的信息。然后从非安全发布域发布存储器访问事务并具有例如目标地址pa
x
时,不存在关于该地址是否位于非安全地址空间中的指示。
87.从互连件14的角度来看,当发布域和目标地址组合时地址空间具有大小2s。然而,在非安全域中发布的事务仅具有对可能的地址空间的一半的访问权限,而安全域中的事务具有对另一半的访问权限。也就是说,发布域与目标地址的每个组合具有如互连件14所见的映射中的唯一地址。如果访问pa
x
的事务在非安全域中发布,则互连件14看到其访问地址ns.pa
x
,而如果在安全域中发布,则其看到s.pa
x
。因此,如互连件14所看到的,发布安全域被视为额外地址位。如图1所示的高速缓存18可以通过ns/s位与地址的组合来索引,因此地址ns.pa
x
和s.pa
x
映射到不同的高速缓存条目。
88.虽然图2示出了在地址的最高有效端附加发布域位的示例,但是发布域位也可以在不同位置插入地址中,使得互连件14看到的物理地址空间的安全部分和非安全部分不一定是连续的,但是可以是由来自另一域的区域分隔的多个交错区域。
89.在物理别名点(popa)处,地址空间再次返回到大小s。popa是将来自不同发布域的针对同一目标地址的事务视为其好像实际上标引了单独地址的部件(例如,互连件14)(通过将域标识符视为附加地址信息)与指定不包括发布域标识符的物理地址的部件(例如,存储器控制器26)之间的边界。除了popa之外,安全域和非安全域都将访问相同的存储器区域,如果其指定相同的地址。
90.除了popa之外,可以将大小为s的地址空间与如由dram看到的物理地址映射进行比较。也就是说,可以定义指示dram的存储区域的控制数据,所述区域分别与安全域和非安全域相关联(参见图2的右手侧)。控制数据可以存储在存储器系统中所存储的数据结构中,该数据结构可以被高速缓存在cpu或互连件或其它存储器系统部件的高速缓存内,以允许将事务的发布域与允许访问对应于指定pa的区域的域进行比较。数据结构可以被定义为安全存储器,使得可以控制对控制数据本身的访问和修改。
91.应当理解,为了便于解释而简化图2的示例。在一些系统中,与非安全域相关联的那些dram区域相比,与安全域相关联的dram区域可以对应于地址空间的相对较小的部分。而且,在安全dram区域和非安全dram区域之间划分完整的物理地址空间并非必需的—实际上,物理地址空间可以被稀疏地填充有安全/非安全dram区域,并且那些安全/非安全dram区域可以跨dram地址空间被分片,因为可以在安全与非安全之间动态地重新分配地址空间页面。
92.图3示意性地示出了示例性存储器访问事务30。域id 32指示发布域(或域)。这可以是用于安全/非安全域的简单1/0指示,或者可以是更复杂的标识符。目标地址34是响应于事务而读取/写入的物理地址。r/w指示符36指示事务是否是读取事务还是写入事务。安
全检查指示符38指示是否已知事务将通过安全检查程序。应当理解,在此示例中,提供了用于域id32和安全检查指示38的单独编码,但是在其它示例中,可以提供组合指示符。事务编码中可包含其它信息,但是为了简洁起见,这里未示出这一点。
93.图4示意性地示出了保持高速缓存条目的高速缓存40。每个条目包括用于指示条目是否有效的有效性指示符42。相干性状态44指示条目的相干性状态(例如,清洁的/脏的或唯一的/共享的,或根据所使用的相干性协议的其它状态)。安全检查指示符46指示是否已知具有发布域与目标地址的相同组合的事务将通过安全检查程序。使用发布域和目标地址的一部分对高速缓存进行索引,并且高速缓存标签48是目标地址的剩余部分,其可以区分索引到同一高速缓存条目(或一组高速缓存条目)的不同地址。这种方法意味着索引使得存在与对相同目标地址的非安全和安全访问相关联的单独的高速缓存条目。数据值49是与目标地址相关联的数据值(其可以是清洁的或脏的)。应当再次理解,可以在每个高速缓存条目中保持更多信息,但是为了简洁,这里已经省略了更多信息。
94.图5示意性地示出了例如可以位于图1的互连件14或存储器控制器24、26中的存储器系统部件50的示例。存储器访问事务30由事务处理电路52接收。存储器访问事务包括至少发布域标识符、目标地址和安全检查指示。发布域标识符指示由发布主设备指定的发布安全域。安全检查指示指示是否已知存储器访问事务50将通过安全检查程序。安全检查程序包括基于控制数据检查发布安全域是否被授权访问目标地址。
95.控制电路54检查安全检查指示以确定是否需要执行安全检查程序。然后将存储器访问事务传递到下游部件60。因此,控制电路可以控制下游部件以执行安全检查程序,包括目标地址和发布域的事务可以在下游单独传播到指示需要执行安全检查程序的控制信号。安全检查电路也可以包括在存储器系统部件50中。这参考以下图6描述。应当理解,为了简单起见,存储器系统部件可包括此处未示出的其它元件。
96.图6示意性地示出了包括安全检查电路56的存储器系统部件50的示例。如上所述的存储器访问事务30由事务处理电路52接收。如果具有发布域与目标地址的相同组合的条目尚未存在,则可以将源自事务的信息存储在高速缓存40中。如果确实存在具有相同组合的条目,则该条目可被更新以具有肯定安全检查指示,如果其尚未存储该信息的话。
97.存储器访问事务30的安全检查指示由控制电路54检查。如果安全检查指示为肯定(表示不需要执行安全检查程序),则存储器访问事务被传递到下游部件60。
98.如果控制电路54确定仍然需要执行安全检查程序(未知指示),则这可以由安全检查电路56参考控制数据58执行。可以在下游存储器中查找控制数据,或者其可以是保持在存储器系统部件中的本地高速缓存。如果通过安全检查程序,则安全检查电路56随后可以改变安全检查标识符以指示肯定安全检查,并将事务传播到下游部件60。安全检查程序还可以更新高速缓存40以指示具有目标地址与发布域的相同组合的条目将通过安全检查程序。如果未通过安全检查程序,则安全检查电路可发信号通知错误,并且防止将事务传播到下游部件60。
99.如果控制电路54确定仍然需要执行安全检查程序(未知指示),但是高速缓存40中的条目指示具有发布域与目标地址的相同组合的条目将通过安全检查程序,则控制电路54可以利用肯定安全检查指示来更新存储器访问事务30并将事务传播到下游部件60。这意味着安全检查电路56不必经历完整的安全检查程序,包括控制数据58的查找。
100.如果控制电路54指示仍然需要执行安全检查程序(未知指示),并且高速缓存条目40指示不知道发布域与目标地址的相同组合是否将通过安全检查程序,则安全检查电路56参考控制数据58执行安全检查程序。如果通过安全检查程序,则可以更新高速缓存40以在高速缓存40中以肯定安全检查指示反映这一点。如果未通过安全检查程序,则存储器系统部件50发信号通知错误,并且防止将事务传播到下游部件60。
101.图7示意性地示出了主设备70的示例。事务发布电路72发布存储器访问事务。编码电路74对存储器访问事务进行编码以包括至少发布域标识符、目标地址和安全检查指示。发布域标识符可源自事务发布电路72中包括的域标识符76。在支持多个域的主设备中,这可以是指示当前域并在域切换上更新的寄存器。例如在仅支持例如非安全事务的主设备中;域标识符76可以是始终保持相同值的硬连线电路元件。
102.编码电路74对直接从事务发布电路接收的目标地址进行编码。如上所述,安全检查指示指示是否仍需要执行安全检查程序。这可以被设置为默认未知指示(仍然需要执行检查程序,因为不知道将通过安全检查程序),或者即使尚未执行检查程序,在一些示例中,如果域指示符指示安全域并且允许该安全域访问所有存储器地址,安全检查程序也可被设置为肯定(将通过安全检查程序)。一旦编码,存储器访问事务被传播到下游部件60。
103.图8示意性地示出了包括确定电路78和安全检查电路82的主设备70的示例。事务发布电路72向确定电路78发布事务。然后,确定电路78确定是否仍需要执行安全检查程序。例如,如果允许安全域访问安全和非安全存储器,并且域指示符76指示事务发布电路72在安全域中操作,则确定电路78可以确定不需要执行安全检查程序。在这种情况下,编码电路74对肯定安全检查指示进行编码并将存储器访问事务传播到下游部件60。在一些情况下,确定电路78可基于事务是否在高速缓存80中未命中来做出其确定(尤其是如果高速缓存80中的未命中由安全检查程序所需的控制数据的查找引起——在这种情况下,在不执行安全检查程序的情况下发布事务可能是优选的)。如果未执行安全检查程序,则编码电路74将安全检查指示符的未知指示编码到存储器访问事务中。否则,安全检查电路82可以执行安全检查程序。安全检查程序可以利用控制数据,该控制数据也可以在高速缓存80中或者在单独的控制数据高速缓存中被高速缓存。如果安全检查程序由安全检查电路82执行并且事务通过安全检查程序,则肯定安全检查指示可以由编码电路74进行编码。如果执行安全检查程序并且事务未通过安全检查程序,则可以发信号通知错误,并且防止将事务传播到下游部件60。
104.图9示意性地示出了存储器访问系统90的示例。系统包括主设备70,其中事务发布电路发布存储器访问事务。事务包括至少发布域标识符、目标地址和安全检查指示。编码电路74对事务进行编码并随后将其传递到存储器系统部件50。存储器系统部件50的事务处理电路52接收事务。参考安全检查标识符,控制电路54检查是否需要对事务执行安全检查程序。事务被传播到下游部件60。
105.图10示出了说明用于处理存储器访问事务的方法中的步骤的流程图。在步骤s101处,事务处理电路接收事务。在步骤s102处,基于安全检查指示确定是否已知将通过安全检查程序。如果是,则过程进行到步骤s103并且不需要安全检查,并且在步骤s104处,事务被传播到下游部件。如果事务不指示已知将通过安全检查程序,则遵循如步骤s105所示需要执行安全检查程序。可在存储器系统部件处执行安全检查程序或高速缓存查找,或者部件
可以控制另一系统元件执行安全检查程序。应当理解,这些选项未示出为它们是实现选择,并且许多排列仍然落入本技术的范围内。
106.图11示出了说明用于处理包括执行安全检查的存储器访问事务的方法中的步骤的流程图。在步骤s201处接收事务。在步骤s202处,确定是否已知基于安全检查指示将通过安全检查程序。如果是,则过程进行到步骤s203并且事务在下游传播,而不执行安全检查程序。否则,在步骤s204处,执行安全检查程序。如果通过程序,则在步骤s205处,更新事务的安全检查指示以指示肯定安全检查指示,并且在步骤s203处在下游传播事务。如果在步骤s204处未通过安全检查程序,则在步骤s206处发信号通知错误并且防止将事务传播到任何下游部件。
107.图12a示出了说明用于处理存储器访问事务的方法中的步骤的流程图,包括将事务与高速缓存条目进行比较。在步骤s301处接收事务。在步骤s302处,确定是否可以找到具有发布域与目标地址的相同组合的高速缓存条目。如果不是,则针对事务的发布域/目标地址在步骤s303处创建(分配)高速缓存条目,并且该方法继续,就像在步骤s302处发现了高速缓存条目一样。
108.在步骤s304处,确定高速缓存条目是否具有肯定安全检查指示。也就是说,是否已知具有目标地址与发布域的相同组合的事务将通过安全检查程序。无论哪种方式,都要在步骤s305或步骤s306处对于接收到的事务是否具有肯定安全检查指示(是否已知其将通过安全检查程序)进行另一种确定。如果高速缓存条目和事务都具有肯定指示,则在步骤s307处在下游传播事务。如果高速缓存条目在步骤s304处具有肯定的高速缓存条目检查指示但在步骤s305处不具有肯定的事务安全检查指示,则方法传递到步骤s308,并且在步骤s307处将事务传播到下游部件之前更新事务以具有肯定安全检查指示。
109.如果高速缓存条目在步骤s304处不具有肯定的高速缓存条目检查指示,并且在步骤s306处事务确实具有肯定安全检查指示,则在步骤s309处,高速缓存条目被更新为具有肯定的高速缓存条目检查指示。然后在步骤s307处传播事务。如果事务在步骤s306处不具有肯定安全检查指示,则在步骤s310处执行安全检查程序。如果通过安全检查程序,则在步骤s311处更新事务的高速缓存条目检查指示和安全检查指示以显示肯定指示。然后在步骤s307处传播事务。如果在步骤s310处未通过安全检查程序,则在步骤s312处发信号通知错误。
110.图12b示出了图12a中所示方法的可能结果表。如果事务安全检查指示和高速缓存条目检查指示均为未知,则执行安全检查程序。如果通过安全检查程序,则高速缓存条目和事务用肯定指示标记,并且事务传播。如果未通过安全检查程序,则发信号通知错误。如果事务安全检查指示为肯定并且高速缓存条目检查指示为未知,则将高速缓存更新为肯定指示。如果高速缓存条目检查指示为肯定且事务安全指示为未知,则事务被更新为具有肯定安全检查指示。如果事务安全检查指示和高速缓存条目检查指示为肯定,则无需执行安全检查。
111.图13示出了说明在主设备处执行的用于生成存储器访问事务的方法中的步骤的流程图,包括将事务与高速缓存条目进行比较。在此示例中,在安全域中发布的事务能够访问安全和非安全的存储器区域。在步骤s401处生成事务,并且在步骤s402处确定是否在安全域中生成了事务。如果是,则在步骤s403处用肯定安全指示对事务进行编码。如果应用于
其中在安全域中发布的事务仅可以访问安全存储器区域的系统,则省略步骤s402和s403。
112.如果在步骤s402处未在安全域中发布,则在步骤s404处确定发布域与目标地址的组合是否在高速缓存中命中。如果不是,则该方法进行到步骤s405并且用未知的安全检查指示对事务进行编码。如果高速缓存条目确实命中,则在步骤s406处确定高速缓存条目是否指示具有发布域与目标地址的相同组合的事务将通过安全检查程序。如果是,则在步骤s407处用肯定安全指示对事务进行编码。如果高速缓存条目指示否定安全指示,则在步骤s405处用未知安全检查指示对事务进行编码。
113.下面提供本技术的示例的简要概述。
114.架构是提供单独的安全存储器空间和非安全存储器空间的架构的示例。然而,假设安全存储器和非安全存储器在物理上是不同的,而许多使用模型受益于能够动态地分配如由安全域或非安全域所拥有的dram页面。
115.在安全域和非安全域之间动态地移动dram页面创建物理别名点(popa)。在popa上游,两个域是断开的并且被单独地高速缓存;在下游,其在同一组物理dram页面上添加别名。
116.popa管理检查以查看页面是安全还是非安全。这可能需要在存储器中的结构中查看。此查找可能需要一段时间,并且需要高速缓存来存储最近获取的条目。一些cpu或设备,特别是具有特定性能要求和/或具有大工作集的那些cpu或设备,可能受益于在事务进入主相干互连件之前执行检查。
117.本技术提供了一种事务,当将其呈现给互连件时,其被标记以指示是否已经执行安全检查。如果为真,则对dram的访问可以忽略与事务相关联的安全域。如果为假,则在访问dram之前,下游互连件必须确保该页面由用于访问的安全域拥有。
118.示例性相干性协议如下:
119.·
访问不同安全域的事务总是保持独立。安全域用作地址位。
120.·
当非安全检查的事务命中一个标记为安全检查的高速缓存行时,它被视为是否为安全检查的事务,因为安全检查的高速缓存行的存在指示已知由相应的安全域拥有该页面。
121.·
当安全检查的事务命中被标记为非安全检查的高速缓存行时,高速缓存行可被标记为安全检查的。
122.将页面从一个安全域重新分配到另一个安全域的过程可以包括明确的高速缓存清理操作并在页面中使数据归零,使得物理别名对软件不可见。
123.此示例已经针对两个安全域进行描述,但是可延伸到多于两个安全域。
124.当一个安全域比另一个安全域更安全时,则检查可能不是必需的。例如,当使用安全域和非安全域时,可能不必检查安全域拥有的安全事务访问页面,因为安全事务是可信的。这意味着可能不需要支持“安全、非安全检查的”组合。
125.在本技术中,字词“被配置为
…”
用于意指装置的元件具有能够执行所限定的操作的配置。在该上下文中,“配置”意指硬件或软件的互连的布置或方式。例如,该装置可具有提供所限定的操作的专用硬件,或者可对处理器或其他处理设备进行编程以执行该功能。“被配置为”并不意味着装置元件需要以任何方式改变以便提供所限定的操作。
126.虽然本文已结合附图详细描述了本发明的示例性实施方案,但应当理解,本发明
并不限于那些精确的实施方案,并且在不脱离所附权利要求书所限定的本发明的范围和实质的前提下,本领域的技术人员可在其中实现各种变化和修改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献