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

        ?

        基于FPGA的NAND FLASH壞塊表的設(shè)計(jì)與實(shí)現(xiàn)

        2022-02-02 07:20:37曾鋒徐忠錦
        電子產(chǎn)品世界 2022年12期

        曾鋒 徐忠錦

        摘要:在現(xiàn)代電子設(shè)備中,越來越多的產(chǎn)品使用NAND FLASH芯片來進(jìn)行大容量的數(shù)據(jù)存儲(chǔ),而且使用 FPGA作為核心處理芯片與NAND FLASH直接交聯(lián)。根據(jù)NAND FLASH的特點(diǎn),需要識(shí)別NAND FLASH芯片的壞塊并進(jìn)行管理。FPGA對(duì)壞塊的管理不能按照軟件的壞塊管理方式進(jìn)行。本文提出了一種基于FPGA的 NAND FLASH芯片壞塊表的設(shè)計(jì)方法,利用FPGA中RAM模塊,設(shè)計(jì)了狀態(tài)機(jī)電路,靈活地實(shí)現(xiàn)壞塊表的建立、儲(chǔ)存和管理,并且對(duì)該設(shè)計(jì)進(jìn)行測(cè)試驗(yàn)證。

        關(guān)鍵詞: NAND FLASH;FPGA;壞塊;壞塊檢測(cè)

        0引言

        隨著技術(shù)的發(fā)展,越來越多的電子設(shè)備的數(shù)據(jù)采用 NAND FLASH 芯片存儲(chǔ)產(chǎn)生的大量數(shù)據(jù)。在傳統(tǒng)的電路設(shè)計(jì)中,常用 ARM、DSP 等處理器來用于 NAND FLASH 的接口。但是隨著實(shí)時(shí)性要求的提高,越來越多的設(shè)備中采用了 FPGA 來對(duì) NAND FLASH 進(jìn)行壞塊管理,釋放處理器任務(wù)資源。

        由于 NAND FLASH 的特點(diǎn),NAND FLASH 不可避免地會(huì)有壞塊產(chǎn)生,使用 NAND FLASH 時(shí),需要對(duì)壞塊進(jìn)行管理,建立壞壞表(以下簡(jiǎn)稱“BBT”)。一般處理管理 BBT 的方法,是采用建立數(shù)組的方式,將檢測(cè)到的壞塊編號(hào)記錄在數(shù)組中,在操作 NAND FLASH 時(shí),對(duì)將要操作的塊的編號(hào)與 BBT 的數(shù)據(jù)進(jìn)行對(duì)比,如果是壞塊,則跳過該塊,不使用。但是這是建立數(shù)組的方法并不適用于 FPGA 的設(shè)計(jì)操作,本文根據(jù) FPGA 的特點(diǎn),利用 FPGA 的 Block RAM 資源,提出了一種壞塊檢測(cè)、存儲(chǔ)的方法。

        1電路說明

        1.1 NAND Flash芯片說明

        NAND Flash芯片使用型號(hào)是三星公司的K9K8G08U0A,

        單片容量為1 G×8 Bit。該芯片總共有8192塊,每塊中含有64頁,每頁共2112個(gè)字節(jié)(前2048個(gè)為主存儲(chǔ)空間,后64個(gè)為擴(kuò)展存儲(chǔ)空間)。芯片的讀寫操作均以頁為單位進(jìn)行。芯片容量結(jié)構(gòu)如圖1所示。

        其中,NAND Flash 芯片分為列地址( Column Address )和行地址( Row Address ),列地址用于每頁中的字節(jié)尋址,行地址用于芯片的塊、頁的尋址,其中行地址的 A18~A30為芯片的塊地址。

        1.2 FPGA電路說明

        FPGA 使用型號(hào)為 Xilinx (現(xiàn) AMD )公司Virtex II 系列的 XC2V1000,芯片內(nèi)部有5120個(gè) Slice、40個(gè)乘法器、720 kbit 的 RAM模塊資源,8個(gè) DCM 時(shí)鐘管理模塊。其主要參數(shù)如圖2所示。

        2壞塊表設(shè)計(jì)

        2.1壞塊表檢測(cè)機(jī)理

        根據(jù) NAND FLASH 芯片的檢測(cè)原理,芯片出廠后的壞塊檢測(cè)需要檢測(cè)芯片每個(gè)部分的頁1和頁2中列地址為2048的存儲(chǔ)的數(shù)據(jù)值。若值為0xFF ,則該部分為好塊;若值不為0xFF ,則該部分為壞塊。NAND FLASH 壞塊檢測(cè)流程如圖3所示。

        2.2壞塊表的設(shè)計(jì)思路

        根據(jù) FPGA 的應(yīng)用特點(diǎn),本次 NAND Flash 的壞塊表采用對(duì)所有塊建立壞塊信息的方式,建立一個(gè)完整的塊狀態(tài)信息表,即每一個(gè)塊用1個(gè) Bit 表征其是否是好塊還是壞塊,定義為:0代表該塊是良好的,1代表該塊是故障的。本設(shè)計(jì)中,NAND Flash 有8192個(gè)塊,用8192個(gè) Bit 代表每個(gè)塊的狀態(tài)信息,正好用一個(gè)1024×8 bit 的 RAM對(duì)所有的壞塊表數(shù)據(jù)位進(jìn)行存儲(chǔ),壞塊表存儲(chǔ)示意圖見圖4。

        2.3壞塊表的存儲(chǔ)

        在本設(shè)計(jì)中,NAND FLASH 的壞塊表儲(chǔ)存在 NAND FLASH 的第1塊的第1頁處。第1塊只用于壞塊表的存儲(chǔ),不再用于存儲(chǔ)其他數(shù)據(jù),壞塊表在第1塊中的位置見圖5。

        2.4壞塊表的建立流程

        NAND FLASH 在使用時(shí),初次上電后,寫入數(shù)據(jù)之前需要對(duì)芯片的塊的好壞進(jìn)行掃描,從而得到壞塊表。在本型號(hào)中,NAND FLASH 的出廠壞塊信息需要查詢每個(gè)塊的第1個(gè)頁和第2個(gè)頁中的列地址為2048的空間上數(shù)據(jù)是否都為“0xFF”,數(shù)據(jù)為“0xFF”,則當(dāng)前塊為好塊,否則當(dāng)前塊為壞塊。

        壞塊表的建立的狀態(tài)機(jī)流程如圖6所示:上電后,狀態(tài)機(jī)從狀態(tài)1跳轉(zhuǎn)至狀態(tài)2,讀取第一塊中的數(shù)據(jù),判斷是否為數(shù)據(jù)頭0xAA、0x55、0xAA、0x55、0xAA、0x55、0xAA、0x55。如果數(shù)據(jù)頭相符,則狀態(tài)跳轉(zhuǎn)至11,直接讀取壞塊表到 RAM ,建立起壞塊表信息。如果讀到的數(shù)據(jù)頭與上述的數(shù)據(jù)頭不相符,則意味 NAND FLASH 未存在壞塊表,需要建立壞塊表。狀態(tài)機(jī)狀態(tài)依次跳轉(zhuǎn)至狀態(tài)4、狀態(tài)5、狀態(tài)6,即狀態(tài)機(jī)對(duì)當(dāng)前塊的中的第1頁和第2頁的中列地址為2048的空間進(jìn)行訪問,根據(jù)讀值判別當(dāng)前塊是否為壞塊,如果是壞塊將對(duì)應(yīng)的寄存器位置1。當(dāng)掃描完8個(gè)塊,狀態(tài)機(jī)跳轉(zhuǎn)至狀態(tài)7,則將8個(gè)塊的壞塊信息寫入 RAM ;當(dāng)未掃描滿8個(gè)塊,狀態(tài)機(jī)跳轉(zhuǎn)至狀態(tài)8,塊地址加1,對(duì)下一個(gè)塊進(jìn)行檢測(cè)。當(dāng)所有的8092個(gè)塊都被檢測(cè)后,則狀態(tài)機(jī)跳轉(zhuǎn)至狀態(tài)10,將數(shù)據(jù)頭以及 RAM 數(shù)據(jù)全部寫入 NAND FLASH 的第0塊,至此,初始?jí)膲K表建立完成。

        壞塊表建立完成后,壞塊信息存在 RAM 中,在正常存取操作時(shí),就可以直接讀取 RAM 模塊,獲取壞塊信息。

        當(dāng)電路下電,再次上電后,狀態(tài)機(jī)就可以從塊0中讀取到數(shù)據(jù)頭,跳過初次壞塊表的建立過程,狀態(tài)機(jī)從第1塊中繼續(xù)讀取到壞塊表,加載到 RAM 中,完成后交其他模塊進(jìn)行后續(xù)的操作。

        3驗(yàn)證情況

        為驗(yàn)證是否正確的建立和存儲(chǔ)壞塊表,需要將壞塊表的處理模塊嵌入 FPGA 的中整個(gè) NAND FLASH 的接口控制器中,驗(yàn)證的電路如圖7所示。壞塊表處理模塊與1個(gè)1024×8 Bit 的 RAM 連接,該 RAM 用于存儲(chǔ)壞塊表。NAND FLASH 接口模塊根據(jù) NAND FALSH 芯片的讀寫接口時(shí)序設(shè)計(jì),包含基本的 Read 模塊,Write 模塊和擦除模塊。 NAND FLASH 接口模塊受壞塊表處理模塊的控制。正常工作模塊在壞塊表處理模塊工作完成之后開始工作,通過 UART 接收上位機(jī)的命令,控制 NAND FLASH 接口模塊與 NAND FLASH 交聯(lián);同時(shí),正常工作模塊也通過 UART 上報(bào)數(shù)據(jù)和信息給上位機(jī)。

        驗(yàn)證時(shí),通過上位機(jī)發(fā)送讀取命令,正常工作模塊控制 NAND FLASH 接口模塊將 NAND FLASH 塊0中的內(nèi)容讀取出來,從而判斷是否正確地建立了壞塊表,見圖8。

        通過讀取內(nèi)容發(fā)現(xiàn),新板卡中的 NAND FLASH 成功地建立了壞塊表,本測(cè)試電路中 NAND FLASH 芯片有 1 個(gè)壞塊,為第 1 761 塊。

        4 結(jié)束語

        通過驗(yàn)證證明,本文設(shè)計(jì)的基于 FPGA 的壞塊表設(shè)計(jì)方式能夠正確地實(shí)現(xiàn)壞塊表建立和存儲(chǔ),壞塊表能夠方便地被 FPGA 使用,壞塊表能完整地表征整個(gè) NANDFLASH 芯片的塊的狀態(tài),RAM 結(jié)構(gòu)能很靈活方便地在FPGA 中進(jìn)行調(diào)用,滿足對(duì) FPGA 對(duì) NAND FLASH 芯片的控制需要。

        參考文獻(xiàn):

        [1] 舒文麗,吳云峰.基于NAND FLASH的海量存儲(chǔ)器的設(shè)計(jì)[J].電子器件,2012,2(35):44-46.

        [2] 趙亞慧.基于NAND Flash的高速大容量存儲(chǔ)系統(tǒng)的設(shè)計(jì)[J].電光與控制,2016,5(23):37-40.

        [3] 喬亞飛,,李華旺.基于FPGA的星載NAND FLASH控制器的設(shè)計(jì)[J].電子設(shè)計(jì)工程 2018,7(26):29-32.

        [4] 周浩,王浩全.基于FPGA和NAND FLASH的便攜式信號(hào)采集系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù)與儀器儀表,2018,44(9):82-86.

        [5] 張?chǎng)藿ń?一種多通道NAND FLASH陣列的壞塊管理方案[J].電子器件,2014,10(37):33-36.

        [6] 喬立巖,張鵬.一種新型NAND FLASH 壞塊管理算法的研究與實(shí)現(xiàn)[J].電子測(cè)量技術(shù), 2015,11(38):19-21.

        国产精品无码av一区二区三区| 一卡二卡国产av熟女| 蜜桃臀av一区二区三区| 人妻av无码一区二区三区| 欧美疯狂做受xxxxx高潮| 97色综合| 国产av精选一区二区| 麻花传媒68xxx在线观看| 欧美人与动人物姣配xxxx| 免费黄网站久久成人精品| 人妻中文字幕在线一二区| 国产精品乱码人妻一区二区三区 | 亚洲av日韩专区在线观看| 99国产精品丝袜久久久久| 白嫩少妇在线喷水18禁| 久久人人爽人人爽人人片av高请 | 在线看片免费人成视久网不卡| 日本人妻免费在线播放| 久久国内精品自在自线图片 | 99久久综合狠狠综合久久一区| 91国产精品自拍视频| 欧美成人www在线观看| 亚洲丁香五月激情综合| 中文字幕亚洲精品码专区| av中国av一区二区三区av| 精品三级av无码一区| 国产丝袜在线精品丝袜不卡| 91国内偷拍一区二区三区| 图片小说视频一区二区| 免费无码毛片一区二区三区a片| 国内视频一区| 亚洲精品女同一区二区三区| 永久黄网站免费视频性色| 久久久国产精品樱花网站| 亚洲av日韩av天堂久久不卡 | 在线观看国产一区二区av| 不卡一卡二卡三乱码免费网站| 波多野结衣中文字幕在线视频| av福利资源在线观看| 九九九免费观看视频| 欧美与黑人午夜性猛交久久久|