999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

極小嵌入式系統(tǒng)中閃存轉換層的設計與實現

2017-07-06 10:29:02任小平萬瑞罡羅正華黃建剛
成都大學學報(自然科學版) 2017年2期
關鍵詞:嵌入式系統(tǒng)設計

任小平, 萬瑞罡, 羅正華, 黃建剛

(成都大學 信息科學與工程學院, 四川 成都 610106)

?

極小嵌入式系統(tǒng)中閃存轉換層的設計與實現

任小平, 萬瑞罡, 羅正華, 黃建剛

(成都大學 信息科學與工程學院, 四川 成都 610106)

為解決極小嵌入式系統(tǒng)中大數據量的存儲問題,在對嵌入式設備廣泛采用的NAND Flash的特點進行深入研究的基礎上,設計了一種極小嵌入式設備NAND Flash存儲系統(tǒng)的解決方案.說明了其系統(tǒng)分層結構和功能用途,詳細闡述了閃存轉換層中地址映射、糾錯、壞塊管理、磨損均衡及垃圾收集等算法的設計與實現,并在STM32微控制器上實現了NAND Flash的驅動和管理,驗證了設計的可行性和有效性.

極小嵌入式系統(tǒng);閃存轉換;磨損均衡;地址映射;壞塊管理

0 引 言

嵌入式系統(tǒng)主要由微控制器、存儲設備、系統(tǒng)總線及I/O外設等結構組成[1].嵌入式系統(tǒng)的存儲能力決定了系統(tǒng)的可定制性、模塊化程度和可編程能力.NAND Flash因其存儲容量大、相對成本低、對機械振動耐受程度高等特點,成為嵌入式設備的主要存儲解決方案[1].隨著智能互聯的發(fā)展,在極小嵌入式系統(tǒng)中引入NAND Flash存儲設備已經成為趨勢.由于極小嵌入式系統(tǒng)的資源嚴重受限(RAM<20 KB,ROM<128 KB),因此,系統(tǒng)在引入NAND Flash時需要設計高效的管理算法,并提高NAND Flash的糾錯能力,增強系統(tǒng)的可靠性和掉電恢復能力.

目前,NAND Flash的管理算法[2]分為2種:一種是設計專用的Flash文件系統(tǒng),這樣具有開銷小、吞吐量大且對Flash友好的特點,但此種方式無法兼容廣泛流行的傳統(tǒng)磁盤文件系統(tǒng),并且移植困難;另一種是通過設計NAND Flash和傳統(tǒng)磁盤文件系統(tǒng)之間的轉換層(flash translation layer,FTL)來解決上述專用Flash文件系統(tǒng)存在的問題.第2種方式雖然開銷相對較大,但其可兼容磁盤文件系統(tǒng),方便文件交流,并且對系統(tǒng)改動較小,移植方便,因而得到了廣泛的認可和應用.本研究基于STM32F103C8T6微控制器和GD5F1GQ4UAYIG NAND Flash(規(guī)格為1 024塊,每塊64頁,每頁2 112 Byte)的硬件平臺,設計了FTL層,實現了在極小嵌入式系統(tǒng)中NAND Flash存儲系統(tǒng)的有效管理.

1 NAND Flash存儲系統(tǒng)結構

NAND Flash存儲系統(tǒng)總體框圖如圖1所示.硬件部分由NAND Flash器件及其輔助電路組成;軟件部分分為用戶層、文件系統(tǒng)層、FTL層與存儲技術設備(memory technology device,MTD)層.

圖1 存儲系統(tǒng)框圖

系統(tǒng)的用戶層主要為用戶提供文件訪問服務.文件系統(tǒng)層由通用的文件系統(tǒng)實現(如FAT16/FAT32等),主要完成文件管理和為用戶層提供服務接口.FTL層主要實現邏輯的數據讀取與地址管理等功能,對上層提供類似磁盤的固定512 Byte的扇區(qū)式操作接口.另外,由于NAND Flash的存儲原理和制造工藝,在設計FTL層時,還需要考慮壞塊的檢測、管理與維護、碎片回收、磨損均衡及異常恢復等情況[3].MTD層實現對Flash類設備的抽象化管理,對上層提供讀、寫、擦除及拷貝頁等功能接口,對下層實現硬件的操作,是系統(tǒng)內最底層的驅動程序.

2 NAND Flash FTL的實現

