欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種NANDFLASH數(shù)據(jù)存儲方法與流程

文檔序號:12747957閱讀:486來源:國知局
一種NAND FLASH數(shù)據(jù)存儲方法與流程

本發(fā)明屬于航空電子技術(shù)領(lǐng)域,具體涉及一種NAND FLASH數(shù)據(jù)存儲方法。



背景技術(shù):

NAND FLASH Memory是一種電可擦除讀寫非易失性存儲器。它具有高密度,低成本,非易失性,功耗低,讀寫和擦除速度快等優(yōu)點,廣泛應(yīng)用于飛行參數(shù)記錄系統(tǒng)中防護記錄器和快取記錄器數(shù)據(jù)存儲中。在航空機載設(shè)備領(lǐng)域,通常采用順序存儲的方式,同時由于有自動循環(huán)記錄的要求,即在達到存儲容量后能夠自動覆蓋較早的記錄,但是過去的存儲方法,再將較早的數(shù)據(jù)記錄刪除后,雖然舊的數(shù)據(jù)記錄并沒有完全覆蓋,但卻無法查看到剩余未被覆蓋的數(shù)據(jù),導(dǎo)致在飛行事故處理和日常維護時的不便,與此同時,在進行數(shù)據(jù)履歷下載時必須對每一個數(shù)據(jù)塊從頭到尾查詢一遍,查詢時間很長,極大的增加了維護所需的成本。



技術(shù)實現(xiàn)要素:

本發(fā)明克服了現(xiàn)有技術(shù)的不足,提出了一種NAND FLASH數(shù)據(jù)存儲方法,解決了航空電子領(lǐng)域NAND FLASH數(shù)據(jù)存儲器在飛行事故處理和日常維護時較為不便,查詢時間很長,維護成本高的問題。

考慮到現(xiàn)有技術(shù)的上述問題,根據(jù)本發(fā)明公開的一個方面,本發(fā)明采用以下技術(shù)方案:

一種NAND FLASH數(shù)據(jù)存儲方法,首先根據(jù)NAND FLASH的最小擦除單位為塊,塊由頁組成的特征,采用順序存儲的方式進行數(shù)據(jù)存儲,當(dāng)存儲容量達到數(shù)據(jù)容量的最后一塊時,自動擦除第一塊存儲的數(shù)據(jù),同時在進行數(shù)據(jù)存儲時,每個數(shù)據(jù)由若干個數(shù)據(jù)塊組成,每個數(shù)據(jù)塊均包括數(shù)據(jù)索引區(qū)和有效數(shù)據(jù)區(qū),數(shù)據(jù)索引信息包括偏移地址、數(shù)據(jù)類型、數(shù)據(jù)塊類型、履歷信息和數(shù)據(jù)記錄狀態(tài),其特征在于,方法包括以下步驟:

1)獲取最新的記錄位置的步驟:

1.1)按順序讀取每一個塊的數(shù)據(jù)索引信息;

1.2)當(dāng)數(shù)據(jù)塊的數(shù)據(jù)索引區(qū)指示當(dāng)前塊為空塊時,停止搜索;記錄當(dāng)前地址,即為最新的記錄位置;

2)存儲的步驟:

2.1)每個數(shù)據(jù)塊的第0頁固定寫入數(shù)據(jù)索引信息,第1頁開始為有效數(shù)據(jù)區(qū);

2.2)首先在當(dāng)前塊的第0頁寫入數(shù)據(jù)索引信息,說明當(dāng)前數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為文件起始塊,同時擦除下一數(shù)據(jù)塊,如果當(dāng)前塊為當(dāng)前存儲空間的最后一個塊,則下一數(shù)據(jù)塊為當(dāng)前存儲空間的第0塊;

2.3)當(dāng)數(shù)據(jù)超過一個塊時,在下一個數(shù)據(jù)塊的第0頁繼續(xù)寫入數(shù)據(jù)索引信息,并標(biāo)明當(dāng)前數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為有效數(shù)據(jù)塊;

2.4)當(dāng)在寫入過程中發(fā)現(xiàn)寫入不正確時,自動將數(shù)據(jù)搬移到下一塊,同時將數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型標(biāo)識標(biāo)為壞塊;

