动态分配内存的方法、装置及系统制造方法及图纸

技术编号:16482870 阅读:41 留言:0更新日期:2017-10-31 15:30
本发明专利技术提供了一种动态分配内存的方法、装置及系统,其中的方法包括:接收服务器的内存分配请求;根据所述内存分配请求,基于由多个经PCIE设备驱动的内存颗粒组成的内存池,判断所述内存池是否具有一个或多个空闲的内存颗粒的内存总和满足所请求的内存大小;若是,将所请求的内存分配给所述服务器。本发明专利技术可实现向服务器动态分配内存。

Method, device and system for dynamically allocating memory

The present invention provides a method, device and system for dynamic memory allocation, the method includes: receiving server memory allocation request; according to the allocation of memory requests, memory particles driven by multiple PCIE devices consisting of memory pool based on the sum of memory particles to determine whether the memory pool has a one or more free to meet the requested memory size; if so, memory allocation will request to the server. The invention can dynamically allocate memory to the server.

【技术实现步骤摘要】
动态分配内存的方法、装置及系统
本专利技术涉及计算机
,尤其涉及一种动态分配内存的方法、装置及系统。
技术介绍
在计算机系统中,存储器可谓是决定整机性能的关键因素之一。在服务器系统中,常使用DIMM(Dual-Inline-Memory-Modules,双列直插式存储模块)作为内存。在DIMM内存中的颗粒采用了DIP(DualInlinePackage:双列直插封装)封装。早期的内存颗粒是直接焊接在主板上面的,这样如果一片内存出现故障,那么整个主板都要报废了。后来在主板上出现了内存颗粒插槽,这样就可以更换内存颗粒了。较常用的内存颗粒是DRAM(DynamicRandomAccessMemory,动态随机存取存储器)芯片。DIMM包括有一个或多个DRAM芯片在一个小的集成电路板上,利用这块电路板上的一些引脚可以直接和计算机主板相连接。DIMM常应用在服务器系统中。由于DIMM容量限制较大,从8G、16G、32G、64G到128G,单个容量较小,相对业务快速的变化缺少灵活性。目前的做法是,单台服务器(单机)各插16根DIMM,或者是通过RAZER卡扩展DIMM,以达到扩展内存容量的目的。然而,由于DIMM受限于CPU的DIMMCHANNEL,因此会带来容量的限制,从而因容量需求形成了不同的规格的服务器,带来了管理上的不便与开销。
技术实现思路
本专利技术解决的技术问题之一是提供一种动态分配内存的方法、装置及系统。根据本专利技术一方面的一个实施例,提供了一种动态分配内存的方法,包括:接收至少一台服务器的内存分配请求;根据所述内存分配请求,基于由多个经总线接口标准设备驱动的内存颗粒组成的内存池,判断所述内存池是否具有一个或多个空闲的内存颗粒的内存总和满足所请求的内存大小;若是,将所请求的内存分配给所述服务器。优选的,所述内存颗粒包括DRAM颗粒,该方法还包括:将DRAM颗粒的DRAM接口转换成PCIE接口。优选的,所述将DRAM颗粒的DRAM接口转换成PCIE接口,包括:将DRAM接口通过内存缓冲进行容量扩展;将内存控制器的输入连接DRAM颗粒,在内存控制器进行双倍速率DDR内存进程到PCIE进程的转换逻辑,使内存控制器的输出为PCIE接口。优选的,通过PCIE设备驱动DRAM颗粒包括:使能PCIE设备的SRIOV功能;安装物理功能PF驱动和虚拟功能VF驱动;实现PCIE地址、服务器地址与内存地址的映射,并将地址映射写入所述PF驱动和VF驱动。优选的,该方法还包括:对内存池进行部署:由一管理单元控制多台服务器共享内存池的内存空间;在所述管理单元中运行所述PF驱动,从而将用户空间与虚拟功能驱动空间ID对应并进行匹配;在各服务器上运行所述虚拟功能驱动,从而使服务器发现自身对应的地址空间并进行操作。优选的,该方法还包括:判断服务器是否使用完成所分配的内存空间,若是,释放所述内存空间。优选的,若判断不具有所请求的内存空间,所述方法还包括:等待,并判断是否有新释放的内存空间;若释放的内存空间满足所请求的内存要求,则将释放的内存空间分配给所述服务器。根据本专利技术一方面的一个实施例,提供了一种动态分配内存的装置,包括:请求接收单元,用于接收至服务器的内存分配请求;判断单元,用于根据所述内存分配请求,基于由多个经总线接口标准设备驱动的内存颗粒组成的内存池,判断所述内存池是否具有一个或多个空闲的内存颗粒的内存总和满足所请求的内存大小;分配单元,用于将所请求的内存分配给所述服务器。优选的,所述内存颗粒包括DRAM颗粒;该装置还包括:接口转换单元,用于将DRAM接口通过内存缓冲进行容量扩展;以及,将内存控制器的输入连接DRAM颗粒,在内存控制器进行DDR内存进程到PCIE进程的转换逻辑,使内存控制器的输出为PCIE接口,使内存控制器的输出为PCIE接口。优选的,该装置还包括:驱动单元,用于使能PCIE设备的SRIOV功能;安装PF驱动和VF驱动;以及,实现PCIE地址、服务器地址与内存地址的映射,并将地址映射写入所述PF驱动和VF驱动。优选的,该装置还包括:内存池部署单元,用于控制多台服务器共享内存池的内存空间;在所述管理单元中运行所述PF驱动,从而将用户空间与VF空间ID对应并进行匹配;以及,在各服务器上运行所述VF驱动,从而使服务器发现自身对应的地址空间并进行操作。优选的,所述判断单元还用于,判断服务器是否使用完成所分配的内存空间;所述装置还包括:释放单元,用于释放使用完成的内存空间。优选的,所述判断单元还用于,若判断不具有所请求的内存空间,则等待,并判断是否有新释放的内存空间;若释放的内存空间满足所请求的内存要求,则指示所述分配单元将释放的内存空间分配给所述服务器。根据本专利技术一方面的一个实施例,提供了一种动态分配内存的系统,该系统包括:由多个经PCIE设备驱动的DRAM颗粒组成的内存池;一个或多个服务器;以及,上述的任一项的所述动态分配内存的装置。根据本专利技术另一方面的一个实施例,提供一种内存,该内存包括多个内存颗粒,其中,所述内存颗粒经总线接口标准设备驱动。可见,本专利技术通过由多个经PCIE设备驱动的DRAM颗粒组成的内存池,将服务器与内存通过PCIE来分离,可以通过PCIE交换实现不同服务器对内存的动态分配和按需分配。优选的,在将DRAM颗粒的接口转换成PCIE接口过程中,通过内存缓冲进行容量扩展。另外,由于通过内存缓冲扩展了内存颗粒,且通过对内存池的动态分配和按需分配,因此与标准内存相比,不需要增加整个内存条,因此成本有较低的优势。而且,相比于现有标准的内存必须停机维护,PCIE设备可以进行热插拔,因此可维护性增强。本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本专利技术并不仅限于这些实施例。而是,本专利技术的范围是广泛的,且意在仅通过后附的权利要求限定本专利技术的范围。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1是根据本专利技术实施例的动态分配内存的方法的流程图;图2是根据本专利技术实施例的动态分配内存的方法中一组DRAM接口转换成PCIE接口的示意图;图3是根据本专利技术实施例的动态分配内存的方法中单颗粒DRAM接口转换成PCIE接口的示意图;图4是根据本专利技术实施例的动态分配内存的方法中基于PCIE接口的DRAM池部署示意图;图5是根据本专利技术实施例的动态分配内存的装置的结构示意图。本领域普通技术人员将了解,虽然下面的详细说明将参考图示实施例、附图进行,但本专利技术并不仅限于这些实施例。而是,本专利技术的范围是广泛的,且意在仅通过后附的权利要求限定本专利技术的范围。具体实施方式在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。所述计算机设备包括用户设备与网络设备。其中,所述用户设备包括但不限于电脑、智能手机、PDA等;所述网络设备包括但不限于单本文档来自技高网...
动态分配内存的方法、装置及系统