從功能上劃分,FTL層主要完成地址映射、糾錯、壞塊管理、磨損均衡及垃圾收集等.

2.1 地址映射

地址映射方式有多種,大體上可以分為3類:頁映射、塊映射及混合映射[4].綜合考慮RAM開銷與系統(tǒng)I/O開銷,可以采用以下幾種方法實現地址映射:使用樹狀頁映射,如μ-FTL等;使用緩存映射表算法,如DFTL等;使用混合映射算法,如BAST、LAST、FAST、KAST及Super Block等[5].

在極小嵌入式系統(tǒng)中,受限于系統(tǒng)資源,選擇BAST算法較為合適,同時,也可以通過對BAST算法進行針對化的優(yōu)化,使其效率得到有效提高.

本設計中,保留5%的物理空間,以3%的數據塊作為日志塊(即32塊).在初始無壞塊的情況下,NAND Flash的用戶空間容量為120 MB.塊地址映射表將包含972個條目,一共2 KB.映射表數據結構如表1所示.

表1 映射表數據結構

單個日志塊的映射表大小為64 Byte,則32個日志塊的映射表大小為2 KB.采用二叉查找樹(binary search tree,BST)構建查找表,地址映射部分僅占用4 KB內存,很好地平衡了內存開銷和I/O調用,滿足了設計要求.

2.2 糾錯算法

NAND Flash由于工藝上的限制,位翻轉的問題較NOR Flash和EEPROM嚴重.因此,設計FTL層時必須考慮糾錯算法.本設計采用GD5F1GQ4UAYIG數據手冊中建議的ECC碼,通過使用芯片本身內置的Hamming ECC引擎來實現數據的糾錯.其數據結構如表2所示.

表2 每頁數據結構

2.3 壞塊管理與保留塊

在初始化NAND Flash時,由于NAND Flash廠商保證第0塊為好塊,因此FTL將選擇第0塊及后續(xù)完好的一塊作為保留塊,寫入壞塊表和擦寫次數等信息,并在系統(tǒng)初始化時載入內存.每塊占用2 bit,塊狀態(tài)定義如表3所示.

表3 塊狀態(tài)表

作為嵌入式系統(tǒng),穩(wěn)定性和可靠性應為系統(tǒng)的最基本要求.若系統(tǒng)在運行過程中出現壞塊率大于閾值(2%)或平均擦除次數接近NAND Flash理論擦寫總次數的5/6時,系統(tǒng)將自動進行寫保護,并將出現的不穩(wěn)定情況通知上層文件系統(tǒng)NAND Flash.

2.4 磨損均衡

GD5F1GQ4UAYIG NAND Flash為SLC結構,單塊僅10 000次的擦寫壽命,因此需要對其實現動態(tài)磨損均衡功能,避免對常用塊的頻繁擦寫而出現壞塊.常用的磨損均衡算法可參見文獻[6]所述.與其他算法相比,HWL算法在內存較低的情況下擁有更好的磨損均衡效果,故本研究選擇HWL算法來實現磨損均衡管理.HWL算法本身是不確定性算法,所以在實現該算法時,本研究通過使用在擦除塊/重寫塊時統(tǒng)計每個塊的擦除次數并寫入該塊的方法來統(tǒng)計Flash的預期壽命,進而實現磨損均衡管理.

2.5 垃圾回收算法

根據實際情況,本設計在實現垃圾回收時設定垃圾回收的閾值為系統(tǒng)日志塊的1/2.當日志數量大于日志塊容量的1/2時,系統(tǒng)監(jiān)視進程將依據HWL算法的計算結果選取相對最“冷”的日志塊與其數據塊進行合并.當系統(tǒng)的日志塊數量接近用完時,程序設計為在寫扇區(qū)過程中自動進行日志塊的整理.

被動垃圾回收操作由文件系統(tǒng)實現.文件系統(tǒng)在刪除文件后調用FTL層的刪除扇區(qū)命令,然后FTL層將計算扇區(qū)范圍和刪除扇區(qū)的開銷,若滿足含有1個或多個連續(xù)塊的情況,則會啟動垃圾回收算法.

2.6 讀寫操作

在讀操作時,依次對塊映射表和頁映射表的內容進行判斷.如果邏輯地址不存在于塊映射表中,則返回空數據,否則對頁映射表進行判斷.如果邏輯基站不存于頁映射表中,則返回塊映射表內容,否則返回頁映射表中對應內容.其流程圖如圖2所示.

