本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種USXGMII 多通道 IPG精確補(bǔ)償?shù)姆椒跋到y(tǒng)。
背景技術(shù):
USXGMII是由CISCO公司定義的業(yè)界通用串行XG接口協(xié)議標(biāo)準(zhǔn)。該協(xié)議標(biāo)準(zhǔn)又分為Single和Multiport兩種模式標(biāo)準(zhǔn)。USXGMII-Multiport標(biāo)準(zhǔn)定義只有一條物理鏈路,其速率可為5.15625Gbps 、10.3125Gbps、20.625Gbps等。而對(duì)于每條物理鏈路,其具有多條邏輯鏈路,每條邏輯鏈路對(duì)應(yīng)的速率根據(jù)物理鏈路的工作速率不同,可相應(yīng)發(fā)生變化,例如:是10G/5G/2.5G/1G/100M/10Mbps;各條邏輯鏈路是完全獨(dú)立的,且其是符合IEEE802.3定義的XGBASE-R和XGMII協(xié)議標(biāo)準(zhǔn)的;USXGMII-Multiport模式下, PCS的發(fā)送方向需要以固定的數(shù)據(jù)間隔插入AM數(shù)據(jù),PCS的接收端根據(jù)AM數(shù)據(jù)來進(jìn)行數(shù)據(jù)的同步,以及將一條物理鏈路的數(shù)據(jù)分發(fā)到各個(gè)通道上;由于AM數(shù)據(jù)的插入,額外的增加了數(shù)據(jù)帶寬,而物理鏈路的帶寬是保持不變的,為了達(dá)到帶寬的平衡,現(xiàn)有技術(shù)中,數(shù)據(jù)傳輸過程中,隨機(jī)對(duì)各個(gè)邏輯鏈路上的數(shù)據(jù)進(jìn)行刪除,以使速率匹配,然而,該種刪除方式,導(dǎo)致數(shù)據(jù)丟失,影響系統(tǒng)性能。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種USXGMII 多通道 IPG精確補(bǔ)償?shù)姆椒跋到y(tǒng)。
為實(shí)現(xiàn)上述目的之一,本發(fā)明一實(shí)施方式的USXGMII 多通道 IPG精確補(bǔ)償?shù)姆椒?,所述方法包括:獲取物理鏈路的工作速率、對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量、以及每條邏輯通道對(duì)應(yīng)的有效傳輸速率;
數(shù)據(jù)傳輸過程中,實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道插入的AM數(shù)據(jù)的數(shù)量,以及監(jiān)測(cè)間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度;
根據(jù)插入的AM數(shù)據(jù)的總長度獲取對(duì)應(yīng)每條邏輯通道插入一組AM數(shù)據(jù)的長度;
根據(jù)所述物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量、每條邏輯通道對(duì)應(yīng)的有效傳輸速率,以及每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入兩組AM數(shù)據(jù)之間,其對(duì)應(yīng)刪除的IPG單元的長度;
對(duì)應(yīng)刪除的IPG單元的長度,插入的AM數(shù)據(jù)的數(shù)量,獲取每條邏輯通道對(duì)應(yīng)的數(shù)據(jù)刪除間隔,以及在所述數(shù)據(jù)刪除間隔之間需要?jiǎng)h除的IPG數(shù)據(jù)的長度。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),“數(shù)據(jù)傳輸過程中,實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道插入的AM數(shù)據(jù)的數(shù)量”具體包括:
為每條邏輯通道分別配置AM數(shù)據(jù)插入數(shù)量寄存器;
實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道的AM有效信號(hào)標(biāo)志位;
當(dāng)前邏輯通道的AM有效信號(hào)標(biāo)志位為使能時(shí),則對(duì)其對(duì)應(yīng)的插入數(shù)量寄存器數(shù)值加1;
當(dāng)前所述插入數(shù)量寄存器的數(shù)值等于其對(duì)應(yīng)邏輯通道的數(shù)據(jù)刪除間隔時(shí),將當(dāng)前邏輯通道對(duì)應(yīng)的數(shù)據(jù)插入數(shù)量寄存器的數(shù)值清零。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),“數(shù)據(jù)傳輸過程中,實(shí)時(shí)監(jiān)測(cè)間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度,并根據(jù)插入的AM數(shù)據(jù)的總長度獲取對(duì)應(yīng)每條邏輯通道插入一組AM數(shù)據(jù)的長度”具體包括:
每條邏輯通道插入一組AM數(shù)據(jù)的長度均等于間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),“根據(jù)所述物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量、每條邏輯通道對(duì)應(yīng)的有效傳輸速率,以及每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入兩組AM數(shù)據(jù)之間,其對(duì)應(yīng)刪除的IPG單元的長度”具體包括:
根據(jù)物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量獲取每條邏輯通道對(duì)應(yīng)的承載速率;
每條邏輯通道對(duì)應(yīng)的承載速率均等于物理鏈路的工作速率/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量;
根據(jù)每條邏輯通道對(duì)應(yīng)的有效傳輸速率、承載速率、每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度;
對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度等于每條邏輯通道插入一組AM數(shù)據(jù)的長度/(每條邏輯通道對(duì)應(yīng)的承載速率/每條邏輯通道對(duì)應(yīng)的有效傳輸速率)。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),“根據(jù)每條邏輯通道對(duì)應(yīng)刪除的IPG單元的長度,插入的AM數(shù)據(jù)的數(shù)量,獲取每條邏輯通道對(duì)應(yīng)的數(shù)據(jù)刪除間隔,以及在所述數(shù)據(jù)刪除間隔之間需要?jiǎng)h除的IPG數(shù)據(jù)的長度”具體包括:
判斷當(dāng)前邏輯通道對(duì)應(yīng)的所述IPG單元的長度是否為整數(shù),若是,
則將所述IPG單元的長度作為當(dāng)前邏輯通道所對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為2個(gè)AM有效信號(hào);
若否,將所述IPG單元的長度向2n取整,并將取整后的結(jié)果作為當(dāng)前邏輯通道對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為X個(gè)AM有效信號(hào),X=2n/IPG單元的長度。
為實(shí)現(xiàn)上述目的之一,本發(fā)明一實(shí)施方式的USXGMII 多通道 IPG精確補(bǔ)償?shù)南到y(tǒng),所述系統(tǒng)包括:數(shù)據(jù)獲取模塊,用于獲取物理鏈路的工作速率、對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量、以及每條邏輯通道對(duì)應(yīng)的有效傳輸速率;
數(shù)據(jù)傳輸過程中,實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道插入的AM數(shù)據(jù)的數(shù)量,以及監(jiān)測(cè)間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度;
數(shù)據(jù)處理模塊,用于根據(jù)插入的AM數(shù)據(jù)的總長度獲取對(duì)應(yīng)每條邏輯通道插入一組AM數(shù)據(jù)的長度;
根據(jù)所述物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量、每條邏輯通道對(duì)應(yīng)的有效傳輸速率,以及每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度;
根據(jù)每條邏輯通道對(duì)應(yīng)刪除的IPG單元的長度,插入的AM數(shù)據(jù)的數(shù)量,獲取每條邏輯通道對(duì)應(yīng)的數(shù)據(jù)刪除間隔,以及在所述數(shù)據(jù)刪除間隔之間需要?jiǎng)h除的IPG數(shù)據(jù)的長度。作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述系統(tǒng)還包括:所述系統(tǒng)還包括:數(shù)據(jù)存儲(chǔ)模塊,所述數(shù)據(jù)存儲(chǔ)模塊包括:為每條邏輯通道分別配置的AM數(shù)據(jù)插入數(shù)量寄存器;
所述數(shù)據(jù)處理模塊還用于:實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道的AM有效信號(hào)標(biāo)志位;
當(dāng)前邏輯通道的AM有效信號(hào)標(biāo)志位為使能時(shí),則對(duì)其對(duì)應(yīng)的插入數(shù)量寄存器數(shù)值加1;
當(dāng)前所述插入數(shù)量寄存器的數(shù)值等于其對(duì)應(yīng)邏輯通道的數(shù)據(jù)刪除間隔時(shí),將當(dāng)前邏輯通道對(duì)應(yīng)的數(shù)據(jù)插入數(shù)量寄存器的數(shù)值清零。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述數(shù)據(jù)處理模塊具體用于:每條邏輯通道插入一組AM數(shù)據(jù)的長度均等于間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述數(shù)據(jù)處理模塊具體用于:所述數(shù)據(jù)處理模塊具體用于:根據(jù)物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量獲取每條邏輯通道對(duì)應(yīng)的承載速率;
每條邏輯通道對(duì)應(yīng)的承載速率均等于物理鏈路的工作速率/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量;
根據(jù)每條邏輯通道對(duì)應(yīng)的有效傳輸速率、承載速率、每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度;
對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度等于每條邏輯通道插入一組AM數(shù)據(jù)的長度/(每條邏輯通道對(duì)應(yīng)的承載速率/每條邏輯通道對(duì)應(yīng)的有效傳輸速率)。
作為本發(fā)明一實(shí)施方式的進(jìn)一步改進(jìn),所述數(shù)據(jù)處理模塊具體用于:判斷當(dāng)前邏輯通道對(duì)應(yīng)的所述IPG單元的長度是否為整數(shù),若是,
則將所述IPG單元的長度作為當(dāng)前邏輯通道所對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為2個(gè)AM有效信號(hào);
若否,將所述IPG單元的長度向2n取整,并將取整后的結(jié)果作為當(dāng)前邏輯通道對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為X個(gè)AM有效信號(hào),X=2n/IPG單元的長度。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明的USXGMII 多通道 IPG精確補(bǔ)償?shù)姆椒跋到y(tǒng),根據(jù)各個(gè)邏輯通道的工作速率,插入的AM數(shù)據(jù)的長度,自適應(yīng)匹配獲取對(duì)應(yīng)當(dāng)前邏輯通道的數(shù)據(jù)刪除間隔及需要?jiǎng)h除的IPG數(shù)據(jù)的長度,進(jìn)而使數(shù)據(jù)的傳輸速率與邏輯通道的承載速率精確匹配,滿足系統(tǒng)的性能要求,提高網(wǎng)絡(luò)芯片的穩(wěn)定性和可靠性。
附圖說明
圖1是本發(fā)明一實(shí)施方式中USXGMII 多通道 IPG精確補(bǔ)償?shù)姆椒ǖ牧鞒淌疽鈭D;
圖2是本發(fā)明一實(shí)施方式中USXGMII 多通道 IPG精確補(bǔ)償?shù)南到y(tǒng)的模塊示意圖;
圖3是本發(fā)明一具體示例的10G-QXGMII模式的整體實(shí)現(xiàn)架構(gòu)圖。
具體實(shí)施方式
以下將結(jié)合附圖所示的具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)描述。但這些實(shí)施方式并不限制本發(fā)明,本領(lǐng)域的普通技術(shù)人員根據(jù)這些實(shí)施方式所做出的結(jié)構(gòu)、方法、或功能上的變換均包含在本發(fā)明的保護(hù)范圍內(nèi)。
如圖1所示,本發(fā)明一實(shí)施方式中,USXGMII 多通道 IPG精確補(bǔ)償?shù)姆椒?,所述方法包括?/p>
S1、獲取物理鏈路的工作速率、對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量、以及每條邏輯通道對(duì)應(yīng)的有效傳輸速率;
數(shù)據(jù)傳輸過程中,實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道插入的AM數(shù)據(jù)的數(shù)量,以及監(jiān)測(cè)間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度;
進(jìn)一步的,所述方法還包括:
S2、根據(jù)插入的AM數(shù)據(jù)的總長度獲取對(duì)應(yīng)每條邏輯通道插入一組AM數(shù)據(jù)的長度;
根據(jù)所述物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量、每條邏輯通道對(duì)應(yīng)的有效傳輸速率,以及每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入兩組AM數(shù)據(jù)之間,其對(duì)應(yīng)刪除的IPG單元的長度。
本發(fā)明一具體實(shí)施方式中,為每條邏輯通道分別配置AM數(shù)據(jù)插入數(shù)量寄存器;
實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道的AM有效信號(hào)標(biāo)志位;
當(dāng)前邏輯通道的AM有效信號(hào)標(biāo)志位為使能時(shí),則對(duì)其對(duì)應(yīng)的插入數(shù)量寄存器數(shù)值加1。
每條邏輯通道插入一組AM數(shù)據(jù)的長度均等于間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量。
本發(fā)明一優(yōu)選實(shí)施方式中,所述步驟S2中“根據(jù)所述物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量、每條邏輯通道對(duì)應(yīng)的有效傳輸速率,以及每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度”具體包括:
根據(jù)物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量獲取每條邏輯通道對(duì)應(yīng)的承載速率;
每條邏輯通道對(duì)應(yīng)的承載速率均等于物理鏈路的工作速率/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量;
根據(jù)每條邏輯通道對(duì)應(yīng)的有效傳輸速率、承載速率、每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入兩組AM數(shù)據(jù)之間,其對(duì)應(yīng)刪除的IPG單元的長度;
對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度等于每條邏輯通道插入一組AM數(shù)據(jù)的長度/(每條邏輯通道對(duì)應(yīng)的承載速率/每條邏輯通道對(duì)應(yīng)的有效傳輸速率)。
為了方便理解,以下將描述以具體示例做詳細(xì)說明。
結(jié)合圖3所示,USXGMII-Multiport有多種模式,本發(fā)明以協(xié)議標(biāo)準(zhǔn)中定義的10G-QXGMII模式為例,進(jìn)行本發(fā)明技術(shù)方案的論述;該模式下,一條物理鏈路工作速率為10.3125G,簡(jiǎn)化為10G,對(duì)應(yīng)該條物理鏈路分發(fā)4條邏輯通道,間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)為4個(gè)66位的AM數(shù)據(jù),即AM數(shù)據(jù)的總長度為4*8=32字節(jié),4條邏輯通道對(duì)應(yīng)的有效傳輸速率依次為:邏輯通道0:2.5G,邏輯通道1:1G,邏輯通道2:100M,邏輯通道3:10M。
每條邏輯通道上均相應(yīng)設(shè)置AM有效信號(hào)標(biāo)志位及AM數(shù)據(jù)插入數(shù)量寄存器。對(duì)于任一個(gè)邏輯通道,AM有效信號(hào)標(biāo)志位通常具有兩個(gè)狀態(tài),使能和非使能狀態(tài),本具體示例中,以二進(jìn)制數(shù)字“0”表示非使能,以二進(jìn)制數(shù)字“1”表示為使能;當(dāng)對(duì)應(yīng)的邏輯通道有AM數(shù)據(jù)插入時(shí),其相應(yīng)的AM有效信號(hào)標(biāo)志位會(huì)從“0”變?yōu)椤?”,其余數(shù)據(jù)在對(duì)應(yīng)的邏輯通道上傳輸時(shí),其對(duì)應(yīng)的AM有效信號(hào)標(biāo)志位時(shí)鐘保持“0”的狀態(tài),在此不做詳細(xì)贅述。
對(duì)于任一個(gè)邏輯通道,當(dāng)其對(duì)應(yīng)的AM有效信號(hào)標(biāo)志位使能時(shí),AM數(shù)據(jù)插入數(shù)量寄存器的數(shù)值相應(yīng)加1;
該示例中,每條邏輯通道插入一組AM數(shù)據(jù)的長度均等于32字節(jié)/4=8字節(jié)。每條邏輯通道對(duì)應(yīng)的承載速率均等于10G/4=2.5G,則插入一組AM數(shù)據(jù)時(shí),對(duì)于邏輯通道0,其對(duì)應(yīng)刪除的IPG單元的長度為8字節(jié)/(2.5G/2.5G)=8字節(jié);對(duì)于邏輯通道1,其對(duì)應(yīng)刪除的IPG單元的長度為8字節(jié)/(2.5G/1G)=3.2字節(jié);對(duì)于邏輯通道0,其對(duì)應(yīng)刪除的IPG單元的長度為8字節(jié)/(2.5G/100M)=0.32字節(jié);對(duì)于邏輯通道0,其對(duì)應(yīng)刪除的IPG單元的長度為8字節(jié)/(2.5G/10M)=0.032字節(jié)。
數(shù)據(jù)進(jìn)入該10G-QXGMII架構(gòu)后,在發(fā)送方向上,對(duì)應(yīng)各個(gè)邏輯通道,通過發(fā)送單元10接收的數(shù)據(jù),由于邏輯通道0的有效傳輸速率等于承載速率,如此,對(duì)應(yīng)邏輯通道0,不需要對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行復(fù)制,直接將接收的數(shù)據(jù)經(jīng)通道0對(duì)應(yīng)的速率匹配單元20轉(zhuǎn)發(fā),而通過邏輯通道1、邏輯通道2、邏輯通道3接收的數(shù)據(jù),由于其有效傳輸速率小于其承載速率,因此,在速率匹配單元20中需要對(duì)數(shù)據(jù)進(jìn)行復(fù)制以進(jìn)行速率匹配后再進(jìn)行轉(zhuǎn)發(fā);進(jìn)一步的,經(jīng)過速率匹配單元20后的數(shù)據(jù)進(jìn)入PCS單元30進(jìn)行64/66位編碼操作后,將按照交替的方式通過通道選擇器40選擇到同一條物理鏈路;進(jìn)一步的,在4條邏輯通道的數(shù)據(jù)被選擇到一條物理鏈路上之后,會(huì)對(duì)這一條物理鏈路的數(shù)據(jù)在擾碼單元50中進(jìn)行擾碼操作,以保證信號(hào)在物理鏈路上的信號(hào)傳輸質(zhì)量。在進(jìn)行擾碼操作之后的數(shù)據(jù),會(huì)在AM插入單元60中,每隔一個(gè)固定的數(shù)據(jù)間隔插入4個(gè)66位的AM數(shù)據(jù),經(jīng)過AM插入單元60后的數(shù)據(jù)在串并轉(zhuǎn)換單元70中進(jìn)行并行數(shù)據(jù)到串行數(shù)據(jù)的轉(zhuǎn)換,并在一條物理鏈路上進(jìn)行傳輸。
在插入AM數(shù)據(jù)的過程中,正在鏈路上傳輸?shù)臄?shù)據(jù)會(huì)被停止傳輸。與此同時(shí),AM插入單元60將插入信息發(fā)送至速率匹配單元20,速率匹配單元20根據(jù)插入AM數(shù)據(jù)的位置,更改對(duì)應(yīng)邏輯通道上的AM有效信號(hào)標(biāo)志位,進(jìn)而調(diào)整AM數(shù)據(jù)插入數(shù)量寄存器的數(shù)值,以進(jìn)一步獲得各個(gè)邏輯通道對(duì)應(yīng)刪除的IPG單元的長度。
進(jìn)一步的,所述方法還包括:
S3、根據(jù)每條邏輯通道對(duì)應(yīng)刪除的IPG單元的長度,插入的AM數(shù)據(jù)的數(shù)量,獲取每條邏輯通道對(duì)應(yīng)的數(shù)據(jù)刪除間隔,以及在所述數(shù)據(jù)刪除間隔之間需要?jiǎng)h除的IPG數(shù)據(jù)的長度。
本發(fā)明具體實(shí)現(xiàn)過程中,獲得的IPG單元的長度可能為整數(shù)字節(jié),也可能為小數(shù)字節(jié),如此,在本發(fā)明一優(yōu)選實(shí)施方式中,所述步驟S3具體包括:
判斷當(dāng)前邏輯通道對(duì)應(yīng)的所述IPG單元的長度是否為整數(shù),若是,
則將所述IPG單元的長度作為當(dāng)前邏輯通道所對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為2個(gè)AM有效信號(hào);
若否,將所述IPG單元的長度向2n取整,并將取整后的結(jié)果作為當(dāng)前邏輯通道對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為X個(gè)AM有效信號(hào),X=2n/IPG單元的長度。
進(jìn)一步的,本發(fā)明的具體應(yīng)用中,所述方法還包括:
S4、在數(shù)據(jù)復(fù)制之前,在對(duì)應(yīng)數(shù)據(jù)刪除間隔內(nèi),按照當(dāng)前邏輯通道對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度均勻刪除數(shù)據(jù)包之間的IPG;并在當(dāng)前所述插入數(shù)量寄存器的數(shù)值等于其對(duì)應(yīng)邏輯通道的數(shù)據(jù)刪除間隔時(shí),將當(dāng)前邏輯通道對(duì)應(yīng)的數(shù)據(jù)插入數(shù)量寄存器的數(shù)值清零。
需要說明的是,本發(fā)明具體實(shí)現(xiàn)方式中,并不是在相應(yīng)的數(shù)據(jù)刪除間隔內(nèi),一次性刪除掉相應(yīng)長度的IPG數(shù)據(jù),而是在選定的所述數(shù)據(jù)數(shù)量間隔內(nèi),均勻刪除相應(yīng)長度的IPG數(shù)據(jù),在此不做詳細(xì)贅述。
接續(xù)上述示例,對(duì)于邏輯通道0,其對(duì)應(yīng)刪除的IPG單元的長度為8字節(jié),為整數(shù),如此,邏輯通道0對(duì)應(yīng)的刪除IPG數(shù)據(jù)長度為8字節(jié),其對(duì)應(yīng)的數(shù)據(jù)刪除間隔為2個(gè)AM有效信號(hào)。相應(yīng)的,在數(shù)據(jù)復(fù)制之前,監(jiān)測(cè)邏輯通道0每插入兩組AM數(shù)據(jù)之間,對(duì)應(yīng)刪除8字節(jié)的IPG數(shù)據(jù);同時(shí),在當(dāng)前所述插入數(shù)量寄存器的數(shù)值等于其對(duì)應(yīng)邏輯通道的數(shù)據(jù)刪除間隔時(shí),將當(dāng)前邏輯通道對(duì)應(yīng)的數(shù)據(jù)插入數(shù)量寄存器的數(shù)值清零;以保持當(dāng)前邏輯通道的傳輸速率。
對(duì)于邏輯通道1,其對(duì)應(yīng)刪除的IPG單元的長度為3.2字節(jié),不為整數(shù),如此,將所述IPG單元的長度向2n取整,取整后,其結(jié)果24為16字節(jié),則,邏輯通道1對(duì)應(yīng)的刪除IPG數(shù)據(jù)長度為16字節(jié),其對(duì)應(yīng)的數(shù)據(jù)刪除間隔為16/3.2=5個(gè)AM有效信號(hào)。相應(yīng)的,在數(shù)據(jù)復(fù)制之前,監(jiān)測(cè)邏輯通道0每插入5組AM數(shù)據(jù)之間,對(duì)應(yīng)刪除16字節(jié)的IPG數(shù)據(jù);同時(shí),在當(dāng)前所述插入數(shù)量寄存器的數(shù)值等于其對(duì)應(yīng)邏輯通道的數(shù)據(jù)刪除間隔時(shí),將當(dāng)前邏輯通道對(duì)應(yīng)的數(shù)據(jù)插入數(shù)量寄存器的數(shù)值清零;以保持當(dāng)前邏輯通道的傳輸速率。
對(duì)于邏輯通道2、3,其實(shí)現(xiàn)流程與邏輯通道1相似,在此不做詳細(xì)贅述。
結(jié)合圖2所示,在本發(fā)明的一實(shí)施方式中,USXGMII 多通道 IPG精確補(bǔ)償?shù)南到y(tǒng)包括:數(shù)據(jù)獲取模塊100,數(shù)據(jù)處理模塊200,以及數(shù)據(jù)存儲(chǔ)模塊300。
數(shù)據(jù)獲取模塊100用于獲取物理鏈路的工作速率、對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量、以及每條邏輯通道對(duì)應(yīng)的有效傳輸速率;
數(shù)據(jù)傳輸過程中,實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道插入的AM數(shù)據(jù)的數(shù)量,以及監(jiān)測(cè)間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度。
數(shù)據(jù)處理模塊200用于根據(jù)插入的AM數(shù)據(jù)的總長度獲取對(duì)應(yīng)每條邏輯通道插入一組AM數(shù)據(jù)的長度;根據(jù)所述物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量、每條邏輯通道對(duì)應(yīng)的有效傳輸速率,以及每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入兩組AM數(shù)據(jù)之間,其對(duì)應(yīng)刪除的IPG單元的長度。
數(shù)據(jù)存儲(chǔ)模塊300包括:為每條邏輯通道分別配置AM數(shù)據(jù)插入數(shù)量寄存器;
數(shù)據(jù)處理模塊200具體用于實(shí)時(shí)監(jiān)測(cè)對(duì)應(yīng)每條邏輯通道的AM有效信號(hào)標(biāo)志位;
當(dāng)前邏輯通道的AM有效信號(hào)標(biāo)志位為使能時(shí),則對(duì)其對(duì)應(yīng)的插入數(shù)量寄存器數(shù)值加1。
本發(fā)明優(yōu)選實(shí)施方式中,每條邏輯通道插入一組AM數(shù)據(jù)的長度均等于間隔固定數(shù)據(jù)插入物理鏈路的AM數(shù)據(jù)的總長度/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量。
進(jìn)一步的,數(shù)據(jù)處理模塊200具體用于:根據(jù)物理鏈路的工作速率、分發(fā)的邏輯通道數(shù)量獲取每條邏輯通道對(duì)應(yīng)的承載速率;
每條邏輯通道對(duì)應(yīng)的承載速率均等于物理鏈路的工作速率/對(duì)應(yīng)一條物理鏈路所分發(fā)的邏輯通道數(shù)量;
根據(jù)每條邏輯通道對(duì)應(yīng)的有效傳輸速率、承載速率、每條邏輯通道插入一組AM數(shù)據(jù)的長度,獲取對(duì)應(yīng)每個(gè)邏輯通道插入兩組AM數(shù)據(jù)之間,其對(duì)應(yīng)刪除的IPG單元的長度;
對(duì)應(yīng)每個(gè)邏輯通道插入一組AM數(shù)據(jù)時(shí),其對(duì)應(yīng)刪除的IPG單元的長度等于每條邏輯通道插入一組AM數(shù)據(jù)的長度/(每條邏輯通道對(duì)應(yīng)的承載速率/每條邏輯通道對(duì)應(yīng)的有效傳輸速率)。
進(jìn)一步的,數(shù)據(jù)處理模塊200還用于:根據(jù)每條邏輯通道對(duì)應(yīng)刪除的IPG單元的長度,插入的AM數(shù)據(jù)的數(shù)量,獲取每條邏輯通道對(duì)應(yīng)的數(shù)據(jù)刪除間隔,以及在所述數(shù)據(jù)刪除間隔之間需要?jiǎng)h除的IPG數(shù)據(jù)的長度。
本發(fā)明具體實(shí)現(xiàn)過程中,獲得的IPG單元的長度可能為整數(shù)字節(jié),也可能為小數(shù)字節(jié),如此,在本發(fā)明一優(yōu)選實(shí)施方式中,所述數(shù)據(jù)處理模塊200具體用于:判斷當(dāng)前邏輯通道對(duì)應(yīng)的所述IPG單元的長度是否為整數(shù),若是,
則將所述IPG單元的長度作為當(dāng)前邏輯通道所對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為2個(gè)AM有效信號(hào);
若否,將所述IPG單元的長度向2n取整,并將取整后的結(jié)果作為當(dāng)前邏輯通道對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度,并確認(rèn)數(shù)據(jù)刪除間隔為X個(gè)AM有效信號(hào),X=2n/IPG單元的長度。
進(jìn)一步的,數(shù)據(jù)處理模塊200還用于:在數(shù)據(jù)復(fù)制之前,在對(duì)應(yīng)數(shù)據(jù)刪除間隔內(nèi),按照當(dāng)前邏輯通道對(duì)應(yīng)的需要?jiǎng)h除的IPG數(shù)據(jù)的長度均勻刪除數(shù)據(jù)包之間的IPG;并在當(dāng)前所述插入數(shù)量寄存器的數(shù)值等于其對(duì)應(yīng)邏輯通道的數(shù)據(jù)刪除間隔時(shí),將當(dāng)前邏輯通道對(duì)應(yīng)的數(shù)據(jù)插入數(shù)量寄存器的數(shù)值清零。
需要說明的是,本發(fā)明具體實(shí)現(xiàn)方式中,并不是在相應(yīng)的數(shù)據(jù)刪除間隔內(nèi),一次性刪除掉相應(yīng)長度的IPG數(shù)據(jù),而是在選定的所述數(shù)據(jù)數(shù)量間隔內(nèi),均勻刪除相應(yīng)長度的IPG數(shù)據(jù),在此不做詳細(xì)贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)模塊的具體工作過程,可參考前述方法實(shí)施方式中的對(duì)應(yīng)過程,在此不再贅述。
綜上所述,本發(fā)明的USXGMII 多通道 IPG精確補(bǔ)償?shù)姆椒跋到y(tǒng),根據(jù)各個(gè)邏輯通道的工作速率,插入的AM數(shù)據(jù)的長度,自適應(yīng)匹配獲取對(duì)應(yīng)當(dāng)前邏輯通道的數(shù)據(jù)刪除間隔及需要?jiǎng)h除的IPG數(shù)據(jù)的長度,進(jìn)而使數(shù)據(jù)的傳輸速率與邏輯通道的承載速率精確匹配,滿足系統(tǒng)的性能要求,提高網(wǎng)絡(luò)芯片的穩(wěn)定性和可靠性。
為了描述的方便,描述以上裝置時(shí)以功能分為各種模塊分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各模塊的功能在同一個(gè)或多個(gè)軟件和/或硬件中實(shí)現(xiàn)。
以上所描述的裝置實(shí)施方式僅僅是示意性的,其中所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)模塊上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施方式方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
應(yīng)當(dāng)理解,雖然本說明書按照實(shí)施方式加以描述,但并非每個(gè)實(shí)施方式僅包含一個(gè)獨(dú)立的技術(shù)方案,說明書的這種敘述方式僅僅是為清楚起見,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)將說明書作為一個(gè)整體,各實(shí)施方式中的技術(shù)方案也可以經(jīng)適當(dāng)組合,形成本領(lǐng)域技術(shù)人員可以理解的其他實(shí)施方式。
上文所列出的一系列的詳細(xì)說明僅僅是針對(duì)本發(fā)明的可行性實(shí)施方式的具體說明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。