当前位置: 首页 > 专利查询>英特尔公司专利>正文

供多处理器系统中的高速缓存同步中使用的转发状态技术方案

技术编号:2833526 阅读:251 留言:0更新日期:2012-04-11 18:40
这里所述的是一种具有五种状态的高速缓存同步协议,该五种状态为:修改、排它、共享、无效和转发(MESIF)。所述MESIF高速缓存同步协议包括转发(F)状态,该状态指明单个数据副本,从所述数据副本中能够产生另一个副本。利用F状态下的超高速缓冲存储器线来响应对超高速缓冲存储器线的副本的请求。在一个实施例中,将新创建的副本置于F状态下并将先前处于F状态下的超高速缓冲存储器线置成共享(S)状态或无效(I)状态。由此,如果共享超高速缓冲存储器线,则一个共享的副本就处于F状态下并且剩余的超高速缓冲存储器线副本处于S状态下。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及高速緩冲存储器。更特别地,本专利技术涉及一种供多处理 器系统中的高速緩存同步协议中使用的转发(F)状态。
技术介绍
大部分的高速緩存同步协议都具有共享状态,在该共享状态中数据 能够在许多系统组件(例如,处理器)之间被共享。当系统组件请求数 据的只读副本并且该数据已在另一个系统组件中处于排它(E)状态时, 出现共享(S)状态。发请求的系统组件和具有数据副本的系统组件中 的每一个都在共享状态下对数据进行标记。当数据处于共享状态时,请 求数据的只读副本的系统组件能够自由地拷贝那个数据。在基于总线的多处理器系统中,高速缓存同步协议通常不许可系统组件向发请求的系统组件提供共享数据。而是,从存储系统中直接检索 出所述数据。在基于目录的高速緩存同步协议中,存储系统还向发请求 的系统组件提供共享副本。将超高速緩冲存储器线状态(由此,数据状 态)的目录定位在系统组件和存储器之间,由此从存储器检索出所述数 据并将其发送给发请求的系统组件。共享状态可能会带来多处理器系统中的许多问题,特别是当所述多 处理器系统不依赖于用于追踪超高速緩冲存储器线状态的目录时,该多 处理器系统在系统组件之间使用点对点互连网络。为了限制这类系统中的问题的发生,现有技术的解决方案提出将来自系统组件的请求直接 路由到存储系统,然后所述存储系统负责广播该请求以确定数据(超高 速缓冲存储器线)状态,收集来自其它系统组件的响应,然后确定当履 行所述请求时数据应为什么状态。这些协议导致将被返回的数据的四次 跳跃(hop) : 1)对存储器的请求者,2)存储器向其它系统组件广播 请求,3)系统组件对存储系统作出响应,和4)存储系统将数据转发给 请求者。为了在完全连接的点对点系统中缩短与履行请求相关联的等待时 间,发请求的系统组件能够将它的请求广播到所有其它系统组件以及广 播到存储系统。如果另一个系统组件具有处于共享状态下的数据,那么 它就会直接把数据传送给请求者。当多个系统组件同时地请求同 一个数 据并且多个其它的系统组件具有处于共享状态下的数据时复杂度上 升。所述请求者系统组件必须潜在地处理多个教:才居返回。当一个或多个 系统组件请求修改共享数据的权利时,出现了更多的问题。当其中一个系统组件想要修改数据时,那个组件必须发出所有权 请求(RF0),,,以从其余的系统那里要求修改祐:请求数据的许可。在 RF0获得准许之后,数据的状态从共享状态变成表明所述数据已被修改 的另一个状态(例如,修改状态)。为了举例说明,图la和lb是具有现有技术的高速緩存同步协议的 四节点系统的概念图解。在图lb的示例中,虚线表示先前发送的消息, 而实线表示正在描述的消息。在这种系统中,仅仅采用四种常规的超高 速緩冲存储器线状态修改(M)、排它(E)、共享(S)和无效(I)。 这公知为MESI高速缓存同步协议。节点IIO、 120和130是存储高速緩 冲存储器中的被请求数据的副本(例如,超高速緩冲存储器线)的对等节点。本地节点140在存储器中存储数据原本,或者当将修改版本写回到存储器时存储数据的修改版本。也就是说,本地节点140负责非高速 緩存的数据副本。在图la的示例中,节点120和130两者都具有存储 在高速緩冲存储器中的被请求数据的副本,并且该数据处于共享(S) 状态。当对等节点IIO发出请求修改数据的权利的RFO时,对等节点110 将RFO广播到所述系统的其它节点。正如在图lb中举例说明的那样, 节点12 0和130两者都通过提供被请求数据的副本,对来自对等节点110 的请求作出响应。因为这两个节点120和130都能够提供被请求数据的 副本,所以对等节点110必须能够接收和协调被请求数据的的多个副 本。这给对等节点110的设计增加了复杂度。随着系统中节点数目的增 加,这要求复杂度方面的进一步增加,这增加了系统设计的成本和难 度。还可以存在更多的复杂状态,在其中多个发请求的节点中的每一个 都能够接收被请求数据的副本,例如从三个或更多节点中接收。由此, 每一个节点都必须能够解析被请求数据的多个冲突副本以便确保正确 的系统功能。附图简要说明本专利技术是按照举例的方式而不是作为限制在附图中加以说明的,在 附图中相同的参考标记是指相似的元件。图la和lb是具有现有技术的高速緩存同步协议的四节点系统的概 念上的说明。图2a和2b是利用转发状态将数据从其本地节点传送到发请求的节 点的积克念上的说明。图3a-3c是利用转发状态将数据在对等节点之间传送在概念上的说明。图4是与用于利用转发状态来提供数据副本的技术的 一个实施例相 对应的流程图。图5是节点的一个实施例的框图。 图6是多处理器系统的一个实施例。详细说明描述用于多节点系统中的高速緩存同步的转发(F)状态的使用。所述F状态许可共享数据从当前自己的系统组件;故传输到发请求的系统 组件,而不牵涉在发请求的系统组件上接收的多个数据副本,因为所述请求是只读请求或读取所有权的请求。所述F状态不同于现有技术的高速緩存同步协议当中的0状态,所 述现有技术的高速緩存同步协议通称MOESI (修改、所拥有、排它、共 享和无效),因为具有处于O状态下的数据的系统组件在所述系统中具 有唯一的更新数据值。此外,它不兼容于存储系统中的副本。这需要系 统组件刚 一驱逐所拥有的数据就把那个数据发送回以存储在存储系统 中。所述F状态表明所述数据值与存储系统中的副本相一致。如果系统 组件驱逐处于F状态下的数据,那么所述组件就能够简单地删除该数据 而无需将该数据存储回至存储系统。在下面的说明中,为了解释起见,阐述了许多具体细节以便提供对 本专利技术的彻底理解。然而,明显的是对于本领域熟练技术人员而言, 可以在没有这些具体细节中的一些细节的情况下实践本专利技术。在其它实 例中,为了避免混淆本专利技术,以框图的形式示出了结构和装置。在下面的说明中,描述包含五种状态(修改、排它、共享、无效、 转发)的高速緩存同步协议,并且也将其称为MESIF协议。在可替换的 实施例中,所述转发状态能够与不同于MESI状态和/或除MESI状态以 外的状态一起使用。换言之,其中一个是转发状态的五种状态不是必需 的。为了提供高速緩存同步协议,描述了几种高速緩存同步协议消息类 型。作为初步解决的问题,在下面提供了用于高速緩存同步的消息概 要。并不需要所有的所描述的消息以提供具有F状态的同步协议,而是 可以使用消息群来提供具有F状态的高速緩存同步协议。请求消息下列消息是来自发请求的节点(系统组件)的数据/动作请求。将 这些消息广播到该系统的所有节点。端口读取线(PRL):这是对数据段副本的请求,例如超高速緩冲 存储器线。端口读取无效线(PRIL):这是对数据段副本的请求,在其中使提 供商节点的数据副本无效。这是所有权请求UFO)型消息。端口写线(PWL):这个消息令数据(例如,修改的超高速緩冲存储器线)将被写入存储器中。这个消息还可以称为脏驱逐(dirtyeviction ),,。 响应消息下列消息是响应于上述请求从对等(即,非本地)节点发送 到发请求的节点的消息。本地节点是包含与被请求的超高速緩冲存储器 线相对应的存储系统的节点。无效状态确认(IACK):这个消息是当发送响应的节点具有被请求 本文档来自技高网...

