CN112148486A - 内存页面管理方法、装置、设备及可读存储介质 - Google Patents
内存页面管理方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112148486A CN112148486A CN202010978153.9A CN202010978153A CN112148486A CN 112148486 A CN112148486 A CN 112148486A CN 202010978153 A CN202010978153 A CN 202010978153A CN 112148486 A CN112148486 A CN 112148486A
- Authority
- CN
- China
- Prior art keywords
- page
- memory
- loaded
- dram
- nvm
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 312
- 238000007726 management method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004088 simulation Methods 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 16
- 230000001052 transient effect Effects 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 10
- 238000013508 migration Methods 0.000 claims description 8
- 230000005012 migration Effects 0.000 claims description 8
- 230000008030 elimination Effects 0.000 claims description 5
- 238000003379 elimination reaction Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004458 analytical method Methods 0.000 description 21
- 230000006872 improvement Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002791 soaking Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种内存页面管理方法,其包括:当待加载页面需要进行内存加载时,根据预先得到的所述待加载页面的读写特征,为所述待加载页面申请内存空间的分配;查询所述待加载页面申请分配到的内存的类型;若所述待加载页面申请分配到的内存的类型是NVM内存,将所述待加载页面加载至所述NVM内存;若所述待加载页面申请分配到的内存的类型是DRAM内存,判断所述DRAM内存的容量是否已经不足以加载页面;若是,将所述DRAM内存中页面浏览热度达不到预设的浏览热度阈值的页面迁移至NVM内存,并将所述待加载页面加载至所述DRAM内存;若否,将所述待加载页面加载至所述DRAM内存。本发明能有效解决DRAM内存无空闲的内存空间而导致页面不能正常加载的问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存页面管理方法、装置、设备及可读存储介质。
背景技术
混合内存技术作为提高计算机整体性能的重要手段之一,近年来在存储领域已经得到了工业界和学术界的广泛关注。混合内存初始化和内存管理主要作用是更加合理分配和管理内存页面。混合内存页面初始化是为了在数据页面加载到内存时,选择一个合理的存储介质;混合内存管理则主要是针对内存数据页面,设计优秀的管理算法,能尽量减少DRAM和NVM内存之间的数据页面迁移,从而提高混合内存整体性能。
在混合内存系统中,由于程序从磁盘加载到内存时,由于程序访问具有极强的空间局部性,因此在加载过程中会选择加载相关页面周围的其他页面,在应用程序实际运行过程中,可能会出现内存负荷的状态,目前的内存管理方法为了减少NVM内存的页面的写次数,因此在页面的首次加载阶段,首先将该页面的数据写入到DRAM内存,此方式极易引起DRAM内存无空闲的内存空间而导致页面不能正常加载。
发明内容
本发明实施例提供一种内存页面管理方法、装置、设备及可读存储介质,能有效解决现有技术的DRAM内存无空闲的内存空间而导致页面不能正常加载的问题。
本发明一实施例提供一种内存页面管理方法,包括:
当待加载页面需要进行内存加载时,根据预先得到的所述待加载页面的读写特征,为所述待加载页面申请内存空间的分配;其中,若所述待加载页面的读写特征为热读页面,则为所述待加载页面申请分配的内存为NVM内存,若所述待加载页面的读写特征为热写页面或是读写交替进行的页面,则为所述待加载页面申请分配的内存为DRAM内存;
查询所述待加载页面申请分配到的内存的类型;
若所述待加载页面申请分配到的内存的类型是NVM内存,将所述待加载页面加载至所述NVM内存;
若所述待加载页面申请分配到的内存的类型是DRAM内存,判断所述DRAM内存的容量是否已经不足以加载页面;若是,将所述DRAM内存中页面浏览热度达不到预设的浏览热度阈值的页面迁移至NVM内存,并将所述待加载页面加载至所述DRAM内存;若否,将所述待加载页面加载至所述DRAM内存。
作为上述方案的改进,所述方法还包括:
判断DRAM内存的当前容量是否足够;
若否,判断所述DRAM内存中是否有暂热页面,并判断所述DRAM内存中是否有死页面;
若所述DRAM内存中有暂热页面,将所述暂热页面从所述DRAM内存中迁移至NVM内存中;
若所述DRAM内存中有死页面,将所述死页面从所述DRAM内存中淘汰掉。
作为上述方案的改进,在所述判断DRAM内存的当前容量是否足够之前,所述方法还包括:
根据预先得到的页面对DRAM内存与NVM内存的模拟测试访问记录,得到所述页面的对DRAM内存与NVM内存的模拟访问热度信息;
根据所述模拟访问热度信息来判断所述页面是暂热页面还是死页面。
本发明另一实施例对应提供了一种内存页面管理装置,包括:
内存分配模块,用于当待加载页面需要进行内存加载时,根据预先得到的所述待加载页面的读写特征,为所述待加载页面申请内存空间的分配;其中,若所述待加载页面的读写特征为热读页面,则为所述待加载页面申请分配的内存为NVM内存,若所述待加载页面的读写特征为热写页面或是读写交替进行的页面,则为所述待加载页面申请分配的内存为DRAM内存;
查询模块,用于查询所述待加载页面申请分配到的内存的类型;
第一加载模块,用于若所述待加载页面申请分配到的内存的类型是NVM内存,将所述待加载页面加载至所述NVM内存;
第二加载模块,用于若所述待加载页面申请分配到的内存的类型是DRAM内存,判断所述DRAM内存的容量是否已经不足以加载页面;若是,将所述DRAM内存中页面浏览热度达不到预设的浏览热度阈值的页面迁移至NVM内存,并将所述待加载页面加载至所述DRAM内存;若否,将所述待加载页面加载至所述DRAM内存。
作为上述方案的改进,所述装置还包括:
第一判断模块,用于判断DRAM内存的当前容量是否足够;
第二判断模块,用于若否,判断所述DRAM内存中是否有暂热页面,并判断所述DRAM内存中是否有死页面;
页面迁移模块,用于若所述DRAM内存中有暂热页面,将所述暂热页面从所述DRAM内存中迁移至NVM内存中;
页面淘汰模块,用于若所述DRAM内存中有死页面,将所述死页面从所述DRAM内存中淘汰掉。
作为上述方案的改进,所述装置还包括:
页面热度计算模块,用于根据预先得到的页面对DRAM内存与NVM内存的模拟测试访问记录,得到所述页面的对DRAM内存与NVM内存的模拟访问热度信息;
页面类型确定模块,用于根据所述模拟访问热度信息来判断所述页面是暂热页面还是死页面。
本发明另一实施例提供了一种内存页面管理设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述发明实施例所述的内存页面管理方法。
本发明另一实施例提供了一种存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述发明实施例所述的内存页面管理方法。
相比于现有技术,上述技术方案中的一个技术方案具有如下优点:
当前待加载的页面在数据初始化阶段被认定为DRAM且DRAM内存不存在空白内存帧时,此时从DRAM内存中寻找一个合适的冷页面(即浏览热度达不到预设浏览热度阈值的页面)迁移到NVM内存,从而能够正常将当前需要加载的页面加载到DRAM内存中。当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1是本发明一实施例提供的一种内存页面管理方法的流程示意图;
图2是本发明一实施例提供的一种内存页面管理方法的框架示意图;
图3是本发明一实施例提供的一种内存页面管理方法对内存页面初始化的示意图;
图4是本发明一实施例提供的一种内存页面管理装置的结构示意图;
图5是本发明一实施例提供的一种内存页面管理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明另一实施例提供的一种内存页面管理方法的流程示意图,所述管理方法包括:
S10,当待加载页面需要进行内存加载时,根据预先得到的所述待加载页面的读写特征,为所述待加载页面申请内存空间的分配;其中,若所述待加载页面的读写特征为热读页面,则为所述待加载页面申请分配的内存为NVM内存,若所述待加载页面的读写特征为热写页面或是读写交替进行的页面,则为所述待加载页面申请分配的内存为DRAM内存;
S11,查询所述待加载页面申请分配到的内存的类型;
S12,若所述待加载页面申请分配到的内存的类型是NVM内存,将所述待加载页面加载至所述NVM内存;
S13,若所述待加载页面申请分配到的内存的类型是DRAM内存,判断所述DRAM内存的容量是否已经不足以加载页面;若是,将所述DRAM内存中页面浏览热度达不到预设的浏览热度阈值的页面迁移至NVM内存,并将所述待加载页面加载至所述DRAM内存;若否,将所述待加载页面加载至所述DRAM内存。
在本发明实施例中,当前待加载的页面在数据初始化阶段被认定为DRAM且DRAM内存不存在空白内存帧时,此时从DRAM内存中寻找一个合适的冷页面(即浏览热度达不到预设浏览热度阈值的页面)迁移到NVM内存,从而能够正常将当前需要加载的页面加载到DRAM内存中。
具体而言,当前加载的页面在数据初始化阶段被认定为DRAM且DRAM内存不存在空白内存帧时,此时需要从DRAM内存中寻找一个合适的冷页面迁移到NVM内存,才能足以将当前需要加载的内存页面到DRAM内存中。传统的内存页面管理方法仅实现了和本文提出的内存数据页被动迁移机制相同的内容,经典内存管理方法为了减少NVM的写次数,因此首先将内存数据写入到DRAM内存,此方式极易引起DRAM内存无空闲内存。被动迁移机制可解决程序运行时缺页时由于内存容量不足导致的加载不成功问题,将DRAM中相对较“冷”的页面暂时迁移到NVM内存缓解当前急需DRAM内存的需求,当被迁移页面下次被写时,会首先判断该页面是否存在于NVM,若存在则将页面迁移到DRAM内存;当被迁移页面下次是读操作时,则不迁移该页面,保留当前操作发生在NVM内存。
作为上述方案的改进,所述方法还包括:
判断DRAM内存的当前容量是否足够;
若否,判断所述DRAM内存中是否有暂热页面,并判断所述DRAM内存中是否有死页面;
若所述DRAM内存中有暂热页面,将所述暂热页面从所述DRAM内存中迁移至NVM内存中;
若所述DRAM内存中有死页面,将所述死页面从所述DRAM内存中淘汰掉。
在本实施例中,为了充分利用NVM的大存储容量以及非易失性和DRAM高性能特性,本发明人通过实验发现某些DRAM内存页面在一段时间内被高强度访问后很长一段时间不会被访问,即DRAM内存中存在某些页面具有很强的时间局部性。因此本文设计了基于混合内存的数据页面主动淘汰机制,该机制主要针对DRAM具有高性能但内存容量不足的特点,充分利用DRAM读写速度较高的特点,尽可能让DRAM内存数据页面均会被频繁访问,所以该机制主要实现的功能则是精确识别DRAM内存时间局部性特别高的内存页面,并将该页面迁移到NVM内存。主动淘汰机制被定义为一个额外的机制,该机制主要实现依赖于上节内容所阐述的“暂热页面”识别和“死页面”,“死页面”定义为内存数据页面当前时间段后直到程序运行结束再也不会被访问。当精确识别出内存中出现的“暂热页面”和“死页面”,淘汰机制会定时将内存数据页面从高性能内存DRAM内存中移除,若当前页面是“暂热页面”,则会将内存数据页面迁移到NVM内存中;若当前页面是“死页面”,则会直接将内存数据页面从DRAM内存淘汰。
作为上述方案的改进,在所述判断DRAM内存的当前容量是否足够之前,所述方法还包括:
根据预先得到的页面对DRAM内存与NVM内存的模拟测试访问记录,得到所述页面的对DRAM内存与NVM内存的模拟访问热度信息;
根据所述模拟访问热度信息来判断所述页面是暂热页面还是死页面。
本发明一实施例提供了另一种内存页面管理方法,所述管理方法包括:
S100,当需要将页面从磁盘加载到内存时,根据预先得到的页面对混合内存系统的各种内存的模拟测试访问记录,得到所述页面的对各种所述内存的模拟访问热度信息;所述混合内存系统包括两种不同存储类型的所述内存,分别为NVM内存和DRAM内存,NVM内存适用于读操作类型的页面数据,DRAM内存适用于写操作类型的页面数据;所述模拟访问热度信息用于指示所述页面的读写特征;
其中,在所述步骤S100之前,需要先进行页面对混合内存系统的各种内存访问的模拟测试。模拟测试实施例示例如下:在收集应用程序的页面访问混合系统的内存的访问记录之前,首先需要安装应用程序必要的编译工具和静态编译工具链,并将应用程序编译选项设置为静态编译,然后通过gcc或者其他编译器将应用程序按照编译选项编译得到可执行的二进制文件。根据实验需求设置Gem5模拟器的各项参数,将参数写入到配置文件,得到实验所需的模拟器平台。在实验模拟器平台中运行应用程序通过静态编译得到的可执行二进制文件,收集得到应用程序在实验平台上运行时页面对内存的访问记录,并将该记录持久化到文件中。
此外,具体地,所述模拟访问热度信息可以是根据页面对各种所述内存的访问次数进行统计并计算而得到的。例如,页面在模拟测试访问内存的过程中,若页面对NVM内存的读次数为10次,对NVM内存的写次数为2次,对DRAM内存的读次数为3次,对DRAM内存的写次数为9次,则该页面的模拟访问热度信息可以通过如下方式计算得到:页面的对NVM内存的读写比例为5:1,对DRAM内存的读写比例为:1:3,页面的对两种内存的读比例为10:3,页面的对两种内存的写比例为:2:9。
S110,根据所述页面的所述模拟访问热度信息,分析所述页面的读写特征;
示例的,当应用程序在运行过程中,某个地址被访问时,若当前访问地址所对应的数据页面均不存在于DRAM和NVM,则表示该页面需要从磁盘加载到内存。因此在加载该页面时首先会计算被访问地址所在的页面对应的数据页号,然后从profile文件中找到该页号所对应的模拟访问热度信息,将页面对应的全局热度信息和全局阈值进行比较,并根据比较结果得到页面的读写特征。示例的,所述全局阈值包括第一读阈值、第二读阈值、第一写阈值及第二写阈值;第一读阈值小于第二读阈值,所述第一写阈值小于所述第二写阈值;其中,若页面的对内存的读特征值小于第一读阈值,则所述页面的读写特征的分析结果为读冷;若页面的对内存的读特征值大于第一读阈值且小于第二读阈值,则所述页面的读写特征的分析结果为读一般;若页面的对内存的读特征值大于第二读阈值,则所述页面的读写特征的分析结果为读热。此外,若页面的对内存的写特征值小于第一写阈值,则所述页面的读写特征的分析结果为写冷;若页面的对内存的写特征值大于第一写阈值且小于第二写阈值,则所述页面的读写特征的分析结果为写一般;若页面的对内存的写特征值大于第二写阈值,则所述页面的读写特征的分析结果为写热。
S120,根据对所述页面的读写特征的分析结果,将所述页面从磁盘加载到与所述页面的读写特征的分析结果对应的所述内存。
在本发明实施例中,在内存的页面初始化前,通过离线的方式提取页面对内存的访存特征,并根据内存页面的访存特征的分析结果,指导混合内存对页面的初始化,这样能够使得内存页面的初始化更加合理,从而能有效解决现有技术的内存介质对页面初始化不合理且导致额外的内存页面迁移的问题。
示例的,所述步骤S120包括:
S1200,当所述页面的读写特征的分析结果为读写均热、写热且读冷、写一般但读冷或写热且读一般时,将所述页面从磁盘初始化至DRAM内存;
S1210,当所述页面的读写特征的分析结果为读写均冷、写冷且读热、写一般但读热或写冷且读一般时,将所述页面从磁盘初始化至NVM内存;
S1220,当所述页面的读写特征的分析结果为读写均一般时,若DRAM内存的当前剩余存储容量值大于预设阈值时,将所述页面从磁盘初始化至DRAM内存,否则将所述页面从磁盘初始化至NVM内存。
在本实施例中,通过将页面的读写特征进行如上的细化分析,并结合当前DRAM内存剩余容量及读写特征的分析结果,指导混合内存的页面初始化,这样能够使得内存页面的初始化更加合理,从而能更有效解决现有技术的内存介质对页面初始化不合理且导致额外的内存页面迁移的问题。
为了便于对本发明的理解,作为示例的,对上述实施例的步骤S100-S120进行如下具体介绍:
参见图2,当应用程序在运行过程中,某个地址被访问时,若当前访问地址所对应的数据页面均不存在于DRAM和NVM,则表示该页面需要从磁盘加载到内存。因此在加载该页面时首先会计算被访问地址所在内存页面对应的数据页号,然后从profile文件中找到该页号所对应的全局热度信息,将页面对应的全局热度信息和全局阈值进行比较,若该热度信息大于阈值则认为该页面从全局的角度来看是热页面,即这类数据页面在初始化时会优先选择DRAM作为初始化介质,而当热度信息小于全局热度值则在该页面初始化时被初始化到NVM中。其整个初始化过程如图3所示。
图3使用两个页面分别分配到DRAM内存和NVM内存的例子详细解释基于访存特征分析文件的内存初始化过程,当页面D被申请访问时,此时D页面并不存在于DRAM和NVM中,此时需要将页面D从磁盘调入到内存中。当D在申请内存空间时,首先查找分析文件中页面D所对应的物理介质,此时查到建议分配物理介质标识为true,而在分析文件中标识为false则代表当前页面在内存页面初始化时建议分配到NVM,若标识为true则对应于DRAM。因此从NVM介质中申请一块内存区域并将页面D的内容加载到所申请的内存空间;页面E展示了页面建议分配到DRAM的情形。
将在内存初始化前通过离线的方式提取该类应用程序的访存特征,结合当前DRAM内存剩余容量及分析特征结果,指导混合内存的页面初始化。在提取应用程序访存特征时,首先分别按照一个页面读写热度将其分为以下九种类型(读热且写热、读热且写一般、读热且写冷、读一般且写热、读一般且写一般、读一般且写冷、读冷且写热、读冷且写一般、读冷且写冷)。
1、当所述页面的读写特征的分析结果为读写均热、写热且读冷、写一般但读冷或写热且读一般时,将所述页面从磁盘初始化至DRAM内存;
2、当所述页面的读写特征的分析结果为读写均冷、写冷且读热、写一般但读热或写冷且读一般时,将所述页面从磁盘初始化至NVM内存;
3、当所述页面的读写特征的分析结果为读写均一般时,若DRAM内存的当前剩余存储容量值大于预设阈值时,将所述页面从磁盘初始化至DRAM内存,否则将所述页面从磁盘初始化至NVM内存。
参见图4,是本发明一实施例提供的一种内存页面管理装置的结构示意图,本发明另一实施例对应提供了一种内存页面管理装置,包括:
内存分配模块,用于当待加载页面需要进行内存加载时,根据预先得到的所述待加载页面的读写特征,为所述待加载页面申请内存空间的分配;其中,若所述待加载页面的读写特征为热读页面,则为所述待加载页面申请分配的内存为NVM内存,若所述待加载页面的读写特征为热写页面或是读写交替进行的页面,则为所述待加载页面申请分配的内存为DRAM内存;
查询模块,用于查询所述待加载页面申请分配到的内存的类型;
第一加载模块,用于若所述待加载页面申请分配到的内存的类型是NVM内存,将所述待加载页面加载至所述NVM内存;
第二加载模块,用于若所述待加载页面申请分配到的内存的类型是DRAM内存,判断所述DRAM内存的容量是否已经不足以加载页面;若是,将所述DRAM内存中页面浏览热度达不到预设的浏览热度阈值的页面迁移至NVM内存,并将所述待加载页面加载至所述DRAM内存;若否,将所述待加载页面加载至所述DRAM内存。
作为上述方案的改进,所述装置还包括:
第一判断模块,用于判断DRAM内存的当前容量是否足够;
第二判断模块,用于若否,判断所述DRAM内存中是否有暂热页面,并判断所述DRAM内存中是否有死页面;
页面迁移模块,用于若所述DRAM内存中有暂热页面,将所述暂热页面从所述DRAM内存中迁移至NVM内存中;
页面淘汰模块,用于若所述DRAM内存中有死页面,将所述死页面从所述DRAM内存中淘汰掉。
作为上述方案的改进,所述装置还包括:
页面热度计算模块,用于根据预先得到的页面对DRAM内存与NVM内存的模拟测试访问记录,得到所述页面的对DRAM内存与NVM内存的模拟访问热度信息;
页面类型确定模块,用于根据所述模拟访问热度信息来判断所述页面是暂热页面还是死页面。
参见图5,是本发明一实施例提供的内存页面管理设备的示意图。该实施例的内存页面管理设备包括:处理器1、存储器2以及存储在所述存储器2中并可在所述处理器1上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个内存页面管理方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述内存页面管理设备中的执行过程。
所述内存页面管理设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述内存页面管理设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是内存页面管理设备的示例,并不构成对内存页面管理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述内存页面管理设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述内存页面管理设备的控制中心,利用各种接口和线路连接整个内存页面管理设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述内存页面管理设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述内存页面管理设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (8)
1.一种内存页面管理方法,其特征在于,包括:
当待加载页面需要进行内存加载时,根据预先得到的所述待加载页面的读写特征,为所述待加载页面申请内存空间的分配;其中,若所述待加载页面的读写特征为热读页面,则为所述待加载页面申请分配的内存为NVM内存,若所述待加载页面的读写特征为热写页面或是读写交替进行的页面,则为所述待加载页面申请分配的内存为DRAM内存;
查询所述待加载页面申请分配到的内存的类型;
若所述待加载页面申请分配到的内存的类型是NVM内存,将所述待加载页面加载至所述NVM内存;
若所述待加载页面申请分配到的内存的类型是DRAM内存,判断所述DRAM内存的容量是否已经不足以加载页面;若是,将所述DRAM内存中页面浏览热度达不到预设的浏览热度阈值的页面迁移至NVM内存,并将所述待加载页面加载至所述DRAM内存;若否,将所述待加载页面加载至所述DRAM内存。
2.如权利要求1所述的内存页面管理方法,其特征在于,所述方法还包括:
判断DRAM内存的当前容量是否足够;
若否,判断所述DRAM内存中是否有暂热页面,并判断所述DRAM内存中是否有死页面;
若所述DRAM内存中有暂热页面,将所述暂热页面从所述DRAM内存中迁移至NVM内存中;
若所述DRAM内存中有死页面,将所述死页面从所述DRAM内存中淘汰掉。
3.如权利要求2所述的内存页面管理方法,其特征在于,在所述判断DRAM内存的当前容量是否足够之前,所述方法还包括:
根据预先得到的页面对DRAM内存与NVM内存的模拟测试访问记录,得到所述页面的对DRAM内存与NVM内存的模拟访问热度信息;
根据所述模拟访问热度信息来判断所述页面是暂热页面还是死页面。
4.一种内存页面管理装置,其特征在于,包括:
内存分配模块,用于当待加载页面需要进行内存加载时,根据预先得到的所述待加载页面的读写特征,为所述待加载页面申请内存空间的分配;其中,若所述待加载页面的读写特征为热读页面,则为所述待加载页面申请分配的内存为NVM内存,若所述待加载页面的读写特征为热写页面或是读写交替进行的页面,则为所述待加载页面申请分配的内存为DRAM内存;
查询模块,用于查询所述待加载页面申请分配到的内存的类型;
第一加载模块,用于若所述待加载页面申请分配到的内存的类型是NVM内存,将所述待加载页面加载至所述NVM内存;
第二加载模块,用于若所述待加载页面申请分配到的内存的类型是DRAM内存,判断所述DRAM内存的容量是否已经不足以加载页面;若是,将所述DRAM内存中页面浏览热度达不到预设的浏览热度阈值的页面迁移至NVM内存,并将所述待加载页面加载至所述DRAM内存;若否,将所述待加载页面加载至所述DRAM内存。
5.如权利要求4所述的内存页面管理装置,其特征在于,所述装置还包括:
第一判断模块,用于判断DRAM内存的当前容量是否足够;
第二判断模块,用于若否,判断所述DRAM内存中是否有暂热页面,并判断所述DRAM内存中是否有死页面;
页面迁移模块,用于若所述DRAM内存中有暂热页面,将所述暂热页面从所述DRAM内存中迁移至NVM内存中;
页面淘汰模块,用于若所述DRAM内存中有死页面,将所述死页面从所述DRAM内存中淘汰掉。
6.如权利要求5所述的内存页面管理装置,其特征在于,所述装置还包括:
页面热度计算模块,用于根据预先得到的页面对DRAM内存与NVM内存的模拟测试访问记录,得到所述页面的对DRAM内存与NVM内存的模拟访问热度信息;
页面类型确定模块,用于根据所述模拟访问热度信息来判断所述页面是暂热页面还是死页面。
7.一种内存页面管理设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3中任意一项所述的内存页面管理方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至3中任意一项所述的内存页面管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010978153.9A CN112148486B (zh) | 2020-09-17 | 内存页面管理方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010978153.9A CN112148486B (zh) | 2020-09-17 | 内存页面管理方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112148486A true CN112148486A (zh) | 2020-12-29 |
CN112148486B CN112148486B (zh) | 2024-07-02 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234432A (zh) * | 2023-11-14 | 2023-12-15 | 苏州元脑智能科技有限公司 | 一种混合内存系统的管理方法、管理装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123264A (zh) * | 2014-08-01 | 2014-10-29 | 浪潮(北京)电子信息产业有限公司 | 一种基于异构融合架构的缓存管理方法及装置 |
US20150106578A1 (en) * | 2013-10-15 | 2015-04-16 | Coho Data Inc. | Systems, methods and devices for implementing data management in a distributed data storage system |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
US20190354473A1 (en) * | 2018-05-21 | 2019-11-21 | Micron Technology, Inc. | Allocation of overprovisioned blocks for minimizing write amplification in solid state drives |
CN110532200A (zh) * | 2019-08-26 | 2019-12-03 | 北京大学深圳研究生院 | 一种基于混合内存架构的内存系统 |
CN111258923A (zh) * | 2020-01-16 | 2020-06-09 | 重庆邮电大学 | 一种基于异构混合内存系统的页面分配方法 |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150106578A1 (en) * | 2013-10-15 | 2015-04-16 | Coho Data Inc. | Systems, methods and devices for implementing data management in a distributed data storage system |
CN104123264A (zh) * | 2014-08-01 | 2014-10-29 | 浪潮(北京)电子信息产业有限公司 | 一种基于异构融合架构的缓存管理方法及装置 |
CN107193646A (zh) * | 2017-05-24 | 2017-09-22 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
US20190354473A1 (en) * | 2018-05-21 | 2019-11-21 | Micron Technology, Inc. | Allocation of overprovisioned blocks for minimizing write amplification in solid state drives |
CN110532200A (zh) * | 2019-08-26 | 2019-12-03 | 北京大学深圳研究生院 | 一种基于混合内存架构的内存系统 |
CN111258923A (zh) * | 2020-01-16 | 2020-06-09 | 重庆邮电大学 | 一种基于异构混合内存系统的页面分配方法 |
Non-Patent Citations (2)
Title |
---|
JUNG SIK PARK等: ""PRAM and NAND flash hybrid architecture based on hot data detection"", 《2010 2ND INTERNATIONAL CONFERENCE ON MECHANICAL AND ELECTRONICS ENGINEERING》, 26 August 2010 (2010-08-26) * |
李琪: ""基于新型非易失存储器的混合内存架构的内存管理机制"", 《电子学报》, 15 March 2019 (2019-03-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234432A (zh) * | 2023-11-14 | 2023-12-15 | 苏州元脑智能科技有限公司 | 一种混合内存系统的管理方法、管理装置、设备及介质 |
CN117234432B (zh) * | 2023-11-14 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种混合内存系统的管理方法、管理装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102662690B (zh) | 应用程序启动方法和装置 | |
EP3992801A1 (en) | Data storage method for flash memory device and flash memory device | |
CN108733306B (zh) | 一种文件合并方法及装置 | |
CN102831069B (zh) | 内存处理方法、内存管理设备 | |
CN103440206A (zh) | 一种固态硬盘及其混合映射方法 | |
CN111930643B (zh) | 一种数据处理方法及相关设备 | |
CN114327777B (zh) | 确定全局页目录的方法、装置、电子设备及存储介质 | |
US20180137043A1 (en) | Re-Use of Invalidated Data in Buffers | |
CN112286461A (zh) | 一种数据迁移方法、装置及电子设备和存储介质 | |
CN112181870B (zh) | 内存页面管理方法、装置、设备及可读存储介质 | |
CN111984204B (zh) | 一种数据读写方法、装置及电子设备和存储介质 | |
CN103488523A (zh) | 一种页的访问方法和页的访问装置、服务器 | |
US10713162B1 (en) | System and method for computer data garbage collection acceleration using peer to peer data transfers | |
CN103617133B (zh) | 一种Windows系统中虚拟内存压缩方法和装置 | |
CN112925606A (zh) | 一种内存管理方法、装置及设备 | |
CN108519860B (zh) | 一种ssd读命中的处理方法和装置 | |
CN112148486B (zh) | 内存页面管理方法、装置、设备及可读存储介质 | |
WO2023235040A1 (en) | File system improvements for zoned storage device operations | |
CN112148486A (zh) | 内存页面管理方法、装置、设备及可读存储介质 | |
CN115712394A (zh) | 数据读写方法、装置、计算机设备及可读存储介质 | |
US9286302B2 (en) | Inode reuse systems and methods | |
EP3296878B1 (en) | Electronic device and page merging method therefor | |
CN112015672A (zh) | 一种存储系统中数据处理方法、装置、设备及存储介质 | |
CN108959517B (zh) | 文件管理方法、装置及电子设备 | |
EP3048541A1 (en) | File access method and device |
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 | ||
GR01 | Patent grant |