固态驱动器、分布式数据存储系统和利用键值存储的方法技术方案

技术编号:21850873 阅读:36 留言:0更新日期:2019-08-14 00:23
一种固态驱动器(SSD)包括:多个数据块;用于存取所述多个数据块的多个闪存信道及多个通路;以及固态驱动器控制器,对所述多个数据块的块大小进行配置。数据文件与一个或多个键‑值对一起存储在所述固态驱动器中,且所述一个或多个键‑值对中的每一个键‑值对具有块识别符作为键且具有块数据作为值。所述数据文件的大小等于所述块大小或所述块大小的倍数。也提供一种分布式数据存储系统和一种利用键‑值存储的方法。

Solid State Driver, Distributed Data Storage System and Key Value Storage Method

【技术实现步骤摘要】
固态驱动器、分布式数据存储系统和利用键值存储的方法[相关申请的交叉参考]本申请主张在2018年2月6日提出申请的序列号为62/626,839的美国临时专利申请的权利及优先权,所述美国临时专利申请的公开内容全文并入本申请供参考。
本公开大体来说涉及键-值存储装置,更具体来说涉及一种在分布式文件系统中利用键-值存储来高效地存储数据及元数据的系统及方法。
技术介绍
在传统的数据存储节点中,通常使用位于数据存储节点上的现有的文件系统来存储键-值映射(例如,块识别符(identifier,ID)对数据内容的映射)。之所以这样,是因为基础的存储装置并不在本机支持数据存储节点所需的键-值接口。因此,需要附加软件层(通常为文件系统)来提供键-值接口。添加文件系统会引入存储器开销及处理器开销。驻留在数据存储节点与实际的数据存储装置之间的文件系统迫使数据存储装置引起额外的效率低下(例如,超额配置(overprovisioning)及较高的写入放大)并且在资源有限的装置环境中需要更多中央处理器(centralprocessingunit,CPU)循环来执行例如垃圾收集等任务。
技术实现思路
根据一个实施例,一种固态驱动器(solid-statedrive,SSD)包括:多个数据块;用于存取所述多个数据块的多个闪存信道及多个通路;以及固态驱动器控制器,对所述多个数据块的块大小进行配置。数据文件与一个或多个键-值对一起存储在所述固态驱动器中,且每一个键-值对具有块识别符作为键且具有块数据作为值。所述数据文件的大小等于所述块大小或所述块大小的倍数。根据另一个实施例,一种分布式数据存储系统包括:客户机;名称节点,包括第一键-值(key-value,KV)固态驱动器(SSD);以及数据节点,包括第二键-值固态驱动器,其中所述第二键-值固态驱动器包括多个数据块、用于存取所述多个数据块的多个闪存信道及多个通路、以及用于配置所述多个数据块的块大小的固态驱动器控制器。所述客户机向所述名称节点发送包括用于存储数据文件的文件识别符的创建文件请求,并向所述名称节点发送分配命令以分配所述多个数据块中与所述数据文件相关联的一个或多个数据块。所述名称节点向所述客户机返回所述一个或多个数据块的块识别符以及被指派存储所述一个或多个数据块的所述数据节点的数据节点识别符。所述客户机向所述数据节点发送块存储命令以存储所述一个或多个数据块。所述第二键-值固态驱动器存储所述一个或多个数据块作为键-值对,且所述键-值对中的至少一个键-值对具有所述块识别符作为键且具有块数据作为值。所述数据文件的大小等于所述块大小或所述块大小的倍数。根据又一实施例,一种利用键值存储的方法包括:从客户机向名称节点发送创建文件请求,其中所述创建文件请求包括用于存储数据文件的文件识别符;将所述文件识别符作为键-值对存储在所述名称节点的第一键-值(KV)固态驱动器(SSD)中,其中所述文件识别符作为键被存储在所述键-值中,且与所述键相关联的值是空的;从所述客户机向所述名称节点发送分配命令,以分配与所述数据文件相关联的一个或多个数据块;在所述名称节点处将块识别符指派给所述一个或多个数据块中的至少一者并指派数据节点来存储所述一个或多个数据块;从所述名称节点向所述客户机返回所述块识别符及所述数据节点的数据节点识别符;从所述客户机向所述数据节点发送写入块请求,其中所述写入块请求包括所述块识别符及内容;以及将所述一个或多个数据块作为键-值对保存在所述数据节点的第二键-值固态驱动器中。所述数据节点的所述第二键-值固态驱动器包括具有块大小的一个或多个数据块。所述键-值对中的至少一个键-值对具有块识别符作为键且具有块数据作为值。所述数据文件的大小等于所述块大小或所述块大小的倍数。现将参照附图更具体地阐述包括实施方式的各种新颖细节及事件组合在内的以上及其他优选特征,且以上及其他优选特征在权利要求书中指出。应理解,本文所述具体系统及方法仅作为例示示出且不作为限制。如所属领域中的技术人员应理解,本文所述原理及特征可用于各种各样的实施例中,而此并不背离本公开的范围。附图说明作为本说明书的一部分而包括在内的各个附图示出当前优选的实施例,且与以上所给出的大体说明及以下所给出的对优选实施例的详细说明一起用于解释及教示本文所述原理。图1A示出现有技术分布式数据存储系统的方块图。图1B示出根据一个实施例的包括键-值存储装置的示例性分布式数据存储系统的方块图。图2A示出示例性SSD的系统配置。图2B示出根据一个实施例的键-值SSD的示例性系统配置。图3示出根据一个实施例的实现信道级并行性(channel-levelparallelism)的示例性SSD信道及管芯架构。图4示出根据一个实施例的实现通路级并行性(way-levelparallelism)的示例性SSD信道及管芯架构。图5示出根据一个实施例的实现管芯/芯片级并行性(die/chip-levelparallelism)的示例性SSD信道及管芯架构。图6A示出示例性SSD的示例性映射方案。图6B示出根据一个实施例的KVSSD的示例性映射方案。图7示出根据一个实施例的在分布式文件系统的KVSSD中创建并存储文件的示例性过程。图8示出根据一个实施例的读取存储在分布式文件系统的KVSSD中的文件的示例性过程。图9示出根据一个实施例的删除分布式文件系统的KVSSD中的文件的示例性过程。各个图未必是按比例绘制,且出于说明目的,在所有图中具有相似结构或功能的元件一般是由相同的参考编号表示。各个图仅旨在方便说明本文所述各种实施例。各个图并不阐述本文所公开教示内容的每一方面且并不限制权利要求书的范围。[符号的说明]100A、100B:分布式数据存储系统;101:客户机应用/客户机;105:文件;111、720:名称节点;115:块映射;121、221、740:数据节点;140:SSD;150:键-值SSD/KVSSD;710:客户机;730:KVSSD(kv1)/KVSSD;750:KVSSD(kv2)/KVSSD;761:请求;762、768:键-值存储命令;763、764、769、770、773、774、965:完成消息;765:分配命令;766:响应;767:块写入请求;771:提交写入命令;772:附加命令;861:读取文件请求;862:检索命令;863、864、963:映射信息;865:块读取命令;866:块检索命令;867:内容;868:块内容;961:文件删除命令;962:键-值检索命令;964:键-值删除命令;966、967:块删除命令;968、969:返回;970:异步消息。具体实施方式本文所公开的特征及教示内容中的每一者可单独使用或结合其他特征及教示内容来使用以提供在分布式文件系统中利用键-值存储来高效地存储数据及元数据的系统及方法。参照附图更详细地阐述代表性实例,这些代表性实例单独地使用及组合地使用这些附加特征及教示内容中的许多特征及教示内容。此详细说明仅旨在向所属领域中的技术人员教示用于实践本教示内容的各个方面的进一步细节,而并非旨在限制权利要求书的范围。因此,在本详细说明中以上所公开特征的组合可能未必是在最广泛意义上实践本教示内容所必需的,而是相反,仅是本文档来自技高网...

