面向片上堆叠内存的异构内存管理系统及方法技术方案

技术编号:37152892 阅读:33 留言:0更新日期:2023-04-06 22:10
本发明专利技术提供了一种面向片上堆叠内存的异构内存管理系统及方法,包括:追踪记录迁移的内存数据页(块)并能够根据请求地址返回中继地址;统计分析访存请求并预测“热”页,决定何时触发数据迁移;确定待传输的数据,执行数据的迁移或交换。收到访存请求时,访问元数据,处理和转发访存请求;在异构内存系统中分配数据页;在异构内存系统中释放数据页;决定和执行数据迁移操作。本发明专利技术的系统和方法能够最大化地利用可为应用程序提供的内存空间,同时较好地平衡数据迁移和元数据管理的开销,在多道程序工作负载下,如公用移动通信基站场景中,带来较大的处理性能提升,具有广阔的应用前景和潜在的商业价值。潜在的商业价值。潜在的商业价值。

【技术实现步骤摘要】
面向片上堆叠内存的异构内存管理系统及方法


[0001]本专利技术涉及计算机体系结构的
,具体地,涉及面向片上堆叠内存的异构内存管理系统及方法。

技术介绍

[0002]芯片堆叠或片上内存的出现在一定程度上弥补了CPU与内存间的性能差距大的问题(“内存墙”问题)。内存带宽和延迟的优化能为内存密集型应用带来很大程度的性能提升。
[0003]3D堆叠技术可用于提升内存带宽。特别地,可将3D堆叠DRAM和处理器封装在同一个Package内,能够更显著地提升内存带宽。这种“近”内存通常容量有限,需要使用更大的“远”内存,如带宽更低的片外DRAM,作为补充。如何最好地利用所述近内存的高带宽和远内存的大容量从而得到最优的系统性能,仍是一个待深入研究的问题。目前有两种主要的解决方案,即使用片上堆叠DRAM和片外DRAM作为混合的统一编址内存的系统,同时支持两种介质间的数据迁移,称为PoM模式;或是将片外DRAM作为主存,将芯片堆叠DRAM作为DRAM Cache使用。
[0004]通常来说,DRAM Cache方式仅将数据从远内存加载至近内存;作为对比,PoM模式在两种内存之间进行数据交换。因而两种方式之间有如下区别。首先,Cache方式从内存系统中移出了近内存的容量,而PoM模式中近内存的容量是统一地址空间中的一部分;这可能会对内存占用敏感应用有较大影响。第二,数据交换导致两倍的拷贝开销;为了降低开销,PoM模式仅迁移未来重用可能性大的数据。相应地,PoM需要考察时间维度上的数据访问模式,预测通过迁移至近内存能带来更大收益的数据。与总是加载被访问数据的Cache模式相比,PoM的迁移方式对工作集变化的响应更慢。
[0005]尽管上述两种对于异构内存系统的管理方式有以上区别,两者同样面临相似的问题。其一是数据粒度和元数据开销之间的权衡。缓存粒度越小,tag部分的元数据开销越大;数据迁移的粒度越小,用来记录地址重映射的元数据开销越大。Tag和地址重映射元数据的占用的空间影响相应的管理开销以及性能。另外,对于Cache和PoM模式来说,更粗粒度的缓存或迁移粒度有利于空间局部性好的工作集,相反会因over

fetching问题不利于空间局部性差的工作负载。
[0006]在本领域,涉及的专业术语如下:
[0007]Die

Stacked Memory:芯片堆叠内存。芯片堆叠技术能够将多个不同的硅芯片通过不同芯片间的许多低延迟、低能耗的互联通道封装在一起。该技术已被用于实现垂直堆叠的内存,然后可以将其堆叠在处理芯片上或放置在处理芯片旁边。使用2.5D或3D堆叠,可以将多个内存堆叠合并到同一个封装模块中。借助片上密集的TSV总线,与片外内存相比,它能提供的数倍的带宽和更低的延迟。
[0008]DRAM:动态随机存取存储器,是一种随机存取半导体存储器,将每一位数据存储在一个存储单元中;存储单元通常由一个微型电容器和一个晶体管组成。在使用电容的设计
中,电容器既可以充电也可以放电。这两种状态被用来表示比特的两个值,通常称为0和1。电容器上的电荷会逐渐流失;如果不干预,电容器上的数据很快就会丢失。为了防止这种情况,DRAM需要一个外部存储器刷新电路,该电路周期性地重写电容器中的数据,将它们恢复到原来的电荷。
[0009]Metadata:元数据,即“关于数据的数据”,是提供有关数据的一个或多个方面的信息的数据;它用于总结有关数据的基本信息,可以更轻松地跟踪和处理特定数据。
[0010]因此,需要提出一种新的技术方案。

技术实现思路

[0011]针对现有技术中的缺陷,本专利技术的目的是提供一种面向片上堆叠内存的异构内存管理系统及方法。
[0012]根据本专利技术提供的一种面向片上堆叠内存的异构内存管理系统,包括:
[0013]模块M1:元数据管理模块追踪记录迁移的内存数据页\块并能够根据请求地址返回中继地址;
[0014]模块M2:控制逻辑模块统计分析访存请求并预测热页,决定何时触发数据迁移;
[0015]模块M3:数据驱动模块确定待传输的数据,执行数据的迁移或交换;
[0016]所述元数据管理模块、控制逻辑模块和数据驱动模块集成在异构内存控制器中。
[0017]优选地,所述模块M1包括如下模块:
[0018]模块M1.1:分页重映射表存储与数据缓存和交换相关的地址信息,记录片上堆叠内存页的模式和系统内页的分配情况;
[0019]模块M1.2:标签阵列Tag Array记录片上堆叠内存在DRAM Cache模式下的缓存信息。
[0020]优选地,所述模块M1.1包括如下模块:
[0021]模块M1.1.1:重映射标签位组Remapping tag