3)數(shù)據(jù)循環(huán)存儲的步驟:當(dāng)數(shù)據(jù)寫入存儲空間的最后一個數(shù)據(jù)塊時,自動擦除存儲空間的第0個數(shù)據(jù)塊,同時標(biāo)注該數(shù)據(jù)塊的數(shù)據(jù)索引信息;

4)按履歷信息搜索并下載的步驟:

4.1)根據(jù)步驟2)所存儲的數(shù)據(jù)索引信息,得到當(dāng)前存儲數(shù)據(jù)的數(shù)據(jù)類型、數(shù)據(jù)塊類型、履歷信息,進入步驟4.2);

4.2)如果數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型是文件起始塊,則進入步驟4.3),否則繼續(xù)搜索下一個數(shù)據(jù)塊是否為文件起始塊;

4.3)判斷當(dāng)前塊存儲的數(shù)據(jù)索引信息中的履歷信息是否與要搜索并下載的履歷信息一致,如果一致則從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);如果不一致,繼續(xù)在數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為數(shù)據(jù)起始塊的數(shù)據(jù)塊中查找與下載的履歷信息一致的數(shù)據(jù)塊位置,直到找到位置,找到后從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);如果當(dāng)前存儲空間的所有文件起始塊中的數(shù)據(jù)索引信息中的履歷信息均與下載的不一致,則進行步驟4.5);

4.4)判斷下一個數(shù)據(jù)塊據(jù)索引信息的數(shù)據(jù)塊類型是否為有效數(shù)據(jù)塊,如果為有效數(shù)據(jù)塊,則重復(fù)4.3);

4.5)從第0塊開始判斷當(dāng)前塊存儲的數(shù)據(jù)索引信息中的履歷信息是否與要搜索并下載的履歷信息一致,并且數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為有效數(shù)據(jù)塊,直到找到一個有效數(shù)據(jù)塊并且履歷信息與需下載的履歷信息一致的數(shù)據(jù)塊,找到該數(shù)據(jù)塊塊后,則從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);

5)NAND FLASH掉電時存儲的步驟:掉電時,在當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)索引信息中的數(shù)據(jù)記錄狀態(tài)位置寫入掉電狀態(tài)信息,便于數(shù)據(jù)恢復(fù);

6)循環(huán)存儲后數(shù)據(jù)塊中剩余數(shù)據(jù)的恢復(fù)步驟:通過讀取每個數(shù)據(jù)塊的數(shù)據(jù)索引信息,雖然部分?jǐn)?shù)據(jù)因為循環(huán)存儲被覆蓋,但是由于每個數(shù)據(jù)塊均有履歷信息,按步驟4.1)、4.3)和4.5)恢復(fù)一部分未被覆蓋的剩余的數(shù)據(jù)。

本發(fā)明能有效解決航空機載設(shè)備領(lǐng)域數(shù)據(jù)存儲管理的問題,可以在數(shù)據(jù)循環(huán)記錄時恢復(fù)未被完全覆蓋的數(shù)據(jù)中的剩余部分;本發(fā)明在寫入數(shù)據(jù)索引信息時,增加了數(shù)據(jù)文件寫入狀態(tài),用于標(biāo)識是正常上電寫入還是掉電狀態(tài)寫入,便于恢復(fù)掉電時寫入的數(shù)據(jù),并能有效判斷掉電時刻;本發(fā)明由于在數(shù)據(jù)存儲是寫入了大量數(shù)據(jù)索引信息,方法數(shù)據(jù)查找和比對,極大的提高了大量履歷的下載速度。

附圖說明

圖1是本發(fā)明NAND FLASH內(nèi)部存儲結(jié)構(gòu)示意圖。

圖2是本發(fā)明數(shù)據(jù)文件存放方式結(jié)構(gòu)示意圖。

圖3是本發(fā)明數(shù)據(jù)文件索引信息的內(nèi)容。

圖4是本發(fā)明具體實施方式的數(shù)據(jù)存儲區(qū)結(jié)構(gòu)圖。

圖5是本發(fā)明具體實施方式每個數(shù)據(jù)塊數(shù)據(jù)文件存放方式結(jié)構(gòu)示意圖。

