一种增加存储设备内存容量的方法及系统技术方案

技术编号:19903310 阅读:30 留言:0更新日期:2018-12-26 02:52
本发明专利技术提供一种增加存储设备内存容量的方法及系统,方法包括如下步骤:步骤S1.按照内存需求创建新的内核态内存管理模型;步骤S2.将新创建的内核态内存管理模型映射到用户模块,形成用户态内存管理模型;步骤S3.将新创建的内核态内存管理模型映射到掉电管理模块。系统包括:内存管理模块创建单元,用于按照内存需求创建新的内核态内存管理模型;用户模块映射单元,用于将新创建的内存管理模型映射到用户模块,形成用户态内存管理模型;掉电管理模块映射单元,用于将新创建的内存管理模型映射到掉电管理模块。本发明专利技术实现存储设备内存容量的增加,使得PLMM内存管理模块能够管理更多的内存,使其他业务模块有更多的内存资源可用。

【技术实现步骤摘要】
一种增加存储设备内存容量的方法及系统
本专利技术属于内存容量管理领域,具体涉及一种增加存储设备内存容量的方法及系统。
技术介绍
PLMM,是PlatformMemoryManage的简称,平台内存管理。在存储系统中,系统的内存除了为linux内核、内核模块以及用户态进程预留部分内存外(约为4G),其余内存都通过PLMM模块进行管理。软件栈上的业务模块通过PLMM(PlatformMemoryManage)模块提供的接口进行内存资源的申请。PLMM模块把它所管理的内存,以页为单位(4K)建立了一个内存管理模型实例。由于PLMM是在32位系统为主流的年代开发,受当时的系统架构限制,一个管理模型实例只能管理2^24个内存页,每页大小为4KB,所以一个管理实例能够管理的内存大小为2^24*4KB=64GB。在存储系统原来的内存管理模型中,只能管理2^24个内存页,当前很多项目的内存的需求已经达到TB级,如要能够管理1.5TB内存,原来的内存管理模型是不能满足需求的。此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种增加存储设备内存容量的方法及系统,是非常有必要的。
技术实现思路
本专利技术的目的在于,针对上述当前很多项目的内存需求大,原来的内存管理模型无法满足需求的缺陷,提供一种增加存储设备内存容量的方法及系统,以解决上述技术问题。为实现上述目的,本专利技术给出以下技术方案:一种增加存储设备内存容量的方法,包括如下步骤:步骤S1.根据内存需求创建新的内核态内存管理模型;步骤S2.将新创建的内核态内存管理模型映射到用户模块,形成用户态内存管理模型;步骤S3.将新创建的内核态内存管理模型映射到掉电管理模块。进一步地,步骤S1具体步骤如下:步骤S11.初始化PLMM内核模块;步骤S12.根据内存需求创建新的内存管理模型;步骤S13.根据新的内存管理模型计算各功能段所需的内存页规划;步骤S14.根据实际的内存页数量计算各功能段所需占用的内存量;步骤S15.为各功能段申请内存;步骤S16.创建字符设备,提供内核态与用户态交互,内核态内存管理模型创建成功。PLMM内核模块进行管理模型的创建以及内存页的申请。进一步地,步骤S2具体步骤如下:步骤S21.初始化用户管理的PLMain进程;步骤S22.初始化PLMM用户态模块;步骤S23.获取各功能段地址空间大小;步骤S24.将各功能段的地址空间映射到PLMain进程用户地址空间;步骤S25.创建内存管理资源池,形成用户态内存管理模型。内存模型创建之后,把模型的各功能段映射到PLMain进程的用户地址空间,由PLMM用户模块进行内存资源的管理,为业务模块提供接口进行内存资源的申请、释放以及访问。进一步地,步骤S3的具体步骤如下:步骤S31.初始化掉电管理的ECMain进程;步骤S32.获取各功能段地址空间大小;步骤S33.将各功能段的地址空间映射到PLMain进程用户地址空间;步骤S34.掉电时,ECMain进程通过PLMM用户态模块线性访问内存数据。当存储系统数据异常掉电时,需要把内存中的脏数据一致元数据保存到非易失设备上,上电时,把数据恢复,保证数据的一致性。在存储架构中,进行感知掉电事件以及进行掉电处理的是ECMain进程,因此ECMain进程工作在用户态,为了ECMain进程能够访问内存管理模型中的内存页的数据,因此也需要把内核建立的内存管理模型,按照功能段映射到ECMain进程的地址空间中。进一步地,各功能段包括内存管理模型中的页面描述段PD、自由页栈段FPS、锚段Anchor、输入输出缓冲段IOB以及通用页段GeneralPage。进一步地,步骤S13的具体步骤如下:步骤S131.按照内存管理模型管理16TB内存的规格进行规划;步骤S132.将页面描述段PD保存的页表格实体结构PTE的位宽由32bit扩展为64bit。由于管理模型中的内存页用途都是规划好的,为了后续再进行内存扩展时不带来兼容性问题,所以本次扩展按照只修改页表格实体结构PTE的位宽,不修改其他数据结构位宽的原则进行最大规划,由于自由页栈段FP中页号以及输入输出缓冲端IOB的索引都是用32bit表示,最多能表示16TB内存的索引,所以本次的管理模型按照管理16TB的规格进行规划,由于当前PLMM内存管理模块的管理模型有2个管理实例,所以每个管理实例按照8TB进行规划。本专利技术还给出如下技术方案:一种增加存储设备内存容量的系统,包括内存管理模块创建单元,用于根据内存需求创建新的内核态内存管理模型;用户模块映射单元,用于将新创建的内存管理模型映射到用户模块,形成用户态内存管理模型;掉电管理模块映射单元,用于将新创建的内存管理模型映射到掉电管理模块。进一步地,内存管理模块创建单元包括:内核模块初始化子单元,用于初始化PLMM内核模块;新内存管理模型创建子单元,用于根据内存需求创建新的内存管理模型;各功能段内存页规划计算子单元,用于根据新的内存管理模型计算各功能段所需的内存页规划;各功能段内存量计算子单元,用于根据实际的内存页数量计算各功能段所需占用的内存量;各功能段内存申请子单元,用于为各功能段申请内存;内核态与用户交互子单元,用于创建字符设备,提供内核态与用户态交互,内核态内存管理模型创建成功。PLMM内核模块进行管理模型的创建以及内存页的申请。进一步地,用户模块映射单元包括:用户管理进程初始化子单元,用于初始化用户管理的PLMain进程;用户态模块初始化子单元,用于初始化PLMM用户态模块;功能段地址空间大小获取第一子单元,用于获取各功能段地址空间大小;功能段地址空间到用户地址空间映射第一子单元,用于将各功能段的地址空间映射到PLMain进程用户地址空间;内存管理资源池创建子单元,用于创建内存管理资源池,形成用户态内存管理模型。内存模型创建之后,把模型的各功能段映射到PLMain进程的用户地址空间,由PLMM用户模块进行内存资源的管理,为业务模块提供接口进行内存资源的申请、释放以及访问。进一步地,掉电管理模块映射单元包括:掉电管理进程初始化子单元,用于初始化掉电管理的ECMain进程;功能段地址空间大小获取第二子单元,用于获取各功能段地址空间大小;功能段地址空间到用户地址空间映射第二子单元,用于将各功能段的地址空间映射到PLMain进程用户地址空间;掉电管理进程内存数据访问子单元,用于掉电时,ECMain进程通过PLMM用户态模块线性访问内存数据。在存储架构中,进行感知掉电事件以及进行掉电处理的是ECMain进程,因此ECMain进程工作在用户态,为了ECMain进程能够访问内存管理模型中的内存页的数据,因此也需要把内核建立的内存管理模型,按照功能段映射到ECMain进程的地址空间中。本专利技术的有益效果在于:本专利技术实现存储设备内存容量的增加,使得PLMM内存管理模块能够管理更多的内存,使其他业务模块有更多的内存资源可用,增大单控制器缓存规格。此外,本专利技术设计原理可靠,结构简单,具有非常广泛的应用前景。由此可见,本专利技术与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。附图说明图1为本专利技术的方法流程图;图2为本专利技术的内存管理模块创建流程图;图3为本专利技术的内存管理模型到用户模本文档来自技高网...

