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

对一致性链路和多级存储器的管理制造技术

技术编号:22363915 阅读:55 留言:0更新日期:2019-10-23 04:38
用于使用统一页粒度控制器来管理多级存储器和一致性的技术可以简化用于持久性存储器的文件系统处理以及主机和加速器的并行编程二者的软件编程,并且实现对主机处理器和加速器的更好的软件利用。作为管理技术的部分,行粒度控制器与页粒度控制器协作,以支持细粒度和粗粒度一致性,并且保持整体系统包含属性。在一个示例中,用于管理系统中一致性的控制器包括存储器数据结构和管芯上标签高速缓存,以存储状态信息来指示存储器层级中的页的位置以及页的所有权状态,所有权状态指示页是由主机处理器所有、由加速器设备所有、还是由主机处理器和加速器设备共享。

Management of consistent link and multi-level memory

【技术实现步骤摘要】
对一致性链路和多级存储器的管理
概括而言,描述涉及共享的存储器的一致性和多级存储器管理,并且具体而言,描述涉及用于包括加速器的系统的共享的存储器的一致性和多级存储器管理。
技术介绍
当今的平台具有各种拓扑,包括一个或多个主机处理器、一个或多个加速器、以及各种存储器层级。例如,当今的一些系统包括多级存储器层级,其中,较快较小的存储器(例如,DRAM)充当用于较大存储器(例如,非易失性存储器)的高速缓存。另外,在包括多个主机处理器和或加速器的平台中,每个主机处理器和加速器可以与其自己的存储器耦合。尽管将加速器设备和加速器附接的存储器包括到系统中可能具有优点,但也存在挑战和缺点,例如与维持共享的虚拟存储器环境中的一致性相关联的电力和性能成本。附图说明下面的描述包括对附图的讨论,所述附图具有通过本专利技术的实施例的实施方式的示例的方式给出的说明。附图应当通过示例而非限制的方式来理解。如本文使用的,对一个或多个“实施例”或“示例”的引用应当被理解为描述被包括在本专利技术的至少一个实施方式中的特定特征、结构、和/或特性。因此,本文中出现的诸如“在一个实施例中”或“在一个示例中”之类的短语描述了本专利技术的各种实施例和实施方式,并且不一定都指代相同的实施例。然而,它们也不一定相互排斥。图1A示出了其中可以实现用于管理一致性和多级存储器的技术的系统的示例的框图。图1B示出了其中可以实现用于管理一致性和多级存储器的技术的主机的示例的框图。图2A示出了相对于本地存储器和远程存储器定义的域的示例。图2B示出了页状态转换状态机图的示例。图3示出了用于包括UMA(统一存储器访问)设备的1LM(一级存储器)系统的页映射的示例。图4示出了用于包括UMA设备的2LM(两级存储器)系统的页映射的示例。图5示出了用于包括NUMA(非统一存储器访问)设备的1LM系统的页映射的示例。图6示出了用于包括NUMA设备的2LM系统的页映射的示例。图7A示出了页状态表的示例。图7B示出了被存储在探听过滤器中的信息的示例,包括域比特。图8图示了示出主机和设备高速缓存行所有权事务的示例的图。图9图示了示出页所有权冲突的示例的图。图10示出了由线粒度控制器(LGC)响应于检测到存储器读取请求而执行的方法的流程图。图11示出了由线粒度控制器(LGC)响应于检测到存储器写入请求而执行的方法的流程图。图12示出了由页粒度控制器(PGC)响应于探听过滤器未命中而执行的方法的流程图。图13示出了由页粒度控制器(PGC)在检测到冲突时执行的方法的流程图。图14示出了在其中可以实现用于管理一致性和多级存储器的技术的系统的示例的框图。具体实施方式本文描述了用于一致性和多级存储器管理的方法、装置、以及系统。在一个示例中,统一的控制器可以管理各种存储器层级,包括多级存储器,并且还可以管理具有一个或多个主机处理器和一个或多个加速器设备的系统中的一致性。统一的控制器可以通过存储页的状态信息来管理一致性和多级存储器,所述状态信息除了指示页的所有权状态之外,还指示存储器层级中的页的位置(例如,在近存储器高速缓存和远存储器之间的页驻留位置)。在一个示例中,页的所有权状态指示页是映射到域还是在多个域之中被共享,其中,域指示一个或多个代理的所有权。在一个这样的示例中,第一域(D0)指示主机处理器的所有权,并且第二域(D1)指示加速器设备的所有权。给定页的所有权状态可以指示页映射到D0、映射到D1、或在D0和D1之间被共享。附加的或不同的所有权状态也是可能的。统一控制器可以根据所有权状态来管理对页的访问,并且发起页状态转换,以保持一致性并且促进系统中的转发进度。在一个示例中,统一的控制器以页粒度跟踪页所有权状态,并且在本文被称为页粒度控制器(PGC)。附加于PGC,在一个示例中,行粒度控制器(LGC)以更细的粒度(例如,高速缓存行粒度)管理一致性。在一个这样的示例中,LGC包括探听过滤器以跟踪系统存储器中的高速缓存行的子集的一致性。LGC还可以跟踪系统存储器中高速缓存行的域信息(在本文中被称为D比特),这可以使得LGC能够确定是否跟踪探听过滤器中的高速缓存行和/或LGC是否可以处理访问请求,或请求是否应当被转发到PGC以进行处理。LGC中的域跟踪实现了可选地将最后一级高速缓存用于对非D0行进行高速缓存。在其中LLC仅对D0行进行高速缓存的示例中,LGC可以不跟踪域信息。PGC可以为大多数页提供主机和加速器之间的粗粒度一致性控制,并且LGC除了为由主机处理器或由加速器唯一访问的页提供细粒度一致性支持之外,还可以针对正由多个实体(例如,主机处理器和加速器二者)同时访问的页实现更细粒度的一致性控制。用PGC跟踪和控制页所有权状态和多级存储器映射可以实现可以由主机处理器和加速器二者一致地访问的共享的存储器环境。在一个这样的示例中,管理一致性和硬件中的页位置可以显著地简化文件系统持久性存储器以及主机和加速器的并行编程二者的软件编程,并且实现对主机和加速器二者的更好的软件利用。一致性跟踪对软件而言可以是透明的,以使得软件可以假定存储器访问的一致性并且获得一致的结果。另外,用统一的控制器来管理页状态转换和多级存储器映射二者实现高效的主机/加速器一致性,而不需要特定于主机和加速器设备之间的链路中的一致性维护的大量投资,并且也不需要特定于主机中的一致性维护的大量硬件投资。图1A示出了其中可以实现用于管理一致性和多级存储器的技术的系统的示例的框图。系统100包括主机102和加速器设备104。主机102通常包括中央处理单元(CPU)113,并且加速器设备104包括加速器或处理电路115。CPU113可以被称为主机处理器。加速器设备104在本文中可以被称为加速器或简称为设备。主机102和加速器104经由一致性链路122耦合。一致性链路122可以包括用于主机处理器和加速器之间的通信的链路和接口。一致性链路122可以符合标准。在一个示例中,一致性链路122符合不完全一致的标准(例如,PCIe(外围组件互连快速)标准(其可以提供单侧的一致性))或者能够将主机处理器与加速器设备耦合的其它标准。在其中一致性链路122符合不完全一致的标准的示例中,链路的一致性通过本文描述的技术来实现。一致性链路可以表示内部SoC互连,或被分层堆放在诸如PCIe或OPIO(封装上输入/输出)或EMiB(嵌入式多管芯互连桥)之类的各种物理链路之上,以用于封装外或封装内路由。加速器104可以包括例如图形加速器设备(例如,图形处理单元(GPU))、机器学习加速器(还被称为人工智能(AI)加速器)、或任何其它加速器设备。尽管所示示例示出了具有一个主机和一个加速器设备的系统,但是具有不同拓扑的系统也可以实现本公开内容中描述的技术。例如,本文描述的技术可以应用于具有两个或更多个能够处理数据并且访问存储在存储器中的数据的设备的系统。例如,系统可以包括两个或更多个CPU(其中,每个CPU映射到不同的域,或者若干CPU被分组为域)、CPU和多个加速器、多个CPU和多个加速器等。而且,尽管主机和加速器在图1A中被描绘为分立设备,但主机处理器和加速器可以被集成在单个SoC(片上系统)中。而且,映射到不同域的多个CPU可以被实现为分立CPU、单个封装内的MCP本文档来自技高网...

