鬼佬大哥大
  • / 15
  • 下載費用:30 金幣  

采用不同類型的存儲介質的閃存文件系統及其數據存儲方法.pdf

摘要
申請專利號:

CN201510127418.3

申請日:

2015.03.23

公開號:

CN105069002A

公開日:

2015.11.18

當前法律狀態:

實審

有效性:

審中

法律詳情: 實質審查的生效IPC(主分類):G06F 17/30申請日:20150323|||專利申請權的轉移IPC(主分類):G06F 17/30登記生效日:20160815變更事項:申請人變更前權利人:Aupera 技術有限公司變更后權利人:深圳市傲睿智存科技有限公司變更事項:地址變更前權利人:加拿大不列顛哥倫比亞省本拿比變更后權利人:518054 廣東省深圳市南山區科園路1002號A8音樂大廈2001室|||公開
IPC分類號: G06F17/30; G06F3/06 主分類號: G06F17/30
申請人: Aupera技術有限公司
發明人: 廖玉峰; 周正寧
地址: 加拿大不列顛哥倫比亞省本拿比
優先權: 61/968,373 2014.03.21 US; 14/462,054 2014.08.18 US
專利代理機構: 廣州華進聯合專利商標代理有限公司44224 代理人: 鄭小粵
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510127418.3

授權公告號:

||||||

法律狀態公告日:

2016.10.05|||2016.09.07|||2015.11.18

法律狀態類型:

實質審查的生效|||專利申請權、專利權的轉移|||公開

摘要

本發明提供了一種采用不同類型的存儲介質的閃存文件系統及其數據存儲方法,所述閃存文件系統將文件的元數據和用戶數據分別存儲在不同類型的非易失性存儲器內。通過將非用戶元數據和用戶數據分離在不同類型的存儲器件內,所述文件系統可以通過將合適類型的數據存放在每種存儲器件中,最大限度發揮每種存儲器件的優勢。由這種文件系統管理的存儲器產品在成本、容量、耐用性和啟動時間等方面都要比同等產品更具競爭力。

權利要求書

