超大容量NANDFLASH壞區(qū)管理方法的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
超大容量NANDFLASH壞區(qū)管理方法的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
超大容量NANDFLASH壞區(qū)管理方法的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
超大容量NANDFLASH壞區(qū)管理方法的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、嵌入式技術(shù)文 簸等:超大容矍NAND FLASH壞區(qū)管理方法的設(shè)計(jì)耳實(shí)現(xiàn)嵌入式技術(shù)文 簸等:超大容矍NAND FLASH壞區(qū)管理方法的設(shè)計(jì)耳實(shí)現(xiàn)嵌入式技術(shù)文 簸等:超大容矍NAND FLASH壞區(qū)管理方法的設(shè)計(jì)耳實(shí)現(xiàn)嵌入式技術(shù)文 簸等:超大容矍NAND FLASH壞區(qū)管理方法的設(shè)計(jì)耳實(shí)現(xiàn)超大容量NAND FLASH壞區(qū)管理方法的設(shè)計(jì)與實(shí)現(xiàn)丈燄,謝凱年(上海交通大學(xué)徽電子學(xué)院 上海200030)M 要:?jiǎn)嗜敫附y(tǒng)中存?zhèn)髟O(shè)備的#能是決定餐體系統(tǒng)技能的核心環(huán)節(jié)4L-.NAND FLASH具有余童大堆廢快、成左低 #狼多伐.點(diǎn)在各畏入戈*統(tǒng)中廣邁A用如何有敷地才NAND FLASH進(jìn)行壞塊管見(jiàn)才NAND

2、 FLASH的蟲(chóng)用尤為重矣. 分析了 NAND FLASH± FFS的功能站構(gòu)才存住空間晉AL壞塊罰收、極耗均衡箏拉制遜行了幅述總后給出了與Windows 丈件豪統(tǒng)尢仝娥8釣FLASH丈件系統(tǒng)有效地對(duì)大冬量NAND揀區(qū)進(jìn)行診理關(guān)閏:NAND FLASH»>FLASH丈件系統(tǒng)$擲絶均磚中BB分類號(hào):TP333文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):1004 - 373X(2007) 16-055 -03Design and Implementation of Bad Block Management for NAND FLASHWEN Yi.XIE Kainian(School of

3、Microcleetronio.SMnfluii Jmoton< University.Shanghai.200030.ChinaAbstract i The capacity of memory equipment in embedded system is one of the most imporunt in the whole capacity NAND FLASH has advantages of high speed and low cost. NAND FLASH is widely used in mbedded system. How to manage for ba

4、d block effectively is very important. The paper introduces the file system of NAND FLASH*and describes the Management for void*callback for bad block* wear leveling. A design and an implementation for FFS is described.Keywords: NAND FLASH ibad block managementiFLASH file systemi wear balance嵌入式技術(shù)文

5、簸等:超大容矍NAND FLASH壞區(qū)管理方法的設(shè)計(jì)耳實(shí)現(xiàn)1引育現(xiàn)在的FLASH memory主耍包括以下2大類:針對(duì) 程序和數(shù)據(jù)存儲(chǔ)的NOR FLASH,針對(duì)大容嚴(yán)存儲(chǔ)的 NAND FLASH.其中.NOR的特點(diǎn)為芯片內(nèi)執(zhí)行(XIP, eXecute In Place) 這樣應(yīng)用程序可以直接在FLASH閃存 內(nèi)運(yùn)行不必再把代碼讀到系統(tǒng)RAM中琦機(jī)讀取快、功 耗低.穩(wěn)定性高)而NAND的待點(diǎn)為快速載寫(xiě)高存儲(chǔ)容 欣、回寫(xiě)速度快以及芯片面枳小等特點(diǎn)因此是高數(shù)據(jù)存 儲(chǔ)幣度的理想解決方案NAND結(jié)構(gòu)能提供極高的單元 密度可以達(dá)到高存儲(chǔ)密度并且寫(xiě)入和擦除的速度彳艮快. 適合于純數(shù)據(jù)存儲(chǔ)和文件存儲(chǔ)目前SA