【技术保护点】
一种动态分配内存的方法,其特征在于,包括:接收服务器的内存分配请求;根据所述内存分配请求,基于由多个经总线接口标准设备驱动的存储颗粒组成的内存池,判断所述内存池是否具有一个或多个空闲的存储颗粒的内存总和满足所请求的内存大小;若是,将所请求的内存分配给所述服务器。

【技术特征摘要】
1.一种动态分配内存的方法,其特征在于,包括:接收服务器的内存分配请求;根据所述内存分配请求,基于由多个经总线接口标准设备驱动的存储颗粒组成的内存池,判断所述内存池是否具有一个或多个空闲的存储颗粒的内存总和满足所请求的内存大小;若是,将所请求的内存分配给所述服务器。2.如权利要求1所述的方法,其特征在于,所述存储颗粒包括DRAM颗粒,所述方法还包括:将DRAM颗粒的DRAM接口转换成PCIE接口。3.如权利要求2所述的方法,其特征在于,所述将DRAM颗粒的DRAM接口转换成PCIE接口,包括:将DRAM接口通过内存缓冲进行容量扩展;将内存控制器的输入连接DRAM颗粒,在内存控制器进行双倍速率DDR内存进程到PCIE进程的转换逻辑,使内存控制器的输出为PCIE接口。4.如权利要求1所述的方法,其特征在于,通过PCIE设备驱动DRAM颗粒包括:使能PCIE设备的SRIOV功能;安装物理功能PF驱动和虚拟功能VF驱动;实现PCIE地址、服务器地址与内存地址的映射,并将地址映射写入所述PF驱动和VF驱动。5.如权利要求4所述的方法,其特征在于,还包括:对内存池进行部署:由一管理单元控制多台服务器共享内存池的内存空间;在所述管理单元中运行所述PF驱动,从而将用户空间与虚拟功能驱动空间ID对应并进行匹配;在各服务器上运行所述虚拟功能驱动,从而使服务器发现自身对应的地址空间并进行操作。6.如权利要求1至5任一项所述的方法,其特征在于,还包括:判断服务器是否使用完成所分配的内存空间,若是,释放所述内存空间。7.如权利要求6所述的方法,其特征在于,若判断不具有所请求的内存空间,所述方法还包括:等待,并判断是否有新释放的内存空间;若释放的内存空间满足所请求的内存要求,则将释放的内存空间分配给所述服务器。8.一种动态分配内存的装置,其特征在于,包括:请求接收单元,用于接收服务器的内存分配请求;判断单元,用于根据所述内存分配请求,...

【专利技术属性】
技术研发人员:牛功彪张夏涛邹魏张文涛蔡进其他发明人请求不公开姓名
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1