用于存储管理的方法、设备和计算机程序产品技术

技术编号:28372405 阅读:14 留言:0更新日期:2021-05-07 23:59
根据本公开的示例实施例,提供了一种用于存储管理的方法、设备和计算机程序产品。一种用于存储管理的方法包括确定存储系统的元数据存储区域中存储的多个元数据块的相应有效元数据率,每个元数据块的有效元数据率指示元数据块中的有效元数据占元数据块中的全部元数据的比率;从多个元数据块中选择有效元数据率低于第一有效元数据率阈值的预定数目的元数据块;将预定数目的元数据块中的有效元数据存储到元数据存储区域中的多个元数据块之后的至少一个元数据块中;以及使预定数目的元数据块中的有效元数据成为无效元数据。由此,本方案可以提高存储系统的效率。

【技术实现步骤摘要】
用于存储管理的方法、设备和计算机程序产品
本公开的实施例总体涉及存储领域,具体涉及用于存储管理的方法、设备和计算机程序产品。
技术介绍
当前,存储系统被设计为具有简单性、高性能和经济性。这样的存储系统能够支持下一代存储介质,并且具有能够纵向扩展和横向扩展的架构、灵活的消费模型和高度的简单性。然而,随着信息技术的快速发展,对存储系统的要求日益提高。因此,需要能够进一步提高存储系统的性能的方案。
技术实现思路
本公开的实施例提供了用于存储管理的改进方案。在本公开的第一方面,提供了一种用于存储管理的方法。该方法包括:确定存储系统的元数据存储区域中存储的多个元数据块的相应有效元数据率,每个元数据块的有效元数据率指示元数据块中的有效元数据占元数据块中的全部元数据的比率;从多个元数据块中选择有效元数据率低于第一有效元数据率阈值的预定数目的元数据块;将预定数目的元数据块中的有效元数据存储到元数据存储区域中的多个元数据块之后的至少一个元数据块中;以及使预定数目的元数据块中的有效元数据成为无效元数据。在本公开的第二方面,提供了一种用于存储管理的设备。该设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得设备执行动作,该动作包括:确定存储系统的元数据存储区域中存储的多个元数据块的相应有效元数据率,每个元数据块的有效元数据率指示元数据块中的有效元数据占元数据块中的全部元数据的比率;从多个元数据块中选择有效元数据率低于第一有效元数据率阈值的预定数目的元数据块;将预定数目的元数据块中的有效元数据存储到元数据存储区域中的多个元数据块之后的至少一个元数据块中;以及使预定数目的元数据块中的有效元数据成为无效元数据。在本公开的第三方面,提供了一种计算机程序产品。计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器实现根据本公开的第一方面所描述的方法的任意步骤。提供
技术实现思路
部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1示出了本公开的一些实施例能够在其中实现的存储环境的示例的示意图;图2示出了根据本公开的一些实施例的存储系统的示例的示意图;图3示出了根据本公开的一些实施例的用于存储管理的方法的流程图;图4示出了根据本公开的一些实施例的初始阶段的元数据存储区域中的元数据块的示例的示意图;图5示出了根据本公开的一些实施例的附加新的元数据块之后的元数据存储区域中的元数据块的示例的示意图;图6示出了根据本公开的一些实施例的用于确定有效元数据率的方法的流程图;图7示出了根据本公开的一些实施例的用于存储有效元数据的方法的流程图;图8示出了根据本公开的一些实施例的合并存储有效元数据的示例的示意图;图9示出了根据本公开的一些实施例的复制有效元数据的示例的示意图;以及图10示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。在各个附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。存储系统包括提供冗余存储的多个存储条带。针对多个存储条带的元数据被存储在与存储系统相关联的存储器中作为多个条目。例如,元数据可以包括存储条带的上线状况,存储条带中的存储块的分布等。多个条目中的每个条目通过至少一个事务被写入到存储系统的元数据存储空间中,更具体地元数据存储空间中的元数据存储区域中的一个或多个元数据块中。当元数据发生改变时,包含发生改变的元数据的元数据块被附加到元数据存储区域中的全部元数据块的尾部。这样可以确保元数据块中的发生改变的元数据的完整性,即要么发生改变的元数据都不被存储,要么发生改变的元数据都被存储。随着将元数据块不断附加到元数据存储区域中,元数据存储区域利用率越来越高。利用率指示元数据存储区域中存储有元数据块的空间占元数据存储区域中的全部空间的比率。传统上,当元数据存储区域的利用率超过利用率阈值(例如,70%)时,需要在一个事务中将存储器中的所有元数据存储到元数据存储区域中,以替换元数据存储区域中先前存储的元数据。这个过程可以称为压缩。然而,在一个事务中将存储器中的所有元数据存储到元数据存储区域中将导致一次性存储过多元数据。这不仅容易导致错误,还将导致对其他服务请求的响应延迟。根据本公开的示例实施例,提出了一种用于存储管理的改进方案。在该方案中,确定存储系统的元数据存储区域中存储的多个元数据块的相应有效元数据率。每个元数据块的有效元数据率指示元数据块中的有效元数据占元数据块中的全部元数据的比率。从多个元数据块中选择有效元数据率低于第一有效元数据率阈值的预定数目的元数据块。将预定数目的元数据块中的有效元数据存储到元数据存储区域中的多个元数据块之后的至少一个元数据块中,并且使预定数目的元数据块中的有效元数据成为无效元数据。以此方式,压缩过程被分成多次迭代,每次迭代仅将少量元数据存储到元数据存储区域,从而使得元数据存储区域的利用率保持在合理的水平(例如,40%-70%),提高存储系统的性能,并且减少磁盘(例如,固态硬盘SSD)的损耗。在下文中,将结合图1-图10更详细地描述本方案的具体示例。图1示出了本公开的一些实施例能够在其中实现的存储环境100的示例的示意图。存储管理环境100包括存储系统110、存储器120和控制器130。为了便于理解,将参考图2对存储系统110进行描述。图2示出了根据本公开的一些实施例的存储系统110的示例的示意图。如图2所示,存储系统110可以被划分为多个存储块。存储系统110支持存储的动态分配。为此,可以将磁盘驱动器等硬件存储装置划分为固定大小(例如,4GB)的存储块。当用户需要更多存储时,存储系统可以为用户分配不同硬件存储装置上的存储块。多个存储块可以形成存储条带,例如存储块211本文档来自技高网
...

