本實(shí)用新型公開一種基于FPGA的Nand Flash存儲(chǔ)系統(tǒng),涉及存儲(chǔ)系統(tǒng)領(lǐng)域。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,存儲(chǔ)設(shè)備的容量和速度都得到很大的提升。但是在雷達(dá)及航天等領(lǐng)域,對(duì)存儲(chǔ)設(shè)備的容量及讀寫速率要求更加苛刻,普通的硬盤已經(jīng)無法滿足要求。
本實(shí)用新型提出了一種基于FPGA的Nand Flash存儲(chǔ)系統(tǒng),通過共享壞塊以及地址命令緩存,簡化了Nand Flash陣列的操作,提高了存儲(chǔ)效率。
FPGA,F(xiàn)ield-Programmable Gate Array,即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。FPGA作為新興的可編程器件,在高速系統(tǒng)中的應(yīng)用越來越廣泛。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn),解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。而且用戶可以根據(jù)不同的配置模式,采用不同的編程方式,反復(fù)使用。
技術(shù)實(shí)現(xiàn)要素:
本實(shí)用新型提供一種基于FPGA的Nand Flash存儲(chǔ)系統(tǒng),通過共享壞塊以及地址命令緩存,簡化了Nand Flash陣列的操作,提高了存儲(chǔ)效率。
本實(shí)用新型所采用的技術(shù)方案為:
一種基于FPGA的Nand Flash存儲(chǔ)系統(tǒng):
包含Microblaze模塊、DDR控制器、地址指令緩存FIFO、多通道Nand Flash控制器,DDR控制器、地址指令緩存FIFO分別與Microblaze模塊及多通道Nand Flash控制器進(jìn)行通信連接,多通道Nand Flash控制器與Nand Flash存儲(chǔ)陣列進(jìn)行通信連接;
其中Microblaze模塊用于Nand Flash的壞塊管理及存儲(chǔ)映射,DDR控制器用于輸入數(shù)據(jù)的高速緩存,地址指令緩存FIFO用于存取對(duì)Nand Flash的操作命令及數(shù)據(jù)寫入的地址,多通道Nand Flash控制器用于連接Nand Flash存儲(chǔ)陣列,實(shí)現(xiàn)數(shù)據(jù)的并行流水寫入。
外部數(shù)據(jù)寫入所述存儲(chǔ)系統(tǒng)時(shí),如果DDR控制器中緩存的數(shù)據(jù)達(dá)到Nand Flash存儲(chǔ)陣列并行加流水一個(gè)或多個(gè)循環(huán)的數(shù)據(jù)量時(shí),DDR控制器向Microblaze模塊發(fā)出中斷,Microblaze模塊通過存儲(chǔ)映射及壞塊管理表,找到Nand Flash存儲(chǔ)陣列的物理地址,結(jié)合寫命令寫入地址指令緩存FIFO,多通道Nand Flash控制器讀取DDR控制器及地址指令緩存FIFO的數(shù)據(jù),寫入Nand Flash存儲(chǔ)陣列。
從所述的存儲(chǔ)系統(tǒng)讀取數(shù)據(jù)時(shí),Microblaze模塊解析讀取的數(shù)據(jù),通過數(shù)據(jù)與邏輯地址映射及邏輯地址和物理地址映射,找到需要讀取的物理地址,結(jié)合讀取命令將其寫入地址命令緩存FIFO,多通道Nand Flash控制器通過并行加流水讀取對(duì)應(yīng)物理地址的數(shù)據(jù),將其寫入DDR控制器,讀取數(shù)據(jù)量滿足時(shí),開始讀取地址命令緩存FIFO中的下一個(gè)物理地址,以次類推,讀取結(jié)束時(shí),將DDR控制器中的數(shù)據(jù)發(fā)送到外部上位機(jī)。
本實(shí)用新型的有益效果為:
本實(shí)用新型提出了一種基于FPGA的Nand Flash存儲(chǔ)系統(tǒng),包含Microblaze模塊,DDR控制器,地址指令緩存FIFO,多通道Nand Flash控制器,DDR控制器、地址指令緩存FIFO分別與Microblaze模塊及多通道Nand Flash控制器進(jìn)行通信連接,多通道Nand Flash控制器與Nand Flash存儲(chǔ)陣列進(jìn)行通信連接;其中Microblaze模塊用于Nand Flash的壞塊管理及存儲(chǔ)映射,DDR控制器用于輸入數(shù)據(jù)的高速緩存,地址指令緩存FIFO用于存取對(duì)Nand Flash的操作命令及數(shù)據(jù)寫入的地址,多通道Nand Flash控制器用于連接Nand Flash存儲(chǔ)陣列,實(shí)現(xiàn)數(shù)據(jù)的并行流水寫入。本實(shí)用新型通過共享壞塊以及地址命令緩存,簡化了Nand Flash陣列的操作,提高了存儲(chǔ)效率。
附圖說明
圖1 本實(shí)用新型結(jié)構(gòu)框架示意圖。
具體實(shí)施方式
通過具體實(shí)施方式及結(jié)合附圖對(duì)本實(shí)用新型進(jìn)一步說明:
其中選取DDR3控制器作為DDR控制器,Nand Flash存儲(chǔ)陣列可以選擇4×4陣列;
本實(shí)用新型存儲(chǔ)系統(tǒng)包含Microblaze模塊,DDR3控制器,地址指令緩存FIFO,多通道Nand Flash控制器, Microblaze模塊通過總線連接地址命令緩存FIFO,DDR3控制器,多通道Nand Flash控制器通信連接Nand Flash存儲(chǔ)陣列及FIFO和DDR3控制器;
Microblaze模塊用于Nand Flash的壞塊管理及存儲(chǔ)映射,DDR3控制器用于對(duì)DDR3顆粒進(jìn)行寫入及讀取,輸入數(shù)據(jù)的高速緩存,地址指令緩存FIFO用于存取對(duì)Nand Flash的操作命令及數(shù)據(jù)寫入的地址,多通道Nand Flash控制器用于連接Nand Flash存儲(chǔ)陣列,實(shí)現(xiàn)數(shù)據(jù)的并行流水寫入。
當(dāng)外部數(shù)據(jù)寫入上述存儲(chǔ)系統(tǒng)時(shí),如果DDR3控制器中緩存的數(shù)據(jù)達(dá)到Nand Flash存儲(chǔ)陣列并行加流水一個(gè)或多個(gè)循環(huán)的數(shù)據(jù)量時(shí),DDR3控制器向Microblaze模塊發(fā)出中斷,Microblaze模塊通過存儲(chǔ)映射及壞塊管理表,找到Nand Flash存儲(chǔ)陣列的物理地址,結(jié)合寫命令寫入地址指令緩存FIFO,多通道Nand Flash控制器讀取DDR3控制器及地址指令緩存FIFO的數(shù)據(jù),寫入Nand Flash存儲(chǔ)陣列。當(dāng)數(shù)據(jù)量達(dá)到預(yù)定的值時(shí),地址命令緩存FIFO的指針移到下一個(gè)位置,然后將DDR3控制器中的數(shù)據(jù)寫入Nand Flash陣列的下一個(gè)地址,以此類推。
當(dāng)從上述存儲(chǔ)系統(tǒng)讀取數(shù)據(jù)時(shí),Microblaze模塊解析讀取的數(shù)據(jù),通過數(shù)據(jù)與邏輯地址映射及邏輯地址和物理地址映射,找到需要讀取的物理地址,結(jié)合讀取命令將其寫入地址命令緩存FIFO,多通道Nand Flash控制器通過并行加流水讀取對(duì)應(yīng)物理地址的數(shù)據(jù),將其寫入DDR3控制器,讀取數(shù)據(jù)量滿足時(shí),開始讀取地址命令緩存FIFO中的下一個(gè)物理地址,以次類推,讀取結(jié)束時(shí),將DDR3控制器中的數(shù)據(jù)發(fā)送到外部上位機(jī)。
利用本實(shí)用新型存儲(chǔ)系統(tǒng),通過共享壞塊以及地址命令緩存,簡化了Nand Flash陣列的操作,提高了存儲(chǔ)效率。