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