【技术保护点】
1.一种固态驱动器,包括:多个数据块;多个闪存信道及多个通路,用于存取所述多个数据块;以及固态驱动器控制器,对所述多个数据块的块大小进行配置;其中数据文件与一个或多个键‑值对一起存储在所述固态驱动器中,且至少一个键‑值对具有块识别符作为键且具有块数据作为值,且其中所述数据文件的大小等于所述块大小或所述块大小的倍数。

【技术特征摘要】
2018.02.06 US 62/626,839;2018.03.23 US 15/934,7471.一种固态驱动器,包括:多个数据块;多个闪存信道及多个通路,用于存取所述多个数据块;以及固态驱动器控制器,对所述多个数据块的块大小进行配置;其中数据文件与一个或多个键-值对一起存储在所述固态驱动器中,且至少一个键-值对具有块识别符作为键且具有块数据作为值,且其中所述数据文件的大小等于所述块大小或所述块大小的倍数。2.根据权利要求1所述的固态驱动器,其中所述固态驱动器用于包括海杜普分布式文件系统的分布式文件系统中。3.根据权利要求1所述的固态驱动器,其中所述固态驱动器控制器还配置成基于块更新旗标来启用或禁用块更新。4.根据权利要求1所述的固态驱动器,其中所述固态驱动器控制器还配置成基于对齐旗标来将所述数据文件与所述多个数据块对齐。5.根据权利要求1所述的固态驱动器,其中所述块大小是基于所述固态驱动器的擦除单位乘以闪存信道的数目来确定。6.根据权利要求1所述的固态驱动器,其中所述块大小是基于所述固态驱动器的擦除单位乘以通路的数目来确定。7.根据权利要求1所述的固态驱动器,其中所述块大小等于所述固态驱动器的擦除单位。8.根据权利要求1所述的固态驱动器,其中所述固态驱动器存储文件映射表,所述文件映射表包括所述数据文件向所述多个数据块中与所述数据文件相关联的一个或多个数据块的第一映射以及所述一个或多个数据块中的至少一者向包括所述固态驱动器的数据节点的第二映射。9.一种分布式数据存储系统,包括:客户机;名称节点,包括第一键-值固态驱动器;以及数据节点,包括第二键-值固态驱动器,其中所述第二键-值固态驱动器包括多个数据块、用于存取所述多个数据块的多个闪存信道及多个通路、以及用于配置所述多个数据块的块大小的固态驱动器控制器,其中所述客户机向所述名称节点发送包括用于存储数据文件的文件识别符的创建文件请求,并向所述名称节点发送分配命令以分配所述多个数据块中与所述数据文件相关联的一个或多个数据块,其中所述名称节点向所述客户机返回所述一个或多个数据块的块识别符以及被指派存储所述一个或多个数据块的所述数据节点的数据节点识别符,其中所述客户机向所述数据节点发送块存储命令,以存储所述一个或多个数据块,其中所述第二键-值固态驱动器存储所述一个或多个数据块作为键-值对,且至少一个键-值对具有所述块识别符作为键且具有块数据作为值,且其中所述数据文件的大小等于所述块大小或所述块大小的倍数。10.根据权利要求9所述的分布式数据存储系统,其中所述分布式数据存储系统采用海杜普分布式文件系统。11.根据权利要求9所述的分布式数据存储系统,其中所述第二键-值固态驱动器存储文件映射表,所述文件映射表包括所述数据文件向与所述数据文件相关联的一个或多个数据块的第一映射以及所述一个或多个数据块中的至少一者向数据节点的第二映射。12.一种利用键-值存储的方法,包括:...

【专利技术属性】
技术研发人员:提摩太·C·比森安纳席塔·雪耶斯坦崔昌皓
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1