999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA 控制的高速Nandflash 陣列存儲模塊設(shè)計

2020-06-04 09:58:14葛進
科學(xué)技術(shù)創(chuàng)新 2020年13期
關(guān)鍵詞:設(shè)計

葛進

(上海都森電子信息科技有限公司,上海201102)

1 項目概況

該型高速Nandflash 陣列存儲模塊是為雷達遙感設(shè)備配套的科研項目,項目總體設(shè)計要求該存儲模塊設(shè)計達到:a. 滿足高速存儲和大容量存儲要求。在目前新型的雷達遙感系統(tǒng)中,由于多通道的高頻采樣,將實時生成大量的數(shù)據(jù),為防止寶貴的數(shù)據(jù)因吞吐率不足而丟失,存儲器必須以較高速率傳輸數(shù)據(jù)和進行存儲,供后續(xù)算法分析或回放顯示使用;b. 滿足存儲設(shè)備體積限制和抗沖擊震動要求。雷達一次觀測采集數(shù)據(jù)可能持續(xù)較長時間,這就需要盡可能應(yīng)用體積小密度高且抗沖擊震動的存儲介質(zhì),以保證在有限的設(shè)備空間內(nèi)能存放較多的數(shù)據(jù)和具備一定的抗沖擊震動性能;c. 適應(yīng)試驗過程中便于修改和連接其它測試設(shè)備多的要求,控制試制成本。

Nandflash 作為一種非易失性存儲器,它以半導(dǎo)體為記憶載體,具有讀寫速度快、存儲容量大、能承受一定的溫度變化、抗機械震動和沖擊的可靠性較高、易于實現(xiàn)低功耗和小型化等特點,同時考慮到數(shù)據(jù)存儲文件在使用中需經(jīng)常擦寫或搬運,要求存儲介質(zhì)具備較高的穩(wěn)定性和可靠性,因此選用可擦寫次數(shù)較多,bit 誤碼率較少且穩(wěn)定耐用的MLCNandflash 芯片作為存儲介質(zhì)。由于單片的Nandflash 容量有限,需通過構(gòu)建Nandflash 陣列系統(tǒng)來滿足存儲容量大的使用要求[1]。

在Nandflash 的控制器的選擇上,通過比較FPGA 與cpu,認為FPGA 具備較強的并行數(shù)據(jù)處理能力和豐富自定義的接口資源,因此為快速開發(fā)Nandflash 控制器,首選是使用FPGA,并輔以cpu 模式下的文件系統(tǒng),達到完成對整個存儲系統(tǒng)的控制的目的。FPGA 可反復(fù)編程和擦除,適宜設(shè)計不同的片內(nèi)邏輯來實現(xiàn)不同的使用功能。由于FPGA 開發(fā)過程投資小,設(shè)計靈活,發(fā)現(xiàn)錯誤可直接更改設(shè)計,減少了投片的風(fēng)險,節(jié)省費用[2]。

為了適應(yīng)試驗中便于調(diào)整和修改的需要,在過渡設(shè)計中采用分置主控、接口FPGA 不同功能的雙FPGA 結(jié)構(gòu),其中的主控FPGA 集成了微處理器,作為維護系統(tǒng)文件之用;而接口FPGA靈活配置為多種高速接口與多種數(shù)據(jù)源相連接。這種雙FPGA結(jié)構(gòu)大大方便了研發(fā)過程中的調(diào)整和修改。

圖1 存儲模塊系統(tǒng)結(jié)構(gòu)圖

2 Nandflash 陣列存儲模塊的硬件設(shè)計

存儲模塊包括數(shù)據(jù)采集和存儲兩大部分,系統(tǒng)的速度由這兩部分的速度共同決定。硬件結(jié)構(gòu)按照數(shù)據(jù)采集- 數(shù)據(jù)緩存-數(shù)據(jù)存儲- 數(shù)據(jù)下傳的流程進行設(shè)計,整個過程由FPGA 硬件邏輯實現(xiàn)。

2.1 單片F(xiàn)PGA 的結(jié)構(gòu)形式

該型存儲模塊的硬件組成為單片F(xiàn)PGA+Nandflash 芯片陣列。FPGA 選用xilinx 公司的XC7V585T-2,Nandflash 芯片使用的是鎂光公司的MT29F256G08C。

