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

用于减少两级式存储器中的目录更新开销的混合式基于目录和监听的一致性制造技术

技术编号:26303933 阅读:24 留言:0更新日期:2020-11-10 19:58
处理器包括:具有高速缓存的一个或多个核;高速缓存归属代理(CHA);近存储器控制器,耦合至近存储器,并耦合至远存储器控制器,该近存储器控制器用于:从CHA接收针对存储器地址的第一存储器读取操作;在近存储器处检测针对第一存储器地址的未命中;将第二存储器读取操作发布到远存储器控制器,以从远存储器的存储器地址检取具有第一数据的高速缓存行;响应于第二存储器读取操作,从远存储器控制器接收高速缓存行;以及将高速缓存行发送到CHA,伴随着在CHA处的高速缓存行的目录状态的强制改变,该强制改变用于使CHA在远存储器中不存在目录状态的情况下监听远程插槽以维持针对高速缓存行的数据一致性。

【技术实现步骤摘要】
用于减少两级式存储器中的目录更新开销的混合式基于目录和监听的一致性
本公开关于维持基于高速缓存的存储器中的一致性,并且更具体地关于用于减少两级式存储器中的目录更新开销的混合式基于目录和监听的一致性。
技术介绍
两级式存储器(2LM)是用于将新的高容量非易失性存储器(NVM)技术启用为系统存储器的分层式存储器子系统。此类高容量NVM技术的示例被部署在加利福尼亚州圣克拉拉市的公司的三维(3D)XpointTM(3DXP)存储器中。虽然高容量NVM在等待时间和带宽(BW)方面显著地好于其他存储技术,但是在这两方面仍逊色于动态随机存取存储器(DRAM)。在2LM中,DRAM被用作在被称为远存储器(FM)的系统存储器前面的近存储器(NM)高速缓存,以滤除大多数引用而使其不去往系统存储器。以此方式,2LM存储器子系统缓解了对来自高容量NVM的低于DRAM性能的性能的显著的负面影响,同时仍利用高容量NVM的容量和成本益处。附图说明图1是根据各实施例的用于减少两级式存储器中的目录更新开销的混合式基于目录和监听的一致性的系统的框图。图2A是根据实施例的在两级式存储器中的示例高速缓存行的集合,在该两级式存储器中,近存储器(NM)和远存储器(FM)两者中的一致性利用目录被跟踪。图2B是根据实施例的在两级式存储器中的示例高速缓存行的集合,在该两级式存储器中,NM中的一致性经由目录,并且FM中的一致性经由监听协议。图3是图示根据实施例的混合式基于目录和监听的一致性的基于设备的流程图。r>图4是图示根据实施例的用于混合式基于目录和监听的一致性的方法的流程图。图5A是图示根据一个实施例的有序流水线以及寄存器重命名级、乱序发布/执行流水线的框图。图5B是图示根据本公开的实施例的用于可实现对混合式基于目录和监听的一致性的硬件支持的处理器或集成电路的微架构的框图。图6图示根据本公开的实施例的用于实现混合式基于目录和监听的一致性的处理器或集成电路的微架构的框图。图7是根据一个实施例的计算机系统的框图。图8是根据另一实施例的计算机系统的框图。图9是根据一个实施例的片上系统的框图。图10图示计算系统的框图的另一实施例。图11图示计算系统的框图的另一实施例。具体实施方式在大型共享存储器多插槽服务器(例如,具有两个至八个插槽,每个插槽具有多个处理器核)中,通常使用存储器内目录来维持共享存储器的存储器一致性。存储器内目录保持跟踪远程插槽的高速缓存代理(CHA——高速缓存归属代理复合体)是否具有以高速缓存行粒度归属在那个存储器中(例如,在那个存储器本地)的行的经高速缓存的副本。存储器读取操作(或简言之,“读取”)可返回行的目录状态以及数据,该数据告知CHA是否需要发布监听以使其他插槽中的行的经高速缓存的副本无效。除应用生成的数据写入之外,存储器内目录经常会要求额外的存储器写入操作(或简言之,“写入”),以便维持目录状态。用于维持一致性的替代机制是针对每个读取将监听发布至所有插槽,被称为监听机制。监听是将定向消息从CHA发送到系统中的所有其他插槽,并且从每个插槽接收响应,在该过程结束时,其他插槽中没有插槽将具有行的独占副本或修改副本。实际响应取决于所发送的监听消息的类型,所发送的监听消息可要求使来自高速缓存的行无效或将行降级到共享状态。在任一情况下,将任何经修改的数据返回到作出请求的CHA和/或返回到数据的原始请求方。由于监听机制因监听带宽在当前的双倍数据速率(DDR)DRAM存储器的高存储器带宽水平下在外部和内部互连处变得不可持续而不可缩放为大型多插槽系统,因此现代服务器处理器一般使用某种形式的基于目录的协议。如先前所讨论,两级式存储器(2LM)包括作为近存储器(NM)的基于DRAM的存储器(也称为第一级存储器)以及作为远存储器(FM)的高容量非易失性存储器(NVM)(其也称为第二级存储器)。为了在2LM架构中维持基于目录的协议,NM用于维持并更新NM高速缓存中的行的目录状态。即便仅行的目录状态已被改变,例如,没有对数据的任何改变,这也在NM高速缓存由于行是“脏”的而驱逐这些行时产生向FM的附加写入,以便继续在FM中维持目录状态。由于FM写入存储器带宽远低于传统的DRAM写入带宽,因此这些附加的目录生成的写入会加速FM写入带宽饱和,并且会不利地影响2LM架构上的性能。进一步地,FM存储器随增加的写入而耗损。在各实施例中,通过将基于监听的协议用于2LM存储器架构的FM部分的一致性(例如,用于归属在FM中的高速缓存行)可消除用于更新目录的向FM的这些附加写入。在这些实施例中,NM可继续将基于目录的一致性机制用于存在于近存储器中的高速缓存行。例如,NM可维持基于存储器内目录的一致性以获得大型多插槽系统中的可缩放性,同时FM可实现基于监听的一致性,由此消除向FM的目录更新开销写入。更具体地,在NM中命中的存储器操作将受制于基于目录的一致性,在基于目录的一致性中,仅在目录状态指示对监听的需求时才生成监听。然而,未命中NM且从FM获得数据的任何访问将监听其他插槽,这意味着没有在FM中维持目录的需求。使得该混合式一致性布置尤其可行的地方在于,在3DXPFM处的存储器带宽是DDRNM带宽的小部分,并且DDRNM屏蔽3DXPFM免于存储器访问中的非常大部分存储器访问,由此直接改善在这些多插槽服务器上运行的应用性能。在一个实施例中,处理器包括:高速缓存归属代理(CHA),耦合至(例如,多个核的)高速缓存;近存储器控制器,耦合至CHA,耦合至近存储器,并且耦合至远存储器控制器。近存储器控制器用于:从CHA接收针对第一存储器地址的第一存储器读取操作;在近存储器处检测针对第一存储器地址的未命中;以及响应于检测到未命中,将第二存储器读取操作发布到远存储器控制器,以从远存储器的第一存储器地址检取具有第一数据的高速缓存行。NM存储器控制器可进一步响应于第二存储器读取操作的完成而从远存储器控制器接收高速缓存行,并且将高速缓存行发送到CHA,伴随着在CHA处的高速缓存行的目录状态的强制改变。该强制改变用于使CHA在远存储器中不存在目录状态的情况下对多插槽系统的远程插槽监听高速缓存行,以维持针对高速缓存行的数据一致性。图1是根据各实施例的用于减少两级式存储器中的目录更新开销的混合式基于目录和监听的一致性的计算系统1000的框图。计算系统100包括多个多核处理器110A、110B、110C、…、110N,这些多核处理器通过外部互连网络130彼此互连,外部互连网络130例如,公司的快速路径互连(QPI)或超路径互连(UPI)。每个多核处理器可被视为插槽,并且因此被实例化在单个管芯或集成电路上。将更详细地将多核处理器110A讨论为是多核处理器110B、…、110N(例如,远程插槽)中的每个多核处理器的示例。计算系统100还可与输入/输出(I/O)设备通信,该I/O设备可包括例如,输入设备(例如,键盘、触摸屏、鼠标)、显示设备、图形卡、端口、网络本文档来自技高网...