圖2 讀操作流程圖

在寫操作時,由于應用層以512 Byte作為扇區(qū)的大小,而NAND Flash每頁的容量為2 048 Byte,所以程序先將數據寫入緩沖區(qū),在下列情況之一發(fā)生時,執(zhí)行寫入操作:系統(tǒng)刷新周期;應用層要求回讀;向其他扇區(qū)寫數據,會破壞緩沖區(qū)原本數據內容.

具體在寫操作時,先讀取塊映射表,若塊映射表無此邏輯塊的映射信息,則由HWL算法選擇一個空塊,在指定偏移處寫入數據并修改映射表.若塊映射表中有此邏輯塊的映射信息,則判斷此偏移頁是否為空.如果邏輯地址偏移頁為空,則寫入數據,否則,判斷此邏輯塊的映射信息是否存在于頁映射表中.如果邏輯塊的映射信息存在于頁映射表中,則判斷日志塊是否有空頁,否則,以HWL算法分配空塊,并新建頁映射條目.若日志塊的映射狀態(tài)為完全連續(xù)的狀態(tài),則擦除數據塊,并將原映射塊標記為數據塊.若出現日志塊滿的情況,則啟動垃圾回收.其流程圖如圖3所示.

2.7 FTL接口實現

根據系統(tǒng)工作原理,本研究針對不同的功能,軟件分模塊實現為不同的函數.各函數接口名稱和功能如表4所示.

表4 FTL函數定義及功能說明

圖3 寫操作流程圖

3 MTD子系統(tǒng)的實現

MTD子系統(tǒng)實現對Flash的實際操作,具體函數定義及功能說明如表5所示.

表5 MTD函數定義及功能說明

4 測試與結果

測試在STM32F103C8T6與GD5F1GQ4UAYIG組合的硬件平臺上完成,設置通信速率為18 Mibit/s,以保證不影響NAND Flash的讀寫性能,其硬件實物如圖4所示.

圖4 硬件實物圖

在硬件平臺上運行整個軟件系統(tǒng),共占用8 KB SRAM與20 KB ROM(包括調試符號),實現了在極小嵌入式系統(tǒng)中大容量存儲系統(tǒng)的高效訪問.同時,對存儲系統(tǒng)進行大塊數據訪問的情況下進行測試,其測試結果如圖5所示.

圖5 大塊數據訪問測試結果

由圖5可知,隨著Flash剩余存儲容量的減少,對Flash訪問速度并未受到影響,系統(tǒng)工作正常.

最后,對系統(tǒng)進行掉電測試,其測試條件為系統(tǒng)正在寫入日志/數據或垃圾回收時,關斷系統(tǒng)電源.測試結果表明,在循環(huán)進行1 000次后,系統(tǒng)可順利回滾到上一狀態(tài),沒有出現數據破壞或數據結構損壞的情況.

5 結 論

在資源極度受限的極小嵌入式系統(tǒng)中,本研究通過合理設計FTL層實現了大容量存儲器的訪問,為設備的智能互聯提供了可能.后續(xù)的研究可進一步從主動垃圾回收和應用新的頁/日志搜索樹的方式等方面來進一步提升系統(tǒng)的吞吐量和實時性能,實現在極小嵌入式系統(tǒng)中以較低的資源消耗達到類似NAND Flash專用文件系統(tǒng)的效果.

[1]秦曉康,徐惠民.嵌入式設備NAND Flash存儲系統(tǒng)的設計與實現[J].計算機工程與設計,2010,31(3):514-517.

[2]Park C,Cheon W,Kang J,et al.AreconfigurableFTL(flashtranslationlayer)architectureforNANDflash-basedapplications[J].ACM Trans Emb Comp Sys,2008,7(4):202-208.

[3]Chung T S,Park D J,Park S,et al.AsurveyofFlashTranslationLayer[J].J Syst Arch,2009,55(5-6):332-343.

[4]Gupta A,Kim Y,Urgaonkar B.DFTL:aflashtranslationlayeremployingdemand-basedselectivecachingofpage-leveladdressmappings[C]//Proceedingsofthe14thInternatioanlConferenceonArchitecturalSupportforProgrammingLanguagesandOperatingSystems.Washington,DC,USA:ACM Press,2009:229-240.

[5]Lee Y G,Jung D,Kang D,et al.μ-FTL:amemory-efficientflashtranslationlayersupportingmultiplemappinggranularities[C]//ACMInternationalConferenceonEmbeddedSoftware,EMSOFT2008.Atlanta,GA,USA:ACM Press,2008:21-30.