FPGA 通過專用高速模塊和外部多路光纖相連,這是整個存儲模塊對外的數(shù)據(jù)接口;FPGA 通過硬件編程,實現(xiàn)原生態(tài)的ONFI 的接口與Nandflash 陣列相連,本設(shè)計中一共實現(xiàn)了16 路8bit 的接口。FPGA 內(nèi)有一個microblaze 的cpu 核作為最高層文件系統(tǒng)和壞塊管理控制使用,通過以太網(wǎng)接收上位機的用戶命令[3]。存儲模塊的硬件結(jié)構(gòu)如圖1 所示。

Nandflash 陣列,每行為8 個芯片,共有8 列,總共使用了64個芯片,每個芯片的接口位寬是16bit,為2 個通道,總?cè)萘?TByte。每個芯片上使用兩個CE 片選使能,分別控制2 個DQ[7:0] 的數(shù)據(jù)通道接口。除了片選使能CE 以外,其他的控制信號ALE,WR,以及數(shù)據(jù)采樣信號DQS,DQ[7:0]都是每行8 個芯片共享的,這樣既可以精確的控制每個通道8bit 的DQ 讀寫,又能大幅減少管腳數(shù)量,減少布線難度,提高通訊信號質(zhì)量[4]。Flash 陣列控制示意如圖2 所示。

圖2 Nandflash 陣列控制示意圖

圖3 雙FPGA 結(jié)構(gòu)示意圖

2.2 過渡設(shè)計采用的主控FPGA+接口FPGA 的結(jié)構(gòu)形式

為方便試驗而采取的過渡設(shè)計中,曾采用主控FPGA+接口FPGA 的結(jié)構(gòu)形式,具體是將單片F(xiàn)PGA 功能分解為兩片F(xiàn)PGA的不同功能,即一個為主控FPGA、另一個為接口FPGA。結(jié)構(gòu)示意見圖3。

主控FPGA、接口FPGA 集成在一塊PCB 板上,數(shù)據(jù)源通過高速接口與接口FPGA 連接,接口FPGA 通過原生的簡易高速接口與主控FPGA 相連,主控FPGA 通過DDR 模式的閃存接口與Nandflash 陣列連接。主控FPGA 集成了微處理器、閃存陣列控制器等,可以專注完成核心記錄數(shù)據(jù)的功能,對復(fù)雜的控制命令操作以及對數(shù)據(jù)處理的步驟可以適當簡化;接口FPGA 發(fā)揮并行優(yōu)勢,做成多種接口的交換中心模式,靈活的與外部數(shù)據(jù)源相連接,從而不會因為接口的變化導(dǎo)致重新布局設(shè)計制版。

3 FPGA 陣列控制器傳輸流水節(jié)拍控制的設(shè)計

為了實現(xiàn)高速的數(shù)據(jù)讀寫,必須要求盡可能的并發(fā)數(shù)據(jù)處理[5],Nandflash 陣列共有16 個通道共128bitDQ 要同時讀寫。先讀寫第一列8 個芯片的第N 個page,然后讀寫第二列8 個芯片的第N 個page…以此類推,直到讀寫到第8 列的8 個芯片的第N 個page,然后再從第一列讀寫8 個芯片的第N+1 個page。

讀寫的接口I/O 時序方式是采用DQS 同步雙沿采集DQ[6]。DQS 時鐘頻率高達50MHz,雙沿數(shù)據(jù)采樣率高達100MT/sec。這樣陣列總的理論接口速率是128bitnet*100MHz=12800Mbit/sec=1.6GByte/sec。

文件系統(tǒng)的設(shè)計是以適應(yīng)高速數(shù)據(jù)吞吐的大文件節(jié)點系統(tǒng)來考慮的,對整個陣列的所有通道進行一次block 操作,作為一個文件節(jié)點的操作。由于本設(shè)計采用多個Nandflash 芯片共同工作的方式,而每個芯片的最小擦除單位是block,所以因此每個文件節(jié)點容量計算方式如下:64 個芯片,每個芯片中2 個通道,每個通道最小擦除單位1 個block, 每個block 分為512 個page,每個 page 可以存儲16384byte 數(shù)據(jù) , 故64*2*1*512*16384byte=1Gbyte。

