包括键-值存储的存储器系统技术方案

技术编号:8323356 阅读:156 留言:0更新日期:2013-02-14 00:35
公开了包括键-值存储的存储器系统。根据一个实施例,包括键-值存储的存储器系统(10)包括接口(11)、存储块(16)、地址获取电路(14)和控制器(13),键-值存储包含作为键和与键相对应的值的对的键-值数据。接口(11)接收数据写入/读取请求或基于键-值存储的请求。存储块(16)具有用于存储数据的数据区域(161)和包含键-值数据的元数据表(162)。地址获取电路(14)响应于键的输入而获取第一地址。控制器(13)执行对存储块(16)的数据写入/读取请求,以及向存储块(16)输出获取的第一地址并执行基于键-值存储的请求。控制器(13)经由接口(11)输出与键相对应的值。

【技术实现步骤摘要】

这里所描述的各实施例一般涉及被主机系统访问并包括键-值存储的存储器系统
技术介绍
作为在一般主机系统(例如,计算机系统)中提供的存储设备,存在包括非易失性半导体存储器的磁性HDD (硬盘驱动器)或SSD (固态驱动器)。虽然SSD被分类为存储器,但是,它也可被视为带有扩展的规模和功能的存储器系统。存储器系统包括,例如,接口、第一存储块、第二存储块、以及控制器。第一存储块将文件存储为数据,而第二存储块充当数据写入/读取过程中的缓冲存储器。第一存储块是非易失性的并具有大容量,但与第二存储块相比具有较慢的访问速度。第二存储块被用来补偿接口的通信速度和第一存储块的写入/读取速度之间的速度差。例如,第一存储块是非易失性快闪存储器,而第二存储块是易失性DRAM或SRAM。这样的常规存储器类型的存储器系统具有用于通过寻址来实现数据写入/读取功能的布局。另一方面,为了有效地提取存储在存储器系统中的诸如与给定文本相关联的另一文本、二进制文件中的特定比特模式、运动图像文件中的特定模式、或语音文件中的特征语音模式的数据,优选地提供了通过数据指定的数据读取功能。为此目的,使用一种方法不仅存储正常数据,而且还一起存储与数据相关联的元数据,并引用元数据来获取期望的数据。元数据管理方法被大致分类为两种类型具有表格式的数据库类型以及其中数据具有一一对应关系的键-值存储(KVS,key-valuestore)0在KVS中,当作为搜索请求给出一个键时,输出与该键相对应的值。为了通过常规系统来实现KVS,执行对存储在存储器系统中的数据的管理,或扩展主机系统的主存储器设备(DRAM)上的多个元数据的重复数据输入/输出处理,使用CPU(中央处理单元)执行操作以及再次从存储器中读出数据并核对它们。将描述常规系统中的KVS及其问题。为了在常规SSD中实现KVS,数据被存为文件,元数据(属于该数据的键-值数据(或键-值对))也被存为文件。即,键-值存储是由等于或高于文件系统(即,安装在OS中的文件系统或应用程序)的级别的主机系统来实现的。在此情况下,键-值存储能够通过通用硬件配置来实现。然而,由于元数据被像正常的数据那样处理,因此,在主机系统已经将元数据文件读出到主存储器(例如,DRAM)之后,执行元数据读/写或搜索操作。这例如造成了至少下列三个问题。第一,文件访问性能下降。由于一般而言主存储器的尺寸小于SSD的尺寸,因此,大于主存储器尺寸的元数据文件无法被一次处理。因此,例如,基于键来分割元数据文件。根据需要,易于处理的尺寸的元数据文件被读出到主存储器,并被使用。重复此过程,直到获得必需的键-值。对SSD的文件访问的次数与元数据文件的数目一样多。如果SSD的文件访问速度低于元数据读取请求的速度,则主机系统和本地系统(存储器系统)作为整体是速率受限的。第二,CPU上的负载增大。由于元数据创建、管理以及核对(搜索)全部都是由CPU执行的,因此,在元数据处理过程中,负载施加在CPU上。特别是,当更新数据时,相应元数据需要被从元数据文件中搜索和更新,因为元数据是与数据相对应地创建的。另外,由于元数据搜索也需要由CPU完全使用软件算法来执行,因此,对CPU新施加了元数据管理的负载。第三,总线或接口上的负载增大。作为第一和第二问题的结果,主机系统和本地系统(存储器系统)频繁地交换元数据信息。因此,总线和接口上的通信量增大。
技术实现思路
根据一个方面,提供一种包括键-值存储的存储器系统,所述键-值存储包含作为键和与所述键相对应的值的对的键-值数据,其特征在于,所述存储器系统包括被配置成 接收数据写入/读取请求或基于键-值存储的请求的接口 ;具有用于存储数据的数据区域和包含所述键-值数据的元数据表的第一存储块;被配置成响应于所述键的输入,获取存储有所述键-值数据的第一地址的地址获取电路;以及控制器,所述控制器被配置成通过指定地址来执行对所述第一存储块的数据写入/读取请求,以及向所述第一存储块输出由所述地址获取电路获取的所述第一地址并执行所述基于键-值存储的请求,其中,所述控制器经由所述接口输出与所述键相对应的值。根据另一个方面,提供一种包括键-值存储的存储器系统,所述键-值存储包含作为键和与所述键相对应的值的对的键-值数据,其特征在于,所述存储器系统包括被配置成接收数据写入/读取请求或基于键-值存储的请求的接口 ;具有用于存储数据的数据区域和包含所述键-值数据的元数据表并包括地址获取电路的第一存储块,所述地址获取电路被配置成响应于所述键的输入,获取存储有所述键-值数据的第一地址;以及控制器,所述控制器被配置成通过指定地址来执行对所述第一存储块的写入/读取和所述基于所述键-值存储的请求,其中,所述控制器经由所述接口输出与所述键相对应的值。根据再一个方面,提供一种包括键-值存储的存储器系统,所述键-值存储包含作为键和与所述键相对应的值的对的键-值数据,其特征在于,所述存储器系统包括被配置成接收数据写入/读取请求或基于键-值存储的请求的接口 ;具有用于存储数据的数据区域和包含所述键-值数据的元数据表的第一存储块;存储器控制器,所述存储器控制器被配置成通过指定地址来执行对所述第一存储块的数据写入/读取以及所述基于所述键-值存储的请求;以及被配置成控制所述接口和所述第一存储块之间的信号发送/接收的本地控制器,其中,所述本地控制器包括用于存储从所述第一存储块读出的数据的第二存储块以及被配置成响应于所述键的输入而获取存储有所述键-值数据的第一地址的地址获取电路,以及所述存储器控制器经由所述接口输出与所述键相对应的值。附图说明图I是示意性地示出了第一存储块中的实际数据区域和元数据表之间的关系以及键-值存储的机制的视图;图2A和2B是示出了图I中的元素和集合之间的关系的视图3A、3B、3C以及3D是示出了键-值存储中的详细处理过程的流程图;图4是示出了根据第一实施例的存储器系统的硬件配置的框图;图5是示出了根据第二实施例的存储器系统的硬件配置的框图;图6是示出了根据第三实施例的存储器系统的硬件配置的框图; 图7是示出了根据第四实施例的存储器系统的硬件配置的框图;图8是示出了根据第五实施例的存储器系统的硬件配置的框图;图9是示出了根据第六实施例的存储器系统的硬件配置的框图;图10是示出了根据第七实施例的存储器系统的硬件配置的框图;图11是示出了根据第八实施例的存储器系统的硬件配置的框图;图12是示意性地示出了根据第一修改方案的实际数据区域和元数据表的视图;图13是示意性地示出了根据第二修改方案的实际数据区域和元数据表的视图;图14是示意性地示出了根据第三修改方案的实际数据区域和元数据表的视图;图15是示意性地示出了根据第三修改方案的实现键-值存储的另一种方法的视图;以及图16是示意性地示出了根据第四修改方案的实际数据区域和元数据表的视图。具体实施例方式一般而言,根据一个实施例,包括键-值存储(该键-值存储包含作为键和与该键相对应的值的对的键-值数据)的存储器系统包括接口、第一存储块、地址获取电路和控制器。接口接收数据写入/读取请求或基于键-值存储的请求。第一存储块具有用于存储数据的数据区域和包含所述键-值数据的元数据表。地址获取电路响应于键的输入而获取存储有所述键本文档来自技高网
...

