新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 延長Flash存儲器使用壽命的研究

        延長Flash存儲器使用壽命的研究

        作者: 時間:2013-03-13 來源:網絡 收藏
          引 言

          隨著嵌入式系統在數碼相機、數字攝像機、移動電話、MP3音樂播放器等移動設備中越來越廣泛的應用,已經逐步取代其他半導體存儲元件,成為嵌入式系統中主要數據和程序載體。又稱閃存,是一種可在線多次擦除的非易失性NVM(Non-Volatile Memo-ry),即掉電后數據不會丟失。存儲器還具有體積小、功耗低、抗振性強等優點,是嵌入式系統的首選存儲設備。

          世面上常用的Flash存儲設備有兩種:NOR Flash和NAND Flash。根據存儲容量,NOR一般為1~16 MB,而NAND為8~512 MB,現在的大容量NAND已經可以達到4 GB;讀取速度NOR較NAND快,寫入速度NOR比NAND慢一些;擦除速度NOR需要2~5 s,而NAND僅僅需要2~5 ms;NAND的價格比NOR低很多。由于種種原因,較常用的是NAND Flash。但是由于NANDFlash的工藝不能保證NAND的存儲陣列(memory ar-ray)在其生命周期中保持性能的可靠,因此,在NAND的生產中及使用過程中會產生壞塊。其表現是:當編程/擦除這個塊時,不能將某些位拉高,這會造成頁編程(page program)和塊擦除(block erase)操作時的錯誤;相應地,反映到狀態寄存器(status register)的相應位。

          總體上,壞塊可以分為兩大類:第一類為固有壞塊,這是生產過程中產生的壞塊,一般芯片原廠都會在出廠時將壞塊第一個頁的擴展區域(Spare Area)的第6個字節標記為不等于0xff的值;第二類為使用壞塊,這是在NANDFlash使用過程中,如果塊擦除或者頁編程錯誤,就可以簡單地將這個塊作為壞塊來處理,這個時候需要把壞塊標記起來。為了和固有壞塊信息保持一致,將新發現壞塊的第一個頁的擴展區域的第6個字節標記為非0xff的值。由于Flash寫入數據的時候是先擦除塊,這樣這個塊里面的數據將全部變成0xff,寫入1時,該位不變;寫入0時,該位由1變為0。如果將擴展區域的第6個字節標記為非0xff之后,將不可能再恢復為0xff,除非格式化有可能恢復。

          我們已經了解到,壞了的塊是無法擦除和寫人數據的,而在嵌入式系統中,啟動的第一步就是將Flash里面的前4KB數據自動復制到SRAM里面去運行。如果僅僅Flash的第一塊壞了,而導致引導程序無法下載進去,那么這個塊不是不能讀取數據,而是讀不出我們想再要放入的數據,這樣這個Flash設備就報廢了。本文就這個問題作了深入的討論,用一種基于Flash的地址重映射的方法解決這個問題。本文采用三星(Samscrag)公司的S3C2440 ARM處理器和NAND Flash存儲設備K9F1208UOM討論地址重映射的思想。

          1 S3C2440使用NAND Flash引導系統的方法

          自動啟動模式順序:

         ?、購臀煌瓿?;

         ?、诋斣O置為自動啟動模式,NAND Flash的開始4 KB被拷貝到Steppingstone的4 KB內部緩沖器;

         ?、跾teppingstone映射到nGCS0;

         ?、蹸PU開始在Steppingstone執行啟動代碼程序。

          由系統引導順序看出,如果Flash的第一塊壞了,那么讀出的數據不一定是引導程序,這樣,系統將無法啟動。而在這種情況下,就只能換一塊完好的Flash了,這樣就造成了很大的浪費。

          2 Flash存儲器的內部結構

          K9F1208UOM型Flash芯片內部存儲器結構如圖1所示。


          典型的NAND Flash由4 096塊組成,每一個塊包含32頁,而每頁是512+16=528字節。對于一個頁,0~511字節為主存儲區,即通常所說的用戶可設定地址區,用來存儲數據;512~527共16字節為擴展存儲區,用來存儲頁的信息。擴展區的16字節用于描述主存儲區的512字節。而對于壞塊,也僅僅是將這16字節的第6字節設置為不等于0xff,來標示壞塊。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜宁县| 油尖旺区| 武冈市| 云浮市| 宁河县| 万山特区| 桃江县| 朝阳市| 社旗县| 昂仁县| 黄陵县| 托克逊县| 凉山| 调兵山市| 平定县| 铁岭县| 泰宁县| 锦州市| 张北县| 麻阳| 班玛县| 江永县| 绥棱县| 洛扎县| 武鸣县| 家居| 丽江市| 乌审旗| 岳阳市| 陇南市| 项城市| 昌都县| 蛟河市| 莱芜市| 江安县| 琼海市| 汉源县| 剑川县| 清涧县| 比如县| 房产|