【技术保护点】
1.一种用于存储管理的方法,包括:/n确定存储系统的元数据存储区域中存储的多个元数据块的相应有效元数据率,每个元数据块的有效元数据率指示所述元数据块中的有效元数据占所述元数据块中的全部元数据的比率;/n从所述多个元数据块中选择有效元数据率低于第一有效元数据率阈值的预定数目的元数据块;/n将所述预定数目的元数据块中的有效元数据存储到所述元数据存储区域中的所述多个元数据块之后的至少一个元数据块中;以及/n使所述预定数目的元数据块中的有效元数据成为无效元数据。/n

【技术特征摘要】
1.一种用于存储管理的方法,包括:
确定存储系统的元数据存储区域中存储的多个元数据块的相应有效元数据率,每个元数据块的有效元数据率指示所述元数据块中的有效元数据占所述元数据块中的全部元数据的比率;
从所述多个元数据块中选择有效元数据率低于第一有效元数据率阈值的预定数目的元数据块;
将所述预定数目的元数据块中的有效元数据存储到所述元数据存储区域中的所述多个元数据块之后的至少一个元数据块中;以及
使所述预定数目的元数据块中的有效元数据成为无效元数据。


2.根据权利要求1所述的方法,其中确定所述相应有效元数据率包括:
确定所述元数据存储区域的利用率,所述利用率指示所述元数据存储区域中存储有元数据块的空间占所述元数据存储区域中的全部空间的比率;以及
根据确定所述利用率超过利用率阈值,确定所述相应有效元数据率。


