一种持久性内存的已用空间度量方法及组件技术

技术编号:28127050 阅读:14 留言:0更新日期:2021-04-19 11:43
本申请公开了一种持久性内存的已用空间度量方法及组件。本申请能够利用预设长度的标尺分片段读取持久性内存中的待度量空间范围内存储的数据,并将读取到的数据与标尺按位进行逻辑运算,从而得到每个片段的数据标记;数据标记为非空标记或空标记;最后根据所有数据标记便可以统计出待度量空间范围内的已用空间。其中,数据标记能够表征每个片段是否存有数据,因此根据所有数据标记便可以统计出待度量空间范围内所存储的数据的已用空间,从而度量出持久性内存的整体使用情况。相应地,本申请提供的一种持久性内存的已用空间度量组件,也同样具有上述技术效果。也同样具有上述技术效果。也同样具有上述技术效果。

【技术实现步骤摘要】
一种持久性内存的已用空间度量方法及组件


[0001]本申请涉及计算机
,特别涉及一种持久性内存的已用空间度量方法及组件。

技术介绍

[0002]持久性内存(Persistent Memory,PMem)是一种非易失性内存,除了字节可寻址、高速读写性能以外,还具有掉电非易失、高存储密度、低静态功耗等DRAM(Dynamic Random Access Memory,动态随机存取存储器)不具备的优点,这些优良特性让PMem有望成为DRAM的替代者。
[0003]持久性内存包括内存方式和应用直接访问方式两种使用方案。其中,应用直接访问方式能够充分发挥持久性内存的优势。应用直接访问方式又分为两种模式:fsdax和devdax。Fsdax模式能够对用户提供标准文件系统的接口。devdax模式可将持久性内存分配给虚拟机,或者为RDMA(Remote Direct Memory Access,远程直接内存访问)注册持久性内存。
[0004]其中,由于devdax模式没有提供文件系统的接口,因此当不同用户使用同一持久性内存时,无法感知持久性内存的整体使用情况。虽然每个用户可以统计自己对于持久性内存的使用情况,但由于不同用户存在业务隔离和独立的使用权限,因此无法感知持久性内存的整体使用情况。
[0005]因此,如何统计持久性内存的整体使用情况,是本领域技术人员需要解决的问题。

技术实现思路

