CN113608698A - 一种基于DRAM牺牲Cache的异构内存页迁移系统及方法 - Google Patents

一种基于DRAM牺牲Cache的异构内存页迁移系统及方法 Download PDF

Info

Publication number
CN113608698A
CN113608698A CN202110896080.3A CN202110896080A CN113608698A CN 113608698 A CN113608698 A CN 113608698A CN 202110896080 A CN202110896080 A CN 202110896080A CN 113608698 A CN113608698 A CN 113608698A
Authority
CN
China
Prior art keywords
migration
page
list
memory
dram
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
Application number
CN202110896080.3A
Other languages
English (en)
Other versions
CN113608698B (zh
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.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
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 University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN202110896080.3A priority Critical patent/CN113608698B/zh
Publication of CN113608698A publication Critical patent/CN113608698A/zh
Application granted granted Critical
Publication of CN113608698B publication Critical patent/CN113608698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种基于DRAM牺牲Cache的异构内存页迁移系统及方法,包括:CPU、与所述CPU连接的逻辑控制模块、与所述逻辑控制模块连接的迁移控制器及与所述迁移控制器连接的混合式内存;所述混合式内存包括与迁移控制器连接的动态随机存取存储器、相变存储器(PCM)以及基于DRAM器件设计的牺牲高速缓冲存储器;所述迁移控制器包括PCM内存页面列表、候选迁移列表及迁移页面列表,所述PCM页面列表用于记录中页面迁移的频繁度、页面编号及生存周期。根据本发明,可以有效减少对PCM存储单元的写入操作次数,延长PCM的使用寿命,对于不同的工作负载,VC‑HMM可以自适应设置迁移操作的参数,增加迁移的合理性。

Description

一种基于DRAM牺牲Cache的异构内存页迁移系统及方法
技术领域
本发明涉及计算机的技术领域,特别涉及一种基于DRAM牺牲Cache的异构内存页迁移系统及方法。
背景技术
在大数据技术快速发展的当下,传统的随机动态存取存储器(DRAM)逐渐暴露出其局限性,存储密度小,带宽有限,能耗大等缺点揭示了传统DRAM无法满足越来越大的内存需求。因此,为了解决这一问题,近年来涌现的非易失性存储器(non-volatile memory,NVM)被广泛关注,与DRAM组成异构内存系统,大量研究围绕非易失性内存和异构内存展开。NVM拥有比DRAM更大的存储密度,无静态能耗,且不需要反复刷新保存数据,从而成为构建主存的理想存储设备。
然而,与传统DRAM相比,NVM同样具有写操作时延高,耐久性差,写操作能耗高等缺点。以相位存储器PCM为例,相比简单的电荷移动,PCM需要更多的能量来改变相变材料(基硫族化合物)内部的原子结构。另外,PCM的写入时延大约是DRAM写入时延的10倍。当DRAM和NVM构成异构内存时,应将访问频率更高的“热”内存页存放在DRAM中,而将“冷”内存页存放在NVM中,如此,系统便可以同时兼备NVM和DRAM两者的性能优势。但这同时又衍生出了新的问题,即如何进行内存页面的放置迁移操作。
近年来,许多相关研究都试图解决在NVM和DRAM之间进行内存页迁移的问题,如多级队列替换算法(Multi-Queue Replacement Algorithm)、CLOCK-DWF、基于双向哈希链表的页面迁移机制(THMigrator)等。虽然它们在一定程度上优化了异构内存系统带来的问题,但也造成了冗余的页面迁移操作,从而降低系统的性能。由于不准确的迁移执行参数与预测机制,进行迁移的页面实际上可能不够“热”,而有些页面则可能会过早地被迁回NVM,这将导致两种设备之间频繁的往返迁移。同时页面迁移造成的不可避免的操作和资源消耗,例如页面的重新分配、页表的更新、带宽消耗等,都将带来巨大的系统开销。因此,不必要的迁移所产生的代价可能反而超过了页面迁移带来的收益。此外,NVM的大量数据写入操作也缩短了设备的使用寿命,并增加了访问时延。
术语解释:迁移控制器(Migration Controller,MigC)PCM(相变存储器)DRAM(动态随机存取存储器)Cache(高速缓冲存储器)DVC(牺牲Cache)PCM页面列表(PCM PageList,PPL)候选迁移列表(Migration Candidate List,MCL)迁移页面列表(Migrated PageList,MPL)VC-HMM(异构内存页迁移机制)
发明内容
针对现有技术中存在的不足之处,本发明的目的是提供一种基于DRAM牺牲Cache的异构内存页迁移方法,可以有效减少对PCM存储单元的写入操作次数,延长PCM的使用寿命,对于不同的工作负载,VC-HMM可以自适应设置迁移操作的参数,增加迁移的合理性。为了实现根据本发明的上述目的和其他优点,提供了一种基于DRAM牺牲Cache的异构内存页迁移系统,包括:
CPU、与所述CPU连接的逻辑控制模块、与所述逻辑控制模块连接的迁移控制器及与所述迁移控制器连接的混合式内存,所述混合式内存包括与迁移控制器连接的动态随机存取存储器、相变存储器以及基于DRAM器件设计的牺牲高速缓冲存储器;
所述迁移控制器包括相变存储器页面列表、候选迁移列表及迁移页面列表,所述相变存储器页面列表用于记录相变存储器中页面迁移的频繁度、页面编号及生存周期;
所述候选迁移列表用于当相变存储器页面列表中的页面达到迁移阈值时,该页面节点将被插入迁移候选列表的表头,候选迁移列表将在页面下一次被访问时执行迁移;
所述迁移页面列表用于记录在相变存储器页面列表中的页面访问情况。
一种基于DRAM牺牲Cache的异构内存页迁移方法,包括以下步骤:
S1、迁移控制器判断所访问内存页是否存在于相变存储器页面列表、候选迁移列表及迁移页面列表中;
S2、当所访问的页面节点在迁移页面列表中,则根据标志位判断该页在动态随机存取存储器还是牺牲高速缓冲存储器中,并执行地址重映射;当所访问页面节点在候选迁移列表中,则检查是否有迁移正在进行,若有则等待当前迁移完成否则进行迁移操作;当所访问页面节点在迁移页面列表中,则判断是否达到迁移阈值,若是则将节点插入候选迁移列表表头;
S3、检查迁移页面列表与候选迁移列表是否有超过生命周期的页面节点,如果有将其逐出。
优选的,所述步骤S2中,在候选迁移列表中按顺序进行迁移,将该页复制到动态随机存取存储器的空页框中,将该页在候选迁移列表中的节点信息更新到迁移页面列表中并删除原节点,初始化新节点信息并置为表头。
优选的,所述步骤S2中,在迁移页面列表中从后往前检索是否有满足迁出条件的动态随机存取存储器页面,若是,检查是否有态随机存取存储器到牺牲高速缓冲存储器的迁出操作正在进行,若否,则进行迁移操作并更新迁移页面列表中对应节点信息,将对应态随机存取存储器页面重新置为空,若是,则等待当前迁移操作结束。
优选的,所述步骤S2中,在迁移页面列表中从后往前检索是否有满足迁出条件的牺牲高速缓冲存储器页面,若是,检查是否有牺牲高速缓冲存储器到相变存储器的页面逐出正在进行,若是,则等待当前逐出结束。若否,则通过迁移页面列表中该节点记录的读写情况判断是否需要写回相变存储器中,若否,则直接删除节点;最后根据该页面在动态随机存取存储器中的读写情况计算迁移收益,若收益为正,则更新迁移参数使页面更容易迁入动态随机存取存储器且页面的生命周期变长;若收益为负,则更新迁移条件使页面更难迁入动态随机存取存储器且页面的生命周期变短。
优选的,所述步骤S1中,当所访问内存页在相变存储器页面列表、候选迁移列表及迁移页面列表中,则更新节点信息并将该节点置于相变存储器页面列表、候选迁移列表或迁移页面列表表头;否则,将页面节点初始化并插入相变存储器页面列表相变存储器页面列表的表头。
优选的,所述迁移控制器通过迁移收益自主地更新迁移参数,当一个页面最终被逐出牺牲Cache时,迁移控制器将计算这一次迁移的收益,所述迁移收益通过如下公式计算得出:
Rw=Writecount×(Timew_in_PCM-Timew_in_DRAM), (5)
Rr=Readcount×(Timer_in_PCM-Timer_in_DRAM), (6)
C=TimeP_D+TimeD_DVC+TimeDVC_P×dirty, (7)
R=Rw+Rr-C. (8)
其中,公式(1)与公式(2)通过迁移页面列表记录的读写操作次数计算页面迁移到动态随机存取存储器中和留存在相变存储器中的读写时延收益,Writecount表示迁移后该页面所收到的写操作次数,Timew_in_PCM和Timew_in_DRAM分别表示在相变存储器和动态随机存取存储器进行写操作所需的时间,Readcount、Timer_in_PCM及Timer_in_DRAM表示迁移后该页面所进行的读操作次数以及在相变存储器和动态随机存取存储器中进行读操作所需的时间。
优选的,所述公式(3)计算了迁移所需的时间代价,如果页面最终被逐出时为脏,则dirty为1,反之为0,最终的收益通过公式(4)计算,如果R大于0则表示迁移收益为正,迁移阈值将自动降低使页面更容易迁移到动态随机存取存储器中,在动态随机存取存储器和牺牲Cache的页面的生存周期也将被延长;如果R小于0则表示迁移收益为负,迁移阈值将自动增加使页面更不容易达到迁移阈值,在动态随机存取存储器和牺牲Cache中的页面的生存周期也将被缩短。
本发明与现有技术相比,其有益效果是:使用工艺较为成熟的非易失性存储器PCM,通过在DRAM和PCM之间增加一个由DRAM构成的小容量牺牲Cache将系统主存DRAM变“冷”的页面迁移到牺牲Cache中,以避免主存页面在短时间内再次变“热”而造成的不必要的迁移。同时,还使得迁回PCM的部分页面不需要写回,减少PCM存储单元的写入操作次数,延长PCM的使用寿命。另外,对于不同的工作负载,VC-HMM可以自适应设置迁移操作的参数,增加迁移的合理性。
附图说明
图1为根据本发明的基于DRAM牺牲Cache的异构内存页迁移系统及方法的系统结构图;
图2为根据本发明的基于DRAM牺牲Cache的异构内存页迁移系统及方法的迁移流程框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1-2,一种基于DRAM牺牲Cache的异构内存页迁移系统,包括:CPU、与所述CPU连接的逻辑控制模块、与所述逻辑控制模块连接的迁移控制器及与所述迁移控制器连接的混合式内存,所述混合式内存包括与迁移控制器连接的动态随机存取存储器、相变存储器以及基于DRAM器件设计的牺牲高速缓冲存储器;
所述迁移控制器包括相变存储器页面列表、候选迁移列表及迁移页面列表,所述相变存储器页面列表用于记录相变存储器中页面迁移的频繁度、页面编号及生存周期;
所述候选迁移列表用于当相变存储器页面列表中的页面达到迁移阈值时,该页面节点将被插入迁移候选列表的表头,候选迁移列表将在页面下一次被访问时执行迁移;
所述迁移页面列表用于记录在相变存储器页面列表中的页面访问情况。
表1 PCM页面列表与候选迁移列表的页面节点结构
Figure BDA0003197948820000061
表2迁移页面列表的页面节点结构
Figure BDA0003197948820000062
内存中所有的页面将根据其物理地址计算得出一个唯一的页号作为在表中的索引,MigC能够根据页号直接访问页面的信息而不需要遍历查找。当一个在PCM中的页面首次被访问时,MigC将该页面的信息初始化并插入PPL的表头,且每次访问都会将之重新插入表头。“冷热”程度将根据访问的次数逐次递增,生存周期也将随着每一次的访问被重置。生存周期用于控制一个页面存在于列表中的时间,如果一个页面长时间不被访问,则当生存周期用尽,该页面节点将被删除。当PPL中的页面达到迁移阈值时,该页面节点将被插入迁移候选列表MCL的表头,MCL将在页面下一次被访问时执行迁移。当有迁移还未完成时,MCL也能够将页面按照“冷热”程度排序使更“热”的页面优先迁移。和PPL一样,在MCL中的页面也将根据访问情况更新节点信息,并且按顺序执行迁移。每次有请求进入内存时,MigC都将检查是否有页面达到迁移阈值或超过生命周期,超过生命周期的页面将被作为“冷”页从列表中删除以减少冗余的迁移操作。
执行了迁移而进入DRAM的页面将被作为新的节点插入迁移页面列表(MPL)的表头,并删除在MCL中的旧节点,MPL中的节点结构如表3所示。MPL在PPL和MCL的基础上记录更多的页面信息帮助迁移机制的实现,1位标签IsInDRAM记录了页面存在的位置,页面地址的映射被记录用于请求的正确访问,另外MPL将记录页面在DRAM中的读写操作次数来帮助迁移参数的动态自适应。MPL也将随着页面的访问更新节点从而进行排序。当进行“冷”页判断时,MigC将逆序遍历MPL从而查找需要进行迁移的“冷”页。
一种基于DRAM牺牲Cache的异构内存页迁移方法,包括以下步骤:
S1、迁移控制器判断所访问内存页是否存在于相变存储器页面列表、候选迁移列表及迁移页面列表中;
S2、当所访问的页面节点在迁移页面列表中,则根据标志位判断该页在动态随机存取存储器还是牺牲高速缓冲存储器中,并执行地址重映射;当所访问页面节点在候选迁移列表中,则检查是否有迁移正在进行,若有则等待当前迁移完成否则进行迁移操作;当所访问页面节点在迁移页面列表中,则判断是否达到迁移阈值,若是则将节点插入候选迁移列表表头;
S3、检查迁移页面列表与候选迁移列表是否有超过生命周期的页面节点,如果有将其逐出。
进一步的,所述步骤S2中,在候选迁移列表中按顺序进行迁移,将该页复制到动态随机存取存储器的空页框中,将该页在候选迁移列表中的节点信息更新到迁移页面列表中并删除原节点,初始化新节点信息并置为表头。
进一步的,所述步骤S2中,在迁移页面列表中从后往前检索是否有满足迁出条件的动态随机存取存储器页面,若是,检查是否有态随机存取存储器到牺牲高速缓冲存储器的迁出操作正在进行,若否,则进行迁移操作并更新迁移页面列表中对应节点信息,将对应态随机存取存储器页面重新置为空,若是,则等待当前迁移操作结束。
进一步的,所述步骤S2中,在迁移页面列表中从后往前检索是否有满足迁出条件的牺牲高速缓冲存储器页面,若是,检查是否有牺牲高速缓冲存储器到相变存储器的页面逐出正在进行,若是,则等待当前逐出结束。若否,则通过迁移页面列表中该节点记录的读写情况判断是否需要写回相变存储器中,若否,则直接删除节点;最后根据该页面在动态随机存取存储器中的读写情况计算迁移收益,若收益为正,则更新迁移参数使页面更容易迁入动态随机存取存储器且页面的生命周期变长;若收益为负,则更新迁移条件使页面更难迁入动态随机存取存储器且页面的生命周期变短。
进一步的,所述步骤S1中,当所访问内存页在相变存储器页面列表、候选迁移列表及迁移页面列表中,则更新节点信息并将该节点置于相变存储器页面列表、候选迁移列表或迁移页面列表表头;否则,将页面节点初始化并插入相变存储器页面列表相变存储器页面列表的表头。
页面的“冷热”程度根据访问次数递增。迁移时,MigC将为迁移的页面寻找DRAM中的空页框,如果没有可用的空页框,MigC将在MPL中逆序查找并逐出最“冷”的页面到DVC中。基于DRAM牺牲Cache的内存页迁移机制的伪代码实现方法如算法1所示。
Figure BDA0003197948820000081
Figure BDA0003197948820000091
与迁移操作仅针对当前所访问页面不同,迁回和逐出操作针对每一个完成迁移的页面,可能在每一个时钟周期中发生。MigC将在迁移判断操作结束之后分别查看MPL和MCL列表。在MCL中通过从后往前逆序遍历查看各页面节点是否已超过生命周期,超过生命周期的节点将被直接删除。类似的,在MPL中逆序查找需要迁移的DRAM和DVC“冷”页,并进行迁移和迁回操作,随后针对迁回PCM的页面进行迁移收益核算。内存页面逐出的伪代码实现方法如算法2所示。通过MPL执行的逐出判断将在分别寻找到满足要求的一个DRAM和DVC页面后结束本次遍历。由于逐出操作面向的对象为“冷”页,故本算法中仅将生命周期作为判断“冷热”程度的标准以简化算法的执行。
Figure BDA0003197948820000092
Figure BDA0003197948820000101
当所访问的页面已经完成迁移时,MigC将通过MPL中保存的一位标志位判断该页是在DRAM中还是在DVC中。如果IsInDRAM为true则该页在DRAM中,MigC将通过MPL记录的页面地址映射重新映射请求的目标地址;如果IsInDRAM为false则该页在DVC中,请求将通过原始目的地址与DVC中的地址进行比对从而执行访问。
所述迁移控制器通过迁移收益自主地更新迁移参数,当一个页面最终被逐出牺牲Cache时,迁移控制器将计算这一次迁移的收益,所述迁移收益通过如下公式计算得出:
Rw=Writecount×(Timew_in_PCM-Timew_in_DRAM), (9)
Rr=Readcount×(Timer_in_PCM-Timer_in_DRAM), (10)
C=TimeP_D+TimeD_DVC+TimeDVC_P×dirty, (11)
R=Rw+Rr-C. (12)
其中,公式(1)与公式(2)通过迁移页面列表记录的读写操作次数计算页面迁移到动态随机存取存储器中和留存在相变存储器中的读写时延收益,Writecount表示迁移后该页面所收到的写操作次数,Timew_in_PCM和Timew_in_DRAM分别表示在相变存储器和动态随机存取存储器进行写操作所需的时间,Readcount、Timer_in_PCM及Timer_in_DRAM表示迁移后该页面所进行的读操作次数以及在相变存储器和动态随机存取存储器中进行读操作所需的时间。
进一步的,所述公式(3)计算了迁移所需的时间代价,如果页面最终被逐出时为脏,则dirty为1,反之为0,最终的收益通过公式(4)计算,如果R大于0则表示迁移收益为正,迁移阈值将自动降低使页面更容易迁移到动态随机存取存储器中,在动态随机存取存储器和牺牲Cache的页面的生存周期也将被延长;如果R小于0则表示迁移收益为负,迁移阈值将自动增加使页面更不容易达到迁移阈值,在动态随机存取存储器和牺牲Cache中的页面的生存周期也将被缩短。通过线性增值的方式自适应地调整迁移参数,设置以步长为1进行线性增长。生存周期的增减将应用于下一个周期执行迁移页面节点信息的初始化中,而不是更新目前迁移表中所有内存页的生存周期。实验中参数的初始数值与THMigrator的模型参数一致,例如,当页面x被认定为“冷”页面,从而从DVC迁移回PCM时,MigC通过计算得出该页面x迁移的收益。若收益R为正,则表示当前迁移参数合理有效,留存于DRAM中的页面将被大概率访问。然后,MigC降低迁移阈值,增加其他页面迁移的机会。在下一次迁移时,提升页面初始声明周期,增加页面驻留在DRAM中的时间。
这里说明的设备数量和处理规模是用来简化本发明的说明的,对本发明的应用、修改和变化对本领域的技术人员来说是显而易见的。
尽管本发明的实施方案已公开如上,但其并不仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

Claims (8)

1.一种基于DRAM牺牲Cache的异构内存页迁移系统,其特征在于,包括:
CPU、与所述CPU连接的逻辑控制模块、与所述逻辑控制模块连接的迁移控制器及与所述迁移控制器连接的混合式内存,所述混合式内存包括与迁移控制器连接的动态随机存取存储器、相变存储器以及基于DRAM器件设计的牺牲高速缓冲存储器;
所述迁移控制器包括相变存储器页面列表、候选迁移列表及迁移页面列表,所述相变存储器页面列表用于记录相变存储器中页面迁移的频繁度、页面编号及生存周期;
所述候选迁移列表用于当相变存储器页面列表中的页面达到迁移阈值时,该页面节点将被插入迁移候选列表的表头,候选迁移列表将在页面下一次被访问时执行迁移;
所述迁移页面列表用于记录在相变存储器页面列表中的页面访问情况。
2.如权利要求1所述的一种基于DRAM牺牲Cache的异构内存页迁移方法,其特征在于,包括以下步骤:
S1、迁移控制器判断所访问内存页是否存在于相变存储器页面列表、候选迁移列表及迁移页面列表中;
S2、当所访问的页面节点在迁移页面列表中,则根据标志位判断该页在动态随机存取存储器还是牺牲高速缓冲存储器中,并执行地址重映射;当所访问页面节点在候选迁移列表中,则检查是否有迁移正在进行,若有则等待当前迁移完成否则进行迁移操作;当所访问页面节点在迁移页面列表中,则判断是否达到迁移阈值,若是则将节点插入候选迁移列表表头;
S3、检查迁移页面列表与候选迁移列表是否有超过生命周期的页面节点,如果有将其逐出。
3.如权利要求2所述的一种基于DRAM牺牲Cache的异构内存页迁移方法,其特征在于,所述步骤S2中,在候选迁移列表中按顺序进行迁移,将该页复制到动态随机存取存储器的空页框中,将该页在候选迁移列表中的节点信息更新到迁移页面列表中并删除原节点,初始化新节点信息并置为表头。
4.如权利要求2所述的一种基于DRAM牺牲Cache的异构内存页迁移方法,其特征在于,所述步骤S2中,在迁移页面列表中从后往前检索是否有满足迁出条件的动态随机存取存储器页面,若是,检查是否有态随机存取存储器到牺牲高速缓冲存储器的迁出操作正在进行,若否,则进行迁移操作并更新迁移页面列表中对应节点信息,将对应态随机存取存储器页面重新置为空,若是,则等待当前迁移操作结束。
5.如权利要求4所述的一种基于DRAM牺牲Cache的异构内存页迁移方法,其特征在于,所述步骤S2中,在迁移页面列表中从后往前检索是否有满足迁出条件的牺牲高速缓冲存储器页面,若是,检查是否有牺牲高速缓冲存储器到相变存储器的页面逐出正在进行,若是,则等待当前逐出结束。若否,则通过迁移页面列表中该节点记录的读写情况判断是否需要写回相变存储器中,若否,则直接删除节点;最后根据该页面在动态随机存取存储器中的读写情况计算迁移收益,若收益为正,则更新迁移参数使页面更容易迁入动态随机存取存储器且页面的生命周期变长;若收益为负,则更新迁移条件使页面更难迁入动态随机存取存储器且页面的生命周期变短。
6.如权利要求2所述的一种基于DRAM牺牲Cache的异构内存页迁移方法,其特征在于,所述步骤S1中,当所访问内存页在相变存储器页面列表、候选迁移列表及迁移页面列表中,则更新节点信息并将该节点置于相变存储器页面列表、候选迁移列表或迁移页面列表表头;否则,将页面节点初始化并插入相变存储器页面列表相变存储器页面列表的表头。
7.如权利要求5所述的一种基于DRAM牺牲Cache的异构内存页迁移方法,其特征在于,所述迁移控制器通过迁移收益自主地更新迁移参数,当一个页面最终被逐出牺牲Cache时,迁移控制器将计算这一次迁移的收益,所述迁移收益通过如下公式计算得出:
Rw=Writecount×(Timew_in_PCM-Timew_in_DRAM), (1)
Rr=Readcount×(Timer_in_PCM-Timer_in_DRAM), (2)
C=TimeP_D+TimeD_DVC+TimeDVC_P×dirty, (3)
R=Rw+Rr-C. (4)
其中,公式(1)与公式(2)通过迁移页面列表记录的读写操作次数计算页面迁移到动态随机存取存储器中和留存在相变存储器中的读写时延收益,Writecount表示迁移后该页面所收到的写操作次数,Timew_in_pcm和Timew_in_DRAM分别表示在相变存储器和动态随机存取存储器进行写操作所需的时间,Readcount、Timer_in_PCM及Timer_in_DRAM表示迁移后该页面所进行的读操作次数以及在相变存储器和动态随机存取存储器中进行读操作所需的时间。
8.如权利要求6所述的一种基于DRAM牺牲Cache的异构内存页迁移方法,其特征在于,所述公式(3)计算了迁移所需的时间代价,如果页面最终被逐出时为脏,则dirty为1,反之为0,最终的收益通过公式(4)计算,如果R大于0则表示迁移收益为正,迁移阈值将自动降低使页面更容易迁移到动态随机存取存储器中,在动态随机存取存储器和牺牲Cache的页面的生存周期也将被延长;如果R小于0则表示迁移收益为负,迁移阈值将自动增加使页面更不容易达到迁移阈值,在动态随机存取存储器和牺牲Cache中的页面的生存周期也将被缩短。
CN202110896080.3A 2021-08-05 2021-08-05 一种基于DRAM牺牲Cache的异构内存页迁移系统及方法 Active CN113608698B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110896080.3A CN113608698B (zh) 2021-08-05 2021-08-05 一种基于DRAM牺牲Cache的异构内存页迁移系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110896080.3A CN113608698B (zh) 2021-08-05 2021-08-05 一种基于DRAM牺牲Cache的异构内存页迁移系统及方法

Publications (2)

Publication Number Publication Date
CN113608698A true CN113608698A (zh) 2021-11-05
CN113608698B CN113608698B (zh) 2024-02-23

Family

ID=78307046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110896080.3A Active CN113608698B (zh) 2021-08-05 2021-08-05 一种基于DRAM牺牲Cache的异构内存页迁移系统及方法

Country Status (1)

Country Link
CN (1) CN113608698B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统
US20140189247A1 (en) * 2012-12-28 2014-07-03 Christopher J Hughes Apparatus and method for implementing a scratchpad memory
US20180336142A1 (en) * 2017-05-22 2018-11-22 Arm Ltd Method and apparatus for hardware management of multiple memory pools
CN109558093A (zh) * 2018-12-19 2019-04-02 哈尔滨工业大学 一种针对图像处理型负载的混合内存页面迁移方法
CN110347338A (zh) * 2019-06-18 2019-10-18 重庆大学 混合内存数据交换处理方法、系统及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189247A1 (en) * 2012-12-28 2014-07-03 Christopher J Hughes Apparatus and method for implementing a scratchpad memory
CN104969178A (zh) * 2012-12-28 2015-10-07 英特尔公司 用于实现便笺式存储器的装置和方法
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统
US20180336142A1 (en) * 2017-05-22 2018-11-22 Arm Ltd Method and apparatus for hardware management of multiple memory pools
CN109558093A (zh) * 2018-12-19 2019-04-02 哈尔滨工业大学 一种针对图像处理型负载的混合内存页面迁移方法
CN110347338A (zh) * 2019-06-18 2019-10-18 重庆大学 混合内存数据交换处理方法、系统及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王党辉等: "延长相变存储器寿命的写操作Cache及其调度策略", 西北工业大学学报, no. 05 *

Also Published As

Publication number Publication date
CN113608698B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN105786717B (zh) 软硬件协同管理的dram-nvm层次化异构内存访问方法及系统
CN107193646B (zh) 一种基于混合主存架构的高效动态页面调度方法
US10241919B2 (en) Data caching method and computer system
CN102349055B (zh) 对存储在存储器上的文件的访问时间最优化
US7269708B2 (en) Memory controller for non-homogenous memory system
CN110888600B (zh) 一种面向nand闪存的缓冲区管理方法
US11210020B2 (en) Methods and systems for accessing a memory
CN111580754B (zh) 一种写友好的闪存固态盘缓存管理方法
TW201232260A (en) Semiconductor storage device
CN109165321B (zh) 一种基于非易失内存的一致性哈希表构建方法和系统
CN106909323B (zh) 适用于dram/pram混合主存架构的页缓存方法及混合主存架构系统
CN111352593B (zh) 一种区分快写和正常写的固态硬盘数据写入方法
CN113448882A (zh) 用于多级存储器的高效的管理的装置和方法
CN107562806B (zh) 混合内存文件系统的自适应感知加速方法及系统
CN112732725A (zh) 基于nvm混合内存的自适应前缀树构建方法及其系统、介质
CN108664217B (zh) 一种降低固态盘存储系统写性能抖动的缓存方法及系统
CN111258923B (zh) 一种基于异构混合内存系统的页面分配方法
CN113608698B (zh) 一种基于DRAM牺牲Cache的异构内存页迁移系统及方法
CN115048056B (zh) 基于页面替换代价的固态硬盘缓冲区管理方法
KR20180135390A (ko) 대용량 ssd 장치를 위한 데이터 저널링 방법
US11704246B2 (en) Memory system for maintaining data consistency and operation method thereof
CN116185287A (zh) 一种降低读延时的方法、装置及固态硬盘
KR101353967B1 (ko) 환형 구조의 비휘발성 메모리 캐쉬에 데이터를 읽고 쓰기 위한 데이터 처리 방법
KR101373613B1 (ko) 환형 구조의 비휘발성 메모리 캐쉬를 포함하는 하이브리드 스토리지 장치
US20220374360A1 (en) Memory device and method for accessing memory 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
GR01 Patent grant