1.一種采用不同類型的存儲介質的閃存文件系統的數據存儲方法,所述閃存文件
系統用于在不同類型的存儲介質中存儲和管理數據文件,所述方法包括以下步驟:
在第一種類型的存儲介質中使用文件的非用戶數據創建元節點;
將所述元節點插入到所述第一種類型的存儲介質中的索引表中;
在第二種類型的存儲介質中為所述文件的用戶數據分配數據塊;
將所述用戶數據寫入所述第二種類型的存儲介質中的所分配的數據塊內;
對所述第一種類型的存儲介質中的所述元節點進行更新;
對所述第一種類型的存儲介質中的所述索引表進行更新;且
其中所述第一種類型的存儲介質與所述第二種類型的存儲介質是不同類型的存儲
介質。
2.如權利要求1所述的方法,其中所述非用戶數據包括所述用戶數據的索引信息。
3.如權利要求1所述的方法,其中所述非用戶數據進一步包括所述用戶數據的長
度和存儲介質類型的信息。
4.如權利要求1所述的方法,還包括將超級塊數據寫入到所述第一種類型的存儲
介質上的步驟。
5.如權利要求1所述的方法,還包括將所述非用戶數據根據其更新頻率分為兩種
信息、并將所述兩種信息分別寫入不同類型的存儲介質的步驟。
6.一種采用不同類型的存儲介質的閃存文件系統的數據存儲方法,所述閃存文件
系統用于在不同類型的存儲介質中存儲和管理數據文件,所述方法包括以下步驟:
接收讀取文件的指令;
在第一種類型的存儲介質的索引表中搜索所述文件的元節點;
從第二種類型的存儲介質讀取用戶數據;以及
更新所述第一種類型的存儲介質中的所述元節點。
7.一種采用不同類型的存儲介質的閃存文件系統的數據存儲方法,所述閃存文件
系統用于在不同類型的存儲介質中存儲和管理數據文件,所述方法包括以下步驟:
接收刪除文件的指令;
在第一種類型的存儲介質的索引表中搜索所述文件的元節點;
釋放第二種類型的存儲介質中存儲所述文件的用戶數據的數據塊;
在所述第一種類型的存儲介質中刪除所述文件的所述元節點;以及
從所述第一種類型的存儲介質的所述索引表中去除所述文件的所述元節點。
8.一種采用不同類型的存儲介質的閃存文件系統,包括:
組織器模塊,其被配置以將數據文件分離為用戶數據和非用戶數據;和
寫入控制模塊,其被配置以將所述數據文件的所述非用戶數據寫入到第一種類型的
存儲介質上,并將所述數據文件的所述用戶數據寫入到第二種類型的存儲介質上;且
其中所述第一種類型的存儲介質與所述第二種類型的存儲介質是不同類型的存儲
介質。
9.如權利要求8所述的系統,其中所述非用戶數據進一步包括所述用戶數據的索
引信息。
10.如權利要求8所述的系統,其中所述非用戶數據進一步包括所述用戶數據的長
度和存儲介質類型的信息。
11.如權利要求8所述的系統,其中所述寫入控制模塊還將超級塊數據寫入到所述
第一種類型的存儲介質上。
12.如權利要求8所述的系統,其中所述組織器模塊還將所述非用戶數據根據其更
新頻率分為兩類信息,并且所述寫入控制模塊將所述兩類信息分別寫入不同類型的存儲
介質中。
13.如權利要求8所述的系統,其中所述寫入控制模塊使用新文件的非用戶數據在
所述第一種類型的存儲介質中創建元節點,并在所述用戶數據被寫入到所述第二種類型
的存儲介質上之后,對所述元節點進行更新。
14.如權利要求8所述的系統,還包括讀取控制模塊,其在接收到讀取所述數據文
件的請求時,在所述第一種類型的存儲介質上搜索所述數據文件的元節點,從所述第二
種類型的存儲介質上讀取所述用戶數據,然后更新所述元節點的數據。
15.如權利要求8所述的系統,還包括刪除控制模塊,其在接收到刪除所述數據文
件的請求時,在所述第一種類型的存儲介質上搜索所述數據文件的元節點,從所述第二
種類型的存儲介質上釋放所述用戶數據的數據塊,在所述第一種類型的存儲介質內刪除
所述元節點,然后從所述第一種類型的存儲介質的索引表中去除所述元節點。

說明書

采用不同類型的存儲介質的閃存文件系統及其數據存儲方法

技術領域

本文所公開的系統及其數據存儲方法涉及一種用于基于閃存的存儲系統的文件管
理系統,更具體而言,涉及一種采用不同類型的存儲介質的閃存文件系統及其數據存儲
方法。

背景技術

文件系統是控制數據如何存儲及如何從存儲介質上提取數據的軟件。它包括用于管
理數據及管理關于數據的信息的結構規則和邏輯規則。如果沒有文件系統,置于存儲區
內的信息將會是一個大量數據的匯總,無法知曉某一部分信息在哪里停止、下一部分信
息從哪里開始。文件系統將數據作為一組文件加以組織。每個文件包括一個或多個實際
用戶數據塊以及用于描述和識別數據的信息。

在市場上有許多種類的文件系統。它們在結構和邏輯上以及速度、靈活性、安全性、
大小和更多特性方面有差異。一些文件系統針對特定應用而設計。文件系統可用于管理
不同種類的存儲介質。存儲介質可以采用不同種類的存儲器件。有針對特定類型的存儲
器件而設計的文件系統。例如,有磁盤文件系統、光盤、閃存文件系統和磁帶文件系統。

閃存文件系統專門針對閃存存儲器件特別的能力、性能和局限性而設計。盡管磁盤
文件系統能夠將閃存存儲器件作為下層存儲介質進行管理,但使用專門針對將閃存器件
用作主存儲介質的存儲產品而設計的文件系統還是要優越得多。

市場上存在幾種閃存文件系統。可購買的類型包括UBIFS、JFFS2、YAFFS和LogFS。