【技术保护点】
一种方法,其包括:    将数据段的副本的请求从发请求的节点传输到多节点系统中的一个或多个节点,其中接收该请求的其中一个节点是在非高速缓冲存储器中存储该数据段的本地节点,而非本地节点是到发请求的节点的对等节点,如果有副本,则该发请求的节点在与各自的对等节点相关联的高速缓冲存储器中存储该副本;    如果对等节点中的任何一个都没有存储可共享的数据段的副本,则从本地节点那里提供数据段的副本;以及    从存储处于转发状态下的数据段副本的对等节点那里提供数据段的副本,其中只有由多个对等节点存储的多个数据段副本的其中一个被指定处于转发状态。

【技术特征摘要】
US 2002-12-19 10/3250691.一种方法,其包括将数据段的副本的请求从发请求的节点传输到多节点系统中的一个或多个节点,其中接收该请求的其中一个节点是在非高速缓冲存储器中存储该数据段的本地节点,而非本地节点是到发请求的节点的对等节点,如果有副本,则该发请求的节点在与各自的对等节点相关联的高速缓冲存储器中存储该副本;如果对等节点中的任何一个都没有存储可共享的数据段的副本,则从本地节点那里提供数据段的副本;以及从存储处于转发状态下的数据段副本的对等节点那里提供数据段的副本,其中只有由多个对等节点存储的多个数据段副本的其中一个被指定处于转发状态。2. 如权利要求1所述的方法,进一步包括如果所指定的对等节 点是唯一的存储数据段副本的对等节点,则从所指定的具有数据段副本 的对等节点那里提供数据段的副本。3. 如权利要求l所述的方法,其进一步包括 将提供给发请求的节点的数据段副本指定为处于转发状态;以及 响应于来自发请求的节点的数据段请求,将来自对等节点的处于转发状态下的数据段副本指定为处于共享状态。4. 如权利要求1所述的方法,其中将数据段的副本请求从发请求 的节点传输到多节点系统的一个或多个节点包括向多节点系统的所有 未发请求的节点广播所述请求。5. 如权利要求1所述的方法,其中将数据段的副本请求从发请求 的节点传输到多节点系统的一个或多个节点包括将所述请求传输到多 节点系统的所有未发请求的节点的子集。6. 如权利要求1所述的方法,其中所述数据段包括超高速緩冲存 储器线。7. 如权利要求1所述的方法,其中所述数据段包括小于超高速緩 冲存储器线的数据块。8. 如权利要求1所述的方法,其中所述数据段包括大于超高速緩 冲存储器线的数据块。9. 一种系统,其包括2 与存储系统相耦合的本地节点,以存储数据段的原本;和 经由总线系统与本地节点相耦合的多个对等节点,所述多个对等节 点具有高速緩冲存储器,其中,响应于由请求数据段副本的发请求的对 等节点所发出的请求,如果未发请求的对等节点具有处于转发状态下的 数据段副本,则该未发请求的对等节点提供数据段的副本,而如果未发 请求的对等节点不具有处于转发状态下的数据段副本,则本地节点提供 数据段的副本,并且进一步其中, 一个或多个高速緩存的数据段副本当 中只有 一个在所述请求之前是处于转发状态的。10. 如权利要求9所述的系统,其中所述数据段包括超高速緩冲存 储器线。11. 如权利要求9所述的系统,其中所述数据段包括小于超高速緩 冲存储器线的数据块。12. 如权利要求9所述的系统,其中所述数据段包括大于超高速緩 冲存储器线的数据块。13. 如权利要求9所述的系统,其中所述发请求的对等节点向本地 节点和每个未发请求的对等节点广播数据段请求。14. 如权利要求9所述的系统,其中所述发请求的对等节点将数据 段请求传输到本地节点和每个未发请求的对等节点的子集。15. —种设备,其包括 高速緩冲存储器控制器;与高速緩冲存储器控制器相耦合的高速緩冲存储器接口 ,所述高速 緩冲存储器接口允许高速緩冲存储器控制器与高速緩冲存储器进行交 互;和与高速緩冲存储器控制器相耦合的系统接口 ,所述系统接口允许高 速緩冲存储器控制器与系统的其它组件进行交互;其中当数据段将被使用并且有效的数据段副本未被存储在高速緩 冲存储器中时,所述高速緩冲存储器控制器经由系统接口传输数据段请 求,并且进一步其中当接收到被请求数据段的副本时,所述高速緩冲存 储器控制器令被请求数据的副本将被存储在高速緩冲存储器中并且指 定为处于转发状态,并且进一步其中当经由系统接口接收到数据段副本 的请求时,如果所存储的副本处于转发状态下,则所述高速緩冲存储器 控制器令数据段副本被传输出去。16. 如权利要求15所述的设备,其中所述数据段包括超高速緩冲 存储器线。17. 如权...

【专利技术属性】
技术研发人员:H胡姆JA古德曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1