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

基于FPGA的NAND Flash ECC校驗系統設計與實現

2018-10-09 03:00:42軒,常亮,李
電子設計工程 2018年18期
關鍵詞:系統設計

王 軒,常 亮,李 杰

(1.中國科學院上海微系統與信息技術研究所,上海200050;2.上海微小衛星工程中心上海201203;3.上海科技大學信息學院,上海201210;4.中國科學院大學北京100049)

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

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

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

1 ECC校驗算法原理

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

1.1 ECC編碼

本設計中采用將512字節數據劃分為一組進行ECC的編碼。當然具體編碼方式如圖1所示[7]。

其中p1-p4為列校驗碼,由這512字節的所有對應位通過異或運算產生。用數學表達式表示為:

圖1 ECC編碼方式

p8-p2048為行校驗碼,由圖1中對應字節的所有位通過異或產生。可用數學表達式表示為:

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

1.2 根據編碼進行檢錯與糾錯

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

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

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

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

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

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

2 硬件系統框架設計

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

本設計系統框架如圖2所示。主要包括AHB接口模塊,數據緩存模塊,ECC校驗模塊及NAND Flash時序接口模塊[15]。

圖2 硬件系統框架圖

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

圖3 ECC校驗流程圖

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

3 功能實現及仿真

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

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

圖4 ECC校驗系統頂層模塊圖

圖5 ECC校驗系統仿真時序圖

4 結束語

由于NAND Flash存儲設備具有掉電非易失性,存取速度快,低功耗,抗震性等優點,在嵌入式領域已經逐漸取代磁介質存儲器,成為解決高密度存儲的主流方案。針對其工藝結構局限而可能導致低概率的位翻轉問題,本文給出了基于漢明碼ECC校驗系統完整的設計及實現方案。

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

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

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 国产在线八区| 香蕉视频国产精品人| 亚瑟天堂久久一区二区影院| 精品无码国产一区二区三区AV| 久久黄色免费电影| 亚洲精品日产精品乱码不卡| 国产97公开成人免费视频| 久久一日本道色综合久久| 无码精品福利一区二区三区| 色综合五月| 天天综合色网| 伊人中文网| 日本精品αv中文字幕| 亚洲精品制服丝袜二区| 日韩欧美91| 亚洲欧美一区二区三区图片| 少妇人妻无码首页| 一区二区日韩国产精久久| 无码久看视频| 国产波多野结衣中文在线播放| 国产麻豆aⅴ精品无码| 国产真实自在自线免费精品| 波多野结衣无码AV在线| 人妻21p大胆| 亚洲精品黄| 午夜精品久久久久久久无码软件| 国产精品19p| 一本大道无码日韩精品影视| 欧美v在线| 久久青草视频| 亚洲婷婷在线视频| 国产精品自在线拍国产电影| 丰满人妻一区二区三区视频| 亚洲二区视频| 国产成在线观看免费视频| 91精品aⅴ无码中文字字幕蜜桃| 91精品国产一区自在线拍| 狼友av永久网站免费观看| 亚洲国产欧美国产综合久久 | 色综合五月婷婷| 色综合久久88色综合天天提莫| 又爽又黄又无遮挡网站| 国产美女丝袜高潮| 99久久精品久久久久久婷婷| www.日韩三级| 国产亚洲视频中文字幕视频| 国产精品999在线| 国产电话自拍伊人| 久夜色精品国产噜噜| 无遮挡国产高潮视频免费观看| 91网站国产| 大学生久久香蕉国产线观看| 91青青草视频| 久久婷婷国产综合尤物精品| 99尹人香蕉国产免费天天拍| 浮力影院国产第一页| 丝袜高跟美脚国产1区| 刘亦菲一区二区在线观看| 亚洲国产欧美目韩成人综合| 亚洲综合极品香蕉久久网| 欧美日韩精品一区二区视频| 一边摸一边做爽的视频17国产| 热九九精品| 国产微拍一区二区三区四区| 国产aⅴ无码专区亚洲av综合网| 国产人成在线观看| 毛片a级毛片免费观看免下载| 日韩国产亚洲一区二区在线观看 | 久青草免费在线视频| 中国丰满人妻无码束缚啪啪| 国产精品免费露脸视频| 天天干伊人| 午夜国产大片免费观看| 欧美人人干| 无码专区国产精品第一页| 国产欧美日韩资源在线观看| 狠狠色丁婷婷综合久久| 国产综合精品一区二区| 日韩精品资源| 精品无码一区二区在线观看| 欧美日韩资源| 538精品在线观看|