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

用于多级存储器的高效的管理的装置和方法制造方法及图纸

技术编号:30207326 阅读:19 留言:0更新日期:2021-09-29 09:08
描述了一种装置。装置包括用于与具有近存储器和远存储器的多级存储器接合的存储器控制器。存储器控制器用于维护第一高速缓存和第二高速缓存。第一高速缓存用于缓存从远存储器近期访问的页面。第二高速缓存用于缓存从远存储器近期访问的页面的地址。第二高速缓存具有第一级和第二级。第一级用于缓存这样的页面的地址:与其相应的地址被缓存在第二级中的页面相比这些页面更近期地被访问。存储器控制器包括逻辑电路,逻辑电路用于通知系统软件:(a)比第一高速缓存中的其他页面更少被访问的第一高速缓存中的第一页面是从远存储器迁移到近存储器的候选;和/或(b)其地址在第二高速缓存的第一级和第二级之间进行了门限数量的往返的第二页面是从远存储器迁移到近存储器的候选。选。选。

【技术实现步骤摘要】
用于多级存储器的高效的管理的装置和方法


[0001]本专利技术的领域总体上涉及计算科学,并且更具体地,涉及用于多级存储器的高效的管理的装置和方法。

技术介绍

[0002]随着“大数据”、云计算/中心计算、人工智能和其他计算密集型计算环境的出现,计算机系统和组件设计者正在寻求提高存储器性能的方式。这里,计算密集型计算操作通常访问存储器中的大量数据。这样,将更多信息存储在存储器中的能力以及快速访问该信息的能力将极大地提高在计算密集型环境中操作的计算系统的性能。
附图说明
[0003]可以结合以下附图从以下具体实施方式中获得对本专利技术的更好的理解,其中:
[0004]图1示出了多级主存储器;
[0005]图2示出了耦合到多级存储器的存储器控制器;
[0006]图3示出了地址高速缓存中的条目的实施例;
[0007]图4示出了耦合到多级存储器的另一存储器控制器;
[0008]图5示出了计算系统。
具体实施方式
[0009]具有远存储器(FM)高速缓存的多级主存储器
[0010]图1描绘了多级主存储器100。如图1所观察到的,多级主存储器100包括第一级101和第二级102,其中,第一级101的特征在于是易失性的并且至少针对写入操作具有比第二级102更短的访问时间。第二级102的特征在于至少针对写入操作具有比第一级101更长的访问时间并且是非易失性的。
[0011]在各种实施例中,级101、102二者都具有操作系统、操作系统实例和/或虚拟机监视器(在下文中被称为“系统软件”)能够分配(例如,分配给在具有多级主存储器的计算系统上执行的各个软件应用)的相应的地址空间。如本领域所理解的,通过以下操作来组织主存储器:在主存储器中针对应用当在主存储器100外执行时使用的信息(指令或数据)的每一页指派唯一的物理地址。
[0012]理想地,系统软件能够分配主存储器地址空间,使得被最频繁访问的页面驻留在第一级101(在下文中被称为“近存储器”)中,而被较不频繁访问的页面驻留在第二级102(在下文中被称为“远存储器”)中。
[0013]尽管系统软件通常期望在近存储器中分配被最频繁访问的页面,但是系统软件经常很少或根本不了解哪些页面事实上在运行时期间被最频繁访问。这里,特别是在分布式系统中(其中,多个应用可以访问主存储器的相同的区域(并且因此可以访问相同的页面)),系统软件无法(以任何高效的方式)确定哪些页面是“热”的,而哪些页面是“冷”的。
[0014]这样,如图2所观察到的,多级主存储器实施方式200还包括存储远存储器的被最近访问的页面的远存储器(FM)高速缓存203。在各种实施例中,FM高速缓存203是用DRAM存储器资源的特殊的被保留的部分来实现的,DRAM存储器资源用于实现近存储器201。例如,用于实现近存储器201的DRAM存储器模块的物理地址空间的子集被保留用于FM高速缓存203,而不是可由系统软件分配作为主存储器地址空间。如下面进一步详细解释的,远存储器202可以用新兴的三维(堆叠)非易失性存储器单元技术(非易失性随机访问存储器(NVRAM))来实现,该存储器单元技术能够支持字节可寻址的存储器地址。
[0015]根据图2的实施方式,在主存储器控制器接收到其目标地址映射到远存储器202中的页面的请求时,存储器控制器硬件被设计为首先在FM高速缓存203中寻找包含请求所针对的高速缓存行的页面。如果该页面存在于FM高速缓存203中(高速缓存命中),则根据FM高速缓存203服务该请求。如果该页面不存在于FM高速缓存203中(高速缓存未命中),则从远存储器202中调出该页面,根据页面服务请求,并且页面被写入到FM高速缓存203中。
[0016]这里,地址高速缓存205用于确定请求所针对的页面是否在FM高速缓存203中。地址高速缓存205列出了FM高速缓存中的那些页面的远存储器地址,并且,针对每个这种页面,还标识了页面位于的FM高速缓存203中的地址。因此,在接收到远存储器访问请求时,主存储器控制器204首先查看地址高速缓存205,以查看其是否包含与请求的地址的页面部分相匹配的远存储器页面地址。如果是,则FM高速缓存203中存在命中,并且存储器控制器使用地址高速缓存205中针对远存储器/请求地址列出的FM高速缓存地址来访问FM高速缓存203中的目标高速缓存行以服务请求。
[0017]如果请求的地址的页面部分与地址高速缓存205中的远存储器页面地址中的任一个都不匹配,则存在高速缓存未命中,并且从远存储器202服务请求。根据各种实施例,目标页面被复制到FM高速缓存203中,并且地址高速缓存205被更新,以包括该页面的地址以及其在FM高速缓存203中的对应的地址。如果将页面插入到FM高速缓存203中使得另一个页面从FM高速缓存203中逐出(在这种情况下,如果被逐出的页面是脏的,则将其写回到远存储器),则另一页面的地址被标记为无效的或从地址高速缓存205中删除。
[0018]如图2所观察到的,地址高速缓存205包括两级206、207。第一级是较小的高速缓存,其与存储控制器204驻留在相同的半导体芯片上。第二级207是较大的高速缓存,其是用类似于FM高速缓存203的DRAM存储器空间的被保留的部分来实现的。地址高速缓存205中的条目的数量(高速缓存级206、207二者中的条目的组合数量)至少等于FM高速缓存203中的条目的数量并且可以大于FM高速缓存203中的条目的数量。关于地址高速缓存205以及第一级和第二级206、207的操作的更多细节将在下面进一步更详细地提供。
[0019]在各种实施例中,FM高速缓存203和地址高速缓存205二者被实现为具有多个集合的集合关联的高速缓存。每个集合包括多个高速缓存插槽,可以将页面(在FM高速缓存203的情况下)或地址映射(在地址高速缓存205的情况下)插入到高速缓存插槽中。每个远存储器202页面地址映射到相应的高速缓存203、205中的集合中的特定的一个,并且可以被输入到集合的插槽的任一个中。
[0020]关于远存储器高速缓存203,当远存储器请求映射到的集合已满时,请求的高速缓存未命中将引起页面从FM高速缓存203中的集合中被逐出并且被写回到远存储器202中(如果它是脏的),以便在集合中为从远存储器202中调用的页面腾出空间,以服务刚遭受高速
缓存未命中的请求。
[0021]根据一个实施例,集合中的插槽的每一个具有最近期使用的(MRU)元数据位。在高速缓存命中的情况下,即,当请求地址的页面标识符部分与该请求地址映射到的集合的插槽中的一个中保存的页面的页面标识符部分相匹配时,MRU位被断言(为1)(如果其目前未被断言)。如果MRU位已经被断言,则它仍然被断言。
[0022]如果存在高速缓存未命中,则存储器控制器硬件会选择该集合中其MRU位未被断言的插槽中的一个,并且如果页面是脏的,则将该插槽的页面从FM高速缓存203中逐出回到远存储器202(如果该页面不脏,则它不被写回本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种装置,包括:存储器控制器,其用于与包括近存储器和远存储器的多级存储器接合,所述存储器控制器用于维护第一高速缓存和第二高速缓存,所述第一高速缓存用于缓存从所述远存储器近期访问的页面,所述第二高速缓存用于缓存从所述远存储器近期访问的页面的地址,所述第二高速缓存具有第一级和第二级,所述第一级用于缓存这样的页面的地址:与其相应的地址被缓存在所述第二级中的页面相比这些页面更近期地被访问,所述存储器控制器用于将以下(a)和(b)中的任一个或二者通知系统软件:(a)比所述第一高速缓存中的其他页面更少被访问的所述第一高速缓存中的第一页面是从所述远存储器迁移到所述近存储器的候选;(b)其地址在所述第二高速缓存的所述第一级和所述第二级之间进行了门限数量的往返的第二页面是从所述远存储器迁移到所述近存储器的候选。2.根据权利要求1所述的装置,其中,所述第二高速缓存的所述第一级与所述存储器控制器实现在相同的半导体芯片上。3.根据权利要求1所述的装置,其中,所述存储器控制器包括第一逻辑电路,所述第一逻辑电路用于跟踪对这样的页面的高速缓存行的访问:其相应的地址被输入到所述第二高速缓存中。4.根据权利要求3所述的装置,其中,所述存储器控制器包括第二逻辑电路,所述第二逻辑电路用于通知系统软件:(a)具有已经被访问多于一次的高速缓存行的第三页面是从所述远存储器迁移到所述近存储器的候选;(b)具有门限数量的已经被访问的高速缓存行的第四页面是从所述远存储器迁移到所述近存储器的候选。5.根据权利要求1所述的装置,其中,所述存储器控制器用于维护日志,所述日志标识从远存储器迁移到了近存储器并且然后在其迁移之后被写入了近存储器中的页面。6.根据权利要求1所述的装置,其中,所述日志将对于系统软件可用。7.根据权利要求3所述的装置,其中,如果所述第三页面在其进入到所述第一高速缓存中之后被写入,则脏位被断言。8.一种计算系统,包括:多个处理核心;网络接口;多级主存储器,其包括近存储器和远存储器;主存储器控制器,其耦合到所述多级主存储器,所述存储器控制器用于维护第一高速缓存和第二高速缓存,所述第一高速缓存用于缓存从所述远存储器近期访问的页面,所述第二高速缓存用于缓存从所述远存储器近期访问的页面的地址,所述第二高速缓存具有第一级和第二级,所述第一级用于缓存这样的页面的地址:与其相应的地址被缓存在所述第二级中的页面相比这些页面更近期地被访问,所述存储器控制器用于将以下(a)和(b)中的任一个或二者通知系统软件:(a)比所述第一高速缓存中的其他页面更少被访问的所述第一高速缓存中的第一页面是从所述远存储器迁移到所述近存储器的候选;
(b)其地址在所述第二高速缓存的所述第一级和所述第二级之间进行了门限数量的往返的第二页面是从所述远存储器迁移到所述近存储器的候选。9.根据权利要求8所述的计算系统,其中,所述第二高速缓存的所述第一级与所述存储器控制器实现在相同的半导体芯片上。10.根据权利要求8所述的计算系统,其中,所述存储器控制器包括第一逻辑...

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

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

1