還有其他文件系統宣稱是閃存文件系統,但它們實際上被稱為塊設備驅動器更恰
當。其實例包括TrueFFS和ExtremeFFS。這些類型的文件系統隱藏了糾錯、壞塊管理
和損耗均衡的詳細實施方式,并提供類似接口的塊設備。然而,它并沒有文件系統接口。
它既不管理元數據,也不管理文件的索引信息。這些有局限性的實施方式不在在此公開
的本發明的范圍內。

發明內容

基于此,有必要針對現有技術存在的問題,提供一種采用不同類型的存儲介質的閃
存文件系統及其數據存儲方法,通過將合適類型的數據存放在每種類型的存儲器件中,
最大限度發揮每種類型的存儲器件的優勢。

本發明的采用不同類型的存儲介質的閃存文件系統的數據存儲方法是通過下述技
術方案實現的:

一種采用不同類型的存儲介質的閃存文件系統的數據存儲方法,所述閃存文件系統
用于在不同類型的存儲介質中存儲和管理數據文件,所述方法包括以下步驟:

在第一種類型的存儲介質中使用文件的非用戶數據創建元節點;

將所述元節點插入到所述第一種類型的存儲介質中的索引表中;

在第二種類型的存儲介質中為所述文件的用戶數據分配數據塊;

將所述用戶數據寫入所述第二種類型的存儲介質中的所分配的數據塊內;

對所述第一種類型的存儲介質中的所述元節點進行更新;

對所述第一種類型的存儲介質中的所述索引表進行更新;且

其中所述第一種類型的存儲介質與所述第二種類型的存儲介質是不同類型的存儲
介質。

在本發明的一些實施例中,所述非用戶數據包括所述用戶數據的索引信息。

在本發明的一些實施例中,所述非用戶數據進一步包括所述用戶數據的長度和存儲
介質類型的信息。

在本發明的一些實施例中,還包括將超級塊數據寫入到所述第一種類型的存儲介質
上的步驟。

在本發明的一些實施例中,還包括將所述非用戶數據根據其更新頻率分為兩種信
息、并將所述兩種信息分別寫入不同類型的存儲介質的步驟。

一種采用不同類型的存儲介質的閃存文件系統的數據存儲方法,所述閃存文件系統
用于在不同類型的存儲介質中存儲和管理數據文件,所述方法包括以下步驟:

接收讀取文件的指令;

在第一種類型的存儲介質的索引表中搜索所述文件的元節點;

從第二種類型的存儲介質讀取用戶數據;以及

更新所述第一種類型的存儲介質中的所述元節點。

一種采用不同類型的存儲介質的閃存文件系統的數據存儲方法,所述閃存文件系統
用于在不同類型的存儲介質中存儲和管理數據文件,所述方法包括以下步驟:

接收刪除文件的指令;

在第一種類型的存儲介質的索引表中搜索所述文件的元節點;

釋放第二種類型的存儲介質中存儲所述文件的用戶數據的數據塊;

在所述第一種類型的存儲介質中刪除所述文件的所述元節點;以及

從所述第一種類型的存儲介質的所述索引表中去除所述文件的所述元節點。

本發明的采用不同類型的存儲介質的閃存文件系統是通過下述技術方案實現的:

一種采用不同類型的存儲介質的閃存文件系統,包括:

組織器模塊,其被配置以將數據文件分離為用戶數據和非用戶數據;和

寫入控制模塊,其被配置以將所述數據文件的所述非用戶數據寫入到第一種類型的
存儲介質上,并將所述數據文件的所述用戶數據寫入到第二種類型的存儲介質上;且

其中所述第一種類型的存儲介質與所述第二種類型的存儲介質是不同類型的存儲
介質。

在本發明的一些實施例中,所述非用戶數據進一步包括所述用戶數據的索引信息。

在本發明的一些實施例中,所述非用戶數據進一步包括所述用戶數據的長度和存儲
介質類型的信息。

在本發明的一些實施例中,所述寫入控制模塊還將超級塊數據寫入到所述第一種類
型的存儲介質上。

