《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的高速大容量固態存儲設備
基于FPGA的高速大容量固態存儲設備
摘要: 高速數據采集系統目前已在雷達、聲納、圖像處理、語音識別、通信、瞬態信號測試等領域得到廣泛應用。它的關鍵技術是高速ADC技術、數據存儲與傳輸技術和抗干擾技術。當大量的高速實時數據經過模數轉換后,必須高速存儲,多通道高采樣率的數據采集系統會產生巨大的數據流。這樣就需要高速大容量的存儲板將數據存儲起來,然后再讀回計算機進行處理。
關鍵詞: FPGA 固態存儲
Abstract:
Key words :

       1 引言

       高速數據采集系統目前已在雷達、聲納、圖像處理、語音識別、通信、瞬態信號測試等領域得到廣泛應用。它的關鍵技術是高速ADC技術、數據存儲與傳輸技術和抗干擾技術。當大量的高速實時數據經過模數轉換后,必須高速存儲,多通道高采樣率的數據采集系統會產生巨大的數據流。這樣就需要高速大容量的存儲板將數據存儲起來,然后再讀回計算機進行處理。基于以上原因,本文設計了可以同時存儲兩通道采樣數據的大容量存儲板,板中采用了64片Samsung公司的高速大容量存儲器K9F2G08UOM,使整塊板卡的存儲容量達到128Gbit。采用FPGA作為控制器,通過標準的CPCI工控機箱操作存儲板,并通過CPCI總線將存儲板上的數據高速讀回計算機,提高了讀取數據的速度。

       2 K9F2G08UOM簡介

     NOR Flash和NAND Flash是目前市場上的兩種主要的非易失性閃存技術,本設計的目的是為了高速存儲大容量的數據,因此,選擇NAND型K9F2G08U0M存儲器。它的存儲容量是2 Gbit,8位位寬,頁大小為2 048×8 bit,每塊由64頁組成,共有2 048塊。每頁帶有64×8 bit的空閑存儲區,共有8 192 K×8 bit的空閑存儲區。頁編程的典型時間為300μs,最大頁編程時間為700μ8。頁內連續最小訪問時間為30 ns/Byte,即數據寫入Flash數據寄存器的速度可達33 MB/s。但是單頁數據的典型編程速度為2 048/300μs=6.8 MB/s,最慢的編程速度為2 048/700μs=2.9 MB/s。塊擦除的典型時間為2 ms。K9F2G08U0M具有硬件數據保護功能,即在電源上電、掉電期間關閉編程/擦除操作。K9F2G08U0M內部寫控制器使得所有的編程和擦除操作自動進行,片內包含一個頁(2 048+64字節)的數據寄存器,讀寫過程中始終是將存儲單元數據或外部數據先緩存到數據寄存器,然后再讀出數據或寫入存儲單元。因此,它是基于頁讀寫,基于塊擦除的。當然,它也支持隨機讀寫。但本設計目的是高速存儲數據,因此對它的讀寫操作完全是基于頁的。K9F2G08U0M的主要引腳有CLE(命令鎖存允許)、ALE(地址鎖存允許)、CE(片選)、WE(寫允許)、RE(讀允許)、WP(寫保護)、R/B(準備好/忙)、PRE(上電讀使能)、I/O0~I/O7(輸入,輸出)。其中I/O0~I/O7既可作為數據輸入輸出引腳,又可作為命令地址的輸入引腳,命令、地址、數據分時復用,根據不同的命令區分地址和數據。一般的操作流程為:


       1) 寫入命令,通知器件所要完成的操作(讀、寫、擦除等);

       2) 寫入地址,即寫入要讀寫數據的起始地址,包括列地址和頁地址;

       3) 如果是讀或者擦除,寫入一個確認命令。如果是寫操作,輸人待編程的數據,完成后輸入編程確認命令。

       因為K9F2G08U0M共有128 K頁,每頁的大小為(2 048+64)×8 bit,所以在寫入地址時列地址需要12根地址線,頁地址需要17根地址線。這樣就需要5個時鐘周期來寫入地址。前兩個時鐘寫入列地址,后三個時鐘寫人頁地址。

       3 系統設計

       3.1 總體硬件設計


       外部數據采集系統是2個40 MHz采樣的16位A/D通道,所以設計時分成兩個通道獨立設計。雖然K9F2G08U0M的數據寄存器寫入速度可達33MB/s,但在FPGA設計時,為了在時序上更加可靠,選擇使用25 MHz的時鐘設計,則K9F2G08U0M的寫入速度為50 MB/s(把兩個K9F2G08U0M并成16bit,寫入速度即為25 M×l6 b/s)。這樣,在FPGA內部開辟3個頁大小的雙口RAM作為緩存區就能滿足40 M×16 b/s的寫入速度,即在寫第2、3個RAM的時間(25 ns×2 048×2=102.4μs)內,啟動第1個RAM把數據寫 入Flash的數據寄存器,所需時間為40 ns×2 048=81.92μs,小于102.4μs。

       在讀回數據時,如以20 MHz讀取Flash,以40MHz讀出緩沖區中的數據,3個雙口RAM就能剛好滿足要求,如圖1。讀取K9F2G08U0M一頁數據能達到33 MHz的速度,為了讓讀寫Flash使用同一時鐘,讀Flash也采用25 MHz的速度。同時為了增加系統設計的冗余,采用4頁的雙口RAM作為緩沖區。所以每片FPGA內部至少需要4×2 048×16 bit="131" 072 bit的存儲空間。

 

