<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 延長Flash存儲囂使用壽命的研究

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

          作者: 時(shí)間:2009-12-15 來源:網(wǎng)絡(luò) 收藏

          引 言
          隨著嵌入式系統(tǒng)在數(shù)碼相機(jī)、數(shù)字?jǐn)z像機(jī)、移動(dòng)電話、MP3音樂播放器等移動(dòng)設(shè)備中越來越廣泛的應(yīng)用,器已經(jīng)逐步取代其他半導(dǎo)體元件,成為嵌入式系統(tǒng)中主要數(shù)據(jù)和程序載體。器又稱閃存,是一種可在線多次擦除的非易失性存儲器NVM(Non-Volatile Memo-ry),即掉電后數(shù)據(jù)不會(huì)丟失。存儲器還具有體積小、功耗低、抗振性強(qiáng)等優(yōu)點(diǎn),是嵌入式系統(tǒng)的首選存儲設(shè)備。
          世面上常用的Flash存儲設(shè)備有兩種:NOR Flash和NAND Flash。根據(jù)存儲容量,NOR一般為1~16 MB,而NAND為8~512 MB,現(xiàn)在的大容量NAND已經(jīng)可以達(dá)到4 GB;讀取速度NOR較NAND快,寫入速度NOR比NAND慢一些;擦除速度NOR需要2~5 s,而NAND僅僅需要2~5 ms;NAND的價(jià)格比NOR低很多。由于種種原因,較常用的是NAND Flash。但是由于NANDFlash的工藝不能保證NAND的存儲陣列(memory ar-ray)在其生命周期中保持性能的可靠,因此,在NAND的生產(chǎn)中及過程中會(huì)產(chǎn)生壞塊。其表現(xiàn)是:當(dāng)編程/擦除這個(gè)塊時(shí),不能將某些位拉高,這會(huì)造成頁編程(page program)和塊擦除(block erase)操作時(shí)的錯(cuò)誤;相應(yīng)地,反映到狀態(tài)寄存器(status register)的相應(yīng)位。
          總體上,壞塊可以分為兩大類:第一類為固有壞塊,這是生產(chǎn)過程中產(chǎn)生的壞塊,一般芯片原廠都會(huì)在出廠時(shí)將壞塊第一個(gè)頁的擴(kuò)展區(qū)域(Spare Area)的第6個(gè)字節(jié)標(biāo)記為不等于0xff的值;第二類為壞塊,這是在NANDFlash過程中,如果塊擦除或者頁編程錯(cuò)誤,就可以簡單地將這個(gè)塊作為壞塊來處理,這個(gè)時(shí)候需要把壞塊標(biāo)記起來。為了和固有壞塊信息保持一致,將新發(fā)現(xiàn)壞塊的第一個(gè)頁的擴(kuò)展區(qū)域的第6個(gè)字節(jié)標(biāo)記為非0xff的值。由于Flash寫入數(shù)據(jù)的時(shí)候是先擦除塊,這樣這個(gè)塊里面的數(shù)據(jù)將全部變成0xff,寫入1時(shí),該位不變;寫入0時(shí),該位由1變?yōu)?。如果將擴(kuò)展區(qū)域的第6個(gè)字節(jié)標(biāo)記為非0xff之后,將不可能再恢復(fù)為0xff,除非格式化有可能恢復(fù)。
          我們已經(jīng)了解到,壞了的塊是無法擦除和寫人數(shù)據(jù)的,而在嵌入式系統(tǒng)中,啟動(dòng)的第一步就是將Flash里面的前4KB數(shù)據(jù)自動(dòng)復(fù)制到SRAM里面去運(yùn)行。如果僅僅Flash的第一塊壞了,而導(dǎo)致引導(dǎo)程序無法下載進(jìn)去,那么這個(gè)塊不是不能讀取數(shù)據(jù),而是讀不出我們想再要放入的數(shù)據(jù),這樣這個(gè)Flash設(shè)備就報(bào)廢了。本文就這個(gè)問題作了深入的討論,用一種基于Flash的地址重映射的方法解決這個(gè)問題。本文采用三星(Samscrag)公司的S3C2440 ARM處理器和NAND Flash存儲設(shè)備K9F1208UOM討論地址重映射的思想。

          本文引用地址:http://www.ex-cimer.com/article/152233.htm


          1 S3C2440使用NAND Flash引導(dǎo)系統(tǒng)的方法
          自動(dòng)啟動(dòng)模式順序:
          ①復(fù)位完成;
          ②當(dāng)設(shè)置為自動(dòng)啟動(dòng)模式,NAND Flash的開始4 KB被拷貝到Steppingstone的4 KB內(nèi)部緩沖器;
          ③Steppingstone映射到nGCS0;
          ④CPU開始在Steppingstone執(zhí)行啟動(dòng)代碼程序。
          由系統(tǒng)引導(dǎo)順序看出,如果Flash的第一塊壞了,那么讀出的數(shù)據(jù)不一定是引導(dǎo)程序,這樣,系統(tǒng)將無法啟動(dòng)。而在這種情況下,就只能換一塊完好的Flash了,這樣就造成了很大的浪費(fèi)。


          2 Flash存儲器的內(nèi)部結(jié)構(gòu)
          K9F1208UOM型Flash芯片內(nèi)部存儲器結(jié)構(gòu)如圖1所示。

          典型的NAND Flash由4 096塊組成,每一個(gè)塊包含32頁,而每頁是512+16=528字節(jié)。對于一個(gè)頁,0~511字節(jié)為主存儲區(qū),即通常所說的用戶可設(shè)定地址區(qū),用來存儲數(shù)據(jù);512~527共16字節(jié)為擴(kuò)展存儲區(qū),用來存儲頁的信息。擴(kuò)展區(qū)的16字節(jié)用于描述主存儲區(qū)的512字節(jié)。而對于壞塊,也僅僅是將這16字節(jié)的第6字節(jié)設(shè)置為不等于0xff,來標(biāo)示壞塊。
          在NANDFlash使用過程中可能會(huì)出現(xiàn)這樣的問題:產(chǎn)生壞塊或壞頁、由此引發(fā)的數(shù)據(jù)丟失、對一些扇區(qū)或塊的過分磨損導(dǎo)致NANDFlash縮短等。為了能更好地使用NAND Flash,在其損壞時(shí)使損失最小化,需要一種方法,使用相同的地址可以屏蔽掉壞了的塊,而指針指向好塊。即使第一塊壞了,還可以使用O地址去操作一個(gè)好塊。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 壽命 研究 使用 存儲 Flash 延長

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();