關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 高速大容量存儲系統(tǒng)設計

高速大容量存儲系統(tǒng)設計

作者: 時間:2010-03-09 來源:網(wǎng)絡 收藏

根據(jù)圖2的時序可以估算出單片K9K8G08UOI的數(shù)據(jù)速率,其中tWC最小為25 ns,tADL為75ns,tWB為100 ns,tPROG為200μs。因此,寫入一頁所需時間大約為:200μs+100 ns+(2048+64) ×25ns+75 ns=252.975μs,由于一頁數(shù)據(jù)為(2K+64)B,所以單片K9K8G08UOI每Byte的數(shù)據(jù)速率為:1/(252.975μs/(2048+64)B)=8.4152 MHz??梢妴纹琄9K8G08UOI的寫入速度不能滿足Camera,Link的接口要求,故需用多片進行數(shù)據(jù)位擴展。為了解決NAND Hash存取數(shù)據(jù)速度較慢向題,可將相鄰10個8 bit視頻數(shù)據(jù)在FPGA內展寬為80 bit進行存取。而NAND Flash每Byte的速率要求可降為6.6 MHz,故可滿足單片K9K8G08UOI的存儲速度要求。系統(tǒng)中每10片K9K8G08UOI組成一個1 G×80 bit的Flash模塊,共10個Flash模塊。每個Hash模塊共用一套控制線,數(shù)據(jù)線分別與FPGA相連。單Flash模塊的組成原理如圖3所示。

電路中Flash1~10的連接一致,即數(shù)據(jù)總線獨立連接到FPGA共用控制總線(帶驅動)。由圖3可見,若需要進一步降低單片F(xiàn)lash存儲速率,可進一步擴展Flash存儲器芯片數(shù)量。由于單片F(xiàn)PGA的I/O數(shù)有限,可將10個Flash模塊安排到5塊擴展存儲器板上,分別對應Camera Link串并轉換得到的一路數(shù)據(jù)(66 MHz×8 bit)。每個存儲器板與1片F(xiàn)PGA和2個Flash模塊相連后再分別與控制電路板上的FPGA相連來進行數(shù)據(jù)傳輸。其中的5塊擴展存儲器板采用相同結構。

4 FPGA邏輯設計

FLASH的基本操作分為兩個階段:加載時間和編程時間,寫入的時間瓶頸并不在加載時間,而是FLASH的編程時間。為了解決高速數(shù)據(jù)與低速FLASH之間的矛盾,可采用數(shù)據(jù)流串并轉換、多個模塊并行處理的方法。可在FPGA內部構建10個雙口RAM用來緩存數(shù)據(jù),每個雙口RAM對應一個FLASH,相機過來的數(shù)據(jù)先緩存到RAM里,然后再寫到FLASH。數(shù)據(jù)寫到RAM可采用流水操作,數(shù)據(jù)寫滿第一個雙口RAM,接著寫第二個RAM,依次進行,當寫滿第十個RAM時,將十個RAM緩存的數(shù)據(jù)寫到對應的FLASH里。FLASH操作按最高速度40MB進行,加載時間為51.2μs,之后進入編程時間,再來的數(shù)據(jù)繼續(xù)緩存在第一個RAM里。相機的時鐘是66 MHz,每個RAM的深度為2048 Bytes,那么寫10個RAM的時間是310μs,即FALSH編程時間可以達到310-51.2=258.8μs,可以滿足FLASH的典型編程時間200μs。其FLASH流水操作見圖4。

5 FLASH壞區(qū)管理

對FLASH的壞區(qū)實行動態(tài)管理,在每個存儲電路板的FPGA內開辟1 K×8 bit的壞區(qū)地址存儲。所有存儲電路板的壞區(qū)地址一致。在FLASH進行寫操作前比對當前區(qū)是否為壞區(qū),如果是壞區(qū)則跳過此區(qū)進入下一區(qū)。

可采用寫入特定數(shù)后讀出校驗的方式來檢測壞區(qū)。存儲電路板根據(jù)命令全區(qū)寫入8 bit數(shù)據(jù)。寫入時序按的最高速率進行。然后將它們順序讀出并進行校驗,如果出現(xiàn)數(shù)據(jù)錯誤則登記該壓為壞區(qū)。圖5為壞區(qū)檢測管理的工作流程。

6 結束語

本文采用多級流水線與并行處理相結合的方式,同時利用FPGA內部的緩存來使多個FLASH存儲器并行工作,從而極大地提高了存儲速率。100片F(xiàn)LASH存儲器同時工作可滿足660 MB/S的速度要求。經(jīng)過測試,本系統(tǒng)可以可靠地存儲數(shù)字圖像,并可屏蔽壞區(qū)。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