键值固态驱动器中的动态存储制造技术

技术编号:36331456 阅读:20 留言:0更新日期:2023-01-14 17:41
一种用于动态存储键和值的方法包括接收将一个或多个键存储在键值固态驱动器(KV

【技术实现步骤摘要】
键值固态驱动器中的动态存储
[0001]相关申请的交叉引用
[0002]本申请要求于2021年7月7日提交的第202141030420号印度专利申请的优先权,其公开内容通过引用整体并入本文。


[0003]本公开一般涉及将键(key)存储在存储装置/存储器中,尤其涉及将键存储在键值固态驱动器中。

技术介绍

[0004]键值固态驱动器(KV SSD)支持在其中存储键值数据。键值数据通常包括一个或多个键以及与这些键相关联的值。在示例中,当存储在KV SSD中时,键存储在KV SSD中实施的给定数据结构的节点中。许多不同的已知数据结构可以用于实施KV SSD中的键和值的存储。
[0005]在一些实施B+树数据结构的KV SSD中,用于在给定节点中存储键的技术涉及将每个键存储在节点的对应区域中。节点中的该区域或空间具有预定的固定大小。有时,这种存储模式会导致节点中浪费的存储空间。例如,考虑这样的示例,其中预定大小是256字节,要存储的键的大小是8字节。在这种情况下,256个可用字节中的大部分将不会被使用。
[0006]在本领域中需要提供一种具有增加的空间利用率的存储模式。

技术实现思路

[0007]提供以下概述以介绍一些概念,这些概念将在本文所包括的详细描述中进一步描述。该概述不旨在标识关键或必要的专利技术概念,也不旨在用于确定本专利技术的范围。
[0008]在被配置为存储键值对的系统的一些比较示例中使用的存储模式可能导致浪费的空间。例如,在实施B+树数据结构的KV SSD中,可以为每个键分配256字节的键空间。然而,键通常不具有一致的大小。键可以是例如7字节、8字节、128字节等;即,具有比分配的空间更小的大小。本公开提供了用于有效存储键值对的方法的实施例。在实施例中,该方法从存储器节点的一端用键来填充节点,并且从节点的另一端填充关于键的元数据。键和它们的元数据朝向中心汇聚。本文描述的(多个)方法提供了一种最大限度地利用节点中的可用空间的方式。
[0009]在实施例中,公开了一种方法。该方法包括接收将一个或多个键存储在键值固态驱动器(KV

SSD)中的请求。该方法还包括执行用于将一个或多个键中的每个键存储在KV

SSD的数据结构的节点中的存储操作。对于一个或多个键中的每个键,存储操作包括在节点中分配第一区域用于存储键,使得第一区域的大小等于键的大小。存储操作还包括在节点中分配第二区域用于存储与键相关联的键元数据,使得第二区域具有预定大小。此外,存储操作包括将键存储在节点的第一区域中,并将键元数据存储在节点的第二区域中。
[0010]在另一实施例中,公开了一种系统。该系统包括请求处理器,被配置为接收将多个
键存储在键值固态驱动器(KV

SSD)中的请求。该系统还包括存储器管理器,被配置为执行用于将多个键中的每个键存储在KV

SSD的数据结构的节点中的存储操作。在存储操作中,存储器管理器被配置为在节点中分配第一区域用于存储键,使得第一区域的大小等于键的大小。此外,存储器管理器被配置为在节点中分配第二区域用于存储与键相关联的键元数据,使得第二区域具有预定大小。此外,存储器管理器被配置为将键存储在节点的第一区域中,并将键元数据存储在节点的第二区域中。
[0011]为了进一步阐明本专利技术概念的特征,将通过参考在附图中示出的本专利技术的具体实施例来对本专利技术进行更具体的描述。应当理解,这些附图描绘了本专利技术的示例实施例,因此不应被认为是对其范围的限制。将结合附图以额外的特征和细节来描述和解释本专利技术概念。
附图说明
[0012]通过参考附图详细描述本公开的示例实施例,本公开的上述和其他方面和特征将变得更加明显,在附图中:
[0013]图1示出了根据本公开的实施例的实施用于将键存储在键值固态驱动器(KV SSD)中的系统的网络环境;
[0014]图2示出了根据本公开的实施例的将键存储在KV SSD中的方法;
[0015]图3示出了根据本公开的实施例的节点的分段过程;
[0016]图4示出了根据本公开的实施例的节点的结构;并且
[0017]图5示出了根据本公开的实施例的比较结果。
[0018]应当理解,附图中的元件是为了简单起见而示出的,可能不一定是按比例绘制的。例如,流程图根据所涉及的最显著的步骤示出了方法的实施例,以帮助提高对本专利技术概念的各方面的理解。此外,就设备的构造而言,设备的一个或多个组件可能已经在附图中由常规符号表示,并且附图可能仅示出与理解本专利技术概念的实施例相关的那些具体细节,以便不会用受益于本文描述的本领域普通技术人员将容易明白的细节来模糊附图。
具体实施方式
[0019]为了促进对本专利技术概念的原理的理解,现在将参考附图中示出的实施例,并且将使用特定的语言来描述这些实施例。应当理解,这并不意味着对本专利技术概念的范围的限制,并且在不实质上背离本专利技术概念的范围的情况下,可以进行对示出的系统的变更和修改以及对示出的本专利技术概念的原理的进一步应用。
[0020]本领域技术人员将理解,前面的一般描述和下面的详细描述是对本专利技术概念的解释,而不是对本专利技术概念的限制。
[0021]贯穿本说明书对“一个方面”、“另一方面”或类似语言的引用可能意味着结合该实施例描述的特定特征、结构或特性被包括在本专利技术概念的至少一个实施例中。因此,贯穿本说明书出现的短语“在实施例中”、“在另一实施例中”和类似的语言可以但不一定都指同一实施例。
[0022]术语“包括”、“包含”或其任何其他变体旨在涵盖非排他性的包含,使得包括一系列步骤的过程或方法不仅包括那些步骤,还可以包括未明确列出的或该过程或方法固有的
其他步骤。类似地,以“包含
…”
或“包括
…”
开头的一个或多个设备或子系统或元件或结构或组件在没有更多限制的情况下,不排除其他设备或其他子系统或其他元件或其他结构或其他组件或附加设备或附加子系统或附加元件或附加结构或附加组件的存在。
[0023]除非另有定义,否则本文使用的所有技术和科学术语具有与本专利技术概念所属领域的普通技术人员通常理解的相同含义。本文提供的系统、方法和示例仅是说明性的,而不是限制性的。
[0024]下面将参考附图详细描述本专利技术概念的实施例。
[0025]图1示出了根据本公开的一个或多个实施例的包括系统102的环境100。环境100还示出了键值(KV)固态驱动器(KV SSD)104和一个或多个KV应用106。在示例中,系统102可以被配置为将与KV应用106有关的多个键存储在KV SSD 104中。系统102可以在例如计算设备(诸如数据服务器、服务器、数据存储、膝上型电脑、台式电脑等)中实施。
[0026]在示例中,系统102包括处理器110、存储器112、请求处理器114、存储器管理器116、查询处理器118和数据120。在示例中,存储器112、请求处理本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:接收将一个或多个键存储在键值固态驱动器KV

SSD中的请求;执行用于将所述一个或多个键存储在所述KV

SSD的数据结构的节点中的存储操作,其中,对于所述一个或多个键中的每个键的存储操作包括:在所述节点中分配第一区域用于存储键,使得所述第一区域的大小等于所述键的大小;在所述节点中分配第二区域用于存储与所述键相关联的键元数据,使得所述第二区域具有预定大小;以及将所述键存储在所述节点的所述第一区域中,并将所述键元数据存储在所述节点的所述第二区域中。2.根据权利要求1所述的方法,其中,所述键元数据包括与所述键相关联的偏移值和所述键的大小,并且其中,所述偏移值指示所述键在所述节点中的位置。3.根据权利要求2所述的方法,其中,所述节点至少包括键区域和键元数据区域,其中,所述键区域被配置为存储所述一个或多个键,并且其中,所述键元数据区域被配置为存储与所述一个或多个键中的每一个相关联的键元数据,并且其中,所述键区域从所述节点的第一端开始,并且其中,所述键元数据区域从所述节点的第二端开始,并且其中,所述第二端与所述第一端相对。4.根据权利要求3所述的方法,其中,所述方法还包括:从所述节点的所述第一端开始将所述一个或多个键存储在所述键区域中;以及从所述节点的所述第二端开始将与所述一个或多个键中的每一个相关联的键元数据存储在所述键元数据区域中。5.根据权利要求3所述的方法,其中,所述节点还包括位于所述键区域和所述键元数据区域之间的安全区域。6.根据权利要求3所述的方法,其中,所述节点还包括节点元数据区域,所述节点元数据区域包括关于所述节点的占用率的信息。7.根据权利要求3所述的方法,其中,所述方法还包括:从KV应用接收范围查询调用;以及基于所述键元数据区域来服务所述范围查询调用。8.根据权利要求3所述的方法,其中,所述方法还包括:接收从所述一个或多个键中删除至少一个键的请求;响应于所述请求的接收,从所述节点删除所述至少一个键和相关联的键元数据。9.根据权利要求8所述的方法,其中,所述方法还包括在所述节点上执行分段过程,其中,所述分段过程包括:更新所述键区域中的所述一个或多个键中的一个或多个键的位置;以及基于所述一个或多个键中的每一个的新位置,更新与所述一个或多个键中的一个或多个键相关联的对应的键元数据。10.根据权利要求9所述的方法,还包括:接收在所述节点中存储下一个键的进一步请求;确定所述下一个键的大小是否大于所述节点中的可用空间;以及
如果确定所述下一个键的大小大于所述可用空间,则执行所述分段过程。11.一种系统,包括:处理器;请求处理器,耦接到所述处理器,其中,所述请求处理器被配置为接收将多个键存储在键值固态驱动器KV

...

【专利技术属性】
技术研发人员:ST希瓦南德K加格保尔贾斯汀KSC雷迪SG克姆斯
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:

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

1