回放時內部緩存區個數


       由于數據在寫入Flash后還有較長的編程時間,一頁的編程時間典型值為300μs,最大值為700μs。數據在存儲上不能有任何的停頓,否則就會丟失數據,所以不能使用R/B信號進行設計。為了系統更加可靠,選擇最大編程時間700μs。兩次對同一組Flash進行寫操作的時間間隔為700μs+81.92μs=781.92μs,一頁的數據寫到雙口RAM要用25ns×2 048=51.2μs。總時間除以寫一頁數據的時間:781.92/51.2=15.3μs,說明一個循環內至少需要16組Flash才能滿足要求。所以在設計中,對于每路A/D采樣通道都用一片FPGA作為緩沖和控制系統,在每片FPGA內部都采用4個緩沖區,每個緩沖區對應一條外部總線,每條總線上掛有4組K9F2G08U0M×2(將兩片Flash并成16位操作,即把I/O并成16位,共用控制信號線)。系統整體框圖如圖2所示。

系統整體框圖


      

 

圖2中2個外部接口連接2個A/D通道,采用兩片FPGA作為控制和緩沖區,每片控制16組Flash。存儲板通過PCI9054與CPCI總線相連,通過CPCI總線可以將存儲板數據高速讀回計算機。

       3.2 系統設計思想

      
為了解決高速的數據采集和低速的Flash訪問速度之間的矛盾,采取將數據流串并轉換,復制多個操作模塊并行處理的設計方法。通過利用FPGA內部的存儲區實現4個雙口RAM作為緩沖區。每條外部Flash總線用一個雙口RAM,采集到的數據分時加載到4個RAM中,然后再寫入Flash。寫入Flash的操作以流水方式進行,具體方式如圖3所示。首先,外部A/D采樣通道寫數據到RAM1。當RAM1寫滿時,加載數據到第一組Flash數據寄存器,加載完成后第一組Flash進入自動編程階段;當RAM2寫滿時,第2組Flash加載開始,數據加載完成后,進入自動編程階段。依次加載RAM3,當RAM4寫滿,第4組Flash開始加載后,FPGA內部控制重新寫RAM1,開始對第5組Flash操作,然后依此循環方式對第6~16組Flash進行操作;當第16組數據加載完成后,第1組Flash已經編程結束,接著從第1組Flash開始加載和編程。可看出向16組Flash寫入數據是并行的,通過并行寫操作,可存儲高速采集的數據。

 

16組Flash的流水操作方式示意圖


       FPGA內部設計大體可劃分為PCI9054操控部分和數據錄放部分。PCI9054操控部分一方面跟PCI9054接口,一方面要完成對Flash的操作。數據錄放部分主要完成外部數據寫入、讀出以及擦除、建立無產塊信息列表等功能。由于對4組Flash的操作都是一樣的,所以數據錄放部分可以分為數據流控制部分和Flash操控部分。數據流控制部分控制數據寫入或讀取哪組Flash;Flash操控部分用于對Flash的具體操作。圖4為數據錄放部分FPGA功能結構。為了節省內部存儲單元的數量,寫入和讀取數據要使用同樣的緩存區。

數據錄放部分FPGA功能結構


       3.3 無效塊的建立和操作

      
當一個塊中有一位或更多位不能正確操作時,就定義此塊為無效塊。無效塊并不影響其他塊的正常工作,各個塊之間是相互獨立的。所選的K9F2G08U0M在出廠時可能存在無效塊,在使用中也可能產生新的無效塊,但是器件的第一個塊一定不是無效塊。NAND Flash在出廠時就標記本身的無效塊,每個塊的第一頁或第二頁的空閑區的第一個數據不是FFh,則表示此塊為無效塊。為了保證Flash的正確操作,必須在操作之前建立無效塊信息表。在每片FPGA中設計了4個2 048×1 bit的RAM用于存儲無效塊的信息。RAM的每一個存儲單元存儲相應總線上的4組Flash的無效塊信息。其中某一塊的無效塊信息是4組Flash的無效塊信息相“與”后的結果(1表示正常,0表示無效塊)。在對Flash進行讀、寫或擦除操作之前,應先從RAM中讀取無效塊信息,然后根據無效塊信息決定是否對當前塊操作。

       3.4 讀寫Flash操作

      
