基于閃存的大容量存儲(chǔ)陣列
當(dāng)存儲(chǔ)器組緩沖區(qū)G0寫滿之后,同時(shí)啟動(dòng)對(duì)該組內(nèi)的10片F(xiàn)lash的數(shù)據(jù)傳輸然后進(jìn)行編程,編程時(shí)間約為300 s。類似地,當(dāng)存儲(chǔ)器組緩沖區(qū)G1/G2/G3寫滿后,也按照相同的發(fā)送啟動(dòng)對(duì)其組內(nèi)的10片F(xiàn)lash的數(shù)據(jù)傳輸和編程。本文引用地址:http://www.ex-cimer.com/article/149176.htm
這種過程可以看出,對(duì)存儲(chǔ)器組的寫入是順序和串行的,而對(duì)存儲(chǔ)器組的讀出是同時(shí)和并行的。利用存儲(chǔ)器組緩沖區(qū)的寫入和讀出速度之差,將輸入數(shù)據(jù)速率降低為20 MB·s-1,同時(shí)又不會(huì)丟失數(shù)據(jù)。按照上述設(shè)計(jì),后續(xù)的數(shù)據(jù)也以存儲(chǔ)器組為單位,交替的被分配給4個(gè)存儲(chǔ)器組的Flash陣列,并且完成對(duì)它的編程。數(shù)據(jù)緩存RAM組第一組與第二組各取一片的示意圖如圖5所示。
4 調(diào)試問題及其解決方案
4.1 行與數(shù)據(jù)不同步問題
存儲(chǔ)板需要從控制板接收行信號(hào)和數(shù)據(jù),其中行信號(hào)與數(shù)據(jù)是同步的傳輸?shù)?,但是在?shí)際的存儲(chǔ)板接收數(shù)據(jù)采集的結(jié)果來看,行信號(hào)下的數(shù)據(jù)有時(shí)會(huì)丟失,有時(shí)會(huì)錯(cuò)亂,情況不太確定。而存儲(chǔ)板與控制板的接口中,存儲(chǔ)板接收控制板發(fā)送的寫命令后,會(huì)在行信號(hào)的觸發(fā)下進(jìn)行寫入操作,這種不確定性造成了整個(gè)Flash中數(shù)據(jù)的混亂。
4.2 異步時(shí)鐘域數(shù)據(jù)同步的思想
查閱資料后,發(fā)現(xiàn)這是屬于異步時(shí)鐘域同步問題中的同頻異相問題。行信號(hào)與數(shù)據(jù)在傳輸過程中由于路徑的不同,造成兩者相位出現(xiàn)了偏差。而且在編程初期,為程序簡(jiǎn)單,在數(shù)據(jù)進(jìn)行存儲(chǔ)板時(shí),未在隨路時(shí)鐘的控制下進(jìn)入FIFO緩存,由此造成數(shù)據(jù)與行的不同步。選取的觸決辦法是在數(shù)據(jù)進(jìn)入雙口RAM緩存以前,用隨路時(shí)鐘對(duì)數(shù)據(jù)采樣兩次,即通常所述的用寄存器打兩次。這樣的做法可以有效地減少亞穩(wěn)態(tài)的傳播,使后級(jí)電路數(shù)據(jù)都是有效電平值。
5 結(jié)束語(yǔ)
文中介紹了基于Virtex-4為控制核心的以NAND Flash芯片為基本存儲(chǔ)單元所構(gòu)成的大容量數(shù)據(jù)存儲(chǔ)系統(tǒng),對(duì)固態(tài)存儲(chǔ)技術(shù)進(jìn)行了探索。重點(diǎn)在于FPGA內(nèi)部實(shí)現(xiàn)了并行流水處理技術(shù),將高速數(shù)據(jù)無丟失地存入相對(duì)慢速的Flash芯片中。本文是在實(shí)際工程項(xiàng)目的基礎(chǔ)上完成的,經(jīng)過實(shí)踐檢驗(yàn),達(dá)到了系統(tǒng)設(shè)計(jì)要求。
評(píng)論