[6]Chang L P.Onefficientwearlevelingforlarge-scaleflash-memorystoragesystems[C]//SAC’07Proceedingsofthe2007ACMSymposiumonAppliedComputing.Seoul,Korea:ACM Press,2007:1126-1130.

Design and Implementation of Flash Translation Layer in Small Embedded System

RENXiaoping,WANRuigang,LUOZhenghua,HUANGJiangang

(School of Information Science and Engineering, Chengdu University, Chengdu 610106, China)

In order to meet the demands of intelligent interconnection development and to deal with the problems of big data storage in small embedded system,the paper,based on a thorough study of the features of the widely used NAND Flash in embedded device,designs a solution to deal with the problems in NAND flash storage system in small device system.The paper also introduces the hierarchical structure of the system and its functions,giving detailed account of the design and implementation of the address mapping,error correction,bad block management,wear leveling,and garbage collection in flash translation layer.Meanwhile,the driving and management of NAND Flash are realized on a STM32F103 board.Furthermore,the study verifies the efficiency and feasibility of this design.

small embedded system;flash translation layer;wear leveling;address mapping;bad block management

1004-5422(2017)02-0168-04

2017-05-02.

任小平(1990 — ), 男, 碩士, 從事嵌入式系統(tǒng)與無線自組織網絡研究.

TP333

A

猜你喜歡
嵌入式系統(tǒng)設計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
搭建基于Qt的嵌入式開發(fā)平臺
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產流程控制系統(tǒng)中的應用
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 少妇被粗大的猛烈进出免费视频| 久久久久国产精品嫩草影院| 视频二区国产精品职场同事| AV无码无在线观看免费| 亚洲人妖在线| 91精品伊人久久大香线蕉| 中文字幕无码av专区久久| 亚洲中文字幕无码mv| av天堂最新版在线| 啦啦啦网站在线观看a毛片| 一级毛片无毒不卡直接观看| 亚洲国产系列| 亚洲成a人片| 国产永久无码观看在线| 久久美女精品国产精品亚洲| 亚洲精品国产乱码不卡| 国产微拍一区二区三区四区| 中文字幕日韩丝袜一区| 久久情精品国产品免费| 亚洲视频影院| 国产女人水多毛片18| 亚洲欧美另类专区| 亚洲丝袜中文字幕| 国产人成在线视频| 福利一区三区| 亚洲日韩国产精品综合在线观看| 天堂成人在线视频| 国产麻豆91网在线看| 国产真实乱子伦精品视手机观看 | 国产精品免费福利久久播放| 色婷婷天天综合在线| 在线日韩一区二区| 国产福利小视频在线播放观看| 女人一级毛片| 国产肉感大码AV无码| 亚洲黄色激情网站| igao国产精品| 国产日韩精品欧美一区灰| 伊在人亞洲香蕉精品區| 成人va亚洲va欧美天堂| 一区二区三区四区日韩| 国产精品福利社| 成人字幕网视频在线观看| 免费看的一级毛片| 国产亚洲精品自在线| www.亚洲天堂| 国产SUV精品一区二区| 极品私人尤物在线精品首页| 91网红精品在线观看| 99人妻碰碰碰久久久久禁片| 欧美色图久久| 国产精品第一区在线观看| 伊人久久大香线蕉aⅴ色| 91在线日韩在线播放| 精品视频第一页| 天天摸天天操免费播放小视频| 亚洲视频影院| 国产成人91精品| 成人午夜网址| 亚洲综合专区| 亚洲男人的天堂在线| 国产日韩AV高潮在线| 午夜激情婷婷| 中文字幕色站| 热久久综合这里只有精品电影| 美女无遮挡拍拍拍免费视频| 国产综合色在线视频播放线视| 国产美女精品一区二区| 亚洲人在线| 国产精品一线天| 韩日午夜在线资源一区二区| 欧美亚洲日韩中文| 亚洲成av人无码综合在线观看| 亚洲欧美一级一级a| 国产永久免费视频m3u8| 国产精品女主播| 久久精品嫩草研究院| 丁香亚洲综合五月天婷婷| 久久婷婷人人澡人人爱91| 精品无码日韩国产不卡av| 国产成人精品男人的天堂下载| 亚洲欧美一区二区三区麻豆|