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

两级存储器控制器模式下的缓存驱逐管理制造技术

技术编号:37960074 阅读:29 留言:0更新日期:2023-06-30 09:35
系统、设备和方法提供存储器控制器,该存储器控制器用于在两级存储器控制器模式下管理缓存驱逐和/或插入,该两级存储器控制器模式使用动态随机存取存储器作为持久存储器的透明缓存。例如,存储器控制器包括逻辑,该逻辑用于将动态随机存取存储器中的缓存数据映射到持久存储器中的复制数据的原始地址。动态随机存取存储器中的缓存数据关于以下方面被跟踪:其相对于持久存储器中的复制数据是脏数据还是干净数据。在从动态随机存取存储器驱逐缓存数据时,当缓存数据被跟踪为脏数据时,绕过对已被驱逐的缓存数据向持久存储器的写回。对已被驱逐的缓存数据向持久存储器的写回。对已被驱逐的缓存数据向持久存储器的写回。

【技术实现步骤摘要】
两级存储器控制器模式下的缓存驱逐管理


[0001]实施例总体上涉及存储器控制器。更特别地,实施例涉及用于在两级存储器控制器模式下管理缓存驱逐的存储器控制器。

技术介绍

[0002]持久存储器(PM,Persistent Memory)(例如,INTEL OPTANE)现在在数据中心平台上得到广泛支持,并且正在迅速增加采用。在存储器模式(例如,也称为两级存储器(2LM,two

level memory)模式)下,PM用于扩展系统可见的DRAM。在这种两级存储器模式下,系统DRAM用于缓存(或分层)更大容量的PM,从而使容量大得多的PM对操作系统(OS,operating system)可见,而其成本仅是在全部依靠DRAM来实现的情况下所需花费的一小部分。出于成本、复杂性和性能的原因,当前产品中由系统DRAM中的平台存储器控制器完成的缓存是写回、1路组关联(1

way set

associative)、插入所有缓存(insert

all caching)。
附图说明
[0003]通过阅读以下说明书和所附权利要求,并且参考以下附图,本领域技术人员将清楚实施例的各种优点,在附图中:
[0004]图1是根据一个实施例的示例计算系统的框图;
[0005]图2是根据一个实施例的计算系统的另一示例的示图;
[0006]图3是根据一个实施例的分层存储器的示例的框图;
[0007]图4是根据一个实施例的管理缓存驱逐的方法的示例的示图;
[0008]图5是根据一个实施例的管理缓存驱逐的方法的示例的另一示图;
[0009]图6是根据一个实施例的半导体封装装置的示例的示图。
具体实施方式
[0010]如上所述,在两级存储器模式下,系统DRAM用于缓存(或分层)更大容量的PM,从而使容量大得多的PM对操作系统(OS)可见,而其成本仅是在全部依靠DRAM来实现的情况下所需花费的一小部分。然而,存在许多这样的情况:写入DRAM的数据从未被使用过(例如,这种数据通常通过应用或操作系统决定为无用,并且在没有读取的情况下被覆盖)。
[0011]例如,恢复到活动应用的分配器的应用存储器(例如,经由调用“free(释放)”)可以根据分配器实现方式而以未定义的方式被修改,而不影响应用的正确性。这在机器学习训练中得到了说明,其中,大量的解除分配(deallocation)通常发生在每次训练迭代中。取决于工作负载,这可以在每次迭代中省略千兆字节的不必要写回。如果消除了这种不必要的操作,则本文中描述的技术可以将性能提高20

25%,并且将耐久性提高1.5倍。
[0012]作为另一示例,由于存储器内容在重启时被丢弃,因此在关机时,系统DRAM缓存可以被丢弃而不是将其刷新到后备介质。此外,应用关闭是另一个事件,之后不再需要先前分配和使用的DRAM。在这种情况下,将DRAM缓存中脏(dirty)但无效的数据刷新到持久介质
中,对性能和介质耐久性都是浪费。
[0013]如以下将更详细描述的,本文中描述的一些实现方式提供消除从DRAM到持久存储器的不需要的脏但无效的数据的数据刷新的技术。在不同的
中(例如,在磁盘缓存空间中),SSD

