[go: up one dir, main page]

CN119166035A - 内存数据迁移方法、相关装置及计算机设备 - Google Patents

内存数据迁移方法、相关装置及计算机设备 Download PDF

Info

Publication number
CN119166035A
CN119166035A CN202311133455.6A CN202311133455A CN119166035A CN 119166035 A CN119166035 A CN 119166035A CN 202311133455 A CN202311133455 A CN 202311133455A CN 119166035 A CN119166035 A CN 119166035A
Authority
CN
China
Prior art keywords
page
access
memory
pages
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311133455.6A
Other languages
English (en)
Inventor
杨瑞
杨俊伟
祝晓平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2024/099933 priority Critical patent/WO2024260350A1/zh
Publication of CN119166035A publication Critical patent/CN119166035A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种内存数据迁移方法、相关装置及计算机设备,涉及计算机领域。方法包括:根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,以便于根据页面的访问结果确定页面的访问热度,根据页面的访问热度在至少两种不同类型的内存介质间触发内存数据迁移。从而,实现及时准确地统计页面被访问的频繁程度,通过减少页面的访问结果的数据量降低存储空间和带宽的消耗,提升存储空间的利用率和数据迁移性能。由此提高系统的数据处理速度,以及降低数据处理时延。

Description

内存数据迁移方法、相关装置及计算机设备
本申请要求于2023年06月20日提交国家知识产权局、申请号为202310733172.9、申请名称为“一种冷热页识别方法”的中国专利申请的优先权,这些申请的全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机领域,尤其涉及一种内存数据迁移方法、相关装置及计算机设备。
背景技术
目前,基于内存访问热度执行数据迁移,即希望存取速度快的存储器存储访问频繁的数据,存取速度慢的存储器存储访问不频繁的数据。例如,依据页面的访问热度触发内存数据迁移。但是无法及时准确地识别页面是否是被频繁访问的页面。导致了存取速度快的存储器可能存储访问不频繁的数据,或者,导致存取速度慢的存储器可能存储访问频繁的数据,影响了系统输入/输出(Input/Output,I/O)的性能,以及系统的数据处理速度和时延。
发明内容
本申请提供了一种内存数据迁移方法、相关装置及计算机设备,由此提高系统的数据处理速度,以及降低数据处理时延。
第一方面,提供了一种内存数据迁移方法,方法由计算机设备中的控制器执行,方法包括:根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,以便于根据页面的访问结果确定页面的访问热度,根据页面的访问热度在至少两种不同类型的内存介质间触发内存数据迁移。其中,访问请求用于指示计算机设备中处理器运行的应用程序对内存介质的操作。统计模式包括冷页统计模式或热页统计模式中至少一种。例如,根据访问请求所访问内存介质的类型关联的冷页统计模式统计页面的访问结果,或者,根据访问请求所访问内存介质的类型关联的热页统计模式统计页面的访问结果。
相对于通过统计页面的访问频次确定内存访问热度。由于页面的访问频次的数据量较大,所需的存储空间和带宽的消耗较大,而且,计算机设备中处理器还分析页面的访问频次以确定页面的访问热度,导致消耗较多的计算资源。或者,相对于周期性扫描页表条目(Page Table Entry,PTE)中的访问位(Access Bit)确定页面的访问热度。由于依据访问位只能确定页面是否被访问,无法及时准确地识别页面是否是被频繁访问的页面。因此,导致无法及时准确地识别页面是热页还是冷页。
本申请提供的方案,针对不同类型的内存介质采用不同统计方法统计页面被访问的频繁程度,比如,针对热页和冷页采用不同统计方法统计页面被访问的频繁程度,即基于热页统计模式统计热页,基于冷页统计模式统计冷页。从而,实现及时准确地统计页面被访问的频繁程度,通过减少页面的访问结果的数据量降低存储空间和带宽的消耗,提升存储空间的利用率和数据迁移性能。由此提高系统的数据处理速度,以及降低数据处理时延。
在一种可能的实现方式中,热页统计模式,根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,包括:根据访问请求指示的地址更新热页窗口,热页窗口用于基于页面访问顺序记录频繁访问的页面。
在另一种可能的实现方式中,热页窗口用于指示基于页面访问顺序替换热页窗口中的页面,以记录频繁访问的页面。
从而,基于热页统计模式识别被频繁访问的页面,确保及时准确地统计热页,减少热页的访问结果所占用的存储空间,以及降低带宽的消耗,提升存储空间的利用率和数据迁移性能。
在另一种可能的实现方式中,热页统计模式,根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,包括:更新与访问请求指示的地址关联的页面的饱和计数器,饱和计数器用于统计页面的访问频次。
如此,基于饱和计数器统计页面的访问频次,只需要统计饱和计数器记录的次数,减少热页的访问结果所占用的存储空间,以及降低带宽的消耗,提升存储空间的利用率和数据迁移性能。
在另一种可能的实现方式中,方法还包括:当饱和计数器溢出时,确定页面为热页,反馈页面为热页的标识;当饱和计数器未溢出时,确定页面为冷页,反馈页面为冷页的标识。
从而,通过反馈热页的标识和冷页的标识,减少反馈数据的数据量,降低带宽的消耗提升传输效率,提升数据迁移性能。避免处理器分析页面的访问频次以确定页面的访问热度,导致消耗较多的计算资源。
在另一种可能的实现方式中,冷页统计模式,根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,包括:更新与访问请求指示的地址关联的页面的指示位,页面的指示位用于指示页面被访问。
从而,基于冷页统计模式识别未被频繁访问的页面,确保及时准确地统计冷页,减少冷页的访问结果所占用的存储空间,以及降低带宽的消耗,提升存储空间的利用率和数据迁移性能。
在另一种可能的实现方式中,方法还包括:根据处理器访问的多个页面的空间局部特征对多个页面的指示位执行信息熵处理,得到处理后数据,处理后数据用于指示多个页面的指示位;存储处理后数据。
从而,对多个页面的指示位执行信息熵处理,进一步减少多个页面的指示位的数据量,减少冷页的访问结果所占用的存储空间,以及降低带宽的消耗,提升存储空间的利用率和数据迁移性能。
在另一种可能的实现方式中,根据处理器访问的多个页面的空间局部特征处理多个页面的指示位,包括:根据存储效率目标处理多个页面的地址索引和多个页面的指示位,得到处理后数据,存储效率目标用于指示在有限的存储空间存储有效数据的利用率。
在另一种可能的实现方式中,方法还包括:根据访问请求包含的地址确定访问请求所访问内存介质的类型。
在另一种可能的实现方式中,页面的访问结果存储于计算机设备的存储介质中。从而,以便于计算机设备中处理器尽快获取到页面的访问结果,根据页面的访问结果确定的页面的访问热度在至少两种不同类型的内存介质间触发内存数据迁移。
在另一种可能的实现方式中,方法还包括:压缩页面的访问结果,得到压缩后数据;反馈压缩后数据。从而,进一步降低带宽的消耗以及提升传输效率,使带外的通信方式不会成为瓶颈,提升冷热迁移性能。
第二方面,提供了一种内存数据迁移装置,内存数据迁移装置包括用于执行第一方面或第一方面任一种可能设计中的内存数据迁移方法的各个模块。例如,内存数据迁移装置包括通信模块、统计模块和迁移模块。
通信模块,用于获取访问请求,访问请求用于指示计算机设备中处理器运行的应用程序对内存介质的操作;统计模块,用于根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,页面的访问结果用于确定页面的访问热度,统计模式包括冷页统计模式或热页统计模式中至少一种;迁移模块,用于根据访问结果在至少两种不同类型的内存介质间触发内存数据迁移。
在一种可能的实现方式中,热页统计模式,统计模块根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果时,具体用于:根据访问请求指示的地址更新热页窗口,热页窗口用于基于页面访问顺序记录频繁访问的页面。
在另一种可能的实现方式中,热页窗口用于指示基于页面访问顺序替换热页窗口中的页面,以记录频繁访问的页面。
在另一种可能的实现方式中,热页统计模式,统计模块根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果时,具体用于:更新与访问请求指示的地址关联的页面的饱和计数器,饱和计数器用于统计页面的访问频次。
在另一种可能的实现方式中,通信模块还用于:当饱和计数器溢出时,反馈页面为热页的标识;当饱和计数器未溢出时,反馈页面为冷页的标识。
在另一种可能的实现方式中,冷页统计模式,统计模块根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果时,具体用于:更新与访问请求指示的地址关联的页面的指示位,页面的指示位用于指示页面被访问。
在另一种可能的实现方式中,统计模块还用于根据处理器访问的多个页面的空间局部特征对多个页面的指示位执行信息熵处理,得到处理后数据,处理后数据用于指示多个页面的指示位;存储处理后数据。
在另一种可能的实现方式中,统计模块根据处理器访问的多个页面的空间局部特征处理多个页面的指示位时,具体用于:根据存储效率目标处理多个页面的地址索引和多个页面的指示位,得到处理后数据,存储效率目标用于指示在有限的存储空间存储有效数据的利用率。
在另一种可能的实现方式中,统计模块还用于根据访问请求包含的地址确定访问请求所访问内存介质的类型。
在另一种可能的实现方式中,页面的访问结果存储于计算机设备的存储介质中。
在另一种可能的实现方式中,迁移模块还用于压缩页面的访问结果,得到压缩后数据;反馈压缩后数据。从而,进一步降低带宽的消耗以及提升传输效率,使带外的通信方式不会成为瓶颈,提升冷热迁移性能。
第三方面,提供了一种内存,内存包括存储介质和控制器,存储介质用于存储一组计算机指令;当控制器执行所述一组计算机指令时,执行第一方面或第一方面任一种可能实现方式中的方法的操作步骤实现识别内存中页面的访问热度。
第四方面,提供了一种控制器,控制器用于执行第一方面或第一方面任一种可能实现方式中的方法的操作步骤实现识别内存中页面的访问热度。
第五方面,提供了一种处理器,处理器包括关联至少两种不同类型的内存介质,处理器用于执行第一方面或第一方面任一种可能实现方式中的方法的操作步骤实现识别内存中页面的访问热度。
第六方面,提供了一种计算机设备,该计算机设备包括存储器、多种不同类型的内存介质和处理器,存储器用于存储一组计算机指令;当处理器执行一组计算机指令时,处理器用于执行第一方面或第一方面任一种可能实现方式中的方法的操作步骤实现识别内存中页面的访问热度。
第七方面,提供了一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在处理器中运行时,使得处理器执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
第八方面,提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面任意一种可能的实现方式中所述方法的操作步骤。
第二方面至第八方面中任一种设计方式所带来的技术效果可参见第一方面或第一方面中不同设计方式所带来的技术效果,此处不再赘述。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种计算机设备的组成示意图;
图2为本申请提供的一种地址与访问频次的关系示意图;
图3为本申请提供的一种多种类型的内存介质部署以及数据迁移示意图;
图4为本申请提供的一种内存访问热度统计的场景示意图;
图5为本申请提供的一种内存数据迁移方法的流程示意图;
图6为本申请提供的一种热页识别的示意图;
图7为本申请提供的一种热页识别的示意图;
图8为本申请提供的一种地址裁剪的示意图;
图9为本申请提供的一种冷页识别和冷页信息熵处理的示意图;
图10为本申请提供的一种内存数据迁移的流程示意图;
图11为本申请提供的一种内存数据迁移的流程示意图;
图12为本申请提供的一种内存数据迁移的流程示意图;
图13为本申请提供的一种内存数据迁移的流程示意图;
图14为本申请提供的一种内存数据迁移装置的结构示意图。
具体实施方式
为了便于理解,首先对本申请所涉及的主要术语进行解释。
在计算机存储系统的层次结构中,越靠近处理器的存储器,存取速度越快,存储容量也越小。依据距离处理器从近到远的顺序,存储器分为:寄存器,高速缓冲存储器,主存储器,外部存储器。
主存储器(main memory),也称内存储器,简称主存或内存(memory)。主存是计算机系统的重要部件,即外部存储器与处理器进行沟通的桥梁。主存用于暂时存放处理器中的运算数据以及处理器与硬盘等外部存储器交换的数据。例如,计算机开始运行,将需要运算的数据从主存加载到处理器中进行运算,运算完成后,处理器将运算结果存入主存。例如,主存包括动态随机存取存储器(dynamic random access memory,DRAM),双倍数据率同步动态随机存取存储器(doubledata rate synchronous DRAM,DDR SDRAM)。
外部存储器,也称辅助存储器,简称为外存或辅存。相对主存,外存的存储容量大,存取速度慢。例如,外部存储器包括网络存储器,固态驱动器(solid state disk或solidstate drive,SSD),硬盘驱动器(hard disk drive,HDD)。
高速缓冲存储器(cache),是介于处理器和主存之间的高速小容量存储器。高速缓冲存储器简称缓存。相对主存,缓存的存储容量小,存取速度快。缓存包括一级缓存(L1cache)、二级缓存(L2 cache)和三级缓存(L3 cache)。一级缓存设置于处理器核内部。二级缓存可以设置于处理器核内部或处理器核外部。一级缓存和二级缓存通常由其所在的处理器核独享(exclusive)。三级缓存一般设置在处理器核外部,由多个处理器核共享(shared)。
寄存器(register),是位于处理器内部的小型存储器,用于暂时存放参与运算的数据和运算结果。寄存器可以是一种常用的时序逻辑电路。
分级存储(Hierarchical Storage Technology),是根据数据的重要性、访问频率、保留时间、存储容量、性能等指标,将数据采取不同的存储方式存储在不同性能的存储设备上,通过分级存储管理实现数据在存储介质之间的自动迁移。
热数据,指处理器经常访问的数据。如果将热数据存储到靠近处理器的存储器,使得处理器可以尽可能快地获取到数据,提高系统的数据处理速度,以及降低数据处理时延,显著地改善系统的访问性能。
冷数据,指处理器不经常访问的数据。如果将冷数据存储到远离处理器的存储器,可以存储更多的数据,而且使靠近处理器的存储器存储更多的热数据,提高存储资源利用率,降低系统成本。
缓存线(cache_line),指计算机设备对内存的存储空间进行读操作或写操作的单位。一个缓存线的大小可以为64字节(byte,B)。
页面,指计算机设备对内存的存储空间进行管理的单位。例如,页面大小(pagesize)为4千字节(kilobyte,KB)、2兆字节(Megabyte,MB)或其他的字节大小。4KB页面可以称为小页。2MB页面可以称为大页。页面越小,计算机设备管理内存所需的资源越多;页面越大,计算机设备管理内存所需的资源越少。一个页面可以包括多个缓存线,即页面大小为缓存线的大小的倍数。
为了提高系统的数据处理速度,以及降低数据处理时延,本申请提供一种内存数据迁移方法,该方法应用于混合内存系统,混合内存系统包含多个处理器和多种不同类型的内存介质,处理器关联至少两种不同类型的内存介质。方法包括:根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,以便于根据页面的访问结果确定页面的访问热度,根据页面的访问热度在至少两种不同类型的内存介质间触发内存数据迁移。从而,针对不同内存介质采用不同统计方法统计页面被访问的频繁程度,实现及时准确地识别热页和冷页,通过减少页面的访问结果的数据量降低存储空间和带宽的消耗,提升存储空间的利用率和数据迁移性能。由此提高系统的数据处理速度,以及降低数据处理时延。避免仅通过统计页面的访问频次确定内存访问热度,由于页面的访问频次的数据量较大,所需的存储空间和带宽的消耗较大,或者,仅依据页面的访问位确定页面是否被访问,无法及时准确地识别页面是否是被频繁访问的页面的问题。
本申请提供的内存数据迁移方法可以应用于人工智能、大数据、云计算等领域,以及高性能、大容量的存储系统等包含多种类型的存储介质的场景。
下面结合附图对本申请的实施方式进行详细描述。
图1为本申请提供的一种计算机设备的组成示意图。如图1所示,计算机设备100包括处理器110。
处理器110是计算机设备100的控制中心。处理器110可以是中央处理器(centralprocessing unit,CPU)、图形处理器(graphics processing unit,GPU)、数据处理单元(data processing unit,DPU)、神经处理单元(neural processing unit,NPU)和嵌入式神经网络处理器(neural-network processing unit,NPU)等具有计算能力的计算单元。处理器110还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、片上系统(system on chip,SoC)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。为了便于描述,以下实施例以处理器110为CPU为例进行说明。
图1中计算机设备100可包括一个或多个处理器(如:处理器110和处理器130)。处理器可以是一个多核(multi-core)处理器,即处理器包括一个处理器核(core)或多个处理器核。例如,图1中所示的处理器110包含的N个处理器核。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。
由于单个处理器的核数逐渐增多,处理器的计算速度也不断提高,则处理器对内存的存取速度和内存容量的需求也越来越高。在一种可能的实现方式中,将多种不同类型的存储介质一起作为计算机设备的主存储器(简称:内存或主存),以此提升内存容量,为每个处理器核从内存中分配尽可能多的内存资源和内存带宽,满足处理器对内存的存取速度和内存容量的需求。可以将利用多种不同类型的存储介质作为内存的系统称为混合内存系统。混合内存系统中作为内存的存储介质可以称为内存介质。处理器可以关联至少一种类型的内存介质,即有的处理器关联一种类型的内存介质,有的处理器关联两种以上类型的内存介质。
例如,计算机设备包括多种不同类型的内存介质。多种不同类型的内存介质包括第一内存介质和第二内存介质,第一内存介质的存储容量低于第二内存介质的存储容量,第一内存介质的存取速度高于第二内存介质的存取速度,第一内存介质的访问时延低于第二内存介质的访问时延,第一内存介质的成本高于第二内存介质的成本。
其中,第一内存介质可以包含动态随机存取存储器(dynamic random accessmemory,DRAM)。第二内存介质为存储级内存(storage-class-memory,SCM),SCM包括相变存储器(phase-change memory,PCM),磁性随机存储器(magneto resistive random-accessmemory,MRAM)、电阻型随机存储器(resistive random access memory,RRAM/ReRAM),铁电式存储器(ferroelectric random access memory,FRAM),快速NAND(fast NAND)或纳米随机存储器(Nano-RAM,NRAM)中至少一种。
示例地,计算机设备100中作为主存储器120的多种不同类型的内存介质包括DRAM121和SCM 122。处理器110与DRAM 121和SCM 122通过支持内存语义的接口相连。
处理器110,用于运行应用程序对内存介质(如:DRAM 121、SCM 122)进行读操作或写操作,以及根据对内存介质的访问冷热程度触发数据迁移。
根据对内存介质的访问冷热程度触发数据迁移可以替换描述为根据内存介质存储的数据的访问冷热程度触发数据迁移。数据迁移包括将冷数据迁移到下一级内存介质,以及将热数据迁移到上一级内存介质。
例如,当缓存线为冷数据时,缓存线所在的内存介质为DRAM,将缓存线迁移到SCM。
又如,当缓存线为热数据时,缓存线所在的内存介质为SCM,将缓存线迁移到DRAM。
可理解地,对于计算机设备中的任一级内存介质均可依据数据访问冷热程度触发数据迁移。每个内存介质依据数据访问冷热程度逐级对数据进行迁移。相对当前的内存介质,下一级内存介质的存储容量更大;上一级内存介质的存取速度越快。
在一些实施例中,计算机设备依据内存访问追踪(Memory Access Tracking,MAT)方式对页面计数,即以页面(如:4KB页面,2MB页面)为粒度统计页面的访问频次,兼容了计算机设备对内存的页面管理方式,使得内存数据迁移方法具备易用性。例如,处理器以缓存线为粒度对内存介质进行操作,而缓存线属于管理的某一页面,则内存介质中的缓存线被操作一次,缓存线所属的页面也就被读写一次。控制器统计被操作的缓存线所属的页面的访问频次,来识别页面的访问热度。但是,由于页面的访问频次的数据量较大,所需的存储空间和带宽的消耗较大,控制器需要处理页面的访问频次得到页面的冷热属性,则内存访问热度识别效率较低,导致由于内存数据迁移效率进而影响系统的数据处理速度和时延。
在另一些实施例中,计算机设备周期性扫描页表条目(Page Table Entry,PTE)中的访问位(Access Bit),依据访问位确定页面是否被访问。但是无法及时准确地识别页面是否是被频繁访问的页面。而且,频繁扫描页表条目导致消耗较多的计算资源(如:CPU资源)。
需要说明的是,对处理器访问内存介质的行为进行分析,比如,依据内存介质的地址的访问频次对地址排序,可以得到如图2所示的地址与访问频次的关系。由图2可知,大部分页面未被处理器访问或少量被访问,少部分页面被处理器频繁访问。依据页面的访问频次,可以将页面分为冷页和热页。被频繁访问的页面可以称为热页。热页可以包含热数据。未被频繁访问的页面可以称为冷页。冷页可以包含冷数据。
可选地,依据页面的访问频次也可以将页面划分更多的等级。比如,从未被访问的页面称为绝对冷页。被少量访问的页面称为相对冷页。比相对冷页的访问频次多且比热页的访问频次少的页面可以称为温页。
由于在内存介质被访问的过程中,只有少部分页面被频繁访问,大部分页面未被处理器访问或少量被访问,则用于存储访问频次的存储空间中只有少部分有效数据,少部分有效数据可以是指被频繁访问页面的访问频次,导致存储空间的利用率较低。
本申请中,处理器110用于根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,以便于根据页面的访问结果确定页面的访问热度,根据访问热度触发数据迁移。
例如,统计模式可以包括冷页统计模式或热页统计模式中至少一种。处理器110用于根据访问请求所访问内存介质的类型关联的冷页统计模式统计页面的访问结果,或者,处理器110用于根据访问请求所访问内存介质的类型关联的热页统计模式统计页面的访问结果,或者,处理器110用于根据访问请求所访问内存介质的类型关联的冷页统计模式和热页统计模式统计页面的访问结果。
可选地,本申请对统计模式的划分方式不予限定。可以划分更多种类的模式。例如,统计模式可以包括冷页统计模式、温页统计模式或热页统计模式中至少一种。
示例地,如图3所示,假设处理器110关联三种不同类型的内存介质,依据距离处理器110从近到远的顺序排序分别为内存介质1、内存介质2和内存介质3。内存介质1的等级高于内存介质2的等级;内存介质2的等级高于内存介质3的等级。例如,内存介质1为一级内存介质,内存介质2为二级内存介质,内存介质3为三级内存介质。
一般地,内存介质1的存储容量低于内存介质2的存储容量,内存介质1的存取速度高于内存介质2的存取速度,内存介质1的访问时延低于内存介质2的访问时延,内存介质1的成本高于内存介质2的成本。内存介质2的存储容量低于内存介质3的存储容量,内存介质2的存取速度高于内存介质3的存取速度,内存介质2的访问时延低于内存介质3的访问时延,内存介质2的成本高于内存介质3的成本。
内存介质1用于存储被频繁访问的热数据,对于未被频繁访问的冷数据,可以迁移到内存介质2,则可以采用冷页统计模式统计内存介质1中页面的访问结果,识别出冷页触发数据迁移,从而确保冷页的统计准确性。
内存介质3用于存储未被频繁访问的冷数据,对于被频繁访问的热数据,可以迁移到内存介质2,则可以采用热页统计模式统计内存介质3中页面的访问结果,识别出热页触发数据迁移。从而确保热页的统计准确性。
内存介质2用于存储未被频繁访问的冷数据和被频繁访问的热数据之间的温数据,则可以采用热页统计模式和冷页统计模式统计内存介质2中页面的访问结果。对于冷数据可以迁移到内存介质3,对于热数据可以迁移到内存介质1。
从而,针对不同内存介质采用不同统计方法统计页面被访问的频繁程度,进而依据页面的访问结果触发数据迁移,以此及时准确地统计页面被访问的频繁程度,通过减少统计数据量降低存储空间和带宽的消耗,提升存储空间的利用率和数据迁移性能。由此提高系统的数据处理速度,以及降低数据处理时延。
另外,本申请对执行内存访问热度统计的执行主体不予限定,执行主体包括计算机设备中介质模组、具有计算功能的硬件模组或处理器。
示例地,如图4中的(a)所示,在介质模组内实现统计页面的访问结果。介质模组可以是多种不同类型的内存介质中任一种。例如介质模组可以是DRAM或SCM。
计算机设备中处理器向介质模组发送访问请求,指示对介质模组执行写操作或读操作。介质模组中的控制器(如:寄存时钟驱动器(Register Clock Driver,RCD))可以采集访问请求,根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,存储页面的访问结果;进而,通过带内或带外的方式向处理器反馈页面的访问结果。
如图4中的(b)所示,与图4中的(a)的区别在于:由计算机设备内其他硬件模组实现统计页面的访问结果,并通过带内或带外的方式向处理器反馈页面的访问结果。硬件模组可以是内存控制器或外设(如:复杂程序逻辑器件(complex programmable logicaldevice,CPLD),FPGA)等。
如图4中的(c)所示,与图4中的(a)的区别在于:由计算机设备内处理器实现统计页面的访问结果,处理器核可以通过读处理器中寄存器的方式获取页面的访问结果。
计算机设备100还可以包括高速缓冲存储器和寄存器。
高速缓冲存储器用于存储处理器110中的处理器核可能多次访问的指令或数据。从而,提高处理器处理数据的速度,避免处理器频繁访问主存储器120。
在物理形态上,高速缓冲存储器可以是随机存取存储器(random access memory,RAM)、静态随机存取存储器(static random-access memory,SRAM)、动态随机存储器(dynamic RAM,DRAM),或可存储信息和指令的其他类型的存储设备。
在逻辑形态上,高速缓冲存储器可以是一级缓存(L1 cache)、二级缓存(L2cache)、三级缓存(L3 cache)或者任意级别的缓存设备。示例地,设置于处理器核内部的高速缓冲存储器可以是一级缓存(L1 cache)和二级缓存(L2 cache)。设置于处理器核外部的高速缓冲存储器可以是三级缓存(L3 cache)。
寄存器用于存储处理器110中的处理器核可能多次访问的指令或数据。由于寄存器的存取速度高于高速缓冲存储器的存取速度,从而,可以将处理器核可能多次访问的指令或数据先存入寄存器,可以进一步提高处理器处理数据的速度。
处理器核通过总线111与处理器中的其他器件(如:处理器核、高速缓冲存储器、主存储器120)连接,通过总线111访问其他器件。例如,处理器核、高速缓冲存储器和主存储器120之间通过总线111传输访问结果。又如,处理器核通过总线111向主存储器120传输写指令或读指令,使主存储器120根据写指令对缓存线进行写操作或根据读指令对缓存线进行读操作。总线111可以是工业标准体系结构(industry standard architecture,ISA)总线、快捷外围部件互连标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等,或者是非标准体系的私有总线标准等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图1中处理器核和处理器中的其他器件的连接方式只是一种示意性说明。在一种可能的实现方式中,处理器核通过环形总线(ring bus)与处理器中的其他器件连接,通过环形总线访问处理器中的其他器件。在另一种可能的实现方式中,处理器核和处理器中的其他器件通过网形总线(mesh bus)连接,处理器核通过网形总线访问处理器中的其他器件。
处理器110通过内存控制器(memory control,MC)112与主存储器120连接。处理器110可以通过运行或执行存储在主存储器120内的软件程序,以及调用存储在主存储器120内的数据,执行计算机设备100的各种功能。例如,处理器110通过内存控制器112实现统计页面的访问结果。
主存储器120可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)等。主存储器120还用于存储与本实施例相关的程序。
处理器110还可以包含外设(external device)140和外设管理模块113。外设140通过总线111与外设管理模块113连接。外设140可以是特定集成电路(applicationspecific integrated circuit,ASIC)。例如:微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或者,图形处理器(graphics processing unit,GPU),或者,神经网络处理器(neural-network processing unit,NPU)。外设140也可以实现统计页面的访问结果,通过总线111向处理器核反馈访问结果,使处理器核根据数据的访问冷热程度触发数据迁移。
图1中示出的设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
接下来,结合附图对本申请提供的内存数据迁移方法进行详细说明。
为了便于说明,以图4中的(a)所示的介质模组统计场景,即在内存介质内实现统计页面的访问结果为例进行说明,即统计页面的访问结果的控制器可以是内存介质中的控制器。参见图5,图5为本申请提供的一种内存数据迁移方法的流程示意图。如图5所示,该方法包括以下步骤。
步骤510、处理器向内存介质发送访问请求。
计算机设备中处理器运行的应用程序需要对内存介质进行读操作或写操作时,向内存介质发送访问请求。可选地,访问请求指示按照单位存储空间(例如,缓存线)对内存介质进行读操作或写操作。单位存储空间的大小可以为处理器访问内存介质时缓存线的大小。访问请求可以包括内存介质的地址和偏移值,或者,访问请求可以包括内存介质的起始地址和结束地址,来指示内存介质中所访问的一段存储空间。
步骤520、根据获取到的访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果。
处理器可以依据内存地址访问内存介质,比如,依据内存地址从内存介质读取内存地址指示的存储空间中的数据,或者,向内存介质中内存地址指示的存储空间写入数据。在一些实施例中,处理器依据逻辑地址访问内存介质,内存管理单元(Memory ManagementUnit,MMU)将逻辑地址映射为内存介质的物理地址,以便访问内存介质。计算机设备中不同的内存介质具有不同的物理地址,则处理器可以根据不同内存介质的物理地址访问不同的内存介质。
在一些实施例中,控制器采集到处理器发送的访问请求后,根据访问请求包含的地址确定访问请求所访问内存介质的类型,根据内存介质的类型关联的统计模式统计页面的访问结果。访问请求包含的地址可以是指内存介质的物理地址。
可选地,控制器还发送指示消息,指示消息包括访问请求所访问内存介质的类型和内存介质的类型关联的统计模式。
在第一种可能的实现方式中,根据访问请求所访问内存介质的类型关联的热页统计模式统计页面的访问结果。例如,处理器访问远离处理器的内存介质,则控制器依据热页统计模式统计页面的访问结果。即访问请求包含的地址指示远离处理器的内存介质,控制器根据访问请求包含的地址确定处理器需要访问远离处理器的内存介质,依据热页统计模式统计所访问页面的访问结果。
由于相对靠近处理器的内存介质,远离处理器的内存介质的存取速度较慢及访问时延较长,则远离处理器的内存介质用于存储冷数据。处理器访问远离处理器的内存介质中的冷数据时,表示该冷数据是处理器所需要的数据。为了使处理器可以尽可能快地从靠近处理器的内存介质获取热数据,提高系统的数据处理速度,以及降低数据处理时延,则依据热页统计模式将冷数据所在的页面统计为热页,该冷数据转换为热数据,以便于将热数据从远离处理器的内存介质迁移到靠近处理器的内存介质。
靠近处理器的内存介质可以称为近端内存。远离处理器的内存介质可以称为远端内存。近端内存的存取速度大于远端内存的存取速度。例如,近端内存可以是DRAM或者DDRSDRAM。远端内存可以是SCM。处理器访问SCM时,控制器可以依据热页统计模式统计SCM中页面的访问结果。
可选地,控制器依据多个内存介质的地址段与统计模式的关联关系确定统计模式。控制器根据访问请求包含的地址查询关联关系所属的内存介质的地址段,将关联关系中内存介质的地址段对应的统计模式确定为统计页面的访问结果的统计模式。例如,远端内存与热页统计模式关联,处理器访问远端内存时,控制器可以依据热页统计模式统计远端内存中页面的访问结果。
在一些实施例中,根据访问请求指示的地址更新热页窗口。热页窗口用于基于页面访问顺序筛选频繁访问的页面。热页窗口可以是一个过滤窗口,用于依据页面访问顺序采集被频繁访问的N个页面,即热页窗口采集的N个被频繁访问的页面依据访问顺序排序,N为正整数。可理解地,处理器当前访问的页面置于热页窗口统计的N个页面中的第一条记录。页面的访问结果包括N个基于页面访问顺序记录频繁访问的页面。例如,页面的访问结果包括N个基于页面访问顺序记录频繁访问的页面的标识。
控制器获取到访问请求后,根据访问请求指示的地址可以确定所访问的数据块所属的页面,判断热页窗口是否包含当前访问的页面,若热页窗口包含当前访问的页面,将包含当前访问的页面调整为热页窗口的第一条记录,若热页窗口不包含当前访问的页面,更新热页窗口的页面记录,将当前访问的页面调整为热页窗口的第一条记录。
可选地,热页窗口用于指示基于页面访问顺序替换热页窗口中的页面,以记录频繁访问的页面。即利用频繁访问的页面替换不频繁访问的页面。若热页窗口不包含当前访问的页面,且热页窗口已采集N个页面,用于当前访问的页面替换热页窗口的第N条记录,并将当前访问的页面调整为热页窗口的第一条记录。
示例地,热页窗口用于记录页面的标识。页面的标识可以是页面的起始地址。如图6中的(a)所示,热页窗口记录了N个页面的地址。当前访问的页面为地址1的页面,热页窗口记录了地址1的页面,对热页窗口记录的地址重排序,将地址1的页面调整为热页窗口的第一条记录。如图6中的(b)所示,热页窗口记录了N个页面的地址。当前访问的页面为地址4的页面,热页窗口未记录地址4的页面,热页窗口记录的地址数量等于N,将地址4的页面调整为热页窗口的第一条记录,替换热页窗口的第N条记录,即删除热页窗口的第N条记录地址10,或者,热页窗口记录的地址数量小于N,热页窗口新增地址4的页面,将地址4的页面调整为热页窗口的第一条记录。
相对于统计页面的访问频次,本申请提供的方案仅记录热页的标识,可以有效地减少存储页面的访问结果所占用的存储容量,以及降低传输页面的访问结果所需带宽的消耗。
在另一些实施例中,更新与访问请求指示的地址关联的页面的饱和计数器。饱和计数器用于统计页面的访问频次。
控制器获取到访问请求后,根据访问请求指示的地址可以确定所访问的数据块所属的页面,更新页面的访问频次。如每访问该页面一次,对页面的访问频次加一,即对饱和计数器的计数值加一。页面的访问结果包括多个页面的饱和计数器记录的页面的访问频次。
当饱和计数器溢出时,确定页面为热页;当饱和计数器未溢出时,确定页面为冷页。
示例地,如图7所示,依据页面的标识排序的多个页面的访问频次。当页面的访问频次等于饱和计数器的饱和值,页面的指示位的取值为1。当页面的访问频次不等于饱和计数器的饱和值,页面的指示位的取值为0。页面的指示位用于指示页面是否被访问。
可选地,内存介质也可以无需存储页面的指示位,控制器向处理器反馈页面的访问结果时,依据饱和计数器记录的页面的访问频次反馈页面的访问结果。例如,控制器确定饱和计数器溢出,反馈页面的指示位的取值1,表示页面为热页,控制器确定饱和计数器未溢出,反馈页面的指示位的取值0,表示页面为冷页。控制器可以输出位图,位图表示多个页面的指示位的取值。例如,位图为111000,表示6个页面的指示位的取值为111000。
由于处理器可直接从存储介质(如:RAM)中获取页面的访问热度,避免分析页面的访问频次来确定页面的访问热度的识别操作,降低了计算资源消耗。另外,由于处理器获取到的页面的访问结果是依据页面的访问频次确定的,确保热页识别的准确性,避免仅依据页面的访问位确定页面是否被访问导致热页识别不准确的问题。
需要说明的是,页面的标识可以是页面的起始地址或者页面的起始地址的地址索引(index)。从而,减少存储页面的访问结果所占用的存储空间。在不同的系统架构下,支持的页面的大小可能为4KB、64KB或2MB,可以根据不同的页面大小裁剪地址,将裁剪后的地址作为地址索引,依据地址索引对热页窗口统计的页面排序或记录页面的访问频次,得到页面的访问结果。
示例地,如图8所示,假设采集的访问请求指示的地址为64B,即采集后地址为64B。对采集后地址裁剪后得到的地址索引可以是4KB、64KB或2MB。
在一些实施例中,根据访问请求指示的地址确定地址索引,更新地址索引关联的页面的饱和计数器,对饱和计数器的计数值加一。
在第二种可能的实现方式中,根据访问请求所访问内存介质的类型关联的冷页统计模式统计页面的访问结果。例如,处理器访问靠近处理器的内存介质,则控制器依据冷页统计模式统计页面的访问结果。即访问请求包含的地址指示靠近处理器的内存介质,控制器根据访问请求包含的地址确定处理器需要访问靠近处理器的内存介质,依据冷页统计模式统计所访问页面的访问结果。
由于相对远离处理器的内存介质,靠近处理器的内存介质的存取速度较快及访问时延较短,则靠近处理器的内存介质用于存储热数据。处理器访问靠近处理器的内存介质中的热数据时,表示该热数据是处理器所需要的数据。为了使处理器可以尽可能快地从靠近处理器的内存介质获取热数据,提高系统的数据处理速度,以及降低数据处理时延,则依据冷页统计模式将热数据所在的页面统计为热页,将冷数据所在的页面统计为冷页,将未访问的热数据转换为冷数据,以便于将冷数据从靠近处理器的内存介质迁移到远离处理器的内存介质,使靠近处理器的内存介质存储更多的热数据。
例如,近端内存可以是DRAM或者DDR SDRAM。远端内存可以是SCM。处理器访问DRAM时,控制器可以依据冷页统计模式统计DRAM中页面的访问结果。
例如,近端内存与冷页统计模式关联,处理器访问近端内存时,控制器可以依据冷页统计模式统计远端内存中页面的访问结果。
在一些实施例中,更新与访问请求指示的地址关联的页面的指示位。
页面的指示位用于指示页面被访问或页面未被访问。例如,页面的指示位的初始值表示页面未被访问。控制器获取到访问请求后,根据访问请求指示的地址可以确定所访问的数据块所属的页面,将页面对应的指示位的取值调整为页面被访问。页面的访问结果包括多个页面的指示位的取值。
在一些实施例中,根据访问请求指示的地址确定地址索引,统计地址索引关联的页面的指示位。
比如,页面的指示位的取值为1时,表示页面被访问;页面的指示位的取值为0时,表示页面未被访问。或者,页面的指示位的取值为0时,表示页面被访问;页面的指示位的取值为1时,表示页面未被访问。
可选地,页面的指示位的初始取值可以为0,表示页面未被访问。
示例地,如图9中的(a)所示,依据页面的标识排序的多个页面的指示位。当页面被访问时,页面的指示位的取值为1。当页面未被访问,页面的指示位的取值为0。
从而,基于比特阵列记录未被访问页面和被访问页面,与统计页面的访问频次确定内存访问热度相比,该方法只需要1比特的指示位便可以指示冷页面,即可识别出冷页面,可以有效地减少页面的访问结果的数据量降低存储空间和带宽的消耗,提升存储空间的利用率,另外,无需处理器执行额外操作,根据包含指示位的取值的访问结果便可以执行数据迁移,提升了数据迁移性能。
在另一些实施例中,根据处理器访问的多个页面的空间局部特征对多个页面的指示位执行信息熵处理,得到处理后数据。处理后数据用于指示多个页面的指示位;存储处理后数据。处理器依据页面的空间局部特性访问内存介质,即可以访问连续的多个页面或相近的多个页面,则连续的多个页面或相近的多个页面对应的指示位的取值可以相同。
可选地,控制器根据存储效率目标处理多个页面的地址索引和多个页面的指示位,得到处理后数据。存储效率目标用于指示在有限的存储空间存储有效数据的利用率。控制器可以依据预设规则将多个页面的地址索引对应的指示位映射为至少两个指示位。
例如,基于哈希算法将多个页面的地址索引对应的指示位映射为至少两个指示位。
又如,预设规则为将至少两个页面的地址索引对应的指示位映射为一个指示位,则依据预设规则将多个页面的地址索引对应的指示位映射为至少两个指示位。比如,将相邻2个页面的地址索引对应的指示位映射为一个指示位。又比如,将间隔的两个页面的地址索引对应的指示位映射为一个指示位,间隔的两个页面可以间隔至少一个页面。
可选地,将多个相同取值的指示位映射为一个指示位。比如,将取值为1的指示位映射为一个指示位;将取值为0的指示位映射为一个指示位。处理后数据包含取值为1的指示位对应的页面的标识和取值为0的指示位对应的页面的标识。
示例地,如图9中的(b)所示,至少两个页面的地址索引对应的指示位的取值取或映射为一个指示位。至少一个指示位的取值为1时,至少两个页面的地址索引对应的指示位的取值取或后为1;至少两个页面的地址索引对应的指示位的取值均为0时,取或后为0。
从而,对多个页面的指示位执行信息熵处理,进一步减少多个页面的指示位的数据量,减少冷页的访问结果所占用的存储空间,以及降低带宽的消耗,提升存储空间的利用率和数据迁移性能。
在另一些实施例中,对处理器可访问的多个页面进行采样,更新与访问请求指示的地址关联的采样后页面的指示位。例如,采样后页面关联的指示位的初始值为0。当访问请求指示访问采样后页面,将采样后页面关联的指示位更新为1。
本申请对页面的采样规则和采样率不予限定,例如,随机采样、等间隔采样、页面的空间局部特征等进行采样。采样率可以指采样后页面的数量与页面的总数据量的比值。
需要说明的是,上述统计页面的访问结果的方法可以单独使用,也可以结合使用,本申请不予限定。例如,对于存储冷数据和热数据之间的温数据的内存介质,控制器既可采用热页统计模式统计页面的访问结果,又可采用冷页统计模式统计页面的访问结果。
另外,存储访问请求指示的地址的存储位置与页面的访问结果的存储位置可以相同也可以不同。例如,利用内存介质中一部分存储空间存储页面的访问结果。访问请求指示的地址可以存储在内存介质之外的其他存储介质。又如,内存介质之外的其他存储介质(如,RAM)存储页面的访问结果。
可选地,RAM存储有每个页面对应的地址索引,内存介质根据访问请求指示的地址进行裁剪得到地址索引后,更新RAM中地址索引对应的访问结果。
可选地,当RAM未存储内存介质确定的地址索引时,将新的地址索引和对应的访问结果写入RAM。
步骤530、根据访问结果在至少两种不同类型的内存介质间触发内存数据迁移。
处理器根据页面的访问结果确定页面的访问热度触发数据迁移。依据页面的访问热度触发数据迁移时,可以将热数据迁移到近端内存,将冷数据迁移到远端内存。例如,访问结果指示N个热页,确定N个热页中数据块的冷热程度为热。又如,若访问结果指示了页面的指示位,确定指示位指示页面未被访问,该页面中数据块的冷热程度为冷,或者,指示位指示页面被访问,该页面中数据块的冷热程度为热。
可选地,访问结果指示了信息熵处理的处理后数据,将处理后数据还原为多个页面的指示位,根据指示位确定页面的访问热度。示例地,控制器统计了4个页面的指示位,将相邻2个页面的地址索引对应的指示位的取值取或映射为一个指示位,处理后数据包含2个页面的指示位。假设处理后数据包含01,将处理后数据还原为4个页面的指示位,则页面1的指示位的取值和页面2的指示位的取值均为0;页面3的指示位的取值为1,页面4的指示位的取值为0,或者,页面3的指示位的取值为0,页面4的指示位的取值为1,或者,页面3的指示位的取值为1,页面4的指示位的取值为1。
从而,针对不同类型的内存介质采用不同统计方法统计页面被访问的频繁程度,实现及时准确地统计页面被访问的频繁程度,通过减少页面的访问结果的数据量降低存储空间和带宽的消耗,提升存储空间的利用率和数据迁移性能。由此提高系统的数据处理速度,以及降低数据处理时延。
下面结合附图对内存数据迁移的过程举例说明。
图10为本申请提供的一种内存数据迁移的流程示意图。
1、配置流程
(1)配置统计模式。例如,配置冷页统计模式,识别内存介质中冷页面(步骤1010)。
(2)还可以配置采集停止阈值。如果采集访问请求的时间达到采集停止阈值,或者,采集访问请求的数量达到采集停止阈值,停止采集访问请求。例如,配置采集停止阈值大小寄存器。
2、采集流程
(1)判断RAM是否为空(步骤1020),若RAM不为空,即RAM中存储数据,则清空RAM中的数据(步骤1030)。RAM用于存储页面的访问结果。
(2)若RAM为空,使能采集(步骤1040),采集访问请求(步骤1050)。
(3)根据访问请求中的地址将RAM中地址对应的页面的指示位置1(步骤1060);若页面未被访问,则不更改页面的指示位的取值。RAM中存储系统中页面和指示位的一一映射关系。
(4)经过采样周期后可停止采集。例如,以下两种采集停止方式。
例如,由处理器核指示停止采集(步骤1070),被访问页面的指示位的取值存储在RAM中。若处理器核指示停止采集,执行步骤1090,压缩页面的访问结果,向处理器反馈压缩后数据。若处理器核未指示停止采集,执行步骤1080。
又如,检测指示位的取值为1的数量,判断指示位的取值为1的数量是否达到采集停止阈值(步骤1080),若指示位的取值为1的数量达到采集停止阈值,则停止采集,执行步骤1090。可选地,发出中断告知处理器核已停止采集。若指示位的取值为1的数量未达到采集,继续采集访问请求,执行步骤1050。
3、冷热页读取流程
(1)处理器核读取RAM存储的页面的访问结果。由于RAM存储的数据可能存在大量连续0以及大量连续1,压缩页面的访问结果,向处理器反馈压缩后数据(步骤1090),压缩处理的方法不限。
(2)处理器核解压压缩后数据,得到页面的访问结果(步骤10100)。
4、冷热页迁移流程
(1)处理器核根据页面的访问结果指示的页面的访问热度,在至少两种不同类型的内存介质间触发内存数据迁移(步骤10110),完成迁移后,继续执行采集流程、冷热页读取流程和冷热页迁移流程。
图11为本申请提供的一种内存数据迁移的流程示意图。
1、配置流程
(1)配置统计模式。例如,配置冷页统计模式,识别内存介质中冷页面(步骤1110)。
(2)还可以配置采集停止阈值。如果采集访问请求的时间达到采集停止阈值,或者,采集访问请求的数量达到采集停止阈值,停止采集访问请求。例如,配置采集停止阈值大小寄存器。
2、采集流程
(1)判断RAM是否为空(步骤1120),若RAM不为空,即RAM中存储数据,则清空RAM中的数据(步骤1130)。
(2)若RAM为空,使能采集(步骤1140),采集访问请求(步骤1150)。
(3)对页面的地址索引执行哈希函数计算,得到新的地址索引,并将新的地址索引对应的指示位置1(步骤1160);若页面未被访问,则不更改页面的指示位的取值。RAM中存储系统中页面的地址索引和指示位的一一映射关系(步骤1170)。
(4)经过采样周期后可停止采集。例如,以下两种采集停止方式。
例如,由处理器核指示停止采集(步骤1180),被访问页面的指示位的取值存储在RAM中。若处理器核指示停止采集,执行步骤11100,压缩页面的访问结果,向处理器反馈压缩后数据。若处理器核未指示停止采集,执行步骤1190。
又如,检测指示位的取值为1的数量,判断指示位的取值为1的数量是否达到采集停止阈值(步骤1190),若指示位的取值为1的数量达到采集停止阈值,则停止采集,执行步骤11100。可选地,发出中断告知处理器核已停止采集。若指示位的取值为1的数量未达到采集,继续采集访问请求,执行步骤1150。
3、冷热页读取流程
(1)处理器核读取RAM存储的页面的访问结果。由于RAM存储的数据可能存在大量连续0以及大量连续1,压缩页面的访问结果,向处理器反馈压缩后数据(步骤11100),压缩处理的方法不限。
(2)处理器核解压压缩后数据,得到页面的访问结果(步骤11110)。
4、冷热页迁移流程
(1)处理器核通过哈希函数重映射后的比特阵列,处理器核通过哈希函数计算出比特阵列对应的地址索引,并查询地址索引,若查到地址索引对应的指示位的取值中均为1,则表示该页为极冷属性页面;若查询到的对应值中不完全为1,则表示该页为非极冷属性页面(步骤11120)。
(2)处理器核根据页面的访问结果指示的页面的访问热度,在至少两种不同类型的内存介质间触发内存数据迁移(步骤11130),完成迁移后,继续执行采集流程、冷热页读取流程和冷热页迁移流程。
图12为本申请提供的一种内存数据迁移的流程示意图。
1、配置流程
(1)配置统计模式。例如,配置热页统计模式,识别内存介质中热页面(步骤1210)。
(2)还可以配置采集停止阈值。如果采集访问请求的时间达到采集停止阈值,或者,采集访问请求的数量达到采集停止阈值,停止采集访问请求。例如,配置采集停止阈值大小寄存器。
2、采集流程
(1)判断RAM是否为空(步骤1220),若RAM不为空,即RAM中存储数据,则清空RAM中的数据(步骤1230)。
(2)若RAM为空,使能采集(步骤1240),采集访问请求,例如,采集访问请求所指示的地址(步骤1250)。
(3)存在一个大小为N的热页窗口,热页窗口可根据页面的访问顺序对页面排序。如当前访问的页面记录在第一条,最近最少访问的页面记录在最后一条,若当前访问的页面并未记录在热页窗口内,则替换最少访问的页面记录,并将当前访问页面放置在第一条中(步骤1260)。RAM中存储热页窗口筛选的N个页面的标识。
(4)经过采样周期后可停止采集。例如,由处理器核指示停止采集(步骤1270),热页窗口筛选的N个页面的标识存储在RAM中。若处理器核指示停止采集,执行步骤1280,向处理器反馈热页窗口筛选的N个页面的标识。若处理器核未指示停止采集,执行步骤1250。
3、冷热页读取流程
(1)处理器核读取RAM存储的页面的访问结果,即依据访问结果执行热页识别(步骤1280)。
4、冷热页迁移流程
(1)处理器核根据页面的访问结果指示的页面的访问热度,在至少两种不同类型的内存介质间触发内存数据迁移(步骤1290),完成迁移后,继续执行采集流程、冷热页读取流程和冷热页迁移流程。
图13为本申请提供的一种内存数据迁移的流程示意图。
1、配置流程
(1)配置统计模式。例如,配置热页统计模式,识别内存介质中热页面(步骤1310)。
(2)还可以配置采集停止阈值。如果采集访问请求的时间达到采集停止阈值,或者,采集访问请求的数量达到采集停止阈值,停止采集访问请求。例如,配置采集停止阈值大小寄存器。
(3)配置饱和计数器的饱和值。
(4)若涉及采样操作,则还需配置采样率。
2、采集流程
(1)判断RAM是否为空(步骤1320),若RAM不为空,即RAM中存储数据,则清空RAM中的数据(步骤1330)。
(2)若RAM为空,使能采集(步骤1340),采集访问请求(步骤1350)。
(3)判断饱和计数器是否溢出(步骤1360),若饱和计数器未溢出,将页面所对应的饱和计数器的计数值加1(步骤1370);若饱和计数器溢出,不更改饱和计数器的计数值(步骤1380)。若页面未被访问,则不更改饱和计数器的计数值。RAM中存储页面的饱和计数器的计数值。
(4)经过采样周期后可停止采集。例如,以下两种采集停止方式。
例如,由处理器核指示停止采集(步骤1390),被访问页面的指示位的取值存储在RAM中。若处理器核指示停止采集,执行步骤13110,压缩页面的访问结果,向处理器反馈压缩后数据。若处理器核未指示停止采集,执行步骤13100。
又如,检测指示位的取值为1的数量,判断指示位的取值为1的数量是否达到采集停止阈值(步骤13100),若指示位的取值为1的数量达到采集停止阈值,则停止采集,执行步骤13110。可选地,发出中断告知处理器核已停止采集。若指示位的取值为1的数量未达到采集,继续采集访问请求,执行步骤1350。
3、冷热页读取流程
(1)处理器核读取RAM存储的页面的访问结果。在读取的过程中,检测每个页面的计数值,若计数值等于饱和值,则该页面使用比特1表示,若计数值不等于饱和值,则使用0进行表示。由于RAM存储的数据可能存在大量连续0以及大量连续1,压缩页面的访问结果,向处理器反馈压缩后数据(步骤13110),压缩处理的方法不限。
(2)处理器核解压压缩后数据,得到页面的访问结果(步骤13120)。
4、冷热页迁移流程
(1)处理器核根据页面的访问结果指示的页面的访问热度,在至少两种不同类型的内存介质间触发内存数据迁移(步骤13130),完成迁移后,继续执行采集流程、冷热页读取流程和冷热页迁移流程。
可选地,若由计算机设备中处理器外部的其他硬件模组或内存实现访问请求统计功能时,可由带外通信方式或带内通信方式传输统计模式进行配置、使能访问请求采样功能和页面的访问结果。
关于统计页面的访问结果过程的具体解释可以参考上述实施例的阐述,不予赘述。
值得说明的是,对于图4中的(b)和图4中的(c)所示的硬件模组内内存访问热度统计场景,以及处理器内内存访问热度统计场景而言,数据处理过程与图4中的(a)的处理过程类似。为了简洁,在此仅以图4中的(a)所示场景为例进行说明,其他场景的数据处理过程与图5-图9所示的数据处理过程类似,在此不再赘述。
可以理解的是,为了实现上述实施例中的功能,控制器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图13,详细描述了根据本实施例所提供的内存数据迁移方法,下面将结合图14,描述根据本实施例所提供的内存数据迁移装置。
图14为本实施例提供的可能的内存数据迁移装置的结构示意图。这些内存数据迁移装置可以用于实现上述方法实施例中内存的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该内存数据迁移装置可以是如图5所示的第一内存介质,还可以是应用于处理器的模块(如芯片)。
如图14所示,内存数据迁移装置1400包括通信模块1410、统计模块1420、迁移模块1430和存储模块1440。内存数据迁移装置1400用于实现上述图5中所示的方法实施例中内存和处理器的功能。
通信模块1410用于获取访问请求,访问请求用于指示计算机设备中处理器运行的应用程序对内存介质的操作。例如,通信模块1410用于执行图5中步骤510。
统计模块1420,用于根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,页面的访问结果用于确定页面的访问热度,统计模式包括冷页统计模式或热页统计模式中至少一种。例如,统计模块1420用于执行图5中步骤520。
可选地,统计模块1420,具体用于根据访问请求指示的地址更新热页窗口,热页窗口用于基于页面访问顺序记录频繁访问的页面。
可选地,统计模块1420,具体用于更新与访问请求指示的地址关联的页面的饱和计数器,饱和计数器用于统计页面的访问频次。
可选地,统计模块1420,具体用于更新与访问请求指示的地址关联的页面的指示位,页面的指示位用于指示页面被访问。
迁移模块1430,用于根据访问结果在至少两种不同类型的内存介质间触发内存数据迁移。例如,迁移模块1430用于执行图5中步骤530。
存储模块1440用于存储页面的访问结果和统计模式,以便于统计模块1420根据访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果。
应理解的是,本申请实施例的内存数据迁移装置1400可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图5所示的内存数据迁移时,及其各个模块也可以为软件模块,内存数据迁移装置1400及其各个模块也可以为软件模块。
根据本申请实施例的内存数据迁移装置1400可对应于执行本申请实施例中描述的方法,并且内存数据迁移装置1400中的各个单元的上述和其它操作和/或功能分别为了实现图5中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请还提供一种处理器,该处理器包括存储器和至少两个处理器核,处理器关联至少两种不同类型的内存介质,存储器用于存储一组计算机指令;当处理器核执行所述一组计算机指令时,执行上述各个实施例所述的方法的操作步骤,实现识别内存中页面的访问热度。
本申请还提供一种芯片,包括:处理器和供电电路;其中,供电电路用于为处理器供电;处理器用于执行上述各个实施例所述的方法的操作步骤。实现识别内存中页面的访问热度。
本申请还提供一种计算机系统,该计算机系统包括多个计算机设备,该计算机设备用于执行上述各个实施例所述的方法的操作步骤。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (14)

