aep内存用法_一种基于AEP内存的数据空间读写方法及系统与流程

65806a9df920dcd07b3e574cf48e4578.gif

本发明涉及服务器存储技术领域,具体涉及一种基于AEP内存的数据空间读写方法及系统。

背景技术:

AEP内存简称Apache Pass DIMMs,为高性能和灵活性而设计的革命性的SCM,称Optane NVMe SSD为Clodstream,为世界上最快、可用性和可服务性最好的SSD;Apache Pass DIMM比DRAM高出8-10倍,其成本优势明显;与DRAM相比,其具有非易失性的另一大优势。与Flash Flash相比,由于写入方式不同,Apache Pass DIMM也比Flash NAND更耐用,从应用场景分析,Clodstream SSD主要用在NAND Flash SSD之上,对系统日志、Memory Page和系统元数据进行加速;然而Apache Pass DIMM主要定位是用于替代DRAM,支撑持久Memory或In-Memory应用。

目前一般通过手动的方式挨个查看服务器中AEP内存的DimmID,然而获取DimmID的方法仅有两种,一种是ixpdimm-cli读取;第二种是ipmctl读取;但是Intel已经发表声明使用ipmctl 工具取代ixpdimm-cli工具,也就是不在认可和维护,可以目前ipmctl工具不支持AEP内存的namespace(数据空间)的创建。由于每台服务器中将会有24条以上的大容量内存,如512GB、256GB,甚至更大容量的内存,使得我们在手动创建AEP 内存空间数据时,需要多条命令操作,耗时耗力,容易错误,容量越大操作时间将会越长。

技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种基于AEP内存的数据空间读写方法及系统,以解决上述技术问题。

本发明的技术方案是:

一种基于AEP内存的数据空间读写方法 ,包括如下步骤:

自动检索AEP内存的DimmID值,生成DimmID的列表库;

依次扫描服务器中AEP内存的DimmID值创建数据空间,写入判定;

将写入成功的数据空间进行显示。

进一步的,步骤自动检索AEP内存的DimmID值,生成DimmID的列表库之前还包括:

检索AEP内存的数据空间,如果存在退出,否则准备写入。

进一步的,步骤自动检索AEP内存的DimmID值,生成DimmID的列表库包括:

Ndctl list –R模块输出json格式空间表;

ipmctl 工具读取所有的AEP内存;

检索第一列的DimmID值,生成DimmID的列表库dimmIDList。

进一步的,步骤检索第一列的DimmID值,生成DimmID的列表库dimmIDList包括:

通过关键值Healthy检索第一列的DimmID值,生成DimmID的列表库dimmIDList。

进一步的,步骤依次扫描服务器中AEP内存的DimmID值创建数据空间包括:

依据DimmID列表库,按照顺序读取AEP内存的DimmID值,逐步写入数据空间。

进一步的,步骤将写入成功的数据空间进行显示包括:

写入成功则数据空间创建成功,将显示命名空间的ID,否则返回异常显示。

本发明技术方案还提供一种基于AEP内存的数据空间读写系统 ,包括列表生成模块、数据空间创建模块和命名显示模块;

列表生成模块,用于自动检索AEP内存的DimmID值,生成DimmID的列表库;

数据空间创建模块,用于依次扫描服务器中AEP内存的DimmID值创建数据空间,写入判定;

命名显示模块,用于将写入成功的数据空间命名并进行显示。

进一步的,该系统还包括检索模块和处理模块;

检索模块,用于检索AEP内存的数据空间;

处理模块,用于处理检索模块的输出信息,若检索模块输出数据空间存在返回值,处理模块,用于控制退出系统,否则处理模块控制准备写入。

进一步的,列表生成模块包括Ndctl list –R单元、ipmctl 工具单元和列表检索单元;

Ndctl list –R单元,用于输出json格式空间表;

ipmctl 工具单元,用于读取所有的AEP内存;

列表检索单元,用于检索第一列的DimmID值,生成DimmID的列表库dimmIDList。

进一步的,数据空间创建模块包括读取单元和写入单元:

读取单元,用于依据DimmID列表库,按照顺序读取AEP内存的DimmID值;

写入单元,用于逐步写入数据空间。

