亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        NAND Flash存儲(chǔ)關(guān)鍵技術(shù)*

        2016-09-07 02:25:40劉航航李曉穎楊云剛薛小樂中國兵器工業(yè)第203研究所西安710065
        關(guān)鍵詞:字節(jié)校驗(yàn)編程

        劉航航,李曉穎,楊云剛,薛小樂(中國兵器工業(yè)第203研究所,西安 710065)

        NAND Flash存儲(chǔ)關(guān)鍵技術(shù)*

        劉航航,李曉穎,楊云剛,薛小樂
        (中國兵器工業(yè)第203研究所,西安710065)

        為提高NAND Flash數(shù)據(jù)存儲(chǔ)的可靠性,闡述了壞塊管理的基本思想,探討了壞塊跳過、壞塊替換和動(dòng)態(tài)壞塊管理三種方案,探究了基于漢明碼的BCH碼的數(shù)據(jù)校驗(yàn)算法。為提高NAND Flash存儲(chǔ)效率,研究了Multi-Plane操作、Interleaved Die操作、多片F(xiàn)lash陣列流水線技術(shù)等方法。研究分析表明壞塊管理策略和數(shù)據(jù)檢驗(yàn)可提高NAND Flash數(shù)據(jù)存儲(chǔ)可靠性,流水線操作等技術(shù)可提高NAND Flash存儲(chǔ)效率。

        NAND Flash;壞塊管理;數(shù)據(jù)存儲(chǔ)

        0 引言

        存儲(chǔ)模塊是決定嵌入式系統(tǒng)性能的核心模塊之一,NAND Flash作為一種安全、快速的存儲(chǔ)設(shè)備,具有小體積、大容量、低成本、擦除次數(shù)多以及保存壽命長等優(yōu)點(diǎn),在嵌入式系統(tǒng)的數(shù)據(jù)存儲(chǔ)中廣泛應(yīng)用。但由于生產(chǎn)加工工藝水平有限及NAND Flash物理結(jié)構(gòu)的特性,會(huì)導(dǎo)致芯片在出廠和使用過程中出現(xiàn)壞塊,影響存儲(chǔ)的可靠性。因此,在進(jìn)行NAND Flash存儲(chǔ)設(shè)計(jì)時(shí)需要考慮數(shù)據(jù)存儲(chǔ)的可靠性與存儲(chǔ)效率。文中首先介紹NAND Flash的物理結(jié)構(gòu)及特性,在此基礎(chǔ)上探討存儲(chǔ)關(guān)鍵技術(shù)[1]。

        1 NAND Flash簡介

        NAND Flash分為SLC flash和MLC flash兩種。SLC是指每一個(gè)存儲(chǔ)單元只存儲(chǔ)1位的信息。MLC并非單純在存儲(chǔ)單元中存儲(chǔ)電荷,而是要精確控制存儲(chǔ)電荷的多少,這導(dǎo)致其誤碼率高于SLC,相應(yīng)的讀寫機(jī)制也更復(fù)雜,因而降低了讀寫速率。相對SLC,MLC使用壽命較短,存取速率較慢,能耗比SLC高,但存儲(chǔ)容量較大[2]。

        圖1 芯片組織架構(gòu)

        文中結(jié)合Micron公司一款MLC架構(gòu)的芯片MT29F128G08介紹其關(guān)鍵的存儲(chǔ)技術(shù)。該芯片組織架構(gòu)見圖1所示,芯片內(nèi)部包含兩個(gè)Target,每個(gè)Target包含一個(gè)邏輯單元Logic Unit(LUN),LUN的組織架構(gòu)見圖2所示,圖中給出了詳細(xì)的存儲(chǔ)結(jié)構(gòu)。

        圖2 Logical Unit(LUN)組織架構(gòu)

        2 存儲(chǔ)可靠性關(guān)鍵技術(shù)

        NAND Flash出廠時(shí)被廠商確認(rèn)的壞塊在文中被稱為固有壞塊;在使用過程中,當(dāng)對塊的擦除或編程操作失敗,或是發(fā)生超出數(shù)據(jù)校驗(yàn)算法糾錯(cuò)能力的塊應(yīng)被標(biāo)記為壞塊,這種塊在文中被稱為使用壞塊。好的壞塊管理策略和數(shù)據(jù)校驗(yàn)算法是保證存儲(chǔ)可靠性最重要的關(guān)鍵技術(shù),此外可通過犧牲空間換取存儲(chǔ)的可靠性。

        2.1壞塊管理

        壞塊管理的主要思路避免對壞塊進(jìn)行操作,在遇到壞塊時(shí)找到好的塊來替代壞塊;主要工作是創(chuàng)建和維護(hù)壞塊管理表bad-block-table(BBT)以及對邏輯物理地址的管理。BBT的創(chuàng)建依據(jù)廠商的約定讀取相應(yīng)位置的壞塊標(biāo)記,經(jīng)研究壞塊管理的常用方法有如下幾種[3-7]。

        2.1.1壞塊跳過

        對于固有壞塊,依據(jù)BBT判定待操作的塊是否為壞塊,若為壞塊,則跳過該塊,將數(shù)據(jù)存儲(chǔ)在相鄰的下一個(gè)好塊上,如圖3所示,第n塊為壞塊,第n+1塊為好塊,則跳過第n塊將數(shù)據(jù)存儲(chǔ)至第n+1塊。如果是使用壞塊,則將該塊標(biāo)記為壞塊,同時(shí)跳過該塊將數(shù)據(jù)存儲(chǔ)在下一個(gè)好塊,如有必要,將數(shù)據(jù)轉(zhuǎn)存至好塊中。

        圖3 壞塊跳過示意圖

        2.1.2壞塊替換

        壞塊替換的管理思路是遇到壞塊時(shí)并不是跳過該塊尋找最近的好塊繼續(xù)存儲(chǔ),而是通過修改其邏輯地址與物理地址的映射關(guān)系,將邏輯地址指向一個(gè)確定的好塊,從而達(dá)到壞塊替換的目的。該方案中需將所有塊分為兩個(gè)區(qū):存儲(chǔ)區(qū)與替換區(qū),如圖4所示。MT29F128G08芯片官方手冊中指明在產(chǎn)品有效的生命周期內(nèi)壞塊的數(shù)目不會(huì)超過100塊,按20%的余量設(shè)計(jì),替換區(qū)預(yù)留的好塊數(shù)目大于120塊即可滿足使用要求。在應(yīng)用層,用戶操作的是連續(xù)地址,易于操作與管理;在驅(qū)動(dòng)層或邏輯層需要維護(hù)好存儲(chǔ)區(qū)與替換區(qū)的映射關(guān)系。

        圖4 壞塊替換示意圖

        2.1.3動(dòng)態(tài)管理

        為了保持NAND Flash的使用壽命足夠長,必須避免擦寫區(qū)域的不均衡,否則會(huì)因?yàn)榫植窟_(dá)到擦寫極限而報(bào)廢,通過磨損均衡機(jī)制可有效延長閃存的使用壽命。

        為了解決損耗均衡的問題而定期進(jìn)行特殊整理。比較各個(gè)區(qū)域或塊的擦除次數(shù)(塊擦除次數(shù)可作為BBT的屬性之一),對于使用頻率明顯低于平均水平的塊,需提高其使用次數(shù);對于使用頻次明顯高于平均水平的塊應(yīng)減少對其操作的頻次。

        2.2數(shù)據(jù)校驗(yàn)算法

        如電路穩(wěn)定,操作時(shí)序正常,NAND Flash出錯(cuò)時(shí)一般只是某個(gè)頁中1 bit或幾個(gè)bit發(fā)生錯(cuò)誤。SLC Flash發(fā)生錯(cuò)誤尤其是2 bit以上的錯(cuò)誤的概率較低,一般使用漢明碼進(jìn)行校驗(yàn)和糾錯(cuò)[8]。而MLC Flash的錯(cuò)誤一般都大于2 bit,需使用糾錯(cuò)能力更強(qiáng)的BCH算法。

        2.2.1漢明碼校驗(yàn)算法

        1)校驗(yàn)算法

        基于漢明碼的ECC(error correction code,ECC)數(shù)據(jù)校驗(yàn)算法將數(shù)據(jù)塊看作一個(gè)矩陣,利用矩陣的行、列奇偶信息生成校驗(yàn)碼,能夠糾正1位、發(fā)現(xiàn)2位的錯(cuò)誤。以512字節(jié)的數(shù)據(jù)為例,生成3字節(jié)ECC校驗(yàn)數(shù)據(jù)共24位:6位的列校驗(yàn)碼和18位行校驗(yàn)碼,具體生成規(guī)則不再贅述[9],存放次序如表1所示,CP表示列校驗(yàn)碼,RP表示行校驗(yàn)碼。

        表1 漢明碼ECC校驗(yàn)碼存放格式

        2)糾錯(cuò)算法

        向NAND Flash的頁中寫入數(shù)據(jù)時(shí)將生成的ECC校驗(yàn)和保存到頁的OOB(out of band)數(shù)據(jù)區(qū)中。當(dāng)從NAND Flash中讀取數(shù)據(jù)時(shí),在應(yīng)用層對每512字節(jié)生成一個(gè)新的ECC校驗(yàn)和。將兩校驗(yàn)和按位異或,結(jié)果分析如下:

        a)若結(jié)果為0,則表示不存在錯(cuò)(或是出現(xiàn)了ECC無法檢測的錯(cuò)誤);

        b)若結(jié)果中存在12個(gè)比特位為1,表示存在一個(gè)比特錯(cuò)誤,且可糾正;

        c)若結(jié)果中只存在1個(gè)比特位為1,表示OOB區(qū)出錯(cuò);

        d)其他情況均表示出現(xiàn)了無法糾正的錯(cuò)誤。2.2.2BCH碼校驗(yàn)算法簡介

        BCH碼是一類重要的循環(huán)碼,能糾正 NAND Flash中多個(gè)隨機(jī)錯(cuò)誤,基于BCH碼的糾錯(cuò)過程由編碼和譯碼兩部分組成[10-11]。

        1)BCH編碼原理

        設(shè)BCH(n,k)碼的碼元取自有限域GF(2m),能糾正t個(gè)錯(cuò)誤,信息位有k位,校驗(yàn)位有r位,其原始多項(xiàng)式為:

        其中mi∈{0,1},i=0,1,2,…,k-1。生成多項(xiàng)式為:

        其中g(shù)i∈{0,1},i=0,1,2,…,r。生成的校驗(yàn)多項(xiàng)式為:

        系統(tǒng)碼的生成表達(dá)式為:

        由此可以看出,系統(tǒng)編碼的關(guān)鍵是求出校驗(yàn)多項(xiàng)式,其過程可描述如下:

        a)信息多項(xiàng)式m(x)升 xn-k次冪變?yōu)?xn-k·m(x);

        b)xn-k·m(x)除以生成多項(xiàng)式g(x)得到商q(x)和余數(shù)多項(xiàng)式r(x);

        c)碼元多項(xiàng)式即為:

        2)BCH譯碼過程

        BCH譯碼算法是BCH碼研究中最關(guān)鍵的部分,其過程可分為3個(gè)步驟[12]:

        a)由接收碼字計(jì)算伴隨式,如果伴隨式的值不為0則有錯(cuò)誤存在;

        b)依據(jù)伴隨式求出錯(cuò)誤位置多項(xiàng)式σ(x);

        c)求出σ(x)的根,得到錯(cuò)誤位置并更正錯(cuò)誤。

        2.3取同舍異法

        “取同舍異法”是筆者在實(shí)際應(yīng)用過程中經(jīng)常使用的一種方法。存儲(chǔ)數(shù)據(jù)時(shí)存3份,讀取數(shù)據(jù)時(shí)逐一比較3份數(shù)據(jù)的每個(gè)字節(jié):如果3個(gè)字節(jié)相同,返回任一個(gè)即可;如果有一個(gè)字節(jié)不同,返回相同的兩個(gè)字節(jié)中一個(gè);如果3個(gè)字節(jié)都不相同,則返回任一個(gè)即可,但數(shù)據(jù)采信度低,這種情況發(fā)生的概率極低。

        該方案是通過犧牲存儲(chǔ)空間換取數(shù)據(jù)可靠性的方法,適用于數(shù)據(jù)量較小或是存儲(chǔ)極其重要的數(shù)據(jù)的場合,如索引表或測試結(jié)果等。

        3 存儲(chǔ)效率關(guān)鍵技術(shù)

        制約NAND Flash存儲(chǔ)速率的主要因素是編程單位為頁,完成一頁的編程需要一定的時(shí)長。因此,如要提高編程效率或系統(tǒng)存儲(chǔ)性能需要合理利用好頁編程時(shí)間。

        3.1單片F(xiàn)lash編程技術(shù)

        1)Cache操作

        對于普通的頁操作,Cache Registers和Data Registers是一個(gè)整體(Cache Registers和Data Registers的關(guān)系見圖2),而對于Cache操作,Cache Registers和Data Registers視為兩個(gè)緩沖區(qū),首先將數(shù)據(jù)傳送至Cache Registers,F(xiàn)lash內(nèi)部將數(shù)據(jù)從 Cache Registers搬移至Data Registers后進(jìn)行編程。此時(shí)Cache Registers處于空閑狀態(tài),可以將下一次需要存儲(chǔ)的數(shù)據(jù)傳入Cache Registers,從而提高存儲(chǔ)效率。

        2)Multi-Plane操作

        由圖2可知,每個(gè)Plane都有獨(dú)立的緩沖寄存器和數(shù)據(jù)寄存器,因而可以同時(shí)對多個(gè)Plane進(jìn)行操作從而提高存儲(chǔ)效率。Multi-Plane編程的過程是分別傳入各個(gè)Plane需要編程的地址和數(shù)據(jù),同時(shí)開啟編程操作,共享編程時(shí)間,從而提高整體編程性能。

        3)Interleaved Die操作

        當(dāng)一個(gè)Target包含有多個(gè)LUN時(shí),由于各個(gè)LUN的片選、地址、數(shù)據(jù)、命令、狀態(tài)總線都是獨(dú)立的,當(dāng)對兩個(gè)LUN進(jìn)行交互編程時(shí),理論上存儲(chǔ)效能可以提高2倍。具體過程為首先對LUN1發(fā)送編程指令和數(shù)據(jù),當(dāng)LUN1內(nèi)部開始進(jìn)行編程操作時(shí)對處于就緒態(tài)的LUN2發(fā)送編程指令和數(shù)據(jù),LUN2內(nèi)部開始編程操作之后查詢LUN1編程是否已完成,如果完成開啟下一次存儲(chǔ)操作。如此循環(huán)交互操作LUN1 和LUN2,就可以有效的利用頁編程時(shí)間,使得整體編程效率大大提高。

        3.2多片流水線存儲(chǔ)技術(shù)

        在高速應(yīng)用的場合,單片F(xiàn)lash不能滿足存儲(chǔ)速率要求。對Flash陣列采用分片流水線技術(shù),可以大大提高存儲(chǔ)效率[13-15]。在進(jìn)行連續(xù)快速存儲(chǔ)數(shù)據(jù)時(shí),將數(shù)據(jù)塊拆分成多個(gè)數(shù)據(jù)片,采用流水線方式將數(shù)據(jù)片分散寫入各個(gè)Flash芯片,以消除各個(gè)Flash芯片寫入的等待時(shí)間,加快寫入速度。如圖5所示,4 片F(xiàn)lash構(gòu)成的存儲(chǔ)陣列工作流程示意圖,其存儲(chǔ)速率可提高約4倍。

        圖5 Flash陣列流水線存儲(chǔ)示意圖

        嵌入式系統(tǒng)中一般由FPGA產(chǎn)生Flash選擇,控制信號將數(shù)據(jù)分散寫入板卡上的相應(yīng)的Flash存儲(chǔ)器;應(yīng)用程序?qū)崿F(xiàn)Flash陣列存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)鏈表和文件管理。在多片流水線存儲(chǔ)的過程中結(jié)合3.1小節(jié)中提到的常規(guī)方法,理論上速率會(huì)有更大的提高。

        4 小結(jié)

        1)壞塊和位翻轉(zhuǎn)是影響NAND Flash數(shù)據(jù)存儲(chǔ)可靠性的主要因素,通過壞塊管理、數(shù)據(jù)校驗(yàn)及取同舍異法可以提高產(chǎn)品的使用壽命和數(shù)據(jù)可靠性。

        2)基于漢明碼的ECC校驗(yàn)適用于SLC架構(gòu)的NAND Flash,而MLC架構(gòu)的Flash應(yīng)選用BCH碼校驗(yàn)算法。

        3)頁編程時(shí)間是限制NAND Flash存儲(chǔ)效率的主要因素。通過Cache、Multi-Plane、Interleaved Die等操作可以有效提高單片F(xiàn)lash的存儲(chǔ)效率;通過流水線技術(shù)可以提高Flash陣列的存儲(chǔ)效率,滿足高速應(yīng)用的場合。

        [1]杜家瑞,劉正強(qiáng),李應(yīng)春.NAND Flash在嵌入式系統(tǒng)中的應(yīng)用[J].微機(jī)處理,2010(2):115-118.

        [2]林剛.NAND Flash壞塊管理算法及邏輯層驅(qū)動(dòng)設(shè)計(jì)[D].西安:西安電子科技大學(xué),2009.

        [3]彭兵,步凱,徐欣.NAND Flash壞塊管理研究[J].微機(jī)處理,2009(2):113-115.

        [4]程道遠(yuǎn).NAND Flash文件系統(tǒng)方案及其可靠性設(shè)計(jì)[J].電腦知識與技術(shù),2007(9):1320.

        [5]文燚,謝凱年.超大容量NAND FLASH壞區(qū)管理方法的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007(16):55 -57.

        [6]寧飛.大容量存儲(chǔ)中 NAND Flash壞塊的管理方法[J].電子測試,2012(12):64-68.

        [7]朱念好,周玉潔.Flash存儲(chǔ)管理的研究與設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(3):511-513.

        [8]邢開宇,曹曉曼,方火能.基于FPGA和NAND Flash的存儲(chǔ)器 ECC設(shè)計(jì)與實(shí)現(xiàn)[J].電子科技,2012,25 (10):70-73.

        [9]李澤明,楊燕嬌,張會(huì)新.一種NAND Flash ECC校驗(yàn)設(shè)計(jì)及FPGA實(shí)現(xiàn)[J].電視技術(shù),2013,37(17):73 -75.

        [10]殷民,易波.閃存控制器中BCH編解碼器設(shè)計(jì)和驗(yàn)證[J].通信技術(shù),2012,45(2):6-9.

        [11]陳宗正.NAND Flash控制器中BCH編譯碼器的設(shè)計(jì)與硬件實(shí)現(xiàn)[D].武漢:華中科學(xué)技術(shù)大學(xué),2012.

        [12]趙淑明,王衛(wèi)東,李彥強(qiáng).BCH編譯碼的DSP實(shí)現(xiàn)[J].山西電子技術(shù),2008(2):25-26.

        [13]杜學(xué)亮,金西.NAND Flash的并行調(diào)度算法[J].小型微型計(jì)算機(jī)系統(tǒng),2010,31(6):1171-1174.

        [14] 賈源泉.基于NAND FLASH的多路并行存儲(chǔ)系統(tǒng)的研究與實(shí)現(xiàn)[D].長沙:國防科學(xué)技術(shù)大學(xué),2011.

        [15]張燚翾,殷希梅,程洪濤.基于AT25DF641的彈載數(shù)據(jù)記錄器的設(shè)計(jì)[J].彈箭與制導(dǎo)學(xué)報(bào),2010,30 (5):209-210.

        THe Key Technique of High-capacity NAND Flash Memory

        LIU Hanghang,LI Xiaoying,YANG Yungang,XUE Xiaole
        (No.203 Research Institute of China Ordnance Industries,Xi’an 710065,China)

        In order to improve reliability of NAND Flash data storage,basic idea of bad block of NAND Flash was discussed,three management strategies including bad block skip,bad block replacement and dynamic management were analyzed;Error checking and correcting algorithm were also described.In order to enhance efficiency of NAND Flash memory,Multi-Plane operation,Interleaved Die operation,pipeline storage technology of multi-chip were studied.Analysis shows that the effective management strategies and data check-out algorithm can increase NAND Flash data storage reliability,several operations sharing the program time can raise efficiency of NAND Flash memory.

        NAND Flash;error management;data storage

        TP333.5

        A

        10.15892/j.cnki.djzdxb.2016.01.040

        2015-04-21

        劉航航(1988-),男,甘肅人,碩士,研究方向:測控與嵌入式系統(tǒng)設(shè)計(jì)。

        猜你喜歡
        字節(jié)校驗(yàn)編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
        No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
        爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
        簡談MC7字節(jié)碼
        大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗(yàn)方法
        麻豆乱码国产一区二区三区| 久久精品亚洲熟女av蜜謦| 亚洲综合av永久无码精品一区二区| 射死你天天日| 亚洲成在人线电影天堂色| 日本中文字幕人妻精品| 少妇精品亚洲一区二区成人| 无码日韩精品一区二区三区免费| 国产成人亚洲综合无码精品| 伊人久久综合狼伊人久久| 亚洲精品国产电影| 日本熟妇色xxxxx欧美老妇| 中文字幕永久免费观看| 久久午夜一区二区三区| 国产极品粉嫩福利姬萌白酱| 青草国产精品久久久久久| 国产剧情无码中文字幕在线观看不卡视频 | 国产激情久久久久久熟女老人| 亚洲视频在线观看第一页| 精品国产麻豆免费人成网站 | 国产伦精品免编号公布| 国产3p视频| 日本在线播放不卡免费一区二区| 国产精品成人亚洲一区| 人人爽人人爱| 国产午夜激情视频自拍| 国产尤物自拍视频在线观看 | 亚洲伊人久久成人综合网| 精品国产一区二区三区九一色| 国产精品久久久久久人妻无| 国模无码视频一区| 视频一区视频二区亚洲免费观看 | 久久久久亚洲av无码a片| 1区2区3区高清视频| 亚洲熟妇av日韩熟妇av| 亚洲综合第一页中文字幕| 亚洲av无码一区二区三区人妖| 日韩亚洲中文图片小说| 最新69国产精品视频| 中文无码精品a∨在线观看不卡 | 中文字幕五月久久婷热|