對Flash的讀寫操作都是基于頁的,讀寫操作的時序分別如圖5和圖6所示。計算機通過CPCI總線發送出讀或寫命令后,FPGA內部根據接收到的命令執行相應操作。寫Flash時,外部采集的數據輸入RAM1,RAM1滿后,開始向RAM2寫入數據,同時選通第一條總線上第一組Flash的寫模塊,在寫模塊中通過計數器產生ALE、CLE、WE、RE等控制寫Flash的相應時序,將數據從RAM中編程到Flash內存,并令頁地址加1,依次循環(循環流程見圖3)。當總線上的第4組Flash的頁地址為64時,塊地址加1,并讀取無效塊信息,如果為無效塊,則屏蔽此塊,重新讀取下一塊信息,直至讀取到正常塊為止。如果是正常塊,則向此塊中寫入數據,同時將頁地址清零。讀操作與寫操作類似,只不過是將Flash中的數據讀出先送到RAM,然后依循環次序讀取RAM即可。

讀寫操作的時序


       3.5 PCI9054操控部分的設計

      

 

通過編寫PCI9054專用的驅動和應用軟件,實現由計算機通過CPCI總線操控存儲板卡。在應用軟件中,對Flash讀寫或者擦除等命令自定義為對CPCI總線發送特定的數據。而在FPGA內部根據PCI9054發送的局部端數據線上的特定數據判斷是何種操作,并執行相應操作。FPGA和PCI9054通信的主要信號線有LHOLD、LHOLDA、READY、ADS、ADDR、DATA,利用這些信號線可以實現PCI9054局部端和FPGA握手。將數據寫到計算機中。在PCI9054專用的驅動和應用軟件中,利用DMA方式讀取Flash,讀取速度可提高至1.3 MHz×16 bit。

       4 結束語

      