bits分页重映射表的tag

bits对于一个页映射组中的页唯一,存储页从DRAM迁移至PoM的地址变化,识别在任意时刻一个页映射到堆叠DRAM或是片外DRAM;
[0022]模块M1.1.2:分配位向量Alloc Bit Vector,ABV记录异构内存系统的页是否被分配;对于每个页映射组,ABV指示对应的页当前是否已经被操作系统分配,如果一个页已被分配,ABV中相应的比特位设置为1,否则位设置为0,即表示页空闲;
[0023]模块M1.1.3:模式位Mode Bit指示一个页映射组当前的处理模式,即记录片上堆叠内存页是作为DRAM Cache还是PoM使用;模式位设置为0时,页映射组处于部分内存PoM模式,设置为1时处于DRAM Cache模式。
[0024]优选地,所述模块M1.2包括如下模块:
[0025]模块M1.2.1:有效位向量Valid Bit Vector,VBV指明一个Cache Line是否包含有效信息,即堆叠DRAM页中的块是否被占用;
[0026]模块M1.2.2:脏位向量Dirty Bit Vector,DBV,DBV中的每个比特位指示当前堆叠DRAM页中的一个Cache Line是否是脏的,如果为脏置为1;因而,DBV指明当发生堆叠DRAM页\块逐出时,页\块中的数据是否需要写回;
[0027]模块M1.2.3:缓存标签位组Caching tag

bits对堆叠DRAM页中的每个Cache Line
设置tag

bits,记录该Cache Line缓存映射到片外DRAM的页号和块号。
[0028]优选地,所述模块M2包括如下模块:
[0029]模块M2.1:活动追踪单元包含用于统计内存请求的结构,由不同页映射组中的计数器构成,监控映射组中页的热度,作为将最频繁访问的片外DRAM页与相对应的芯片堆叠DRAM页交换的依据;
[0030]模块M2.2:迁移触发单元决定数据迁移是否发生,使用基于时间间隔和基于阈值方式结合的触发机制,在固定的时间间隔内检查是否满足预先本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向片上堆叠内存的异构内存管理系统,其特征在于,包括:模块M1:元数据管理模块追踪记录迁移的内存数据页\块并能够根据请求地址返回中继地址;模块M2:控制逻辑模块统计分析访存请求并预测热页,决定何时触发数据迁移;模块M3:数据驱动模块确定待传输的数据,执行数据的迁移或交换;所述元数据管理模块、控制逻辑模块和数据驱动模块集成在异构内存控制器中。2.根据权利要求1所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M1包括如下模块:模块M1.1:分页重映射表存储与数据缓存和交换相关的地址信息,记录片上堆叠内存页的模式和系统内页的分配情况;模块M1.2:标签阵列Tag Array记录片上堆叠内存在DRAM Cache模式下的缓存信息。3.根据权利要求2所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M1.1包括如下模块:模块M1.1.1:重映射标签位组Remapping tag

bits分页重映射表的tag

bits对于一个页映射组中的页唯一,存储页从DRAM迁移至PoM的地址变化,识别在任意时刻一个页映射到堆叠DRAM或是片外DRAM;模块M1.1.2:分配位向量Alloc Bit Vector,ABV记录异构内存系统的页是否被分配;对于每个页映射组,ABV指示对应的页当前是否已经被操作系统分配,如果一个页已被分配,ABV中相应的比特位设置为1,否则位设置为0,即表示页空闲;模块M1.1.3:模式位Mode Bit指示一个页映射组当前的处理模式,即记录片上堆叠内存页是作为DRAM Cache还是PoM使用;模式位设置为0时,页映射组处于部分内存PoM模式,设置为1时处于DRAM Cache模式。4.根据权利要求2所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M1.2包括如下模块:模块M1.2.1:有效位向量Valid Bit Vector,VBV指明一个Cache Line是否包含有效信息,即堆叠DRAM页中的块是否被占用;模块M1.2.2:脏位向量Dirty Bit Vector,DBV,DBV中的每个比特位指示当前堆叠DRAM页中的一个Cache Line是否是脏的,如果为脏置为1;因而,DBV指明当发生堆叠DRAM页\块逐出时,页\块中的数据是否需要写回;模块M1.2.3:缓存标签位组Caching tag

bits对堆叠DRAM页中的每个Cache Line设置tag

bits,记录该Cache Line缓存映射到片外DRAM的页号和块号。5.根据权利要求1所述的面向片上堆叠内存的异构内存管理系统,其特征在于,所述模块M2包括如下模块:模块M2.1:活动追踪单元包含用于统计内存请求的结构,由不同页映射组中的计数器构成,监控映射组中页的热度,作为将最频繁访问的片外DRAM页与相对应的芯片堆叠DRAM页交换的依据;模块M2.2:迁移触发单元决定数据迁移是否发生,使用基于时间间隔和基于阈值方式结合的触发机制,在固定的时间间隔内检查是否满足预先设定的阈值标准。6.一种面向片上堆叠内存的异构内存管理方法,其特征在于,所述方法应用如权利要
求1

5任一项所述的面向片上堆叠内存的异构内存管理系统,所述方法包括如下步骤:步骤S1:收到访存请求时,访问元数据,处理和转发访存请求;步骤S2:在异构内存系统中分配数据页;步骤S3:在异构内存系统中释放数据页;步骤S4:确认和执行数据迁移操作。7.根据权利要求6所述的面向片上堆叠内存的异构内存管理方法,其特征在于,所述步骤S1包括如下步骤:步...

【专利技术属性】
技术研发人员:陈纬栋黄林鹏郑圣安花一帆尹吉
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1