CN105938458B - 软件定义的异构混合内存管理方法 - Google Patents

软件定义的异构混合内存管理方法 Download PDF

Info

Publication number
CN105938458B
CN105938458B CN201610228385.6A CN201610228385A CN105938458B CN 105938458 B CN105938458 B CN 105938458B CN 201610228385 A CN201610228385 A CN 201610228385A CN 105938458 B CN105938458 B CN 105938458B
Authority
CN
China
Prior art keywords
memory
page
dram
scm
dram cache
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
Application number
CN201610228385.6A
Other languages
English (en)
Other versions
CN105938458A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201610228385.6A priority Critical patent/CN105938458B/zh
Publication of CN105938458A publication Critical patent/CN105938458A/zh
Application granted granted Critical
Publication of CN105938458B publication Critical patent/CN105938458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种软件定义的异构混合内存管理方法,该方法基于平坦的混合内存体系架构,通过软件定义的方法实现平坦和层级两种内存管理模式。包括:对动态随机存储器和存储级内存分别进行逻辑功能角色划分,设计功能适配器、动态随机存储器充当高速缓存等功能模块,并根据用户的配置参数实现角色与各功能模块的适配,按需构建平坦或层级的内存管理模式。本发明可以在不改变硬件架构的情况下,为应用程序提供不同的访存模式,满足多样化的访存需求。

Description