圖6是本發(fā)明具體實施方式數(shù)據(jù)索引信息內(nèi)容示例一(數(shù)據(jù)文件起始塊)。

圖7是本發(fā)明具體實施方式數(shù)據(jù)索引信息內(nèi)容示例二(有效數(shù)據(jù)塊正常上電狀態(tài))。

圖8是本發(fā)明具體實施方式數(shù)據(jù)索引信息內(nèi)容示例三(有效數(shù)據(jù)塊掉電狀態(tài)記錄)。

圖9是本發(fā)明具體實施方式數(shù)據(jù)索引信息內(nèi)容示例四(空塊)。

圖10是本發(fā)明具體實施方式數(shù)據(jù)索引信息內(nèi)容示例五(環(huán)塊)。

具體實施方式

下面結(jié)合實施例對本發(fā)明作進一步地詳細說明,但本發(fā)明的實施方式不限于此。

如圖1所示,首先根據(jù)NAND FLASH的最小擦除單位為塊,塊由頁組成的特征,采用順序存儲的方式進行數(shù)據(jù)存儲,當(dāng)存儲容量達到數(shù)據(jù)容量的最后一塊時,自動擦除第一塊存儲的數(shù)據(jù),同時在進行數(shù)據(jù)存儲時,每個數(shù)據(jù)由若干個數(shù)據(jù)塊組成,如圖2所示。每個數(shù)據(jù)塊均包括數(shù)據(jù)索引區(qū)和有效數(shù)據(jù)區(qū),數(shù)據(jù)索引包括偏移地址、數(shù)據(jù)類型、數(shù)據(jù)塊類型、履歷信息和數(shù)據(jù)記錄狀態(tài),如圖3所示。

其中,

偏移地址:代表有效數(shù)據(jù)在一個數(shù)據(jù)塊中的起始位置;

數(shù)據(jù)類型:代表當(dāng)前數(shù)據(jù)塊存儲數(shù)據(jù)種類,例如:飛行數(shù)據(jù),音頻數(shù)據(jù)等;

數(shù)據(jù)塊類型:代表當(dāng)前數(shù)據(jù)塊是什么類型,例如:有效數(shù)據(jù)塊,文件起始塊、壞塊、空塊等;

履歷信息:代表當(dāng)前數(shù)據(jù)的履歷信息,由年+月+日+時+分+秒組成;

數(shù)據(jù)記錄狀態(tài):代表當(dāng)前數(shù)據(jù)塊是正常上電時記錄的數(shù)據(jù)還是掉電時記錄的數(shù)據(jù)。

本發(fā)明的一種NAND FLASH數(shù)據(jù)存儲方法,包括以下步驟:

1)獲取最新的記錄位置的步驟:

1.1)按順序讀取每一個塊的數(shù)據(jù)索引信息;

1.2)當(dāng)數(shù)據(jù)塊的數(shù)據(jù)索引區(qū)指示當(dāng)前塊為空塊時,停止搜索;記錄當(dāng)前地址,即為最新的記錄位置;

2)存儲的步驟:

2.1)每個數(shù)據(jù)塊的第0頁固定寫入數(shù)據(jù)索引信息,第1頁開始為有效數(shù)據(jù)區(qū);

2.2)首先在當(dāng)前塊的第0頁寫入數(shù)據(jù)索引信息,說明當(dāng)前數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為文件起始塊,同時擦除下一數(shù)據(jù)塊,如果當(dāng)前塊為當(dāng)前存儲空間的最后一個塊,則下一數(shù)據(jù)塊為當(dāng)前存儲空間的第0塊;

2.3)當(dāng)數(shù)據(jù)超過一個塊時,在下一個數(shù)據(jù)塊的第0頁繼續(xù)寫入數(shù)據(jù)索引信息,并標(biāo)明當(dāng)前數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為有效數(shù)據(jù)塊;

2.4)當(dāng)在寫入過程中發(fā)現(xiàn)寫入不正確時,自動將數(shù)據(jù)搬移到下一塊,同時將數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型標(biāo)識標(biāo)為壞塊;

3)數(shù)據(jù)循環(huán)存儲的步驟:當(dāng)數(shù)據(jù)寫入存儲空間的最后一個數(shù)據(jù)塊時,自動擦除存儲空間的第0個數(shù)據(jù)塊,同時標(biāo)注該數(shù)據(jù)塊的數(shù)據(jù)索引信息;

