一种全闪存储系统元数据写缓存刷盘方法及相关组件技术方案

技术编号:23342543 阅读:20 留言:0更新日期:2020-02-15 03:37
本申请公开了一种全闪存储系统元数据写缓存刷盘方法,涉及全闪存储领域,该方法通过写缓存维护了需要刷盘的元数据,通过分析插入数据跟B+树的性质,只构造一个多级的带有父节点的链表,将写缓存元数据通过链表链接起来,就可以构造需要刷盘的子树,而无需构造一棵真实的内存中B+树,节约了内存,并提高了构造效率。本申请还公开了一种全闪存储系统元数据写缓存刷盘装置、设备及一种可读存储介质,具有上述有益效果。

A flash memory system metadata write cache flash method and related components

【技术实现步骤摘要】
一种全闪存储系统元数据写缓存刷盘方法及相关组件
本申请涉及全闪存储领域,特别涉及一种全闪存储系统元数据写缓存刷盘方法、装置、设备及可读存储介质。
技术介绍
随着SSD技术进步,成本降低,及客户对数据访问性能的不断追求,全闪存储系统成为一种趋势。而为了适应SSD盘的特性,追加写+垃圾回收是全闪系统的一种常用实现方式,这样就会产生大量的元数据需要落盘。目前元数据落盘一般按照传统数据刷写方式直接将元数据刷写至磁盘,而该方式落盘效率低。因此,如何提高元数据的落盘效率,是本领域技术人员需要解决的技术问题。
技术实现思路
本申请的目的是提供一种全闪存储系统元数据写缓存刷盘方法,该方法可以实现较高的元数据的落盘效率;本申请的另一目的是提供一种全闪存储系统元数据写缓存刷盘装置、设备及可读存储介质。为解决上述技术问题,本申请提供一种全闪存储系统元数据写缓存刷盘方法,包括:将未刷盘的目标数据写入写缓存区域;其中,所述目标数据包括对盘上元数据的操作信息;依照磁盘元数据存储层次关系对所述目标数据进行链表构造,生成带父节点指针的链表;确定所述目标数据对应的待更新磁盘位置;读取目标节点;其中,所述目标节点为根据所述待更新磁盘位置确定的待更新磁盘节点;依照所述链表对所述目标节点进行节点数据更新,得到更新后的节点;将所述更新后的节点刷写至磁盘中。可选地,所述依照磁盘元数据存储层次关系对所述目标数据进行链表构造,生成带父节点指针的链表,包括:依照磁盘元数据存储层次关系将所述目标数据按照键值从小到大的顺序进行链表构造,生成带父节点指针的链表。可选地,在所述依照磁盘元数据存储层次关系对所述目标数据进行链表构造之前,还包括:判断所述写缓存区域中所述目标数据的数据量是否达到写入阈值;若达到,执行所述依照磁盘元数据存储层次关系对所述目标数据进行链表构造的步骤。可选地,依照所述链表对所述目标节点进行节点数据更新,包括:依照所述链表依照B+树的组织方式对所述目标节点进行节点数据更新。可选地,将未刷盘的目标数据写入写缓存区域,包括:将未刷盘数据的键值对写入写缓存区域。可选地,将未刷盘的目标数据写入写缓存区域,包括:将未刷盘的目标数据依照B+树的组织方式写入写缓存区域。本申请公开一种全闪存储系统元数据写缓存刷盘装置,包括:缓存写入单元,用于将未刷盘的目标数据写入写缓存区域;其中,所述目标数据包括对盘上元数据的操作信息;链表构造单元,用于依照磁盘元数据存储层次关系对所述目标数据进行链表构造,生成带父节点指针的链表;位置确定单元,用于确定所述目标数据对应的待更新磁盘位置节点读取单元,用于读取目标节点;其中,所述目标节点为根据所述待更新磁盘位置确定的待更新磁盘节点;数据更新单元,用于依照所述链表对所述目标节点进行节点数据更新,得到更新后的节点;节点刷写单元,用于将所述更新后的节点刷写至磁盘中。可选地,所述链表构造单元具体可以为:第一链表构造单元;所述第一链表构造单元用于:依照磁盘元数据存储层次关系将所述目标数据按照键值从小到大的顺序进行链表构造,生成带父节点指针的链表。本申请公开一种全闪存储系统元数据写缓存刷盘设备,包括:存储器,用于存储程序;处理器,用于执行所述程序时实现所述全闪存储系统元数据写缓存刷盘方法的步骤。本申请公开一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述全闪存储系统元数据写缓存刷盘方法的步骤。本申请所提供的全闪存储系统元数据写缓存刷盘方法,通过写缓存维护了需要刷盘的元数据,通过分析插入数据跟B+树的性质,只构造一个多级的带有父节点的链表,将写缓存元数据通过链表链接起来,就可以构造需要刷盘的子树,而无需构造一棵真实的内存中B+树,节约了内存,并提高了构造效率。本申请还公开了一种全闪存储系统元数据写缓存刷盘装置、设备及一种可读存储介质,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例提供的全闪存储系统元数据写缓存刷盘方法的流程图;图2为本申请实施例提供的写缓存区域中存储的一种刷盘树的具体构造流程图;图3为本申请实施例提供的待添加元数据与原始B+树示意图;图4为本申请实施例提供的确定目标节点示意图;图5为本申请实施例提供的更新后目标节点示意图;图6为本申请实施例提供的更新后盘上的B+树示意图;图7为本申请实施例提供的全闪存储系统元数据写缓存刷盘装置的结构框图;图8为本申请实施例提供的全闪存储系统元数据写缓存刷盘设备的结构框图;图9为本申请实施例提供的全闪存储系统元数据写缓存刷盘设备的结构示意图。具体实施方式本申请的核心是提供一种全闪存储系统元数据写缓存刷盘方法,该方法可以实现较高的元数据的落盘效率;本申请的另一核心是提供一种全闪存储系统元数据写缓存刷盘装置、设备及可读存储介质。为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请提出了一种全闪存储系统元数据写缓存刷盘方法,请参考图1,图1为本实施例提供的全闪存储系统元数据写缓存刷盘方法的流程图;该方法可以包括:步骤s110、将未刷盘的目标数据写入写缓存区域;如果没有缓存,由于B+树是分层结构,有一个元数据后就直接找到磁盘节点以及对应的所有层级节点作插入删除等操作,该操作的执行过程会很慢。本申请中预先设置写缓存区域,将未刷盘的目标数据写入该区域,目标数据包括对盘上元数据的操作信息;元数据的操作信息比如对指定数据的插入、删除或修改等操作信息。确定未刷盘的目标数据后写入写缓存区域,则写缓存区域中可以同时包含多个元数据落盘操作。可选地,未刷盘的目标数据可以以键值对(key-val)的形式写入写缓存区域。以键值对的形式存储可以便于数据的查找以及管理,当然也可以以其他数据存储形式,在此不做限定。另外,对于目标数据的写入方式不做限定,可选地,可以将未刷盘的目标数据依照B+树的组织方式写入写缓存区域。指定缓存写入方式按照B+树的组织方式不仅可以便于目标数据的查询,而且便于后续元数据的操作。以一种以B+树的组织方式将未刷盘的key-val写入写缓存区域的实现方式为例,本文档来自技高网...

【技术保护点】
1.一种全闪存储系统元数据写缓存刷盘方法,其特征在于,包括:/n将未刷盘的目标数据写入写缓存区域;其中,所述目标数据包括对盘上元数据的操作信息;/n依照磁盘元数据存储层次关系对所述目标数据进行链表构造,生成带父节点指针的链表;/n确定所述目标数据对应的待更新磁盘位置;/n读取目标节点;其中,所述目标节点为根据所述待更新磁盘位置确定的待更新磁盘节点;/n依照所述链表对所述目标节点进行节点数据更新,得到更新后的节点;/n将所述更新后的节点刷写至磁盘中。/n

【技术特征摘要】
1.一种全闪存储系统元数据写缓存刷盘方法,其特征在于,包括:
将未刷盘的目标数据写入写缓存区域;其中,所述目标数据包括对盘上元数据的操作信息;
依照磁盘元数据存储层次关系对所述目标数据进行链表构造,生成带父节点指针的链表;
确定所述目标数据对应的待更新磁盘位置;
读取目标节点;其中,所述目标节点为根据所述待更新磁盘位置确定的待更新磁盘节点;
依照所述链表对所述目标节点进行节点数据更新,得到更新后的节点;
将所述更新后的节点刷写至磁盘中。


2.如权利要求1所述的全闪存储系统元数据写缓存刷盘方法,其特征在于,所述依照磁盘元数据存储层次关系对所述目标数据进行链表构造,生成带父节点指针的链表,包括:
依照磁盘元数据存储层次关系将所述目标数据按照键值从小到大的顺序进行链表构造,生成带父节点指针的链表。


3.如权利要求1所述的全闪存储系统元数据写缓存刷盘方法,其特征在于,在所述依照磁盘元数据存储层次关系对所述目标数据进行链表构造之前,还包括:
判断所述写缓存区域中所述目标数据的数据量是否达到写入阈值;
若达到,执行所述依照磁盘元数据存储层次关系对所述目标数据进行链表构造的步骤。


4.如权利要求1所述的全闪存储系统元数据写缓存刷盘方法,其特征在于,依照所述链表对所述目标节点进行节点数据更新,包括:
依照所述链表依照B+树的组织方式对所述目标节点进行节点数据更新。


5.如权利要求1所述的全闪存储系统元数据写缓存刷盘方法,其特征在于,将未刷盘的目标数据写入写缓存区域,包括:将未刷盘数据的键值对写入写缓存区域。<...

【专利技术属性】
技术研发人员:刘如意孙京本李佩
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1