从以上技术方案可以看出,本发明具有以下优点:本发明为一种基于AEP内存的数据空间读写方法可以在服务器上检测是否存在数据空间,依次扫描机器中AEP内存的DimmID值如(0x0001),在根据DimmID依次顺序创建数据空间,也就写入内存数据空间,当内存数据空间创建成功后,会返回提醒。对服务器中AEP内存的数据空间进行自动化创建,实现无人值守的操作,节省人力成本。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。

附图说明

图1为一种基于AEP内存的数据空间读写方法流程图。

具体实施方式

下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。

实施例一

如图1所示,一种基于AEP内存的数据空间读写方法 ,包括如下步骤:

S1:检索AEP内存的数据空间,如果存在退出,否则准备写入;

S2:自动检索AEP内存的DimmID值,生成DimmID的列表库,其中,

Ndctl list –R模块输出json格式空间表;

ipmctl 工具读取所有的AEP内存;

通过关键值Healthy检索第一列的DimmID值,生成DimmID的列表库dimmIDList;

S3:依次扫描服务器中AEP内存的DimmID值创建数据空间;

S4:写入判定,若写入成功,命名数据空间信息,否则返回异常信息;

S5:重复步骤S2-S4,直到所有AEP类型内存测试结束,退出。

本实施例中,ndctl列出可能存在的数据空间,如下:

Ndctl list –R输出json格式空间表

[

{

"dev":"region1",

"size":268435456000,

"available_size":268435456000,

"type":"pmem",

"iset_id":5796113720718926916,

"persistence_domain":"memory_controller"

},

{

"dev":"region0",

"size":268435456000,

"available_size":268435456000,

"type":"pmem",

"iset_id":7511422227652879428,

"persistence_domain":"memory_controller"

}

]

由于上述得出的额是不存在数据空间的信息格式,进行如下步骤进行转换:

dimmIDList=$(ipmctl show -dimm |grep 'Healthy'|awk '{print $1}'),使用工具ipmctl 读取所有的AEP内存,在通过关键值'Healthy'检索第一列的DimmID值,生成DimmID的列表库dimmIDList。

依据DimmID列表库,按照顺序读取AEP内存的DimmID值,逐步写入数据空间,

function namespace(){

ndn=$(ndctl list -R |grep 'region'|wc -l)

#ndn 代表DimmID列表库

for((n=0;n<=$ndn-1;n++)) #按顺序读取

do

#n 代表 DimmID值

ndctl create-namespace -r $n -m fsdax –f #逐步写入数据空间

done

}

这行ndctl create-namespace -r $n -m fsdax –f ,如果创建成功,将显示命名空间的ID,否则返回异常显示。

通过以上解决方案的整合,从而AEP内存的自动化数据空间读写方法。

#!/bin/bash

#****************************************************************#

# ScriptName: namespacev1.0.sh

dimmIDList=$(ipmctl show -dimm |grep 'Healthy'|awk '{print $1}')

function namespace(){

ndn=$(ndctl list -R |grep 'region'|wc -l)

for((n=0;n<=$ndn-1;n++))

do

ndctl create-namespace -r $n -m fsdax -f

done

}

namespace。

实施例二

本发明技术方案还提供一种基于AEP内存的数据空间读写系统 ,包括列表生成模块、数据空间创建模块和命名显示模块;

列表生成模块,用于自动检索AEP内存的DimmID值,生成DimmID的列表库;

数据空间创建模块,用于依次扫描服务器中AEP内存的DimmID值创建数据空间,写入判定;

命名显示模块,用于将写入成功的数据空间命名并进行显示。

该系统还包括检索模块和处理模块;

检索模块,用于检索AEP内存的数据空间;

处理模块,用于处理检索模块的输出信息,若检索模块输出数据空间存在返回值,处理模块,用于控制退出系统,否则处理模块控制准备写入。

获取模块包括Ndctl list –R单元、ipmctl 工具单元和列表检索单元;

Ndctl list –R单元,用于输出json格式空间表;

ipmctl 工具单元,用于读取所有的AEP内存;

列表检索单元,用于检索第一列的DimmID值,生成DimmID的列表库dimmIDList。

数据空间创建模块包括读取单元和写入单元:

读取单元,用于依据DimmID列表库,按照顺序读取AEP内存的DimmID值;

写入单元,用于逐步写入数据空间。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值