4)按履歷信息搜索并下載的步驟:

4.1)根據(jù)步驟2)所存儲的數(shù)據(jù)索引信息,得到當(dāng)前存儲數(shù)據(jù)的數(shù)據(jù)類型、數(shù)據(jù)塊類型、履歷信息,進入步驟4.2);

4.2)如果數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型是文件起始塊,則進入步驟4.3),否則繼續(xù)搜索下一個數(shù)據(jù)塊是否為文件起始塊;

4.3)判斷當(dāng)前塊存儲的數(shù)據(jù)索引信息中的履歷信息是否與要搜索并下載的履歷信息一致,如果一致則從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);如果不一致,繼續(xù)在數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為數(shù)據(jù)起始塊的數(shù)據(jù)塊中查找與下載的履歷信息一致的數(shù)據(jù)塊位置, 直到找到位置,找到后從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);如果當(dāng)前存儲空間的所有文件起始塊中的數(shù)據(jù)索引信息中的履歷信息均與下載的不一致,則進行步驟4.5);

4.4)判斷下一個數(shù)據(jù)塊據(jù)索引信息的數(shù)據(jù)塊類型是否為有效數(shù)據(jù)塊,如果為有效數(shù)據(jù)塊,則重復(fù)4.3);

4.5)從第0塊開始判斷當(dāng)前塊存儲的數(shù)據(jù)索引信息中的履歷信息是否與要搜索并下載的履歷信息一致,并且數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為有效數(shù)據(jù)塊,直到找到一個有效數(shù)據(jù)塊并且履歷信息與需下載的履歷信息一致的數(shù)據(jù)塊,找到該數(shù)據(jù)塊塊后,則從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);

5)NAND FLASH掉電時存儲的步驟:掉電時,在當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)索引信息中的數(shù)據(jù)記錄狀態(tài)位置寫入掉電狀態(tài)信息,便于數(shù)據(jù)恢復(fù);

6)循環(huán)存儲后數(shù)據(jù)塊中剩余數(shù)據(jù)的恢復(fù)步驟:通過讀取每個數(shù)據(jù)塊的數(shù)據(jù)索引信息,雖然部分?jǐn)?shù)據(jù)因為循環(huán)存儲被覆蓋,但是由于每個數(shù)據(jù)塊均有履歷信息,按步驟4.1)、4.3)和4.5)恢復(fù)一部分未被覆蓋的剩余的數(shù)據(jù)。

下面以圖4至圖10所示為例進行描述。

如圖4所示,數(shù)據(jù)存儲區(qū)由芯片1、芯片2、芯片3和芯片4組成,每個芯片有8192個數(shù)據(jù)塊,每個數(shù)據(jù)塊由64頁組成,每一頁大小為2048字節(jié)。

則應(yīng)用本發(fā)明主要包括以下步驟:

1):獲取最新的記錄位置的步驟:

1.1):從第0塊開始讀取每一塊第1頁的數(shù)據(jù)塊索引信息;

1.2):當(dāng)數(shù)據(jù)索引為全FF時(如圖9),即為最新的記錄位置,記錄當(dāng)前位 置。

2):記錄的步驟:

2.1):每個數(shù)據(jù)塊的第0頁固定寫入數(shù)據(jù)索引信息,第1頁開始為有效數(shù)據(jù)區(qū)(如圖5);

2.2):首先在當(dāng)前塊的第0頁寫入數(shù)據(jù)索引信息,如圖6所示,標(biāo)明當(dāng)前數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為文件起始塊,同時擦除下一數(shù)據(jù)塊,如果當(dāng)前塊為當(dāng)前存儲空間的最后一個塊,則下一數(shù)據(jù)塊為當(dāng)前存儲空間的第0塊;

2.3):當(dāng)數(shù)據(jù)超過一個塊時(如圖7所示),在下一個數(shù)據(jù)塊的第0頁繼續(xù)寫入數(shù)據(jù)信息,并標(biāo)明當(dāng)前數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為有效數(shù)據(jù)塊;