1.一种内存数据迁移方法,其特征在于,所述方法由计算机设备中的控制器执行,所述方法包括:
获取访问请求,所述访问请求用于指示所述计算机设备中处理器运行的应用程序对内存介质的操作;
根据所述访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,所述页面的访问结果用于确定所述页面的访问热度,所述统计模式包括冷页统计模式或热页统计模式中至少一种;
根据所述访问结果在至少两种不同类型的内存介质间触发内存数据迁移。
2.根据权利要求1所述的方法,其特征在于,热页统计模式,根据所述访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,包括:
根据所述访问请求指示的地址更新热页窗口,所述热页窗口用于基于页面访问顺序记录频繁访问的页面。
3.根据权利要求2所述的方法,其特征在于,所述热页窗口用于指示基于页面访问顺序替换所述热页窗口中的页面,以记录频繁访问的页面。
4.根据权利要求1-3中任一项所述的方法,其特征在于,热页统计模式,根据所述访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,包括:
更新与所述访问请求指示的地址关联的所述页面的饱和计数器,所述饱和计数器用于统计所述页面的访问频次。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述饱和计数器溢出时,反馈所述页面为热页的标识;
当所述饱和计数器未溢出时,反馈所述页面为冷页的标识。
6.根据权利要求1-5中任一项所述的方法,其特征在于,冷页统计模式,根据所述访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,包括:
更新与所述访问请求指示的地址关联的所述页面的指示位,所述页面的指示位用于指示所述页面被访问。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述处理器访问的多个页面的空间局部特征对所述多个页面的指示位执行信息熵处理,得到处理后数据,所述处理后数据用于指示所述多个页面的指示位;
存储所述处理后数据。
8.根据权利要求7所述的方法,其特征在于,根据所述处理器访问的多个页面的空间局部特征处理所述多个页面的指示位,包括:
根据存储效率目标处理所述多个页面的地址索引和所述多个页面的指示位,得到所述处理后数据,所述存储效率目标用于指示在有限的存储空间存储有效数据的利用率。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
根据所述访问请求包含的地址确定所述访问请求所访问内存介质的类型。
10.根据权利要求1-9中任一项所述的方法,其特征在于,所述页面的访问结果存储于所述计算机设备的存储介质中。
11.一种内存数据迁移装置,其特征在于,包括:
通信模块,用于获取访问请求,所述访问请求用于指示所述计算机设备中处理器运行的应用程序对内存介质的操作;
统计模块,用于根据所述访问请求所访问内存介质的类型关联的统计模式统计页面的访问结果,所述页面的访问结果用于确定所述页面的访问热度,所述统计模式包括冷页统计模式或热页统计模式中至少一种;
迁移模块,用于根据所述访问结果在至少两种不同类型的内存介质间触发内存数据迁移。
12.一种控制器,其特征在于,所述控制器用于执行上述权利要求1-10中任一项所述的方法的操作步骤,实现识别内存中页面的访问热度。
13.一种芯片,其特征在于,所述芯片包括逻辑电路和供电电路;其中,所述供电电路用于为所述逻辑电路供电;所述逻辑电路用于执行上述权利要求1-10中任一项所述的方法的操作步骤。
14.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器和多种不同类型的内存介质,所述处理器关联至少两种不同类型的内存介质,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,执行上述权利要求1-10中任一项所述的方法的操作步骤,实现识别内存中页面的访问热度。
CN202311133455.6A 2023-06-20 2023-09-01 内存数据迁移方法、相关装置及计算机设备 Pending CN119166035A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2024/099933 WO2024260350A1 (zh) 2023-06-20 2024-06-18 内存数据迁移方法、相关装置及计算机设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2023107331729 2023-06-20
CN202310733172 2023-06-20