软件定义的异构混合内存管理方法
技术领域
本发明属于系统软件领域,尤其是基于混合内存架构的系统软件领域,具体涉及新型非易失内存的内存管理、混合异构内存管理、缓存管理等相关技术。
背景技术
随着大数据的到来,传统架构下的内存墙和I/O瓶颈问题日益突出。存储级内存技术的出现为解决这些问题提供了很好的契机。存储级内存由于其非易失性、可字节寻址、较低的访存延迟以及高存储密度等优良特性,成为学术界和商界的关注热点。
围绕存储级内存SCM(Storage Class Memory)和动态随机存储器DRAM(DynamicRandom Access Memory)的混合内存架构方位,学术界也开展了多方面的探索。M.K.Qureshi等人在Scalable high performance main memory system using phase-change memory technology.ACM SIGARCH Computer Architecture News,vol.37,no.3,pp.24–33中提出了将SCM作为DRAM的上层缓存DRAM Buffer,我们称之为层级的内存架构。这种设计可以极大程度上减少SCM器件的写入,降低了其写延迟。J.Y.Jung等人在Memorage:emerging persistent ram based malleable main memory and storagearchitecture.Proceedings of the 27th international ACM conference onInternational conference on supercomputing.ACM,2013,pp.115–126中探讨了将SCM作为内存介质,以内存总线的方式接入计算机系统,与DRAM一起构建混合内存系统,构造了平坦的内存架构,此架构可以最大程度得利用非易失存储器件的优良特性,同时可以为系统软件和应用软件的研发提供更广阔的设计空间,如基于此架构,很多学者在SCM上构造持久内存系统和文件系统,如H.Volos等在Mnemosyne:Lightweight Persistent Memory.ACMSIGARCH Computer Architecture News,vol.39,no.1.ACM,2011,pp.91–104中提出了一种基于非易失内存技术的持久内存系统,可以将结构化数据持久化在SCM上,应用程序可以像访问DRAM一样访问SCM。
本发明即基于这样的混合内存硬件架构,同时考虑层级架构可以更加高效地降低SCM的写损耗、降低写延迟等优势,设计了软件定义的混合内存管理方法。该管理方法可以在一致、平坦的硬件混合内存架构下,让CPU直接访存SCM,来最大化地缓解I/O瓶颈,提高持久数据的访存性能。同时利用软件定义的方法,不仅可以在逻辑上构建层级的混合内存模式,解决SCM写损耗与写延迟高的问题,同时可以在软件的控制下切换到平坦模式下,还可以通过注册的方式,在SCM上部署不同的管理系统,为用户提供对SCM不同的访存模式。
经检索,目前没有发现同本发明类似技术的说明或报道,也尚未收集到国内外类似的资料。
发明内容
针对现有技术中的缺陷,本发明的目的是利用软件定义的方法,通过适配和封装各功能模块,提供应用不同的混合内存模式。用户程序可以根据自身数据访存的特性来配置不同的参数来构建最优的混合内存模式。
根据本发明提供的软件定义的异构混合内存管理方法,包括:
步骤1:对DRAM和存储级内存SCM分别进行逻辑功能角色的设定,并创建逻辑功能角色相应的逻辑功能模块;
步骤2:创建存储级内存分区表SPT,以记录SPT信息,其中,SPT信息包括部署在SCM的不同分区上的逻辑功能模块的内存布局;
步骤3:读取配置信息和SPT信息,并根据配置信息修改SPT信息中现有的内存布局;
步骤4:创建逻辑功能适配器,其中,逻辑功能适配器用于根据配置信息实现对内存布局的容量配置和资源管理,激活各逻辑功能模块,以构建成所设定的内存模式。
优选地,DRAM的逻辑功能角色包括:工作内存、DRAM高速缓存;SCM的逻辑功能角色包括:工作内存、持久内存以及文件数据存储;
工作内存相应的逻辑功能模块为伙伴系统;
DRAM高速缓存相应的逻辑功能模块为DRAM高速缓存管理模块,其中,DRAM高速缓存管理模块用于将一定容量的DRAM作为SCM的缓冲器;
持久内存相应的逻辑功能模块为持久内存管理模块,其中,持久内存管理模块用于存储需要被持久化的结构化内存数据;
文件数据存储相应的逻辑功能模块为文件系统,其中,文件系统用于将SCM用作对序列化的数据进行存储的持久化存储块设备。
优选地,在所述步骤2中,将SCM的起始存储空间进行预留,来存储SPT信息。
优选地,在步骤3中,读取配置信息和SPT信息,将已注册分区容量在内存布局中预留;当配置信息指示需启用DRAM高速缓存时,计算DRAM高速缓存所需的内存容量大小。
优选地,所述计算DRAM高速缓存所需的内存容量大小,包括:
判断配置信息中用户指定的容量U_size是否有效;若有效,则在内存布局中预留容量U_size;若无效,则根据计算机系统实际内存配置进行预留。
优选地,容量U_size有效,是指:DRAM高速缓存容量是否有效的判定方法:容量U_size大于等于DRAM容量的10%,且容量U_size加上1G的和小于DRAM容量;
根据计算机系统实际内存配置进行预留中的预留容量为:(SCM总容量-SPT信息的容量)*3%。
优选地,在DRAM高速缓存管理模块的创建中,由软件定义DRAM高速缓存管理模块,DRAM高速缓存管理模块包括:DRAM高速缓存控制器、内存控制器;
DRAM高速缓存控制器通过空闲链表结构管理空闲页帧,该空闲链表为无序链表;DRAM高速缓存控制器通过一张页面映射表DCMT来建立DRAM高速缓存控制器中页帧与SCM页帧的关联;DRAM高速缓存控制器采用最近最少使用算法LRU为DRAM高速缓存控制器中的页面替换策略;DRAM高速缓存控制器在DRAM中保留一份DRAM页帧访存频度表DCFT的备份信息,并根据该备份信息,建立LRU链表,该LRU链表为有序链表,从表头至表尾各页面的访存频度依次递增;内存控制器通过一张DRAM页帧访存频度表DCFT来维护DRAM高速缓存页帧的访存频度,并定期将DCFT刷新至DRAM高速缓存控制器。
优选地,DRAM高速缓存控制器的控制流程包括:
当内存控制器中检测到某个SCM页帧的访存频度超过阈值时,内存控制器将触发中断,DRAM高速缓存控制器响应中断,首先从空闲链表中选择一个空闲页面,将SCM页面数据拷贝至该空闲页面,更新页表和DCMT;如果无空闲页面,则DRAM高速缓存控制器从LRU链表中取出表头的一个页面,如果该页面为干净页,则将SCM页面数据拷贝至该页面,更新DCMT和页表;若该页面为脏页,则将该页面写回SCM,然后将SCM页面数据拷贝至该页面,更新DCMT和页表。
优选地,逻辑功能适配器默认将DRAM和SCM作为工作内存并由伙伴系统进行管理;
若逻辑功能适配器分析到用户在配置信息中设定了启用持久内存、文件数据存储或者DRAM高速缓存,则逻辑功能适配器读取SPT信息中的内存布局;若内存布局中已经设定了相应的逻辑功能模块,则在内存布局中保留相应的逻辑功能模块的SCM分区,开启相应的逻辑功能模块;若内存布局中未设定相应的逻辑功能模块,则将相应的逻辑功能模块注册到操作系统,填充相应的注册信息到SPT信息中,然后开启相应的逻辑功能模块。
优势:
1)可以根据用户需求和应用特性来按需配置内存模式,可以消除内存管理对于硬件内存体系架构的依赖,可以根据应用的访存特性和实际需求来动态的适配混合访存模式,以满足多种应用需求;
2)预留了多种适配接口,可以允许系统在SCM上部署不同的管理系统或功能模块,如传统文件系统、新型文件系统以及持久内存管理系统等。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为软件定义的混合内存体系架构图。
图2为操作系统内核的修改和扩展。
图3为软件定义的DRAM Cache管理模块框架图。
图4为DRAM高速缓存控制器的控制流程图。
图5为持久内存管理模块的适配流程图。
具体实施方式
为了使本发明的目的、技术方案更加清楚明白,下面结合附图及实施例,对本发明进行进一步详细说明。本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
本实施例提供了一种软件定义的异构混合内存管理方法,基于平坦的硬件内存系统架构,如图1所示,利用软件定义的方法,根据不同的应用需求,通过修改和扩展内核,如图2所示,构造平坦和层级混合内存体系架构。具体包括如下步骤:
步骤1:对DRAM和存储级内存SCM分别进行逻辑功能角色的设定,如表1所示,并创建逻辑功能角色相应的逻辑功能模块。
表1 DRAM和SCM的逻辑功能角色
其中,将DRAM分为工作内存和DRAM高速缓存(DRAM Cache)这两种逻辑功能角色,其中,工作内存用于存储运行状态数据,包括进程、线程等系统数据或者运行过程中产生的系统或者用户数据,这些数据具有高频访问特性,且无明确持久化需求;
将SCM划分为工作内存、持久内存以及文件数据存储这三个逻辑功能角色。其中,持久内存用于存储需要被持久化的结构化内存数据,持久内存一方面可以暴露给处理器,可以被处理器直接访存,另一方面借助一些映射机制和API接口可以暴露给应用程序进行快速访存;文件数据存储将SCM用作持久化存储块设备,用来存储序列化的数据(文件)。
每种逻辑功能角色有对应的逻辑功能模块(也可称为子系统)与之适配。工作内存相应的逻辑功能模块为伙伴系统;DRAM高速缓存相应的逻辑功能模块为DRAM高速缓存管理模块,其中,DRAM高速缓存管理模块用于将一定容量的DRAM作为SCM的缓冲器;持久内存相应的逻辑功能模块为持久内存管理模块,其中,持久内存管理模块用于存储需要被持久化的结构化内存数据;文件数据存储相应的逻辑功能模块为文件系统,其中,文件系统用于将SCM用作对序列化的数据进行存储的持久化存储块设备。
DRAM和SCM的默认角色都是工作内存,其对应的逻辑功能模块为现有技术中的伙伴系统,伙伴系统为成熟技术,在此不予赘述。文件数据存储对应的逻辑功能模块为文件系统。如需设定其他功能角色,需要进行注册说明。
步骤2:创建存储级内存分区表(Storage Class Memory Partition Table,SPT),记录SPT信息,其中,SPT信息包括部署在SCM的不同分区上的逻辑功能模块的布局信息,如表2所示。
表2 SCM分区表
编号 魔数 起始地址 分区大小 分区属性
0 0x00000000 0x100001000 0x100000000 00000001
1 0x11537303 0x300000000 0x200000000 00000010
2 0x21465703 0x200000000 0x100000000 00000011
其中,SCM的每个分区信息包括:编号、魔数、起始地址、分区大小、分区属性等。在分区属性中,将定义该分区是否遵循页式管理、是否有持久化的元数据信息等。如表2所示,0号该分区默认为工作内存的分区,初始化该分区为SCM总容量,1号为文件数据存储的分区,占有SCM高地址的8GB空间,2号分区为持久内存的分区,占文件系统前的4GB空间。SPT信息是逻辑功能角色对应的子系统在向操作系统注册时填充的,工作内存的分区大小也因这两个子系统的注册而缩减。SPT信息是需要持久存储的信息,且只能由操作系统进行访存,因此将SCM的起始4k预留,用来存储SPT信息。
步骤3:读取配置信息和SPT信息,并根据配置信息修改现有内存布局。
进一步地,读取配置信息和SPT信息,将已注册分区容量在内存布局中预留。在计算机系统内核的启动过程中,BIOS通过扫描计算机系统的各个组件,已经将计算机系统的基本内存布局传递给操作系统,在此基础上,首先读取SPT信息,查看已注册的逻辑功能模块相应的SCM分区的起始地址和大小,将这些分区从初始内存中预留出来,并将配置信息和SPT信息保存至计算机系统的启动参数中。如本例中需将12GB(文件系统分区和持久内存分区)的空间预留。
进一步地,分析内存系统的配置信息,如果启用了DRAM高速缓存(DRAM Cache)功能,需计算DRAM高速缓存所需的内存容量大小。如果配置信息中有用户指定的容量(U_size),则首先判断该容量是否有效,若有效,则在内存布局中将其预留,若无效,则根据计算机系统实际内存配置进行计算。
进一步地,DRAM高速缓存容量是否有效的判定方法:U_size≥DRAM容量*10%,且U_size<DRAM容量-1G。U_size无效时DRAM高速缓存容量的计算方法:(SCM总容量-SPT中记录的容量)*3%。同理,如果此计算容量有效(判定方法同U_size的判定方法),则将此容量预留,否则将DRAM容量*10%预留。
其中,通过创建软件定义的DRAM高速缓存管理模块,实现将一定容量的DRAM作为SCM的缓冲器(buffer Cache)的功能。该DRAM高速缓存管理模块主要由软硬件两部分完成,如图3所示,一部分扩展现有内存控制器,在内存控制器中监控SCM页帧的访存频度(该技术实现为已有成果,不属于本专利要求内容),此外,增加对DRAM Cache中DRAM页帧的访存频度。DRAM页帧的访存频度信息保存在一张含有多条<pfn,tag,freqency>三元组的DRAM页帧访存频度表(DRAM Cache Access Frequency Table,DCFT),DRAM高速缓存控制器中将保留一份DCFT备份,内存控制器将通过一张DRAM页帧访存频度表DCFT来维护DRAM高速缓存页帧的访存频度,并定期将DCFT刷新至DRAM高速缓存控制器。另一部分为DRAM高速缓存控制器,由系统软件实现,主要完成DRAMCache中页帧的分配、SCM中页帧的映射管理、以及页帧替换策略。
进一步地,DRAM高速缓存控制器通过空闲链表结构管理空闲页帧,该链表为无序链表,在DRAM高速缓存控制器初始化的时候根据容量构建该空闲链表。DRAM高速缓存控制器通过一张页面映射表(DRAM Cache Mapping Table,DCMT)来实现DRAM高速缓存控制器中页帧与SCM页帧的关联,包含了多条<pfn,pfn’>这样的二元组记录。DRAM高速缓存控制器采用最近最少使用算法(Least Recently Used,LRU)作为DRAM Cache中的页面替换策略。DRAM高速缓存控制器将在DRAM中保留一份DRAM页帧访存频度信息的备份,并根据这个备份信息,建立LRU链表,该链表为有序链表,从表头至表尾各页面的访存频度依次递增。
进一步地,该DRAM高速缓存控制器的控制流程如图4所示,当内存控制器中检测到某个SCM页帧的访存频度超过阈值时,内存控制器将触发中断,DRAM高速缓存控制器响应中断,首先从空闲链表中选择一个空闲页面,将SCM页面数据拷贝至该空闲页面,更新页表和DCMT;如果无空闲页面,则DRAM高速缓存控制器从LRU链表中取出表头的一个页面,如果该页面为干净页,则将SCM页面数据拷贝至该页面,更新DCMT和页表;若该页面为脏页,则将该页面写回SCM,然后将SCM页面数据拷贝至该页面,更新DCMT和页表。
步骤4:设计功能适配器,根据用户的配置参数实现对不同区域的容量配置和资源管理,激活各逻辑功能模块,构建成所设定的内存模式。
进一步地,可供选择适配的功能包括持久内存管理模块、文件系统、DRAM高速缓存管理模块。系统默认的装载和初始化是将DRAM和SCM作为工作内存并由伙伴系统进行管理。
进一步地,若适配器分析到用户设定了启用持久内存功能或者文件存储功能,如图3所示,适配器首先读取启动参数中的分区表信息,若分区表信息中相应分区的魔数已经设定,则首先将分区表中的存储的区间从内存布局中保留,然后调用相应的初始化函数,开启相应的功能模块;若分区表信息中相应分区的魔数未设定,首先要将此模块注册到操作系统,填充相应的注册信息到分区表中,然后再初始化该功能模块。
进一步地,若适配器分析到用户设定了DRAM Cache功能,则如步骤4所述,在内存布局中保留适当的DRAM区域,然后调用DRAM高速缓存控制器初始化函数,初始化核心的数据结构,然后开启内存控制器的频度监控功能。
本实施例提供的软件定义的异构混合内存管理方法,基于平坦的混合内存硬件架构,通过对DRAM和SCM逻辑功能角色的设定,设计并了不同的逻辑功能模块与个逻辑功能角色适配,设计了SCM管理器,实现对SCM资源的整体把控,提供SCM可靠的访存管理策略,并通过自适应的容量动态调整策略,实现计算机系统对DRAM和SCM资源的最优化配置,本实施例可以消除内存管理对于硬件内存体系架构的依赖,可以根据应用的访存特性和实际需求来动态的适配混合你村模式,以满足应用需求,提高计算机系统资源的利用率和整体的访存性能。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (6)