6、MSUNG最近推 出的Nand FLASH巳經(jīng)達(dá)到16 Gb.但NAND閃存定位 為一種低成本存儲(chǔ)介質(zhì)允許存在一定比例的壞塊如何 有效地對(duì)大容量NAND進(jìn)行壞塊管理提高文件系統(tǒng)的 速度是本文研究的問(wèn)0L2 SAMSUNG K9F1G0XX0A 介紹SAMSUNG在2004年 推出的1 Gb的NAND FLASH目前在各手持設(shè)備中廣泛應(yīng)用芯片內(nèi)的1 Gb內(nèi) 存是按塊和頁(yè)的概念來(lái)組織的】個(gè)芯片包括1 024個(gè)tt«B»!:2007-04-03 塊,每塊包含64個(gè)頁(yè)每頁(yè)內(nèi)有264個(gè)Word(l個(gè)Word的 寬度是16 b.為2個(gè)字節(jié))芯片內(nèi)具有1個(gè)容債為264 Word的數(shù)據(jù)寄存

7、器稱為頁(yè)寄存器.用來(lái)在數(shù)據(jù)存取時(shí) 作為緩沖區(qū)當(dāng)對(duì)芯片內(nèi)的某一頁(yè)進(jìn)行讀寫(xiě)時(shí)其數(shù)據(jù)首 選被轉(zhuǎn)移到此數(shù)據(jù)寄存器內(nèi),通過(guò)數(shù)據(jù)緩沖區(qū)和芯片外進(jìn) 行數(shù)據(jù)交換以完成讀寫(xiě)功能.NAND存儲(chǔ)器由多個(gè)塊串行排列組成實(shí)際上 NAND型的FLASH Memory可認(rèn)為是順序讀取的設(shè)備. 他僅用8 b的I/O瑞口就可以存取按頁(yè)為單位的數(shù)據(jù). NAND在讀和擦寫(xiě)文件、特別是連續(xù)的大文件時(shí)速度相 當(dāng)快但蘭機(jī)存取速度則:t較慢因?yàn)樗荒馨醋止?jié)寫(xiě) K9F1G08X0A功能塊框醫(yī)如圖1所示.NAND FLASH設(shè)備易有壞塊為了補(bǔ)償可能存在的 壞塊,通常在設(shè)計(jì)、生產(chǎn)時(shí)在規(guī)定的存儲(chǔ)容且外另附加約 2%大小的額外存儲(chǔ)空間系統(tǒng)需要做一個(gè)

8、算法管理 NAND FLASH的壞塊當(dāng)出現(xiàn)壞塊時(shí)系統(tǒng)就將數(shù)據(jù)轉(zhuǎn)移 到偵定空閑存儲(chǔ)區(qū)間3實(shí)現(xiàn)壞區(qū)管理的FFS系統(tǒng)架構(gòu)根據(jù)功能模塊劃分>FFS(FLASH File System)可分 為3層.FFS體系結(jié)構(gòu)如圖2所示最底層是硬件操作接口,他和硬件直接相關(guān)対裝 NAND FLASH具體的物理操作往上是文件傳輸層 55(FTL).主要功能是針対NAND FLASH的待性封裝一 些特殊復(fù)雜的宦理控制功能使得上層操作flash就和 操作普通磁盤(pán)一樣;最上層是文件管理層功能類似于曾 通磁盤(pán)上的通用文件系統(tǒng)封裝一些文件管理等功能,向 上層提供標(biāo)準(zhǔn)的文件操作接口圖1 K9FIGO8X0A功能塊柜圖圖2

9、FFS體系結(jié)構(gòu)4壞區(qū)管理方法及實(shí)現(xiàn)4.1結(jié)構(gòu)設(shè)計(jì)硬件設(shè)計(jì)采用CYGNALC8051F020微處理器和SAMSUNG K9F1GO8XOA.在軟件結(jié)構(gòu)上分別實(shí)現(xiàn)NAND FLASH物理接口 .FTL和FAT,從而實(shí)現(xiàn)一個(gè)完整 的 FFS.4.2硬件操作接口實(shí)現(xiàn)該層主要封裝對(duì)NAND FLASH的底層硬件相關(guān)操 作具體硬件連接上,命令.地址和數(shù)據(jù)瑞口分別映射到 某 片外地址空間對(duì)瑞口操作就克接對(duì)片外束存儲(chǔ)怕元 操作一樣.NAND FLASH 的命令有 ReadChiplDt Read Program 和Erase等往CMD PORT寫(xiě)命令代碼輸出一個(gè)命令. 往ADDRPORT寫(xiě)入地址輸出地址從DA

