基于NAND Flash的數據存儲系統設計
引言
傳統的存儲設備雖然具有價(jià)格低廉的優(yōu)勢,但是在高溫、高速、高沖擊的測試環(huán)境中,往往存在設備存放空間有限、測試參數較多、采集速率高、環(huán)境復雜等因素。為了得到準確的測試數據,對存儲設備的性能也提出了較高的要求,如高存儲速度、大存儲容量、小巧輕便、抗沖擊等。此時(shí)傳統的存儲設備便無(wú)法完成復雜環(huán)境測試數據的存儲任務(wù)。為解決這個(gè)問(wèn)題,本文設計了基于NAND Flash的數據存儲系統,該系統采用Xilinx公司提出的靈活、高效、低成本的解決方案SOPC,把通用的RISC處理器MicroBlaze與用戶(hù)設計的特定功能邏輯電路集成到FPGA上,在FPGA的控制下將數據存儲到NAND Flash存儲設備中,實(shí)現了一個(gè)基于SOPC方案的嵌入式數據存儲系統。
NAND Flash存儲設備是Flash內存的一種,其內部采用非線(xiàn)性宏單元模式,為固態(tài)大容量?jì)却娴膶?shí)現提供了廉價(jià)有效的解決方案。NAND Flash存儲器具有體積小、功耗低、讀寫(xiě)速度快等優(yōu)點(diǎn),適用于大量數據的存儲,被廣泛應用到數碼相機、MP3、U盤(pán)等嵌入式產(chǎn)品中。
1 系統整體設計方案
基于NAND Flash的數據存儲系統結構框圖如圖1所示。
本文采用Samsung公司的NAND Flash芯片K9F4GOSUOA作為主要存儲器件,控制器件使用Atmel公司的ATmega162和Xilinx公司Spartan-3E系列的XC3S500E,結合對NAND Flash的讀、寫(xiě)、擦除等操作進(jìn)行時(shí)序配置。A/D轉換芯片使用Maxim公司的MAX1308。另外,為實(shí)現通過(guò)USB總線(xiàn)將數據從采集設備傳送至PC,采用FTDI公司的FT245R芯片作為USB2.0接口控制器;并以L(fǎng)abVIEW為平臺設計開(kāi)發(fā)了專(zhuān)用“多通道數據分析軟件”,用于對存儲系統中數據后期的分析與處理。
2 NAND Flash陣列式存儲原理
Flash存儲器編程是以頁(yè)為單位,單片NAND Flash的單頁(yè)編程操作時(shí),命令鎖存信號CLE向端口寫(xiě)入編程操作命令,地址鎖存信號ALE寫(xiě)入操作塊地址,并傳輸2 KB數據到數據寄存器后,Flash進(jìn)入編程階段。此時(shí)其端口R/B信號被拉低,顯示Flash正處于忙工作狀態(tài),直到編程結束,這段時(shí)間系統不能對該Flash再進(jìn)行任何操作,一般該階段典型的時(shí)間為200μs。如果使用單片Flash存儲器進(jìn)行存儲,則需等待編程結束后才能再寫(xiě)入數據。這樣大量的時(shí)間耗費在編程過(guò)程中,極大限制了系統存儲速度的提高。
為提高系統的存儲容量和存儲速度,系統使用8片NAND Flash存儲器,每4片為一組構成一個(gè)總線(xiàn)寬度為8位的存儲陣列??刂菩盘栔谐O置獨立的片選信號CE外,其他的控制信號為8片共用;兩組Flash共用數據總線(xiàn),存儲數據時(shí)先對第一組Flash進(jìn)行存儲操作,待第一組存儲完畢后再對第二組進(jìn)行數據存儲操作。Flash陣列式存儲結構圖如圖2所示。
評論