Publications (1)

Publication Number Publication Date
CN119166035A true CN119166035A (zh) 2024-12-20

Family

ID=93881583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311133455.6A Pending CN119166035A (zh) 2023-06-20 2023-09-01 内存数据迁移方法、相关装置及计算机设备

Country Status (2)

Country Link
CN (1) CN119166035A (zh)
WO (1) WO2024260350A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120848810A (zh) * 2025-09-22 2025-10-28 山东云海国创云计算装备产业创新中心有限公司 数据存储方法、装置、电子设备及存储介质
CN120892218A (zh) * 2025-10-10 2025-11-04 浪潮电子信息产业股份有限公司 一种存储控制系统及存储控制方法
CN120909533A (zh) * 2025-10-13 2025-11-07 浪潮电子信息产业股份有限公司 一种数据搬移方法、系统及设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120428924B (zh) * 2025-06-30 2025-09-02 苏州元脑智能科技有限公司 数据处理设备、方法、存储介质和程序产品
CN120929271B (zh) * 2025-10-10 2026-01-27 浪潮电子信息产业股份有限公司 一种内存数据迁移方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180260323A1 (en) * 2017-03-10 2018-09-13 Oracle International Corporation Methods to utilize heterogeneous memories with variable properties
CN111984188A (zh) * 2020-06-30 2020-11-24 重庆大学 混合内存数据的管理方法、装置及存储介质
CN113835624A (zh) * 2021-08-30 2021-12-24 阿里巴巴(中国)有限公司 基于异构内存的数据迁移方法及装置
CN114116191A (zh) * 2021-06-24 2022-03-01 荣耀终端有限公司 内存冷页的处理方法及电子设备
CN114253873A (zh) * 2020-09-22 2022-03-29 华为技术有限公司 内存管理方法、装置、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200085522A (ko) * 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템 및 그것의 데이터 관리 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180260323A1 (en) * 2017-03-10 2018-09-13 Oracle International Corporation Methods to utilize heterogeneous memories with variable properties
CN111984188A (zh) * 2020-06-30 2020-11-24 重庆大学 混合内存数据的管理方法、装置及存储介质
CN114253873A (zh) * 2020-09-22 2022-03-29 华为技术有限公司 内存管理方法、装置、设备和存储介质
CN114116191A (zh) * 2021-06-24 2022-03-01 荣耀终端有限公司 内存冷页的处理方法及电子设备
CN113835624A (zh) * 2021-08-30 2021-12-24 阿里巴巴(中国)有限公司 基于异构内存的数据迁移方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120848810A (zh) * 2025-09-22 2025-10-28 山东云海国创云计算装备产业创新中心有限公司 数据存储方法、装置、电子设备及存储介质
CN120848810B (zh) * 2025-09-22 2026-01-23 山东云海国创云计算装备产业创新中心有限公司 数据存储方法、装置、电子设备及存储介质
CN120892218A (zh) * 2025-10-10 2025-11-04 浪潮电子信息产业股份有限公司 一种存储控制系统及存储控制方法
CN120909533A (zh) * 2025-10-13 2025-11-07 浪潮电子信息产业股份有限公司 一种数据搬移方法、系统及设备
CN120909533B (zh) * 2025-10-13 2026-01-23 浪潮电子信息产业股份有限公司 一种数据搬移方法、系统及设备