在本發明的一些實施例中,所述組織器模塊還將所述非用戶數據根據其更新頻率分
為兩類信息,并且所述寫入控制模塊將所述兩類信息分別寫入不同類型的存儲介質中。

在本發明的一些實施例中,所述寫入控制模塊使用新文件的非用戶數據在所述第一
種類型的存儲介質中創建元節點,并在所述用戶數據被寫入到所述第二種類型的存儲介
質上之后,對所述元節點進行更新。

在本發明的一些實施例中,還包括讀取控制模塊,其在接收到讀取所述數據文件的
請求時,在所述第一種類型的存儲介質上搜索所述數據文件的元節點,從所述第二種類
型的存儲介質上讀取所述用戶數據,然后更新所述元節點的數據。

在本發明的一些實施例中,還包括刪除控制模塊,其在接收到刪除所述數據文件的
請求時,在所述第一種類型的存儲介質上搜索所述數據文件的元節點,從所述第二種類
型的存儲介質上釋放所述用戶數據的數據塊,在所述第一種類型的存儲介質內刪除所述
元節點,然后從所述第一種類型的存儲介質的索引表中去除所述元節點。

本文所公開的采用不同類型的存儲介質的閃存文件系統及其數據存儲方法,將文件
的元數據和用戶數據分別存儲在不同類型的非易失性存儲器內。通過將非用戶元數據和
用戶數據分離在不同類型的存儲器件內,所述文件系統可以通過將合適類型的數據存放
在相應的存儲器件中,最大限度發揮每種類型的存儲器件的優勢。由這種文件系統管理
的存儲產品在成本、容量、耐用性和啟動時間等方面都要比同等產品更具競爭力。

附圖說明

圖1顯示了一個文件的邏輯組成部分的框圖。

圖2顯示了一個常規文件系統索引樹的示例。

圖3顯示了一種常規的文件系統的實現方式。

圖4顯示了本發明的一個優選實施例。

圖5顯示了一個將頻繁更新或很少更新的非用戶數據存儲在不同類型的存儲介質內
的優選實施例。

圖6顯示了在一個優選實施例中創建文件的流程圖。

圖7顯示了在一個優選實施例中寫入/添加文件操作的流程圖。

圖8顯示了在一個優選實施例中讀取文件操作的流程圖。

圖9顯示了在一個優選實施例中刪除文件操作的流程圖。

具體實施方式

圖1示出了一個典型的計算機文件的邏輯組成部分。文件100由元數據101和用戶
數據102組成。

元數據101是關于數據的數據,也稱為非用戶數據。它包括通常與文件系統中每個
文件相關的信息,包括但不限于:

a)用戶數據的長度;

b)文件的創建時間;

c)文件最近一次被修改的時間;

d)文件最近一次被訪問的時間;

e)文件的元數據最近一次被改變的時間;

f)文件最近一次被備份的時間;

g)文件的存儲器件的類型;

h)文件的所有者的用戶名和組名;

i)文件的訪問權限;以及

j)文件名。

用戶數據102是用戶在文件中存儲和使用的實際數據。

圖2示出了一個常規文件系統索引樹或索引表的示例。在本例中,根目錄節點200
包括兩個子目錄節點:Dir-A201和Dir-B202。Dir-A201包含兩個文件節點(File.a203
和File.b204)。Dir-B202僅包含一個文件節點(File.c205)。在索引樹的最低一級上,
文件節點203、204和205也被稱為葉節點。

圖3示出了在存儲介質300中的一種常規的文件系統的實現方式。通常,超級塊301、
索引信息302、303、304、305、306和307、元數據308、用戶數據309被存儲在同一
存儲介質上,和/或需要在同一存儲介質上進行同步。存儲介質可由NAND或NOR閃存
存儲器件制成。

圖2所示的索引樹或索引表傳統上在存儲介質300中作為鏈表實現。在存儲介質300
中會創建相應的數據結構,以存儲索引信息301、302、303、304、305、306和307。

