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

        ?

        多通道NAND Flash存儲芯片控制器的設(shè)計與實現(xiàn)

        2018-08-23 02:11:20陳萬培
        無線電工程 2018年9期
        關(guān)鍵詞:存儲芯片緩沖區(qū)命令

        陶 莉,陳萬培

        (揚州大學(xué) 信息工程學(xué)院,江蘇 揚州 225000)

        0 引言

        隨著信息產(chǎn)業(yè)的飛速發(fā)展,各個行業(yè)對數(shù)據(jù)存儲的要求越來越高,基于閃存技術(shù)的NAND Flash存儲芯片由于價格低、體積小以及效率高的優(yōu)勢,廣泛應(yīng)用于現(xiàn)代數(shù)碼產(chǎn)品以及固態(tài)硬盤等媒體設(shè)備。作為高密度靜態(tài)可擴展存儲器,NAND Flash存儲芯片在大容量高速數(shù)據(jù)存儲系統(tǒng)中占據(jù)主流地位[1-2]。

        采用NAND Flash存儲芯片作為存儲介質(zhì)的固態(tài)盤,比傳統(tǒng)的存儲設(shè)備更能承受溫度的變化、機械的振動和沖擊,同時具有耗電少、存儲密度提升快、可靠性更高的優(yōu)點,易于實現(xiàn)高速度大容量的存儲[3-8]。NAND Flash存儲芯片結(jié)構(gòu)每比特成本低,具有更高的性能,并且能像磁盤一樣可以通過接口輕松升級[9-13]。另外,NAND Flash存儲芯片的封裝尺寸在不斷減少,而存儲容量每年會提高3~4倍[14-17]。由于NAND Flash存儲芯片復(fù)雜的接口操作,設(shè)計了一種與其時序相吻合的NAND Flash存儲芯片控制器。為了提高數(shù)據(jù)存儲容量和存取速度,文獻(xiàn)[18-20]采用的是多個控制器來操作多片NAND Flash存儲芯片,這樣設(shè)計方案在多個控制器之間同步問題比較明顯,接口復(fù)雜性也較高?;诖?,本文提出了以單個控制器為基礎(chǔ),進行數(shù)據(jù)總線擴展,從而并行地控制多片NAND Flash存儲芯片。同時加入了流水線技術(shù)和乒乓操作,進一步提高數(shù)據(jù)存取速度。

        1 NAND Flash控制器結(jié)構(gòu)

        基于FPGA可擴展的NAND Flash存儲芯片控制器的設(shè)計與測試系統(tǒng)結(jié)構(gòu)如圖1所示。

        圖1 NANDFlash控制器結(jié)構(gòu)

        整個測試系統(tǒng)由主機控制模塊和NAND Flash存儲芯片控制器模塊組成。NAND Flash存儲芯片控制器作為設(shè)計的核心包括1個邏輯控制模塊、2個數(shù)據(jù)緩沖區(qū)以及寄存器組。主機控制模塊相當(dāng)于用戶端,用來發(fā)送命令給NAND Flash存儲芯片控制器。NAND Flash存儲芯片控制器主要產(chǎn)生與NAND Flash存儲芯片相吻合的時序并且直接控制NAND Flash存儲芯片。為了能夠并行操作4組NAND Flash存儲芯片,將NAND Flash存儲芯片控制器與外設(shè)NAND Flash存儲芯片之間的控制信號及狀態(tài)信號均擴展為4組,數(shù)據(jù)線擴展為32 bit。將測試系統(tǒng)下載到FPGA里,通過板卡上的高速接口與NAND Flash存儲芯片連接,即可方便地進行復(fù)位、讀ID、擦除、寫和讀的基本操作。

        2 NAND Flash控制器總體設(shè)計

        NANDFlash存儲芯片控制器主要采用狀態(tài)機并且利用Verilog HDL語言設(shè)計完成的。邏輯控制模塊是控制器的關(guān)鍵,用于產(chǎn)生符合要求的操作時序以及狀態(tài)間的轉(zhuǎn)換,2個數(shù)據(jù)緩沖區(qū)模塊用于數(shù)據(jù)的緩存以及實現(xiàn)乒乓操作,寄存器組用于存放NAND Flash存儲芯片的內(nèi)設(shè)命令、狀態(tài)、地址和配置參數(shù)。

        2.1 主狀態(tài)機設(shè)計

        主狀態(tài)機主要由6個狀態(tài)組成,如圖2所示,分別是空閑狀態(tài)、復(fù)位狀態(tài)、讀ID狀態(tài)、擦除狀態(tài)、編程狀態(tài)和讀狀態(tài)。

        圖2 主狀態(tài)轉(zhuǎn)移

        在系統(tǒng)完成復(fù)位狀態(tài)之后,主狀態(tài)將進入空閑狀態(tài),等待使能信號的到來從而進入下一個狀態(tài)。當(dāng)接收到使能信號后,狀態(tài)具體的轉(zhuǎn)移是由命令碼的值(cmd_code)決定的。如果命令碼cmd_code=A2,那么狀態(tài)跳轉(zhuǎn)到編程狀態(tài)并且執(zhí)行相應(yīng)的子狀態(tài),在該狀態(tài)完成之后發(fā)出完成標(biāo)志done信號給主狀態(tài),這時主狀態(tài)會進入空閑狀態(tài)并且等待下一個使能信號的到來。如果命令碼cmd_code=A3或者A4,流程和命令碼cmd_code=A2執(zhí)行過程類似。

        2.2 擦除狀態(tài)的設(shè)計

        NANDFlash存儲芯片控制器的塊擦除狀態(tài)轉(zhuǎn)移圖如圖3所示。對于NAND Flash存儲芯片來說,在寫入數(shù)據(jù)之前必須進行塊擦除操作。

        首先,NAND Flash存儲芯片控制器接收到主機發(fā)送的命令字60H,表示開始對NAND Flash存儲芯片進行塊擦除操作。主機發(fā)出3 Byte地址來決定具體待擦除的塊,之后NAND Flash存儲芯片控制器內(nèi)部發(fā)出命令字D0H,即真正的擦除操作開始,隨后狀態(tài)信號R/B#變?yōu)榈碗娖剑砻鲏K擦除操作正在進行中,當(dāng)狀態(tài)信號R/B#變?yōu)楦唠娖剑f明擦除操作完成。

        2.3 頁編程狀態(tài)的設(shè)計

        NANDFlash存儲芯片控制器的頁編程狀態(tài)轉(zhuǎn)移圖如圖4所示。

        圖4 頁編程狀態(tài)轉(zhuǎn)移

        首先切換一個待編程的緩沖區(qū),用來做數(shù)據(jù)的緩存,主機發(fā)送一頁數(shù)據(jù)8 KB給數(shù)據(jù)緩沖區(qū),隨后發(fā)出命令80H給NAND Flash存儲芯片控制器表示開始頁編程操作,由于NAND Flash存儲芯片讀寫的最小單位是頁,所以只要發(fā)送3 Byte地址來表示需要編程的頁地址,NAND Flash存儲芯片控制器接收到地址和命令后,把數(shù)據(jù)緩沖區(qū)里的數(shù)據(jù)寫到NAND Flash存儲芯片的寄存器里。在NAND Flash存儲芯片控制器發(fā)出命令字10H后,NAND Flash存儲芯片將會自動編程,狀態(tài)信號R/B#將進入低電平并且在這個過程中R/B#信號一直保持低電平。在編程操作完成后,狀態(tài)信號R/B#進入高電平。通過狀態(tài)寄存器的值來檢測整個操作是否成功完成。

        2.4 頁讀狀態(tài)的設(shè)計

        NANDFlash存儲芯片控制器的讀頁狀態(tài)轉(zhuǎn)移如圖5所示。

        圖5 頁讀狀態(tài)轉(zhuǎn)移

        主機發(fā)送命令字00H給NAND Flash存儲芯片控制器開始讀頁操作,同時向NAND Flash存儲芯片控制器發(fā)出3 Byte頁地址,在NAND Flash存儲芯片控制器發(fā)送命令字30H后,NAND Flash存儲芯片進行內(nèi)部處理,此時狀態(tài)信號R/B#變?yōu)榈碗娖?,在此過程中NAND Flash存儲芯片控制器從NAND Flash存儲芯片中將一頁數(shù)據(jù)加載到數(shù)據(jù)緩沖區(qū)里,一旦狀態(tài)信號R/B#變?yōu)楦唠娖街?,表明控制器已?jīng)將整頁數(shù)據(jù)全部讀進數(shù)據(jù)緩沖區(qū)里,此時緩存區(qū)里的數(shù)據(jù)可以被主機取走,等待所有數(shù)據(jù)被主機讀完,操作完成。

        2.5 乒乓操作

        NANDFlash控制器內(nèi)部采用了2個單端口的RAM作為雙數(shù)據(jù)緩沖區(qū),來實現(xiàn)乒乓操作,這樣節(jié)省了用戶的等待時間,有效地提高了數(shù)據(jù)的訪問速度。本次設(shè)計中,每個緩沖區(qū)大小為8 KB,數(shù)據(jù)線I/O口大小為32 bit。例如,在寫操作時,對地址為0xFF8的寄存器的最低位設(shè)置為“0”,表示選擇緩沖區(qū)A,主機向其寫入8 KB后交給NAND Flash存儲芯片控制器操作,這時控制器對NAND Flash芯片進行寫操作,同時控制器將地址為0xFF8的寄存器的最低位設(shè)置為“1”,表示選中緩沖區(qū)B,主機向其寫入8 KB,等待上一周期的寫操作完成,一旦寫操作完成后,主機將緩沖區(qū)B交給控制器,控制器將緩沖區(qū)A交給主機,即進行緩沖區(qū)交換,這時控制器再次進入寫操作,需要將緩沖區(qū)B里的所有數(shù)據(jù)寫入NAND Flash芯片,此時主機向緩沖區(qū)A寫入8 KB,如此交替循環(huán)。

        數(shù)據(jù)雙緩沖技術(shù)實現(xiàn)了輸入數(shù)據(jù)和輸出數(shù)據(jù)都是連續(xù)不斷地,因此非常適合對數(shù)據(jù)流進行流水線處理。

        3 實驗和結(jié)果分析

        3.1 實驗環(huán)境

        本系統(tǒng)是基于Verilog HDL語言設(shè)計完成的,并且在FPGA開發(fā)板上進行了驗證。開發(fā)板選用的是Cyclone V,系統(tǒng)時鐘設(shè)定為50 MHz,NAND Flash芯片選用的型號是MT29F64G08。為了分析系統(tǒng)內(nèi)部的實時數(shù)據(jù),這里借助Signal Tap II邏輯分析儀來捕獲信號波形,將Signal Tap II邏輯分析儀的采樣時鐘設(shè)置為50 MHz,和開發(fā)板系統(tǒng)時鐘保持一致。整個實驗對整個系統(tǒng)分別進行了功能驗證和性能驗證。

        3.2 功能性驗證

        功能性驗證是基于單片NAND Flash芯片完成的,對讀、寫和擦除狀態(tài)進行了驗證,實驗結(jié)果如圖6、圖7和圖8所示。通過對結(jié)果進行分析,所設(shè)計的NAND Flash控制器的讀寫和擦除操作的時序完全吻合NAND Flash芯片的時序,即控制器能夠正確操作NAND Flash芯片,從而得出所設(shè)計的NAND Flash存儲芯片控制器在功能上符合要求。

        由圖6可知,采樣點從144~148,主機發(fā)出第64塊的塊地址,同時發(fā)出擦除命令60H給NAND Flash存儲芯片控制器,經(jīng)過若干個周期后,在采樣點9處NAND Flash芯片接收到控制器發(fā)來的擦除命令,并且開始執(zhí)行塊擦除操作。

        由圖7可知,在采樣點-8處,主機從地址為3FF9H的狀態(tài)寄存器中讀回狀態(tài)值為E0H,表示NAND Flash芯片是準(zhǔn)備就緒的,采樣點-7~-3這4個時鐘周期里,主機發(fā)送3 Byte地址值(第64塊中的第2頁的地址)以及寫命令80H。當(dāng)采樣點在-1處時,主機向控制器中的數(shù)據(jù)緩沖區(qū)寫入8 KB,在控制器發(fā)出命令10H后,NAND Flash芯片進入寫操作。

        由圖8可知,在采樣點-9處,主機從地址為3FF9H的狀態(tài)寄存器中讀回狀態(tài)值為E0H,表示NAND Flash芯片是準(zhǔn)備就緒的,采樣點-8~-4這4個時鐘周期里,主機發(fā)送3 Byte地址值(第64塊中的第2頁的地址)以及讀命令00H。3個時鐘周期后,控制器發(fā)送寫命令30H給NAND Flash芯片,NAND Flash芯片接收到命令之后開始進行讀操作,8 KB全部從緩沖區(qū)里正確讀出,這表明所設(shè)計的控制器完全符合系統(tǒng)功能要求。

        圖6 擦除狀態(tài)采樣圖

        圖7 寫狀態(tài)采樣圖

        圖8 讀狀態(tài)采樣圖

        3.3 性能評估

        在完成功能測試與驗證之后,進一步地對NAND Flash存儲芯片控制器進行性能測試。針對讀寫操作,表1和表2分別給出了單片NAND Flash芯片頁寫操作和頁讀操作所用的時間。

        表1 頁寫時鐘數(shù)

        測試ID號時鐘數(shù)平均時鐘數(shù)133 743230 933333 762430 941530 989633 80132 361.5

        從表1可以看出,在寫操作時,不同的頁需要的時間是不同的,因此時間平均值32 361.5作為衡量的指標(biāo)參數(shù),由于頁的大小是8 KB,時鐘頻率是50 MHz,因此寫操作的速度是12.7 MB/s。同樣,從表2可以看出,讀操作所用的時間平均值是2 617.8,速度是156.5 MB/s。對于多片NAND Flash芯片并行結(jié)構(gòu),寫速度可以達(dá)到50.8 MB/s,讀速度可以達(dá)到626 MB/s。

        表2 頁讀時鐘數(shù)

        測試ID號時鐘數(shù)平均時鐘數(shù)12 54522 54032 65942 64652 66662 6512 617.8

        4 結(jié)束語

        本文針對NAND Flash存儲芯片接口復(fù)雜、不適合直接對其進行數(shù)據(jù)的存儲與讀取的問題,提出了一種符合NAND Flash存儲芯片時序的控制器來對其直接操作,該控制器是基于FPGA設(shè)計的,采用狀態(tài)機思想實現(xiàn)。為了進一步加快數(shù)據(jù)存儲與讀取速度,并且加大數(shù)據(jù)的存儲量,本文采用了多片NAND Flash并行結(jié)構(gòu)將數(shù)據(jù)位擴展到32位,設(shè)計了2個數(shù)據(jù)緩沖區(qū),實現(xiàn)了雙數(shù)據(jù)緩沖。今后將針對提高NAND Flash存儲芯片的讀寫速度方面展開更為深入的研究。

        猜你喜歡
        存儲芯片緩沖區(qū)命令
        嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計與實現(xiàn)
        只聽主人的命令
        中國存儲芯片打破韓美日壟斷局面邁出堅實一步
        移防命令下達(dá)后
        這是人民的命令
        iPhone換閃存加容量這事靠譜嗎?
        電腦迷(2015年12期)2015-04-29 23:22:51
        關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
        武漢新芯3D NAND將成為中國存儲芯片產(chǎn)業(yè)彎道超車的切入點
        電子世界(2015年24期)2015-01-16 03:19:38
        藍(lán)色命令
        嵌入式系統(tǒng)中無線通信技術(shù)的設(shè)計與實現(xiàn)
        日本高清中文字幕一区二区三区| av日韩一区二区三区四区| 欧美最猛性xxxx| 综合中文字幕亚洲一区二区三区 | 亚洲亚洲亚洲亚洲亚洲天堂| 国产三级精品三级在专区中文| 自由成熟女性性毛茸茸应用特色| 午夜不卡无码中文字幕影院| 久久亚洲国产成人精品性色| 中文在线天堂网www| 无码三级国产三级在线电影| 日韩一区二区中文天堂| 日韩a级精品一区二区| 天天爽夜夜爽人人爽一区二区| 国产99久久亚洲综合精品| 亚洲AV秘 无码一区二区三区| 亚洲精品在线观看自拍| 久草视频在线手机免费看 | 东京热人妻无码一区二区av| 成人免费ā片在线观看| 亚洲性色ai无码| 国产亚洲3p一区二区| 久久夜色精品国产亚洲av动态图| 丰满爆乳在线播放| 午夜毛片午夜女人喷潮视频| 资源在线观看视频一区二区| 国产尤物自拍视频在线观看| 精品精品国产高清a毛片| 欧美aaaaaa级午夜福利视频| 91国在线啪精品一区| 少妇隔壁人妻中文字幕| 免费国产在线精品一区二区三区免| 狠狠精品久久久无码中文字幕 | 亚洲国产精品久久久久婷婷老年| 国产小屁孩cao大人| 中文字幕 在线一区二区| 日本最新一区二区三区在线视频 | 精品国产一区二区三区av片| 欧美高清视频一区| 久久99久久久精品人妻一区二区 | 午夜熟女插插xx免费视频|