一種基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核的制作方法
【專利摘要】本發(fā)明公開了一種基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,屬于以太網(wǎng)光纖通道領(lǐng)域,應(yīng)用于FCoE融合網(wǎng)絡(luò)適配器中。本發(fā)明包括發(fā)送模塊、接收模塊和控制模塊。本發(fā)明建立在AXI4總線架構(gòu)基礎(chǔ)之上,利用AXI4-Lite總線對本發(fā)明IP核配置寄存器,利用AXI4總線進(jìn)行發(fā)送/接收描述符的讀寫,利用AXI4-Stream高速通道傳送發(fā)送/接收的數(shù)據(jù)。本發(fā)明可以由FCoE融合網(wǎng)絡(luò)適配器CPU進(jìn)行控制,專門針對以太網(wǎng)光纖通道領(lǐng)域中硬件處理FCoE數(shù)據(jù)幀的需要,采用全雙工工作模式,工作實時高效,數(shù)據(jù)吞吐量大,傳輸速率高,并且能夠?qū)崿F(xiàn)無損傳輸。本發(fā)明支持FCoE數(shù)據(jù)分段/合并處理、無損以太網(wǎng)功能和單根虛擬化。
【專利說明】—種基于AX14總線架構(gòu)的FCoE協(xié)議加速引擎IP核
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于以太網(wǎng)光纖通道【技術(shù)領(lǐng)域】,更具體地,涉及一種基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核。
【背景技術(shù)】
[0002]隨著物聯(lián)網(wǎng)、云計算等技術(shù)的發(fā)展,互聯(lián)網(wǎng)公司需要處理的數(shù)據(jù)呈爆炸式增長,龐大的數(shù)據(jù)量需要高效的存儲和高速的處理。為了迎合這種趨勢,互聯(lián)網(wǎng)公司必須建立企業(yè)級的數(shù)據(jù)中心。
[0003]數(shù)據(jù)中心由存儲網(wǎng)(Storage Area Network,以下簡稱SAN)和局域網(wǎng)(Local AreaNetwork,以下簡稱LAN)融合而成。SAN主要是基于光纖通道協(xié)議(Fibre Channel, FC)將存儲設(shè)備和服務(wù)器構(gòu)成網(wǎng)絡(luò),光纖通道協(xié)議的無丟幀、低延遲、高帶寬是存儲網(wǎng)的最優(yōu)選擇。LAN主要由以太網(wǎng)構(gòu)成,以太網(wǎng)連接簡單、兼容性強(qiáng),使得其廣泛應(yīng)用于LAN。在企業(yè)級數(shù)據(jù)中心應(yīng)用中,需要將SAN和LAN進(jìn)行融合,否則就會出現(xiàn)設(shè)備和電纜數(shù)量激增、接口類型繁雜、能源消耗巨大以及管理復(fù)雜度高等問題。以太網(wǎng)光纖通道(Fibre Channel overEthernet,以下簡稱FCoE)可以將光纖通道映射到以太網(wǎng),將光纖通道協(xié)議幀封裝在以太網(wǎng)幀稱之為FCoE幀在以太網(wǎng)中傳輸,從而將SAN和LAN融合。融合網(wǎng)絡(luò)中需要的FCoE網(wǎng)絡(luò)適配器也將是新穎的FCoE融合網(wǎng)絡(luò)適配器CNA卡(Converged Network Adapter, CNA)。
[0004]在現(xiàn)有的網(wǎng)絡(luò)適配器方案中,網(wǎng)絡(luò)協(xié)議數(shù)據(jù)流量的處理主要是通過主機(jī)CPU進(jìn)行,網(wǎng)絡(luò)適配器只是起到了收發(fā)幀或者數(shù)據(jù)的作用。由于融合網(wǎng)絡(luò)通信中存在了大量的不同流量類型的數(shù)據(jù)交換,主機(jī)CPU需要處理的數(shù)據(jù)量巨大,使得主機(jī)CPU負(fù)擔(dān)超重,導(dǎo)致了CPU性能嚴(yán)重降低,嚴(yán)重影響了網(wǎng)絡(luò)通信的質(zhì)量以及主機(jī)的性能。
[0005]協(xié)議硬件加速是指利用硬件并行性計算的優(yōu)勢,有選擇的將部分需要主機(jī)CPU完成的協(xié)議處理工作放到硬件上進(jìn)行,這樣可以簡化CPU的負(fù)擔(dān),提高工作效率。目前用于網(wǎng)絡(luò)適配器的硬件協(xié)議處理主要是針對TCP/IP協(xié)議的,其技術(shù)和產(chǎn)品都比較成熟。針對于融合網(wǎng)絡(luò)專用于FCoE協(xié)議硬件處理處于起步階段,現(xiàn)有的IP核方案也存在以下不足:
[0006]1、融合網(wǎng)絡(luò)適配器是將原先不同的網(wǎng)絡(luò)融合為一個網(wǎng)絡(luò),因而在數(shù)據(jù)鏈路層不能再使用傳統(tǒng)的以太網(wǎng)協(xié)議,新型融合網(wǎng)絡(luò)需要增強(qiáng)型的無損以太網(wǎng)協(xié)議(Data CenterBridge,以下簡稱DCB)的支持。現(xiàn)有的IP核方案必須與第三方帶有DCB功能的以太網(wǎng)MAC控制器對接,而目前帶有DCB功能的MAC控制器還未得到廣泛應(yīng)用,導(dǎo)致了現(xiàn)有的IP核應(yīng)用范圍狹窄,可兼容性差,不能滿足實際需求;
[0007]2、現(xiàn)有的IP核方案只是進(jìn)行了循環(huán)冗余校驗(Cyclic Redundancy Check,以下簡稱CRC)的處理和幀頭幀尾的處理,協(xié)議處理力度小。在融合網(wǎng)絡(luò)中,存在大量數(shù)據(jù)交換的一般為原存儲網(wǎng)的數(shù)據(jù)流量FCoE幀?,F(xiàn)有IP核由于沒有針對FCoE幀的專用處理模塊,使得主機(jī)CPU依舊要擔(dān)負(fù)很大的網(wǎng)絡(luò)協(xié)議處理責(zé)任,從而導(dǎo)致主機(jī)CPU性能依舊效率低下,融合網(wǎng)絡(luò)整體性能很低;
[0008]3、現(xiàn)有的IP核方案支持AXM-Lite輕量總線和AXI4總線架構(gòu),在進(jìn)行大量數(shù)據(jù)傳輸時速率不高,不能滿足融合網(wǎng)絡(luò)大量數(shù)據(jù)高速傳輸?shù)囊?,會?dǎo)致鏈路數(shù)據(jù)無法及時傳送到主機(jī)進(jìn)行處理,從而造成數(shù)據(jù)滯留和擁塞,降低網(wǎng)絡(luò)性能;
[0009]4、現(xiàn)有的IP核方案不支持基于硬件形式的虛擬化,而基于硬件的單根虛擬化(SR-1OV)可以使虛擬機(jī)環(huán)境直接訪問硬件,有效提高性能;具有單根虛擬化的功能還有節(jié)能、適配器減少、簡化布線、減少交換機(jī)端口的優(yōu)點。現(xiàn)有的IP核方案無法提供以上優(yōu)點,并且如果完全使用軟件虛擬化也會加重主機(jī)系統(tǒng)的負(fù)擔(dān)。
【發(fā)明內(nèi)容】
[0010]針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供一種基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,應(yīng)用于FCoE融合網(wǎng)絡(luò)適配器中。利用硬件并行性處理的特點,將需要CPU負(fù)責(zé)的FCoE數(shù)據(jù)處理工作全部放到FCoE網(wǎng)絡(luò)適配器硬件上進(jìn)行,可以加快協(xié)議處理的速度,減輕CPU的負(fù)擔(dān),并輔以流量控制、擁塞控制和單根虛擬化(SR-1OV)支持,從而有效的提升網(wǎng)絡(luò)的整體性能。
[0011]本發(fā)明提供一種基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,包括發(fā)送模塊、接收模塊以及控制模塊,其中:
[0012]所述發(fā)送模塊包括:發(fā)送描述符控制單元,用于傳輸發(fā)送描述符;發(fā)送高速通道控制單元,用于接收待發(fā)送數(shù)據(jù),其中所述待發(fā)送數(shù)據(jù)包括普通數(shù)據(jù)和FCoE數(shù)據(jù)塊;發(fā)送數(shù)據(jù)緩存單元,用于緩存待發(fā)送的所述普通數(shù)據(jù);發(fā)送FCoE數(shù)據(jù)分段單元,用于分割和封裝待發(fā)送的所述FCoE數(shù)據(jù)塊形成FCoE待發(fā)送數(shù)據(jù)幀;發(fā)送無損以太網(wǎng)單元,用于完成PFC幀生成和ETS調(diào)度;發(fā)送隊列選擇單元,用于根據(jù)所述ETS調(diào)度選擇發(fā)送所述普通數(shù)據(jù)及所述FCoE待發(fā)送數(shù)據(jù)幀;發(fā)送數(shù)據(jù)封裝單元,用于根據(jù)所述發(fā)送描述符封裝待發(fā)送的所述普通數(shù)據(jù)和所述PFC幀,并對封裝后的數(shù)據(jù)幀和所述FCoE待發(fā)送數(shù)據(jù)幀進(jìn)行CRC添加形成待發(fā)送幀;發(fā)送描述符管理單元用于存儲和管理所述發(fā)送描述符;以及發(fā)送幀緩存單元,用于緩存并發(fā)送所述待發(fā)送幀;
[0013]所述接收模塊包括:接收幀緩存單元,用于緩存待接收幀;接收幀解析單元,用于完成對所述待接收幀的校驗、解析以形成普通數(shù)據(jù)、類型判別信號、PFC幀和FCoE數(shù)據(jù)幀;接收隊列選擇單元,用于根據(jù)所述接收幀解析單元生成的所述類型判別信號選擇接收解析后的所述普通數(shù)據(jù);接收數(shù)據(jù)緩存單元,用于緩存所述普通數(shù)據(jù);接收FCoE數(shù)據(jù)合并單元,用于合并和緩存所述FCoE數(shù)據(jù)幀形成FCoE數(shù)據(jù)塊;接收無損以太網(wǎng)單元,用于解析PFC幀和生成發(fā)送暫停矢量,以暫停特定流量類型數(shù)據(jù)的發(fā)送調(diào)度;接收描述符管理單元,用于緩存和填充接收描述符;接收描述符控制單元,用于預(yù)取和寫回所述接收描述符;以及接收高速通道控制單元,用于寫回所述接收數(shù)據(jù)緩存單元緩存的普通數(shù)據(jù)和所述接收FCoE數(shù)據(jù)合并單元緩存的FCoE數(shù)據(jù)塊;以及
[0014]所述控制模塊包括:寄存器配置單元,用于配置應(yīng)用于所述FCoE協(xié)議加速引擎IP核的控制寄存器,以及寄存器管理單元,用于管理所述控制寄存器,當(dāng)所述控制寄存器需要配置所述發(fā)送模塊或所述接收模塊的某個單元時,所述寄存器管理單元將所述控制寄存器的值傳送至相應(yīng)單元。
[0015]總體而言,通過本發(fā)明所構(gòu)思的以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下有益效果:
[0016]1、本發(fā)明是專門針對以太網(wǎng)光纖通道領(lǐng)域中應(yīng)用的融合網(wǎng)絡(luò)適配器而開發(fā)的協(xié)議加速引擎IP核,最大的特色是將需要主機(jī)CPU處理的FCoE數(shù)據(jù)交換放到融合網(wǎng)絡(luò)適配器中IP核的專用FCoE處理模塊進(jìn)行處理,有效的降低了主機(jī)的負(fù)擔(dān)。所有的FCoE融合網(wǎng)絡(luò)適配器都可以采用本發(fā)明IP核進(jìn)行基于硬件的FCoE數(shù)據(jù)交換處理。
[0017]2、本發(fā)明集成了無損以太網(wǎng)單元以實現(xiàn)無損以太網(wǎng)的功能,能夠高性能的滿足融合網(wǎng)絡(luò)中傳輸?shù)牟煌髁繉?、延時和丟包的要求。帶有DCB功能的本發(fā)明IP核能夠與現(xiàn)有的傳統(tǒng)以太網(wǎng)MAC控制器兼容,使得本發(fā)明IP核應(yīng)用范圍變廣,兼容性及擴(kuò)展性好。
[0018]3、本發(fā)明利用了硬件的并行性計算優(yōu)勢,將FCoE交換中大量的數(shù)據(jù)處理放到硬件上進(jìn)行,有效的減輕了主機(jī)CPU的負(fù)擔(dān),能夠明顯提升協(xié)議處理的速度和網(wǎng)絡(luò)的整體性倉泛。
[0019]4、本發(fā)明能夠支持單根虛擬化形式的虛擬化,基于硬件的單根虛擬化可以使虛擬機(jī)環(huán)境直接訪問硬件,有效提高性能;IP核具有單根虛擬化的功能還有節(jié)能、適配器減少、簡化布線、減少交換機(jī)端口的優(yōu)點;IP核支持單根虛擬化可以使軟件不必專門做基于純軟件的虛擬化設(shè)計,可以有效降低CPU的負(fù)擔(dān),提高性能。
[0020]5、本發(fā)明建立在AXI4總線架構(gòu)基礎(chǔ)之上,利用AXM-Lite傳輸控制寄存器信息,利用AXI4總線傳輸接收/發(fā)送描述符,利用AXM-Stream通道傳輸接收/發(fā)送數(shù)據(jù)。本發(fā)明在網(wǎng)絡(luò)適配器上通過適配器CPU進(jìn)行控制;可擴(kuò)展性好,可以與其他帶有AXI4總線接口和AXM-Stream通道的IP核協(xié)同工作。
【專利附圖】
【附圖說明】
[0021]圖1為本發(fā)明協(xié)議加速引擎IP核在FCoE融合網(wǎng)絡(luò)適配器中的位置及模塊劃分示意圖;
[0022]圖2為本發(fā)明協(xié)議加速引擎IP核發(fā)送模塊的結(jié)構(gòu)框圖;
[0023]圖3為本發(fā)明協(xié)議加速引擎IP核接收模塊的結(jié)構(gòu)框圖;
[0024]圖4為本發(fā)明協(xié)議加速引擎IP核控制模塊的結(jié)構(gòu)框圖;
[0025]圖5為本發(fā)明協(xié)議加速引擎IP核發(fā)送數(shù)據(jù)流的示意圖;
[0026]圖6為本發(fā)明協(xié)議加速引擎IP核接收數(shù)據(jù)流的示意圖。
【具體實施方式】
[0027]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實施方式中所涉及到的技術(shù)特征只要彼此之間未構(gòu)成沖突就可以相互組合。
[0028]本發(fā)明的IP核建立在AXI4總線架構(gòu)基礎(chǔ)之上,利用AXI4_lite總線對本發(fā)明IP核寄存器進(jìn)行配置,利用AXI4總線進(jìn)行發(fā)送/接收描述符的讀寫,利用AXIS-Stream高速數(shù)據(jù)通道傳送發(fā)送/接收的數(shù)據(jù),在融合網(wǎng)絡(luò)適配器CPU的控制之下完成接收/發(fā)送功能。
[0029]圖1所示為本發(fā)明協(xié)議加速引擎IP核在FCoE融合網(wǎng)絡(luò)適配器中的位置及模塊劃分示意圖。如圖1所示,本發(fā)明IP核應(yīng)用于FCoE融合網(wǎng)絡(luò)適配器內(nèi)部,在融合網(wǎng)絡(luò)適配器CPU的控制下進(jìn)行工作,其數(shù)據(jù)通路可以一端連接其他IP核(例如直接內(nèi)存訪問(DirectMemory Access,以下簡稱DMA)控制器等),另一端連接1G以太網(wǎng)MAC控制器。在本發(fā)明實施例中,F(xiàn)CoE網(wǎng)絡(luò)適配器CPU通過AXM-Lite總線和AXI4總線控制本發(fā)明IP核并通過給地址和數(shù)據(jù)的方式配置寄存器和發(fā)送/接收數(shù)據(jù)的描述符,而待發(fā)送/接收的數(shù)據(jù)流通過AXM-Stream通道與其他IP核相連以實現(xiàn)功能。本發(fā)明IP核內(nèi)部有地址編號的寄存器存儲區(qū)和地址編號的描述符存儲區(qū)(圖1中未示出),當(dāng)AXI4_Lite總線將地址和配置寄存器的值傳入該IP核時,配置寄存器的值會進(jìn)行相應(yīng)更新;描述符的傳輸也是如此,只不過通過AXI4總線進(jìn)行。
[0030]本發(fā)明協(xié)議加速引擎IP核包括三部分:發(fā)送模塊、接收模塊和控制模塊。發(fā)送模塊用于完成待發(fā)送數(shù)據(jù)的分段、封裝和發(fā)送,其通過AXM-Stream通道接收待發(fā)送數(shù)據(jù)并在內(nèi)部進(jìn)行分段和封裝,然后將其通過AXM-Stream通道傳送至以太網(wǎng)MAC控制器。接收模塊用于完成待接收數(shù)據(jù)的解封裝和數(shù)據(jù)合并,其通過AXM-Stream通道從以太網(wǎng)MAC控制器接收數(shù)據(jù),在內(nèi)部完成數(shù)據(jù)的解封裝和合并之后將其通過AXM-Stream通道傳輸至其他IP核例如DMA控制器等。控制模塊用于完成對應(yīng)用于本IP核的控制寄存器的配置,將通過AXM-Lite總線傳輸?shù)挠糜谂渲脩?yīng)用于本IP核的控制寄存器的值進(jìn)行存儲并傳輸給發(fā)送模塊和接收模塊。
[0031]圖2所示為本發(fā)明協(xié)議加速引擎IP核發(fā)送模塊的結(jié)構(gòu)框圖,包括傳送發(fā)送描述符的發(fā)送描述符控制單元、發(fā)送高速數(shù)據(jù)的發(fā)送高速通道控制單元、發(fā)送數(shù)據(jù)緩存單元、發(fā)送FCoE數(shù)據(jù)分段單元、發(fā)送無損以太網(wǎng)單元、發(fā)送隊列選擇單元、發(fā)送數(shù)據(jù)封裝單元、發(fā)送描述符管理單元以及發(fā)送幀緩存單元。
[0032]發(fā)送描述符控制單元用于完成發(fā)送描述符的傳輸。具體的,當(dāng)有數(shù)據(jù)需要發(fā)送時,融合網(wǎng)絡(luò)適配器CPU首先會控制AXI4總線將發(fā)送描述符傳送至發(fā)送描述符控制單元,發(fā)送描述符控制單元將不同流量類型數(shù)據(jù)的描述符傳送至發(fā)送描述符管理單元進(jìn)行分類存儲。在本發(fā)明實施例中,不同流量類型可包括:低延遲要求的進(jìn)程間通信IPC流量、無損要求的存儲網(wǎng)通信SAN流量、允許一定延時和丟包的TCP/IP通信LAN流量等。在本發(fā)明實施例中,IP核跨越了幾個不同的時鐘域,由于不同的IP核的時鐘可以不同,在將本發(fā)明IP核與其他IP核相連時必須要解決跨時鐘域的問題,本單元會涉及到兩個時鐘域的匹配:傳遞給本發(fā)明IP核描述符的AXI4總線時鐘域,以及本發(fā)明IP核的時鐘域。
[0033]發(fā)送高速通道控制單元用于將AXM-Stream通道發(fā)送來的待發(fā)送數(shù)據(jù)放到本IP核。具體的,發(fā)送高速通道控制單元根據(jù)發(fā)送描述符管理單元中的描述符數(shù)量選取某個特定的描述符,并根據(jù)其內(nèi)容通過AXM-Stream通道將特定描述符對應(yīng)的待發(fā)送數(shù)據(jù)傳送到發(fā)送高速通道控制單元。具體的,當(dāng)某種待選擇的描述符量太多時,此種描述符會被選取。由于待發(fā)送數(shù)據(jù)有多種流量類型,發(fā)送高速通道控制單元會進(jìn)行控制以一定的輪詢順序獲取不同流量類型的待發(fā)送數(shù)據(jù)。發(fā)送高速通道控制單元獲取不同流量類型的待發(fā)送數(shù)據(jù)之后,如果是普通待發(fā)送數(shù)據(jù),會將其傳送給發(fā)送數(shù)據(jù)緩存單元;如果是FCoE待發(fā)送數(shù)據(jù)塊,會將其傳送給發(fā)送FCoE數(shù)據(jù)分段單元。在本發(fā)明實施例中,本單元會涉及到兩個時鐘域的匹配:傳輸待發(fā)送數(shù)據(jù)的AXI4-Stream通道的時鐘域,以及本發(fā)明IP核的時鐘域。
[0034]發(fā)送數(shù)據(jù)緩存單元用于緩存待發(fā)送的普通數(shù)據(jù)。具體的,當(dāng)發(fā)送高速通道控制單元將普通待發(fā)送數(shù)據(jù)傳送給發(fā)送數(shù)據(jù)緩存單元時,同時會傳送功能流量類型指示信號。發(fā)送數(shù)據(jù)緩存單元根據(jù)功能流量類型指示信號將屬于不同的流量類型的數(shù)據(jù)放到不同的子單元緩存(在本發(fā)明實施例中,子單元緩存指發(fā)送數(shù)據(jù)緩存單元內(nèi)部細(xì)分的用于單根虛擬化和流量劃分的各個緩存,圖2中未示出)。發(fā)送數(shù)據(jù)緩存單元可以同時支持多個子單元緩存以適應(yīng)融合網(wǎng)絡(luò)中單根虛擬化和多流量數(shù)據(jù)的要求。當(dāng)收到發(fā)送隊列選擇單元發(fā)來的隊列選擇信號時,發(fā)送數(shù)據(jù)緩存單元將相應(yīng)子單元緩存的數(shù)據(jù)傳送給發(fā)送隊列選擇單元。
[0035]發(fā)送FCoE數(shù)據(jù)分段單元用于完成待發(fā)送FCoE數(shù)據(jù)塊的分割及封裝。具體的,發(fā)送高速通道控制單元傳送給發(fā)送FCoE數(shù)據(jù)分段單元的數(shù)據(jù)塊包括發(fā)送FCoE數(shù)據(jù)幀的幀頭幀尾模板和一大段未經(jīng)分割的數(shù)據(jù)塊。發(fā)送FCoE數(shù)據(jù)分段單元根據(jù)以太網(wǎng)協(xié)議最大幀的要求將數(shù)據(jù)塊切割成合適大小,并按照順序為每一段分割數(shù)據(jù)塊按照幀頭幀尾模板添加合適的幀頭幀尾,此時經(jīng)過添加之后的FCoE待發(fā)送數(shù)據(jù)幀并不包括CRC校驗值。發(fā)送FCoE數(shù)據(jù)分段單元在收到發(fā)送隊列選擇單元發(fā)來的隊列選擇信號時將處理好的FCoE待發(fā)送數(shù)據(jù)幀傳送至發(fā)送隊列選擇單元。
[0036]發(fā)送無損以太網(wǎng)單元用于實現(xiàn)發(fā)送模塊的無損以太網(wǎng)功能,包括基于優(yōu)先級的流量控制(Pr1rity-based Flow Control,以下簡稱PFC)巾貞發(fā)送器和增強(qiáng)型傳輸選擇(Enhanced Transmiss1n Select,以下簡稱ETS)調(diào)度器(圖1中未不出)。具體的,當(dāng)發(fā)送無損以太網(wǎng)單元收到來自接收模塊的接收門限信號時,表示在接收模塊中有某個接收緩存超出其緩存能力,PFC發(fā)送器會根據(jù)此信號為PFC數(shù)據(jù)部分地生成合適的定時值,并添加PFC幀頭作為PFC幀傳送至發(fā)送幀封裝單元,此時傳送的PFC幀不含CRC值。當(dāng)發(fā)送無損以太網(wǎng)單元收到來自接收模塊的發(fā)送暫停矢量時,ETS調(diào)度器會根據(jù)此信號暫停相應(yīng)流量類型數(shù)據(jù)的發(fā)送,并將發(fā)送暫停矢量指示的數(shù)據(jù)從ETS調(diào)度器中移除,此時生成并傳送至發(fā)送隊列選擇單元的調(diào)度信號為下一個需要被發(fā)送的流量類型數(shù)據(jù)的調(diào)度值。在本發(fā)明實施例中,ETS調(diào)度的基本算法是為低延時的流量類型(例如IPC流量)分配嚴(yán)格優(yōu)先算法,為無丟幀的流量類型(例如SAN流量)分配權(quán)重輪詢算法,為既允許丟幀又允許有延時的流量分配(例如LAN流量)輪詢算法。
[0037]發(fā)送隊列選擇單元用于選擇待發(fā)送幀的發(fā)送。具體的,發(fā)送隊列選擇單元根據(jù)發(fā)送無損以太網(wǎng)單元中的ETS調(diào)度器的計算結(jié)果在發(fā)送數(shù)據(jù)緩存單元和發(fā)送FCoE數(shù)據(jù)分段單元中選擇合適的待發(fā)送幀進(jìn)行發(fā)送,即傳送至發(fā)送幀封裝單元。同時,在每發(fā)送完一次之后,會將該發(fā)送幀類型及大小反饋給發(fā)送無損以太網(wǎng)單元,以方便ETS調(diào)度器完成下次的調(diào)度工作。
[0038]發(fā)送幀封裝單元用于封裝待發(fā)送的數(shù)據(jù)幀。具體的,當(dāng)發(fā)送幀封裝單元通過發(fā)送隊列選擇單元收到來自發(fā)送數(shù)據(jù)緩存單元的數(shù)據(jù)或發(fā)送無損以太網(wǎng)單元的數(shù)據(jù)時,會向發(fā)送描述符管理單元申請獲取其相應(yīng)的發(fā)送描述符中的幀信息。發(fā)送幀封裝單元根據(jù)其描述符的信息為待發(fā)送的數(shù)據(jù)形成合適的幀頭幀尾進(jìn)行封裝。當(dāng)發(fā)送幀封裝單元通過發(fā)送隊列選擇單元收到來自發(fā)送FCoE數(shù)據(jù)分段單元的數(shù)據(jù)時,并不會為FCoE發(fā)送數(shù)據(jù)幀形成幀頭幀尾(其他類型的幀都需要添加幀頭幀尾)。最后,發(fā)送幀封裝單元為所有待發(fā)送幀進(jìn)行CRC校驗值計算并添加CRC校驗值。發(fā)送幀封裝單元將封裝和CRC添加完成之后的待發(fā)送數(shù)據(jù)幀傳送至發(fā)送幀緩存單元。
[0039]發(fā)送描述符管理單元用于存儲和管理發(fā)送描述符。具體的,發(fā)送描述符管理單元會存儲發(fā)送描述符控制單元傳送來的不同流量類型的發(fā)送描述符,在收到發(fā)送幀封裝單元的申請后,發(fā)送描述符管理單元會將對應(yīng)的發(fā)送描述符信息傳送至發(fā)送幀封裝單元以用于完成數(shù)據(jù)的封裝。在發(fā)送幀封裝單元將發(fā)送幀傳送至發(fā)送幀緩存單元之后,發(fā)送描述符管理單元會將已經(jīng)使用過的描述符進(jìn)行標(biāo)記。當(dāng)某種流量類型的描述符使用過度,發(fā)送描述符管理單元會向發(fā)送描述符控制單元申請發(fā)送描述符的寫回,并重新申請發(fā)送描述符。
[0040]發(fā)送幀緩存單元用于緩存并發(fā)送待發(fā)送幀。具體的,發(fā)送幀緩存單元連接發(fā)送幀封裝單元和以太網(wǎng)MAC控制器,當(dāng)收到發(fā)送幀封裝單元的待發(fā)送幀時,會對待發(fā)送幀進(jìn)行緩存,并傳送至以太網(wǎng)MAC控制器進(jìn)行發(fā)送。在本發(fā)明實施例中,發(fā)送幀緩存單元可以完成1G以太網(wǎng)MAC控制器IP核和本發(fā)明IP核兩個時鐘域的匹配。
[0041]圖3所示為本發(fā)明協(xié)議加速引擎IP核接收模塊的結(jié)構(gòu)框圖,包括接收幀緩存單元、接收巾貞解析單元、接收隊列選擇單元、接收數(shù)據(jù)緩存單元、接收FCoE數(shù)據(jù)合并單元、接收無損以太網(wǎng)單元、接收描述符管理單元、傳送接收描述符的接收描述符控制單元以及接收高速數(shù)據(jù)的接收高速通道控制單元。
[0042]接收幀緩存單元用于緩存待接收幀。具體的,接收幀緩存單元連接以太網(wǎng)MAC控制器和接收幀解析單元,當(dāng)收到從以太網(wǎng)MAC控制器傳來的待接收幀時,會對待接收幀進(jìn)行緩存,并傳送至接收幀解析單元。接收幀緩存單元可以完成1G以太網(wǎng)MAC控制器IP核和本發(fā)明IP核兩個時鐘域的匹配。
[0043]接收幀解析單元用于完成接收幀的校驗、解析等操作。具體的,接收幀解析單元接收到來自接收幀緩存單元的幀,首先在接收幀解析單元內(nèi)部進(jìn)行CRC校驗,只有校驗成功的幀才會被保存并處理。接下來在接收幀解析單元內(nèi)部對接收幀的幀頭進(jìn)行解析以確定幀的類型。若是普通幀,接收幀解析單元則對其進(jìn)行流量類型的判定,然后向接收描述符管理單元申請獲取合適的接收描述符,將幀頭信息填入描述符,最后將普通幀數(shù)據(jù)傳送至接收隊列選擇單元;若是PFC幀,則直接將其傳送至接收無損以太網(wǎng)單元進(jìn)行進(jìn)一步處理;若是符合某個交換的FCoE數(shù)據(jù)幀,則將其傳送至接收FCoE數(shù)據(jù)合并單元進(jìn)行進(jìn)一步處理。
[0044]接收隊列選擇單元用于將除FCoE數(shù)據(jù)外的其它需要緩存的數(shù)據(jù)進(jìn)行分類。在本發(fā)明實施例中,其他數(shù)據(jù)是指除特定交換FCoE數(shù)據(jù)幀和PFC幀的其他所有數(shù)據(jù)。具體的,當(dāng)接收隊列選擇單元收到來自接收幀解析單元發(fā)來的數(shù)據(jù)和類型判別信號時,接收隊列選擇單元會根據(jù)類型判別信號將其他數(shù)據(jù)發(fā)送至接收數(shù)據(jù)緩存單元中相應(yīng)的子單元緩存。
[0045]接收數(shù)據(jù)緩存單元用于緩存接收隊列選擇單元傳來的普通數(shù)據(jù)。具體的,當(dāng)接收隊列選擇單元傳送來的接收隊列選擇信號和數(shù)據(jù)時,數(shù)據(jù)會自動緩存到相應(yīng)屬于不同的子單元緩存(在本發(fā)明實施例中,子單元緩存指發(fā)送數(shù)據(jù)緩存單元內(nèi)部細(xì)分的用于單根虛擬化和流量劃分的各個緩存,圖3中未示出)。當(dāng)接收數(shù)據(jù)緩存單元中數(shù)據(jù)量達(dá)到一定值時,會向接收高速通道控制單元申請將其他數(shù)據(jù)寫回到其他IP核(例如DMA等)。若接收數(shù)據(jù)緩存單元中數(shù)據(jù)量太多而剩余存儲空間不足,會生成接收門限信號以便發(fā)送模塊生成合適的PFC幀進(jìn)行發(fā)送。
[0046]接收FCoE數(shù)據(jù)合并單元用于處理合并特定的FCoE數(shù)據(jù)幀。具體的,當(dāng)收到來自接收巾貞解析單元的FCoE數(shù)據(jù)巾貞時,接收FCoE數(shù)據(jù)合并單元會解析剩余的FCoE巾貞頭信息,同時將數(shù)據(jù)中有效的數(shù)據(jù)載荷保存下來。當(dāng)下個FCoE數(shù)據(jù)幀到來時,接收FCoE數(shù)據(jù)合并單元會繼續(xù)保存有效數(shù)據(jù)載荷并按照順序?qū)⒍鄠€有效數(shù)據(jù)載荷排序并保存成為數(shù)據(jù)塊。當(dāng)數(shù)據(jù)塊達(dá)到一定大小時,接收FCoE數(shù)據(jù)合并單元會申請通過接收高速通道控制單元向其他IP核(例如DMA)傳送數(shù)據(jù)塊。
[0047]接收無損以太網(wǎng)單元用于實現(xiàn)接收模塊的無損以太網(wǎng)功能。具體的,當(dāng)收到來自接收幀解析單元的PFC數(shù)據(jù)時,接收無損以太網(wǎng)單元會解析PFC幀并生成發(fā)送暫停矢量。接收無損以太網(wǎng)單元將發(fā)送暫停矢量傳送至發(fā)送模塊的發(fā)送無損以太網(wǎng)單元中的ETS調(diào)度器,用于暫停某個特定的流量類型數(shù)據(jù)的發(fā)送調(diào)度。
[0048]接收描述符管理單元用于緩存和管理接收模塊的描述符。具體的,接收描述符管理單元用于緩存接收描述符控制單元傳送來的接收描述符(未填充),并進(jìn)行分類緩存。當(dāng)接收幀解析單元將某種流量類型數(shù)據(jù)幀的幀信息傳送來時,接收描述符管理單元會選取對應(yīng)的接收描述符進(jìn)行填充。當(dāng)已經(jīng)填充的接收描述符達(dá)到一定數(shù)量,接收描述符管理單元會向接收高速通道控制單元申請寫回這部分已填充接收描述符。
[0049]接收描述符控制單元用于預(yù)取和寫回接收描述符。具體的,當(dāng)融合網(wǎng)絡(luò)適配器CPU將用于控制接收啟動的寄存器的值傳送至本IP核時,接收過程啟動,接收描述符控制單元會獲取一定量的接收描述符然后將其傳送到接收描述符管理單元進(jìn)行緩存。當(dāng)接收描述符管理單元存儲的已填充接收描述符達(dá)到一定數(shù)量,接收描述符控制單元會將接收描述符寫回到融合網(wǎng)絡(luò)適配器CPU。本單元會涉及到兩個時鐘域的匹配:傳遞接收描述符的AXI4總線時鐘域,以及本發(fā)明IP核的時鐘域。
[0050]接收高速通道控制單元用于寫回接收數(shù)據(jù)。具體的,接收高速通道控制單元會將接收數(shù)據(jù)緩存單元中緩存的普通數(shù)據(jù)和接收FCoE數(shù)據(jù)合并單元緩存的FCoE數(shù)據(jù)塊寫回到其他IP核例如DMA控制器等。本單元涉及到兩個時鐘域的匹配:傳遞接收數(shù)據(jù)的AXIS通道時鐘域,以及本發(fā)明IP核的時鐘域。
[0051]圖4所示為本發(fā)明協(xié)議加速引擎IP核控制模塊的結(jié)構(gòu)框圖,包括寄存器配置單元和寄存器管理單元。
[0052]寄存器配置單元用于配置控制寄存器。具體的,當(dāng)融合網(wǎng)絡(luò)適配器啟動時,AXH-Lite總線會將控制寄存器的值寫入寄存器配置單元。當(dāng)有控制寄存器需要讀取時,寄存器配置單元將控制寄存器的值傳送至AXM-Lite總線。本單元會涉及到兩個時鐘域的匹配:AXI4總線時鐘域,以及本發(fā)明IP核的時鐘域。
[0053]寄存器管理單元用于管理本發(fā)明IP核內(nèi)部控制寄存器。具體的,當(dāng)控制寄存器需要配置發(fā)送/接收模塊的某個單元時,寄存器管理單元將控制寄存器的值傳送至相應(yīng)的單
J Li ο
[0054]圖5所示為本發(fā)明協(xié)議加速引擎IP核發(fā)送數(shù)據(jù)流的示意圖。首先FCoE融合網(wǎng)絡(luò)適配器CPU會控制AXI4總線寫入發(fā)送描述符到發(fā)送描述符控制單元。接收模塊會傳送至發(fā)送模塊兩個信號:接收門限信號和發(fā)送暫停矢量。當(dāng)有數(shù)據(jù)進(jìn)行發(fā)送時,從AXM-Stream高速數(shù)據(jù)通道傳送來的待發(fā)送數(shù)據(jù)通過高速通道控制單元傳送到發(fā)送數(shù)據(jù)緩存單元或者發(fā)送FCoE數(shù)據(jù)分段單元。如果是其他數(shù)據(jù),則其他數(shù)據(jù)進(jìn)入發(fā)送數(shù)據(jù)緩存單元進(jìn)行分類緩存;如果是FCoE數(shù)據(jù)塊,則進(jìn)入發(fā)送FCoE數(shù)據(jù)分段單元進(jìn)行分段封裝。然后兩種數(shù)據(jù)進(jìn)入發(fā)送隊列選擇單元進(jìn)行發(fā)送選擇。發(fā)送無損以太網(wǎng)單元會根據(jù)接收門限信號和發(fā)送暫停矢量進(jìn)行PFC成幀和ETS調(diào)度,以及結(jié)合調(diào)度算法產(chǎn)生調(diào)度信號發(fā)送給發(fā)送隊列選擇單元。發(fā)送隊列選擇單元根據(jù)該調(diào)度信號進(jìn)行發(fā)送選擇。經(jīng)過發(fā)送選擇處理后的數(shù)據(jù)進(jìn)入發(fā)送幀封裝單元進(jìn)行成幀處理和封裝,此時會需要發(fā)送描述符進(jìn)行幀信息的添加和CRC添加。最后將成幀后的發(fā)送幀發(fā)送給發(fā)送幀緩存單元,等待發(fā)送。
[0055]圖6所示為本發(fā)明協(xié)議加速引擎IP核接收數(shù)據(jù)流的示意圖。首先在啟動數(shù)據(jù)接收時,AXI4總線會傳送至接收描述符控制單元一定量不同流量類型的未填充的接收描述符。當(dāng)有幀需要接收時,接收幀會進(jìn)入接收幀緩存單元。然后將接收幀傳送至接收幀解析單元進(jìn)行校驗和解析,將幀信息傳送至接收描述符管理單元進(jìn)行描述符的填充。經(jīng)過解析的幀去掉幀頭幀尾(稱為數(shù)據(jù)),其他數(shù)據(jù)通過接收隊列選擇單元的接收選擇功能進(jìn)入接收數(shù)據(jù)緩存單元進(jìn)行分類緩存。FCoE數(shù)據(jù)進(jìn)入FCoE接收數(shù)據(jù)合并單元進(jìn)行數(shù)據(jù)的合并和緩存。PFC數(shù)據(jù)進(jìn)入接收無損以太網(wǎng)單元進(jìn)行幀的解析以生成發(fā)送暫停矢量。最后經(jīng)過緩存的FCoE數(shù)據(jù)塊和其他數(shù)據(jù)通過接收高速通道控制單元發(fā)送給AXM-Stream通道。發(fā)送暫停矢量和接收門限信號發(fā)送給發(fā)送模塊。而填充完成的接收描述符經(jīng)由AXI4總線寫回。
[0056]本發(fā)明提供的IP核可以由FCoE融合網(wǎng)絡(luò)適配器CPU進(jìn)行控制,專門針對以太網(wǎng)光纖通道領(lǐng)域中硬件處理FCoE數(shù)據(jù)幀的需要,采用全雙工工作模式,工作實時高效,數(shù)據(jù)吞吐量大,傳輸速率高,并且能夠?qū)崿F(xiàn)無損傳輸和支持虛擬化。
[0057]本領(lǐng)域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,其特征在于,包括發(fā)送模塊、接收模塊以及控制模塊,其中: 所述發(fā)送模塊包括:發(fā)送描述符控制單元,用于傳輸發(fā)送描述符;發(fā)送高速通道控制單元,用于接收待發(fā)送數(shù)據(jù),其中所述待發(fā)送數(shù)據(jù)包括普通數(shù)據(jù)和FCoE數(shù)據(jù)塊;發(fā)送數(shù)據(jù)緩存單元,用于緩存待發(fā)送的所述普通數(shù)據(jù);發(fā)送FCoE數(shù)據(jù)分段單元,用于分割和封裝待發(fā)送的所述FCoE數(shù)據(jù)塊形成FCoE待發(fā)送數(shù)據(jù)幀;發(fā)送無損以太網(wǎng)單元,用于完成PFC幀生成和ETS調(diào)度;發(fā)送隊列選擇單元,用于根據(jù)所述ETS調(diào)度選擇發(fā)送所述普通數(shù)據(jù)及所述FCoE待發(fā)送數(shù)據(jù)幀;發(fā)送數(shù)據(jù)封裝單元,用于根據(jù)所述發(fā)送描述符封裝待發(fā)送的所述普通數(shù)據(jù)和所述PFC幀,并對封裝后的數(shù)據(jù)幀和所述FCoE待發(fā)送數(shù)據(jù)幀進(jìn)行CRC添加形成待發(fā)送幀;發(fā)送描述符管理單元用于存儲和管理所述發(fā)送描述符;以及發(fā)送幀緩存單元,用于緩存并發(fā)送所述待發(fā)送幀; 所述接收模塊包括:接收幀緩存單元,用于緩存待接收幀;接收幀解析單元,用于完成對所述待接收幀的校驗、解析以形成普通數(shù)據(jù)、類型判別信號、PFC幀和FCoE數(shù)據(jù)幀;接收隊列選擇單元,用于根據(jù)所述接收幀解析單元生成的所述類型判別信號選擇接收解析后的所述普通數(shù)據(jù);接收數(shù)據(jù)緩存單元,用于緩存所述普通數(shù)據(jù);接收FCoE數(shù)據(jù)合并單元,用于合并和緩存所述FCoE數(shù)據(jù)幀形成FCoE數(shù)據(jù)塊;接收無損以太網(wǎng)單元,用于解析PFC幀和生成發(fā)送暫停矢量,以暫停特定流量類型數(shù)據(jù)的發(fā)送調(diào)度;接收描述符管理單元,用于緩存和填充接收描述符;接收描述符控制單元,用于預(yù)取和寫回所述接收描述符;以及接收高速通道控制單元,用于寫回所述接收數(shù)據(jù)緩存單元緩存的普通數(shù)據(jù)和所述接收FCoE數(shù)據(jù)合并單元緩存的FCoE數(shù)據(jù)塊;以及 所述控制模塊包括:寄存器配置單元,用于配置應(yīng)用于所述FCoE協(xié)議加速弓I擎IP核的控制寄存器,以及寄存器管理單元,用于管理所述控制寄存器,當(dāng)所述控制寄存器需要配置所述發(fā)送模塊或所述接收模塊的某個單元時,所述寄存器管理單元將所述控制寄存器的值傳送至相應(yīng)單元。
2.如權(quán)利要求1所述的基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,其特征在于,所述FCoE協(xié)議加速引擎IP核建立在AXI4總線、AXI4_Lite總線和AXI4_Stream高速通道基礎(chǔ)之上,由FCoE網(wǎng)絡(luò)適配器CPU進(jìn)行控制。
3.如權(quán)利要求1或2所述的基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,其特征在于,所述發(fā)送模塊各單元具體用于: 所述發(fā)送描述符控制單元用于傳輸所述發(fā)送描述符,當(dāng)需要發(fā)送數(shù)據(jù)時,F(xiàn)CoE網(wǎng)絡(luò)適配器CPU會先將所述發(fā)送描述符傳送至所述發(fā)送描述符控制單元,所述發(fā)送描述符控制單元將不同流量類型數(shù)據(jù)的發(fā)送描述符傳送至所述發(fā)送描述符管理單元進(jìn)行分類存儲;所述發(fā)送高速通道控制單元用于接收所述待發(fā)送數(shù)據(jù),AXH-Stream高速通道將需要發(fā)送的數(shù)據(jù)發(fā)送至所述發(fā)送高速通道控制單元,所述發(fā)送高速通道控制單元根據(jù)所述待發(fā)送數(shù)據(jù)的流量類型,將所述普通數(shù)據(jù)和功能流量類型指示信號傳送給所述發(fā)送數(shù)據(jù)緩存單元,將所述FCoE數(shù)據(jù)塊傳送給所述發(fā)送FCoE數(shù)據(jù)分段單元; 所述發(fā)送數(shù)據(jù)緩存單元用于緩存待發(fā)送的所述普通數(shù)據(jù),所述發(fā)送數(shù)據(jù)緩存單元根據(jù)所述功能流量類型指示信號將屬于不同的流量類型的普通數(shù)據(jù)放到不同的子單元緩存,以實現(xiàn)單根虛擬化和流量劃分; 所述發(fā)送FCoE數(shù)據(jù)分段單元專用于合并和緩存所述FCoE數(shù)據(jù)幀形成所述FCoE數(shù)據(jù)塊,所述發(fā)送FCoE數(shù)據(jù)分段單元根據(jù)以太網(wǎng)協(xié)議最大幀的要求將所述FCoE數(shù)據(jù)塊切割成合適大小,并按照順序為每一段分割數(shù)據(jù)塊添加合適的幀頭幀尾形成所述FCoE數(shù)據(jù)幀,并在收到所述發(fā)送隊列選擇單元發(fā)來的隊列選擇信號時將所述FCoE數(shù)據(jù)幀傳送至所述發(fā)送隊列選擇單元; 所述發(fā)送無損以太網(wǎng)單元用于完成所述PFC幀的生成和所述ETS調(diào)度,當(dāng)所述發(fā)送無損以太網(wǎng)單元收到來自所述接收模塊的接收門限信號時,會根據(jù)所述接收門限信號為PFC數(shù)據(jù)生成合適的定時值,并添加PFC幀頭形成所述PFC幀傳送至所述發(fā)送幀封裝單元部分;當(dāng)所述發(fā)送無損以太網(wǎng)單元收到來自所述接收模塊的發(fā)送暫停矢量時,會根據(jù)所述發(fā)送暫停矢量暫停相應(yīng)流量類型數(shù)據(jù)的發(fā)送,并將所述發(fā)送暫停矢量指示的數(shù)據(jù)從ETS調(diào)度器中移除; 所述發(fā)送隊列選擇單元用于根據(jù)所述ETS調(diào)度選擇發(fā)送所述普通數(shù)據(jù)及所述FCoE待發(fā)送數(shù)據(jù)幀,在每次發(fā)送完成后,會將所發(fā)送的數(shù)據(jù)類型及大小反饋給所述發(fā)送無損以太網(wǎng)單元; 所述發(fā)送幀封裝單元用于根據(jù)所述發(fā)送描述符封裝待發(fā)送的所述普通數(shù)據(jù)和所述PFC幀,并對封裝后的數(shù)據(jù)幀和所述FCoE待發(fā)送數(shù)據(jù)幀進(jìn)行CRC添加形成待發(fā)送幀,當(dāng)所述發(fā)送幀封裝單元收到待發(fā)送的所述普通數(shù)據(jù)和所述PFC幀時,向所述發(fā)送描述符管理單元申請獲取其相應(yīng)的發(fā)送描述符中的幀信息; 所述發(fā)送描述符管理單元用于存儲和管理所述發(fā)送描述符,在收到所述發(fā)送幀封裝單元的申請后,所述發(fā)送描述符管理單元會將對應(yīng)的發(fā)送描述符信息傳送至所述發(fā)送幀封裝單元以完成數(shù)據(jù)的封裝; 所述發(fā)送幀緩存單元用于緩存并發(fā)送所述待發(fā)送幀,當(dāng)收到所述發(fā)送幀封裝單元的所述待發(fā)送幀時,會對所述待發(fā)送幀進(jìn)行緩存,并傳送至以太網(wǎng)MAC控制器進(jìn)行發(fā)送。
4.如權(quán)利要求3所述的基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,其特征在于,所述發(fā)送描述符控制單元完成兩個時鐘域的匹配:AXI4總線時鐘域和所述FCoE協(xié)議加速引擎IP核的時鐘域;所述發(fā)送高速通道控制單元完成兩個時鐘域的匹配:AXI4-Stream通道的時鐘域和所述FCoE協(xié)議加速引擎IP核的時鐘域;所述發(fā)送幀緩存單元完成兩個時鐘域的匹配:以太網(wǎng)MAC控制器的時鐘域和所述FCoE協(xié)議加速引擎IP核的時鐘域。
5.如權(quán)利要求1或2所述的基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,其特征在于,所述接收模塊各單元具體用于: 所述接收幀緩存單元用于緩存所述待接收幀,當(dāng)收到從以太網(wǎng)MAC控制器傳來的所述待接收幀時,會對所述待接收幀進(jìn)行緩存并傳送至所述接收幀解析單元; 所述接收幀解析單元用于完成對所述待接收幀的校驗、解析以形成普通數(shù)據(jù)、類型判別信號、PFC幀和FCoE數(shù)據(jù)幀,首先在所述接收幀解析單元內(nèi)部對所述待接收幀進(jìn)行CRC校驗,再對校驗成功的待接收幀的幀頭進(jìn)行解析以確定其類型,若是普通幀,則對其進(jìn)行流量類型的判定,然后向所述接收描述符管理單元申請獲取對應(yīng)的接收描述符,將幀頭信息填入對應(yīng)的接收描述符形成普通數(shù)據(jù)后傳送至所述接收隊列選擇單元;若是PFC幀,則將其傳送至所述接收無損以太網(wǎng)單元;若是FCoE數(shù)據(jù)幀,則將其傳送至所述接收FCoE數(shù)據(jù)合并單元; 所述接收隊列選擇單元用于根據(jù)所述接收幀解析單元生成的所述類型判別信號選擇接收解析后的所述普通數(shù)據(jù),當(dāng)收到來自所述接收幀解析單元發(fā)來的普通數(shù)據(jù)和類型判別信號時,所述接收隊列選擇單元會根據(jù)所述類型判別信號將所述普通數(shù)據(jù)發(fā)送至所述接收數(shù)據(jù)緩存單元中相應(yīng)的子單元緩存; 所述接收數(shù)據(jù)緩存單元用于緩存所述普通數(shù)據(jù),當(dāng)所述接收數(shù)據(jù)緩存單元中數(shù)據(jù)量達(dá)到一定值時,會向所述接收高速通道控制單元申請將其數(shù)據(jù)寫回到其他IP核,若所述接收數(shù)據(jù)緩存單元中數(shù)據(jù)量太多而剩余存儲空間不足時,生成接收門限信號發(fā)送至所述發(fā)送模塊以生成合適的PFC幀進(jìn)行發(fā)送; 所述接收FCoE數(shù)據(jù)合并單元用于合并和緩存所述FCoE數(shù)據(jù)幀形成所述FCoE數(shù)據(jù)塊,當(dāng)收到來自所述接收巾貞解析單元的所述FCoE數(shù)據(jù)巾貞時,所述接收FCoE數(shù)據(jù)合并單元會解析剩余的FCoE幀頭信息,同時將其中有效的數(shù)據(jù)載荷保存下來,當(dāng)下個FCoE數(shù)據(jù)幀到來時,所述接收FCoE數(shù)據(jù)合并單元會繼續(xù)保存其有效數(shù)據(jù)載荷并按照順序?qū)⒍鄠€有效數(shù)據(jù)載荷排序并保存形成所述FCoE數(shù)據(jù)塊; 所述接收無損以太網(wǎng)單元用于解析PFC幀和生成所述發(fā)送暫停矢量,將所述發(fā)送暫停矢量傳送至所述發(fā)送模塊的所述發(fā)送無損以太網(wǎng)單元中的ETS調(diào)度器,以暫停特定流量類型數(shù)據(jù)的發(fā)送調(diào)度; 所述接收描述符管理單元用于緩存和填充接收描述符,當(dāng)所述接收幀解析單元將某種流量類型數(shù)據(jù)幀的幀信息傳送來時,所述接收描述符管理單元會選取對應(yīng)的接收描述符進(jìn)行填充,當(dāng)已經(jīng)填充的接收描述符達(dá)到一定數(shù)量時,所述接收描述符管理單元會向所述接收高速通道控制單元申請寫回這部分已填充的接收描述符; 所述接收描述符控制單元用于預(yù)取和寫回所述接收描述符,當(dāng)所述接收描述符管理單元存儲的已填充接收描述符達(dá)到一定數(shù)量時,所述接收描述符控制單元會將已填充的接收描述符接收描述符寫回到融合網(wǎng)絡(luò)適配器CPU ; 所述接收高速通道控制單元用于寫回所述接收數(shù)據(jù)緩存單元緩存的普通數(shù)據(jù)和所述接收FCoE數(shù)據(jù)合并單元緩存的FCoE數(shù)據(jù)塊,并寫回到其他IP核。
6.如權(quán)利要求5所述的基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,其特征在于,所述接收描述符控制單元完成兩個時鐘域的匹配:AXI4總線時鐘域和所述FCoE協(xié)議加速引擎IP核的時鐘域;所述接收高速通道控制單元完成兩個時鐘域的匹配:AXI4-Stream通道的時鐘域和所述FCoE協(xié)議加速引擎IP核的時鐘域;所述接收幀緩存單元完成兩個時鐘域的匹配:以太網(wǎng)MAC控制器的時鐘域和所述FCoE協(xié)議加速引擎IP核的時鐘域。
7.如權(quán)利要求1或2所述的基于AXI4總線架構(gòu)的FCoE協(xié)議加速引擎IP核,其特征在于,所述寄存器配置單元完成兩個時鐘域的匹配:AXI4總線時鐘域和所述FCoE協(xié)議加速引擎IP核的時鐘域。
【文檔編號】H04B10/278GK104378161SQ201410565988
【公開日】2015年2月25日 申請日期:2014年10月22日 優(yōu)先權(quán)日:2014年10月22日
【發(fā)明者】周文利, 孫嵩松, 肖亭, 馮猛, 閔文斌 申請人:華中科技大學(xué)