實(shí)現(xiàn)多端口1Gbps和10Gbps TCP/iSCSI協(xié)議處理任務(wù)卸載解決方案
隨著數(shù)據(jù)中心網(wǎng)絡(luò)基礎(chǔ)設(shè)施逐步升級(jí)到10Gbps,讓基于以太網(wǎng)的解決方案承載數(shù)據(jù)業(yè)務(wù)成為一種經(jīng)濟(jì)可行的方法,并且不會(huì)降低性能,延長(zhǎng)時(shí)延。基于硬件的主機(jī)接口(如PCI Express 和千兆級(jí)以太網(wǎng)(GbE)),為設(shè)計(jì)面向計(jì)算機(jī)和數(shù)據(jù)處理市場(chǎng)的低成本、高性能產(chǎn)品創(chuàng)造了可能性。Xinlinx Virtex-5 現(xiàn)場(chǎng)可編程門陣列(FPGA)系列,為設(shè)計(jì)具備更強(qiáng)功能和更低功耗的片上系統(tǒng)(SoC)解決方案奠定了基礎(chǔ)。
Virtex-5 架構(gòu)具有一系列關(guān)鍵特性,能夠大大簡(jiǎn)化TCP和iSCSI 卸載引擎的SoC設(shè)計(jì):
內(nèi)置PCI Express(PCIe)模塊——一種符合PCIe規(guī)范的集成端點(diǎn),支持一至八個(gè)通道,能夠提供高達(dá) 32Gbps 的全雙工帶寬。
內(nèi)置千兆位級(jí)以太網(wǎng)媒體接入控制器(GEMAC)——四個(gè)硬核GEMAC,為實(shí)現(xiàn)多端口千兆位級(jí)解決方案創(chuàng)造了條件,從而減少了SoC設(shè)計(jì)的板卡空間要求。
真正的6輸入查找表(LUT)技術(shù)——提高對(duì)單元的利用率,縮短路由時(shí)延,從而提高性能。
36-Kb 雙端口 block RAM——帶有糾錯(cuò)電路、存儲(chǔ)密度更高的存儲(chǔ)器,為實(shí)現(xiàn)可靠的計(jì)算邏輯結(jié)構(gòu)和增加同步收發(fā)操作的片上TCP會(huì)話數(shù)量創(chuàng)造了條件。
DSP48E單元——支持面向圖像處理和多媒體應(yīng)用的大規(guī)模并行運(yùn)算模式。
由于 Virtex 系列是一種可編程平臺(tái),您可以根據(jù)不斷變化的標(biāo)準(zhǔn)和市場(chǎng)要求調(diào)整自己的設(shè)計(jì)。借助 Virtex-5 系列所提供的資源,設(shè)計(jì)人員可以為服務(wù)器、存儲(chǔ)器、多協(xié)議交換機(jī),以及生命周期更長(zhǎng)的無(wú)線基站創(chuàng)建成本低廉的TCP和iSCSI卸載解決方案。
TCP卸載引擎(TOE)概述
當(dāng)前的TCP卸載解決方案主要依賴于完整的軟件堆?;蚧贏SIC(用于TCP/IP協(xié)議處理)的專用網(wǎng)卡(NIC)。軟件解決方案對(duì)于低帶寬應(yīng)用是可行的,但高性能應(yīng)用會(huì)消耗所有 CPU 資源,結(jié)果形成了關(guān)鍵應(yīng)用的系統(tǒng)瓶頸。
基于ASIC的解決方案一般由初創(chuàng)公司提供,主要面向高性能 10Gbps市場(chǎng)。這些解決方案的價(jià)格仍然不菲,而且提供它們的廠商的財(cái)務(wù)狀況不甚穩(wěn)定。
Xilinx及其第三方IP合作伙伴可提供完全符合 TCP/iSCSI規(guī)范的卸載解決方案。您可以在不加改動(dòng)的情況下輕松實(shí)現(xiàn)這些解決方案,或者按照所要求的功能、尺寸、速度或目標(biāo)應(yīng)用對(duì)其進(jìn)行定制設(shè)計(jì)。
基于FPGA的TCP/iSCSI引擎
內(nèi)置標(biāo)準(zhǔn)化 GEMAC、PCIe核以及容量更大的 Block RAM的Virtex-5器件是一種可編程平臺(tái)芯片,系統(tǒng)架構(gòu)設(shè)計(jì)師可利用它輕松完成TCP和iSCSI協(xié)議處理設(shè)計(jì),而不用擔(dān)心網(wǎng)絡(luò)或主機(jī)接口側(cè)的串行連接問(wèn)題。以下是協(xié)議處理任務(wù)卸載設(shè)計(jì)中經(jīng)常遇到的一些難題:要支持的TCP連接的數(shù)量、TCP數(shù)據(jù)包重組/重排序、IP 數(shù)據(jù)包分片和重組、時(shí)延、片上和片外TCP會(huì)話管理之間的關(guān)系。
有了Virtex-5 器件的獨(dú)特功能以及 IP 核,所有這些問(wèn)題都可以迎刃而解。借助內(nèi)置GEMAC 和PCIe接口,您只需最少的 FPGA 資源即可實(shí)現(xiàn)直接內(nèi)存存取解決方案,從而縮短了內(nèi)存存取時(shí)延,并且在無(wú)需調(diào)用臨時(shí)內(nèi)存的情況下即可實(shí)現(xiàn)TCP封包重組。Virtex-5 FPGA 還搭載了一個(gè) 36-Kb 雙端口 block RAM,從而使您可以支持的TCP連接數(shù)量倍增。借助 Xilinx 的LogiCORE高速存儲(chǔ)控制器,您可以使用外部DDR2內(nèi)存來(lái)擴(kuò)充TCP會(huì)話管理功能。讓我們來(lái)看看基于 FPGA 的網(wǎng)卡設(shè)計(jì)可以節(jié)約哪些資源。
[!--empirenews.page--]
1Gbps和10Gbps網(wǎng)卡解決方案
面向 IP 存儲(chǔ)和刀片服務(wù)器的集成式多端口1Gbps和 10GbpsTCP卸載網(wǎng)卡(NIC),能夠讓制造商充分利用網(wǎng)絡(luò)設(shè)備進(jìn)行業(yè)務(wù)存儲(chǔ)。圖1提供了一個(gè)典型的基于 FPGA 的NIC設(shè)計(jì)。
取決于所使用的 IP 核的數(shù)量,該設(shè)計(jì)可采用多達(dá) 20,000 個(gè)單元。Virtex-5 LXT 平臺(tái)可將資源占用率降低一半,這樣,您就能在不降低性能的情況下,創(chuàng)建一個(gè)低成本的解決方案。除提高硬件效率外,系統(tǒng)架構(gòu)師還可以降低 NRE 成本,因?yàn)樵谠O(shè)計(jì) GbE 和PCIe高速I/O接口時(shí),無(wú)需使用 NRE。圖2提供了一個(gè)借助 Virtex-5 系列的內(nèi)置資源,對(duì)TCP卸載 NIC 進(jìn)行重新設(shè)計(jì)的示例。
結(jié)論
有了第三方廠商提供的在 Xilinx FPGA上實(shí)現(xiàn)的符合TCP和 iSCSI 標(biāo)準(zhǔn)的卸載 IP 核,現(xiàn)在您能夠以更低的開發(fā)成本,設(shè)計(jì)出通用或定制化片上系統(tǒng)。利用 Virtex-5 LXT 平臺(tái)——搭載增強(qiáng)型GEMAC和PCIe端點(diǎn)模塊、容量更大的 block RAM,以及6輸入查找表——實(shí)現(xiàn)面向服務(wù)器、存儲(chǔ)器、多協(xié)議交換機(jī),以及無(wú)線基站產(chǎn)品的復(fù)雜協(xié)議處理任務(wù)卸載解決方案,可以大大減少 FPGA 資源占用量。