一种存储系统容量统计方法、装置、存储介质及设备转让专利
申请号 : CN202111059752.1
文献号 : CN113505086B
文献日 : 2021-12-07
发明人 : 刚亚州
申请人 : 苏州浪潮智能科技有限公司
摘要 :
权利要求 :
1.一种存储系统容量统计方法,其特征在于,包括以下步骤:响应于存储系统的存储卷接收到写请求,将所述写请求对应的数据写入所述存储系统的存储池以得到所述数据对应的所述存储池的物理区块地址PBA,并将所述PBA以及与所述数据对应的所述存储卷的逻辑区块地址LBA分别组成由所述LBA指向所述PBA的第一键值对和由所述PBA指向所述LBA的第二键值对,且将所述第一键值对和第二键值对发送至元数据管理模块;
响应于所述元数据管理模块接收到所述第一键值对和第二键值对,向第一B+树发送插入所述第一键值对的第一插入请求,且向第二B+树发送插入所述第二键值对的第二插入请求;
响应于所述第一B+树接收到所述第一插入请求,基于所述第一插入请求判断所述第一B+树中是否存在所述第一键值对的LBA;
响应于所述第一B+树中不存在所述第一键值对的LBA,将所述第一键值对插入所述第一B+树,并将第一关键数加一以统计所述存储卷的容量增加一个粒度;
响应于所述第二B+树接收到所述第二插入请求,基于所述第二插入请求判断所述第二B+树中是否存在所述第二键值对的PBA;
响应于所述第二B+树中不存在所述第二键值对的PBA,将所述第二键值对插入所述第二B+树,并将第二关键数加一以统计所述存储池的容量增加一个所述粒度。
2.根据权利要求1所述的方法,其特征在于,还包括:响应于所述第二B+树中已存在所述第二键值对的PBA,直接将所述第二键值对插入所述第二B+树。
3.根据权利要求1所述的方法,其特征在于,还包括:响应于所述第一B+树接收到所述元数据管理模块发送的删除第一键值对的第一删除请求,基于所述第一删除请求将待删除的所述第一键值对从所述第一B+树中删除,并将所述第一关键数减一以统计所述存储卷的容量减少一个所述粒度。
4.根据权利要求1所述的方法,其特征在于,还包括:响应于所述第二B+树接收到所述元数据管理模块发送的删除第二键值对的第二删除请求,基于所述第二删除请求将待删除的所述第二键值对删除,并确认待删除的所述第二键值对的PBA对应的其他第二键值对是否已全部删除;
响应于所述PBA对应的其他第二键值对已全部删除,将所述第二关键数减一以统计所述存储池的容量减少一个所述粒度。
5.根据权利要求4所述的方法,其特征在于,还包括:响应于将所述第二关键数减一以统计所述存储池的容量减少一个所述粒度,通过所述元数据管理模块通知垃圾回收模块对所述PBA进行垃圾回收。
6.根据权利要求1所述的方法,其特征在于,将所述写请求对应的数据写入所述存储系统的存储池以得到所述数据对应的所述存储池的PBA包括:通过所述存储卷将所述写请求对应的数据写入所述存储系统的存储池,并响应于写入完成,通过所述存储池将与所述数据对应的PBA发送至所述存储卷。
7.根据权利要求1所述的方法,其特征在于,所述存储系统包括全闪存存储系统,所述存储卷包括精简卷,所述存储池包括精简池。
8.一种存储系统容量统计装置,其特征在于,包括:键值对组成模块,配置用于响应于存储系统的存储卷接收到写请求,将所述写请求对应的数据写入所述存储系统的存储池以得到所述数据对应的所述存储池的物理区块地址PBA,并将所述PBA以及与所述数据对应的所述存储卷的逻辑区块地址LBA分别组成由所述LBA指向所述PBA的第一键值对和由所述PBA指向所述LBA的第二键值对,且将所述第一键值对和第二键值对发送至元数据管理模块;
键值对插入模块,配置用于响应于所述元数据管理模块接收到所述第一键值对和第二键值对,向第一B+树发送插入所述第一键值对的第一插入请求,且向第二B+树发送插入所述第二键值对的第二插入请求;
第一判断模块,配置用于响应于所述第一B+树接收到所述第一插入请求,基于所述第一插入请求判断所述第一B+树中是否存在所述第一键值对的LBA;
第一统计模块,配置用于响应于所述第一B+树中不存在所述第一键值对的LBA,将所述第一键值对插入所述第一B+树,并将第一关键数加一以统计所述存储卷的容量增加一个粒度;
第二判断模块,配置用于响应于所述第二B+树接收到所述第二插入请求,基于所述第二插入请求判断所述第二B+树中是否存在所述第二键值对的PBA;以及第二统计模块,配置用于响应于所述第二B+树中不存在所述第二键值对的PBA,将所述第二键值对插入所述第二B+树,并将第二关键数加一以统计所述存储池的容量增加一个所述粒度。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1‑7任意一项所述的方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1‑7任意一项所述的方法。
说明书 :
一种存储系统容量统计方法、装置、存储介质及设备
技术领域
背景技术
供了数据的上下文信息,比如数据所属域、数据来源等等。在数据存储系统中,元数据是信
息存储的基础,是数据的最小单元。近年来,随着信息技术的发展,产生了海量的数据,但是
如何有效地管理和组织这些海量数据已经成为一个突出的问题。对于存储的大量数据,查
询分析其中的数据内容和数据含义,才能更加有效的利用数据。在存储系统中,元数据的高
效组织和管理是解决这一问题的有效手段,能支持系统对数据的管理和维护。因此,只有有
效地管理元数据,数据才变得更有价值。
在全闪存存储中,元数据管理至关重要,元数据管理主要管理L‑P(LBA→PBA)映射以及P‑L
(PBA→LBA)映射关系,其中,LBA(Logical Block Address)表示逻辑区块地址,PBA
(Physical Block Address)表示物理区块地址。
计卷和池容量,这样的统计方式存在的问题是统计的不够精确,在全闪存存储系统中不能
满足要求。
发明内容
问题。
成由LBA指向PBA的第一键值对和由PBA指向LBA的第二键值对,且将第一键值对和第二键值
对发送至元数据管理模块;
存储卷的容量减少一个粒度。
其他第二键值对是否已全部删除;
的存储卷的LBA分别组成由LBA指向PBA的第一键值对和由PBA指向LBA的第二键值对,且将
第一键值对和第二键值对发送至元数据管理模块;
的第二插入请求;
树对LBA的增加的操作记录以及第二B+树对PBA的增加的操作记录,就能分别统计出存储卷
当前的使用容量以及存储池的物理使用容量,高效且准确,并且还可以提高访问的并发程
度,获得高效的元数据访问。
附图说明
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的实施例。
具体实施方式
应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在
于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有
的其他步骤或单元。
示,本发明实施例包括如下步骤:
LBA分别组成由LBA指向PBA的第一键值对和由PBA指向LBA的第二键值对,且将第一键值对
和第二键值对发送至元数据管理模块;
缓存中查找到对应的元数据,则直接做元数据校验后返回给查询请求,否则去SSD盘(固态
硬盘)上访问元数据,然后返给查询请求,最后查询请求去访问PBA对应的数据;可见元数据
的访问效率对于数据读写是非常重要的,元数据的组织结构方法对于元数据的访问效率至
关重要。为了支持全闪存存储系统内部元数据对象的有效查找,需要有一种先进的索引结
构支持,以获得较好的查找性能。
和75%的空间使用率(非叶子节点作为索引节点,不作为保存数据的节点)。O(logn)表示当
数据增大n倍时,耗时增大logn 倍,这里的log是以2为底的,例如,当数据增大256倍时,耗
时只增大8倍。B+树查找是通过根节点然后逐级往下遍历直到叶子节点,因此非叶子节点是
查询过程中重要的节点,是最常访问的节点,而且层次越低的节点访问频率越高,尽量将层
次越低的非叶子节点保留在内存中。由于涉及到大量且高并发、短时延的数据访问,全闪存
存储元数据通常使用B+树的数据结构来组织,元数据是实时更新的,而且表示的粒度更精
确,使得存储系统更加高效。因此,综合来看B+树有更好的搜索效率,更适合组织LBA、PBA等
元数据对象。
地址,PBA(Physical Block Address)表示物理区块地址。具体地,第一键值对表示存储卷
的逻辑区块地址LBA到存储池的物理区块地址PBA的映射;第二键值对表示存储池的物理区
块地址PBA到存储卷的逻辑区块地址LBA的映射;第一B+树包括若干第一键值对,给用户主
机读写使用;第二B+树包括若干第二键值对,供垃圾回收查询物理区块地址PBA是否还在使
用。
一B+树对LBA的增加的操作记录以及第二B+树对PBA的增加的操作记录,就能分别统计出存
储卷当前的使用容量以及存储池的物理使用容量,高效且准确,并且还可以提高访问的并
发程度,获得高效的元数据访问。
同的情况,假设有两个相同的数据从存储卷写入存储池,这两个数据对应的LBA不同,但由
于映射到存储池上是属于一样的数据,因而这两个数据对应的PBA相同。因此,可能存在第
二B+树接收到第二键值对的第二插入请求后,发现其中已存在该第二键值对的PBA。
除,并将第一关键数减一以统计存储卷的容量减少一个粒度。
删除的第二键值对的PBA对应的其他第二键值对是否已全部删除;响应于PBA对应的其他第
二键值对已全部删除,将第二关键数减一以统计存储池的容量减少一个粒度。
的容量统计更全面。
用容量,同时垃圾回收模块还可以准确地对PBA做垃圾回收,便于提高垃圾回收的效率。
完成,通过存储池将与数据对应的PBA发送至存储卷。
计装置包括:键值对组成模块10,配置用于响应于存储系统的存储卷接收到写请求,将写请
求对应的数据写入存储系统的存储池以得到数据对应的存储池的PBA,并将PBA以及与数据
对应的存储卷的LBA分别组成由LBA指向PBA的第一键值对和由PBA指向LBA的第二键值对,
且将第一键值对和第二键值对发送至元数据管理模块;键值对插入模块20,配置用于响应
于元数据管理模块接收到第一键值对和第二键值对,向第一B+树发送插入第一键值对的第
一插入请求,且向第二B+树发送插入第二键值对的第二插入请求;第一判断模块30,配置用
于响应于第一B+树接收到第一插入请求,基于第一插入请求判断第一B+树中是否存在第一
键值对的LBA;第一统计模块40,配置用于响应于第一B+树中不存在第一键值对的LBA,将第
一键值对插入第一B+树,并将第一关键数加一以统计存储卷的容量增加一个粒度;第二判
断模块50,配置用于响应于第二B+树接收到第二插入请求,基于第二插入请求判断第二B+
树中是否存在第二键值对的PBA;以及第二统计模块60,配置用于响应于第二B+树中不存在
第二键值对的PBA,将第二键值对插入第二B+树,并将第二关键数加一以统计存储池的容量
增加一个粒度。
第一键值对从第一B+树中删除,并将第一关键数减一以统计存储卷的容量减少一个粒度。
第二键值对删除,并确认待删除的第二键值对的PBA对应的其他第二键值对是否已全部删
除;响应于PBA对应的其他第二键值对已全部删除,将第二关键数减一以统计存储池的容量
减少一个粒度。
圾回收。
PBA发送至存储卷。
所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行
时实现上述任意一项实施例的方法。
存储介质。
施例的方法。
器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器
402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接
为例。输入装置403可接收输入的数字或字符信息,以及产生与存储系统容量统计系统的用
户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存
储操作系统、至少一个功能所需要的应用程序;存储数据区可存储存储系统容量统计方法
的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易
失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一
些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可
以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、
移动通信网及其组合。
方法。
非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM
(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存
储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM 可以以多种
形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR
SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公
开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进
行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加
给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功
能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施
例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅
仅为了描述,不代表实施例的优劣。
路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发
明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明
实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实
施例的保护范围之内。