1.一种软件定义的异构混合内存管理方法,其特征在于,包括:
步骤1:对DRAM和存储级内存SCM分别进行逻辑功能角色的设定,并创建逻辑功能角色相应的逻辑功能模块;
步骤2:创建存储级内存分区表SPT,以记录SPT信息,其中,SPT信息包括部署在SCM的不同分区上的逻辑功能模块的内存布局;
步骤3:读取配置信息和SPT信息,并根据配置信息修改SPT信息中现有的内存布局;
步骤4:创建逻辑功能适配器,其中,逻辑功能适配器用于根据配置信息实现对内存布局的容量配置和资源管理,激活各逻辑功能模块,以构建成所设定的内存模式;
在DRAM高速缓存管理模块的创建中,由软件定义DRAM高速缓存管理模块,DRAM高速缓存管理模块包括:DRAM高速缓存控制器、内存控制器;
DRAM高速缓存控制器通过空闲链表结构管理空闲页帧,该空闲链表为无序链表;DRAM高速缓存控制器通过一张页面映射表DCMT来建立DRAM高速缓存控制器中页帧与SCM页帧的关联;DRAM高速缓存控制器采用最近最少使用算法LRU为DRAM高速缓存控制器中的页面替换策略;内存控制器通过一张DRAM页帧访存频度表DCFT来维护DRAM高速缓存页帧的访存频度,并定期将DCFT刷新至DRAM高速缓存控制器,DRAM高速缓存控制器在DRAM中保留一份DRAM页帧访存频度表DCFT的备份信息,并根据该备份信息,建立LRU链表,该LRU链表为有序链表,从表头至表尾各页面的访存频度依次递增;
DRAM高速缓存控制器的控制流程包括:
当内存控制器中检测到某个SCM页帧的访存频度超过阈值时,内存控制器将触发中断,DRAM高速缓存控制器响应中断,首先从空闲链表中选择一个空闲页面,将SCM页面数据拷贝至该空闲页面,更新页表和DCMT;如果无空闲页面,则DRAM高速缓存控制器从LRU链表中取出表头的一个页面,如果该页面为干净页,则将SCM页面数据拷贝至该页面,更新DCMT和页表;若该页面为脏页,则将该页面写回SCM,然后将SCM页面数据拷贝至该页面,更新DCMT和页表。
2.根据权利要求1所述的软件定义的异构混合内存管理方法,其特征在于,DRAM的逻辑功能角色包括:工作内存、DRAM高速缓存;SCM的逻辑功能角色包括:工作内存、持久内存以及文件数据存储;
工作内存相应的逻辑功能模块为伙伴系统;
DRAM高速缓存相应的逻辑功能模块为DRAM高速缓存管理模块,其中,DRAM高速缓存管理模块用于将一定容量的DRAM作为SCM的缓冲器;
持久内存相应的逻辑功能模块为持久内存管理模块,其中,持久内存管理模块用于存储需要被持久化的结构化内存数据;
文件数据存储相应的逻辑功能模块为文件系统,其中,文件系统用于将SCM用作对序列化的数据进行存储的持久化存储块设备。
3.根据权利要求1所述的软件定义的异构混合内存管理方法,其特征在于,在所述步骤2中,将SCM的起始存储空间进行预留,来存储SPT信息。
4.根据权利要求2所述的软件定义的异构混合内存管理方法,其特征在于,在步骤3中,读取配置信息和SPT信息,将已注册分区容量在内存布局中预留;当配置信息指示需启用DRAM高速缓存时,计算DRAM高速缓存所需的内存容量大小。
5.根据权利要求4所述的软件定义的异构混合内存管理方法,其特征在于,所述计算DRAM高速缓存所需的内存容量大小,包括:
判断配置信息中用户指定的容量U_size是否有效;若有效,则在内存布局中预留容量U_size;若无效,则根据计算机系统实际内存配置进行预留。
6.根据权利要求5所述的软件定义的异构混合内存管理方法,其特征在于,容量U_size有效,是指:容量U_size大于等于DRAM容量的10%,且容量U_size加上1G的和小于DRAM容量;
根据计算机系统实际内存配置进行预留中的预留容量为:(SCM总容量-SPT信息的容量)*3%。
CN201610228385.6A 2016-04-13 2016-04-13 软件定义的异构混合内存管理方法 Active CN105938458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610228385.6A CN105938458B (zh) 2016-04-13 2016-04-13 软件定义的异构混合内存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610228385.6A CN105938458B (zh) 2016-04-13 2016-04-13 软件定义的异构混合内存管理方法

