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

數(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è)生產(chǎn)與軍事國防領域。基于嵌入式系統(tǒng)研發(fā)的數(shù)據(jù)記錄器能夠接收并存儲工業(yè)設備的健康狀態(tài)數(shù)據(jù),為設備的安全運行提供保障;在武器裝備試驗中,數(shù)據(jù)記錄器可以存儲裝備運行期間的各種試驗參數(shù),試驗結束后可通過導出試驗數(shù)據(jù)分析裝備故障、測定航行路線等,為事后鑒定提供依據(jù),尤其在飛行器的飛行試驗與水下探測器的航行試驗中,若數(shù)據(jù)記錄器不能正常工作,不僅沒有依據(jù)評定裝備的性能,而且會造成不可估量的損失。現(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)在很多公司都生產(chǎn)NAND Flash芯片,以三星公司生產(chǎn)的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,生產(chǎn)NAND Flash的廠家通常會保證芯片的第0塊是好塊,并且一般相對比較耐用,做此保證的主要原因是很多種NAND Flash的壞塊管理方法中,就是將壞塊信息存儲在第0塊內(nèi)。壞塊的標記保存在冗余區(qū)的固定位置,對于現(xiàn)在常見的頁大小為2K的NAND Flash,壞塊標記位于塊中第一頁起始位置的第1個字節(jié),如果該字節(jié)不是0xFF,就說明該塊是壞塊。在第一次啟動時,NAND Flash通常會進行壞塊掃描和建立壞塊信息表的過程,該過程的流程圖如圖3所示。

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

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

3.2壞塊的替換

通常情況下,創(chuàng)建壞塊表的同時會創(chuàng)建一個壞塊和好塊的對應關系表并保存在NAND Flash的第0塊中。在存儲數(shù)據(jù)時,首先讀出壞塊表中的信息,然后根據(jù)壞塊表中的信息跳過固有壞塊進行數(shù)據(jù)的存儲;同樣,在NAND Flash使用過程產(chǎn)生壞塊時,通過壞塊和好塊的對應關系表,把壞塊中的數(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壞塊跳過法

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

產(chǎn)生的壞塊進行有效管理,提高了存儲系統(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

猜你喜歡
管理
棗前期管理再好,后期管不好,前功盡棄
《水利建設與管理》征訂啟事
聆聽兩會
——關注自然資源管理
2020年《水利建設與管理》征稿函
運行管理
管理就是溝通
中國制筆(2019年1期)2019-08-28 10:07:26
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
解秘眼健康管理
“這下管理創(chuàng)新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 久久人人97超碰人人澡爱香蕉| 青青操视频在线| 中文字幕人妻无码系列第三区| 97se亚洲综合在线韩国专区福利| 天天摸夜夜操| 国产精品所毛片视频| 大香网伊人久久综合网2020| 色亚洲激情综合精品无码视频| 中文字幕在线永久在线视频2020| 欧美精品在线视频观看| 精品久久久久久成人AV| 亚洲精品你懂的| 久久精品欧美一区二区| 久久精品免费国产大片| 国产情侣一区二区三区| 91色在线视频| 亚洲女同一区二区| 亚洲国产清纯| 国产亚洲精| 成人亚洲国产| 日韩人妻少妇一区二区| 99无码中文字幕视频| 狠狠色丁香婷婷| 极品国产一区二区三区| 自慰高潮喷白浆在线观看| 在线国产你懂的| 久久青草免费91线频观看不卡| 国产18在线播放| 日本国产一区在线观看| 国产小视频网站| 欧洲一区二区三区无码| 欧美不卡二区| 免费国产一级 片内射老| 国产jizzjizz视频| 亚洲黄网视频| 青青青国产精品国产精品美女| 国产爽妇精品| 日韩视频免费| 色综合天天操| 99久久国产综合精品2020| 国产jizz| 久久久久久高潮白浆| 日本a∨在线观看| 久久中文电影| 日本黄网在线观看| 精品撒尿视频一区二区三区| 在线观看热码亚洲av每日更新| 国产91线观看| 美女毛片在线| 97青青青国产在线播放| 在线观看精品国产入口| 国产美女在线观看| 国产精品xxx| 老司机精品久久| 鲁鲁鲁爽爽爽在线视频观看| 99re这里只有国产中文精品国产精品| 好吊妞欧美视频免费| 亚洲婷婷丁香| 五月综合色婷婷| 国产日韩丝袜一二三区| 国产在线拍偷自揄观看视频网站| 67194亚洲无码| 综合色婷婷| 在线另类稀缺国产呦| 99re热精品视频中文字幕不卡| 精品视频福利| 99无码中文字幕视频| 日本爱爱精品一区二区| 亚洲v日韩v欧美在线观看| 三级国产在线观看| 欧美五月婷婷| 精品久久久久久中文字幕女| 亚洲成人网在线观看| 999在线免费视频| 91精品国产综合久久不国产大片| 日本精品中文字幕在线不卡| 青草91视频免费观看| 亚洲性影院| 四虎国产在线观看| 亚洲精品爱草草视频在线| 婷婷亚洲天堂| 91精品最新国内在线播放|