2.4):當(dāng)在寫入過程中發(fā)現(xiàn)寫入不正確時,自動將數(shù)據(jù)搬移到下一塊,并標(biāo)明當(dāng)前數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為有效數(shù)據(jù)塊(如圖10所示)。

3):數(shù)據(jù)循環(huán)記錄的步驟:當(dāng)數(shù)據(jù)寫入存儲空間的最后一個數(shù)據(jù)塊時,自動擦除存儲空間的第0個數(shù)據(jù)塊,同時標(biāo)注該數(shù)據(jù)塊的數(shù)據(jù)索引信息(如圖4所示);

4):按履歷搜索并下載的步驟:

4.1):根據(jù)步驟2.2)所寫入的履歷信息,如圖6所示,得到當(dāng)前記錄的數(shù)據(jù)類型、數(shù)據(jù)塊類型、履歷信息,進入步驟4.2);

4.2):如果數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型是文件起始塊,則進入步驟4.3),否則繼續(xù)搜索下一個數(shù)據(jù)塊是否為文件起始塊,如圖6所示;

4.3):判斷其記錄的履歷信息是否與要搜索并下載的履歷信息一致(2015/04/07/10/30/25/0001),則從當(dāng)前塊的第1頁開始下載該數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);如果不一致,繼續(xù)在數(shù)據(jù)索引信息中的數(shù) 據(jù)塊類型為數(shù)據(jù)起始塊的數(shù)據(jù)塊中查找與下載的履歷信息一致的數(shù)據(jù)塊位置,直到找到位置,找到后從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);如果當(dāng)前存儲空間的所有文件起始塊中的數(shù)據(jù)索引信息中的履歷信息均與下載的不一致,說明該數(shù)據(jù)已經(jīng)被循環(huán)存儲覆蓋了,則進行步驟4.5);

4.4):判斷下一個數(shù)據(jù)塊數(shù)據(jù)索引區(qū)的數(shù)據(jù)塊類型是否為有效數(shù)據(jù)塊(如圖7所示),如果為有效數(shù)據(jù)塊,則重復(fù)4.3);

4.5)從第0塊開始判斷當(dāng)前塊存儲的數(shù)據(jù)索引信息中的履歷信息是否與要搜索并下載的履歷信息一致,并且數(shù)據(jù)索引信息中的數(shù)據(jù)塊類型為有效數(shù)據(jù)塊,直到找到一個有效數(shù)據(jù)塊并且履歷信息與需下載的履歷信息一致的數(shù)據(jù)塊,找到該數(shù)據(jù)塊塊后,則從當(dāng)前塊的第1頁開始下載當(dāng)前存儲的數(shù)據(jù),當(dāng)下載到下一個數(shù)據(jù)塊時,進入步驟4.4);

5):數(shù)據(jù)掉電時記錄的步驟:掉電時,在當(dāng)前數(shù)據(jù)塊的數(shù)據(jù)索引信息中的數(shù)據(jù)記錄狀態(tài)位置寫入掉電狀態(tài)信息,便于數(shù)據(jù)恢復(fù)(如圖8所示);

6):循環(huán)后覆蓋的數(shù)據(jù)恢復(fù)步驟:通過讀取每個數(shù)據(jù)塊的數(shù)據(jù)索引信息,雖然部分?jǐn)?shù)據(jù)因為循環(huán)存儲被覆蓋,但是由于每個數(shù)據(jù)塊均有履歷信息(2015/04/07/10/30/25/0001),按步驟4.1)、4.3)和4.5)恢復(fù)一部分剩余的數(shù)據(jù)(如圖6至圖10所示)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
安多县| 弥渡县| 黎川县| 桓仁| 全椒县| 宜都市| 惠安县| 五大连池市| 浦县| 新闻| 新沂市| 平江县| 塔城市| 云安县| 荣昌县| 雷波县| 平南县| 吐鲁番市| 迭部县| 姜堰市| 密云县| 丰宁| 潢川县| 江安县| 霍邱县| 石狮市| 醴陵市| 翁源县| 德钦县| 长海县| 青阳县| 壶关县| 平凉市| 巫溪县| 阿鲁科尔沁旗| 吴川市| 辉县市| 合山市| 思茅市| 金沙县| 那坡县|