【技术保护点】
1.一种处理器,包括:/n一个或多个核,每个核都包括高速缓存;/n高速缓存归属代理CHA,耦合至高速缓存;以及/n近存储器控制器,耦合至所述CHA,耦合至近存储器,并且耦合至远存储器控制器,其中,所述近存储器控制器用于:/n从所述CHA接收针对第一存储器地址的第一存储器读取操作;/n在所述近存储器处检测针对所述第一存储器地址的未命中;/n响应于检测到所述未命中,将第二存储器读取操作发布到所述远存储器控制器,以从远存储器的所述第一存储器地址检取包括第一数据的高速缓存行;/n响应于所述第二存储器读取操作的完成,从所述远存储器控制器接收所述高速缓存行;以及/n将所述高速缓存行发送到所述CHA,伴随着在所述CHA处的所述高速缓存行的目录状态的强制改变,所述强制改变用于使所述CHA在所述远存储器中不存在目录状态的情况下监听远程插槽以维持针对所述高速缓存行的数据一致性。/n

【技术特征摘要】
20190507 US 16/405,6911.一种处理器,包括:
一个或多个核,每个核都包括高速缓存;
高速缓存归属代理CHA,耦合至高速缓存;以及
近存储器控制器,耦合至所述CHA,耦合至近存储器,并且耦合至远存储器控制器,其中,所述近存储器控制器用于:
从所述CHA接收针对第一存储器地址的第一存储器读取操作;
在所述近存储器处检测针对所述第一存储器地址的未命中;
响应于检测到所述未命中,将第二存储器读取操作发布到所述远存储器控制器,以从远存储器的所述第一存储器地址检取包括第一数据的高速缓存行;
响应于所述第二存储器读取操作的完成,从所述远存储器控制器接收所述高速缓存行;以及
将所述高速缓存行发送到所述CHA,伴随着在所述CHA处的所述高速缓存行的目录状态的强制改变,所述强制改变用于使所述CHA在所述远存储器中不存在目录状态的情况下监听远程插槽以维持针对所述高速缓存行的数据一致性。