查看Nandflash 芯片手冊,可以知道對于每個page 的讀時間為75us, 對于每個page 的編程時間為1300us, 而使用同步100MT/s 的DQS 采樣,傳輸一個page16384byte 需要的I/O 時間是16K/100M=160us。Nandflash 芯片在使用160us 時間收集數(shù)據(jù)到cacheregister 后,需要花大量的時間去編程Nandflashcell,由于在編程的過程中,對外顯示busy,此時接口不能使用DQS 收集新的數(shù)據(jù),所以編程所需時間就成為影響寫數(shù)據(jù)速率的瓶頸。為了解決這個問題,每行設(shè)計使用8 個Nandflash 芯片,使用I/O 接口先傳輸?shù)谝粋€芯片數(shù)據(jù)耗時160us, 然后第一個芯片編程開始編程,把數(shù)據(jù)從內(nèi)部cacheregister 轉(zhuǎn)移到Nandflashcell,隨后I/O 接口依次傳輸后面7 個芯片的數(shù)據(jù),這樣一行8 個芯片傳輸總耗時約為160us*8=1280us。這時再回到第一個芯片,而這時距離第一個芯片的編程開始時間已經(jīng)過去了160*7=1120us,只要經(jīng)短暫等待就會結(jié)束上一次編程時間,使第一個芯片又可以傳輸下一個page 的數(shù)據(jù)。這樣I/O 接口的DQS,DQ 信號除了短暫的等待外,一直處于跳變工作狀態(tài),使每個芯片都處于編程的流水控制過程中,從而達到較高的傳輸效率。NandflashI/O接口寫時間與編程寫時間的流水節(jié)拍控制調(diào)度示意如圖4 所示。

圖4 nandflashI/O 接口寫時間與編程寫時間的調(diào)度示意

4 Nandflash 數(shù)據(jù)正確性處理

FPGA 內(nèi)部可以產(chǎn)生100MHz 的時鐘,并且進行2 分頻成為50MHzDQS,數(shù)據(jù)可以很準確的發(fā)往Nandflash 并被存儲下來,但是在讀取Nandflash 數(shù)據(jù)的時候,由于線路延遲或者其他原因,Nandflash 芯片發(fā)出DQS 和DQ 在到達FPGA 時有時候不滿足建立時間和保持時間條件,容易采樣到誤碼。因此借鑒DDR 采樣的方式,設(shè)計一種自動循環(huán)的延遲、采樣、比對機制,來確保數(shù)據(jù)進入FPGA 被正確讀取。先發(fā)送讀ID 命令給Nandflash 芯片,Nandflash 芯片就會通過DQS 和DQ 將ID 返回給FPGA。使用FPGA 中的元語idelay,iddr 以某個延遲把DQS 和DQ 在時間軸上錯開,用DQS 將DQ 采樣下來。由于正確的NandflashID 是手冊可以查到的,所以進行比對,看看讀回來的ID 是否正確,如果不正確,就步進延遲,然后再采樣比對,直到比對正確為止。

除了采樣錯誤需要糾正以外,Nandflash 芯片由于工藝的限制,會有一定的bit 翻轉(zhuǎn)誤碼,所以還要采用bch 或RS 糾錯碼進行ECC(錯誤校驗碼)校驗。

5 壞塊管理

使用的Nandflash 芯片中,包含4 個LUN(邏輯單元),而每個LUN 還包含1024 個block(塊),由于工藝限制,并不是每個塊都是好的,而且有些好的塊經(jīng)過了反復(fù)的擦寫以后,也可能變?yōu)閎adblock(壞塊)[7]。因此使用了5 個步驟來甄別壞塊,減少壞塊。首先,讀取特定位置的出廠數(shù)據(jù)信息,標定出廠時就已經(jīng)有的壞塊;第二,進行初始化擦除,清空Nandflash,如果有壞塊存在會返回異常,就在物理壞塊表里做標記;第三,寫某個page 時,如果出現(xiàn)寫失敗,也在物理壞塊表里做標記;第四,如果在做ECC 時候,返回無法糾錯,也在物理壞塊表里做標記;第五,在文件系統(tǒng)節(jié)點分配的時候,做空閑節(jié)點的隊列循環(huán)使用。如果最近某個文件被擦除,節(jié)點被回收成為空閑節(jié)點,會放在隊列最后,隊列的最前面總是指向最早空閑的節(jié)點。這樣保證了不同的block 被擦寫的次數(shù)相對平均,防止過量編程導(dǎo)致好塊變?yōu)閴膲K。

