一種針對nand flash設(shè)備的高可靠文件系統(tǒng)的快速啟動方法
【專利摘要】本發(fā)明涉及一種針對NAND?FLASH設(shè)備的高可靠文件系統(tǒng)的快速啟動方法,包括以下步驟:1)實現(xiàn)文件系統(tǒng)一致性:1.1)申請存儲空間,根據(jù)文件系統(tǒng)的動態(tài)分配和文件系統(tǒng)配置創(chuàng)建一個初始事務(wù)點,并提交初始事務(wù)點;1.2)記錄的文件系統(tǒng)的當(dāng)前狀態(tài)信息,根據(jù)文件系統(tǒng)的當(dāng)前狀態(tài)信息創(chuàng)建一個新的事務(wù)點;1.3)利用緩沖塊回收初始事務(wù)點的初始存儲空間,備用;1.4)執(zhí)行步驟1.1),直至初始操作內(nèi)容完成;2)啟動文件系統(tǒng)。本發(fā)明解決了現(xiàn)有的NAND?FLASH設(shè)備的文件系統(tǒng)啟動速度特別慢的問題,本發(fā)明通過設(shè)計一種合理的文件系統(tǒng)一致性方案以減少文件系統(tǒng)的完整性檢查,且只在合適的時候掃描磁盤以減少磁盤掃描開銷有效縮短文件系統(tǒng)啟動時間。
【專利說明】一種針對NAND FLASH設(shè)備的高可靠文件系統(tǒng)的快速啟動方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機軟件領(lǐng)域,具體涉及一種針對NAND FLASH設(shè)備的高可靠文件系統(tǒng)的快速啟動方法。
【背景技術(shù)】
[0002]面向NAND FLASH等大容量數(shù)據(jù)存儲設(shè)備的文件系統(tǒng)在啟動時由于要進行以下步驟:
[0003]1、設(shè)備上電啟動時需運行類似chkdsk等應(yīng)用程序檢查文件系統(tǒng)的完整性。
[0004]2、在面向大陣列閃存設(shè)備時,由于需要掃描整個大陣列閃存以建立其磁盤狀態(tài)信息,特別是大容量的存儲設(shè)備,掃描整個磁盤會占用大量的時間。
[0005]綜合以上因素,導(dǎo)致文件系統(tǒng)啟動速度特別慢。因此需要設(shè)計一種新的設(shè)計方法, 減少以上步驟,提高文件系統(tǒng)啟動速度。
【發(fā)明內(nèi)容】
[0006]為了解決現(xiàn)有的NAND FLASH設(shè)備的文件系統(tǒng)啟動速度特別慢的技術(shù)問題,本發(fā)明提供一種針對NAND FLASH設(shè)備的高可靠文件系統(tǒng)的快速啟動方法,本發(fā)明通過設(shè)計一種合理的文件系統(tǒng)一致性方案以減少文件系統(tǒng)的完整性檢查,且只在合適的時候掃描磁盤以減少磁盤掃描開銷有效縮短文件系統(tǒng)啟動時間。
[0007]本發(fā)明的技術(shù)解決方案:
[0008]一種針對NAND FLASH設(shè)備的高可靠文件系統(tǒng)的快速啟動方法,包括以下步驟:
[0009]I】實現(xiàn)文件系統(tǒng)一致性:
[0010]1.1】申請存儲空間,根據(jù)文件系統(tǒng)的動態(tài)分配和文件系統(tǒng)配置創(chuàng)建一個初始事務(wù)點,并提交初始事務(wù)點;
[0011]所述初始事務(wù)點包括初始存儲空間和初始操作內(nèi)容,所述初始存儲空間為文件系統(tǒng)動態(tài)分配,所述初始操作內(nèi)容為文件系統(tǒng)配置;
[0012]1.2】記錄的文件系統(tǒng)的當(dāng)前狀態(tài)信息,根據(jù)文件系統(tǒng)的當(dāng)前狀態(tài)信息創(chuàng)建一個新的事務(wù)點;新的事務(wù)點包括新的存儲空間和新的操作內(nèi)容,所述新的操作內(nèi)容與初始操作內(nèi)容一致;
[0013]提交新的事務(wù)點,新的操作內(nèi)容覆蓋初始事務(wù)點的初始操作內(nèi)容;
[0014]1.3】利用緩沖塊回收初始事務(wù)點的初始存儲空間,備用;
[0015]1.4】執(zhí)行步驟1.1】,直至初始操作內(nèi)容完成;
[0016]2】啟動文件系統(tǒng)。
[0017]2、根據(jù)權(quán)利要求1所述的快速啟動方法,其特征在于:還包括在啟動文件系統(tǒng)之前還包括是否掃描NAND FLASH存儲設(shè)備的判斷步驟:
[0018]aINAND FLASH存儲設(shè)備首次掛載,向存儲設(shè)備中的各個存儲塊申請存儲空間,用申請的存儲空間記錄存儲設(shè)備的VBF信息和存儲空間所處的存儲塊的VBF信息;
[0019]bINAND FLASH存儲設(shè)備重新加載,得到存儲設(shè)備的當(dāng)前狀態(tài)信息,同時查找首次掛載時存儲的存儲設(shè)備的VBF信息和各個存儲塊的VBF信息;
[0020]c】將當(dāng)前狀態(tài)信息與存儲設(shè)備的VBF信息和各個存儲塊的VBF信息的進行比較,如果一致,則NAND FLASH存儲設(shè)備直接使用上述VBF信息,不用重新掃描NAND FLASH存儲設(shè)備;如果不一致,則對NAND FLASH存儲設(shè)備執(zhí)行掃描。
[0021]本發(fā)明所具有的優(yōu)點:
[0022]1、本發(fā)明通過事務(wù)點機制,保證文件系統(tǒng)的一致性,減少了通過類似chkdsk等應(yīng)用去額外檢查文件系統(tǒng)的完整性。
[0023]2、本發(fā)明在文件系統(tǒng)啟動所需的設(shè)備掛載時,變每次的全盤掃描為按需掃描,通過保存存儲設(shè)備信息,判斷信息狀態(tài)是否正確,決定是否需要再次存儲設(shè)備掃描。大大提高文件系統(tǒng)的啟動速度,滿足機載領(lǐng)域?qū)ξ募到y(tǒng)的啟動時間要求。
【專利附圖】
【附圖說明】
[0024]圖1是事務(wù)點機制功能;
[0025]圖2為文件系統(tǒng)啟動流程對比圖。
【具體實施方式】
[0026]設(shè)計一種合理的文件系統(tǒng)一致性方案,減少設(shè)備上電后的文件系統(tǒng)完整性檢查。
[0027]本發(fā)明采用事務(wù)點機制保證文件系統(tǒng)在任何時候發(fā)生故障時都能夠恢復(fù)到某一正確狀態(tài)。具體通過以下步驟實現(xiàn):
[0028]1.1】申請存儲空間,根據(jù)文件系統(tǒng)的動態(tài)分配和文件系統(tǒng)配置創(chuàng)建一個初始事務(wù)點,并提交初始事務(wù)點;(即將初始事務(wù)點上內(nèi)存中的數(shù)據(jù)更新到存儲設(shè)備上)
[0029]初始事務(wù)點包括初始存儲空間和初始操作內(nèi)容,初始存儲空間為文件系統(tǒng)動態(tài)分配,初始操作內(nèi)容為文件系統(tǒng)配置;
[0030]1.2】記錄的文件系統(tǒng)的當(dāng)前狀態(tài)信息,根據(jù)文件系統(tǒng)的當(dāng)前狀態(tài)信息創(chuàng)建一個新的事務(wù)點;新的事務(wù)點包括新的存儲空間和新的操作內(nèi)容,新的操作內(nèi)容與初始操作內(nèi)容
一致;
[0031]提交新的事務(wù)點,新的操作內(nèi)容覆蓋初始事務(wù)點的初始操作內(nèi)容;(當(dāng)文件系統(tǒng)在兩個事務(wù)點之間發(fā)生斷電時,將文件數(shù)據(jù)還原到文件系統(tǒng)最后的穩(wěn)定狀態(tài)。以此提供給用戶一個一直保持一致性的文件系統(tǒng))
[0032]1.3】利用緩沖塊回收初始事務(wù)點的初始存儲空間,備用;
[0033]1.4】執(zhí)行步驟1.1】,直至初始操作內(nèi)容完成;
[0034]2】啟動文件系統(tǒng)。設(shè)備上電啟動時,不需要再運行類似chkdsk等應(yīng)用程序來進行文件系統(tǒng)的完整性檢查。
[0035]事務(wù)點機制如圖1所示,Tl時刻用戶配置的事務(wù)點任務(wù)發(fā)生,保存一個初始事務(wù)點,接著,用戶配置的初始事務(wù)點任務(wù)(如寫文件)成功完成后向系統(tǒng)提交,系統(tǒng)在收到提交請求后觸發(fā)事務(wù)點創(chuàng)建,新的事務(wù)點記錄當(dāng)時的文件系統(tǒng)狀態(tài)信息,并且覆蓋上一個初始事務(wù)點,系統(tǒng)在獲知事務(wù)點創(chuàng)建成功后執(zhí)行外存回收。文件操作過程中,如T1-T2時刻,系統(tǒng)崩潰或掉電,文件系統(tǒng)回滾到上一個事務(wù)點狀態(tài)。
[0036]在啟動文件系統(tǒng)之前還判斷是否掃描NAND FLASH存儲設(shè)備:在建立磁盤狀態(tài)信 息時,只在合適的時候掃描磁盤以減少磁盤掃描開銷。
[0037]在存儲設(shè)備首次掛載時,每一個存儲塊分配一小塊空間存儲該存儲設(shè)備VBF信息 和對應(yīng)存儲塊的VBF信息;
[0038]存儲設(shè)備重新加載后,會尋找保存的VBF信息,如果發(fā)現(xiàn)并確定該VBF信息為有 效,它會使用這個狀態(tài)信息,而不用重新掃描存儲設(shè)備。
[0039]該狀態(tài)一但被使用,為防止狀態(tài)信息的陳舊,在磁盤上發(fā)生任何其他活動之前, 該狀態(tài)信息將失效。如果磁盤創(chuàng)建后有效的狀態(tài)信息沒有被發(fā)現(xiàn),將按傳統(tǒng)方法執(zhí)行磁盤 掃描。特別是對于大容量磁盤,整個磁盤的掃描會浪費大量的時間來組織磁盤狀態(tài)信息, 通過減少磁盤掃描次數(shù),只在需要的時候進行磁盤掃描,會大大減少時間開銷,提高啟動速度。
[0040]如圖2所示,本發(fā)明通過事務(wù)點機制設(shè)計節(jié)省了類似chkdsk的文件系統(tǒng)完整性檢 查步驟,并在文件系統(tǒng)啟動所需的設(shè)備掛載時,變每次的全盤掃描為按需掃描,通過保存磁 盤息,判斷息狀態(tài)是否正確,決定是否需要再次磁盤掃描。
[0041]通過上述方法,可以大大提高文件系統(tǒng)的啟動速度,滿足機載領(lǐng)域?qū)ξ募到y(tǒng)的 啟動時間要求。在未使用按需掃描整個邏輯磁盤(測試為8G的電子盤)時,文件系統(tǒng)的啟動 速度為58秒,通過保存第一次掛載時的磁盤狀態(tài)信息,通過查找狀態(tài)信息按需掃描邏輯磁 盤時,文件系統(tǒng)的啟動速度小于10秒。
[0042]使用本發(fā)明所述的文件系統(tǒng)快速啟動方法的具體工作步驟:
[0043](I)通過事務(wù)點機制保證文件系統(tǒng)的一致性(即減少類似chkdsk的文件系統(tǒng)完整 性檢查步驟);
[0044](2)文件系統(tǒng)設(shè)備掛載獲取磁盤信息時變?nèi)P掃描為按需掃描;
[0045](3)啟動文件系統(tǒng):若是第一次設(shè)備掛載,需要掃描整個磁盤,并存儲相應(yīng)的磁盤 狀態(tài)信息,則在步驟3成功啟動后再次啟動時,即可實現(xiàn)本發(fā)明所達到的效果。
【權(quán)利要求】
1.一種針對NAND FLASH設(shè)備的高可靠文件系統(tǒng)的快速啟動方法,其特征在于,包括以下步驟: I】實現(xiàn)文件系統(tǒng)一致性: 1.1】申請存儲空間,根據(jù)文件系統(tǒng)的動態(tài)分配和文件系統(tǒng)配置創(chuàng)建一個初始事務(wù)點,并提交初始事務(wù)點; 所述初始事務(wù)點包括初始存儲空間和初始操作內(nèi)容,所述初始存儲空間為文件系統(tǒng)動態(tài)分配,所述初始操作內(nèi)容為文件系統(tǒng)配置; 1.2】記錄的文件系統(tǒng)的當(dāng)前狀態(tài)信息,根據(jù)文件系統(tǒng)的當(dāng)前狀態(tài)信息創(chuàng)建一個新的事務(wù)點;新的事務(wù)點包括新的存儲空間和新的操作內(nèi)容,所述新的操作內(nèi)容與初始操作內(nèi)容一致; 提交新的事務(wù)點,新的操作內(nèi)容覆蓋初始事務(wù)點的初始操作內(nèi)容; 1.3】利用緩沖塊回收初始事務(wù)點的初始存儲空間,備用; 1.4】執(zhí)行步驟1.1】,直至初始操作內(nèi)容完成; 2】啟動文件系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的快速啟動方法,其特征在于:還包括在啟動文件系統(tǒng)之前還包括是否掃描NAND FLASH存儲設(shè)備的判斷步驟: a]NAND FLASH存儲設(shè)備首次掛載,向存儲設(shè)備中的各個存儲塊申請存儲空間,用申請的存儲空間記錄存儲設(shè)備的VBF信息和存儲空間所處的存儲塊的VBF信息; bINAND FLASH存儲設(shè)備重新加載,得到存儲設(shè)備的當(dāng)前狀態(tài)信息,同時查找首次掛載時存儲的存儲設(shè)備的VBF信息和各個存儲塊的VBF信息; C】將當(dāng)前狀態(tài)信息與存儲設(shè)備的VBF信息和各個存儲塊的VBF信息的進行比較,如果一致,則NAND FLASH存儲設(shè)備直接使用上述VBF信息,不用重新掃描NAND FLASH存儲設(shè)備;如果不一致,則對NAND FLASH存儲設(shè)備執(zhí)行掃描。
【文檔編號】G06F9/445GK103593219SQ201310625980
【公開日】2014年2月19日 申請日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】韓煒, 楊瓊, 葉宏, 胡寧, 任曉瑞, 李運喜, 徐曉光, 周霆, 虞保忠, 張勇, 張燈, 郝繼鋒, 何翔, 尹超, 郭芳超 申請人:中國航空工業(yè)集團公司第六三一研究所