【技术实现步骤摘要】
用于数据处理系统中的缓存一致性的探听过滤器
本公开涉及数据处理系统,更具体地涉及用于数据处理系统中的缓存一致性的探听过滤器。
技术介绍
诸如片上系统(SoC)之类的数据处理系统可包含多个处理器核心、多个数据缓存、以及共享数据资源。例如在共享存储器系统中,每个处理器核心可对单个共享地址空间进行读和写。缓存一致性是包括一个或多个缓存以及不止一个装置共享单个缓存区中的数据的任何系统中存在的议题。包括多个缓存的系统存在两个潜在问题。第一,存储器可在缓存的装置已经取走复本之后(被另一装置)更新。此时,缓存内的数据是过期的或者无效的,并且不再包含最新的数据。第二,包括回写式缓存的系统必须对以下情形进行处理:其中,装置对本地缓存的复本进行写入,此时存储器不再包含最新的数据。读取存储器的第二装置将看到过期的(陈腐的)数据。监视数据事务的探听过滤器可被用于确保缓存一致性。
技术实现思路
根据本专利技术的第一方面,提供一种数据处理系统中的数据传输的方法,该数据处理系统具有共享数据资源和多个节点的网络,共享数据资源能由网络中的多个请求节点经由网络的归属节点来进行访问,所述方法包括:响应于在归属节点处从多个请求节点中的第一请求节点接收的、针对存储在共享数据资源中的系统地址处的数据的读请求,确定所请求的数据是被存储在归属节点的缓存中还是被存储在多个请求节点中一个或多个第二请求节点的本地缓存中;当所请求的数据未被存储在归属节点的缓存中而是被存储在一个或多个第二请求节点的本地缓存中时,向一个或多个第二请求节点发送探听以请求所述数据;当响应于探听而数据被返回时,用返回的数据填充归属节点的缓存 ...
【技术保护点】
一种数据处理系统中的数据传输的方法,该数据处理系统具有共享数据资源和多个节点的网络,所述共享数据资源能由所述网络中的多个请求节点经由所述网络的归属节点来进行访问,所述方法包括:响应于在所述归属节点处从所述多个请求节点中的第一请求节点接收的、针对存储在所述共享数据资源中的系统地址处的数据的读请求,确定所请求的数据是被存储在所述归属节点的缓存中还是被存储在所述多个请求节点中一个或多个第二请求节点的本地缓存中;当所请求的数据未被存储在所述归属节点的缓存中而是被存储在一个或多个第二请求节点的本地缓存中时,向所述一个或多个第二请求节点发送探听以请求所述数据;当响应于所述探听而数据被返回时,用返回的数据填充所述归属节点的缓存,在所述缓存中把该数据标记为“脏”,并且更新所述归属节点的探听过滤器以指示所述第一请求节点具有所述数据的复本;以及向所述第一请求节点转发所述返回的数据,当所请求的数据未被存储在所述归属节点的缓存中或者一个或多个第二请求节点的本地缓存中时,从所述共享数据资源取回所请求的数据;更新所述归属节点的探听过滤器以指示所述第一请求节点具有所述数据的复本;以及向所述第一请求节点转发所取回的数 ...
【技术特征摘要】
2015.12.10 US 14/965,1311.一种数据处理系统中的数据传输的方法,该数据处理系统具有共享数据资源和多个节点的网络,所述共享数据资源能由所述网络中的多个请求节点经由所述网络的归属节点来进行访问,所述方法包括:响应于在所述归属节点处从所述多个请求节点中的第一请求节点接收的、针对存储在所述共享数据资源中的系统地址处的数据的读请求,确定所请求的数据是被存储在所述归属节点的缓存中还是被存储在所述多个请求节点中一个或多个第二请求节点的本地缓存中;当所请求的数据未被存储在所述归属节点的缓存中而是被存储在一个或多个第二请求节点的本地缓存中时,向所述一个或多个第二请求节点发送探听以请求所述数据;当响应于所述探听而数据被返回时,用返回的数据填充所述归属节点的缓存,在所述缓存中把该数据标记为“脏”,并且更新所述归属节点的探听过滤器以指示所述第一请求节点具有所述数据的复本;以及向所述第一请求节点转发所述返回的数据,当所请求的数据未被存储在所述归属节点的缓存中或者一个或多个第二请求节点的本地缓存中时,从所述共享数据资源取回所请求的数据;更新所述归属节点的探听过滤器以指示所述第一请求节点具有所述数据的复本;以及向所述第一请求节点转发所取回的数据,当所请求的数据被存储在所述归属节点的缓存中时,更新所述归属节点的探听过滤器以指示所述第一请求节点具有所述数据的复本;以及向所述第一请求节点转发所取回的数据。2.如权利要求1所述的方法,其中被转发至所述第一请求节点的所述数据被标记为处于“独有脏”状态。3.如权利要求1所述的方法,其中存储在所述多个请求节点的本地缓存中的数据被标记为处于“独有脏”、“共享脏”、“独有干净”或者“无效”状态。4.如权利要求3所述的方法,其中所述第一请求节点的本地缓存中的数据被标记为处于“共享脏”状态,并且其中所述探听过滤器不标识所述第一请求节点。5.如权利要求1所述的方法,其中更新所述归属节点的探听过滤器以指示所述第一请求节点具有所述数据的复本包括:更新所述探听过滤器中的存在性向量。6.如权利要求1所述的方法,其中向所述一个或多个第二请求节点发送探听以请求所述数据使得第二请求节点把它的本地缓存中的数据从“独有脏”状态更新为“共享脏”状态。7.如权利要求1所述的方法,还包括:响应于在所述归属节点处从所述多个请求节点中的第一请求节点接收的、请求回写数据存储至所述共享数据资源中的系统地址的回写请求,确定回写数据的状态;当所述数据的状态处于“干净”或“独有”状态时或者当所述归属节点的缓存中未存储与所述系统地址相关联的任何数据时,把所述回写数据作为“干净”数据存储在所述归属节点的缓存中;当与所述系统地址相关联的数据已被存储在所述归属节点的缓存中时,丢弃所述回写数据而无需把它存储在所述归属节点的缓存中;以及更新所述探听过滤器中的存在性向量。8.如权利要求7所述的方法,还包括:当所述归属节点的缓存中被标记为“脏”的数据被从所述归属节点的缓存中驱逐时,把所述数据回写至所述共享数据资源。9.如权利要求7所述的方法,还包括:所述多个请求节点中的所述第一请求节点在它的本地缓存中把要回写的数据的复本标记为“无效”。10.一种用于数据处理系统的探听过滤器,所述数据处理系统还包括:多个处理器,每个处理器具有本地缓存和缓存控制器;共享数据资源;以及系统缓存,其中所述探听过滤器监视由所述多个处理器对所述共享数据资源的访问,并且其中所述探听过滤器包括:探听过滤器控制逻辑,该探听过滤器控制逻辑能操作以与所述多个处理器的缓存控制器通信;以及探听过滤器缓存,该探听过滤器缓存能操作以针对所述多个处理器中的处理器的本地缓存中的每个数据块存储以下各项:标识所述数据块的标签;所述数据块处于“独有...
【专利技术属性】
技术研发人员:詹姆师德·加拉,马克·戴维·沃克海瑟,
申请(专利权)人:ARM有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。