存储器控制器及其操作方法技术

技术编号:21850744 阅读:23 留言:0更新日期:2019-08-14 00:22
一种存储器控制器,包括:存储器,被配置为存储第一映射表和第二映射表;以及散列模块,被配置为从主机接收包括第一键的命令,并且通过使用第一映射表和第二映射表检索与第一键相对应的第一物理地址,其中,第一映射表被配置为存储关于与第一键的部分区域相对应的第一区域的第一区域信息,第一区域包括至少一个分段,并且第二映射表配置为存储多个分段,其中,每个分段包括多个散列条目,所述多个分段被群组化到多个区域中,所述多个散列条目中的每一个存储与键相对应的标签和与键相对应的物理地址。

Memory Controller and Its Operating Method

【技术实现步骤摘要】
存储器控制器及其操作方法相关申请的交叉引用本申请要求于2018年2月6日在韩国知识产权局递交的韩国专利申请No.10-2018-0014715的优先权,其全部公开内容通过引用合并于此。
本专利技术构思涉及一种存储设备,更具体地,涉及一种存储器控制器及其操作方法。
技术介绍
存储设备可以包括基于对象的存储和基于块的存储,这取决于它们如何管理数据。基于对象的存储可以是被配置为以对象格式存储和管理数据的存储结构。对象可以是具有任意大小的数据,例如,多媒体数据(例如,运动图像)或者文件。基于对象的存储可用于管理对象。基于对象的存储的示例可以是键-值存储设备。
技术实现思路
根据本专利技术构思的示例性实施例,提供了一种存储器控制器,包括:存储器,被配置为存储第一映射表和第二映射表;以及散列模块,被配置为从主机接收包括第一键的命令,并且通过使用第一映射表和第二映射表检索与第一键相对应的第一物理地址,其中,第一映射表被配置为存储关于与第一键的部分区域相对应的第一区域的第一区域信息,第一区域包括至少一个分段,并且第二映射表配置为存储多个分段,其中,每个分段包括多个散列条目,所述多个分段被群组化到多个区域中,所述多个散列条目中的每一个存储与键相对应的标签和与键相对应的物理地址。根据本专利技术构思的示例性实施例,提供了一种存储器控制器,包括:存储器,被配置为存储第一映射表和第二映射表;以及散列模块,被配置为从主机接收包括第一键的命令,并且通过使用第一映射表和第二映射表检索与第一键相对应的第一物理地址,其中,第一映射表被配置为存储关于与第一键的前缀相对应的第一区域的第一区域信息,第一区域具有可变大小,第二映射表被配置为存储与第一区域相对应的至少一个分段,所述至少一个分段包括多个散列条目,并且第二映射表中的第一区域的大小基于在主机和存储器控制器之间发送和接收的键的前缀而变化。根据本专利技术构思的示例性实施例,提供了一种控制器,被配置为:从主机接收包括键的命令;基于所述键,从第一映射表检索关于与所述键的部分区域相对应的第一区域的区域信息;基于所述键和所述区域信息,从第二映射表的第一区域检索第一分段;基于所述键,从所述第二映射表的所述第一分段检索第一散列条目;以及基于所述第一散列条目中包括的第一物理地址,控制对非易失性存储器的写操作或者读操作。附图说明通过参考附图详细描述本专利技术构思的示例性实施例,本专利技术构思的以上和其他特征将被更清楚地理解,其中:图1是根据本专利技术构思的示例性实施例的存储系统的框图;图2示出了根据本专利技术构思的示例性实施例的键;图3A示出了根据本专利技术构思的示例性实施例的第一映射表;图3B示出了根据本专利技术构思的示例性实施例的第二映射表;图4示出了根据本专利技术构思的示例性实施例的第二映射表和非易失性存储器的存储器单元阵列;图5示出了根据本专利技术构思的示例性实施例的第一映射表和第二映射表;图6示出了根据本专利技术构思的示例性实施例的从图5的第一映射表和第二映射表中检索物理地址的操作;图7示出了根据本专利技术构思的示例性实施例的图1的控制器;图8是根据本专利技术构思的示例性实施例的操作存储器控制器的方法的流程图;图9是根据本专利技术构思的示例性实施例的在主机、控制器和非易失性存储器之间的读操作的流程图;图10示出了根据本专利技术构思的示例性实施例的图9的读操作;图11是根据本专利技术构思的示例性实施例的在主机、控制器和非易失性存储器之间的读操作的流程图;图12示出了根据本专利技术构思的示例性实施例的图11的读操作;图13是根据本专利技术构思的示例性实施例的在主机、控制器和非易失性存储器之间的写操作的流程图;图14示出了根据本专利技术构思的示例性实施例的图13的写操作;图15是根据本专利技术构思的示例性实施例的存储系统的修改例的框图;图16A、图16B和图16C示出了根据本专利技术构思的示例性实施例的对区域的重新散列操作;图17是根据本专利技术构思的示例性实施例的存储系统的修改例的框图;图18示出了根据本专利技术构思的示例性实施例的网络系统;图19示出了根据本专利技术构思的示例性实施例的网络;以及图20示出了根据本专利技术构思的示例性实施例的电子设备。具体实施方式图1是根据本专利技术构思的示例性实施例的存储系统10的框图。参考图1,存储系统10可以包括存储设备100和主机200,并且存储设备100可以包括存储器控制器110和非易失性存储器(NVM)120。主机200可以通过各种接口与存储设备100进行通信。例如,主机200可以是应用处理器(AP)或者片上系统(SoC)。在本专利技术构思的示例性实施例中,存储设备100可以是键-值存储设备或者键-值存储器,例如,键-值固态驱动器(SSD)。键-值存储设备可以是被配置为使用键-值对来快速处理数据的设备。“键-值对”可以是键K和值的对,键K可以是唯一的,并且值可以是与键K相对应的数据。“键-值对”可以是“元组”或者“键-值元组”。在键-值对中,键K可以由任意字符串(例如文件名、统一资源标识符(URI)或者散列)来表示,并且值可以是任意类型的数据(例如图像或者用户偏好文件或者文档)。键K和值中的每一个的大小可以变化。例如,值的大小可以根据值中包括的数据而变化。在下文中,将主要描述存储设备100是键-值存储设备的本专利技术构思的示例性实施例。换言之,本文中描述的存储设备100可以基本上与键-值存储设备或者键-值存储器同义。然而,存储设备100不限于此,并且可以用在被配置为通过对象单元管理数据的任意对象高速缓存系统或者对象存储系统中。因此,存储设备100可以以除键-值对之外的任意方式通过对象单元管理数据。在本专利技术构思的示例性实施例中,主机200可以向存储设备100发送包括键K和值的命令CMD(例如,写命令或者放入命令),并且存储设备100可以响应于命令CMD将值写入NVM120。在本专利技术构思的示例性实施例中,主机200可以向存储设备100发送包括键K的命令CMD(例如,读命令或者获取命令),并且存储设备100可以响应于命令CMD从NVM120中读取与键K相对应的值。主机200可以不将键K转换为具有固定大小的逻辑块地址(LBA)单元。相反,主机200可以产生包括具有可变大小的键K在内的命令CMD,并向存储设备100发送所产生的命令CMD。在本专利技术构思的示例性实施例中,主机200可以向存储设备100发送与预定范围的键相对应的命令CMD。该命令CMD可以是迭代命令或者范围查询。例如,主机200可以向存储设备100发送与包括相同前缀的预定范围的键相对应的迭代命令,并且存储设备100可以响应于迭代命令从NVM120中读取与预定范围的键相对应的值。图2示出了根据本专利技术构思的示例性实施例的键K。参考图2,键K可以包括前缀PFX和后缀SFX。前缀PFX可以具有固定大小,并且后缀SFX可以具有可变大小。例如,当键K是16字节时,前缀PFX可以是2字节,并且后缀SFX可以是14字节。在本专利技术构思的示例性实施例中,第一键和第二键的前缀可以相同,而第一键和第二键的后缀可以不同。例如,第一键的前缀可以是“apple”,并且第一键的后缀可以是“juice”。第二键的前缀可以是“apple”,并且第二键的后缀可以是“pie”。在本专利技术构思的示例性实施例中,迭代命令可以是与包括相同前缀的多个键相对应的本文档来自技高网...

