大容量存儲的NOR FLASH的原理及應用
VDRF256M16是珠海歐比特公司自主研發(fā)的一種高速、大容量的NOR FLASH,可利用其對大容量數據進(jìn)行高速緩存。文中介紹了該芯片的結構和原理,并同時(shí)給出了一個(gè)系統中大容量、高速數據傳輸要求的設計方案。
1引言
NOR FLASH 是很常見(jiàn)的一種存儲芯片,數據掉電不會(huì )丟失。NOR FLASH 支持Execute On Chip,即程序可以直接在FLASH 片內執行。這點(diǎn)和NAND FLASH 不一樣。因此,在嵌入是系統中,NOR FLAS H 很適合作為啟動(dòng)程序的存儲介質(zhì)。NOR FLAS H 的讀取和RAM很類(lèi)似,但不可以直接進(jìn)行寫(xiě)操作。對NOR FLAS H 的寫(xiě)操作需要遵循特定的命令序列,最終由芯片內部的控制單元完成寫(xiě)操作。所以,NOR FLASH一般是作為用于程序的存儲與運行的工具。
NOR的特點(diǎn)是芯片內執行(XIP, Execute In Place),這樣應用程序可以直接在FLASH閃存內運行,不必再把代碼讀到系統RAM中。NOR FLASH的傳輸效率很高,在1~4MB的小容量時(shí)具有很高的成本效益,但是很低的寫(xiě)入和擦除速度大大影響了它的性能。
2NAND FLASH與NOR FLASH的性能比較
FLASH閃存是非易失存儲器,可以對稱(chēng)為塊的存儲器單元塊進(jìn)行擦寫(xiě)和再編程。任何FLASH器件的寫(xiě)入操作只能在空或已擦除的單元內進(jìn)行,所以大多數情況下,在進(jìn)行寫(xiě)入操作之前必須先執行擦除。NAND FLASH器件執行擦除操作是十分簡(jiǎn)單的,而NOR FLASH則要求在進(jìn)行擦除前先要將目標塊內所有的位都寫(xiě)為0。
由于擦除NOR FLASH器件時(shí)是以64~128KB的塊進(jìn)行的,執行一個(gè)寫(xiě)入/擦除操作的時(shí)間為5s,與此相反,擦除NAND FLASH器件是以8~32KB的塊進(jìn)行的,執行相同的操作最多只需要4ms。
執行擦除時(shí)塊尺寸的不同進(jìn)一步拉大了NOR FLASH和NADN FLASH之間的性能差距,統計表明,對于給定的一套寫(xiě)入操作(尤其是更新小文件時(shí)更多的擦除操作必須在基于NOR FLASH的單元中進(jìn)行。
NAND FLASH的單元尺寸幾乎是NOR FLASH器件的一半,由于生產(chǎn)過(guò)程更為簡(jiǎn)單,NAND FLASH結構可以在給定的模具尺寸內提供更高的容量,也就相應地降低了價(jià)格。
NOR FLASH占據了容量為1~16MB閃存市場(chǎng)的大部分,而NAND FLASH只是用在8~128MB的產(chǎn)品當中,這也說(shuō)明NOR主要應用在代碼存儲介質(zhì)中,NAND FLASH適合于數據存儲,NAND FLASH在Compact Flash、Secure Digital、PC Cards和MMC存儲卡市場(chǎng)上所占份額最大
3VDRF256M16芯片
3.1芯片介紹
VDRF256M16是一款高集成度的靜態(tài)隨機存取存儲器,其總含有256M bits。由于此芯片里面包含4個(gè)片選,每個(gè)片選含有1個(gè)Block,具體的內部結構見(jiàn)圖1。這種結構不但大大的擴充了存儲器的容量和數據位寬,而且還可以在應用時(shí)大量節省了PCB板的使用空間。從圖1可以看出,每個(gè)片選控制了每一Block的寫(xiě)保護信號#WP,另外芯片中的每一個(gè)Block的其他控制端口、地址線(xiàn)和數據線(xiàn)都是共用的。圖2為VDRF256M16中的任一Block的結構框圖,它主要由控制邏輯、存儲整列等組成。下面為VD RF256M16的主要特性。
-總容量:256Mbit;
-數據寬度:16位;
-工作電壓3.3V +/- 0.3V;
-每個(gè)DIE(共4個(gè)DIE)含:-8個(gè)8KB的扇區、127個(gè)64KB的扇區;
-扇區的硬件鎖防止被擦除、編程;
-存取時(shí)間最高達90ns;
-高擦除/編程速度:
-字編程8us(典型值);
-扇區擦除500ms(典型值);
-芯片擦除64s/DIE(典型值);
-解鎖旁路模式;
-擦除暫停/繼續模式;
-支持JEDEC通用FLASH接口協(xié)議(CFI);
-寫(xiě)保護功能,允許不管扇區保護狀態(tài)對兩BOOT扇區進(jìn)行寫(xiě)保護;
-加速功能促進(jìn)加快芯片編程時(shí)間;
-最小100000次的擦除、編程;
圖1 VDRF256M16芯片內部的結構圖
圖2 VDRF256M16內部Block的結構框圖
3.2VDRF256M16的引腳說(shuō)明
VDRF256M16芯片采用的是SOP封裝工藝,整塊芯片表面鍍金,這樣可以大幅度增強了芯片的抗干擾和抗輻射的能力,有利于該芯片能應用于航空航天等惡劣的環(huán)境。
VDRF256M16芯片各引腳分布見(jiàn)下圖3所示,各引腳的功能說(shuō)明如下:
VCC:+3.3V電源輸入端。濾波的旁路電容應盡可能靠近電源引腳, 并直接連接到地;
VSS:接地引腳;
A[21..0]:地址同步輸入端;
#WE:此端為低時(shí)寫(xiě)入,為高時(shí)寫(xiě)無(wú)效,數據有效發(fā)生在相應地址有效之后的兩個(gè)周期;
# OE:輸出使能, 數據讀取時(shí)需置為低,寫(xiě)時(shí)置為低;
#WP/ACC[3..0]:最外的兩個(gè)8KB的BOOT扇區保護狀態(tài)。當電平為VIL時(shí),此兩扇區受保護,不能進(jìn)行擦除、編程操作;當電平為VIH時(shí),取決于扇區保護狀態(tài),如此兩扇區是受保護的則不能進(jìn)行操作,如未受保護則可進(jìn)行擦除、編程操作;當電平為VHH時(shí),將進(jìn)入解鎖旁路模式進(jìn)入加速編程狀態(tài)。此管腳不能懸空;
#CE[3..0]:低電平有效時(shí)選中該片,可通過(guò)兩個(gè)片選信號選擇四個(gè)Block,但兩個(gè)片選信號不能同時(shí)選中;
#BYTE:字節/字模式選擇。低電平為字節模式,DQ0~DQ7為數據端口,DQ8~DQ14為高阻狀態(tài),DQ15做LSB地址輸入;高電平為字模式,DQ0~DQ15為數據端口;
RY/#BY:準備/忙碌狀態(tài)輸出。低電平為忙碌狀態(tài);高電平為準備狀態(tài);
D[15..0]:數據輸入/輸出腳。
圖3 VDRF256M16引腳分布圖
3.3芯片操作
VDRF256M16的軟件操作可以分成兩類(lèi): 普通讀操作和命令操作。普通讀操作非常簡(jiǎn)單, 與RAM的讀操作類(lèi)似, 當#OE和#CE信號同時(shí)為低電平時(shí), 即可從芯片讀出數據。芯片的命令操作包括芯片的識別、字節編程、扇區擦除以及整片擦除等。這些操作分別由各自的軟件操作命令序列來(lái)完成, 如表1所列。其中, BA為待編程字節的地址,Data為字節編程數據, SAX為待擦除扇區的地址。命令中的地址只有低15位有效, 高4位可任意設置為/ 00或/ 10。VDRF256M16的軟件操作命令序列實(shí)際上是由一個(gè)或多個(gè)總線(xiàn)寫(xiě)操作組成的。以VDRF256M16的扇區擦除為例, 其操作過(guò)程包括3個(gè)步驟: 第1步, 開(kāi)啟擦除方式,用表1中給出的第1至第5周期的總線(xiàn)寫(xiě)操作來(lái)實(shí)現; 第2步, 裝載扇區擦除命令( 30H) 和待擦除扇區的地址, 用其對應的第6周期的總線(xiàn)寫(xiě)操作來(lái)實(shí)現; 第3步, 進(jìn)行內部擦除。內部擦除時(shí)間最長(cháng)為500ms。
表1 軟件操作命令序列表
總線(xiàn)寫(xiě)操作時(shí),OE必須保持為高電平, CE和WE應為低電平。地址和數據的鎖存由CE和WE兩個(gè)信號的邊沿進(jìn)行控制。它們當中后出現的下降沿將鎖存地址, 先出現的上升沿將鎖存數據。
4VDRF256M16芯片的應用
以VDRF256M16為核心,配合適當的控制信號,不但可以對存儲器進(jìn)行各種讀寫(xiě)操作,而且還可以進(jìn)行進(jìn)一步的容量拓展。下面以該芯片在系統中的應用為例,介紹VDRF256M16在系統中的的硬件設計及各信號之間的時(shí)序關(guān)系。
4.1系統的工作原理
硬件設計就是搭建合適的接口電路, 將VDRF256M16連接到微處理器的系統總線(xiàn)上。根據VDRF256M16和微處理器的結構特性, 我們發(fā)現VDRF256M16的數據線(xiàn)、讀、寫(xiě)等信號線(xiàn)可以很容易地連接到微處理器的系統總線(xiàn)上。
圖4 硬件電路原理圖
微處理器接到指令,需將數據或程序存放至NOR FLASH時(shí),微處理器首先會(huì )發(fā)送擦除指令將芯片進(jìn)行擦除,具體的流程見(jiàn)圖5。然后將數據或程序利用寫(xiě)指令寫(xiě)到FLASH中。當需要調取數據或程序指令的時(shí)候,需要從FLASH中調取程序,那就需要發(fā)送讀指令到FLASH中,具體的流程見(jiàn)圖6。
圖5 擦除指令流程圖
圖6 讀指令流程
4.2控制時(shí)序
由于該設計的數據速度快,容量大,因此時(shí)序的配合很重要,這種配合不僅僅指單個(gè)Block中各信號與時(shí)鐘的配合,同時(shí)也應考慮Block與Block之間的各信號之間的配合。當數據輸入時(shí)地址和數據應在保持穩定;而數據輸出時(shí),地址也應保持穩定,這樣才能保證數據傳輸的可靠性及連續性。圖5(讀時(shí)序)和圖6(寫(xiě)時(shí)序)為單片Block的控制時(shí)序圖。從圖中可以看出:無(wú)論在讀或寫(xiě)數據時(shí),地址總線(xiàn)信號和控制信號在發(fā)送一段時(shí)間后,數據信號才能發(fā)送或者讀取。所以在使用時(shí),必須注意時(shí)序上的延時(shí)。
圖7 單片Block的寫(xiě)時(shí)序圖
圖8 單片Block的讀時(shí)序圖
圖8 單片Block的擦除時(shí)序圖
5結束語(yǔ)
本文所介紹的VDRF256M16是一款高速度、存儲容量大的16位NOR FLASH存儲器,總容量達到了256M,存儲周期最大可達到90ns。16位的數據總線(xiàn)寬度能更好和更快速的采集和緩存數據。在實(shí)際的應用中,可作為高速緩存。但在使用的過(guò)程中需要注意寫(xiě)入和讀取數據的延時(shí)問(wèn)題。另外,本芯片能在相當大的應用范圍中使用,具有很好的通用性,在需要高速大容量數據存儲的場(chǎng)合的工程中比其他類(lèi)型的存儲器更有應用價(jià)值。
評論