本設計采用流水、并行處理技術,利用FPGA內部嵌入的存儲塊設計一組高速數據緩沖區,使得多個慢速的存儲器件并行工作,令系統內外部數據的速率匹配,避免了外置高速緩存,簡化了硬件電路,且極大地提高了存儲數據的速率。大容量高密度閃存器件可使單片存儲板容量高達128 Gbit。在FP-GA內部設計中,建立Flash無效塊信息列表,并在此基礎上對Flash進行讀、寫、擦除及重建無效塊信息等操作。使系統具有集成度高、靈活性好、可移植性強、速度快等特點。通過CPCI總線采取DMA方式讀取,極大地提高了讀取速度。當接收到的數據帶寬很大,速度很高時,可將存儲板并聯起來,多個存儲板級聯可滿足更大的存儲容量需求,也可將級聯并聯二者結合起來以滿足不同系統的要求。整個系統基于CPCI工控機箱,更適合于野外的工作環境,并能及時保存、分析數據。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久热这里只精品99re8久| 欧美日本不卡视频| 99这里只有久久精品视频| 小黄鸭视频精品导航| 亚洲深夜福利| 99综合视频| 99视频精品| 亚洲免费成人av电影| 在线观看91精品国产入口| 国产亚洲成人一区| 国产香蕉久久精品综合网| 国产乱码精品| 国产精品爽黄69| 国产精品久久国产精品99gif| 欧美日韩不卡一区| 蜜臀91精品一区二区三区| 猫咪成人在线观看| 麻豆久久久9性大片| 久久一区二区三区国产精品| 久久精品国产一区二区三| 久久精品色图| 久久久久久精| 久久欧美肥婆一二区| 久久尤物视频| 免费观看成人鲁鲁鲁鲁鲁视频| 鲁大师影院一区二区三区| 卡一卡二国产精品| 男人的天堂亚洲在线| 欧美不卡视频一区发布| 蜜臀av在线播放一区二区三区| 女人香蕉久久**毛片精品| 欧美成人69av| 欧美视频在线观看 亚洲欧| 国产精品成人在线观看| 国产乱肥老妇国产一区二| 国产一区二区三区久久久| 国模一区二区三区| 亚洲国产精品v| 99精品国产热久久91蜜凸| 中文有码久久| 欧美一区二区在线| 亚洲国产婷婷综合在线精品 | 欧美视频你懂的| 欧美日韩在线播放三区| 国产精品乱人伦中文| 国产美女精品免费电影| 激情91久久| 亚洲人成高清| 亚洲午夜精品久久久久久浪潮| 亚洲字幕一区二区| 欧美在线播放一区| 亚洲精品久久久久久久久久久久| 一区二区电影免费观看| 午夜一区二区三区不卡视频| 久久久福利视频| 欧美成人资源| 国产精品久久久久秋霞鲁丝| 黄色av成人| 一区二区不卡在线视频 午夜欧美不卡'| 这里只有精品丝袜| 久久激情久久| 亚洲午夜女主播在线直播| 欧美一区二区三区四区高清| 久久午夜精品| 欧美性猛交视频| 狠狠色综合日日| 9色精品在线| 欧美一区日韩一区| av不卡在线观看| 欧美在线看片| 欧美人与禽性xxxxx杂性| 国产啪精品视频| 亚洲人成网站999久久久综合| 亚洲制服av| 日韩午夜激情电影| 欧美在线观看一二区| 欧美日本国产精品| 国产一区二区三区在线播放免费观看| 亚洲精品久久视频| 久久精品三级| 午夜精彩视频在线观看不卡| 欧美顶级艳妇交换群宴| 国产精品日韩欧美一区二区| 亚洲第一精品在线| 香蕉久久国产| 亚洲一区二区高清| 欧美成年人视频网站| 国产农村妇女精品一二区| 91久久久久久| 亚洲电影网站| 久久国产精品久久精品国产| 欧美视频一区| 亚洲精选一区| 亚洲高清成人| 久久国产黑丝| 欧美日韩综合精品| 亚洲精品国精品久久99热一| 欧美在线视频二区| 午夜亚洲性色福利视频| 欧美日韩在线亚洲一区蜜芽| 在线观看欧美黄色| 欧美一二三区在线观看| 午夜国产精品视频免费体验区| 欧美日本不卡| 亚洲人成人99网站| 亚洲人体一区| 免费试看一区| 国语自产精品视频在线看一大j8| 一本大道久久a久久综合婷婷| 日韩一级成人av| 免费精品视频| 狠狠爱成人网| 久久激情中文| 久久精品国产99| 国产伦理一区| 亚洲在线中文字幕| 午夜精品理论片| 国产精品久久久久久久电影| 一区二区激情小说| 一区二区三区日韩精品视频| 欧美精品九九| 亚洲国内精品| 日韩一级大片在线| 欧美精品一级| 日韩视频免费看| 一区二区三区国产在线观看| 欧美国产精品久久| 1024成人| 亚洲精品无人区| 欧美不卡在线| 亚洲国产日韩精品| 99成人免费视频| 欧美日韩成人综合| 99精品国产福利在线观看免费| 一区二区国产精品| 欧美日韩一区在线| 中文欧美在线视频| 欧美一级午夜免费电影| 国产女精品视频网站免费| 亚洲制服欧美中文字幕中文字幕| 香港成人在线视频| 国产日产欧产精品推荐色 | 欧美日韩一区二| 一本久道久久综合狠狠爱| 亚洲性视频网站| 国产精品v欧美精品∨日韩| 一区二区动漫| 欧美一区二区视频免费观看| 国产欧美在线看| 亚洲国产精品va在线看黑人动漫 | 午夜亚洲福利| 久久久久综合一区二区三区| 激情五月综合色婷婷一区二区| 亚洲经典一区| 欧美三级中文字幕在线观看| 亚洲午夜精品国产| 久久久中精品2020中文| 1024日韩| 亚洲视频福利| 国产欧美韩日| 亚洲激情成人| 欧美日韩在线一区二区| 亚洲欧美在线视频观看| 久久综合一区| 日韩一级精品视频在线观看| 午夜国产精品视频| 精品999成人| 亚洲网站视频| 国产亚洲一区二区精品| 亚洲人成亚洲人成在线观看| 欧美日韩国产一区二区三区地区| 亚洲婷婷综合久久一本伊一区| 久久精品人人做人人综合| 亚洲二区三区四区| 亚洲综合精品一区二区| 国产专区综合网| 日韩视频精品在线| 国产精品一二三| 亚洲日本久久| 国产精品欧美日韩| 亚洲人www| 国产精品一区一区| 亚洲美女av电影| 国产伦精品一区二区三区高清| 亚洲精品系列| 国产视频欧美视频| 一区二区三区导航| 黑人巨大精品欧美黑白配亚洲| 一区二区高清视频| 国模私拍视频一区| 亚洲综合视频网| 黄色精品一区二区| 亚洲欧美精品suv| 亚洲激情二区| 久久久久久久综合日本| 99国产精品私拍| 麻豆成人在线| 亚洲欧美日韩精品久久奇米色影视| 欧美激情一区二区三区在线视频 | 91久久精品美女|