[發明專利]基于閃存的數據存儲方法和裝置有效
| 申請號: | 201810361678.0 | 申請日: | 2018-04-20 |
| 公開(公告)號: | CN108710578B | 公開(公告)日: | 2022-07-26 |
| 發明(設計)人: | 余朝亮;艾駿 | 申請(專利權)人: | 深圳市戰音科技有限公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 廣州嘉權專利商標事務所有限公司 44205 | 代理人: | 樊思遠 |
| 地址: | 518000 廣東省深圳市寶安區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 閃存 數據 存儲 方法 裝置 | ||
1.基于閃存的數據存儲方法,其特征在于:
所述閃存的存儲空間被分為索引區和數據區,索引區和數據區分別包括不同的塊,所述索引區包括具有1個以上的索引項的索引表,所述索引項包括用戶數據標識、用戶數據大小和用戶數據位置;
其中,寫入用戶數據的操作包括以下步驟:
A1.基于索引表,獲取數據區的起始塊的位置、第一個空閑頁的位置和剩余空閑頁數;
A2.比較待寫入的用戶數據的大小和所述數據區的剩余空閑頁的大小,如果待寫入的用戶數據的大小小于數據區的剩余空閑頁的大小,則從數據區的第一個空閑頁起寫入該用戶數據;否則將先備份有效數據,再從數據區的起始塊起順次擦除相當于所述閃存的數據區所占塊數的所有的塊,再將備份的有效數據寫入從數據區的起始塊起的頁,再將所述待寫入的用戶數據寫入后續空閑頁;
A3.更新索引表;
查找在索引表內是否存在其用戶數據標識對應為寫入的用戶數據分配的標識的索引項,如果不存在該查找的索引項,則基于為寫入的用戶數據分配的標識、大小和位置而創建新的索引項;
B3.在創建新的索引項時,如果索引表的索引項數未達到上限,則在索引表的最后一項后添加所述新的索引項,以形成新的索引表;否則將索引表中有效的索引項讀入內存,再擦除索引區,并從索引區的起始頁起寫入有效的索引項和所述新的索引項,以形成新的索引表。
2.根據權利要求1所述的方法,其中,更新索引表的步驟包括以下子步驟:
B1.讀取索引區內的索引表;
B2.查找在所述索引表內是否存在其用戶數據標識對應為寫入的用戶數據分配的標識的索引項,如果存在該查找的索引項,則基于為寫入的用戶數據分配的大小和位置而更新該查找的索引項,以形成新的索引表;
B4.更新索引區。
3.根據權利要求1所述的方法,其中,讀取用戶數據操作包括以下步驟:
C1.讀取索引區內的索引表;
C2.查找在所述索引表內其用戶數據標識對應待讀取的用戶數據的標識的索引項;
C3.基于該查找的索引項的用戶數據大小和用戶數據位置,讀取對應的用戶數據。
4.根據權利要求1所述的方法,其特征在于:在寫入用戶數據時,如果待寫入的用戶數據的大小大于所述數據區的剩余空閑頁的大小的次數大于預設的閾值,且剩余空閑頁的大小大于索引區的大小時,將索引項寫入剩余空閑頁,以作為新的索引區。
5.根據權利要求1-4中任一項所述的方法,其中,所述索引項的用戶數據大小為用戶數據的頁數;所述索引項的所述用戶數據位置為所述用戶數據的起始頁距離所述數據區的起始頁的偏移頁數。
6.基于閃存的數據存儲裝置,其特征在于:
所述閃存的存儲空間被分為索引區和數據區,索引區和數據區分別包括不同的塊,索引區包括具有1個以上的索引項的索引表,所述索引項包括用戶數據標識、用戶數據大小和用戶數據位置,
所述數據存儲裝置包括用戶數據寫入模塊,
所述用戶數據寫入模塊包括以下子模塊:
第一寫入子模塊,用于基于索引表,獲取數據區的起始塊的位置、第一個空閑頁的位置和剩余空閑頁數;
第二寫入子模塊,用于比較待寫入的用戶數據的大小和所述數據區的剩余空閑頁的大小,如果待寫入的用戶數據的大小小于數據區的剩余空閑頁的大小,則從數據區的第一個空閑頁起寫入該用戶數據;否則將先備份有效數據,再從數據區的起始塊起順次擦除相當于所述閃存的數據區所占塊數的所有的塊,再將備份的有效數據寫入從數據區的起始塊起的頁,再將所述待寫入的用戶數據寫入后續空閑頁;
第三寫入子模塊,用于更新索引表。
7.根據權利要求6所述的裝置,其中,所述數據存儲裝置還包括索引表更新模塊,
所述索引表更新模塊包括以下子模塊:
第一更新子模塊,用于讀取索引區內的索引表;
第二更新子模塊,用于查找在所述索引表內是否存在其用戶數據標識對應為寫入的用戶數據分配的標識的索引項,如果存在該查找的索引項,則基于為寫入的用戶數據分配的大小和位置而更新該查找的索引項,以形成新的索引表;如果不存在該查找的索引項,則基于為寫入的用戶數據分配的標識、大小和位置而創建新的索引項;
第三更新子模塊,用于在創建新的索引項時,如果索引表的索引項數未達到上限,則在索引表的最后一項后添加所述新的索引項,以形成新的索引表;否則將索引表中有效的索引項讀入內存,再擦除索引區,并從索引區的起始頁起寫入有效的索引項和所述新的索引項,以形成新的索引表;
第四更新子模塊,用于更新索引區。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市戰音科技有限公司,未經深圳市戰音科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810361678.0/1.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