文件索引樹葉節點(例如204)指向一個具體的文件條目305,所述文件條目指向
同一存儲介質上的元數據308和若干個用戶數據塊309。

圖4示出了本文件系統的一個優選實施例。用戶數據411被保存在存儲介質B410
內。包括但不限于超級塊401、索引信息402、403、404、405和406,和元數據407的
非用戶數據被保存在存儲介質A400內。存儲介質A和B采用不同類型的存儲器件。

存儲介質A400可由MRAM、NOR閃存、SLC閃存制成,但并不僅限于這些類型。

存儲介質B410可由eMLC閃存、MLC閃存、TLC閃存和eMMC卡制成,但并不
僅限于這些類型。

與存儲介質A400相比,存儲介質B410通常由在配置方面a)容量更高、b)耐用
性較低且c)成本較低的存儲器件制成。

圖5示出了一個將頻繁更新和很少更新的非用戶數據存儲在不同類型存儲介質內的
優選實施例。根據數據更新的頻率,包括超級塊、索引信息和元數據的非用戶數據可被
進一步分離并存儲在不同類型的存儲介質上。例如,索引信息402、403、404、405、406
和407,以及一些頻繁修改的元數據被存儲在介質A-1(501)內,而超級塊401及其他
很少修改的元數據則被存儲在介質A-2(502)內。

圖6示出了在一個優選實施例中創建文件的流程圖。圖7展示了一個寫入/添加文件
的操作。在收到創建新文件的請求后,文件系統首先采用組織器模塊,將進入的數據在
文件中分離為用戶數據和非用戶數據。隨后它使用寫入控制模塊,將所述數據文件的非
用戶數據寫入到存儲介質A上,將所述數據文件的用戶數據寫入到存儲介質B上。存
儲介質A和存儲介質B由不同類型的存儲器件制成。系統首先嘗試在存儲介質A中為
元節點分配存儲區。如果成功,它將查詢存儲介質A上的索引樹或表的容量,以檢查是
否允許添加新的條目。隨后文件系統將使用文件的非用戶數據創建和填充元節點數據。
元節點還將被添加到存儲介質A內的索引樹/表中。在創建元節點之后,文件系統將嘗
試在存儲介質B中為用戶數據分配數據塊。一旦成功,用戶數據即被保存到存儲介質B
中所分配的數據塊上。存儲介質A中的元節點和索引樹/表也以涉及存儲介質B中的寫
操作的信息進行更新。如果是對現有文件進行寫入/添加操作,寫入控制模塊將首先在存
儲介質A的索引樹或表中對相應的元節點進行搜索和定位。

圖8示出了在系統的一個優選實施例中的一個示例性的讀取文件操作。文件系統采
用讀取控制模塊處理文件讀取操作。系統首先接收到讀取文件的指令。它將在存儲介質
A的索引樹/表內搜索所述文件的元節點。隨后它采用索引信息從存儲介質B中讀取該
文件的用戶數據。存儲介質A中的元節點在成功的讀取操作之后被更新。

圖9示出了在系統的一個優選實施例中的一個示例性的刪除文件操作。文件系統采
用刪除控制模塊處理文件刪除操作。系統首先接收到刪除文件的指令。它在存儲介質A
的索引樹/表內搜索所述文件的元節點。系統采用索引信息對包含存儲介質B中的該文
件的用戶數據的數據塊進行釋放或解除引用。隨后它將刪除存儲介質A中的所述文件的
元節點,并將該元節點從存儲介質A的索引表中去除。

盡管根據特定的實施例對本發明進行了描述,但可以預見,對其進行的變更和改動
無疑將對本領域技術人員是顯而易見的。因此以下權利要求應被理解為涵蓋落入本發明
真正精神和范圍內的所有此類變更和改動。

關 鍵 詞:
采用 不同類型 存儲 介質 閃存 文件系統 及其 數據 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:采用不同類型的存儲介質的閃存文件系統及其數據存儲方法.pdf
鏈接地址:http://www.wwszu.club/p-6386031.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大