用于闪存键值存储操作的键打包制造技术

技术编号:36374016 阅读:20 留言:0更新日期:2023-01-18 09:33
本文提供了键值(KV)存储、其方法和存储系统。KV存储可以包括键记录器;以及处理器,该处理器被配置为接收用于在KV存储中存储第一KV的第一命令,将第一KV的第一值写入第一NAND页,生成用于标识包括第一值的第一存储器页的范围图,将范围图写入第二存储器页,将用于存储第一KV的条目附加到键记录器,以及当在键记录器内达到阈值时,更新KV存储的设备哈希图以包括第一KV的第一键。包括第一KV的第一键。包括第一KV的第一键。

【技术实现步骤摘要】
用于闪存键值存储操作的键打包


[0001]本公开总体上涉及键值(key value,KV)存储操作,并且更具体地,涉及通过将多个键一起存储在单个NAND页中来改进KV存储操作。

技术介绍

[0002]KV存储(KV store)(其可以被理解为“KV存储设备”)或KV数据库(KV database)是被设计用于存储、检索和管理关联数组的数据存储范例,以及通常被称为哈希表的数据结构。哈希表包含对象或记录的集合,这些对象或记录又包含多个不同的字段,每个字段都包含数据。这些记录可以使用唯一标识该记录的键来存储和检索,并且可以用于在数据库中查找数据。KV存储通常比关系数据库使用更少的内存。
[0003]以上信息仅作为背景信息呈现,以帮助理解本公开。关于上述任何一个是否可以作为现有技术应用于本公开,没有做出确定,也没有做出断言。

技术实现思路

[0004]本公开是为了解决上述缺点中的至少一些,并且提供至少下述优点。
[0005]本公开的一个方面是提供一种系统和方法,其允许打包没有时间局部性地插入的多个键,使得它们可以被分组为具有空间局部性的一堆存储器页(例如NAND页)。由于密集的键打包,这提供了对存储所有键所需的NAND页的数量的减少,以及读取放大因子(RAF)/写入放大因子(WAF)减少。此外,NAND页可以将垃圾收集(GC)限制在页中的所有键都无效的情况。
[0006]因此,本公开可以通过打包密度的因子减少GC开销显著,并且减少哈希图(hash

map)冲突链的长度,这改善了尾延迟,并且缩减了NAND页读取的数量,显著降低了查找延迟。
[0007]根据一个实施例,可以提供KV存储,其包括键记录器(key logger);以及处理器,该处理器被配置为接收用于在KV存储中存储第一KV的第一命令,将第一KV的第一值写入第一存储器页,生成用于标识包括该值的第一存储器页的范围图(extent map),将该范围图写入第二存储器页,将用于存储第一KV的条目附加到键记录器,以及当在键记录器内达到阈值时,更新KV存储的设备哈希图以包括第一KV的第一键。
[0008]根据一个实施例,可以提供一种操作KV存储的方法。该方法包括接收用于在KV存储中存储第一KV的第一命令;将第一KV的第一值写入第一存储器页;生成用于标识包括该值的第一存储器页的范围图;将该范围图写入第二NAND页;将用于存储第一KV的条目附加到KV存储的键记录器;以及当在键记录器内达到阈值时,更新KV存储的设备哈希图以包括第一KV的第一键。
[0009]根据一个实施例,可以提供一种存储系统,其包括KV存储;以及处理器,该处理器被配置为接收用于在KV存储中存储第一KV的第一命令,将第一KV的第一值写入第一存储器页,生成用于标识包括该值的第一存储器页的范围图,将该范围图写入第二存储器页,将用
于存储第一KV的条目附加到KV存储的键记录器,并且当在键记录器内达到阈值时,更新KV存储的设备哈希图以包括第一KV的第一键。
附图说明
[0010]从下面结合附图的详细描述中,本公开的特定实施例的上述和其他方面、特征和优点将变得更加清楚,其中:
[0011]图1示出了KV固态驱动(SSD)中的哈希实现方式;
[0012]图2示出了根据实施例的KV SSD中的哈希实现方式;
[0013]图3示出了根据实施例的KV存储;
[0014]图4A和图4B示出了根据实施例的KV存储中的推迟的键打包操作;
[0015]图5是示出根据实施例的KV存储的键打包操作的流程图;
[0016]图6是示出根据实施例的KV存储的放置(Put)操作的流程图;
[0017]图7是示出根据实施例的KV存储的删除(Delete)操作的流程图;
[0018]图8是示出根据实施例的KV存储的获取(Get)操作的流程图;
[0019]图9示出了根据实施例的网络环境中的电子设备的框图;和
[0020]图10示出了根据实施例的存储系统的图。
具体实施方式
[0021]在下文中,参考附图详细描述本公开的实施例。应当注意,尽管在不同的附图中示出了相同的元素,但是相同的元素将由相同的附图标记表示。在以下描述中,诸如详细配置和组件的具体细节仅被提供来帮助对本公开的实施例的整体理解。因此,对于本领域技术人员来说清楚的是,在不脱离本公开的范围的情况下,可以对本文描述的实施例进行各种改变和修改。此外,为了清楚和简洁,省略了对公知功能和结构的描述。下面描述的术语是考虑到本公开中的功能而定义的术语,并且可以根据用户、用户的意图或习惯而不同。因此,术语的定义应该基于整个说明书的内容来确定。
[0022]本公开可以具有各种修改和各种实施例,下面参考附图详细描述其中的实施例。然而,应当理解,本公开不限于这些实施例,而是包括本公开范围内的所有修改、等同物和替代物。
[0023]尽管包括序数(诸如第一、第二等)的术语可以用于描述各种元件,但是结构元件不受这些术语的限制。这些术语仅用于区分一个元件和另一个元件。例如,在不脱离本公开的范围的情况下,第一结构元件可以被称为第二结构元件。类似地,第二结构元件也可以被称为第一结构元件。如本文所用,术语“和/或”包括一个或多个关联项目的任何和所有组合。
[0024]本文使用的术语仅用于描述本公开的各种实施例,而不旨在限制本公开。单数形式旨在包括复数形式,除非上下文另有明确指示。在本公开中,应该理解,术语“包括”或“具有”表示特征、数字、步骤、操作、结构元件、部件或其组合的存在,并且不排除一个或多个其他特征、数字、步骤、操作、结构元件、部件或其组合的存在或添加的可能性。
[0025]除非有不同的定义,否则本文使用的所有术语具有与本公开所属领域的技术人员所理解的相同的含义。诸如在通用词典中定义的那些术语将被解释为具有与相关

