本發(fā)明涉及嵌入式系統(tǒng)的固態(tài)硬盤技術(shù)領(lǐng)域,特別涉及一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)及其實(shí)現(xiàn)方法。
背景技術(shù):
fpga(field-programmablegatearray),即現(xiàn)場(chǎng)可編程門陣列,它是在pal、gal、cpld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。
srio(serialrapidi/o)是面向嵌入式系統(tǒng)開發(fā)提出的高可靠、高性能、基于包交換的新一代高速互聯(lián)技術(shù),已于2004年被國(guó)際標(biāo)準(zhǔn)化組織(iso)和國(guó)際電工協(xié)會(huì)(iec)批準(zhǔn)為iso/iecdis18372標(biāo)準(zhǔn)。srio則是面向串行背板、dsp和相關(guān)串行數(shù)據(jù)平面連接應(yīng)用的串行rapidio接口。
串行rapidio包含一個(gè)3層結(jié)構(gòu)的協(xié)議,即物理層、傳輸層、邏輯層。物理層定義電氣特性、鏈路控制、低級(jí)錯(cuò)誤管理、底層流控制數(shù)據(jù);傳輸層定義包交換、路由和尋址機(jī)制;邏輯層定義總體協(xié)議和包格式??梢詫?shí)現(xiàn)最低引腳數(shù)量,采用dma傳輸,支持復(fù)雜的可擴(kuò)展拓?fù)?,多點(diǎn)傳輸;可選的1.25gbps、2.5gbps、3.125gbps和5gbps四種速度能滿足不同應(yīng)用需求,是未來十幾年中嵌入式系統(tǒng)互聯(lián)的最佳選擇之一。
隨著高性能嵌入式系統(tǒng)的不斷發(fā)展,芯片間及板間互連對(duì)帶寬、成本、靈活性及可靠性的要求越來越高,傳統(tǒng)的互連方式,如處理器總線、pci總線和以太網(wǎng),都難以滿足新的需求。針對(duì)嵌入式系統(tǒng)的需求以及傳統(tǒng)互連方式的局限性,rapidio標(biāo)準(zhǔn)按如下目標(biāo)被制定:
1、針對(duì)嵌入式系統(tǒng)機(jī)框內(nèi)高速互連應(yīng)用而設(shè)計(jì)。
2、簡(jiǎn)化協(xié)議及流控機(jī)制,限制軟件復(fù)雜度,使得糾錯(cuò)重傳機(jī)制乃至整個(gè)協(xié)議棧易于用硬件實(shí)現(xiàn)。
3、提高打包效率,減小傳輸時(shí)延。
4、減少管腳,降低成本。
5、簡(jiǎn)化交換芯片的實(shí)現(xiàn),避免交換芯片中的包類型解析。
6、分層協(xié)議結(jié)構(gòu),支持多種傳輸模式,支持多種物理層技術(shù),靈活且易于擴(kuò)展。
基于srio的這些特點(diǎn),將ssd設(shè)計(jì)為srio接口的,方便掛載到srio接口的系統(tǒng)上去。
技術(shù)實(shí)現(xiàn)要素:
為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)及其實(shí)現(xiàn)方法,其通過fpga芯片管理nandflash存儲(chǔ)陣列,達(dá)到高速率大容量的srio接口固態(tài)硬盤。
本發(fā)明所采用的技術(shù)方案如下:
一種基于fpga的srio接口固態(tài)硬盤系統(tǒng),包括主控fpga芯片,主控fpga芯片并接有四個(gè)輔fpga芯片,所述的主控fpga芯片掛載有第一級(jí)ddr3靜態(tài)隨機(jī)存儲(chǔ)器,所述的四個(gè)輔fpga芯片分別掛載有一個(gè)第二級(jí)ddr3靜態(tài)隨機(jī)存儲(chǔ)器和一個(gè)nandflash存儲(chǔ)陣列。
主控fpga芯片和輔fpga芯片之間的通信通過gtx/gtp高速收發(fā)器實(shí)現(xiàn)。
nandflash存儲(chǔ)陣列由4個(gè)并行4級(jí)流水的nandflash陣列組成。
一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)的實(shí)現(xiàn)方法,包括以下步驟:
a、從srio接口過來的信號(hào),首先經(jīng)過主控fpga芯片解析出存儲(chǔ)數(shù)據(jù),并通過直接內(nèi)存存取,將數(shù)據(jù)搬移到主控fpga芯片的第一級(jí)ddr3靜態(tài)隨機(jī)存儲(chǔ)器中;
b、然后再通過直接內(nèi)存存取,將數(shù)據(jù)以lvds接口的方式通過gtx/gtp接口搬移到其它4塊輔fpga芯片中;
c、經(jīng)過解析得到并行數(shù)據(jù),通過輔fpga芯片的直接內(nèi)存存取將數(shù)據(jù)搬移到其掛載的第二級(jí)ddr3靜態(tài)隨機(jī)存儲(chǔ)器,;
d、最后通過近距離無線通訊技術(shù),將數(shù)據(jù)寫到nandflash存儲(chǔ)陣列。
本發(fā)明的一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)由5塊fpga芯片、4組4個(gè)并行4級(jí)流水的nandflash存儲(chǔ)陣列和兩級(jí)ddr3sram(靜態(tài)隨機(jī)存儲(chǔ)器)組成。5塊fpga芯片中的fpga5作為主控fpga,其它4個(gè)fpga為輔fpga芯片,主控fpga芯片和輔fpga芯片之間的通信通過gtx/gtp高速收發(fā)器實(shí)現(xiàn)。nandflash存儲(chǔ)陣列由4組4個(gè)并行4級(jí)流水的nandflash陣列組成。存儲(chǔ)數(shù)據(jù)采用了二級(jí)緩存。本發(fā)明使用microblazecupip對(duì)系統(tǒng)進(jìn)行調(diào)度,在fpga內(nèi)部實(shí)現(xiàn)了nfc(nandflashcontroller,存儲(chǔ)陣列控制器)和nandftl(flashtranslationlayer,閃存轉(zhuǎn)換層)功能。
本發(fā)明提供的技術(shù)方案帶來的有益效果是:
本發(fā)明用5塊fpga芯片實(shí)現(xiàn)對(duì)nandflash存儲(chǔ)陣列的管理,降低對(duì)單個(gè)fpga的io數(shù)量的高要求,降低了成本。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明的一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)及其實(shí)現(xiàn)方法的系統(tǒng)構(gòu)成圖;
圖2為本發(fā)明的一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)及其實(shí)現(xiàn)方法的4級(jí)流水nandflash存儲(chǔ)陣列示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
實(shí)施例一
本實(shí)施例的一種基于fpga的srio接口固態(tài)硬盤系統(tǒng),由5塊fpga芯片、4組4個(gè)并行4級(jí)流水的nandflash存儲(chǔ)陣列和二級(jí)ddr3靜態(tài)隨機(jī)存儲(chǔ)器組成,如圖1所示。4級(jí)流水的nandflash存儲(chǔ)陣列示意圖如圖2所示。5塊fpga芯片中,fpga5是主控fpga芯片,所掛載的ddr3靜態(tài)隨機(jī)存儲(chǔ)器作為數(shù)據(jù)的第一級(jí)緩存,其它4個(gè)fpga芯片分別負(fù)責(zé)與1組4個(gè)并行4級(jí)流水的nandflash存儲(chǔ)陣列交互,每個(gè)fpga芯片都有掛載ddr3靜態(tài)隨機(jī)存儲(chǔ)器,作為第二級(jí)數(shù)據(jù)緩存。5塊fpga芯片中fpga5作為主控fpga,其它4塊fpga為輔fpga芯片,主控fpga芯片和輔fpga芯片之間的通信通過gtx/gtp高速收發(fā)器實(shí)現(xiàn)。
本實(shí)施例的一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)利用fpgamicroblazecupip對(duì)系統(tǒng)進(jìn)行調(diào)度,在fpga內(nèi)部實(shí)現(xiàn)了nfc(nandflashcontroller,存儲(chǔ)陣列控制器)和nandftl(flashtranslationlayer,閃存轉(zhuǎn)換層)功能。
實(shí)施例二
本實(shí)施例的一種基于fpga的srio接口固態(tài)硬盤系統(tǒng)的實(shí)現(xiàn)方法中,從srio接口過來的信號(hào),首先經(jīng)過fpga5srioip解析出存儲(chǔ)數(shù)據(jù),通過dma(直接內(nèi)存存?。瑢?shù)據(jù)搬移到fpga5的ddr3sram中,然后再通過dma,將數(shù)據(jù)以lvds的格式通過gtx/gtp接口搬移到其它4塊fpga(fpga1~4),然后經(jīng)過解析得到并行數(shù)據(jù),通過fpga1~4dma將數(shù)據(jù)搬移到fpga1~4ddr3sram,也就是第二級(jí)ddr3sram,最后通過fpga1~4nfc,將數(shù)據(jù)寫到nandflash存儲(chǔ)陣列。這是寫sriossd的過程,讀sriossd的過程與之相反。
fpga還會(huì)實(shí)現(xiàn)ftl的功能,包括壞塊管理、磨損均衡、mapping、垃圾回收和差錯(cuò)控制。經(jīng)過估算,我們的nandflash存儲(chǔ)陣列,16個(gè)并行4級(jí)流水可以達(dá)到3gb/s的寫速度,2.7gb/s的都速度。64個(gè)nandflash存儲(chǔ)陣列達(dá)到4tb的存儲(chǔ)容量。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。