[发明专利]基于KV模型的数据访问方法与固态存储设备有效
申请号: | 201611142758.4 | 申请日: | 2016-12-12 |
公开(公告)号: | CN108614668B | 公开(公告)日: | 2022-12-06 |
发明(设计)人: | 袁戎;陈亮;孙清涛 | 申请(专利权)人: | 北京忆恒创源科技股份有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 张会会 |
地址: | 100192 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 kv 模型 数据 访问 方法 固态 存储 设备 | ||
1.一种基于KV模型的数据访问方法,其特征在于,包括:
从主机接收第一键(Key)值和第一数据(Value);
对第一键值作哈希运算,得到第一哈希值;
为第一哈希值分配第一物理地址;以及
将第一键值和第一数据写入第一物理地址对应的NVM的第一数据单元;
其中,在闪存转移层表中记录第一哈希值和第一物理地址的对应关系;
在处理从主机接收的写入第二数据的命令时,判断命令中的键的哈希值是否在闪存转移层表中存在,若命令中的键的哈希值在闪存转移层表中存在,从闪存转移层表中获取与键的哈希值对应的物理地址;还根据命令中的键的哈希值在闪存转移层表中对应的物理地址从NVM中读出所存储的键值;若从主机接收的写入第二数据的命令中的键值与从NVM读出的键值相同,表示主机希望更新数据,则从NVM为命令中的键的哈希值分配新的第二物理地址,向NVM的第二物理地址写入命令中的键和第二数据;用第二物理地址更新闪存转移层表中命令中的键的哈希值对应的物理地址;若主机提供的写入第二数据的命令中的键值与从NVM读出的键值不同,表示主机提供的写入第二数据的命令中的该键值与闪存转移层表已经存在的键值存在哈希冲突,主机希望写入以新的键值为索引的数据;则从物理地址读出键值与数据,将读出的键值与数据同主机要写入的新键值与新数据进行组合,并将组合后的数据写入新分配的物理地址对应的数据单元中;
其中,从NVM读出键值的方法为:从闪存转移层表中获取与键的哈希值对应的物理地址;从物理地址所指示的数据单元中获取头数据,从头数据中获取键的存储地址并获取键值。
2.如权利要求1所述的基于KV模型的数据访问方法,其特征在于,还包括:
将第一哈希值,以及为其分配的第一物理地址记录到闪存转移层表中。
3.如权利要求1或2所述的基于KV模型的数据访问方法,其特征在于,还包括:
在所述第一数据单元中,写入第一键值和第一数据在所述第一数据单元中的起始地址和/或长度。
4.如权利要求3所述的基于KV模型的数据访问方法,其特征在于,若所述第一数据单元无法容纳所述第一键值和所述第一数据,在第一数据单元以及与第一数据单元在物理地址上连续的一个或多个第二数据单元中写入所述第一键值和所述第一数据。
5.如权利要求1、2、4任一项所述的基于KV模型的数据访问方法,其特征在于,还包括:
从主机接收第一键值;
对第一键值作哈希运算,得到第一哈希值;
根据第一哈希值,从闪存转移层表获取第一物理地址;
从第一物理地址对应的第一数据单元读出第一数据的起始地址和/或长度;以及
依据第一数据的起始地址及长度,得到第一数据。
6.如权利要求5所述的基于KV模型的数据访问方法,其特征在于,还包括:
从第一数据单元得到第二键值,将所述第二键值与主机提供的第一键值进行比较,当所述第一键值与所述第二键值相同时,读出第一数据。
7.如权利要求4所述的基于KV模型的数据访问方法,其特征在于,还包括:
从主机接收第一键值和第二数据;
对第一键值作哈希运算,得到第一哈希值;
为第一哈希值分配第二物理地址;以及
将第一键值和第二数据写入第二物理地址对应的第三数据单元;
用第一哈希值,以及为其分配的第三物理地址更新闪存转移层表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆恒创源科技股份有限公司,未经北京忆恒创源科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611142758.4/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置