【技术保护点】
一种包括键?值存储的存储器系统,所述键?值存储包含作为键和与所述键相对应的值的对的键?值数据,其特征在于,所述存储器系统包括:被配置成接收数据写入/读取请求或基于键?值存储的请求的接口;具有用于存储数据的数据区域和包含所述键?值数据的元数据表的第一存储块;被配置成响应于所述键的输入,获取存储有所述键?值数据的第一地址的地址获取电路;以及控制器,所述控制器被配置成通过指定地址来执行对所述第一存储块的数据写入/读取请求,以及向所述第一存储块输出由所述地址获取电路获取的所述第一地址并执行所述基于键?值存储的请求,其中,所述控制器经由所述接口输出与所述键相对应的值。

【技术特征摘要】
2011.08.08 JP 2011-1727591.一种包括键-值存储的存储器系统,所述键-值存储包含作为键和与所述键相对应的值的对的键-值数据,其特征在于,所述存储器系统包括 被配置成接收数据写入/读取请求或基于键-值存储的请求的接口; 具有用于存储数据的数据区域和包含所述键-值数据的元数据表的第一存储块; 被配置成响应于所述键的输入,获取存储有所述键-值数据的第一地址的地址获取电路;以及 控制器,所述控制器被配置成通过指定地址来执行对所述第一存储块的数据写入/读取请求,以及向所述第一存储块输出由所述地址获取电路获取的所述第一地址并执行所述基于键-值存储的请求, 其中,所述控制器经由所述接口输出与所述键相对应的值。2.根据权利要求I所述的存储器系统,其特征在于,所述地址获取电路包括被配置成通过散列函数把所述键转换成所述第一地址的散列生成器。3.根据权利要求2所述的存储器系统,其特征在于,所述控制器包括比较电路和地址管理电路,所述比较电路被配置成当被所述散列生成器转换后的所述第一地址发生冲突时把作为所述值的数据与所述键进行比较,所述地址管理电路被配置成当所述数据匹配所述键时改变所述第一地址。4.根据权利要求I所述的存储器系统,其特征在于,所述控制器根据所述基于所述键-值存储的请求,改变存储在所述第一存储块中的所述元数据表的存储容量。5.根据权利要求I所述的存储器系统,其特征在于, 所述元数据表存储所述第一地址、所述键和与所述键相对应的值,第二地址存储在所述值中,以及 所述控制器通过引用由所述第二地址指定的所述数据区域的存储位置来获得所述值。6.根据权利要求I所述的存储器系统,其特征在于, 所述元数据表中的所述键-值数据存储在逻辑地址处,以及 所述元数据表的存储位置是由转换表管理的,所述转换表使所述逻辑地址对应于所述第一存储块的物理地址。7.根据权利要求I所述的存储器系统,其特征在于进一步包括 被配置成当所述控制器执行数据写入/读取时临时存储所述数据的寄存器;以及 被配置成控制所述接口和所述第一存储块之间的信号发送/接收的本地控制器。8.根据权利要求I所述的存储器系统,其特征在于,由所述接口接收的所述基于所述键-值存储的请求包括下列中的至少一个向集合中添加元素的命令、返回元素所属的集合的尺寸的命令、以及读出集合的命令。9.根据权利要求I所述的存储器系统,其特征在于,所述控制器包括直接存储器存取控制器。10.根据权利要求I所述的存储器系统,其特征在于,所述接口、所述第一存储块、以及所述控制器通过至少两种类型的总线相连接。11.一种包括键-值存储的存储器系统,所述键-值存储包含作为键和与所述键相对应的值的对的键-值数据,其特征在于,所述存储器系统包括 被配置成接收数据写入/读取请求或基于键-值存储的请求的接口;具有用于存储数据的数据区域和包含所述键-值数据的元数据表并包括地址获取电路的第一存储块,所述地址获取电路被配置成响应于所述键的输入,获取存储有所述键-值数据的第一地址;以及 控制器,所述控制器被配置成通过指定地址来执行对所述第一存储块的写入/读取和所述基于所述键-值存储的请求, 其中,所述控制器经由所述接口输出与所述键相对应的值。12.根据权利要求11所述的存储器系统,其特征在于,所述地址获取电路包括内容可寻址存储器(CAM),所述CAM被配置成将所述键与存储在所述地址获取电路中的数据进行比较,并响应于所述键的输入而获取匹配的第一地址。13.根据权利要求11所述的存储器系统,其特征在于,所述控制器根据所述基于所述键-值存储的请求,改变存储在所述第一存储块中的所述元数据表的存储容量。14.根据权利要求11所述的存储器系统,其特征在于, 所述元数据表存储所述第一地址、所述键以及与所述键相对应的值,第二地址存储在所述值中,以及 所述控制器通过引用由所述第二地址指定的所述数据区域的存储位置来获得所述值。15.根据权利要求11所述的存储器系...

【专利技术属性】
技术研发人员:丸亀孝生木下敦宽辰村光介
申请(专利权)人:株式会社东芝
类型:发明
国别省市:

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

1