Publications (2)

Publication Number Publication Date
CN105938458A CN105938458A (zh) 2016-09-14
CN105938458B true CN105938458B (zh) 2019-02-22

Family

ID=57152004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610228385.6A Active CN105938458B (zh) 2016-04-13 2016-04-13 软件定义的异构混合内存管理方法

Country Status (1)

Country Link
CN (1) CN105938458B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528454B (zh) * 2016-11-04 2019-03-29 中国人民解放军国防科学技术大学 一种基于闪存的内存系统缓存方法
EP3534265A4 (en) * 2016-11-16 2019-10-30 Huawei Technologies Co., Ltd. MEMORY ACCESS TECHNIQUE
CN108132757B (zh) * 2016-12-01 2021-10-19 阿里巴巴集团控股有限公司 数据的存储方法、装置及电子设备
CN110647480B (zh) * 2018-06-26 2023-10-13 华为技术有限公司 数据处理方法、远程直接访存网卡和设备
CN108920110A (zh) * 2018-07-25 2018-11-30 湖南机电职业技术学院 一种基于内存计算模式的并行处理大数据存储系统及方法
CN109271244A (zh) * 2018-09-11 2019-01-25 郑州云海信息技术有限公司 一种非易失性内存储器的进程管理方法与装置
US10909012B2 (en) * 2018-11-12 2021-02-02 H3 Platform, Inc. System having persistent memory
CN112015669A (zh) * 2019-05-31 2020-12-01 华为技术有限公司 一种混合内存管理方法及设备
CN113312275A (zh) * 2020-02-27 2021-08-27 华为技术有限公司 内存设备的数据处理方法、装置和系统
CN111506426B (zh) * 2020-04-17 2021-05-04 翱捷科技(深圳)有限公司 内存管理方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092534A (zh) * 2013-02-04 2013-05-08 中国科学院微电子研究所 一种内存结构的调度方法和装置
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统
CN103927145A (zh) * 2014-04-28 2014-07-16 中国科学院微电子研究所 一种基于混合内存的系统休眠、唤醒方法及装置
CN104239225A (zh) * 2014-09-04 2014-12-24 浪潮(北京)电子信息产业有限公司 一种管理异构混合内存的方法及装置
CN105373348A (zh) * 2015-10-23 2016-03-02 上海新储集成电路有限公司 一种混合内存的硬件实现系统及方法
CN105446899A (zh) * 2015-11-09 2016-03-30 上海交通大学 基于存储级内存的内存数据快速持久化的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874831B2 (en) * 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092534A (zh) * 2013-02-04 2013-05-08 中国科学院微电子研究所 一种内存结构的调度方法和装置
CN103810113A (zh) * 2014-01-28 2014-05-21 华中科技大学 一种非易失存储器和动态随机存取存储器的融合内存系统
CN103927145A (zh) * 2014-04-28 2014-07-16 中国科学院微电子研究所 一种基于混合内存的系统休眠、唤醒方法及装置
CN104239225A (zh) * 2014-09-04 2014-12-24 浪潮(北京)电子信息产业有限公司 一种管理异构混合内存的方法及装置
CN105373348A (zh) * 2015-10-23 2016-03-02 上海新储集成电路有限公司 一种混合内存的硬件实现系统及方法
CN105446899A (zh) * 2015-11-09 2016-03-30 上海交通大学 基于存储级内存的内存数据快速持久化的方法

