[發(fā)明專利]文件數(shù)據(jù)管理方法及裝置有效
| 申請?zhí)枺?/td> | 201510080418.2 | 申請日: | 2015-02-13 |
| 公開(公告)號: | CN104615546B | 公開(公告)日: | 2018-04-27 |
| 發(fā)明(設(shè)計)人: | 孟德國;劉鑫;高自光 | 申請(專利權(quán))人: | 小米科技有限責(zé)任公司 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02 |
| 代理公司: | 北京博思佳知識產(chǎn)權(quán)代理有限公司11415 | 代理人: | 林祥 |
| 地址: | 100085 北京市海淀區(qū)清*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 文件 數(shù)據(jù)管理 方法 裝置 | ||
技術(shù)領(lǐng)域
本公開涉及存儲技術(shù)領(lǐng)域,尤其涉及文件數(shù)據(jù)管理方法及裝置。
背景技術(shù)
Flash(閃存)作為一種存儲器,其不僅具有電子可擦除可編程的性能,還可以快速讀取數(shù)據(jù),使數(shù)據(jù)不會因為斷電而丟失。一種常見的Flash為Nor Flash,通常應(yīng)用在MCU(Micro Control Unit,微控制單元)上,這種Flash按照較小的單元寫入數(shù)據(jù),并且按照較大的單元擦除數(shù)據(jù),因此需要將不能同時有效或無效的數(shù)據(jù)存放在不同的擦寫單元。
相關(guān)技術(shù)中,當(dāng)某個獨立的小數(shù)據(jù)塊占用整個擦寫單元時,例如,一個字節(jié)的數(shù)據(jù)塊占用了1K的擦寫單元,因此浪費了Flash的存儲空間,并且當(dāng)該數(shù)據(jù)塊變化時,需要對1K的存儲空間進行擦除操作,頻繁的擦除操作會縮短Flash的使用壽命。
發(fā)明內(nèi)容
本公開提供了文件數(shù)據(jù)管理方法及裝置,以解決相關(guān)技術(shù)中的文件數(shù)據(jù)管理方式容易浪費Flash存儲空間,縮短Flash使用壽命的問題。
根據(jù)本公開實施例的第一方面,提供一種文件數(shù)據(jù)管理方法,用于對閃存中的文件系統(tǒng)進行管理,所述閃存中包括多個擦寫單元,所述方法包括:
當(dāng)要寫入目標(biāo)文件的目標(biāo)數(shù)據(jù)塊時,根據(jù)已建立的擦寫單元鏈表獲取目標(biāo)擦寫單元;
將所述目標(biāo)數(shù)據(jù)塊寫入所述目標(biāo)擦寫單元;
根據(jù)寫入結(jié)果保存所述目標(biāo)數(shù)據(jù)塊的元信息,并更新所述目標(biāo)文件的數(shù)據(jù)結(jié)構(gòu)和所述目標(biāo)擦寫單元的數(shù)據(jù)結(jié)構(gòu)。
可選的,所述方法還包括:
當(dāng)所述文件系統(tǒng)上電時,根據(jù)所述多個擦寫單元中的數(shù)據(jù)塊的元信息建立每個文件的數(shù)據(jù)結(jié)構(gòu)、每個擦寫單元的數(shù)據(jù)結(jié)構(gòu)、以及擦寫單元鏈表。
可選的,所述數(shù)據(jù)塊的元信息包括:數(shù)據(jù)塊的頭信息,數(shù)據(jù)塊的長度,數(shù)據(jù)塊所屬文件的文件名,數(shù)據(jù)塊的有效性信息,數(shù)據(jù)塊在所屬文件中的序號;
所述建立每個文件的數(shù)據(jù)結(jié)構(gòu)包括:
根據(jù)每個文件的文件名遍歷所述多個擦寫單元,獲得與所述每個文件的文件名具有相同文件名的數(shù)據(jù)塊;
計算所述具有相同文件名的數(shù)據(jù)塊的長度和,將所述長度和作為所述文件的文件長度;
按照所述具有相同文件名的數(shù)據(jù)塊在所述文件中的序號,獲得所述文件的第一個數(shù)據(jù)塊的地址信息和最后一個數(shù)據(jù)塊的地址信息;
生成所述文件的數(shù)據(jù)結(jié)構(gòu),所述文件的數(shù)據(jù)結(jié)構(gòu)中包括所述文件的文件名,所述文件長度,所述第一個數(shù)據(jù)塊的地址信息和最后一個數(shù)據(jù)塊的地址信息。
可選的,建立每個擦寫單元的數(shù)據(jù)結(jié)構(gòu)包括:
按照預(yù)設(shè)的寫入單元的寫入長度遍歷每個擦寫單元,獲取每個擦寫單元中未寫入數(shù)據(jù)的剩余寫入單元的剩余數(shù)量,以及已寫入數(shù)據(jù)的有效寫入單元的有效數(shù)量;
生成所述擦寫單元的數(shù)據(jù)結(jié)構(gòu),所述擦寫單元的數(shù)據(jù)結(jié)構(gòu)中包括所述剩余數(shù)量和所述有效數(shù)量,其中,所述擦寫單元中除所述剩余寫入單元和所述有效寫入單元外的寫入單元為無效寫入單元。
可選的,建立擦寫單元鏈表包括:
遍歷每個擦寫單元的數(shù)據(jù)寫入情況;
根據(jù)未寫入數(shù)據(jù)的擦寫單元建立空閑擦寫單元隊列,所述空閑擦寫單元隊列對為先進先出隊列,以及,根據(jù)已寫入數(shù)據(jù)的擦寫單元建立已使用擦寫單元鏈表,所述已使用擦寫單元鏈表中的擦寫單元中包含剩余寫入單元。
可選的,所述方法還包括:
判斷所述空閑擦寫單元隊列中的擦寫單元的數(shù)量是否小于第一預(yù)設(shè)數(shù)量;
當(dāng)小于所述第一預(yù)設(shè)數(shù)量時,從所述已使用擦寫單元鏈表中獲取不少于第二預(yù)設(shè)數(shù)量的擦寫單元,所述不少于第二預(yù)設(shè)數(shù)量的擦寫單元中的每個擦寫單元的剩余數(shù)量和有效數(shù)量之和小于預(yù)設(shè)寫入單元數(shù)量;
從所述空閑擦寫單元隊列的隊尾獲取至少一個擦寫單元;
將所述不少于第二預(yù)設(shè)數(shù)量的擦寫單元中有效性信息為有效的數(shù)據(jù)塊寫入所述至少一個擦寫單元;
對所述不少于第二預(yù)設(shè)數(shù)量的擦寫單元執(zhí)行擦除操作后,將所述不少于第二預(yù)設(shè)數(shù)量的擦寫單元添加到所述空閑擦寫單元隊列的頭部。
可選的,所述根據(jù)已建立的擦寫單元鏈表獲取目標(biāo)擦寫單元,包括:
從所述已使用擦寫單元鏈表中獲取第一目標(biāo)擦寫單元;
當(dāng)所述目標(biāo)數(shù)據(jù)塊的長度大于所述第一目標(biāo)擦寫單元中剩余寫入單元的長度時,從所述空閑擦寫單元隊列的隊尾獲取第二目標(biāo)擦寫單元。
可選的,所述根據(jù)寫入結(jié)果保存所述目標(biāo)數(shù)據(jù)塊的元信息,包括:
將所述目標(biāo)文件的最后一個數(shù)據(jù)塊在所述目標(biāo)文件中的序號加一作為所述目標(biāo)數(shù)據(jù)塊在所述目標(biāo)文件中的序號;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于小米科技有限責(zé)任公司,未經(jīng)小米科技有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201510080418.2/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 民用大飛機機載網(wǎng)絡(luò)的數(shù)據(jù)管理系統(tǒng)及方法
- 一種移動應(yīng)用安全管控方法和設(shè)備
- 基于數(shù)據(jù)庫管理系統(tǒng)的電極加工管理系統(tǒng)
- 一種數(shù)據(jù)管理方法及裝置
- 基于XBRL標(biāo)準(zhǔn)的主數(shù)據(jù)管理系統(tǒng)的設(shè)計方法
- 大數(shù)據(jù)環(huán)境下實現(xiàn)數(shù)據(jù)管理能力評估的系統(tǒng)及其方法
- 一種基于Hadoop的數(shù)據(jù)管理系統(tǒng)及其管理方法
- 物聯(lián)網(wǎng)檢測數(shù)據(jù)管理系統(tǒng)及物聯(lián)網(wǎng)檢測數(shù)據(jù)管理方法
- 基于核心對象的一體化數(shù)據(jù)管理系統(tǒng)
- 數(shù)據(jù)管理方法、數(shù)據(jù)管理裝置、電子設(shè)備及存儲介質(zhì)