[0006]有鉴于此,本申请的目的在于提供一种持久性内存的已用空间度量方法及组件,以统计持久性内存的整体使用情况。其具体方案如下:
[0007]第一方面,本申请提供了一种持久性内存的已用空间度量方法,包括:
[0008]获取持久性内存中的待度量空间范围;
[0009]按照预设长度的标尺分片段读取所述待度量空间范围内存储的数据,并将读取到的数据与所述标尺按位进行逻辑运算,以得到每个片段的数据标记;所述数据标记为非空标记或空标记;
[0010]根据所有数据标记统计所述待度量空间范围内的已用空间。
[0011]优选地,所述标尺为全0二进制数或全1二进制数。
[0012]优选地,若所述标尺为全0二进制数,则所述将读取到的数据与所述标尺按位进行逻辑运算,以得到每段的数据标记,包括:
[0013]针对每个片段,将读取到的数据与所述标尺按位进行或运算;若任一位的或运算结果为1,则记录所述数据标记为非空标记;若所有或运算结果为0,则记录所述数据标记为空标记。
[0014]优选地,若所述标尺为全1二进制数,则所述将读取到的数据与所述标尺按位进行
逻辑运算,以得到每段的数据标记,包括:
[0015]针对每个片段,将读取到的数据与所述标尺按位进行异或运算;若任一位的异或运算结果为0,则记录所述数据标记为非空标记;若所有异或运算结果为1,则记录所述数据标记为空标记。
[0016]优选地,所述根据所有数据标记统计所述待度量空间范围内的已用空间,包括:
[0017]将所述非空标记的个数与所述预设长度的乘积,确定为所述已用空间。
[0018]优选地,还包括:
[0019]将所述空标记的个数与所述预设长度的乘积,确定为所述待度量空间范围内的未用空间;
[0020]根据所述未用空间分析所述待度量空间范围内的碎片分布情况。
[0021]优选地,所述根据所有数据标记统计所述待度量空间范围内的已用空间之前,还包括:
[0022]利用位图有序记录所有数据标记。
[0023]第二方面,本申请提供了一种持久性内存的已用空间度量装置,包括:
[0024]获取模块,用于获取持久性内存中的待度量空间范围;
[0025]运算模块,用于按照预设长度的标尺分片段读取所述待度量空间范围内存储的数据,并将读取到的数据与所述标尺按位进行逻辑运算,以得到每个片段的数据标记;所述数据标记为非空标记或空标记;
[0026]度量模块,用于根据所有数据标记统计所述待度量空间范围内的已用空间。
[0027]第三方面,本申请提供了一种持久性内存的已用空间度量设备,包括:
[0028]存储器,用于存储计算机程序;
[0029]处理器,用于执行所述计算机程序,以实现前述公开的持久性内存的已用空间度量方法。
[0030]第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的持久性内存的已用空间度量方法。
[0031]通过以上方案可知,本申请提供了一种持久性内存的已用空间度量方法,包括:获取持久性内存中的待度量空间范围;按照预设长度的标尺分片段读取所述待度量空间范围内存储的数据,并将读取到的数据与所述标尺按位进行逻辑运算,记录每个片段的数据标记;所述数据标记为非空标记或空标记;根据所有数据标记统计所述待度量空间范围内的已用空间。
[0032]可见,本申请能够利用预设长度的标尺分片段读取持久性内存中的待度量空间范围内存储的数据,并将读取到的数据与标尺按位进行逻辑运算,从而得到每个片段的数据标记;数据标记为非空标记或空标记;最后根据所有数据标记便可以统计出待度量空间范围内的已用空间。其中,数据标记能够表征每个片段是否存有数据,因此根据所有数据标记便可以统计出待度量空间范围内所存储的数据的已用空间,从而度量出持久性内存的整体使用情况。
[0033]相应地,本申请提供的一种持久性内存的已用空间度量组件(即装置、设备及可读存储介质),也同样具有上述技术效果。
附图说明
[0034]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0035]图1为本申请公开的一种持久性内存的已用空间度量方法流程图;
[0036]图2为本申请公开的另一种持久性内存的已用空间度量方法流程图;
[0037]图3为本申请公开的一种已用空间和未用空间的分布示意图;
[0038]图4为本申请公开的一种持久性内存的已用空间度量装置示意图;
[0039]图5为本申请公开的一种持久性内存的已用空间度量设备示意图。
具体实施方式
[0040]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041]目前,当不同用户基于devdax模式使用同一持久性内存时,无法感知持久性内存的整体使用情况。虽然每个用户可以统计自己对于持久性内存的使用情况,但由于不同用户存在业务隔离和独立的使用权限,因此无法感知持久性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种持久性内存的已用空间度量方法,其特征在于,包括:获取持久性内存中的待度量空间范围;按照预设长度的标尺分片段读取所述待度量空间范围内存储的数据,并将读取到的数据与所述标尺按位进行逻辑运算,以得到每个片段的数据标记;所述数据标记为非空标记或空标记;根据所有数据标记统计所述待度量空间范围内的已用空间。2.根据权利要求1所述的持久性内存的已用空间度量方法,其特征在于,所述标尺为全0二进制数或全1二进制数。3.根据权利要求2所述的持久性内存的已用空间度量方法,其特征在于,若所述标尺为全0二进制数,则所述将读取到的数据与所述标尺按位进行逻辑运算,以得到每段的数据标记,包括:针对每个片段,将读取到的数据与所述标尺按位进行或运算;若任一位的或运算结果为1,则记录所述数据标记为非空标记;若所有或运算结果为0,则记录所述数据标记为空标记。4.根据权利要求2所述的持久性内存的已用空间度量方法,其特征在于,若所述标尺为全1二进制数,则所述将读取到的数据与所述标尺按位进行逻辑运算,以得到每段的数据标记,包括:针对每个片段,将读取到的数据与所述标尺按位进行异或运算;若任一位的异或运算结果为0,则记录所述数据标记为非空标记;若所有异或运算结果为1,则记录所述数据标记为空标记。5.根据权利要求3或4所述的持久性内存的已用空间度量方法,其特征在于,所述根据所有数据标记统计所述待度...

【专利技术属性】
技术研发人员:秦朝阳
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:

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

1