【技术保护点】
1.一种系统,包括:硬件存储装置,其用于存储用于指示存储器层级中的页的位置以及所述页的所有权状态的信息,所述所有权状态指示所述页是由主机处理器所有、由加速器设备所有、还是由所述主机处理器和所述加速器设备共享;以及逻辑单元,其用于:响应于来自所述主机处理器或所述加速器的用于访问处于一状态下的页中的高速缓存行的存储器访问请求且所述一状态指示由请求设备之外的设备所有,使得该页转换到其中所述请求设备拥有或共享该页的状态。

【技术特征摘要】
2018.04.09 US 15/948,5691.一种系统,包括:硬件存储装置,其用于存储用于指示存储器层级中的页的位置以及所述页的所有权状态的信息,所述所有权状态指示所述页是由主机处理器所有、由加速器设备所有、还是由所述主机处理器和所述加速器设备共享;以及逻辑单元,其用于:响应于来自所述主机处理器或所述加速器的用于访问处于一状态下的页中的高速缓存行的存储器访问请求且所述一状态指示由请求设备之外的设备所有,使得该页转换到其中所述请求设备拥有或共享该页的状态。2.根据权利要求1所述的系统,其中,所述逻辑单元用于在页处于指示设备拥有或共享所述页的状态下时允许来自所述设备的对所述页的访问。3.根据权利要求1所述的系统,其中,所述逻辑单元用于执行以下操作:响应于来自所述主机处理器或所述加速器的用于访问驻留在远存储器或远程存储器中的页中的高速缓存行的存储器请求,使得所述页被分配给近存储器高速缓存。4.根据权利要求3所述的系统,其中,所述逻辑单元用于执行以下操作:响应于在所述近存储器高速缓存中命中满集的访问,从所述近存储器高速缓存中解除分配最近最少使用的牺牲页,并且将所述牺牲页的经修改的数据写入所述远存储器或所述远程存储器。5.根据权利要求1所述的系统,其中:所述存储器层级包括近存储器高速缓存和远存储器;其中,所述信息指示远存储器页在所述近存储器高速缓存中的位置;并且其中,所述远存储器用于存储由所述主机处理器所有的页、由所述加速器设备所有的页、以及共享的存储器页。6.根据权利要求1所述的系统,其中:所述存储器层级包括字节可寻址的持久性存储器;并且其中,所述持久性存储器用于存储由所述主机处理器所有的页、由所述加速器设备所有的页、以及共享的存储器页。7.根据权利要求3所述的系统,其中:所述近存储器高速缓存包括易失性存储器;并且其中,所述远存储器包括非易失性字节可寻址的存储装置。8.根据权利要求7所述的系统,其中:所述逻辑单元用于使得所述信息被存储到所述硬件存储装置、近存储器中的结构、以及所述远存储器中的结构;其中,所述硬件存储装置用于存储用于近期访问的页的信息,所述近存储器中的所述结构用于存储用于被分配给所述近存储器高速缓存的页的信息,并且所述远存储器中的所述结构用于存储用于全部存储器页的信息;并且其中,要被存储在所述硬件存储装置、所述近存储器中的所述结构、以及所述远存储器中的所述结构中的所述信息用于指示远存储器页在所述近存储器高速缓存中的位置以及所述所有权状态。9.根据权利要求5所述的系统,其中:所述存储器层级包括与所述加速器设备耦合的存储器;其中,所述信息指示存储在与所述加速器设备耦合的所述存储器中的页的位置;并且其中,与所述加速器设备耦合的所述存储器用于存储由所述主机处理器所有的页、由所述加速器设备所有的页、以及共享的存储器页。10.根据权利要求1所述的系统,其中:所述信息还用于指示所述页的高速缓存行的副本是否将在以下的一处或多处中:主机处理器侧高速缓存、近存储器高速缓存、加速器侧高速缓存的在主机处理器侧探听过滤器中被跟踪的过滤的部分、以及加速器侧高速缓存的在所述主机处理器侧探听过滤器中未被跟踪的非过滤的部分。11.根据权利要求1所述的系统,其中:所述硬件存储装置用于存储一个或多个比特,其用于指示所述页是映射到一个域还是由多个域共享;并且其中,域包括:用于指示页由所述主机处理器所有的第一域,以及用于指示页由所述加速器设备所有的第二域。12.根据权利要求11所述的系统,其中,所述系统包括多个加速器设备,并且其中,所述域包括用于成组的加速...

【专利技术属性】
技术研发人员:E·希弗
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1