專利名稱:具有網(wǎng)絡(luò)直放功能的多閃存并行存儲(chǔ)裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種流媒體存儲(chǔ)裝置,即芯片或FPGA,,特別是涉及一種具有網(wǎng)絡(luò)直放功能的多閃存并行存儲(chǔ)裝置,即芯片或FPGA,。
背景技術(shù):
隨著我國(guó)寬帶互聯(lián)網(wǎng)建設(shè)的不斷推進(jìn),三網(wǎng)合一的網(wǎng)絡(luò)融合不斷推進(jìn),越來越多 的用戶開始使用基于IP的寬頻服務(wù),融合通信的寬頻時(shí)代已經(jīng)到來。這使得許多基于IP 的多媒體的服務(wù)成為可能,例如寬頻電影院,網(wǎng)絡(luò)電視臺(tái),視頻會(huì)議,遠(yuǎn)程教育,遠(yuǎn)程醫(yī)療, 網(wǎng)絡(luò)視頻監(jiān)控,在線直播系統(tǒng)等。作為寬頻服務(wù)的核心技術(shù),流媒體技術(shù)在最近幾年得到巨大發(fā)展,流媒體指以流 方式在網(wǎng)絡(luò)中傳送音頻、視頻和多媒體文件的媒體形式。在流媒體服務(wù)體系中,客戶端主 要是普通PC,或者是支持IP功能的機(jī)頂盒;在運(yùn)營(yíng)局端,有流媒體服務(wù)器,媒體內(nèi)容管理系 統(tǒng),客戶管理和認(rèn)證系統(tǒng),以及適應(yīng)各種視頻平臺(tái)的媒體轉(zhuǎn)碼系統(tǒng)。其中流媒體服務(wù)器就是流媒體服務(wù)的核心系統(tǒng),是運(yùn)營(yíng)商向用戶提供視頻服務(wù)的 關(guān)鍵平臺(tái)。其主要功能是對(duì)媒體內(nèi)容進(jìn)行采集、緩存、格式轉(zhuǎn)換,調(diào)度和傳輸播放;同時(shí)為了 適應(yīng)運(yùn)營(yíng)服務(wù)尤其是電信運(yùn)營(yíng)商的要求,新的針對(duì)電信增值業(yè)務(wù)的功能成為必須,例如加 密分發(fā)、內(nèi)容審核及發(fā)布、認(rèn)證播放、運(yùn)營(yíng)計(jì)費(fèi)等等基于一體化的寬帶流媒體業(yè)務(wù)功能。當(dāng)前主要流媒體服務(wù)器采用傳統(tǒng)的X86體系結(jié)構(gòu),隨著網(wǎng)絡(luò)流媒體流量急劇增 力口,傳統(tǒng)體系結(jié)構(gòu)遇到下列的性能瓶頸存儲(chǔ)系統(tǒng)仍然基于機(jī)械硬盤,雖然普通機(jī)械硬盤在 存儲(chǔ)容量上突飛猛進(jìn),但是因?yàn)槠浣Y(jié)構(gòu)弱點(diǎn),讀寫速度受限于碟片的物理旋轉(zhuǎn)速度和磁頭 的讀寫速度,同時(shí)存在隨機(jī)讀取困難的問題,這些導(dǎo)致其持續(xù)讀寫速度仍然進(jìn)步很慢,極大 落后于起容量增長(zhǎng)速度;X86體系結(jié)構(gòu)中網(wǎng)絡(luò)接口和存儲(chǔ)系統(tǒng)是獨(dú)立的子系統(tǒng),兩者沒有 直放通道,使得大量流媒體的播放仍然經(jīng)過系統(tǒng)主內(nèi)存,導(dǎo)致流媒體播放極大消耗系統(tǒng)資 源,影響主機(jī)性能。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能夠服務(wù)器的運(yùn)行功耗、采用并行高速閃存存儲(chǔ)系統(tǒng)、 能夠?qū)崿F(xiàn)實(shí)現(xiàn)流媒體數(shù)據(jù)的高速持續(xù)讀取、實(shí)現(xiàn)流媒體文件從存儲(chǔ)讀取到網(wǎng)絡(luò)接口的高速 直接播放、極大提高流媒體網(wǎng)絡(luò)播放的速度的具有網(wǎng)絡(luò)直放功能的多閃存并行存儲(chǔ)裝置, 即芯片或FPGA。為解決上述技術(shù)問題,本發(fā)明采取以下技術(shù)方案一種具有網(wǎng)絡(luò)直放功能的多閃 存并行存儲(chǔ)裝置,其特征在于其包括分組處理引擎、固態(tài)存儲(chǔ)引擎、固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模 塊、網(wǎng)絡(luò)接口模塊和PCIe接口模塊;所述分組處理引擎接受來自所述網(wǎng)絡(luò)接口模塊、固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊的數(shù)據(jù)發(fā) 送請(qǐng)求,并根據(jù)主機(jī)定義的鏈接參數(shù),在所述裝置外部的DDR內(nèi)存中分配隊(duì)列空間以暫存 各種數(shù)據(jù)包;所述分組處理引擎還從所述DDR內(nèi)存讀取數(shù)據(jù)包并將其傳送到所述網(wǎng)絡(luò)接口模塊;所述固態(tài)存儲(chǔ)引擎與PCIe接口模塊和固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊相連接,并與多閃 存存儲(chǔ)系統(tǒng)相連;所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊用于實(shí)現(xiàn)所述固態(tài)存儲(chǔ)引擎和分組處理引擎之間的 直接接口,并且其定義了從媒體存儲(chǔ)格式到網(wǎng)絡(luò)播放格式的轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),從而實(shí)現(xiàn)網(wǎng)絡(luò) 直放功能;所述網(wǎng)絡(luò)接口模塊是所述分組處理引擎和所述裝置外部的多種網(wǎng)絡(luò)接口之間的 適配模塊;所述PCIe接口模塊用于提供主機(jī)和所述裝置之間的數(shù)據(jù)接口。由于本發(fā)明的所述裝置,即芯片或FPGA,采用了高速閃存固態(tài)存儲(chǔ)技術(shù)來實(shí)現(xiàn)流 媒體數(shù)據(jù)的高速持續(xù)讀取,從而解決傳統(tǒng)機(jī)械硬盤的持續(xù)訪問速度問題和隨機(jī)尋址問題; 此外,所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊定義了從媒體存儲(chǔ)格式到網(wǎng)絡(luò)播放格式的轉(zhuǎn)換數(shù)據(jù)結(jié) 構(gòu),從而能夠?qū)崿F(xiàn)流媒體文件從存儲(chǔ)讀取到網(wǎng)絡(luò)接口的高速直接播放,有效解決傳統(tǒng)X86 結(jié)構(gòu)大規(guī)模數(shù)據(jù)向網(wǎng)絡(luò)播放的瓶頸問題,可實(shí)現(xiàn)數(shù)千路標(biāo)清或數(shù)百路高清視頻播放;最后, 所述裝置,即芯片或FPGA,還提供了豐富的網(wǎng)絡(luò)接口,能夠通過不同的適配模塊,實(shí)現(xiàn)不同 網(wǎng)絡(luò)接口的統(tǒng)一接入。綜上所述,本發(fā)明中的所述裝置,即芯片或FPGA,使得其流媒體播放 性能達(dá)到傳統(tǒng)流媒體服務(wù)器的10倍乃至更多,同時(shí)大大減少服務(wù)器的運(yùn)行功耗,極大提高 運(yùn)營(yíng)商的運(yùn)營(yíng)效率和客戶數(shù)量,降低運(yùn)營(yíng)商的運(yùn)營(yíng)成本。
圖1是具有網(wǎng)絡(luò)直放功能的多閃存并行存儲(chǔ)裝置,即芯片或FPGA,的硬件結(jié)構(gòu)原理圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。為了解決大容量流媒體播放問題,其關(guān)鍵之外在于提高存儲(chǔ)系統(tǒng)的長(zhǎng)期讀取速度 問題,并同時(shí)提高流媒體的網(wǎng)絡(luò)播放速度。本發(fā)明的核心不僅在于采用專用的所述裝置,即芯片或FPGA,實(shí)現(xiàn)多片并行閃存 存儲(chǔ)系統(tǒng)以提高存儲(chǔ)系統(tǒng)讀取速度,而且在于采用所述裝置,即芯片或FPGA,實(shí)現(xiàn)閃存系統(tǒng) 到網(wǎng)絡(luò)系統(tǒng)的直接播放,同時(shí)以專用PCIe通道和系統(tǒng)主內(nèi)存通信;通過上述方法,不僅極 大地提高流媒體的讀取和播放速度,而且也不占用主機(jī)內(nèi)存資源,從而實(shí)現(xiàn)傳統(tǒng)X86結(jié)構(gòu) 難以達(dá)到的流媒體播放性能,以獲得極大提高的流媒體服務(wù)器的性價(jià)比。圖1示出了本發(fā)明中的支持網(wǎng)絡(luò)直放的多閃存高速并行存儲(chǔ)裝置,即芯片或 FPGA,的硬件結(jié)構(gòu)原理圖。所述裝置,即芯片或FPGA,可采用可編程門陣列或者專用門陣 列實(shí)現(xiàn),如圖1所示,其主要核心模塊包括分組處理引擎1 (pkt_engine)、固態(tài)存儲(chǔ)引擎 2 (SSD_engine)、固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊3 (SSD_IWF)、網(wǎng)絡(luò)接口模塊4 (pkt_if)和PCIe接口 模塊 5(PCIe_if)。下面對(duì)構(gòu)成所述裝置, 即芯片或FPGA,的各模塊進(jìn)行詳細(xì)地說明。所述分組處理引擎1用于負(fù)責(zé)網(wǎng)絡(luò)協(xié)議的處理,例如隊(duì)列管理,流量工程處理,網(wǎng)絡(luò)協(xié)議分析及分發(fā)等。所述分組處理引擎1的核心是開放的網(wǎng)絡(luò)交換處理,其提供通用的 分組接口,從而可以通過不同的適配模塊接入不同的數(shù)據(jù)模塊,例如通過所述網(wǎng)絡(luò)接口模 塊4之間的接口可以實(shí)現(xiàn)與外部標(biāo)準(zhǔn)千兆以太網(wǎng)相連,也可以與主機(jī)網(wǎng)絡(luò)接口相連;此外, 還可以通過所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊來實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)接口的直接播放,從而極大提高流媒 體的播放效率。優(yōu)選地,所述分組處理引擎1主要包括隊(duì)列寫模塊11 (queue_Writer)和隊(duì)列讀模 塊 12 (queue_reader)組成。所述隊(duì)列寫模塊11接受從所述網(wǎng)絡(luò)接口模塊4、固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊3等內(nèi) 部各種數(shù)據(jù)源模塊來的數(shù)據(jù)發(fā)送請(qǐng)求,根據(jù)主機(jī)定義的鏈接參數(shù),在外部DDR內(nèi)存6中分 配隊(duì)列空間以暫存各種數(shù)據(jù)包。在執(zhí)行分配隊(duì)列的同時(shí)執(zhí)行流量管理、協(xié)議分析和數(shù)據(jù) 包分類,這功能主要通過內(nèi)部三個(gè)級(jí)聯(lián)的CAM (Content Addressable Memory)實(shí)現(xiàn),即以 太網(wǎng)源地址CAMlll (source address CAM)、數(shù)據(jù)包識(shí)別CAMl 12 (except CAM)和鏈接確 認(rèn)CAMl 13 (forwarding CAM)。所述以太網(wǎng)源地址CAMlll實(shí)現(xiàn)對(duì)以太網(wǎng)的源地址進(jìn)行分 類,只有預(yù)先設(shè)置承認(rèn)的源地址才被送到下一步的所述數(shù)據(jù)包識(shí)別CAM112進(jìn)行處理;所 述數(shù)據(jù)包識(shí)別CAM112對(duì)許多需要上層主機(jī)進(jìn)行進(jìn)一步協(xié)議處理的數(shù)據(jù)包進(jìn)行識(shí)別,并將 其傳送到主機(jī)CPU進(jìn)行處理,例如STP協(xié)議包,0ΑΜ,路由協(xié)議等;所述鏈接確認(rèn)CAM113對(duì) 鏈接進(jìn)行確認(rèn)并且設(shè)置轉(zhuǎn)送標(biāo)簽,以便于下一步傳送到相應(yīng)模塊,沒有通過鏈接確認(rèn)的數(shù) 據(jù)包將會(huì)被主動(dòng)丟棄。所述三個(gè)CAM的設(shè)計(jì)采用靈活的二叉樹結(jié)構(gòu)進(jìn)行設(shè)計(jì),其容量可以 根據(jù)系統(tǒng)的容量進(jìn)行具體裁剪。數(shù)據(jù)包通過三級(jí)級(jí)聯(lián)的所述CAM確認(rèn)后,流量監(jiān)管模塊 114(policer)將根據(jù)隊(duì)列的擁擠程度對(duì)數(shù)據(jù)包進(jìn)行流量工程分類,即俗稱的給包打顏色。 流量工程的擁塞管理器115 (congestion manager)根據(jù)數(shù)據(jù)包的顏色,以及其所處隊(duì)列狀 況進(jìn)行擁塞處理,執(zhí)行加權(quán)隨機(jī)早期檢測(cè)(WRED,Weighted Random Earlier Detection)排 隊(duì)操作。所述隊(duì)列寫模塊 11通過內(nèi)部統(tǒng)一的客戶寫接口 116 (client write interface)與 所述裝置,即芯片或FPGA,內(nèi)部的其他模塊相連;優(yōu)選地,所述客戶寫接口為32位、125Mhz 的總線,可以支持4Gbps的寫帶寬,同時(shí)能夠支持和多個(gè)設(shè)備客戶接口相連,例如所述多個(gè) 設(shè)備客戶接口可以是以下述太網(wǎng)接口的寫客戶模塊(MAC write client)、固態(tài)存儲(chǔ)模塊的 重組客戶模塊(SSD reassembly client),所述這些客戶模塊都支持統(tǒng)一的客戶寫接口和 分組處理引擎1的所述客戶寫接口相連,但是在另一端則支持不同的功能。所述隊(duì)列讀模塊執(zhí)行從內(nèi)存讀取數(shù)據(jù)包的工作,并且將其傳送到相應(yīng)的外部網(wǎng) 絡(luò)接口。所述隊(duì)列讀模塊主要依靠目的地CAM121 (destination CAM)獲取數(shù)據(jù)包將要發(fā) 送的目的地信息,例如目標(biāo)MAC地址、連接參數(shù)等,并將所述信息根據(jù)系統(tǒng)預(yù)先的配置加到 對(duì)應(yīng)鏈接的數(shù)據(jù)包中;同時(shí)所述隊(duì)列讀模塊依靠發(fā)送控制調(diào)度模塊122(p0ller/Shaper/ scheduler)決定輸出數(shù)據(jù)流的流量工程參數(shù)、包發(fā)送時(shí)間等重要發(fā)送信息,在獲取目的地 址,發(fā)送時(shí)間戳標(biāo)記,端口號(hào)等相關(guān)信息后,所述隊(duì)列讀模塊按照預(yù)定的要求從內(nèi)存中讀 取數(shù)據(jù)包,將其發(fā)送到外部模塊,所述外部模塊例如可以是網(wǎng)絡(luò)接口等。所述隊(duì)列讀模塊 通過內(nèi)部統(tǒng)一的客戶讀接口 123(Client readinterface)與所述裝置,即芯片或FPGA,內(nèi) 部的其他模塊相連;優(yōu)選地,所述客戶讀接口為32位、125Mhz的總線,可以支持4Gbps的 讀帶寬,同時(shí)能夠支持和多個(gè)設(shè)備客戶接口相連,例如太網(wǎng)接口的讀客戶模塊(MAC read client)、固態(tài)存儲(chǔ)模塊的組裝客戶模塊(SSDassembly client)、固態(tài)存儲(chǔ)模塊的分段客戶模塊(SSD segmentclient),這些客戶模塊都支持統(tǒng)一的客戶讀接口與分組處理引擎1的 所述客戶讀接口相連。所述固態(tài)存儲(chǔ)引擎2負(fù)責(zé)與多閃存存儲(chǔ)系統(tǒng)7 (Flash Array)接口,其支持多閃存 陣列存儲(chǔ),設(shè)計(jì)最多可支持128片閃存并行存儲(chǔ)、數(shù)據(jù)讀取穩(wěn)定持續(xù)帶寬可達(dá)到16Gbps。所 述固態(tài)存儲(chǔ)引擎還同時(shí)支持與PCIe接口模塊5相連接,以及與分組引擎接口模塊1相連接 的固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊3相連接,從而實(shí)現(xiàn)存儲(chǔ)網(wǎng)絡(luò)直接播放。所述固態(tài)存 儲(chǔ)引擎模塊 的核心是閃存控制模塊21 (SSD_Control),此模塊可同時(shí)支持最多128片NAND閃存,采用并 行組合方式,使得讀寫帶寬大大提高,同時(shí)支持閃存防老化算法,使得閃存的使用壽命大大 延長(zhǎng)。所述固態(tài)存儲(chǔ)引擎2還包括閃存數(shù)據(jù)包發(fā)送主模塊22 (SSD pkttx master)和閃存 數(shù)據(jù)包接收主模塊23 (SSD pkt rx master),其分別被設(shè)計(jì)為與下述固態(tài)存儲(chǔ)發(fā)送緩存模 塊34和固態(tài)存儲(chǔ)接收緩存模塊38相連接。所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊3用于實(shí)現(xiàn)所述固態(tài)存儲(chǔ)引擎2和分組處理引擎1之 間的直接接口。所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊3定義了從媒體存儲(chǔ)格式到網(wǎng)絡(luò)播放格式的轉(zhuǎn) 換數(shù)據(jù)結(jié)構(gòu),并采用多級(jí)鏈表結(jié)構(gòu)來實(shí)現(xiàn)流媒體鏈接到存儲(chǔ)文件的映射,使得在流媒體網(wǎng) 絡(luò)播放時(shí),能夠自動(dòng)實(shí)現(xiàn)直放功能,從而極大的提高流媒體網(wǎng)絡(luò)播放性能。優(yōu)選地,初始設(shè) 計(jì)支持1024流媒體鏈接,總共約2Gbps持續(xù)網(wǎng)絡(luò)播放帶寬。所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊3由讀寫兩大部分,共包括6個(gè)小模塊。所述讀模塊由 固態(tài)存儲(chǔ)讀客戶模塊31 (ssd read client)、固態(tài)存儲(chǔ)包緩沖模塊32 (ssd packet buffer) 和固態(tài)存儲(chǔ)組裝客戶模塊33 (ssd assembly client)三個(gè)子模塊構(gòu)成;固態(tài)存儲(chǔ)讀客戶模 塊31負(fù)責(zé)和所述分組處理引擎1的所述客戶讀接口互聯(lián),將從所述分組處理引擎1讀取 的數(shù)據(jù)包寫入所述固態(tài)存儲(chǔ)包緩沖模塊32,所述固態(tài)存儲(chǔ)包緩沖模塊32執(zhí)行數(shù)據(jù)包緩存 作用,同時(shí)也執(zhí)行數(shù)據(jù)速率時(shí)鐘的變換,以實(shí)現(xiàn)不同數(shù)據(jù)率的適配;固態(tài)存儲(chǔ)組裝客戶模塊 33利用連接標(biāo)識(shí)(FID, Flow ID)到固態(tài)存儲(chǔ)連接標(biāo)識(shí)(SSDID,Solidstate disk ID)查找 表中的信息對(duì)從所述固態(tài)存儲(chǔ)包緩沖模塊32中讀取的數(shù)據(jù)包進(jìn)行重新裝配,形成新的固 態(tài)數(shù)據(jù)存儲(chǔ)格式,再通過寫入固態(tài)存儲(chǔ)發(fā)送緩存模塊34 (ssd tx buffer),等待固態(tài)存儲(chǔ)引 擎2去處理。固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊3的所述寫模塊由固態(tài)存儲(chǔ)寫客戶模塊35(ssd write client)、固態(tài)存儲(chǔ)包緩沖模塊36(ssd packet buffer)和固態(tài)存儲(chǔ)段客戶模塊37 (ssd segment client)構(gòu)成;固態(tài)存儲(chǔ)寫客戶模塊35負(fù)責(zé)和所述分組處理引擎1的所述客戶寫 接口互聯(lián),將從固態(tài)存儲(chǔ)包緩沖模塊36讀取的數(shù)據(jù)包寫入所述分組處理引擎1,固態(tài)存儲(chǔ) 包緩沖模塊36執(zhí)行數(shù)據(jù)包緩存作用,同時(shí)也執(zhí)行數(shù)據(jù)速率時(shí)鐘的變換,以實(shí)現(xiàn)不同數(shù)據(jù)率 的適配;固態(tài)存儲(chǔ)段客戶模塊37利用固態(tài)存儲(chǔ)連接標(biāo)識(shí)(SSDID,Solid state disk ID)到 連接標(biāo)識(shí)(FID,F(xiàn)low ID)查找表中的信息對(duì)從固態(tài)存儲(chǔ)接收緩存模塊38 (ssd rxbuffer) 中讀取的數(shù)據(jù)包進(jìn)行重新分割,形成新的以太網(wǎng)承載格式,再通過寫入固態(tài)存儲(chǔ)包緩沖模 塊36,等待固態(tài)存儲(chǔ)寫客戶模塊35去處理。所述網(wǎng)絡(luò)接口模塊4是所述分組處理引擎1和所述裝置,即芯片或FPGA,外部的多 種網(wǎng)絡(luò)接口之間的適配模塊,在保持所述分組處理引擎1不變的情況下,通過不同的適配 模塊,可以接入千兆以太網(wǎng)、主機(jī)檢測(cè)控制網(wǎng)絡(luò)接口、HDLC接口以、RS232串口、ATM信元、以 及多種網(wǎng)絡(luò)適配單元。
所述網(wǎng)絡(luò)接口模塊4是其中最重要的適配模塊,由讀寫兩大部分,總共6個(gè)小模塊 構(gòu)成。所述以太網(wǎng)讀模塊由讀客戶模塊41(maCread client),包緩存模塊42 (mac packet buffer),千兆以太網(wǎng)數(shù)據(jù)鏈路層傳輸模塊43 (gig ethernet pcs/mac tx)構(gòu)成;讀客戶 模塊41負(fù)責(zé)和所述分組處理引擎1的客戶讀接口互聯(lián),將從所述分組處理引擎1讀取的 數(shù)據(jù)包寫入包緩存模塊42,所述包緩存模塊42執(zhí)行數(shù)據(jù)包緩存作用,同時(shí)也執(zhí)行數(shù)據(jù)速 率時(shí)鐘的變換,以實(shí)現(xiàn)不同數(shù)據(jù)率的適配;所述千兆以太網(wǎng)數(shù)據(jù)鏈路層傳輸模塊43用于 實(shí)現(xiàn)千兆以太網(wǎng)的數(shù)據(jù)鏈路層協(xié)議功能,可以和所述裝置,即芯片或FPGA,外部的千兆以 太網(wǎng)物理層 PHY(以太網(wǎng)物理層設(shè)備)以 GMII (GigabitMedia Independent Interface) 或者 RMII (Reduced pincount GigabitMedia Independent Interface)互聯(lián),或者以 SGMII (Serial GigabitMedia Independent Interface)接口和光以太網(wǎng)的 SFP 互聯(lián)。所 述千兆以太網(wǎng)數(shù)據(jù)鏈路層傳輸模塊43從包緩存模塊42讀取的數(shù)據(jù)包并通過GMII (Serial Gigabit Media Independent Interface)或者SGMII (Serial Gigabit Media Independent Interface)接口傳到所述裝置,即芯片或FPGA,外部的以太網(wǎng)絡(luò)上。所述以太網(wǎng)寫模塊由寫客戶模塊44 (mac write client),包緩存模塊45 (mac packet buffer),千兆以太網(wǎng)數(shù)據(jù)鏈路層接受模塊46 (gig Ethernet pcs/mac rx)構(gòu)成。 所述寫客戶模塊44負(fù)責(zé)和所述分組處理引擎1的客戶寫接口互聯(lián),將從包緩存模塊45讀 取的數(shù)據(jù)包寫入所述分組處理引擎1,所述包緩存模塊45執(zhí)行數(shù)據(jù)包緩存作用,同時(shí)也執(zhí) 行數(shù)據(jù)速率時(shí)鐘的變換,以實(shí)現(xiàn)不同數(shù)據(jù)率的適配;千兆以太網(wǎng)數(shù)據(jù)鏈路層接受模塊46實(shí) 現(xiàn)千兆以太網(wǎng)的數(shù)據(jù)鏈路層接受協(xié)議功能,可以和所述裝置,即芯片或FPGA,外部的千兆以 太網(wǎng)物理層PHY(以太網(wǎng)物理層設(shè)備)以GMII(Gigabit Media Ind印endentlnterface)或 # RMII (Reduced pincount Gigabit Media Independent Interface) L,M SGMII 接口和光以太網(wǎng)的SFP互聯(lián)。千兆以太網(wǎng)數(shù)據(jù)鏈路層接受模塊46通過GMII (Gigabit MediaIndependent Interface)或 者 SGMII(Serial Gigabit MediaIndependent Interface)接口接受到外部網(wǎng)絡(luò)輸入的數(shù)據(jù)包,將其寫入包緩存模塊45,并向?qū)懣蛻裟K 44發(fā)送數(shù)據(jù)包準(zhǔn)備好信號(hào),等待寫客戶模塊44從所述包緩存模塊45讀取包數(shù)據(jù)。CPU數(shù)據(jù)包接口模塊8提供與CPU的數(shù)據(jù)包接口,主要供主機(jī)測(cè)試和協(xié)議處理,其 結(jié)構(gòu)和所述網(wǎng)絡(luò)接口模塊4類似,但是提供供CPU訪問的寄存器接口。所述PCIe (PCI express)接口模塊5支持多路PCIe接口,使得主機(jī)和流媒體直放 系統(tǒng)能夠直接相連。PCIe接口模塊主要由PCIe系統(tǒng)控制模塊51 (PCIe System Control), SDRAM 接 口模塊 52(PCIesdram i/f)、PCIe 主模式寫模塊 53 (PCIe write master)和 PCIe 主模式讀模塊54 (PCIe read master)組成。PCIe系統(tǒng)控制模塊一方面和PCIe的物理層和 鏈路層接口 9(PCIe PHY and Link layer),另一方面對(duì)專用系統(tǒng)內(nèi)部提供系統(tǒng)工作接口, 所述內(nèi)部系統(tǒng)工作接 口主要由所述 SDRAM (Synchronous dynamic Random Access Memory) 接口模塊、PCIe主模式寫模塊和PCIe主模式讀模塊組成。其中,所述SDRAM接口模塊為 SDRAM內(nèi)存接口,用于給主機(jī)CPU提供直接的SDRAM內(nèi)存訪問通道;PCIe主模式寫模塊是主 機(jī)CPU對(duì)本發(fā)明中的所述多芯片閃存模塊的直接寫入接口,其主要處理從PCIe發(fā)過來的數(shù) 據(jù)寫操作;PCIe主模式讀模塊是主機(jī)CPU對(duì)本發(fā)明所述多芯片閃存模塊的直接讀取接口, 主要處理從PCIe發(fā)過來的數(shù)據(jù)讀操作。本發(fā)明所述的所述芯片,即所述多芯片閃存模塊采用XilinXVirteX-5FPGA實(shí)現(xiàn),預(yù)估設(shè)計(jì)容量約百萬們左右。在核心專用芯片的基礎(chǔ)上,在綜合成本和性能的考慮下,可以考慮利用同樣的核心模塊實(shí)現(xiàn)高端和中低端兩個(gè)系列,中低端系列支持約2Gbps的流媒體 播放帶寬,約可同時(shí)支持400路以上標(biāo)清視頻或200路以上高清視頻,主要針對(duì)中等容量的 社區(qū),企業(yè)等專網(wǎng)用戶;高端系統(tǒng)支持約20G的流媒體播放帶寬,約可同時(shí)支持4000路以上 標(biāo)清視頻或2000路以上高清視頻,主要針對(duì)大規(guī)模運(yùn)營(yíng)業(yè)務(wù)。
權(quán)利要求
一種具有網(wǎng)絡(luò)直放功能的多閃存并行存儲(chǔ)裝置,其特征在于其包括分組處理引擎、固態(tài)存儲(chǔ)引擎、固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊、網(wǎng)絡(luò)接口模塊和PCIe接口模塊;所述分組處理引擎接受來自所述網(wǎng)絡(luò)接口模塊、固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊的數(shù)據(jù)發(fā)送請(qǐng)求,并根據(jù)主機(jī)定義的鏈接參數(shù),在所述裝置外部的DDR內(nèi)存中分配隊(duì)列空間以暫存各種數(shù)據(jù)包;所述分組處理引擎還從所述DDR內(nèi)存讀取數(shù)據(jù)包并將其傳送到所述網(wǎng)絡(luò)接口模塊;所述固態(tài)存儲(chǔ)引擎與PCIe接口模塊和固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊相連接,并與多閃存存儲(chǔ)系統(tǒng)相連;所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊用于實(shí)現(xiàn)所述固態(tài)存儲(chǔ)引擎和分組處理引擎之間的直接接口,并且其定義了從媒體存儲(chǔ)格式到網(wǎng)絡(luò)播放格式的轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),從而實(shí)現(xiàn)網(wǎng)絡(luò)直放功能;所述網(wǎng)絡(luò)接口模塊是所述分組處理引擎和所述裝置外部的多種網(wǎng)絡(luò)接口之間的適配模塊;所述PCIe接口模塊用于提供主機(jī)和所述裝置之間的數(shù)據(jù)接口。
2.如權(quán)利要求1所述的裝置,其特征在于所述分組處理引擎在分配隊(duì)列空間的同時(shí) 執(zhí)行流量管理、協(xié)議分析和數(shù)據(jù)包分類。
3.如權(quán)利要求1所述的裝置,其特征在于所述分配隊(duì)列空間通過三個(gè)級(jí)聯(lián)的CAM實(shí) 現(xiàn),即以太網(wǎng)源地址CAM、數(shù)據(jù)包識(shí)別CAM和鏈接確認(rèn)CAM。
4.如權(quán)利要求3所述的裝置,其特征在于每個(gè)所述CAM的設(shè)計(jì)采用二叉樹結(jié)構(gòu)進(jìn)行 設(shè)計(jì),其容量可以根據(jù)系統(tǒng)的容量進(jìn)行具體裁剪。
5.如權(quán)利要求1所述的裝置,其特征在于所述多閃存存儲(chǔ)系統(tǒng)包括多閃存陣列存儲(chǔ) 系統(tǒng)。
6.如權(quán)利要求1所述的裝置,其特征在于所述轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu)采用多級(jí)鏈表結(jié)構(gòu)來實(shí) 現(xiàn)流媒體鏈接到存儲(chǔ)文件的映射.。
7.如權(quán)利要求1所述的裝置,其特征在于在保持所述分組處理引擎1不變的情況下, 通過不同的適配模塊,所述網(wǎng)絡(luò)接口模塊可以接入千兆以太網(wǎng)、主機(jī)檢測(cè)控制網(wǎng)絡(luò)接口、 HDLC接口、RS232串口、ATM信元、以及多種網(wǎng)絡(luò)適配單元。
8.如權(quán)利要求1所述的裝置,其特征在于所述PCIe接口模塊支持多路PCIe接口。.
9.如權(quán)利要求1所述的裝置,其特征在于所述裝置還包括CPU數(shù)據(jù)包接口模塊,其用 于提供與CPU的數(shù)據(jù)包接口。
10.如權(quán)利要求9所述的裝置,其特征在于所述CPU數(shù)據(jù)包接口模塊主要供主機(jī)測(cè)試 和協(xié)議處理。
全文摘要
本發(fā)明涉及一種具有網(wǎng)絡(luò)直放功能的多閃存并行存儲(chǔ)裝置,其特征在于其包括分組處理引擎、固態(tài)存儲(chǔ)引擎、固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊、網(wǎng)絡(luò)接口模塊和PCIe接口模塊;所述固態(tài)存儲(chǔ)網(wǎng)絡(luò)接口模塊用于實(shí)現(xiàn)所述固態(tài)存儲(chǔ)引擎和分組處理引擎之間的直接接口,并且其定義了從媒體存儲(chǔ)格式到網(wǎng)絡(luò)播放格式的轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),從而實(shí)現(xiàn)網(wǎng)絡(luò)直放功能。由于本發(fā)明的所述裝置,即芯片或FPGA,采用了高速閃存固態(tài)存儲(chǔ)技術(shù)來實(shí)現(xiàn)流媒體數(shù)據(jù)的高速持續(xù)讀取,從而解決傳統(tǒng)機(jī)械硬盤的持續(xù)訪問速度問題和隨機(jī)尋址問題;此外,所述裝置,即芯片或FPGA,還提供了豐富的網(wǎng)絡(luò)接口,能夠通過不同的適配模塊,實(shí)現(xiàn)不同網(wǎng)絡(luò)接口的統(tǒng)一接入。
文檔編號(hào)H04L12/56GK101847429SQ201010144829
公開日2010年9月29日 申請(qǐng)日期2010年4月13日 優(yōu)先權(quán)日2010年4月13日
發(fā)明者丁宇, 姚志平 申請(qǐng)人:蘇州達(dá)通泰科信息技術(shù)有限公司