【技术保护点】
1.一种存储器控制器,包括:存储器,被配置为存储第一映射表和第二映射表;以及散列模块,被配置为从主机接收包括第一键的命令,并且通过使用所述第一映射表和所述第二映射表检索与所述第一键相对应的第一物理地址,其中,所述第一映射表被配置为存储关于与所述第一键的部分区域相对应的第一区域的第一区域信息,所述第一区域包括至少一个分段,以及所述第二映射表被配置为存储多个分段,其中,每个分段包括多个散列条目,所述多个分段被群组化到多个区域中,并且所述多个散列条目中的每一个存储与键相对应的标签和与所述键相对应的物理地址。

【技术特征摘要】
2018.02.06 KR 10-2018-00147151.一种存储器控制器,包括:存储器,被配置为存储第一映射表和第二映射表;以及散列模块,被配置为从主机接收包括第一键的命令,并且通过使用所述第一映射表和所述第二映射表检索与所述第一键相对应的第一物理地址,其中,所述第一映射表被配置为存储关于与所述第一键的部分区域相对应的第一区域的第一区域信息,所述第一区域包括至少一个分段,以及所述第二映射表被配置为存储多个分段,其中,每个分段包括多个散列条目,所述多个分段被群组化到多个区域中,并且所述多个散列条目中的每一个存储与键相对应的标签和与所述键相对应的物理地址。2.根据权利要求1所述的存储器控制器,其中,所述第一键的所述部分区域对应于所述第一键的前缀,以及所述第一映射表被配置为存储关于分配给所述前缀的第一区域的第一区域信息。3.根据权利要求2所述的存储器控制器,其中,所述第一区域信息包括指示所述第二映射表中的第一区域的头索引的头、以及指示所述第二映射表中的第一区域的大小的长度。4.根据权利要求2所述的存储器控制器,其中,所述第一区域信息包括指示所述第二映射表中的第一区域的头索引的头、指示所述第二映射表中的第一区域的先前大小的第一长度、以及指示所述第二映射表中的第一区域的经改变的大小的第二长度。5.根据权利要求1所述的存储器控制器,其中,所述命令对应于请求读取分别与第一键至第N键相对应的第一值至第N值的迭代命令,以及N是等于或大于2的整数,并且所述第一键至第N键中的每一个包括第一前缀。6.根据权利要求5所述的存储器控制器,其中,所述散列模块被配置为从所述第一映射表获得与所述第一前缀相对应的第一区域信息,并且从所述第二映射表的第一区域检索与所述第一键至第N键相对应的物理地址,以及所述存储器控制器被配置为使用所述物理地址来控制对非易失性存储器的读操作。7.根据权利要求1所述的存储器控制器,其中,所述散列模块被配置为对所述第一键和所述第一区域信息执行第一散列操作,以从所述第二映射表检索第一分段,并且对所述第一键执行第二散列操作,以从所述第一分段检索第一散列条目。8.根据权利要求7所述的存储器控制器,其中,所述第一散列操作是一致性散列操作。9.根据权利要求7所述的存储器控制器,其中,所述第二散列操作是跳房子散列操作。10.根据权利要求1所述的存储器控制器,其中,所述命令对应于包括所述第一键的读命令,所述散列模块被配置为基于所述第一键的前缀从所述第一映射表检索所述第一区域信息,并且基于所述第一键的后缀和所述第一区域信息从所述第二映射表的第一区域检索第一物理地址,以及所述存储器控制器被配置为使用所述第一物理地址来控制对非易失性存储器的读操作。11.根据权利要求10所述的存储器控制器,其中,所述散列模块被配置为对所述第一键的后缀和所述第一区域信息执行第一散列操作,以从所述第二映射表的第一区域检索第一分段,并且对所述第一键的后缀执行第二散列操作,以从所述第一分段检索第一散列条目。12.根据权利要求11所述的存储器控制器,其中,所述第一区域信息包括指示所述第一区域的先前大小的第一长度和指示所述第一区域的经改变的大小的第二长度,其中,...

【专利技术属性】
技术研发人员:梁承俊
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1