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

        ?

        基于FPGA的NAND Flash ECC校驗系統(tǒng)設(shè)計與實現(xiàn)

        2018-10-09 03:00:42軒,常亮,李
        電子設(shè)計工程 2018年18期
        關(guān)鍵詞:原始數(shù)據(jù)字節(jié)校驗

        王 軒,常 亮,李 杰

        (1.中國科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所,上海200050;2.上海微小衛(wèi)星工程中心上海201203;3.上??萍即髮W(xué)信息學(xué)院,上海201210;4.中國科學(xué)院大學(xué)北京100049)

        隨著嵌入式技術(shù)的發(fā)展,各類移動設(shè)備已廣泛應(yīng)用在各個領(lǐng)域。在人們對高速化,續(xù)航能力,高可靠性上取得進展的同時,也對其中的存儲設(shè)備提出越來越高的要求[1]。NAND Flash設(shè)備具有的掉電非易失性,存取速度快,低功耗,抗震性等優(yōu)點[2],已廣泛取代傳統(tǒng)磁介質(zhì)存儲設(shè)備,成為嵌入式設(shè)備中解決高密度存儲的主流方案[3]。

        由于NAND Flash工藝無法保證數(shù)據(jù)存儲的可靠性,且考慮星載設(shè)備工作在空間環(huán)境的惡劣性,可能會導(dǎo)致單粒子事件造成其存儲數(shù)據(jù)在某些位發(fā)生反轉(zhuǎn)[4]。雖然出現(xiàn)這種情況的概率較低,通常只有一位或幾位。不過對于重要的數(shù)據(jù)仍需采用必要的檢錯糾錯機制來提高可靠性[5]。

        基于漢明碼的ECC(Error Correction Code)校驗算法可糾正一位錯誤,檢測兩位錯誤,對多于兩位的錯誤則無法保證糾錯和檢錯[6]。由于其便于硬件實現(xiàn),計算速度快,具有實時性等優(yōu)點,非常適用于NAND Flash存儲校驗。文中將介紹ECC算法的設(shè)計及基于FPGA的硬件實現(xiàn),具有1bit/4kbits的糾錯能力,經(jīng)Modelsim仿真及燒入Microsemi公司的Smartfusion2系列FPGA中調(diào)試驗證算法在系統(tǒng)中可穩(wěn)定運行,滿足設(shè)計要求。

        1 ECC校驗算法原理

        ECC校驗由傳統(tǒng)的奇偶校驗發(fā)展而來,改進了傳統(tǒng)奇偶校驗僅能檢錯而無法糾錯的局限性。并且傳統(tǒng)的奇偶校驗冗余數(shù)據(jù)隨原始數(shù)據(jù)的增長而線性增長。而ECC校驗算法將原始數(shù)據(jù)劃分為矩陣的形式,通過對數(shù)據(jù)的組合行列校驗產(chǎn)生,一般將512字節(jié)分為一組,每組(521 bytes=4096 bits=2n,n=12)的原始數(shù)據(jù)需產(chǎn)生24bits(2n,n=12)的ECC碼,冗余編碼數(shù)據(jù)為2logm2(其中m為原始數(shù)據(jù)的位數(shù)),隨原始數(shù)據(jù)成對數(shù)形式增長。當(dāng)然也可以根據(jù)需要,將較少的數(shù)據(jù)分為一組,增加組數(shù)和冗余碼來來增強糾錯能力。

        1.1 ECC編碼

        本設(shè)計中采用將512字節(jié)數(shù)據(jù)劃分為一組進行ECC的編碼。當(dāng)然具體編碼方式如圖1所示[7]。

        其中p1-p4為列校驗碼,由這512字節(jié)的所有對應(yīng)位通過異或運算產(chǎn)生。用數(shù)學(xué)表達(dá)式表示為:

        圖1 ECC編碼方式

        p8-p2048為行校驗碼,由圖1中對應(yīng)字節(jié)的所有位通過異或產(chǎn)生。可用數(shù)學(xué)表達(dá)式表示為:

        其中rownumber為行數(shù)的二進制表示形式。其第零位可區(qū)分出奇數(shù)與偶數(shù)行,第一位可將數(shù)據(jù)的行數(shù)分為每兩行一組,對每兩行的奇偶進行區(qū)分,類似的方式可對行數(shù)進行不同的分組,從而得到其他行校驗碼。

        1.2 根據(jù)編碼進行檢錯與糾錯

        在寫入操作時,生成的ECC將寫入NAND Flash的Spare區(qū),讀出時,根據(jù)讀出的數(shù)據(jù)再次生成的新ECC與從Spare區(qū)中讀出的舊ECC通過對應(yīng)位異或運算,結(jié)果可分為以下幾種情況[8]:

        1)若運算結(jié)果全為零,則兩次ECC完全相同,說明寫入的數(shù)據(jù)與讀出時的數(shù)據(jù)是相同的,即NAND Flash在存儲過程中數(shù)據(jù)未發(fā)生翻轉(zhuǎn);

        2)若運算結(jié)果為在每個校驗對(pn和′為一個校驗對)中均存在一個‘1’,則說明該512字節(jié)的數(shù)據(jù)中僅有1位發(fā)生翻轉(zhuǎn),屬于可糾錯誤。此時運算結(jié)果中p2048 p1024 p512...p8為該錯誤位所在字節(jié)的行偏移,p4 p2 p1為該字節(jié)內(nèi)錯誤位的列偏移[];

        3)若運算結(jié)果僅有一個‘1’,則說明存儲的ECC中的一位出現(xiàn)了錯誤;

        4)若運算結(jié)果非以上情況,則說明出現(xiàn)了一位以上的錯誤,報告出錯但無法糾正。

        如圖1所示,在一組512字節(jié)的數(shù)據(jù)中,若第一個字節(jié)中的bit2在存儲過程中發(fā)生了翻轉(zhuǎn),則讀出時生成的 ECC 對應(yīng)的p2048′p1024′...p16′p8p4′p2p1′處將會受到影響,即圖中標(biāo)深色的區(qū)域。使兩組ECC按位異或這些位置處結(jié)果將為‘1’,即運算結(jié)果中各校驗對中均存在一個‘1’,符合上述第二種情況。此時取運算結(jié)果中p2048 p1024 p512...p8對應(yīng)的值即00...01即說明錯誤在第一個字節(jié),p4 p2 p1對應(yīng)的值為010即說明錯誤位在該字節(jié)中第二個位。即可定位錯誤位并予以翻轉(zhuǎn)糾正。

        2 硬件系統(tǒng)框架設(shè)計

        本設(shè)計基于Microsemi公司Smartfusion2系列SoC型高性能FPGA完成[10-11]。該FPGA內(nèi)嵌有ARM Cortex-M3硬核。CPU通過AHB總線與FPGA層進行數(shù)據(jù)傳輸。這里CPU用于命令的發(fā)送與數(shù)據(jù)的接收,來進行軟硬件協(xié)同驗證設(shè)計的正確性[12]。NAND Flash采用三星K9F1G08UOA型號芯片[13]。該型號每頁由2KB的數(shù)據(jù)區(qū)和64B的Spare區(qū)組成[14]。

        本設(shè)計系統(tǒng)框架如圖2所示。主要包括AHB接口模塊,數(shù)據(jù)緩存模塊,ECC校驗?zāi)K及NAND Flash時序接口模塊[15]。

        圖2 硬件系統(tǒng)框架圖

        AHB接口模塊根據(jù)AMBA協(xié)議實現(xiàn),將FPGA端作為slave掛接到AHB總線上與master CPU進行通信,而AHB總線可直接調(diào)用IP核通過配置使用。由于NAND Flash的讀寫均以頁為單位[16],所以可通過配置整頁大小的FIFO作為數(shù)據(jù)緩存。NAND Flash時序接口模塊主要根據(jù)NAND Flash接口協(xié)議,將命令與數(shù)據(jù)通過解析來控制NAND Flash操作。ECC校驗?zāi)K主要分為ECC的生成模塊,錯誤檢測與定位模塊,和待糾錯數(shù)據(jù)緩存模塊。ECC校驗流程圖如圖3所示。

        圖3 ECC校驗流程圖

        當(dāng)數(shù)據(jù)寫入時,ECC生成模塊根據(jù)原始數(shù)據(jù)生成ECC碼,并隨數(shù)據(jù)一起寫入到NAND Flash中數(shù)據(jù)頁所對應(yīng)的Spare區(qū)。讀出時將數(shù)據(jù)與存于Spare區(qū)中的ECC一并讀出,所讀數(shù)據(jù)將再次生成ECC,與讀出的ECC一同進入錯誤檢測與定位模塊進行運算。根據(jù)運算結(jié)果將判斷數(shù)據(jù)中是否存在錯誤及錯誤類型是否可糾。若錯誤可糾,則將錯誤地址輸出到數(shù)據(jù)緩存模塊中。由于需要對錯誤數(shù)據(jù)進行隨機讀寫,所以此處采用基于SRAM的數(shù)據(jù)緩存方式。即圖四中的SRAM_wrap模塊。該模塊底層例化SRAM IP核用于待糾正數(shù)據(jù)的存儲,然后根據(jù)錯誤定位模塊發(fā)來的地址,將發(fā)生翻轉(zhuǎn)位所在字節(jié)讀出,將錯誤位糾正,再將該字節(jié)寫入底層SRAM中,最終通過AHB總線將所讀數(shù)據(jù)發(fā)送給CPU來驗證數(shù)據(jù)的正確性。

        3 功能實現(xiàn)及仿真

        文中基于Libero SoC 11.3開發(fā)環(huán)境中采用VHDL語言對NAND Flash ECC校驗系統(tǒng)進行了設(shè)計與實現(xiàn)。該ECC校驗系統(tǒng)頂層用于仿真的模塊如圖4所示。并在ModelSim SE-6410.4環(huán)境下進行仿真。采用NAND Flash model陣列模擬真實Flash芯片行為,編寫bfm(bus function model)即總線功能模型腳本產(chǎn)生AHB Master端的激勵,即可進行系統(tǒng)仿真。

        本設(shè)計采用的NAND Flash芯片每頁為2 K字節(jié),故將其分為4組512字節(jié)分別進行校驗。為了測試該ECC校驗系統(tǒng)具體檢錯與糾錯功能,在NAND Flash接口模塊中在讀出時故意做了數(shù)據(jù)的改動。將第零組數(shù)據(jù)中的第一個字節(jié)寫入‘x02’改為了‘x00’,即將數(shù)據(jù)二進制中的第一位翻轉(zhuǎn)。仿真結(jié)果如圖5所示。ERR_STATUS為對出錯狀態(tài)的報告,‘b00’為無錯誤,‘b01’為數(shù)據(jù)中發(fā)生一位錯誤,‘b10’為 ECC 中發(fā)生一位錯誤。‘b11’為發(fā)生一位以上的錯誤。圖中顯示出第零組數(shù)據(jù)中發(fā)生一位錯誤。并且由err_loc報告出錯誤所在位置。即為第一個字節(jié)中的第一位。DATA_IN與DATA_OUT為SRAM_wrap模塊中 對錯誤數(shù)據(jù)的糾正,即將‘x00’改回為‘x02’。

        圖4 ECC校驗系統(tǒng)頂層模塊圖

        圖5 ECC校驗系統(tǒng)仿真時序圖

        4 結(jié)束語

        由于NAND Flash存儲設(shè)備具有掉電非易失性,存取速度快,低功耗,抗震性等優(yōu)點,在嵌入式領(lǐng)域已經(jīng)逐漸取代磁介質(zhì)存儲器,成為解決高密度存儲的主流方案。針對其工藝結(jié)構(gòu)局限而可能導(dǎo)致低概率的位翻轉(zhuǎn)問題,本文給出了基于漢明碼ECC校驗系統(tǒng)完整的設(shè)計及實現(xiàn)方案。

        基于漢明碼的ECC校驗算法具有便于硬件實現(xiàn)且占用資源較少運算速度快的特點,且可通過對冗余碼的增加來實現(xiàn)對糾錯能力的擴展。因此漢明碼可以作為SLC類型NAND Flash應(yīng)用中可以采用的性價比非常高的一種糾錯方式。

        基于FPGA的設(shè)計一方面可以節(jié)省由傳統(tǒng)軟件實現(xiàn)校驗而帶來CPU資源的占用與開銷,另一方面由于硬件的并行性可滿足高速存儲設(shè)備對于實時性的要求。因此,本設(shè)計具有較高的工程應(yīng)用價值。

        猜你喜歡
        原始數(shù)據(jù)字節(jié)校驗
        GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
        No.8 字節(jié)跳動將推出獨立出口電商APP
        受特定變化趨勢限制的傳感器數(shù)據(jù)處理方法研究
        No.10 “字節(jié)跳動手機”要來了?
        爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
        簡談MC7字節(jié)碼
        全新Mentor DRS360 平臺借助集中式原始數(shù)據(jù)融合及直接實時傳感技術(shù)實現(xiàn)5 級自動駕駛
        汽車零部件(2017年4期)2017-07-12 17:05:53
        大型電動機高阻抗差動保護穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        鍋爐安全閥在線校驗不確定度評定
        亚洲an日韩专区在线| 丰满少妇人妻无码专区| 野花香社区在线视频观看播放| 国产精品久久久久久久| 丰满女人又爽又紧又丰满| 九九视频免费| 加勒比东京热久久综合| 亚洲性感毛片在线视频| 亚洲国产精品一区二区毛片| av国产传媒精品免费| 成人做爰高潮尖叫声免费观看| 亚洲一区二区高清精品| 性色国产成人久久久精品二区三区| 亚洲天堂av在线网站| wwww亚洲熟妇久久久久| 亚洲国产美女精品久久| 日本无吗一区二区视频| 久久国产亚洲精品一区二区三区 | 无码av免费一区二区三区试看| 在线观看国产一区亚洲bd| 91人妻人人做人人爽九色| 色与欲影视天天看综合网| 99精品国产综合久久久久五月天 | 91尤物在线看| 深夜一区二区三区视频在线观看| 日本三级吃奶头添泬| 18禁真人抽搐一进一出在线| 97人人超碰国产精品最新o| 精品国产三级a| 国产在线视频一区二区三区不卡| 极品嫩模大尺度av在线播放| 免费人成网站在线观看欧美| 国产精品日韩高清在线蜜芽| 亚洲伊人成综合人影院| 国产三级精品三级在线专区2| 插我一区二区在线观看| 香蕉久久久久久久av网站 | 在线亚洲精品一区二区三区| 国产大屁股视频免费区| 亚洲 欧美 激情 小说 另类 | 91精品福利观看|