3.根据权利要求1所述的方法,其中所述存储系统包括提供冗余存储的多个存储条带,针对所述多个存储条带的元数据被存储在与所述存储系统相关联的存储器中作为多个条目,所述多个条目中的每个条目通过至少一个事务被写入到所述多个元数据块中的至少一个元数据块中,并且其中确定所述相应有效元数据率包括:
针对所述多个元数据块中的给定元数据块,
确定所述给定元数据块包括的至少一个条目;
根据确定将所述至少一个条目写入到所述给定元数据块的事务是针对所述至少一个条目的最晚事务,将所述至少一个条目标识为所述给定元数据块的有效元数据;以及
将所述有效元数据占所述元数据块中的全部元数据的比率确定为所述给定元数据块的有效元数据率。


4.根据权利要求1所述的方法,其中将所述预定数目的元数据块中的有效元数据存储到所述至少一个元数据块中包括:
将所述预定数目的元数据块中的所述有效元数据的总量与元数据量阈值相比较;
根据所述有效元数据的总量低于所述元数据量阈值,基于所述预定数目的元数据块中的所述有效元数据来生成至少一个合并的元数据块,所述至少一个合并的元数据块的数目小于所述预定数目;以及
将所述至少一个合并的元数据块存储到所述多个元数据块之后的至少一个元数据块中。


5.根据权利要求4所述的方法,其中将所述预定数目的元数据块中的有效元数据存储到所述至少一个元数据块中还包括:
根据确定所述有效元数据的总量超过所述元数据量阈值,将所述预定数目的元数据块复制到所述多个元数据块之后。


6.根据权利要求1所述的方法,还包括:
在将所述预定数目的元数据块中的有效元数据存储到所述至少一个元数据块中之后:
确定所述元数据存储区域中存储的有效元数据率超过第二有效元数据率阈值的起始元数据块;
将用于索引所述元数据存储区域的地址信息中指向所述元数据存储区域的头部地址更新为所述起始元数据块的地址;
确定所述元数据存储区中存储的结尾元数据块;以及
将所述地址信息中指向所述元数据存储区域的尾部地址更新为所述结尾元数据块的地址。


7.一种用于存储管理的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
确定存储系统的元数据存储区域中存储的多个元数据块的相应有效元数据率,每个元数据块的有效元数据率指示所述元数据块中的有效元数据占所述元数据块中的全部元数据的比率;
从所述多个元数据块中选择有效元数据率低于第一有效元数据率阈值的预定数目的元数据块;
将所述预定数目的元数据块中的有效元数据存储到所述元数据存储区域中的所述多个元数据块之后的至少一个元数据块中;以及
使所述预定数目的元数据块中的有效元数据成为无效元数据。


8.根据权利要求7所述的设备,其中确定所述相应有效元数据率包括:
确定所述元数据存储区域的利用率,所述利用率指示所述元数据存储区域中存储有元数据块的空间占所述元数据存储区域中的全部空间的比率;以及
根据确定所述利用率超过利用率阈值,确定所述相应有效元数据率。


9.根据权利要求7所述的设备,其中所述存储系统包括提供冗余存储的多个存储条带,针对所述多个存储条带的元数据被存储在与所述存储系统相关联的存储器中作为多个条目,所述多个条目中的每个条目通过至少一个事务被写入到所述多个元数据块中的至少一个元数据块中,并且其中确定所述相应有效元数据率包括:
针对所述多个元数据块中的给定元数据块,
确定所述给定元数据块包括的至少一个条目;
根据确定将所述至少一个条目写入到所述给定元数据块的事务是针对所述至少一个条目的最晚事务,将所述至少一个条目标识为所述给定元数据块的有效...

【专利技术属性】
技术研发人员:龚绍钦董继炳高宏坡康剑斌卓保特
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国;US

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

1