6 Nandflash 的斷電保護

為了使Nandflash 在斷電再上電后仍能繼續(xù)之前的操作,地址緩存在每次Nandflash 讀寫操作后都會更新當前地址,并將更新的地址存入Nandflash 的地址存儲空間,在Nandflash 下一次讀寫操作開始前,把存入地址存儲空間的地址讀出并作為本次工作的操作地址。這樣,就能使Nandflash 在斷電再上電后,仍可以從地址存儲空間讀出操作地址,從而繼續(xù)之前的操作[8]。

結(jié)束語

本文介紹了基于FPGA 控制高速Nandflash 陣列存儲模塊的硬件和FPGA 設(shè)計,該型存儲模塊針對雷達遙感系統(tǒng)采樣頻率高、采樣通道多而產(chǎn)生數(shù)據(jù)量大的特點,給出了一種定制化程度高、實時快速數(shù)據(jù)存儲模塊的設(shè)計,其核心是通過FPGA 對Nandflash 芯片陣列進行讀寫調(diào)度和控制,不僅能使數(shù)據(jù)傳輸量增大,而且也能很好的保證數(shù)據(jù)的安全性。

該型存儲模塊成功實現(xiàn)了在FPGA 控制下的各種功能接口,順暢完成了從數(shù)據(jù)采集、緩存,到實時傳輸存儲Nandflash 陣列的整個工作流程,產(chǎn)品數(shù)據(jù)存儲容量、數(shù)據(jù)讀寫速率、體積控制和抗沖擊震動等性能均滿足了用戶的要求。今后,隨著FPGA技術(shù)和元器件制造水平的不斷提高,高速大存儲量的控制技術(shù)將會得到更快發(fā)展,各種新型存儲器也將不斷涌現(xiàn)并將獲得更廣闊的應(yīng)用前景。

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产精品自拍合集| 中字无码av在线电影| 亚洲精品福利网站| 成人中文在线| 日韩高清成人| 国产成人乱无码视频| 精品国产一区二区三区在线观看| 五月婷婷伊人网| 国产一级α片| 亚洲自拍另类| 99re经典视频在线| 精品夜恋影院亚洲欧洲| 亚洲欧洲综合| 精品福利网| 国产91精品调教在线播放| 999福利激情视频| 91亚洲影院| 色欲不卡无码一区二区| 国产乱子伦一区二区=| 亚洲另类第一页| 欧美日韩精品一区二区视频| 天堂在线www网亚洲| 亚洲国产精品日韩av专区| 中文字幕 91| 亚洲一区二区在线无码| 五月激情综合网| 天天操天天噜| 福利小视频在线播放| 日韩精品无码免费专网站| 精品视频一区二区观看| 亚洲欧洲一区二区三区| 欧美精品亚洲精品日韩专区| 青青网在线国产| 欧美伊人色综合久久天天| 91国语视频| 亚洲午夜国产片在线观看| 亚洲AⅤ综合在线欧美一区 | 一级黄色网站在线免费看| 欧美日韩国产在线播放| 中文字幕永久在线看| 国产福利不卡视频| 日韩欧美中文字幕在线韩免费 | 91久久国产成人免费观看| 中文字幕一区二区视频| 国产午夜福利亚洲第一| AV天堂资源福利在线观看| 午夜视频在线观看区二区| 国产无码网站在线观看| 国产网友愉拍精品视频| 亚洲成人一区二区| 四虎综合网| 中文字幕有乳无码| 日韩高清无码免费| 91精品视频网站| 国产欧美日韩免费| 丁香六月激情婷婷| 国产视频你懂得| 99人妻碰碰碰久久久久禁片| 亚洲黄色片免费看| 中文字幕无线码一区| 中文字幕免费播放| 成年A级毛片| 91国内视频在线观看| 午夜爽爽视频| 91久久国产综合精品| 99久久国产精品无码| 国产极品嫩模在线观看91| 亚洲男人天堂久久| 青青草欧美| 亚洲最大情网站在线观看| 怡春院欧美一区二区三区免费| 国产精品夜夜嗨视频免费视频| 精品中文字幕一区在线| 97在线碰| 一级毛片在线免费看| 九九热这里只有国产精品| 九九热精品视频在线| 国产亚洲视频中文字幕视频| 69免费在线视频| 国产三级精品三级在线观看| 网友自拍视频精品区| 天堂亚洲网|