Also Published As

Publication number Publication date
WO2024260350A1 (zh) 2024-12-26

Similar Documents

Publication Publication Date Title
US12216929B2 (en) Storage system, memory management method, and management node
CN119166035A (zh) 内存数据迁移方法、相关装置及计算机设备
US11263149B2 (en) Cache management of logical-physical translation metadata
US20250085854A1 (en) Memory access popularity statistics method and related apparatus and device
CN110321057B (zh) 具有增强io性能确定性的缓存的存储设备
US11809330B2 (en) Information processing apparatus and method
US20200334169A1 (en) File page table management technology
CN104008017A (zh) 向主机服务质量指标分配权重
KR20180086120A (ko) 테일 레이턴시를 인식하는 포어그라운드 가비지 컬렉션 알고리즘
WO2021062982A1 (zh) 管理hmb内存的方法、装置、计算机设备及存储介质
US20260010294A1 (en) Method for migrating memory data, related apparatus, and computer device
US12050775B2 (en) Techniques for determining and using temperature classifications with adjustable classification boundaries
US12008241B2 (en) Techniques for collecting and utilizing activity metrics
CN110968527B (zh) Ftl提供的缓存
CN111290975A (zh) 使用统一缓存处理读命令与预读命令的方法及其存储设备
US12498857B2 (en) Method for writing data to solid-state drive
US12093183B1 (en) Caching techniques using a mapping cache and maintaining cache coherency using physical to logical address mapping
CN110968525B (zh) Ftl提供的缓存、其优化方法与存储设备
EP4668091A1 (en) Memory data migration method and related device
CN111796757A (zh) 一种固态硬盘缓存区管理方法和装置
Misra et al. Multi-version Indexing in Flash-based Key-Value Stores

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination