• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

      陶 莉,陳萬(wàn)培

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

      0 引言

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

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

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

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

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

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

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

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

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

      主狀態(tài)機(jī)主要由6個(gè)狀態(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)將進(jìn)入空閑狀態(tài),等待使能信號(hào)的到來(lái)從而進(jìn)入下一個(gè)狀態(tài)。當(dāng)接收到使能信號(hào)后,狀態(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信號(hào)給主狀態(tài),這時(shí)主狀態(tài)會(huì)進(jìn)入空閑狀態(tài)并且等待下一個(gè)使能信號(hào)的到來(lái)。如果命令碼cmd_code=A3或者A4,流程和命令碼cmd_code=A2執(zhí)行過(guò)程類(lèi)似。

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

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

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

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

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

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

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

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

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

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

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

      2.5 乒乓操作

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

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

      3 實(shí)驗(yàn)和結(jié)果分析

      3.1 實(shí)驗(yàn)環(huán)境

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

      3.2 功能性驗(yàn)證

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

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

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

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

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

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

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

      3.3 性能評(píng)估

      在完成功能測(cè)試與驗(yàn)證之后,進(jìn)一步地對(duì)NAND Flash存儲(chǔ)芯片控制器進(jìn)行性能測(cè)試。針對(duì)讀寫(xiě)操作,表1和表2分別給出了單片NAND Flash芯片頁(yè)寫(xiě)操作和頁(yè)讀操作所用的時(shí)間。

      表1 頁(yè)寫(xiě)時(shí)鐘數(shù)

      測(cè)試ID號(hào)時(shí)鐘數(shù)平均時(shí)鐘數(shù)133 743230 933333 762430 941530 989633 80132 361.5

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

      表2 頁(yè)讀時(shí)鐘數(shù)

      測(cè)試ID號(hào)時(shí)鐘數(shù)平均時(shí)鐘數(shù)12 54522 54032 65942 64652 66662 6512 617.8

      4 結(jié)束語(yǔ)

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

      猜你喜歡
      存儲(chǔ)芯片緩沖區(qū)命令
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫(xiě)方法的設(shè)計(jì)與實(shí)現(xiàn)
      只聽(tīng)主人的命令
      中國(guó)存儲(chǔ)芯片打破韓美日壟斷局面邁出堅(jiān)實(shí)一步
      移防命令下達(dá)后
      這是人民的命令
      iPhone換閃存加容量這事靠譜嗎?
      電腦迷(2015年12期)2015-04-29 23:22:51
      關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
      武漢新芯3D NAND將成為中國(guó)存儲(chǔ)芯片產(chǎn)業(yè)彎道超車(chē)的切入點(diǎn)
      電子世界(2015年24期)2015-01-16 03:19:38
      藍(lán)色命令
      嵌入式系統(tǒng)中無(wú)線通信技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)
      泰和县| 容城县| 合江县| 高雄县| 河西区| 江源县| 宜君县| 沙坪坝区| 乌拉特后旗| 舞钢市| 南靖县| 安岳县| 济源市| 宁德市| 南岸区| 泰顺县| 当雄县| 新平| 宜阳县| 如皋市| 无棣县| 长葛市| 双柏县| 长泰县| 临洮县| 广南县| 和平区| 宜黄县| 蓬安县| 铜山县| 潮州市| 方正县| 汝阳县| 阳江市| 吴忠市| 奈曼旗| 南汇区| 方正县| 武胜县| 定西市| 子长县|