【技术保护点】
1.一种增加存储设备内存容量的方法,其特征在于,包括如下步骤:步骤S1.根据内存需求创建新的内核态内存管理模型;步骤S2.将新创建的内核态内存管理模型映射到用户模块,形成用户态内存管理模型;步骤S3.将新创建的内核态内存管理模型映射到掉电管理模块。

【技术特征摘要】
1.一种增加存储设备内存容量的方法,其特征在于,包括如下步骤:步骤S1.根据内存需求创建新的内核态内存管理模型;步骤S2.将新创建的内核态内存管理模型映射到用户模块,形成用户态内存管理模型;步骤S3.将新创建的内核态内存管理模型映射到掉电管理模块。2.如权利要求1所述的一种增加存储设备内存容量的方法,其特征在于,步骤S1具体步骤如下:步骤S11.初始化PLMM内核模块;步骤S12.根据内存需求创建新的内存管理模型;步骤S13.根据新的内存管理模型计算各功能段所需的内存页规划;步骤S14.根据实际的内存页数量计算各功能段所需占用的内存量;步骤S15.为各功能段申请内存;步骤S16.创建字符设备,提供内核态与用户态交互,内核态内存管理模型创建成功。3.如权利要求1所述的一种增加存储设备内存容量的方法,其特征在于,步骤S2具体步骤如下:步骤S21.初始化用户管理的PLMain进程;步骤S22.初始化PLMM用户态模块;步骤S23.获取各功能段地址空间大小;步骤S24.将各功能段的地址空间映射到PLMain进程用户地址空间;步骤S25.创建内存管理资源池,形成用户态内存管理模型。4.如权利要求3所述的一种增加存储设备内存容量的方法,其特征在于,步骤S3的具体步骤如下:步骤S31.初始化掉电管理的ECMain进程;步骤S32.获取各功能段地址空间大小;步骤S33.将各功能段的地址空间映射到PLMain进程用户地址空间;步骤S34.掉电时,ECMain进程通过PLMM用户态模块线性访问内存数据。5.如权利要求2或3或4所述的一种增加存储设备内存容量的方法,其特征在于,各功能段包括内存管理模型中的页面描述段PD、自由页栈段FPS、锚段Anchor、输入输出缓冲段IOB以及通用页段GeneralPage。6.如权利要求5所述的一种增加存储设备内存容量的方法,其特征在于,步骤S13的具体步骤如下:步骤S131.按照内存管理模型管理16TB内存的规格进行规划;步骤S132.将页面描述段PD保存的页表格实体结构PTE的位宽由32bit扩展为64bit。7.一种增加存储设备内存容量的系统,其特...

【专利技术属性】
技术研发人员:李玲侠刘颖李婷婷李佳颖
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1