KV存储设备的地址转换及其加速器制造技术

技术编号:22185888 阅读:38 留言:0更新日期:2019-09-25 03:34
本申请公开了KV存储设备的地址转换及其加速器,涉及KV存储技术领域,解决了现有技术中从KV存储设备中读取响应慢的技术问题。本申请的KV存储设备包括:排序表和NVM存储介质,排序表包括多个条目,每个条目记录了键与同所述键对应的值地址列表。本申请主要用于KV存储。

Address Conversion and Accelerator of KV Storage Device

【技术实现步骤摘要】
KV存储设备的地址转换及其加速器
本申请涉及KV存储设备,具体涉及KV存储设备的地址转换及其加速器。
技术介绍
图1A是固态存储设备的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)、SCSI(SmallComputerSystemInterface,小型计算机系统接口)、SAS(SerialAttachedSCSI,串行连接SCSI)、IDE(IntegratedDriveElectronics,集成驱动器电子)、USB(UniversalSerialBus,通用串行总线)、PCIE(PeripheralComponentInterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVMExpress,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(DynamicRandomAccessMemory,动态随机访问存储器)110。NAND闪存、相变存储器、FeRAM(FerroelectricRAM,铁电存储器)、MRAM(MagneticRandomAccessMemory,磁阻存储器)、RRAM(ResistiveRandomAccessMemory,阻变存储器)等是常见的NVM。接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、NVM芯片105以及DRAM110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmablegatearray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM110,并可访问DRAM110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。块包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。在固态存储设备中,利用FTL(FlashTranslationLayer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在相关技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。FTL表包括多个FTL表条目(或称表项)。在一种情况下,每个FTL表条目中记录了一个逻辑页地址与一个物理页的对应关系。在另一种情况下,每个FTL表条目中记录了连续的多个逻辑页地址与连续的多个物理页的对应关系。在又一种情况下,每个FTL表条目中记录了逻辑块地址与物理块地址的对应关系。在依然又一种情况下,FTL表中记录逻辑块地址与物理块地址的映射关系,和/或逻辑页地址与物理页地址的映射关系。支持Key-Value(键-数据,也简称为“KV”)存储模型的存储设备,提供基于键(Key)的读操作(Get(Key))与写操作(Put(Key,Value))。为执行写操作,主机向存储设备提供键(Key)与数据(Value),以将数据写入存储设备,并将键作为所写入的数据的索引。为执行读操作,主机向存储设备提供键,存储设备根据键找到数据,并将数据提供给主机。因而在KV存储系统中,键是用来访问数据的索引,而数据(Value)是被访问的数据。一般地,键与数据的长度均不是定长。以及可选地,为了降低复杂性,键和/或数据的长度可具有指定范围。图1B是现有技术的固态存储设备的地址转换系统的示意图。支持KV存储模型的固态存储设备的地址转换系统(也称为FTL表)提供从由到物理地址(例如,PPA,PhysicalPageAddress,物理页地址)的映射。可选地,除了物理页地址,FTL表中记录的物理地址可以是物理页内部的数据帧(Dataframe)的起始地址。数据帧是具有固定大小的数据单元,物理页包括1个或多个数据帧。用键作为索引查询FTL表,得到对应的物理地址。FTL表可以由数组、链表、树等多种数据结构实现。可选地,将不定长的键进行哈希运算,得到定长的哈希键(例如,4字节/8字节),作为FTL表的索引。
技术实现思路
根据本申请的第一方面,提供了根据本申请第一方面的第一KV存储设备,包括排序表和NVM存储介质,排序表包括多个条目,每个条目记录了键与同所述键对应的值地址列表。根据本申请的第一方面的第一KV存储设备,提供了根据本申请第一方面的第二KV存储设备,排序表的多个条目按键的大小排序。根据本申请的第一方面的第一或第二KV存储设备,提供了根据本申请第一方面的第三KV存储设备,值地址列表记录了0个、1个或多个同键对应的值的地址,根据每个地址可访问KV存储设备的NVM存储介质。根据本申请的第一方面的第三KV存储设备,提供了根据本申请第一方面的第四KV存储设备,值地址列表记录的地址是逻辑地址。根据本申请的第一方面的第三KV存储设备,提供了根据本申请第一方面的第五KV存储设备,还包括FTL表,FTL表中记录了逻辑地址到NVM存储介质的物理地址的映射关系。根据本申请的第一方面的第一至第五KV存储设备之一,提供了根据本申请第一方面的第六KV存储设备,排序表的值地址表中记录的地址是NVM存储介质的物理地址。根据本申请的第一方面的第一至第六KV存储设备之一,提供了根据本申请第一方面的第七KV存储设备,值地址表的数据组织方式为数组、链表、哈希表、树中的一种或多种。根据本申请的第一方面的第一至第七KV存储设备之一,提供了根据本申请第一方面的第八KV存储设备,通过哈希表记录键与值地本文档来自技高网
...

【技术保护点】
1.一种KV存储设备,其特征在于,包括排序表和NVM存储介质,排序表包括多个条目,每个条目记录了键与同所述键对应的值地址列表。

【技术特征摘要】
1.一种KV存储设备,其特征在于,包括排序表和NVM存储介质,排序表包括多个条目,每个条目记录了键与同所述键对应的值地址列表。2.如权利要求1所述的KV存储设备,其特征在于,值地址列表记录了0个、1个或多个同键对应的值的地址,根据每个地址可访问KV存储设备的NVM存储介质。3.如权利要求1或2任一项所述的KV存储设备,其特征在于,所述的KV存储设备处理包括读操作、写操作、删除操作、追加操作、覆盖写操作、替换写操作中的一种或多种操作。4.如权利要求3所述的KV存储设备,其特征在于,响应于收到追加操作,其中追加操作指示了待追加的第一键与第一值,为第一值分配地址,将为第一值分配的地址追加记录在同第一键对应的值地址表中。5.如权利要求3或4所述的KV存储设备,其特征在于,响应于收到覆盖写操作,在排序表以覆盖写操作所指示的第二键为索引的条目中记录指示第二值地址表的指针,第二值地址表中仅记录了单一节点,第二值地址表中记录的节点指示了覆盖写所对应的值的地址。6.如权利要求3至5任一项所述的KV存储设备,其特征在于,删除操作指示了第五键与第五扩展键,响应于收到删除操作,在排序表查找由第五键所指示的第五条目,在第五条目所指示的值地址表中,查找具有第五扩展键的节点,在第五条目所指示的值地址表中删除具有第...

【专利技术属性】
技术研发人员:孙唐沈飞古进谈笑
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:北京,11

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

1