Trim命令可以将磁盘缓存的数据标记为无效;然而,这样的SSD

Trim命令不适用于两级存储器模式实现方式,并且与存储装置操作相比,对于存储器操作,这样的SSD

Trim命令的触发事件也不同。
[0014]如以下将更详细描述的,本文中描述的一些实现方式提供存储器控制器,其用于在使用动态随机存取存储器作为用于持久存储器的透明缓存的两级存储器控制器模式下,管理缓存驱逐和/或插入。例如,存储器控制器包括将动态随机存取存储器中的缓存数据映射到持久存储器中的复制数据的原始地址的逻辑。关于以下方面跟踪动态随机存取存储器中的缓存数据:其相对于持久存储器中的复制数据是有效数据还是无效数据。在从动态随机存取存储器驱逐缓存数据时,当缓存数据被跟踪为无效数据时,绕过对已被驱逐的缓存数据向持久存储器的写回。
[0015]图1是计算系统100的框图。在所示示例中,存储设备120(例如,两级存储器(2LM)等)与片上系统(SoC,system on chip)102通信。
[0016]如所示的,片上系统(SoC)102包括主处理器104(例如,中央处理单元/CPU)。主处理器104通常包括与存储设备120通信的存储器控制器124(例如,集成存储器控制器(IMC,integrated memory controller))。所示的计算系统100可以包括其他组件,例如具有虚拟存储器控制器116的操作系统114(OS)。
[0017]在一些实现方式中,存储器控制器124适于包括针对存储器范围的“存储器无效”命令。针对两级存储器模式实现的存储器控制器124被扩展为通过将对应的缓存行(如果存在于DRAM中的话)标记为无效或有效和/或脏或干净(clean)来处理这些命令。类似地,这样的“存储器无效”命令被OS 114使用,并且也可对应用可用。例如,OS 114的虚拟存储器管理器116在存储器区域被解除分配时(例如,在系统关闭时、在释放/删除调用时等)使用该命令。同样,活动应用基于应用特定的存储器使用知识来使用该命令。例如,作为扩展,编译器/解释器可以在它们检测到应用不再使用存储器范围时调用存储器无效命令。
[0018]存储设备120可以以多种格式实现。例如,存储设备120可实现为两级存储器(2LM)等。存储设备120包括分层存储器126,该分层存储器包括动态随机存取存储器128和持久存储器130。在2LM实现方式中,2LM的第一级存储器和2LM的第二级存储器中的任何一个可以包括持久存储器和/或易失性存储器。例如,2LM可以对应于具有近存储器和远存储器的系统存储器或主存储器。2LM的第一级存储器可以对应于近存储器并且包括更小、更快的DRAM。2LM的第二级存储器可以对应于远存储器并且包括更大存储容量的持久存储器(例如,字节可寻址的3D交叉点存储器)。
[0019]附加地或替代地,在一些实现方式中,块120可能不围绕实际的存储设备。例如,在以2LM模式运行的系统中,字节可寻址的3D交叉点存储器(和/或类似物)可能实际上未针对其持久性被使用,而仅针对其容量被使用,因此被视为易失性存储器。类似地,本文中描述的一些实现方式可以扩展到其他易失性分层存储器系统,例如使用多通道DRAM(MCDRAM)作为DRAM的超快缓存等。例如,本文中描述的一些实现方式可以将DRAM用作较慢的易失性存储器的缓存,或者将MCDRAM/高带宽存储器(HBM,High Bandwidth Memory)用作DRAM的缓
存。
[0020]为此,该想法可以扩展到其他易失性分层存储器系统,例如使用多通道DRAM(MC本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种半导体装置,包括:一个或多个衬底;以及逻辑,所述逻辑耦合到所述一个或多个衬底,其中,所述逻辑至少部分地以可配置硬件逻辑和固定功能硬件逻辑中的一个或多个来实现,所述逻辑用于:经由存储器控制器将动态随机存取存储器中的缓存数据映射到持久存储器中的复制数据的原始地址,其中,所述存储器控制器包括两级存储器控制器模式,所述两级存储器控制器模式使用所述动态随机存取存储器作为所述持久存储器的透明缓存;经由所述存储器控制器跟踪所述动态随机存取存储器中的缓存数据相对于所述持久存储器中的复制数据是有效数据还是无效数据;经由所述存储器控制器从所述动态随机存取存储器中驱逐缓存数据;以及当缓存数据被跟踪为无效数据时,经由所述存储器控制器绕过对已被驱逐的缓存数据向所述持久存储器的写回。2.根据权利要求1所述的半导体装置,所述逻辑还用于:经由所述存储器控制器从活动应用接收释放缓冲器命令,所述释放缓冲器命令指示缓存数据是无效数据,其中,基于接收的所述释放缓冲器命令进行用于将缓存数据跟踪为无效数据的操作。3.根据权利要求1

2中任一项所述的半导体装置,其中,用于将缓存数据跟踪为有效或无效的操作包括:用于经由所述存储器控制器将缓存数据标记为有效或无效、以及标记为脏或干净的操作,其中,响应于缓存数据被标记为脏但无效,执行用于绕过对缓存数据的写回的操作。4.根据权利要求3所述的半导体装置,其中,由所述存储器控制器在所述两级存储器控制器模式下执行以下操作中的一个或多个:用于跟踪有效数据还是无效数据的操作,用于将缓存数据标记为有效或无效、以及标记为脏或干净的操作,用于驱逐缓存数据的操作,以及用于绕过所述写回的操作。5.根据权利要求3

4中任一项所述的半导体装置,其中,基于以下事件中的一个或多个进行用于将缓存数据标记为脏但无效的操作:在机器学习训练的迭代期间对数据的解除分配、在系统关闭时、以及活动应用的关闭。6.根据权利要求3

5中任一项所述的半导体装置,所述逻辑还用于:当缓存数据被标记为脏且有效的数据时,经由所述存储器控制器执行对已被驱逐的缓存数据向所述持久存储器的写回。7.根据权利要求3

6中任一项所述的半导体装置,其中,脏的数据包括以下项中的一个或多个:副本数据、过时数据、不安全数据、不正确数据、不完整数据、以及不一致数据。8.根据权利要求1

7中任一项所述的半导体装置,其中,所述两级存储器控制器模式被实现为硬件,所述硬件用于管理用于所述持久存储器的动态随机存取存储器缓存。9.根据权利要求1

8中任一项所述的半导体装置,其中,所述持久存储器扩展所述动态随机存取存储器,其中,所述动态随机存取存储器是系统可见的,其中,所述持久存储器具有比所述动态随机存取存储器低的写入带宽、以及比所述动态随机存取存储器大的存储容量。10.一种存储设备,包括:
分层存储器,包括动态随机存取存储器和持久存储器;以及存储器控制器,耦合到所述分层存储器,所述存储器控制器用于:将所述动态随机存取存储器中的缓存数据映射到所述持久存储器中的复制数据的原始地址,其中,所述存储器控制器包括两级存储器控制器模式,所述两级存储器控制器模式使用所述动态随机存取存储器作为所述持久存储器的透明缓存;跟踪所述动态随机存取存储器中的缓存数据相对于所述持久存储器中的复制数据是有效数据还是无效数据;从所述动态随机存取存储器中驱逐缓存数据;以及当缓存数据被跟踪为无效数据时,绕过对已被驱逐的缓存数据向所述持久存储器的写回。11.根据权利要求10所述的存储设备,所述存储器控制器还用于:从活动应用接收释放缓冲器命令,所述释放缓冲器命令指示缓存数据是无效数据,其中,基于接收的所述释放缓冲器命令进行用于将缓存数据跟踪为无效数据的操作。12.根据权利要求10

1...

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

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

1