• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)據(jù)記錄器中NAND Flash的壞塊管理方法*

      2016-09-09 09:21:31郁聰沖
      艦船電子工程 2016年8期
      關鍵詞:記錄器寄存器芯片

      邢 旺 郁聰沖

      (92941部隊95分隊 葫蘆島 125000)

      XING Wang YU Congchong

      (Unit 95, No.92941 Trops of PLA, Huludao 125000)

      ?

      數(shù)據(jù)記錄器中NAND Flash的壞塊管理方法*

      邢旺郁聰沖

      (92941部隊95分隊葫蘆島125000)

      NAND Flash作為數(shù)據(jù)記錄器中的數(shù)據(jù)存儲芯片,其在應用時容易受到壞塊問題的影響。大量的應用表明壞塊能夠降低存儲芯片的穩(wěn)定性,造成存儲數(shù)據(jù)的錯誤,因此為了保證存儲數(shù)據(jù)正確,對NAND Flash芯片中壞塊的管理具有重要意義。介紹了NAND Flash的物理結構,歸納了壞塊跳過法和動態(tài)壞塊管理法,為NAND Flash的壞塊管理提供了依據(jù)。

      NAND Flash; 壞塊識別; 壞塊替換; 壞塊跳過; 動態(tài)壞塊管理

      XING WangYU Congchong

      (Unit 95, No.92941 Trops of PLA, Huludao125000)

      Class NumberTN401

      1 引言

      隨著電子技術的飛速發(fā)展,嵌入式系統(tǒng)已被廣泛應用于工業(yè)生產與軍事國防領域。基于嵌入式系統(tǒng)研發(fā)的數(shù)據(jù)記錄器能夠接收并存儲工業(yè)設備的健康狀態(tài)數(shù)據(jù),為設備的安全運行提供保障;在武器裝備試驗中,數(shù)據(jù)記錄器可以存儲裝備運行期間的各種試驗參數(shù),試驗結束后可通過導出試驗數(shù)據(jù)分析裝備故障、測定航行路線等,為事后鑒定提供依據(jù),尤其在飛行器的飛行試驗與水下探測器的航行試驗中,若數(shù)據(jù)記錄器不能正常工作,不僅沒有依據(jù)評定裝備的性能,而且會造成不可估量的損失?,F(xiàn)階段,F(xiàn)lash閃存已成為各類便攜型數(shù)字設備的存儲介質,由于NAND Flash芯片具有存儲速度快、容量大、可擦除次數(shù)多等優(yōu)勢,其在數(shù)據(jù)記錄器中應用最為廣泛。但是NAND Flash在出廠時便會存在穩(wěn)定性無法保證的壞塊,這是由于技術工藝問題造成的,并且無法克服,同時,在使用過程中,隨著擦寫次數(shù)的增多,也會出現(xiàn)壞塊,這些壞塊不允許進行擦除和寫入操作,所以,壞塊管理在NAND Flash中具有相當重要的作用[1~3]。

      針對數(shù)據(jù)記錄器中NAND Flash存在壞塊的情況,本文主要研究NAND Flash的工作原理和芯片中壞塊的管理方法,以滿足不同的需求,為數(shù)據(jù)記錄器中NAND Flash存儲數(shù)據(jù)的正確性和芯片工作的穩(wěn)定性提供可靠的保證。

      2 NAND Flash的物理結構

      現(xiàn)在很多公司都生產NAND Flash芯片,以三星公司生產的K9K8G08U0A芯片為例[4],其物理存儲單元的陣列組織結構如圖1所示,該芯片的存儲結構包含8192個塊,每塊的存儲空間大小為(128K+4K)字節(jié)。每一塊又含有64頁,每頁的存儲空間大小為(2K+64)字節(jié),其中,2K為用戶的數(shù)據(jù)存儲區(qū),最后64字節(jié)構成的區(qū)域為冗余區(qū)域,數(shù)據(jù)在讀寫時候相對容易出錯,為了保證數(shù)據(jù)的正確性,必須要有對應的檢測和糾錯方法,而額外的錯誤校驗等需要空間,所以設計了多余的區(qū)域,用于放置數(shù)據(jù)的校驗值或壞塊標記等信息[5]。

      圖1 K9K8G08U0A的物理存儲單元的陣列組織結

      頁是NAND Flash的寫入操作的基本單位,NAND Flash芯片中都有一個對應的區(qū)域,專門用于存放將要寫入到物理存儲單元中去的或者剛從存儲單元中讀取出來的一頁數(shù)據(jù),這個數(shù)據(jù)緩存區(qū)稱為頁寄存器,只有將數(shù)據(jù)寫到了頁寄存器中,等待編程確認命令到來時,實際的編程寫入動作才開始。塊則是NAND Flash擦除操作的最小單位,在發(fā)送一個擦除命令后,一次性地將一個塊全部擦除為1,也就是0xFF。NAND Flash的數(shù)據(jù)流向步驟如圖2所示。

      圖2 NAND Flash的數(shù)據(jù)流向

      3 NAND Flash的壞塊管理

      3.1壞塊識別和存儲

      NAND Flash的出廠壞塊包含一個或更多個不可用的bit,生產NAND Flash的廠家通常會保證芯片的第0塊是好塊,并且一般相對比較耐用,做此保證的主要原因是很多種NAND Flash的壞塊管理方法中,就是將壞塊信息存儲在第0塊內。壞塊的標記保存在冗余區(qū)的固定位置,對于現(xiàn)在常見的頁大小為2K的NAND Flash,壞塊標記位于塊中第一頁起始位置的第1個字節(jié),如果該字節(jié)不是0xFF,就說明該塊是壞塊。在第一次啟動時,NAND Flash通常會進行壞塊掃描和建立壞塊信息表的過程,該過程的流程圖如圖3所示。

      圖3 創(chuàng)建壞塊信息表的流程

      NAND Flash在使用過程中出現(xiàn)的壞塊分為兩種:1)當擦除或者編程操作失敗時,會產生第一種使用壞塊。具體過程就是在擦除和編程操作過后讀狀態(tài)寄存器,如果失敗就將該塊標記為壞塊。2)讀某塊內的某頁數(shù)據(jù)時,如果數(shù)據(jù)出錯位數(shù)超出了ECC(Error Correcting Code)校驗能力,則產生第二種使用壞塊。具體過程就是在讀操作后,如果ECC不能校驗回原數(shù)據(jù)就標記該塊為壞塊[6]。

      3.2壞塊的替換

      通常情況下,創(chuàng)建壞塊表的同時會創(chuàng)建一個壞塊和好塊的對應關系表并保存在NAND Flash的第0塊中。在存儲數(shù)據(jù)時,首先讀出壞塊表中的信息,然后根據(jù)壞塊表中的信息跳過固有壞塊進行數(shù)據(jù)的存儲;同樣,在NAND Flash使用過程產生壞塊時,通過壞塊和好塊的對應關系表,把壞塊中的數(shù)據(jù)轉存到與之對應的好塊中,同時跳過此壞塊,將此壞塊進行標記并更新無效塊表的信息[7]。壞塊替換過程如圖4所示。

      圖4 壞塊替換過程

      在編程或者寫入過程中,如果發(fā)現(xiàn)塊A的第n頁出現(xiàn)錯誤時,首先復制第A塊中第1頁到第(n-1)頁的數(shù)據(jù),同時轉存到好塊B的相同位置,然后將緩存中塊A第n頁的數(shù)據(jù)復制到塊B的第n頁,并在塊B中繼續(xù)存儲數(shù)據(jù),完成壞塊的替換。

      3.3壞塊跳過法

      壞塊跳過法的思想在于運行前首先建立壞塊信息標記表,如果在運行中經查詢某塊是壞塊時,則跳過該塊,對下一個塊地址進行操作。如果在NAND Flash使用過程中突發(fā)出現(xiàn)壞塊,也將該壞塊的數(shù)據(jù)存儲在下一個好塊里。這種方法實現(xiàn)簡單,查詢標記和壞塊替換速度快,一般適用于高速順序的場合[8~9]。其具體過程為:上電時先將第0塊的壞塊表信息讀出并存入相應的寄存器中,在寫數(shù)據(jù)之前調用檢測好塊地址函數(shù),將檢測到的好塊地址存到寄存器中,讀取寄存器中好塊地址進行寫操作的同時繼續(xù)調用檢測好塊地址函數(shù),如果檢測到下一塊是好塊就直接存到寄存器中,如果是下一塊是壞塊則將塊加一,并再次調用檢測好塊地址函數(shù),直到檢測到好塊并將其地址存到寄存器中,這樣循環(huán)下去,不斷更新和讀出寄存器中的內容,便可以成功跳過壞塊。壞塊跳過法的時序仿真圖如圖5所示。

      圖5 壞塊跳過法時序仿真圖

      以K9K8G08U0A芯片為例,該芯片的每一塊含有64頁,將地址加64,即16進制的0040,就可以實現(xiàn)塊數(shù)增加1,即跳過一塊。圖5中clock為時鐘信號,bad_block為壞塊信號,addr為起始地址,addr_add為地址的增加值。當輸入的起始地址為16進制數(shù)1100時,若在地址1102處檢測到壞塊,則發(fā)出bad_block壞塊信號,同時地址的增加值addr_add由0000變?yōu)?040,操作地址也由1101加上0040變?yōu)?141,則成功跳過壞塊,對下一塊進行操作。

      3.4動態(tài)壞塊管理法

      動態(tài)壞塊管理法的思想在于當NAND Flash存儲空間出現(xiàn)壞塊時,采取動態(tài)壞塊管理法標記壞塊,將壞塊放入映射表的壞塊區(qū),從替換塊區(qū)選擇一個好塊,代替壞塊進行操作,同時,更新邏輯-物理塊地址映射表。在對已用塊進行寫入操作時,改為對交換塊進行操作,有利于NAND Flash存儲空間的管理及邏輯-物理地址映射表的更新[10~11]。

      動態(tài)壞塊管理法首先將NAND Flash整個的存儲空間劃分成若干個組,每個組包含相同數(shù)量的塊,同時為每個組建立一張邏輯-物理塊地址映射表,并將映射表劃分為四個區(qū):1)數(shù)據(jù)存儲區(qū):用于存儲數(shù)據(jù)、系統(tǒng)應用程序等;2)交換塊區(qū):所有對已用塊的寫入操作均改為對交換塊的寫入;3)替換塊區(qū):替換塊用于當寫入塊是一個壞塊時,可以從替換塊中找一個好塊,代替壞塊進行編程操作;4)壞塊區(qū):壞塊區(qū)用于存放初始上電掃描發(fā)現(xiàn)的壞塊以及使用過程中出現(xiàn)的壞塊。在映射過程中將壞塊放在映射表的最后。每一組的邏輯-物理塊地址映射空間劃分如圖6所示。

      圖6 映射空間的劃分

      動態(tài)壞塊管理法的關鍵環(huán)節(jié)在于更新邏輯-物理塊地址映射表,需要更新邏輯-物理地址映射表的狀況有兩種:1)當對某一塊進行編程、擦除操作失敗時,則認定該塊為壞塊,此時需要從替換塊區(qū)選擇一個好塊,將壞塊的邏輯地址賦給替換塊區(qū)選定的好塊,并對替換塊進行寫入數(shù)據(jù)的操作,同時將壞塊和替換塊進行標記,并將壞塊的邏輯地址對應到地址映射表的壞塊區(qū);2)若沒有出現(xiàn)壞塊,而是將要進行編程寫入操作的塊是已用塊時,便要從交換塊區(qū)選擇一個塊代替已用塊進行操作,將交換塊的地址映射到數(shù)據(jù)塊中,并擦除此已用塊,將其作為新的交換塊進行使用。每次完成對一個塊的寫入操作后,要更新映射表,實現(xiàn)動態(tài)的映射地址更新。最后,當對若干個塊構成的某個組全部完成操作后,系統(tǒng)自動更新NAND Flash存儲的地址映射表。

      4 結語

      針對目前NAND Flash大量應用于數(shù)據(jù)記錄器的現(xiàn)狀以及NAND Flash存在壞塊問題的限制,本文介紹了壞塊跳過法以及動態(tài)壞塊管理法。壞塊跳過法實現(xiàn)簡單且完成速度快,適用于高速場合,而動態(tài)壞塊管理法能夠實現(xiàn)邏輯-物理地址映射表的實時更新,同時引入了交換塊的概念,在頻繁進行寫入擦除操作時能及時找到替換塊。通過使用合適的壞塊管理方法,可以對NAND Flash中

      產生的壞塊進行有效管理,提高了存儲系統(tǒng)的穩(wěn)定性,為存儲數(shù)據(jù)的準確性提供了可靠保障。

      [1] 薛瑤.某飛行器數(shù)據(jù)記錄器的優(yōu)化設計[D].太原:中北大學,2009:8-10.

      [2] 李士照.某水下用數(shù)據(jù)記錄器的設計及實現(xiàn)[D].太原:中北大學,2013:1-6.

      [3] 王安,錢曉亮,樊文俠.基于ARM的USB接口數(shù)據(jù)記錄器的設計[J].計算機應用,2007,27(1):254-256.

      [4] Samsung. K9K8G08U0A [EB/OL]. http://www.samsung.com/Products/Semiconductor, 2006-1-10.

      [5] 寧飛.大容量存儲中NAND Flash壞塊的管理方法[J].電子測試,2012(12):64-68.

      [6] 周軍.NAND Flash的壞塊管理設計[J].單片機與嵌入式系統(tǒng)應用,2010(9):15-20.

      [7] 彭兵,步凱,徐欣.NAND Flash壞塊管理研究[J].微處理器,2009(4):113-115.

      [8] 舒文麗,吳云峰.NAND Flash存儲的壞塊管理方法[J].電子器件,2011,34(5):580-583.

      [9] 張勝勇,高世杰,吳志勇,等.基于FPGA的NAND Flash壞塊處理方法[J].計算機工程,2010,36(6):239-243.

      [10] 韓勇豪,王少云.一種NAND Flash動態(tài)壞塊管理算法的設計與實現(xiàn)[J].信息化研究,2011,37(3):23-26.

      [11] 張鵬.NAND Flash壞塊管理算法研究與實現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學,2015:8-11.

      Bad Block Management Methods of NAND Flash Memory in Data Recorder*

      NAND Flash is used as memory chips of the data recorder. NAND Flash is easily affected by the bad block problem. Bad block could be able to reduce the stability of the memory chips and cause data errors. Therefore, bad block management of the NAND Flash is important. The physical structure of NAND Flash is introduced. Bad block skip method and dynamic bad block management method are summarized. Theoretic analysis can verify the truth of the bad block management methods of NAND Flash.

      NAND Flash, bad block identification, bad block replacement, bad block skip, dynamic bad block management

      2016年2月9日,

      2016年3月21日

      邢旺,男,碩士研究生,助理工程師,研究方向:衛(wèi)星導航。郁聰沖,男,碩士研究生,助理工程師,研究方向:衛(wèi)星導航。

      TN401

      10.3969/j.issn.1672-9730.2016.08.032

      猜你喜歡
      記錄器寄存器芯片
      Lite寄存器模型的設計與實現(xiàn)
      計算機應用(2020年5期)2020-06-07 07:06:44
      分簇結構向量寄存器分配策略研究*
      汽車事故數(shù)據(jù)記錄器數(shù)據(jù)規(guī)范及應用進展綜述
      芯片測試
      列車車廂視頻記錄器的應用
      多通道采樣芯片ADS8556在光伏并網中的應用
      基于彈載圖像記錄器的壓縮系統(tǒng)設計
      電子器件(2015年5期)2015-12-29 08:43:03
      74HC164芯片的應用
      河南科技(2014年10期)2014-02-27 14:09:18
      高速數(shù)模轉換器AD9779/AD9788的應用
      一種可重構線性反饋移位寄存器設計
      通信技術(2010年8期)2010-08-06 09:29:16
      城固县| 江陵县| 诸暨市| 贵南县| 本溪| 庄河市| 永新县| 儋州市| 西贡区| 宜宾县| 湛江市| 交口县| 连平县| 中宁县| 丰城市| 明光市| 思茅市| 广灵县| 进贤县| 西和县| 太康县| 邵阳县| 鹰潭市| 分宜县| 冷水江市| 平邑县| 阿克| 肥城市| 城固县| 舞钢市| 宕昌县| 牡丹江市| 资溪县| 大埔县| 金溪县| 洱源县| 元江| 汶上县| 陇南市| 西平县| 姜堰市|