CN111258923B - 一种基于异构混合内存系统的页面分配方法 - Google Patents
一种基于异构混合内存系统的页面分配方法 Download PDFInfo
- Publication number
- CN111258923B CN111258923B CN202010047252.5A CN202010047252A CN111258923B CN 111258923 B CN111258923 B CN 111258923B CN 202010047252 A CN202010047252 A CN 202010047252A CN 111258923 B CN111258923 B CN 111258923B
- Authority
- CN
- China
- Prior art keywords
- page
- sample
- nvm
- linked list
- pages
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明属于计算机存储领域,涉及一种基于异构混合内存系统的页面分配方法,包括根据异构混合内存系统页面的访问模式和存储特性,在页面分配过程中对页面进行分类存储;将所有页面都存放于DRAM中,当DRAM存储空间不足时,优先将具有读特性的页面置换至NVM中存储;采用蓄水池抽样算法对置换的页面即请求页面进行页面抽样,提取出样品,记录并确定样品位置;选择NVM空闲页面链表中的部分空闲页面,根据请求页面记录的样品位置提取出NVM空闲页面的样品,并更新NVM样品集;计算请求页面样品和样品集中样品的相似度,选择相似度最高的样品所代表的NVM的空闲页面,将其分配给请求页面;本发明在有限的系统开销内降低系统能耗,具有较好的实用性。
Description
技术领域
本发明属于计算机存储领域,特别是基于NVM的混合内存架构能耗优化方面,提出一种混合内存页面分配的能耗优化方法。
背景技术
随着大数据、云计算,人工智能和机器学习等技术的快速发展,高并发海量数据的处理对现有内存系统提出了更高的要求,由于动态随机存储器(Dynamic Access RandomMemory,DRAM)的制造工艺,导致DRAM的容量越来越不能满足现代海量数据的访问,而且DRAM动态和刷新功耗突出,导致访问内存的功耗占了整个内存的功耗的大部分,高并发海量的数据访问内存带来的能耗问题越来越明显,提高内存容量且降低内存能耗成为解决问题的关键。
新型非易失性存储器(None-Volatile Memory,NVM);具有的非易失性,可字节寻址,静态功耗低,存储密度大,且访问NVM的时延和访问DRAM的时延接近,容量大,可以作为以DRAM易失性存储器构成的内存系统的补充,近年来,有大量研究关于DRAM和NVM构成的混合的内存系统并取得了研究成果,随着当前内存系统对大容量,易扩展性和低功耗的高性能的内存系统的需求不断攀升,目前存在的静态功耗高、DRAM的容量小、扩展性不高等问题,新型非易失性存储器出现为解决这些限制提供可能,虽然新型非易失存储器具有的低静态功耗、非易失性、扩展性高等特点,但是存储单元的写次数有限且耐受性差,访问时延大,访问性能也逊色DRAM,所以,NVM还无法完完全全取代DRAM作为主存,通常采用统一编址,利用各自具有的优势,形成混合内存是目前比较常用的架构。
一般的内存页面分配算法主要采用页面置换策略(Least Recently UsedReplacement,简称LRU),例如中国专利CN109189592A中提出的基于混合式内存结构的共享缓存替换算法及装置中采用了该策略,但由于LRU策略只考虑了内存页面访问的频繁程度(冷热程度)而没有考虑内存页面被访问的读写特性,因此将导致混合内存的能耗开销较高。
发明内容
有鉴于此,本发明的目的在于提供一种基于NVM/DRAM混合内存的页面分配能耗优化方法,不仅对DRAM中内存页进行更细致的分类,也考虑了NVM页面特点,对于NVM已经释放的空闲页面,进行再次分配使用,从而优化了NVM页面的写入,减少了混合内存能耗开销,从而延长存储寿命。
未达到上述目的,本发明提供了如下技术方案:
一种基于异构混合内存系统的页面分配方法,包括以下步骤:
S1、根据异构混合内存系统页面的访问模式和存储特性,在页面分配过程中对页面进行分类存储;
S2、优先将所有页面都存放于DRAM中,当DRAM存储空间不足时,优先将具有读特性的页面置换至NVM中存储;
S3、采用蓄水池抽样算法对置换的页面即请求页面进行页面抽样,提取出样品,记录并确定样品位置;
S4、选择NVM空闲页面链表中的部分空闲页面,根据请求页面记录的样品位置提取出NVM空闲页面的样品,并更新到NVM样品集;
S5、计算请求页面样品和NVM样品集中样品的相似度,选择样品集中相似度最高的样品所代表的NVM的空闲页面,并将其分配给请求页面。
进一步的,所述进行分类存储包括根据混合内存页面的活跃标识和读写标识,将页面划分为最近被的页面、最近少量被写的页面以及最近频繁被写的页面三个分类类别;并在异构混合内存系统中采用二级页面链表进行维护。
进一步的,所述二级页面链表包括第一级页面链表和第二级页面链表,所述第一级页面链表为采用LRU页面置换策略管理的链表,所述第二级页面链表包括与页面分类类别对应的最近读链表、最近少量写链表以及最近频繁写链表。
进一步的,所述在异构混合内存系统中采用二级页面链表进行维护具体包括第一级页面链表采用LRU页面置换策略管理DRAM中的所有内存页面,若第一级链表空间不足,则将淘汰的页面保存到第二级页面链表中;第二级页面链表根据页面标识,分别将淘汰的页面存储在管理最近读链表、最近少量写链表以及最近频繁写链表中;其中,如果最近读链表的页面发生了写操作,则将其迁移到最近少量写链表中,如果最近少量写链表的页面发生了写操作,则将其迁移到最近频繁写入链表中,如果最近少量写链表上的页面发生读取操作,则将其迁移到最近读链表中,而如果最近频繁写链表上的页面发生了两次读取操作,则将其迁移到最近读链表中。
进一步的,所述步骤S2还包括若当DRAM存储空间不足时,优先将管理读特性链表的页面拷贝到NVM中,若拷贝后DRAM存储空间仍然不足,则将管理最近少量写链表的页面拷贝到NVM。
进一步的,所述采用蓄水池抽样算法对请求页面进行抽样包括构造一个容纳大小为K字节的样品窗口,将前K个位置的页面数据位直接放入样品窗口中;从第K+1的位置开始,以K/N的概率来决定该K+1位置的页面数据位是否进入样品窗口,如果被选中进入样品窗口,则记录提取样品的位置;循环遍历完所有页面位置,将样品窗口中的数据作为抽样出的样品,将提取出的样品位置作为提取NVM空闲页面样品的固定位置;其中,N为页面规模。
进一步的,所述计算请求页面样品和NVM样品集中样品的相似度包括采用基于杰卡德改进的页面相似度算法,为请求页面的样品计算其对于NVM样品集中空闲页面样品的相似度。
进一步的,所述基于杰卡德改进的页面相似度算法具体包括将请求页面记录的样品和NVM空闲页面样品进行异或得到Page,计算得到样品位为0的数量M;计算出Page的总位数BN,将M与BN的比值作为请求页面和NVM样品集中样品的相似度。
本发明的有益效果:
1)本发明对DRAM内存页进行了更细致的分类,考虑了NVM的读写特性,从NVM空闲页面的分配出发提出优化,采用这种方法的混合内存具有能耗低,NVM使用寿命长等特点;
2)本发明采用DRAM内存页面的改进LRU替换算法,能够根据内存页面的冷热程度和页面被访问的读写特性,对页面分类存储,当DRAM空间不足时优先将具有读倾向性的页写入NVM;
3)本发明中置换到NVM中的请求页面考虑了NVM页面结构,重复利用已经释放的空闲页面,再找到最相似的页面再次分配,为了减少页面的比较开销,采用抽样方法,避免了整个页面的比较,进一步减少了能耗。
附图说明
图1为本发明采用的异构混合内存系统的结构图;
图2为本发明一种基于异构混合内存系统的页面分配方法的流程图;
图3为本发明中分类存储的二级页面链表结构图;
图4为本发明请求页面选择最佳的NVM空闲页面抽样示例图;
图5为本发明中基于杰卡德改进的页面相似度算法结构图;
图6为本发明中一种基于异构混合内存系统的页面分配管理方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
如图1所示,本发明中的异构混合内存系统基于DRAM和NVM统一编址,挂载在同一内存总线上,共享内存地址空间,形成混合异构混合内存的混合内存系统。
如图2所示,在一个实施例中,一种基于异构混合内存系统的页面分配方法,包括以下步骤:
S1、根据异构混合内存系统页面的访问模式和存储特性,在页面分配过程中对页面进行分类存储;
S2、优先将所有页面都存放于DRAM中,当DRAM存储空间不足时,优先将具有读特性的页面置换至NVM中存储;
S3、采用蓄水池抽样算法对置换的页面即请求页面进行页面抽样,提取出样品,记录并确定样品位置;
S4、选择NVM空闲页面链表中的部分空闲页面,根据请求页面记录的样品位置提取出NVM空闲页面的样品,并更新到NVM样品集;
S5、计算请求页面样品和NVM样品集中样品的相似度,选择样品集中相似度最高的样品所代表的NVM的空闲页面,并将其分配给请求页面。
在本发明中,若未明确说明,其中的内存页面为异构混合内存系统中的内存页面,即混合内存系统的内存页面为DRAM存储器中的内存页面和NVM存储器中的内存页面,而对内存页面的操作有读操作和写操作,由于NVM具有读写不均衡且写次数性有限,但读延迟低等特点,一般情况下将最近读被的页面置换到NVM,同时由于NVM具有比特可变换特点,在更新NVM页面时,并不需要先擦除整个页面,然后再进行页面更新操作,只需要更新与请求页面不一致的比特位,不需要更新与请求页面一样的比特位,在需要为请求页分配NVM页面时,找一个请求页面内容相似NVM空闲页面作为待写页,如果两个页面内容具有较高的相似度,那么请求页面写入到NVM空闲页上时需要更新的比特位将会较少,为了加速选择与请求页相似的空闲页面过程,本发明引入了页面抽样机制,即分别从空闲页面和请求页面中取出部分样品,然后对样品进行比较分析,得到一个最相似的NVM空闲页面作为请求页的待写页面。
可以理解的是,本发明中的页面指的是内存数据页面,一旦需要把内存数据页面置换到NVM,则将页面称为请求数据页面,即请求页面;为了方便后续描述,数据页也即数据页面,请求页也即请求页面。
在一个实施例中,所述根据异构混合内存系统页面的访问模式和存储特性,在页面分配过程中对页面进行分类存储包括:
根据混合内存页面的活跃标识(PG_active)和读写标识(PG_write),将页面划分为三个类别:最近被读的页面、最近少量被写的页面以及最近频繁被写的页面,这三个分类类别将在异构混合内存系统中使用二级页面链表维护。
最近被读的页面、最近少量被写的页面以及最近频繁被写的页面是根据页面标识来决定的。
当读写标识PG_write=1,则表示该内存数据页最近一次发生的访问是写操作;
当读写标识PG_write=0,则表示该内存数据页最近一次发生的访问是读操作。
而活跃标识PG_active=0,则表示该内存数据页近期只被读(或写)过一次;
当活跃标识PG_active=1,则表示该内存数据页近期被读(或写)过至少两次。
在一些可行的实施方式中,在一个周期内,PG_active=1,PG_write=1,表明标识活跃且最近发生过至少两次写操作,记为最近频繁被写的页。
在一些可行的实施方式中,在一个周期内,PG_active=0,PG_write=1,表明标识不活跃且最近发生过一次写操作,记为最近少量被写的页面。
在一些可行的实施方式中,在一个周期内,PG_active=1,PG_write=0,表明标识活跃且最近发生过至少两次读操作,PG_active=0,PG_write=0,表明标识不活跃且最近发生过一次读操作,这两种统一为最近被读的页面。
在一些可行的实施方式中,所述二级页面链表包括第一级页面链表和第二级页面链表,所述第一级页面链表为采用LRU页面置换策略管理的链表,所述第二级页面链表包括与页面分类类别对应的最近读链表、最近少量写链表以及最近频繁写链表。
在一些可实现的方式中,如图3所示,所述二级页面链表,维护的过程还可以采取如下过程:
1)第一级页面链表采用LRU页面置换策略(LRU算法管理保存数据页面)管理DRAM中的所有内存页面,将最近最频繁访问的内存页面设置在第一级页面链表的前端位置,而将最近最少使用的内存页面存放在第一级页面链表的末端位置,第一级页面链表结构被作为缓存结构,当第一级页面链表空间不足时,将淘汰的页面,保存到第二级页面链表结构中;
具体的,第一级页面链表作为缓存,第二级页面链表保存第一级淘汰的内存页到具有写倾向性的链表LRU_DIRTY和COLD_WRITE中、具有读倾向性的链表LRU_READ中,其中LRU_DIRTY链表管理最近频繁被写的页面,COLD_WRITR管理最近少量被写的页面,对于具有读特性的页面则直接维护到LRU_READ中,其包含最近频繁被读和最近少量被读的页面;
当DRAM空间不足时,由于NVM的读写特性,首先选择具有读特性的链表LRU_READ页面置换到NVM,若依然不足,则置换COLD_WRITE中的内存页到NVM,可以允许对NVM中的内存页面进行少量的写入操作来减少迁移。
2)第二级页面链表维护从第一级页面链表淘汰的页面,本实施例中,第二级页面链表根据页面标识,对基于Linux系统的LRU算法实现双链表进行改进,本发明使用三个链表,即最近读链表、最近少量写链表以及最近频繁写链表中;如果最近读链表的页面发生了写操作,则将其迁移到最近少量写链表中,如果最近少量写链表的页面发生了写操作,则将其迁移到最近频繁写链表中,如果最近少量写入链表上的页面发生读操作,则将其迁移到最近读链表中,而如果最近频繁写链表上的页面发生了两次读操作,则将其迁移到最近读链表中。
具体的,将页面标识PG_active=1且PG_write=1时的最近频繁被写的页面维护在链表LRU_DIRTY中,将页面标识PG_active=0且PG_write=1的最近少量被写的页面维护在链表COLD_WRITE中,将页面标识PG_active=0且PG_write=0或者PG_active=1且PG_write=0的最近被读的页面维护在链表LRU_READ中;
3)如果在一段时间内,维护最近读链表的页面发生了写操作,则迁移到最近少写的链表上,维护最近少写的链表的页发生了写操作,会被迁移到维护最近频繁写的链表上,同理在一段时间内维护最近少量写链表上的页面发生了读操作,会被迁移到最近读链表上,而维护最近频繁写的链表上的内存页面在最近一段时间发生了两次读操作,也会被迁移到最近读链表上。
其中,管理最近读的LRU_READ链表上的内存页面,发生了写操作,在页面算法扫描后,会被置换到管理最近少量写的链表COLD_WRITE上,而管理最近少量写链表COLD_WRITE的页面,发生了写操作,会被置换到管理最近频繁写的链表上LRU_DIRTY上,同理在一段时间内维护最近少量写的链表COLD_WRITE上的页面,发生了读操作,被置换到管理最近读链表LRU_READ上,而维护最近频繁写链表LRU_DIRTY上的页面最近一段时间发生了连续读操作,也会被迁移到读链表LRU_READ上。
对于需要置换到NVM的内存页面,如图4所示,对NVM的优化操作包括以下步骤:
1)为了减少大量的页面比较,分别从请求页面和NVM空闲页面通过抽样一部分样品位,页面抽样分为请求页面的样品位,NVM空闲页面的样品位,通过样品位来代替来整个页面;
2)为了均匀平等的抽样页面,采用蓄水池抽样算法从请求页面中提取64字节的数据作为样品,同时在提取样品的时候记录提取位置,同时从所有NVM空闲页面中选择部分页面,同时采用提取请求页样品时的位置去提取空闲NVM页面的样品,更新到样品集;
其中,蓄水池抽样算法包括构造一个容纳大小为K字节的样品窗口,将前K个位置的页面数据位直接放入样品窗口中;从第K+1的位置开始,以K/N的概率来决定该K+1位置的页面数据位是否进入样品窗口,如果被选中进入样品窗口,则记录提取样品的位置;循环遍历完所有页面位置,将样品窗口中的数据作为抽样出的样品,将提取出的样品位置作为提取NVM空闲页面样品的固定位置;其中,N为页面规模。。
该过程中需要设置样品窗口的大小64字节,初始化样品窗口为请求页面Page前面顺序的64字节的数据位,位置窗口为请求页面前64字节的数据位对应的位置,而输出为样品窗口和位置窗口记录的数据,即样品窗口就是挑选出的样品,而其中位置窗口就是提取NVM空闲页样品的固定位置,具体流程为通过从请求页面Page的位置窗口之后开始,依次遍历请求页面所有剩余位置Pos(i),再随机获取一个位置R,如果随机获取的位置R在位置窗口中,就交换位置R对应的数据位和Pos(i)对应的数据位,同时更新位置,否则不进行任何操作。
3)将请求页面样品位与NVM样品集中样品位采用基于杰卡德的改进的相似度算法比较得到相似度,选择相似度最高的NVM空闲页面作为请求页的待写页面。
如图5所示,将请求页面记录的样品即数据页面样品位和NVM空闲页面样品进行异或得到Page,计算得到样品位为0的数量M;计算出Page的总位数BN,将M与BN的比值作为请求页面和NVM样品集中样品的相似度。
优选的,基于杰卡德改进的页面相似度算法中计算相似度的公式可以表示为:
在一个优选的实施例中,本实施例在上述实施例的基础上,还提供了一种基于异构混合内存系统的页面分配管理方法,所述管理方法还可以包括以下步骤:
K1:流程的开始;
K2:初始化样品集中NVM空闲页面数量以及每个页面提取的样品大小(现在为64字节),设置样品窗口大小为64字节用于记录请求页面样品和位置窗口记录样品提取的位置;
K3:对DRAM中的内存页采用二级链表进行管理,第一级页面链表采用LRU页面置换策略管理DRAM中的所有内存页面,第一级页面链表结构被作为缓存结构,当第一级页面链表空间不足时,将淘汰的页面,保存到第二级页面链表结构中,第二级页面链表包括与页面分类类别对应的最近读链表、最近少量写链表以及最近频繁写链表;
K4:当DRAM空间不足,由于NVM的读写特性,通过页面算法扫描具有读特性的内存页面到NVM,若置换后DRAM存储空间仍然不足,则将最近少量被写的页面置换到NVM;
K5:根据蓄水池页面抽样算法提取请求页样品,同时记录提取页面样品的位置;
K6:首先从NVM空闲页面选择部分空闲页面并根据请求页面记录的样品位置提取样品,设置样品条目保存到NVM样品集,样品条目包含样品,物理地址,该页的有效性;
K7:通过基于杰卡德改进的页面相似度算法计算得到请求页面样品和NVM样品集样品的相似度,然后进行排序;
K8:选择相似度最高的NVM空闲页样品所代表的NVM空闲页面作为请求页面的最佳写入页面;
K9:将选择的相似度最高的空闲页面作为请求页的写入,设置当前空闲页面无效,同时记录逻辑地址和物理地址的映射关系到NVM转换层,便于快速定位页面,从而对页面进行管理;空闲页面就不能再作为备选页面,即样品集中的该样品也无效,样品代表的页面需要设置为无效,下次需要从NVM空闲页面再次更新新的页面样品到NVM样品集中。
K10:结束流程。
在一个较佳的实施例中,本实施例基于上述实施例,对于需要从DRAM中置换到NVM中的页面即请求页面一般都会先暂存到缓存区进行处理;在完成步骤K9时,判断缓存区是否还有需要进行处理的请求页面,即判断缓存区是否为空;若缓存区不为空,则返回至步骤K5,继续对页面进行处理,否则进入步骤K10结束在一个管理周期内的流程。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上所举实施例,对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于异构混合内存系统的页面分配方法,其特征在于,包括以下步骤:
S1、根据异构混合内存系统页面的访问模式和存储特性,在页面分配过程中对页面进行分类存储;根据混合内存页面的活跃标识和读写标识,将页面划分为最近被读的页面、最近少量被写的页面以及最近频繁被写的页面三个分类类别;并在异构混合内存系统中采用二级页面链表进行维护;
S2、优先将所有页面都存放于DRAM中,当DRAM存储空间不足时,优先将具有读特性的页面置换至NVM中存储;
S3、采用蓄水池抽样算法对置换的页面即请求页面进行页面抽样,提取出样品,记录并确定样品位置;
S4、选择NVM空闲页面链表中的部分空闲页面,根据请求页面记录的样品位置提取出NVM空闲页面的样品,并更新到NVM样品集;
S5、计算请求页面样品和NVM样品集中样品的相似度,选择样品集中相似度最高的样品所代表的NVM的空闲页面,并将其分配给请求页面。
2.根据权利要求1所述的一种基于异构混合内存系统的页面分配方法,其特征在于,所述二级页面链表包括第一级页面链表和第二级页面链表,所述第一级页面链表为采用LRU页面置换策略管理的链表,所述第二级页面链表包括与页面分类类别对应的最近读链表、最近少量写链表以及最近频繁写链表。
3.根据权利要求2所述的一种基于异构混合内存系统的页面分配方法,其特征在于,所述在异构混合内存系统中采用二级页面链表进行维护具体包括第一级页面链表采用LRU页面置换策略管理DRAM中的所有内存页面,若第一级链表空间不足,则将淘汰的页面保存到第二级页面链表中;第二级页面链表根据页面标识,分别将淘汰的页面存储在管理最近读链表、最近少量写链表以及最近频繁写链表中;其中,如果最近读链表的页面发生了写操作,则将其迁移到最近少量写链表中,如果最近少量写链表的页面发生了写操作,则将其迁移到最近频繁写链表中,如果最近少量写链表上的页面发生读操作,则将其迁移到最近读链表中,而如果最近频繁写链表上的页面发生了两次读操作,则将其迁移到最近读链表中。
4.根据权利要求1所述的一种基于异构混合内存系统的页面分配方法,其特征在于,所述步骤S2还包括若当DRAM存储空间不足时,优先将管理最近读链表的页面置换到NVM中,若置换后DRAM的存储空间仍然不足,则将管理最近少量写链表的页面置换到NVM。
5.根据权利要求1所述的一种基于异构混合内存系统的页面分配方法,其特征在于,所述采用蓄水池抽样算法对请求页面进行抽样包括构造一个容纳大小为K字节的样品窗口,将前K个位置的页面数据位直接放入样品窗口中;从第K+1的位置开始,以K/N的概率来决定该K+1位置的页面数据位是否进入样品窗口,如果被选中进入样品窗口,则记录提取样品的位置;循环遍历完所有页面位置,将样品窗口中的数据作为抽样出的样品,将提取出的样品位置作为提取NVM空闲页面样品的固定位置;其中,N为页面规模。
6.根据权利要求1所述的一种基于异构混合内存系统的页面分配方法,其特征在于,所述计算请求页面和NVM样品集中样品的相似度包括采用基于杰卡德改进的页面相似度算法,为请求页面的样品计算其对于NVM样品集中空闲页面样品的相似度。
7.根据权利要求6所述的一种基于异构混合内存系统的页面分配方法,其特征在于,所述基于杰卡德改进的页面相似度算法具体包括将请求页面记录的样品和NVM空闲页面样品进行异或得到Page,计算得到样品位为0的数量M;计算出Page的总位数BN,将M 与BN的比值作为请求页面和NVM样品集中样品的相似度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010047252.5A CN111258923B (zh) | 2020-01-16 | 2020-01-16 | 一种基于异构混合内存系统的页面分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010047252.5A CN111258923B (zh) | 2020-01-16 | 2020-01-16 | 一种基于异构混合内存系统的页面分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258923A CN111258923A (zh) | 2020-06-09 |
CN111258923B true CN111258923B (zh) | 2023-03-14 |
Family
ID=70948862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010047252.5A Active CN111258923B (zh) | 2020-01-16 | 2020-01-16 | 一种基于异构混合内存系统的页面分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258923B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148486B (zh) * | 2020-09-17 | 2024-07-02 | 重庆大学 | 内存页面管理方法、装置、设备及可读存储介质 |
CN112527695B (zh) * | 2020-12-17 | 2022-10-11 | 重庆邮电大学 | 一种基于效益感知的slc/mlc混合内存的页面转换方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786400A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 一种异构混合内存组件、系统及存储方法 |
CN105786717A (zh) * | 2016-03-22 | 2016-07-20 | 华中科技大学 | 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统 |
CN106909323A (zh) * | 2017-03-02 | 2017-06-30 | 山东大学 | 适用于dram/pram混合主存架构的页缓存方法及混合主存架构系统 |
CN107818052A (zh) * | 2016-09-13 | 2018-03-20 | 华为技术有限公司 | 内存访问方法及装置 |
CN109002257A (zh) * | 2018-06-25 | 2018-12-14 | 重庆邮电大学 | 一种基于可变便笺存储器的数据分布优化方法 |
CN109446095A (zh) * | 2018-11-07 | 2019-03-08 | 北京奇艺世纪科技有限公司 | 一种页面展示速度的测试方法、装置及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102311221B1 (ko) * | 2014-04-28 | 2021-10-13 | 삼성전자주식회사 | 오브젝트 운용 방법 및 이를 지원하는 전자 장치 |
US20150355946A1 (en) * | 2014-06-10 | 2015-12-10 | Dan-Chyi Kang | “Systems of System” and method for Virtualization and Cloud Computing System |
EP4089531B1 (en) * | 2016-12-31 | 2024-06-26 | Intel Corporation | Systems, methods, and apparatuses for heterogeneous computing |
US10740294B2 (en) * | 2017-01-12 | 2020-08-11 | Pure Storage, Inc. | Garbage collection of data blocks in a storage system with direct-mapped storage devices |
CN107193646B (zh) * | 2017-05-24 | 2020-10-09 | 中国人民解放军理工大学 | 一种基于混合主存架构的高效动态页面调度方法 |
CN110502902A (zh) * | 2019-08-07 | 2019-11-26 | 杭州海康威视数字技术股份有限公司 | 一种漏洞分类方法、装置及设备 |
-
2020
- 2020-01-16 CN CN202010047252.5A patent/CN111258923B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786400A (zh) * | 2014-12-25 | 2016-07-20 | 研祥智能科技股份有限公司 | 一种异构混合内存组件、系统及存储方法 |
CN105786717A (zh) * | 2016-03-22 | 2016-07-20 | 华中科技大学 | 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统 |
CN107818052A (zh) * | 2016-09-13 | 2018-03-20 | 华为技术有限公司 | 内存访问方法及装置 |
CN106909323A (zh) * | 2017-03-02 | 2017-06-30 | 山东大学 | 适用于dram/pram混合主存架构的页缓存方法及混合主存架构系统 |
CN109002257A (zh) * | 2018-06-25 | 2018-12-14 | 重庆邮电大学 | 一种基于可变便笺存储器的数据分布优化方法 |
CN109446095A (zh) * | 2018-11-07 | 2019-03-08 | 北京奇艺世纪科技有限公司 | 一种页面展示速度的测试方法、装置及电子设备 |
Non-Patent Citations (4)
Title |
---|
A Survey of Software Techniques for Using Non-Volatile Memories for Storage and Main Memory Systems;Sparsh Mittal等;《IEEE》;20150609;1537-1550 * |
Non-volatile Memory Page Allocation Mechanism;Anping Xiong等;《IEEE》;20200604;21-26 * |
基于Bank划分的异构内存访存管理机制;王细凯;《中国优秀硕士论文电子期刊网 信息科技辑》;20180115;I137-45 * |
基于DRAM/NVM混合内存的页面管理优化研究;白伟碧;《中国优秀硕士论文电子期刊网 信息科技辑》;20210215;I137-97 * |
Also Published As
Publication number | Publication date |
---|---|
CN111258923A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303596B2 (en) | Read-write control method for memory, and corresponding memory and server | |
CN107193646B (zh) | 一种基于混合主存架构的高效动态页面调度方法 | |
CN112395212B (zh) | 减少键值分离存储系统的垃圾回收和写放大的方法及系统 | |
US10241919B2 (en) | Data caching method and computer system | |
CN105930282B (zh) | 一种用于nand flash的数据缓存方法 | |
CN104298610B (zh) | 资料储存系统及其管理方法 | |
CN107943719B (zh) | 一种基于请求分类的闪存转换层控制方法 | |
CN106815152B (zh) | 一种优化页级闪存转换层的方法 | |
US20100088459A1 (en) | Improved Hybrid Drive | |
CN109471594B (zh) | 一种mlc闪存读写方法 | |
CN109446117B (zh) | 一种固态硬盘页级闪存转换层设计方法 | |
US20190303019A1 (en) | Memory device and computer system for improving read performance and reliability | |
CN111258923B (zh) | 一种基于异构混合内存系统的页面分配方法 | |
CN110968266B (zh) | 一种基于热度的存储管理方法及系统 | |
CN110968269A (zh) | 基于scm与ssd的键值存储系统及读写请求处理方法 | |
CN107888687B (zh) | 一种基于分布式存储系统的代理客户端存储加速方法及系统 | |
CN110347338B (zh) | 混合内存数据交换处理方法、系统及可读存储介质 | |
CN106909323B (zh) | 适用于dram/pram混合主存架构的页缓存方法及混合主存架构系统 | |
CN111352593B (zh) | 一种区分快写和正常写的固态硬盘数据写入方法 | |
CN111078143B (zh) | 基于段映射进行数据布局和调度的混合存储方法及系统 | |
CN111443874B (zh) | 基于内容感知的固态盘内存缓存管理方法、设备及固态盘 | |
CN109783019B (zh) | 一种数据智能存储管理方法与装置 | |
CN116364148A (zh) | 一种面向分布式全闪存储系统的磨损均衡方法及系统 | |
CN108664217B (zh) | 一种降低固态盘存储系统写性能抖动的缓存方法及系统 | |
CN116540950B (zh) | 一种存储器件及其写入数据的控制方法 |
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 | ||
GR01 | Patent grant |