[發(fā)明專利]基于KV模型的數(shù)據(jù)訪問方法與固態(tài)存儲設(shè)備有效
| 申請?zhí)枺?/td> | 201611142758.4 | 申請日: | 2016-12-12 | 
| 公開(公告)號: | CN108614668B | 公開(公告)日: | 2022-12-06 | 
| 發(fā)明(設(shè)計)人: | 袁戎;陳亮;孫清濤 | 申請(專利權(quán))人: | 北京憶恒創(chuàng)源科技股份有限公司 | 
| 主分類號: | G06F3/06 | 分類號: | G06F3/06 | 
| 代理公司: | 北京卓特專利代理事務(wù)所(普通合伙) 11572 | 代理人: | 張會會 | 
| 地址: | 100192 北京市海淀區(qū)西小口*** | 國省代碼: | 北京;11 | 
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 | 
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 kv 模型 數(shù)據(jù) 訪問 方法 固態(tài) 存儲 設(shè)備 | ||
1.一種基于KV模型的數(shù)據(jù)訪問方法,其特征在于,包括:
從主機(jī)接收第一鍵(Key)值和第一數(shù)據(jù)(Value);
對第一鍵值作哈希運(yùn)算,得到第一哈希值;
為第一哈希值分配第一物理地址;以及
將第一鍵值和第一數(shù)據(jù)寫入第一物理地址對應(yīng)的NVM的第一數(shù)據(jù)單元;
其中,在閃存轉(zhuǎn)移層表中記錄第一哈希值和第一物理地址的對應(yīng)關(guān)系;
在處理從主機(jī)接收的寫入第二數(shù)據(jù)的命令時,判斷命令中的鍵的哈希值是否在閃存轉(zhuǎn)移層表中存在,若命令中的鍵的哈希值在閃存轉(zhuǎn)移層表中存在,從閃存轉(zhuǎn)移層表中獲取與鍵的哈希值對應(yīng)的物理地址;還根據(jù)命令中的鍵的哈希值在閃存轉(zhuǎn)移層表中對應(yīng)的物理地址從NVM中讀出所存儲的鍵值;若從主機(jī)接收的寫入第二數(shù)據(jù)的命令中的鍵值與從NVM讀出的鍵值相同,表示主機(jī)希望更新數(shù)據(jù),則從NVM為命令中的鍵的哈希值分配新的第二物理地址,向NVM的第二物理地址寫入命令中的鍵和第二數(shù)據(jù);用第二物理地址更新閃存轉(zhuǎn)移層表中命令中的鍵的哈希值對應(yīng)的物理地址;若主機(jī)提供的寫入第二數(shù)據(jù)的命令中的鍵值與從NVM讀出的鍵值不同,表示主機(jī)提供的寫入第二數(shù)據(jù)的命令中的該鍵值與閃存轉(zhuǎn)移層表已經(jīng)存在的鍵值存在哈希沖突,主機(jī)希望寫入以新的鍵值為索引的數(shù)據(jù);則從物理地址讀出鍵值與數(shù)據(jù),將讀出的鍵值與數(shù)據(jù)同主機(jī)要寫入的新鍵值與新數(shù)據(jù)進(jìn)行組合,并將組合后的數(shù)據(jù)寫入新分配的物理地址對應(yīng)的數(shù)據(jù)單元中;
其中,從NVM讀出鍵值的方法為:從閃存轉(zhuǎn)移層表中獲取與鍵的哈希值對應(yīng)的物理地址;從物理地址所指示的數(shù)據(jù)單元中獲取頭數(shù)據(jù),從頭數(shù)據(jù)中獲取鍵的存儲地址并獲取鍵值。
2.如權(quán)利要求1所述的基于KV模型的數(shù)據(jù)訪問方法,其特征在于,還包括:
將第一哈希值,以及為其分配的第一物理地址記錄到閃存轉(zhuǎn)移層表中。
3.如權(quán)利要求1或2所述的基于KV模型的數(shù)據(jù)訪問方法,其特征在于,還包括:
在所述第一數(shù)據(jù)單元中,寫入第一鍵值和第一數(shù)據(jù)在所述第一數(shù)據(jù)單元中的起始地址和/或長度。
4.如權(quán)利要求3所述的基于KV模型的數(shù)據(jù)訪問方法,其特征在于,若所述第一數(shù)據(jù)單元無法容納所述第一鍵值和所述第一數(shù)據(jù),在第一數(shù)據(jù)單元以及與第一數(shù)據(jù)單元在物理地址上連續(xù)的一個或多個第二數(shù)據(jù)單元中寫入所述第一鍵值和所述第一數(shù)據(jù)。
5.如權(quán)利要求1、2、4任一項所述的基于KV模型的數(shù)據(jù)訪問方法,其特征在于,還包括:
從主機(jī)接收第一鍵值;
對第一鍵值作哈希運(yùn)算,得到第一哈希值;
根據(jù)第一哈希值,從閃存轉(zhuǎn)移層表獲取第一物理地址;
從第一物理地址對應(yīng)的第一數(shù)據(jù)單元讀出第一數(shù)據(jù)的起始地址和/或長度;以及
依據(jù)第一數(shù)據(jù)的起始地址及長度,得到第一數(shù)據(jù)。
6.如權(quán)利要求5所述的基于KV模型的數(shù)據(jù)訪問方法,其特征在于,還包括:
從第一數(shù)據(jù)單元得到第二鍵值,將所述第二鍵值與主機(jī)提供的第一鍵值進(jìn)行比較,當(dāng)所述第一鍵值與所述第二鍵值相同時,讀出第一數(shù)據(jù)。
7.如權(quán)利要求4所述的基于KV模型的數(shù)據(jù)訪問方法,其特征在于,還包括:
從主機(jī)接收第一鍵值和第二數(shù)據(jù);
對第一鍵值作哈希運(yùn)算,得到第一哈希值;
為第一哈希值分配第二物理地址;以及
將第一鍵值和第二數(shù)據(jù)寫入第二物理地址對應(yīng)的第三數(shù)據(jù)單元;
用第一哈希值,以及為其分配的第三物理地址更新閃存轉(zhuǎn)移層表。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京憶恒創(chuàng)源科技股份有限公司,未經(jīng)北京憶恒創(chuàng)源科技股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611142758.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F3-00 用于將所要處理的數(shù)據(jù)轉(zhuǎn)變成為計算機(jī)能夠處理的形式的輸入裝置;用于將數(shù)據(jù)從處理機(jī)傳送到輸出設(shè)備的輸出裝置,例如,接口裝置
G06F3-01 .用于用戶和計算機(jī)之間交互的輸入裝置或輸入和輸出組合裝置
G06F3-05 .在規(guī)定的時間間隔上,利用模擬量取樣的數(shù)字輸入
G06F3-06 .來自記錄載體的數(shù)字輸入,或者到記錄載體上去的數(shù)字輸出
G06F3-09 .到打字機(jī)上去的數(shù)字輸出
G06F3-12 .到打印裝置上去的數(shù)字輸出
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





