亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2020-06-04 09:58:14葛進
        科學技術創(chuàng)新 2020年13期
        關鍵詞:存儲模塊編程芯片

        葛進

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

        1 項目概況

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

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

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

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

        圖1 存儲模塊系統(tǒng)結構圖

        2 Nandflash 陣列存儲模塊的硬件設計

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

        2.1 單片F(xiàn)PGA 的結構形式

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

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

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

        圖2 Nandflash 陣列控制示意圖

        圖3 雙FPGA 結構示意圖

        2.2 過渡設計采用的主控FPGA+接口FPGA 的結構形式

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

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

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

        為了實現(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ù)據(jù)吞吐的大文件節(jié)點系統(tǒng)來考慮的,對整個陣列的所有通道進行一次block 操作,作為一個文件節(jié)點的操作。由于本設計采用多個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ù)速率的瓶頸。為了解決這個問題,每行設計使用8 個Nandflash 芯片,使用I/O 接口先傳輸?shù)谝粋€芯片數(shù)據(jù)耗時160us, 然后第一個芯片編程開始編程,把數(shù)據(jù)從內(nèi)部cacheregister 轉移到Nandflashcell,隨后I/O 接口依次傳輸后面7 個芯片的數(shù)據(jù),這樣一行8 個芯片傳輸總耗時約為160us*8=1280us。這時再回到第一個芯片,而這時距離第一個芯片的編程開始時間已經(jīng)過去了160*7=1120us,只要經(jīng)短暫等待就會結束上一次編程時間,使第一個芯片又可以傳輸下一個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 采樣的方式,設計一種自動循環(huán)的延遲、采樣、比對機制,來確保數(shù)據(jù)進入FPGA 被正確讀取。先發(fā)送讀ID 命令給Nandflash 芯片,Nandflash 芯片就會通過DQS 和DQ 將ID 返回給FPGA。使用FPGA 中的元語idelay,iddr 以某個延遲把DQS 和DQ 在時間軸上錯開,用DQS 將DQ 采樣下來。由于正確的NandflashID 是手冊可以查到的,所以進行比對,看看讀回來的ID 是否正確,如果不正確,就步進延遲,然后再采樣比對,直到比對正確為止。

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

        5 壞塊管理

        使用的Nandflash 芯片中,包含4 個LUN(邏輯單元),而每個LUN 還包含1024 個block(塊),由于工藝限制,并不是每個塊都是好的,而且有些好的塊經(jīng)過了反復的擦寫以后,也可能變?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ù)相對平均,防止過量編程導致好塊變?yōu)閴膲K。

        6 Nandflash 的斷電保護

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

        結束語

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

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

        猜你喜歡
        存儲模塊編程芯片
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        基于MinI0分布式存儲的微服務模塊開發(fā)應用
        Burden of Cirrhosis and Other Chronic Liver Diseases Caused by Specific Etiologies in China, 1990?2016:Findings from the Global Burden of Disease Study 2016
        MiR-125a-5p is Upregulated in Plasma of Residents from An Electronic Waste Recycling Site
        芯片測試
        數(shù)據(jù)采集系統(tǒng)在環(huán)保工程中的應用研究
        多通道采樣芯片ADS8556在光伏并網(wǎng)中的應用
        国产91福利在线精品剧情尤物| 国产成人精品优优av| 中文字幕人妻少妇引诱隔壁| 国产av日韩a∨亚洲av电影| 国产AV秘 无码一区二区三区| 午夜短视频日韩免费| 在线视频一区二区在线观看| 婷婷色精品一区二区激情| 美女脱了内裤张开腿让男人桶网站| 亚洲a∨无码一区二区| 无码av永久免费大全| 99久久国产免费观看精品| 亚洲人交乣女bbw| 欧性猛交ⅹxxx乱大交| 水蜜桃一二二视频在线观看免费| 亚洲女av中文字幕一区二区| 人妻 日韩 欧美 综合 制服| 亚洲欧美日韩一区在线观看| 免费人成黄页网站在线观看国内| 亚洲最新精品一区二区| 国产成人无码18禁午夜福利p| 激情另类小说区图片区视频区| 国产又粗又猛又黄色呦呦| 亚洲熟女一区二区三区250p| 丰满少妇三级全黄| 亚洲成av人片天堂网九九| 亚洲精品乱码久久麻豆| 日本亲近相奷中文字幕| 熟妇人妻av无码一区二区三区| 麻豆国产成人AV网| 日本在线观看不卡一区二区| 极品少妇被猛的白浆直喷白浆| 手机看片福利日韩| 久久综合这里只有精品| 放荡的美妇在线播放| 真人二十三式性视频(动)| 久久精品国产成人午夜福利| 国产一区二区长腿丝袜高跟鞋| 亚洲av不卡一区二区三区| 国产成人无码A区在线观| 中文字幕人妻激情在线视频|