在互连中实施数据保护的制作方法

文档序号:10725562阅读:118来源:国知局
在互连中实施数据保护的制作方法
【专利摘要】本公开涉及在互连中实施数据保护。提供了互连电路和操作互连电路的方法,其中互连电路适于将至少两个主设备耦合至存储器,每个主设备包括本地缓存。由互连电路仲裁的对存储器的任意访问都被位于互连电路与存储器之间的存储器保护控制器监管。互连电路将与从一个主设备接收到的存储器事务相关联的一致性类型修改为一种类型,该类型确保当由发出主设备指定的事务目标的拷贝的修改的版本是存储在另一主设备的本地缓存中时,对存储器中的事务目标的访问必然发生,由此该访问必须被存储器保护控制器监管。
【专利说明】
在互连中实施数据保护
技术领域
[0001 ]本公开涉及互连电路。更具体地,本公开涉及在互连电路中实施数据保护。【背景技术】
[0002]已知提供了互连电路,该互连电路将若干主设备连接至存储器,以便当这些主设备中的一个主设备寻求访问存储在存储器中的数据项时,存储器事务由互连电路来仲裁, 并且如果数据项根据响应从存储器返回,这也由互连电路来仲裁。还已知提供了具有实现缓存一致性协议的能力的互连电路,其中当主设备具有它们自己的本地缓存时,互连电路可以响应于从一个主设备接收到的存储器事务来监听属于其他主设备的本地缓存的内容, 从而确定目标数据项(其是存储器事务的主体(sub ject))的本地拷贝当前是否被存储在这些其他本地缓存中的一个本地缓存中。如果互连响应于存储器事务可以提供该本地拷贝, 则互连可以向存储器中的该本地拷贝和/或原始目标数据项发起请求的更新(如必要的话),等等,从而维持系统内的正确的一致性。还已知,当主设备发出存储器事务(该存储器事务然后被互连电路接收)时,存储器事务可以指定一致性类型,该一致性类型指示互连电路应当实施的一致性响应的类型,这样一旦互连电路已经实施适当的一致性响应,另一主设备的本地缓存中的目标数据项的拷贝和存储器中的原始拷贝被置于发出存储器事务的主设备所期望的状态。
【发明内容】