10、TA PORT讀/ 寫(xiě)數(shù)據(jù)完成讀寫(xiě)數(shù)據(jù)操作.一些基本操作實(shí)現(xiàn)如下:564.2.1設(shè)備識(shí)別讀取FLASH的設(shè)備標(biāo)志號(hào)DevID.根據(jù)DevID確定 FLASH的別號(hào),從而獲取存儲(chǔ)器的相關(guān)參數(shù)如:容雖、電 壓、總塊數(shù)毎塊頁(yè)數(shù)、毎頁(yè)主數(shù)據(jù)區(qū)大小和空閑區(qū)的 大小.4.2.2 擦除擦除塊地址為blockAddr的塊.操作過(guò)程如下, 擦除命令(0x60幾塊地址(兩個(gè)周期.16位),擦除確 認(rèn)命令(OxDO),讀取狀態(tài)(0x70)i判斷狀態(tài)若非正確狀態(tài)(OxCO).即擦除失敗重試若 仍失敗則標(biāo)志該塊為壞塊4.2.3寫(xiě)數(shù)據(jù)寫(xiě)地址為pageAddr的頁(yè).SrcBuf為數(shù)據(jù)源 nLen為 欲寫(xiě)字節(jié)數(shù)(1-528)

11、.過(guò)程如下,數(shù)據(jù)輸入命令(0x80,頁(yè)地址(3個(gè)周期,24位寫(xiě) 入數(shù)據(jù)寫(xiě)命令(0x10).讀取狀態(tài)(0x70)狀態(tài)判斷若非正 確狀態(tài)(OxCO),表示寫(xiě)入失敗垂試若仍失敗則標(biāo)志該塊 為壞塊。若狀態(tài)正確,回讀數(shù)據(jù)進(jìn)行校驗(yàn)若出錯(cuò)返回 異常.4.2.4讀數(shù)據(jù)瀆地址為pageAddr的頁(yè)destBuf為存放數(shù)據(jù)緩存地 址nLen為需讀取的字節(jié)數(shù)(1528).具體操作過(guò)程, 讀命令(0x00),頁(yè)地址(3個(gè)周期,24位)讀出數(shù)據(jù)注 意讀/寫(xiě)操作時(shí).3個(gè)地址周期第一周期是列地址即頁(yè)內(nèi) 偏移地址默認(rèn)尋址是從每頁(yè)第0字節(jié)開(kāi)始。若要從第 2個(gè)主數(shù)據(jù)區(qū)即第256字節(jié)開(kāi)始還需命令0x01若要從 空閑數(shù)據(jù)區(qū)即第512

12、字節(jié)開(kāi)始則需命令0x50.4.3 FTL的實(shí)現(xiàn)該層主娶實(shí)現(xiàn)存儲(chǔ)空間管理,進(jìn)行壞塊回收.損耗均 衡籌控制.以塊為取位管理所有的信息都記錄到存儲(chǔ)器 上管理系統(tǒng)不需要占用存儲(chǔ)器的物理塊只需保留小部 分物理塊作為替換區(qū)域.詳細(xì)實(shí)現(xiàn)描述如下,4.3.1狀杰信息描述利用NAND FLASH的位從1,0改寫(xiě)的待性定義狀 態(tài)如表1所示。狀態(tài)值可按FFFE,FCF8FXF0進(jìn)行 變化因此1個(gè)字節(jié)就可以記錄全部狀態(tài)初始為 FREE.寫(xiě)入數(shù)據(jù)后為1NUSE.若某邏輯地址®:新分配原 映射的物理塊變?yōu)镺UTUSE.塊中INUSE的頁(yè)郁變?yōu)?OUTUSE,需耍搬移到新的物理塊中.搬移后塊變?yōu)镮N VALID.

13、擦除后回到FREE.任何狀態(tài)下驗(yàn)證發(fā)現(xiàn)壞塊. 則標(biāo)古為BAD.頁(yè)狀巒記錄在頁(yè)的空閑區(qū)毎塊的第0頁(yè) 的空閑區(qū)同時(shí)還記錄塊狀態(tài)和擦除次數(shù).狀態(tài)描述定義值狀態(tài)描述定義值空FREE OxFF廢棄 (可擦除)INVALID 0xF8正常使用INUSE OxFE壞塊 BAD 0xF0無(wú)效數(shù)據(jù)(需段移)()UTUSEOxFC狀態(tài)定義 如表1所示.現(xiàn)代電子技術(shù)2007年第16期總第255期卜嵌入式與單片機(jī)1圖3這輯塊與物理塊地址的曲A關(guān)系p* IZJ4.3.2地址噥射地址對(duì)應(yīng)表系統(tǒng)上電后需要建立邏輯-物理地址映射 表block table.該農(nóng)是一個(gè)項(xiàng)目數(shù)為邏輯塊數(shù)的數(shù)組,每條 記錄占用2個(gè)字節(jié)記錄邏樹(shù)塊對(duì)應(yīng)