2.如权利要求1所述的处理器,进一步包括所述远存储器控制器,所述远存储器控制器用于:
响应于所述第二存储器读取操作,从所述远存储器检取所述高速缓存行;以及
将所述高速缓存行发送到所述近存储器控制器。


3.如权利要求1所述的处理器,其中,所述目录状态包括“任何”(A)状态,并且其中,所述CHA用于:在所述远存储器中不存在目录状态的情况下,对多插槽系统的所述远程插槽监听所述高速缓存行以维持针对所述高速缓存行的数据一致性。


4.如权利要求1所述的处理器,其中,所述近存储器控制器进一步用于:
将所述高速缓存行写入到所述近存储器;以及
将所述高速缓存行中的目录位更新为与所述第一存储器读取操作的读取操作码一致的目录状态。


5.如权利要求4所述的处理器,其中,被写入到所述近存储器的所述高速缓存行进一步包括元数据位对,所述元数据位对包括:
第一位,用于指示所述高速缓存行中的所述第一数据是否为脏;以及
第二位,用于指示所述目录位是否为脏。


6.如权利要求5所述的处理器,其中,为了驱逐所述高速缓存行,所述近存储器控制器进一步用于:
确定所述元数据位对中的所述第一位指示所述第一数据是干净的;以及
不发布将所述第一数据往回写入到所述远存储器的存储器写入操作。


7.如权利要求5所述的处理器,其中,所述近存储器控制器进一步用于:
从所述CHA接收定向到所述第一存储器地址的存储器写入操作;
确定所述存储器写入操作是仅目录写入还是包括数据写入;以及
响应于是仅目录写入,对所述元数据位对中的所述第二位置位而不对所述第一位置位,避免向所述远存储器的写回。


8.如权利要求7所述的处理器,其中,为了确定所述存储器写入操作是所述仅目录写入,所述近存储器控制器用于基于从所述近存储器读取的当前目录状态并基于在所述第一存储器读取操作中接收到的操作码来确定对所述目录位的更新是必要的,并且其中,所述近存储器控制器进一步用于清除所述元数据位对中的所述第二位以指示所述第一数据是干净的。


9.如权利要求7所述的处理器,其中,为了确定所述存储器写入操作是所述仅目录写入,所述近存储器控制器用于在来自所述CHA的所述存储器写入操作中接收所述仅目录写入的直接指示,其中,所述直接指示部分地基于由所述CHA响应于所述第一存储器读取操作而从所述近存储器控制器接收的、关于所述第一位指示所述第一数据是干净的先前指示。


10.一种方法,包括:
由处理系统的近存储器控制器从高速缓存归属代理CHA接收针对第一存储器地址的第一存储器读取操作;
由所述近存储器控制器在两级式存储器系统的近存储器处检测针对所述第一存储器地址的未命中;
由所述近存储器控制器响应于检测到所述未命中而将第二存储器读取操作发布到远存储器控制器,以从远存储器的所述第一存储器地址检取包括第一数据的高速缓存行;
由所述近存储器控制器响应于所述第二存储器读取操作的完成而从所述远存储器控制器接收所述高速缓存行;以及
由所述近存储器控制器将所述高速缓存行发送到所述CHA,伴随着在所述CHA处的所述高速缓存行的目录状态的强制改变,所述强制改变用于使所述CHA在所述远存储器中不存在目录状态的情况下监听远程插槽以维持针对所述高速缓存行的数据一致性。


11.如权利要求10所述的方法,其中,所述目录状态包括“任何”(A)状态,所述方法进一步包括:
由所述远存储器控制器响应于所述第二存储器读取操作而从所述远存储器检取所述高速缓存行;
由所述远存储器控制器将所述高速缓存行发送到所述近存储器控制器;以及
由所述CHA在所述远存储器中不存在目录状态的情况下对多插槽系统的所述远程插槽监听所述高速缓存行,以维持针对所述高速缓存行的数据一致性。


12.如权利要求10所述的方法,进一步包括:
由所述近存储器控制器将...

【专利技术属性】
技术研发人员:V·基塔J·巴克斯特S·P·穆拉利达拉S·文卡特斯瓦兰D·刘N·辛格B·法西姆S·D·斯特姆
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1