Also Published As

Publication number Publication date
CN105938458A (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
CN105938458B (zh) 软件定义的异构混合内存管理方法
US11531617B2 (en) Allocating and accessing memory pages with near and far memory blocks from heterogenous memories
CN105893269B (zh) 一种Linux系统下内存管理方法
US20190129862A1 (en) Memory system and method for controlling nonvolatile memory
US20150234669A1 (en) Memory resource sharing among multiple compute nodes
US9703566B2 (en) Sharing TLB mappings between contexts
EP2645259B1 (en) Method, device and system for caching data in multi-node system
WO2021218038A1 (zh) 一种存储系统、内存管理方法和管理节点
CN105740164A (zh) 支持缓存一致性的多核处理器、读写方法、装置及设备
US11210020B2 (en) Methods and systems for accessing a memory
US20150293881A1 (en) Network-attached memory
US9280464B2 (en) System and method for simultaneously storing and reading data from a memory system
CN113674133A (zh) Gpu集群共享显存系统、方法、装置及设备
KR20130070501A (ko) 가상 시스템에서 메모리 중복 제거를 위한 기술
CN103019955B (zh) 基于pcram主存应用的内存管理方法
CN115168247B (zh) 用于并行处理器中动态共享存储空间的方法及相应处理器
US10705977B2 (en) Method of dirty cache line eviction
CN111930740A (zh) 一种游戏数据的处理方法、装置、服务器及存储介质
CN108959113A (zh) 用于闪存感知堆存储器管理的方法和系统
CN109446117A (zh) 一种固态硬盘页级闪存转换层设计方法
WO2024045586A1 (zh) 支持simt架构的高速缓冲存储器及相应处理器
CN109901909A (zh) 用于虚拟化系统的方法及虚拟化系统
CN115904212A (zh) 数据处理的方法、装置、处理器和混合内存系统
CN116501249A (zh) 一种减少gpu内存重复数据读写的方法及相关设备
CN104811495B (zh) 一种用于智慧协同网络的网络组件内容存储方法及模块

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant