基于日志结构合并树的键值数据存储的方法和装置制造方法及图纸

技术编号:36849428 阅读:14 留言:0更新日期:2023-03-15 17:02
本公开提供了基于日志结构合并树的键值数据存储的方法和装置,具体地,一种基于日志结构合并树(LSM

【技术实现步骤摘要】
基于日志结构合并树的键值数据存储的方法和装置


[0001]本公开的实施例涉及存储
,更具体地,涉及一种基于日志结构合并树的键值数据存储的方法和装置。

技术介绍

[0002]基于日志结构合并树(LogStructuredMergeTree,LSM

Tree)的键值固态硬盘(Key

ValueSolidStateDisk,KVSSD)是当前主流的KVSSD存储设备的实现方式之一。
[0003]在基于LSM

Tree的KVSSD中,一旦发生异常掉电,再次上电后,执行全盘扫描来重建数据索引和元数据索引。并且,正常情况下,数据版本的有效性是通过索引中维护的地址信息来确定,异常断电后,由于索引信息的丢失,可能无法区分数据的多个版本中哪个才是有效版本,数据的一致性得不到保证。

技术实现思路

[0004]本公开的实施例提供一种基于日志结构合并树的键值数据存储的方法和装置,在典型的DRAM+NAND的存储架构上,增加了存储级内存SCM(StorageClassMemory),其可以解决相关存储设备异常掉电时数据一致性问题。
[0005]根据本公开的实施例,提供了一种基于日志结构合并树(LSM

Tree)的键值(KV)数据存储的方法。所述方法包括将KV数据写入NAND闪存中,所述KV数据包括键值对,所述键值对包括Key和对应的Value,所述KV数据被存储在键值固态硬盘(KVSSD)中。所述KVSSD包括存储级内存(SCM)和所述NAND闪存。所述方法还包括将所述KV数据的元数据存储于所述SCM中。所述KV数据的元数据包括Key和所述KV数据的对应的Value的索引信息,并且所述KV数据的对应的Value的索引信息指示所述KV数据在所述NAND闪存中的地址信息。
[0006]可选的,所述方法还包括:基于所述元数据,在所述KVSSD包括的动态随机存取存储器DRAM中存储的层列表中建立所述元数据的索引信息,其中,所述元数据的索引信息指示所述元数据在所述SCM中地址信息。
[0007]可选的,所述方法还包括:在存储设备异常掉电重启后,基于存储在所述SCM中的所述元数据,在所述DRAM中重新建立包括所述元数据的索引信息的层列表。
[0008]可选的,所述SCM的部分区域被配置为缓存,并且所述方法还包括:将满足缓存条件的KV数据存储到所述缓存中。
[0009]根据本公开的实施例,键值(KV)固态硬盘(KVSSD)包括存储级内存(SCM);以及NAND闪存。所述KVSSD被配置为基于日志结构合并树LSM

Tree存储KV数据,并且所述KV数据包括键值对,所述键值对包括Key和对应的Value。所述SCM被配置为存储所述KV数据的元数据。所述KV数据的元数据包括Key和所述KV数据的对应的Value的索引信息,并且所述KV数据的所述对应的Value的索引信息指示所述KV数据在所述NAND闪存中的地址信息。所述NAND闪存被配置为存储所述KV数据。
[0010]可选的,所述KVSSD还包括动态随机存取存储器DRAM,并且所述DRAM被配置为存储
包括所述元数据的索引信息的层列表,所述元数据的索引信息指示所述元数据在所述SCM中地址信息。
[0011]可选的,在存储设备异常掉电重启后,基于存储在所述SCM中的所述元数据,在所述DRAM中重新建立层列表中的所述元数据的索引信息。
[0012]可选的,所述SCM的部分存储区域被配置为缓存,将满足缓存条件的KV数据存储到所述缓存中。
[0013]本公开的实施例可在SCM中存储元数据。根据实施例,在异常断电重启后,存储在SCM中的数据不会丢失,其可防止因例如异常断电造成的索引信息丢失。同时由于索引信息都存储在DRAM和SCM中,读数据可以减少对NAND的访问次数。
附图说明
[0014]通过参考附图详细描述本公开的实施例,本公开的上述和其他特征将变得更加明显。
[0015]图1示例性的示出了一种基于日志结构合并树(LSM

Tree)的键值固态硬盘(KVSSD)。
[0016]图2示出KV分离引起读放大示意图。
[0017]图3示出根据实施例的基于SCM的KVSSD的总体结构。
[0018]图4示出根据实施例的基于SCM的KVSSD的软件架构。
[0019]图5示出根据实施例的元数据存储结构。
[0020]图6示出根据实施例的基于LSM

Tree的KV数据存储的方法流程图。
[0021]图7示出根据实施例的存储设备KVSSD的上电启动流程。
[0022]图8示出根据实施例的存储设备KVSSD的掉电恢复流程。
[0023]图9示出根据实施例KVCache的更新流程。
[0024]图10示出根据实施例的读数据流程。
[0025]图11示出根据实施例的写数据流程。
[0026]图12A示出根据实施例的键值固态硬盘KVSSD的示例。
[0027]图12B示出根据实施例的键值固态硬盘KVSSD的示例。
[0028]图12C示出根据实施例的键值固态硬盘KVSSD的示例。
[0029]图13是根据实施例的应用了存储装置的系统的示意图。
[0030]图14是根据实施例的主机存储系统的框图。
[0031]图15是根据实施例的应用了存储装置的数据中心的示图。
具体实施方式
[0032]在下文中将参考附图更全面地描述本公开的实施例。在整个附图中,相同的附图标记可指代相同的元件。
[0033]需要说明的是,本公开的说明书和权利要求书以及附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所
有实施方式。相反,它们仅是与本公开的一些方面相一致的装置和方法的例子。
[0034]在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
[0035]图1示例性的示出了一种基于日志结构合并树(LSM

Tree)的键值固态硬盘(KVSSD)。该KVSSD通过让高层KV数据索引常驻KVSSD内置动态随机存取存储器(DRAM)中,经由减少NAND闪存访问次数以达到降低尾延迟的目的。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于日志结构合并树LSM

Tree的键值KV数据存储的方法,所述方法包括:将KV数据写入NAND闪存中,其中,所述KV数据包括键值对,所述键值对包括Key和对应的Value,所述KV数据被存储在键值固态硬盘KVSSD中,并且所述KVSSD包括存储级内存SCM和所述NAND闪存;以及将所述KV数据的元数据存储于所述SCM中,其中,所述KV数据的元数据包括Key和所述KV数据的对应的Value的索引信息,并且所述KV数据的对应的Value的索引信息指示所述KV数据在所述NAND闪存中的地址信息。2.根据权利要求1所述的数据存储的方法,还包括:基于所述元数据,在所述KVSSD包括的动态随机存取存储器DRAM中存储的层列表中建立所述元数据的索引信息,其中,所述元数据的索引信息指示所述元数据在所述SCM中地址信息。3.根据权利要求2所述的数据存储的方法,还包括:在存储设备异常掉电重启后,基于存储在所述SCM中的所述元数据,在所述DRAM中重新建立包括所述元数据的索引信息的层列表。4.根据权利要求1所述的数据存储的方法,其中,所述SCM的部分区域被配置为缓存,并且所述方法还包括:将满足缓存条件的KV数据存储到所述缓存中。5.一种键值KV固态硬盘KVSSD,包括:存储级内存SCM;以及NAND闪存,其中,所述KVSSD被配置为基于日志结构合并树LSM

Tree存储KV数据,并且所述KV数据包括键值对,所述键值对包括...

【专利技术属性】
技术研发人员:张坤豆坤齐备张如意张宗源李宇涛曹丹张添翼
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1