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

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

Info

Publication number
CN105938458A
CN105938458A CN201610228385.6A CN201610228385A CN105938458A CN 105938458 A CN105938458 A CN 105938458A CN 201610228385 A CN201610228385 A CN 201610228385A CN 105938458 A CN105938458 A CN 105938458A
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.)
Granted
Application number
CN201610228385.6A
Other languages
English (en)
Other versions
CN105938458B (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 usingphase-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 mal leablemain memory and storage architecture.Proceedings of the 27th internationalACM conference on International conference on supercomputing.ACM,2013,pp.115–126中探讨了将SCM作为内存介质,以内存总线的方式接入计算机***,与DRAM一起构建混合内存***,构造了平坦的内存架构,此架构可以最大程度得利用非易失存储器件的优良特性,同时可以为***软件和应用软件的研发提供更广阔的设计空间,如基于此架构,很多学者在SCM上构造持久内存***和文件***,如H.Volos等在Mnemosyne:Lightweight Persistent Memory.ACM SIGARCHComputer 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%,或者(SCM总容量-SPT信息的容量)*0.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所示,并创建逻辑功能角色相应的逻辑功能模块。
表1DRAM和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所示。
表2SCM分区表
编号 魔数 起始地址 分区大小 分区属性
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 FrequencyTable,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 (9)

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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528454A (zh) * 2016-11-04 2017-03-22 中国人民解放军国防科学技术大学 一种基于闪存的内存***缓存机制
CN108132757A (zh) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 数据的存储方法、装置及电子设备
CN108920110A (zh) * 2018-07-25 2018-11-30 湖南机电职业技术学院 一种基于内存计算模式的并行处理大数据存储***及方法
CN109271244A (zh) * 2018-09-11 2019-01-25 郑州云海信息技术有限公司 一种非易失性内存储器的进程管理方法与装置
CN109952565A (zh) * 2016-11-16 2019-06-28 华为技术有限公司 内存访问技术
WO2020001459A1 (zh) * 2018-06-26 2020-01-02 华为技术有限公司 数据处理方法、远程直接访存网卡和设备
CN111177029A (zh) * 2018-11-12 2020-05-19 创义达科技股份有限公司 用于管理软件定义的永久性存储器的***及方法
CN111506426A (zh) * 2020-04-17 2020-08-07 翱捷科技(深圳)有限公司 内存管理方法、装置及电子设备
CN112015669A (zh) * 2019-05-31 2020-12-01 华为技术有限公司 一种混合内存管理方法及设备
WO2021169635A1 (zh) * 2020-02-27 2021-09-02 华为技术有限公司 内存设备的数据处理方法、装置和***

Citations (7)

* 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 浪潮(北京)电子信息产业有限公司 一种管理异构混合内存的方法及装置
US20150242313A1 (en) * 2007-06-01 2015-08-27 Netlist, Inc. Flash-dram hybrid memory module
CN105373348A (zh) * 2015-10-23 2016-03-02 上海新储集成电路有限公司 一种混合内存的硬件实现***及方法
CN105446899A (zh) * 2015-11-09 2016-03-30 上海交通大学 基于存储级内存的内存数据快速持久化的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150242313A1 (en) * 2007-06-01 2015-08-27 Netlist, Inc. Flash-dram hybrid memory module
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 上海交通大学 基于存储级内存的内存数据快速持久化的方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528454A (zh) * 2016-11-04 2017-03-22 中国人民解放军国防科学技术大学 一种基于闪存的内存***缓存机制
CN106528454B (zh) * 2016-11-04 2019-03-29 中国人民解放军国防科学技术大学 一种基于闪存的内存***缓存方法
CN109952565B (zh) * 2016-11-16 2021-10-22 华为技术有限公司 内存访问技术
CN109952565A (zh) * 2016-11-16 2019-06-28 华为技术有限公司 内存访问技术
US11210020B2 (en) 2016-11-16 2021-12-28 Huawei Technologies Co., Ltd. Methods and systems for accessing a memory
CN108132757A (zh) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 数据的存储方法、装置及电子设备
WO2020001459A1 (zh) * 2018-06-26 2020-01-02 华为技术有限公司 数据处理方法、远程直接访存网卡和设备
CN108920110A (zh) * 2018-07-25 2018-11-30 湖南机电职业技术学院 一种基于内存计算模式的并行处理大数据存储***及方法
CN109271244A (zh) * 2018-09-11 2019-01-25 郑州云海信息技术有限公司 一种非易失性内存储器的进程管理方法与装置
CN111177029A (zh) * 2018-11-12 2020-05-19 创义达科技股份有限公司 用于管理软件定义的永久性存储器的***及方法
CN112015669A (zh) * 2019-05-31 2020-12-01 华为技术有限公司 一种混合内存管理方法及设备
WO2021169635A1 (zh) * 2020-02-27 2021-09-02 华为技术有限公司 内存设备的数据处理方法、装置和***
CN111506426B (zh) * 2020-04-17 2021-05-04 翱捷科技(深圳)有限公司 内存管理方法、装置及电子设备
CN111506426A (zh) * 2020-04-17 2020-08-07 翱捷科技(深圳)有限公司 内存管理方法、装置及电子设备

Also Published As

Publication number Publication date
CN105938458B (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
CN105938458A (zh) 软件定义的异构混合内存管理方法
US11531617B2 (en) Allocating and accessing memory pages with near and far memory blocks from heterogenous memories
CN113424160B (zh) 一种处理方法、装置及相关设备
CN104346294B (zh) 基于多级缓存的数据读/写方法、装置和计算机***
CN101997918B (zh) 异构san环境中的海量存储资源按需分配的实现方法
WO2021218038A1 (zh) 一种存储***、内存管理方法和管理节点
CN105740164A (zh) 支持缓存一致性的多核处理器、读写方法、装置及设备
CN103345451B (zh) 一种在多核处理器中缓冲数据的方法
CN107203411B (zh) 一种基于远程ssd的虚拟机内存扩展方法及***
WO2019085769A1 (zh) 一种数据分层存储、分层查询方法及装置
WO2015066489A2 (en) Efficient implementations for mapreduce systems
AU2204299A (en) Computer cache memory windowing
US11093410B2 (en) Cache management method, storage system and computer program product
CN113674133A (zh) Gpu集群共享显存***、方法、装置及设备
CN108647155B (zh) 一种基于深度学习的多级cache共享的方法和装置
CN111930740A (zh) 一种游戏数据的处理方法、装置、服务器及存储介质
WO2024045585A1 (zh) 用于并行处理器中动态共享存储空间的方法及相应处理器
CN108932150A (zh) 基于ssd和磁盘混合存储的缓存方法、装置及介质
CN108845958A (zh) 一种交织器映射和动态内存管理***及方法
CN106202459A (zh) 虚拟化环境下的关系型数据库存储性能优化方法及***
CN103970678B (zh) 目录设计方法及装置
CN108614847A (zh) 一种数据的缓存方法及***
US11385900B2 (en) Accessing queue data
Valero et al. An hybrid eDRAM/SRAM macrocell to implement first-level data caches
CN113138851B (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