中的上下文含义相同的含义,并且除非在本公开中明确定义,否则不应被解释为具有理想的或过于正式的含义。
[0026]根据一个实施例的电子设备可以是各种类型的电子设备之一。电子设备可以包括例如便携式通信设备(例如,智能电话)、计算机、便携式多媒体设备、便携式医疗设备、相机、可穿戴设备或家用电器。根据本公开的一个实施例,电子设备不限于上述那些。
[0027]本公开中使用的术语不旨在限制本公开,而是旨在包括相应实施例的各种变化、等同物或替换物。关于附图的描述,相似的附图标记可以用于指代相似或相关的元素。与项目相对应的名词的单数形式可以包括一个或多个事物,除非相关上下文清楚地表明不是这样。如本文所使用的,诸如“A或B”、“A和B中的至少一个”、“A或B中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的至少一个”、以及“A、B或C中的至少一个”的短语中的每一个都可以包括在短语中的相应一个中一起列举的项目的所有可能的组合。如本文所使用的,诸如“第1”、“第2”、“第一”和“第二”的术语可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种键值KV存储,包括:键记录器;以及处理器,被配置为:接收用于在KV存储中存储第一KV的第一命令,将第一KV的第一值写入第一存储器页,生成用于标识包括第一值的第一存储器页的范围图,将范围图写入第二存储器页,将用于存储第一KV的条目附加到键记录器,以及当在键记录器内达到阈值时,更新KV存储的设备哈希图以包括第一KV的第一键。2.根据权利要求1所述的KV存储,其中,所述第一KV的第一键与至少一个其他键一起存储在第三存储器页上,并且包括指向包括范围图的第二存储器页的范围指针。3.根据权利要求2所述的KV存储,其中,用于存储第一KV的条目包括第一键、包括范围图的第二存储器页的指示、第一命令的操作码或尾条目指针中的至少一个。4.根据权利要求2所述的KV存储,其中,所述处理器还被配置为通过以下方式更新设备哈希图:收集属于设备哈希图中的一组相邻桶的键条目;合并设备哈希图中的现有键与来自键记录器的条目,以形成所述一组相邻桶的经打包的键;将经打包的键写入第三存储器页;以及更新设备哈希图以指向包括经打包的键的第三存储器页。5.根据权利要求1所述的KV存储,还包括布隆过滤器,其中,所述处理器还被配置为更新布隆过滤器以指示对用于存储第一KV的第一命令的接收。6.根据权利要求1所述的KV存储,还包括尾指针表,其中,所述处理器还被配置为:基于第一KV的第一键的哈希选择尾指针表中的槽,以及将键记录器中的当前偏移写入所选择的槽。7.根据权利要求1所述的KV存储,其中,所述处理器还被配置为清除键记录器。8.根据权利要求1所述的KV存储,其中,所述处理器还被配置为:接收用于从KV存储中删除第二KV的第二命令,确定键记录器是否包括第二KV的条目、或者第二KV是否存在于设备哈希图中,以及响应于确定键记录器包括第二KV的条目或者第二KV存在于设备哈希图中,将用于删除第二KV的条目附加到键记录器,并且当在键记录器内满足阈值时,从设备哈希图中删除第二KV的第二键。9.根据权利要求8所述的KV存储,还包括布隆过滤器,其中,所述处理器还被配置为在确定键记录器是否包括第二KV的条目之前,在布隆过滤器中检查第二KV的先前条目。10.根据权利要求1所述的KV存储,其中,所述处理器还被配置为:接收用于从KV存储检索第二KV的第三命令,
在键记录器中标识第二KV的条目,识别用于键记录器中第二KV的条目的操作码是用于删除操作的,以及基于用于键记...

【专利技术属性】
技术研发人员:KS帕特瓦尔丹N拉玛克里什南
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1