14、的物理塊地址的對(duì)應(yīng) 關(guān)系如圖3所示.«1狀定文值tx空FREEOxFFA#INVALID0xF81NUSEOxFE*BADOxFOOUTUSEOxFC4.3.3 碎片回收搬移狀杰為OUTUSE的塊擦除狀態(tài)為INVALID 的塊.無(wú)效-正常使用塊對(duì)應(yīng)表記錄狀杰為OUTUSE的 物理塊地址以及其對(duì)應(yīng)的邏輯塊地址.碎片回收柱空閑 時(shí)或表滿時(shí)進(jìn)行根據(jù)對(duì)應(yīng)表中記錄的邏輯塊地址X在 邏輯-物理塊地址映射表中讀出X f新分配到的新的物理 塊地址乙依次把Y中不為空的頁(yè)讀出分別寫(xiě)入Z中. 最后擦除Y擦除次數(shù)加1.4. 3.4損耗均衡NAND閃存的壽命是有限的1個(gè)NAND塊的擦寫(xiě)次 數(shù)大槪任105106

15、次,為了保持NAND的使用壽命足夠 長(zhǎng)必須避免擦寫(xiě)區(qū)域的不均循,否則閃存會(huì)因?yàn)榫植窟_(dá)到 攥寫(xiě)極限而報(bào)廢這實(shí)際上是浪費(fèi)必須實(shí)現(xiàn)機(jī)制達(dá)到磨損 均衡(wear balance)廷長(zhǎng)閃存的冇效使用壽命.為了解決扭耗均衡的冋越而定期進(jìn)行的待殊整理. 比較各塊的擦除次數(shù)對(duì)于使用頻華明顯低于平均水平的 塊搬動(dòng)這些塊的數(shù)據(jù)讓這些便用很少的塊供另外的數(shù) 據(jù)使用從而更好地均衡整體使用壽命.注意這種整理不 舵A頻素否則反而會(huì)降低磨損控制的效果 4.4 丈件蚤理展的實(shí)現(xiàn)為了提高數(shù)據(jù)共享性和Windows文件系統(tǒng)兼容性, 文件竹理層采用FAT文件系統(tǒng)標(biāo)準(zhǔn)存儲(chǔ)器的邏輯組織 結(jié)構(gòu)劃分:最前面是文件系統(tǒng)引導(dǎo)扇區(qū)Boot Se

16、ct。“存放 文件系統(tǒng)的參數(shù)信息如每弟區(qū)宇節(jié)數(shù);根目求地址信息 等.接著是FAT表和備份FAT表然后是根目錄文件. 尺后是數(shù)據(jù)區(qū)域。這一層的主要功能是在FTL的基礎(chǔ)上根據(jù)FAT文 件系統(tǒng)的結(jié)構(gòu)和原理實(shí)現(xiàn)文件的讀寫(xiě)等操作.5結(jié)語(yǔ)在系統(tǒng)應(yīng)用中采用了 CYGNALC8051F020,SAMSUNG K9F1GO8XOA等器件,并采用PDIUSBD12實(shí)現(xiàn) USB Device.由于文件骨理層實(shí)現(xiàn)與Windows文件系統(tǒng) 兼容使得系統(tǒng)能方便地通過(guò)USB接口和PC實(shí)現(xiàn)文件互 訪?接進(jìn)行數(shù)據(jù)交換.整個(gè)方案設(shè)計(jì)結(jié)構(gòu)層次分明功 能模塊封裝性好、移植方便并可根抿不同的應(yīng)用對(duì)各層 做相應(yīng)改動(dòng)和優(yōu)化解決了存儲(chǔ)空間管

17、理、壞塊冋收、損耗 均衡等問(wèn)題實(shí)現(xiàn)了有效的對(duì)趙大容最NAND壞區(qū)進(jìn)行 管理的目的.畚考文軟1 SAMSUNG K9F1GO8XCA SPEC.2 Han ). Kambcr M. Dau Mining: Concepts and TechniquesM Morgan Kaufmann Publishers Inc. »20003 Lu Sheng. Li Chunping. Using Statistical Model to Improve the Efficiency of Mining Maximum Sequential PattcmsC3. Proc of the 2nd Internauonal Workshop on KGGL2004.Van Riel R. Page Rephccment in Linux 2. 4 Memory Management. ln:USENIX Annual Technical Conference. FREE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論