[0003]从第一方面来看,本技术提供了互连电路,该互连电路包括:事务一致性电路,其响应于从第一主设备接收到的存储器事务,其中存储器事务指定存储器中的事务目标和一致性类型,事务一致性电路使得监听访问依赖于一致性类型被发送至第二主设备的缓存, 并且当存储器访问事务从第二主设备被接收从而维持缓存中的事务目标的拷贝的一致性时,事务一致性电路将存储器访问事务发送至存储器保护控制器,存储器保护控制器被安排以监管对存储器的访问;以及事务监视电路,该事务监视电路响应于从第一主设备接收到存储器事务来将一致性类型修改为存储器访问一致性类型,其中当事务目标的拷贝的修改的版本在缓存中时,事务一致性电路响应于存储器访问一致性类型来发起对存储器中的事务目标的访问。
[0004]从第二方面来看,本技术提供了数据处理系统,该数据处理系统包括第一主设备和第二主设备,其中第一主设备包括第一缓存,并且第二主设备包括第二缓存;存储器;存储器保护控制器,该存储器保护控制器用来监管对存储器的访问;以及根据上述第一方面的互连电路。
[0005]从第三方面来看,本技术提供了互连电路,该互连电路包括:用于响应于由第一主设备发出的存储器事务,其中存储器事务指定存储器中的事务目标和一致性类型,使得监听访问依赖于一致性类型被发送至第二主设备的缓存的装置;用于当存储器访问事务从第二主设备被接收从而维持缓存中的事务目标的拷贝的一致性时,将存储器访问事务发送至存储器保护控制器的装置,其中存储器保护控制器被安排以监管对存储器的访问;用于响应于从第一主设备接收到存储器事务,将一致性类型修改为存储器访问一致性类型的装置;以及用于当事务目标的拷贝的修改的版本在缓存中时,响应于存储器访问一致性类型, 发起对存储器中的事务目标的访问的装置。
[0006]从第四方面来看,本技术提供了操作互连的方法,该方法包括:响应于由第一主设备发出的存储器事务,其中存储器事务指定存储器中的事务目标和一致性类型,使得监听访问依赖于一致性类型被发送至第二主设备的缓存;当存储器访问事务从第二主设备被接收从而维持缓存中的事务目标的拷贝的一致性时,将存储器访问事务发送至存储器保护控制器,存储器保护控制器被安排以监管对存储器的访问;响应于从第一主设备接收到存储器事务,将一致性类型修改为存储器访问一致性类型;以及当事务目标的拷贝的修改的版本在缓存中时,响应于存储器访问一致性类型,发起对存储器中的事务目标的访问。【附图说明】
[0007]下面将通过示例的方式参考附图中所示出的实施例来描述本技术,其中:
[0008]图1示意性示出了一个实施例中的数据处理系统;
[0009]图2A示意性更详细地示出了一个实施例中的图1示出的缓存一致互连;
[0010]图2B示出了一个实施例中的由图2A的缓存一致互连的事务监视器使用的一致性类型的示例修改定义;以及
[0011]图3示出了一个实施例中的当操作缓存一致互连时实施的一系列步骤。【具体实施方式】
[0012]至少一些实施例提供了互连电路,该互连电路包括:事务一致性电路,响应于从第一主设备接收到的存储器事务,其中存储器事务指定存储器中的事务目标和一致性类型, 事务一致性电路使得监听访问依赖于一致性类型被发送至第二主设备的缓存,并且当存储器访问事务从第二主设备被接收从而维持缓存中的事务目标的拷贝的一致性时,事务一致性电路将存储器访问事务发送至存储器保护控制器,存储器保护控制器被安排以监管对存储器的访问;以及事务监视电路,该事务监视电路响应于从第一主设备接收到存储器事务来将一致性类型修改为存储器访问一致性类型,其中当事务目标的拷贝的修改的版本在缓存中时,事务一致性电路响应于存储器访问一致性类型来发起对存储器中的事务目标的访问。
[0013]本技术认识到,尽管在互连电路与存储器之间提供了诸如存储器保护控制器之类的数据安全实施机制,但是包括已知互连电路的数据处理系统可能面对安全漏洞。存储器保护控制器过滤由互连电路仲裁的并且被转发至存储器的所有存储器事务,从而拒绝寻求访问不允许发出存储器事务的主设备访问的存储器中的事务目标的存储器事务。存储器保护控制器可以采取多种形式,但是在一些实施例中是由英国剑桥ARM有限公司提供的 TrustZone控制器(TrustZone Controller,TZC)。类似地,互连电路可以采取多种形式,但是在一些实施例中是由根据英国剑桥ARM有限公司指定的AMBA 4ACE和/或ACE-Lite协议操作的缓存一致互连提供的。
[0014]本技术认识到,尽管在互连电路与存储器之间提供了存储器保护控制器,但是由互连电路支持缓存一致性的事实可能使得数据项在不经过存储器保护控制器的情况下在数据处理系统中的主设备的本地缓存之间被传送。因此,由存储器保护控制器提供的安全保护不被这些缓存间数据传送调用,因而可能产生可以被利用的安全漏洞。例如,在该情况下下面的攻击途径将是可能的。第一,未受保护的(非安全的)主设备可以从另一主设备(它可能已经被保护)的本地缓存中读取受保护的(安全的)数据。第二,未受保护的主设备可以使另一主设备(它可能已经被保护)的本地缓存中受保护的数据失效。第三,受保护的主设备可以从另一主设备的本地缓存读取数据,其中,该数据可能已经被未受保护的线程或具有不同保护水平的线性创建。然而,针对这个问题的一个方法将是简单地禁用缓存一致性协议,这可能在性能和软件复杂性方面具有显著的负面影响。
[0015]本技术认识到这个问题并且解决这个问题。根据本技术,在互连电路中提供了事务监视电路,该事务监视电路响应于接收到由数据处理系统中的一个主设备发出的存储器事务,具体地识别该存储器事务中所指定的一致性类型,并且将一致性类型修改为将确保所有实施的事务都必须经过存储器保护控制器以便被成功地完成的一个类型(“存储器访问一致性类型”)。因此,保证由配设的存储器保护控制器所提供的保护将被应用,即使在可能以其他方式绕过存储器保护控制器的缓存间数据传送的情况下。
[0016]因此,一方面,当监听第二主设备的本地缓存使得产生由该第二主设备发出的存储器事务时,确保这个存储器事务被存储器保护控制器监管。另一方面,对于由第一主设备发出的原始存储器事务,也确保这个存储器事务本身被存储器保护控制器监管。因此,当使用本技术的互连电路时,不会出现上述安全漏洞。
[0017]在一些实施例中,事务一致性电路响应于对第二的监听访问已经完成的指示,从而通过将存储器事务转发至存储器保护控制器来发起对存储器中的事务目标的进一步访问。换句话说,当存储器事务从第一主设备被接收时,这使得产生对属于另一主设备的另一本地缓存的监听访问,互连电路确保由第一主设备发出的存储器事务在互连电路中被保持直到互连电路从第二主设备接收到对缓存的监听访问(包括任何产生的存储器访问)已经完成的指示为止。因此,这个依赖关系支持将目标数据项的正确版本提供至第一主设备(在请求的情况下),并且这个依赖关系使得在监听访问完成之前第一主设备不能接收对它发出的存储器事务的响应,因此进一步支持了本安全增强技术。
[0018]如果事务目标的拷贝的修改的版本(例如,标为“脏(dirty)”)在(第二主设备的) 缓存中,则事务一致性电路响应于存储器访问一致性类型来发起对存储器中的事务目标的访问的特定方式可以采取多种形式,但是在一些实施例中,事务一致性电路具有通过发起对第二缓存的清除访问来发起对存储器中的事务目标的访问的结构。因此,这样的清除访问确保存储在缓存中的事务目标的拷贝的修改的版本必须被传播至存储器以便更新事务目标,由此也必须被存储器保护控制器监管。
[0019]在一些实施例中,在事务一致性电路接收到对缓存的监听访问(包括由该监听访问触发的任何存储器访问事务)已完成的指示之前,事务一致性电路不将由第一主设备发出的存储器事务转发至存储器保护控制器。在一些实施例中,为了支持这个功能,事务一致性电路具有缓冲器,其保持存储器事务,直到事务一致性电路接收到由第二缓存发起的对存储器中事务目标的访问已经完成的指示为止。
[0020]在一些实施例中,存储器访问一致性类型指示对存储器中的事务目标的访问必须依赖于缓存中的事务目标的拷贝来更新存储器中的事务目标。该存储器访问一致性类型可以采取多种形式,但是在一些实施例中,例如实现上述基于ACE的互连电路的这些实施例, 该存储器访问一致性类型是以标签“clean”开头的ACSNOOP值之一。
[0021]—致性类型可以指示发出主设备已经指定的与所发出的存储器事务相关联的若干不同的一致性维持结果。在一些实施例中,一致性类型指示对存储器中的事务目标的访问是读取访问。或者它可以是写入访问。可替代地或此外,它可以是对缓存中的事务目标的拷贝的无效访问。
[0022]在一些实施例中,存储器访问一致性类型指示对缓存的监听访问必须使缓存中的事务目标的拷贝无效。例如,在实现上述基于ACE的互连的一些实施例中,存储器访问和一致性类型可以是ACSNOOP值“Cleanlnvalid”。[〇〇23]虽然本技术的实现方式确保遵守数据处理系统中所要求的安全注意事项,即使在互连电路支持多个主设备的本地缓存之间的直接数据访问的情况下,但是本技术还认识到上述方法必然具有一定的性能影响。在该上下文下,本技术还认识到可能存在可以安全地抑制这些技术的应用的具体情况。具体地认识到,在知道第二主设备的配置(例如,它托管的软件线程的类型)、与存储器事务相关联的安全水平(例如,从使得存储器事务被第一主设备发出的线程获得)、和/或存储器事务中指定的主标识符(即,指示发出存储器事务的主设备)的情况下,可安全地防止事务监视电路修改一致性类型。[〇〇24]因此,在一些实施例中,互连电路还包括一致性修改覆盖电路,该一致性修改覆盖电路依赖于知道的第二主设备的配置来防止事务监视电路修改一致性类型。一致性修改覆盖电路可以被安排以依赖于与存储器事务相关联的安全水平来防止事务监视电路修改一致性类型。一致性修改覆盖电路可以被安排以依赖于存储器事务中指定的主标识符来防止事务监视电路修改一致性类型。例如,如果已知使得存储器事务被发出的线程是未受保护的(例如,处于数据处理系统中支持的最低安全水平,例如,在实现上述基于ACE的互连的实施例中,NSAID = 0)并且已知被监听的主设备不托管受保护的线程,则在不进行一致性类型修改的情况下可以允许进行相应缓存之间的直接数据传送。然而,值得注意的是,如果使得存储器事务被发出的线程是受保护的或被监听的主设备托管受保护的线程,则必须允许进行一致性类型修改从而保证所要求的安全。[〇〇25]至少一些实施例提供了数据处理系统,该数据处理系统包括第一主设备和第二主设备,其中第一主设备包括第一缓存,并且第二主设备包括第二缓存;存储器;存储器保护控制器,该存储器保护控制器用来监管对存储器的访问;以及上面所讨论的任意实施例或它们的组合的互连电路。
[0026]存储器保护控制器可以以多种方式来监管对存储器的访问,但是在一些实施例中,存储器保护控制器被安排为:当存储器事务的至少一个属性指示不允许存储器事务的来源访问由存储器事务指定的存储器中的事务目标时,拒绝寻求访问存储器的存储器事务。[〇〇27] 至少一些实施例提供了互连电路,该互连电路包括:用于响应于由第一主设备发出的存储器事务,其中存储器事务指定存储器中的事务目标和一致性类型,使得监听访问依赖于一致性类型被发送至第二主设备的缓存的装置;用于当存储器访问事务从第二主设备被接收从而维持缓存中的事务目标的拷贝的一致性时,将存储器访问事务发送至存储器保护控制器的装置,该存储器保护控制器被安排以监管对存储器的访问;用于响应于从第一主设备接收到存储器事务,将一致性类型修改为存储器访问一致性类型的装置;以及用于当事务目标的拷贝的修改的版本在缓存中时,响应于存储器访问一致性类型,发起对存储器中的事务目标的访问的装置。
[0028] 至少一些实施例提供了操作互连的方法,该方法包括:响应于由第一主设备发出的存储器事务,其中存储器事务指定存储器中的事务目标和一致性类型,使得监听访问依赖于一致性类型被发送至第二主设备的缓存;当存储器访问事务从第二主设备被接收从而维持缓存中的事务目标的拷贝的一致性时,将存储器访问事务发送至存储器保护控制器, 存储器保护控制器被安排以监管对存储器的访问;响应于从第一主设备接收到存储器事务,将一致性类型修改为存储器访问一致性类型;以及当事务目标的拷贝的修改的版本在缓存中时,响应于存储器访问一致性类型,发起对存储器中的事务目标的访问。[〇〇29]图1示意性示出一个实施例中的数据处理系统。数据处理系统包括三个主设备12、 14、和16,该三个主设备12、14、和16针对存储在存储器18中的数据项执行数据处理操作。主设备中的一个主设备与存储器18之间的访问由缓存一致互连20来仲裁。这个互连电路(被称为“缓存互连”)响应于从一个主设备接收到的存储器事务,来监听数据处理装置中的其他主设备并且具体地使得产生对它们相应的本地缓存的内容的检查,从而确定存储器事务的事务目标的拷贝当前是否被存储在这些本地缓存中的一个本地缓存中。如图1中所示出的,每个主设备分别包括它自己的本地缓存22、24、和26。图1示意性示出如下情况:存储器事务由主设备12发出,该主设备12将存储在存储器18中的数据项28指定为它的事务目标, 并且其中该数据项的本地拷贝30当前被存储在主设备14的缓存24中。
[0030]数据处理系统10还包括存储器保护控制器32,该存储器保护控制器32监管从缓存一致互连20接收到的寻求访问存储器18中的事务目标的任何存储器事务,并且阻塞任何未授权的访问,即,存储器事务指示它被不允许访问指定的事务目标的来源发出。在所示出的不例中,数据处理系统10实现TrustZone介质保护(TrustZone Media Protect1n,TZMP), 并且缓存一致互连20被安排以根据ACE协议进行操作,例如由英国剑桥ARM有限公司所指定的。然而,作为对这样的缓存一致互连的已知配置的扩展,图1的示例中的缓存一致互连20 (根据本技术进行操作)通过执行监听类型修改来确保所有存储器事务针对读取访问和写入访问二者都经过存储器保护控制器32,下面将详细地进行描述。[〇〇31]图2A示意性更详细地示出了图1所示出的缓存一致互连20。缓存一致互连20包括事务监视器40和事务一致性单元42。缓存一致互连20还包括覆盖单元44。从数据处理系统中的主设备(例如,从主设备12)接收到的存储器事务被事务监视器40和覆盖电路44两者接收。事务监视器40具有识别存储器事务中定义的一致性类型的特定功能,并且(依赖于它保持的修改定义46)可以将一致性类型修改为存储器访问一致性类型。存储器事务(包含可能修改的一致性类型)被传递至事务一致性单元42。图2B中示出了被保持为事务监视器40中的修改定义46的一组示例一致性类型转换。注意,在图2B中给出的修改定义中,所有修改的一致性类型指定“Clean”,意味着之后由缓存一致互连20实现的任何监听动作必然产生针对在数据处理系统中的本地缓存(其为该监听的主体)中找到的数据项的任何修改的(例如,被标为“脏(dirty)”)拷贝的清除事务。因此,这个清除事务将必然包括尝试访问存储在存储器18中的数据项的相应版本,并且将必然遇到存储器保护控制器32。
[0032]考虑由图2B中指定的一致性类型的几个示例,注意,由发出主设备对指定一致性类型READ_0NCE的存储器事务所请求的响应是,如果目标数据项的拷贝由另一主设备的本地缓存保持,则它被读取并且被返回至发出主设备,然而随着一致性类型修改(修改为 CLEAN_SHARED),这仍然允许其他主设备在它的本地缓存中保持拷贝,但是任何修改都必须被传播至存储器。在指定READJJNIQUE—致性类型的存储器事务的示例中,这指示发出主设备要求数据项被读取并且被从该数据项被发现的另一主设备的本地缓存中去分配(使之失效)。由于存储在其他缓存中的拷贝的失效根据数据处理系统的安全定义可能实际上不是适当的,因此根据本技术(将一致性类型修改为CLEAN_INVALID),不允许根据READ_UNIQUE 的监听访问的结果可能仅仅使其他缓存中的数据项失效的情况。本技术确保针对监听访问的经由存储器保护控制器的存储器事务的传播是响应于CLEAN_INVALID—致性类型被实施的,由此这样的不适合的失效不会出现。[〇〇33] 事务一致性单元42包括事务缓冲器44,该事务缓冲器44临时保持由缓存一致互连 20接收到的存储器事务,同时事务一致性单元42实施任何请求的监听操作。具体地,在由事务监视器40根据图2B中示出的定义而实施的一致性类型的修改之后,对数据处理系统中的其他主设备的监听访问将然后根据一致性类型CLEAN_SHARED或CLEAN_INVALID来做出。事务一致性单元42然后等待,直到它从已经成为这个监听访问的主体的任意主设备接收相应的“完成(complete)”信号为止。作为接收这个监听访问的结果,系统中保持指定的数据项的拷贝的另一主设备的缓存将发起它自己的存储器事务,从而回写它的该数据项的拷贝 (并且,如果监听访问是CLEAN_INVALID类型,则将它的本地拷贝标记为无效)。然后由系统中的另一主设备发出的该存储器事务(针对回写)本身被缓存一致互连20仲裁(但回写将不会触发缓存一致互连之内的相同监听机制),并且经由存储器保护控制器32被转发至存储器18,因此确保该存储器事务是根据数据处理系统内的安全定义的。一旦由发出主设备接收到该回写存储器事务已经完成的指示,发出主设备向事务一致性单元42发出监听访问现在已经完成的信号。作为响应,事务一致性单元42然后释放缓冲在事务缓冲器44中的存储器事务。在存储器事务是根据数据处理系统的安全定义的情形下,如果该存储器事务本身要求访问存储器,则该存储器事务被转发至存储器保护控制器32以被传递至存储器18,从而确保该存储器事务也遵守这些安全定义。如果存储器事务本身不要求访问存储器(例如, 对于CLEAN_SHARD、MAKE_INVALID和CLEAN_INVALID标记的事务的情况),则存储器事务从事务缓冲器44的释放然后允许缓存一致互连20将这个存储器事务完成的信号发送至它的发出主设备。[〇〇34]值得注意的是,从第一主设备接收到的存储器事务可以指定图2B中示出的示例修改定义中未列出的一致性类型,因为存储器事务不仅可以指定读取访问或无效访问,而且可以指定写入访问。然而,与写入访问相关联的诸如WRITE_UNIQUE和WRITE_LINE_UNIQUE之类的一致性类型分别被缓存一致互连20的监听功能修改以分别变为一致性类型CLEAN_ INVALID和MAKE_INVALID。后面的这些一致性类型可以在图2B所示出的示例中找到,其中可以看出,事务监视器40的接收产生修改的一致性类型CLEAN_INVALID。因此,可以理解的是, 由缓存一致性互连20提供的监听功能的该方面(针对写入访问)在修改之前在事务监视器 40中发生。因此,先前指定一致性类型WRITEJJNIQUE或WRITE_LINE_UNIQUE的存储器事务在所要求的写入被执行之前将已分别产生CLEAN_INVALID监听或MAKE_INVALID监听。现在本技术提供,CLEAN_INVALID类型监听被首先执行,因此也确保这些写入访问存储器事务遵守数据处理系统中的安全定义。[〇〇35]最终,回想,覆盖单元44还接收由第一主设备发出的存储器事务。其中因为与存储器事务相关联的安全水平(例如,NSAID值)、数据处理系统中的其他主设备的已知配置(例如,它们不托管任何受保护的线程)、和/或该存储器事务从其接收的特定主设备(例如,如存储器事务中的主标识符所指定的),所以覆盖单元44识别存储器事务不能造成潜在的安全侵犯,覆盖单元44向事务监视器40发出事务监视器40不应当执行对该事务的一致性类型修改的信号。例如,如果已知使得存储器事务被发出的线程是未受保护的并且未知被监听的主设备不托管受保护的线程,则访问可以被允许在不发生任何监听类型修改的情况下使用直接数据传送。
[0036]图3示出了当操作例如图1和图2A的示例中所示出的缓存一致性互连时根据本技术的一个实施例而采取的一系列步骤。流程在步骤50处开始,其中第一主设备发出存储器事务。然后,在步骤52处,存储器事务在互连中被缓冲。在步骤54处,基于生成的线程、被监听的主设备和与存储器事务相关联的安全水平(例如,如NSAID值所指定的)来确定存储器事务是否是安全的。如果基于这些标准发现存储器事务不被保证是安全的,则流程进行至步骤56,其中确定与存储器事务相关联的指定的一致性类型是否是READ_0NCE、READ_ SHARD、READ_CLEAN、READ_NOT_SHARD_DI RTY、或 CLEAN_SHARD。如果是这些一致性类中的一个,则流程进行经过步骤58,其中该类型被修改为CLEAN_SHARD。在步骤60处,确定与接收到的存储器事务相关联的一致性类型是否是READ_UNIQUE、CLEAN_INVALID、或MAKE_INVALID。 如果是,则流程经过步骤62,其中一致性步骤被修改为CLEAN_INVALID。然后,在步骤64处, 缓存一致性互连使用(可能被修改的)一致性类型来执行监听系统中其他主设备。在步骤66 处,确定作为监听的结果是否要求访问存储器,并且如果不是,则流程进行至步骤68,其中释放缓冲的存储器事务,并且如果必要则将缓冲的存储器事务发送至存储器保护控制器 (注意,诸如这些被标记为CLEAN_INVALID之类的从主设备接收到的一些存储器事务不要求数据被返回至该主设备,由此这些存储器事务本身不要求传递至存储器保护控制器)。返回考虑步骤54,如果发现确实已知存储器事务是安全的,则流程直接进行至步骤64。在步骤66 处,如果确定作为监听操作的结果要求访问存储器,则流程经过步骤70,其中由缓存一致性互连将实现所要求的存储器访问的进一步存储器事务发送至存储器保护控制器(并且如果存储器保护控制器允许,则然后至访问存储器)。流程在步骤72处等待,直到系统中的(一个或多个)其他主设备指示它们接收到它们相应的作为监听结果所发起的存储器事务已经完成,并且当这个是真的时,流程然后进行至步骤68(如上所述)。[〇〇37]简而言之,提供了互连电路和操作互连电路的方法,其中互连电路适于将至少两个主设备耦合至存储器,每个主设备包括本地缓存。由互连电路仲裁的对存储器的任意访问都被位于互连电路与存储器之间的存储器保护控制器监管。互连电路将与从一个主设备接收到的存储器事务相关联的一致性类型修改为一种类型,该类型确保当由发出主设备指定的事务目标的拷贝的修改的版本是存储在另一主设备的本地缓存中时,对存储器中的事务目标的访问必然发生,由此该访问必须被存储器保护控制器监管。[〇〇38]在本申请中,词语“被配置为”或“被安排以”被用来指装置的元件具有能够实施所定义的操作的配置。在该上下文中,“配置”指硬件或软件的互连的安排或方式。例如,装置可以具有提供所定义的操作的专用硬件或可以被编程以执行功能的处理器或其他处理设备。“被配置为”和“被安排以”不暗示装置元件需要以任意方式改变从而提供所定义的操作。
[0039]虽然本文已经参考附图详细描述了说明性的实施例,但是应当理解的是,本发明不限于这些精确的实施例,并且本领域的技术人员在不偏离所附权利要求定义的发明的范围和精神的情况下可以对其实现各种更改、附加和修改。例如,在不偏离本发明的范围的情况下可以用独立权利要求的特征做出从属权利要求的特征的各种组合。
【主权项】
1.一种互连电路,包括:事务一致性电路,响应于从第一主设备接收到的存储器事务,其中所述存储器事务指 定存储器中的事务目标和一致性类型,所述事务一致性电路使得监听访问依赖于所述一致 性类型被发送至第二主设备的缓存,并且当存储器访问事务从所述第二主设备被接收从而 维持所述缓存中的所述事务目标的拷贝的一致性时,所述事务一致性电路将所述存储器访 问事务发送至存储器保护控制器,所述存储器保护控制器被安排以监管对所述存储器的访 问;以及事务监视电路,所述事务监视电路响应于从所述第一主设备接收到所述存储器事务来 将所述一致性类型修改为存储器访问一致性类型,其中当所述事务目标的拷贝的修改的版本在所述缓存中时,所述事务一致性电路响应 于所述存储器访问一致性类型来发起对所述存储器中的所述事务目标的访问。2.如权利要求1所述的互连电路,其中,所述事务一致性电路响应于对所述第二主设备 的监听访问已经完成的指示,从而通过将所述存储器事务转发至所述存储器保护控制器来 发起对所述存储器中的所述事务目标的进一步访问。3.如权利要求1所述的互连电路,其中,所述事务一致性电路被安排以通过发起对所述 缓存的清除访问来发起对所述存储器中的所述事务目标的访问。4.如权利要求1所述的互连电路,其中,所述事务一致性电路包括缓冲器,所述缓冲器 保持所述存储器事务直到所述事务一致性电路接收到对所述存储器中的所述事务目标的 访问已经完成的指示。5.如权利要求1所述的互连电路,其中,所述存储器访问一致性类型指示对所述存储器 中的所述事务目标的访问必须依赖于所述缓存中的所述事务目标的拷贝来更新所述存储 器中的所述事务目标。6.如权利要求1所述的互连电路,其中,所述一致性类型指示对所述存储器中的所述事 务目标的访问是读取访问。7.如权利要求1所述的互连电路,其中,所述一致性类型指示对所述存储器中的所述事 务目标的访问是写入访问。8.如权利要求1所述的互连电路,其中,所述一致性类型指示对所述缓存的监听访问必 须使所述缓存中的所述事务目标的拷贝失效。9.如权利要求1所述的互连电路,其中,所述存储器访问一致性类型指示对所述缓存的 监听访问必须使所述缓存中的所述事务目标的拷贝失效。10.如权利要求1所述的互连电路,其中,所述互连电路还包括一致性修改覆盖电路,所 述一致性修改覆盖电路依赖于所述第二主设备的已知配置来防止所述事务监视电路修改 所述一致性类型。11.如权利要求10所述的互连电路,其中,所述一致性修改覆盖电路被安排以依赖于与 所述存储器事务相关联的安全水平来防止所述事务监视电路修改所述一致性类型。12.如权利要求10所述的互连电路,其中,所述一致性修改覆盖电路被安排以依赖于所 述存储器事务中指定的主标识符来防止所述事务监视电路修改所述一致性类型。13.—种数据处理系统,包括:第一主设备和第二主设备,其中所述第一主设备包括第一缓存,并且所述第二主设备包括第二缓存;存储器;存储器保护控制器,所述存储器保护控制器用来监管对所述存储器的访问;以及如任意前述权利要求中所述的互连电路。14.如权利要求13所述的数据处理系统,其中,所述存储器保护控制器响应于寻求访问 所述存储器的存储器事务,当所述存储器事务的至少一个属性指示不允许所述存储器事务 的来源访问由所述存储器事务指定的所述存储器中的事务目标时,拒绝所述存储器事务。15.—种互连电路,包括:用于响应于由第一主设备发出的存储器事务,其中所述存储器事务指定存储器中的事 务目标和一致性类型,使得监听访问依赖于所述一致性类型被发送至第二主设备的缓存的 装置;用于当存储器访问事务从所述第二主设备被接收从而维持所述缓存中的所述事务目 标的拷贝的一致性时,将所述存储器访问事务发送至存储器保护控制器的装置,所述存储 器保护控制器被安排以监管对所述存储器的访问;用于响应于从所述第一主设备接收到所述存储器事务,将所述一致性类型修改为存储 器访问一致性类型的装置;以及用于当所述事务目标的拷贝的修改的版本在所述缓存中时,响应于所述存储器访问一 致性类型,发起对所述存储器中的所述事务目标的访问的装置。16.—种操作互连的方法,该方法包括:响应于由第一主设备发出的存储器事务,其中所述存储器事务指定存储器中的事务目 标和一致性类型,使得监听访问依赖于所述一致性类型被发送至第二主设备的缓存;当存储器访问事务从所述第二主设备被接收从而维持所述缓存中的所述事务目标的 拷贝的一致性时,将所述存储器访问事务发送至存储器保护控制器,所述存储器保护控制 器被安排以监管对所述存储器的访问;响应于从所述第一主设备接收到所述存储器事务,将所述一致性类型修改为存储器访 问一致性类型;以及当所述事务目标的拷贝的修改的版本在所述缓存中时,响应于所述存储器访问一致性 类型,发起对所述存储器中的所述事务目标的访问。
【文档编号】G06F21/79GK106096460SQ201610257120
【公开日】2016年11月9日
【申请日】2016年4月22日 公开号201610257120.9, CN 106096460 A, CN 106096460A, CN 201610257120, CN-A-106096460, CN106096460 A, CN106096460A, CN201610257120, CN201610257120.9
【发明人】丹尼尔·萨拉, 安东尼·约翰·哈里斯, 哈坎·拉尔斯-戈兰·佩尔森, 安德鲁·克里斯多佛·罗斯, 伊恩·布拉特
【申请人】Arm 有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1