国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種nandflash數(shù)據(jù)存儲方法

      文檔序號:6631964閱讀:260來源:國知局
      一種nand flash數(shù)據(jù)存儲方法
      【專利摘要】本發(fā)明屬于航空電子【技術(shù)領(lǐng)域】,特別是涉及到一種NADA FLASH數(shù)據(jù)存儲方法,該方法能有效解決航空機(jī)載設(shè)備領(lǐng)域數(shù)據(jù)存儲管理的問題。該方法支持多分區(qū)操作,可以在每個分區(qū)內(nèi)自動循環(huán)記錄,具備天然的磨損均衡特征。可以有效避免其他管理方法遇到的掉電問題。并能夠支持按時間搜索和按特定參數(shù)搜索功能,尤其在海量數(shù)據(jù)存儲中,可以避免大量無用信息的轉(zhuǎn)存時間,有效解決了航空機(jī)載設(shè)備領(lǐng)域數(shù)據(jù)存儲管理普遍存在的問題。
      【專利說明】—種NAND FLASH數(shù)據(jù)存儲方法

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于航空電子【技術(shù)領(lǐng)域】,特別是涉及到一種NADA FLASH數(shù)據(jù)存儲方法。

      【背景技術(shù)】
      [0002]NAND FLASH Memory是一種點(diǎn)可擦除讀寫非易失性存儲器。它具有高密度,低成本,非易失性,功耗低,讀寫和擦除速度快等優(yōu)點(diǎn),因此在移動設(shè)備中得到了廣泛應(yīng)用。目前在NAND FLASH中采用的數(shù)據(jù)存儲方法,包括FAT、JFFS、YAFFS等。但是由于NAND FLASH按塊擦除,按頁寫入的特點(diǎn),以及NAND FLASH的壽命限制,導(dǎo)致這幾種管理方法,均需要復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和磨損均衡算法進(jìn)行支撐,隨著NAND FLASH的頁的容量的不斷增加,常見的算法已經(jīng)不太適應(yīng)新的NAND FLASH的應(yīng)用場合。
      [0003]在航空機(jī)載設(shè)備領(lǐng)域,往往需要循環(huán)記錄一組參數(shù),并能夠自動刪除較老的記錄,顯然常見的數(shù)據(jù)存儲方法,均很難滿足航空機(jī)載設(shè)備領(lǐng)域海量存儲的應(yīng)用。與此同時,機(jī)載設(shè)備的掉電往往是不可預(yù)測的,掉電中斷給予設(shè)備的反應(yīng)時間很有限,傳統(tǒng)的數(shù)據(jù)存儲方法很難在有限的時間里完成數(shù)據(jù)的掉電處理工作(如寫入文件結(jié)束標(biāo)志等),從而造成數(shù)據(jù)丟失。


      【發(fā)明內(nèi)容】

      [0004]發(fā)明目的:本發(fā)明的目的是提供一種NAND FLASH數(shù)據(jù)存儲方法,解決航空電子領(lǐng)域NAND FLASH海量數(shù)據(jù)存儲管理問題。
      [0005]技術(shù)方案:本發(fā)明采用的方案是首先,根據(jù)NAND FLASH的最小擦除單位為塊,塊由頁組成的特征,在多個芯片組成的并行通道的海量存儲中,由橫向一組塊組成最小管理單位組塊,當(dāng)只有一個芯片時,則塊即為最小管理單位;整個數(shù)據(jù)區(qū)域按照組塊進(jìn)行分區(qū),每個分區(qū)的首地址為basei,在NAND FLASH的每個塊的首頁記錄當(dāng)前塊的頭信息,頭信息中包括當(dāng)前塊的數(shù)據(jù)類型,所屬分區(qū),塊順序號,邏輯地址,履歷、時間和狀態(tài)字信息,其特征在于,包括以下步驟:
      [0006]A:犾取最新的記錄位直的步驟:
      [0007]Al:從預(yù)先分配的分區(qū)信息得到每個分區(qū)首地址basei ;
      [0008]A2:從basei開始搜索塊的首頁,直到首頁的首個字節(jié)為FF時,停止搜索;記錄當(dāng)前地址為offseti,即為最新的記錄位置;
      [0009]B:記錄的步驟:
      [0010]B1:首先在當(dāng)前塊的第O頁寫入頭信息,同時擦除下一數(shù)據(jù)塊,如果當(dāng)前塊為最后一個塊,則下一數(shù)據(jù)塊為首地址;
      [0011]B2:從當(dāng)前塊的第I頁開始寫入待記錄的數(shù)據(jù),直到數(shù)據(jù)記滿,然后返回步驟BI,開始下一個數(shù)據(jù)塊的記錄,直至記錄完畢;
      [0012]C:掉電的步驟:掉電時,由于在首頁位置寫入了頭信息,因此停止記錄即可;
      [0013]D:按履歷搜索并下載的步驟:
      [0014]Dl:根據(jù)步驟A2得到當(dāng)前地址current = offseti,進(jìn)入步驟D2 ;
      [0015]D2:讀取current-Ι處記錄塊的頭信息,得到當(dāng)前記錄的數(shù)據(jù)類型,所屬分區(qū),塊順序號,邏輯地址,履歷、時間和狀態(tài)字信息;進(jìn)入步驟D3 ;如果current是首地址,則current-Ι后應(yīng)卷回到當(dāng)前分區(qū)的末尾。
      [0016]D3:判斷其記錄的履歷信息是否與要搜索并下載的履歷信息一致,一致則從current-Ι-塊順序號處開始下載記錄信息,否則令current = current-1-塊順序號,進(jìn)入步驟D2 ;
      [0017]E:按時間搜索并下載的步驟:
      [0018]El:根據(jù)Dl,D2, D3找到要搜索并下載的記錄,進(jìn)入步驟E2 ;
      [0019]E2:讀取當(dāng)前記錄的第一個塊和最后一個塊的頭信息,得到當(dāng)前記錄的塊的數(shù)據(jù)量m和記錄起止時間t0, tl,進(jìn)入步驟E3 ;
      [0020]E3:計算待搜索并下載時刻ts的位置k = (ts-tO) + (tl_t0) Xm,進(jìn)入步驟E4 ;
      [0021]E4:下載當(dāng)前記錄起始位置+k處的記錄,即為要搜索并下載的記錄;
      [0022]F:按特定參數(shù)搜索并下載的步驟:
      [0023]Fl:根據(jù)Dl, D2, D3找到要搜索并下載的記錄,令current =待搜索記錄的首塊地址進(jìn)入步驟F2 ;
      [0024]F2:定義存儲數(shù)據(jù)的幀長度為L,待搜索并下載參數(shù)的位置為j,依次下載當(dāng)前塊所有數(shù)據(jù)頁位置j到位置j+nXL處的數(shù)據(jù),其中η的范圍從O?當(dāng)前頁記錄的總幀數(shù)_1,進(jìn)入步驟F3 ;
      [0025]F3:當(dāng)前塊current = current+1,進(jìn)入步驟F2,直至記錄結(jié)束。
      [0026]有益效果:本發(fā)明能有效解決航空機(jī)載設(shè)備領(lǐng)域數(shù)據(jù)存儲管理的問題??梢栽诿總€分區(qū)內(nèi)自動循環(huán)記錄,具備天然的磨損均衡特征。
      [0027]本發(fā)明采用了先寫入頭信息的方式,可以有效避免其他管理方法遇到的掉電問題。
      [0028]本發(fā)明能夠支持按履歷、按時間和按特定參數(shù)搜索并下載的功能,尤其在海量數(shù)據(jù)存儲中,可以避免大量無用信息的下載時間。

      【專利附圖】

      【附圖說明】
      [0029]圖1數(shù)據(jù)存儲方法示意圖
      [0030]圖2文件頭信息,說明:其中所屬分區(qū)和所屬塊號,可以用來在意外條件下恢復(fù)配置表和替換表。所屬塊號是邏輯塊號,非物理塊號。
      [0031]圖3數(shù)據(jù)存放方式示意圖
      圖4為實施例數(shù)據(jù)存放方式示意圖圖5為實施例中單次記錄的第一個頭信息示意圖;
      圖6為實施例中最后一個頭信息意圖。

      【具體實施方式】
      [0032]下面結(jié)合附圖對本發(fā)明做進(jìn)一步詳細(xì)描述,如圖2、圖3所示,首先,根據(jù)NANDFLASH的最小擦除單位為塊,塊由頁組成的特征,在多個芯片組成的并行通道的海量存儲中,由橫向一組塊組成最小管理單位組塊,當(dāng)只有一個芯片時,則塊即為最小管理單位;整個數(shù)據(jù)區(qū)域按照組塊進(jìn)行分區(qū),每個分區(qū)的首地址為basei,在NAND FLASH的每個塊的首頁記錄當(dāng)前塊的頭信息,頭信息中包括當(dāng)前塊的數(shù)據(jù)類型,所屬分區(qū),塊順序號,邏輯地址,履歷、時間和狀態(tài)字信息,一種NAND FLASH數(shù)據(jù)存儲方法包括以下步驟:
      [0033]A:犾取最新的記錄位直的步驟:
      [0034]Al:從預(yù)先分配的分區(qū)信息得到每個分區(qū)首地址basei ;
      [0035]A2:從basei開始搜索塊的首頁,直到首頁的首個字節(jié)為FF時,停止搜索;記錄當(dāng)前地址為offseti,即為最新的記錄位置;
      [0036]B:記錄的步驟:
      [0037]B1:首先在當(dāng)前塊的第O頁寫入頭信息,同時擦除下一數(shù)據(jù)塊,如果當(dāng)前塊為最后一個塊,則下一數(shù)據(jù)塊為首地址;
      [0038]B2:從當(dāng)前塊的第I頁開始寫入待記錄的數(shù)據(jù),直到數(shù)據(jù)記滿,然后返回步驟BI,開始下一個數(shù)據(jù)塊的記錄,直至記錄完畢;
      [0039]C:掉電的步驟:掉電時,由于在首頁位置寫入了頭信息,因此停止記錄即可;
      [0040]D:按履歷搜索并下載的步驟:
      [0041]Dl:根據(jù)步驟A2得到當(dāng)前地址current = offseti,進(jìn)入步驟D2 ;
      [0042]D2:讀取current-Ι處記錄塊的頭信息,得到當(dāng)前記錄的數(shù)據(jù)類型,所屬分區(qū),塊順序號,邏輯地址,履歷、時間和狀態(tài)字信息;進(jìn)入步驟D3 ;如果current是首地址,則current-Ι后應(yīng)卷回到當(dāng)前分區(qū)的末尾。
      [0043]D3:判斷其記錄的履歷信息是否與要搜索并下載的履歷信息一致,一致則從current-Ι-塊順序號處開始下載記錄信息,否則令current = current-1-塊順序號,進(jìn)入步驟D2 ;
      [0044]E:按時間搜索并下載的步驟:
      [0045]El:根據(jù)Dl,D2, D3找到要搜索并下載的記錄,進(jìn)入步驟E2 ;
      [0046]E2:讀取當(dāng)前記錄的第一個塊和最后一個塊的頭信息,得到當(dāng)前記錄的塊的數(shù)據(jù)量m和記錄起止時間t0, tl,進(jìn)入步驟E3 ;
      [0047]E3:計算待搜索并下載時刻ts的位置k = (ts-tO) + (tl_t0) Xm,進(jìn)入步驟E4 ;
      [0048]E4:下載當(dāng)前記錄起始位置+k處的記錄,即為要搜索并下載的記錄;
      [0049]F:按特定參數(shù)搜索并下載的步驟:
      [0050]Fl:根據(jù)Dl, D2, D3找到要搜索并下載的記錄,令current =待搜索記錄的首塊地址進(jìn)入步驟F2 ;
      [0051]F2:定義存儲數(shù)據(jù)的幀長度為L,L為512的整數(shù)倍,待搜索并下載參數(shù)的位置為j,依次下載當(dāng)前塊所有數(shù)據(jù)頁位置j到位置j+nXL處的數(shù)據(jù),其中η的范圍從O?當(dāng)前頁記錄的總幀數(shù)-1,進(jìn)入步驟F3;
      [0052]F3:當(dāng)前塊current = current+1,進(jìn)入步驟F2,直至記錄結(jié)束。
      [0053]下面以圖4、圖5、圖6所示為例進(jìn)行描述
      [0054]芯片I?芯片8的塊I?塊16000組成組塊I?組塊16000,每個塊又包括2048個頁,整個數(shù)據(jù)區(qū)域按照組塊進(jìn)行分區(qū),以組塊10000為界為分區(qū)2,假設(shè)數(shù)據(jù)記錄在分區(qū)2的位置,記錄了 50個塊,歷時20分鐘,則在完成記錄每個塊的首頁記錄當(dāng)前塊的頭信息,頭信息中包括當(dāng)前塊的數(shù)據(jù)類型,所屬分區(qū),塊順序號,邏輯地址,履歷、時間和狀態(tài)字等信息,其中單次記錄的第一個頭信息如圖5所示,最后一個頭信息如圖6所示。則應(yīng)用本發(fā)明主要包括以下步驟:
      [0055]A:獲取最新的記錄位置的步驟:
      [0056]Al:從預(yù)先分配的分區(qū)信息得到分區(qū)首地址10000 ;
      [0057]A2:從組塊10000開始搜索塊的首頁,直到10501時,首頁的首個字節(jié)為FF時,停止記錄當(dāng)前地址為offseti = 10051,即為最新的記錄位置。
      [0058]B:記錄的步驟:
      [0059]B1:首先在當(dāng)前塊offseti的首頁寫入頭信息,同時擦除下一數(shù)據(jù)塊。當(dāng)前塊為最后一個地址16000,是下一數(shù)據(jù)塊為首地址10000 ;
      [0060]B2:從當(dāng)前塊offseti的第I頁開始寫入待記錄的數(shù)據(jù),直到數(shù)據(jù)記滿。當(dāng)前塊調(diào)整為offseti+Ι,然后轉(zhuǎn)步驟BI,開始下一個數(shù)據(jù)塊的記錄,直至記錄完畢;
      [0061]C:掉電的步驟:掉電時,由于在首頁位置寫入了頭信息,因此停止記錄即可;
      [0062]D:按履歷搜索并下載的步驟:
      [0063]Dl:根據(jù)步驟A2得到當(dāng)前地址current = offseti = 10051,進(jìn)入步驟D2 ;
      [0064]D2:讀取current-Ι = 10050處記錄塊的頭信息,能夠得到當(dāng)前記錄的時間為2014/05/06/10/20/00、大小為 50 個塊、起始位置為 offset1-(50+l) = 16000。進(jìn)入步驟D3 ;如果current是首地址10000,則current-Ι后應(yīng)卷回到當(dāng)前分區(qū)的末尾,即組塊16000。
      [0065]D3:判斷其記錄的履歷信息是否與要搜索并下載的履歷信息一致,一致則從current-Ι-塊順序號=10000處開始下載記錄信息,否則令current = current-1-塊順序號=10000,進(jìn)入步驟D2 ;
      [0066]E:按時間搜索并下載的步驟,以搜索第10分鐘的數(shù)據(jù)為例:
      [0067]El:根據(jù)Dl,D2, D3找到要搜索并下載的記錄,進(jìn)入步驟E2 ;
      [0068]E2:讀取當(dāng)前記錄的第一個塊和最后一個塊的頭信息,得到當(dāng)前記錄的塊的數(shù)據(jù)量 50 和記錄起止時間 t0 = 2014/05/06/10/00/00, tl = 2014/05/06/10/20/00,進(jìn)入步驟E3 ;
      [0069]E3:計算待搜索并下載時刻ts的位置k = 10 + 0.4 = 25,進(jìn)入步驟E4 ;
      [0070]E4:下載當(dāng)前記錄10000+25 = 10025處的記錄,即為要搜索并下載的記錄;
      [0071]F:按特定參數(shù)搜索并下載,以L = 512為例的步驟如下:
      [0072]Fl:根據(jù)Dl, D2, D3找到要搜索并下載的記錄,令current =待搜索記錄的首塊地址=10000,進(jìn)入步驟F2 ;
      [0073]F2:定義存儲數(shù)據(jù)的幀長度為512,待搜索并下載參數(shù)的位置為500,依次下載當(dāng)前塊所有數(shù)據(jù)頁位置第 500, 500+512X 1, 500+512X 2, 500+512X 3......500+512X 16 的數(shù)據(jù),其中η的范圍從O?當(dāng)前頁記錄的總幀數(shù)-1,進(jìn)入步驟F3 ;
      [0074]F3:當(dāng)前塊current = current+1,進(jìn)入步驟F2,直至記錄結(jié)束。
      【權(quán)利要求】
      1.一種NAND FLASH數(shù)據(jù)存儲方法,首先,根據(jù)NAND FLASH的最小擦除單位為塊,塊由頁組成的特征,在多個芯片組成的并行通道的海量存儲中,由橫向一組塊組成最小管理單位組塊,當(dāng)只有一個芯片時,則塊即為最小管理單位;整個數(shù)據(jù)區(qū)域按照組塊進(jìn)行分區(qū),每個分區(qū)的首地址為basei,在NAND FLASH的每個塊的首頁記錄當(dāng)前塊的頭信息,頭信息中包括當(dāng)前塊的數(shù)據(jù)類型,所屬分區(qū),塊順序號,邏輯地址,履歷、時間和狀態(tài)字信息,其特征在于,包括以下步驟: A:獲取最新的記錄位置的步驟: Al:從預(yù)先分配的分區(qū)信息得到每個分區(qū)首地址basei ; A2:從basei開始搜索塊的首頁,直到首頁的首個字節(jié)為FF時,停止搜索;記錄當(dāng)前地址為offseti,即為最新的記錄位置; B:記錄的步驟: B1:首先在當(dāng)前塊的第O頁寫入頭信息,同時擦除下一數(shù)據(jù)塊,如果當(dāng)前塊為最后一個塊,則下一數(shù)據(jù)塊為首地址; B2:從當(dāng)前塊的第I頁開始寫入待記錄的數(shù)據(jù),直到數(shù)據(jù)記滿,然后返回步驟BI,開始下一個數(shù)據(jù)塊的記錄,直至記錄完畢; C:掉電的步驟:掉電時,由于在首頁位置寫入了頭信息,因此停止記錄即可; D:按履歷搜索并下載的步驟: Dl:根據(jù)步驟A2得到當(dāng)前地址current = offseti,進(jìn)入步驟D2 ; D2:讀取current-Ι處記錄塊的頭信息,得到當(dāng)前記錄的數(shù)據(jù)類型,所屬分區(qū),塊順序號,邏輯地址,履歷、時間和狀態(tài)字信息;進(jìn)入步驟D3 ;如果current是首地址,則current-Ι后應(yīng)卷回到當(dāng)前分區(qū)的末尾; D3:判斷其記錄的履歷信息是否與要搜索并下載的履歷信息一致,一致則從current-Ι-塊順序號處開始下載記錄信息,否則令current = current-1-塊順序號,進(jìn)入步驟D2 ; E:按時間搜索并下載的步驟: El:根據(jù)Dl,D2, D3找到要搜索并下載的記錄,進(jìn)入步驟E2 ; E2:讀取當(dāng)前記錄的第一個塊和最后一個塊的頭信息,得到當(dāng)前記錄的塊的數(shù)據(jù)量m和記錄起止時間tO, tl,進(jìn)入步驟E3 ; E3:計算待搜索并下載時刻ts的位置k = (ts-tO) + (tl-tO) Xm,進(jìn)入步驟E4 ; E4:下載當(dāng)前記錄起始位置+k處的記錄,即為要搜索并下載的記錄; F:按特定參數(shù)搜索并下載的步驟: Fl:根據(jù)Dl, D2, D3找到要搜索并下載的記錄,令current =待搜索記錄的首塊地址進(jìn)入步驟F2 ; F2:定義存儲數(shù)據(jù)的幀長度為L,待搜索并下載參數(shù)的位置為j,依次下載當(dāng)前塊所有數(shù)據(jù)頁位置j到位置j+nXL處的數(shù)據(jù),其中η的范圍從O?當(dāng)前頁記錄的總幀數(shù)-1,進(jìn)入步驟F3 ; F3:當(dāng)前塊current = current+1,進(jìn)入步驟F2,直至記錄結(jié)束。
      【文檔編號】G06F12/06GK104391804SQ201410587504
      【公開日】2015年3月4日 申請日期:2014年10月28日 優(yōu)先權(quán)日:2014年10月28日
      【發(fā)明者】程金, 文建國, 賈寧 申請人:陜西千山航空電子有限責(zé)任公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1