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