本發明專利技術揭示了一種網絡芯片內存管理方法,包括:當網絡芯片的數據接收模塊收到一個報文時,通過解析報文的關鍵字段將其映射到相應的優先級上;根據映射到的優先級查到相應的存儲閾值,并將所述存儲閾值與存儲器內統計內存使用情況的計數器的值進行對比,根據對比結果選擇丟棄或存儲當前報文;若存儲器內計數器的值超過置PAUSE幀閾值,則在數據接收模塊中產生PAUSE幀通知所有數據通道的報文發送端暫停發送數據。本發明專利技術對不同優先級的報文進行差異化的內存管理,并對所有數據通道進行流控,保證網絡中高優先級報文不會因為網絡芯片超帶寬而發生丟包,增強網絡管理能力。
【技術實現步驟摘要】
本專利技術涉及網絡芯片內存管理
,尤其是涉及一種對不同優先級的報文進行差異化的內存管理的網絡芯片內存管理方法。
技術介紹
在高密度網絡芯片中,如圖1所示,多通道的數據匯聚到數據接收模塊并調度至芯片內部進行處理。隨著外部輸入帶寬的增加,會出現數據接收模塊輸出帶寬小于輸入帶寬的現象,稱之為網絡芯片超帶寬。在網絡芯片超帶寬時,數據接收模塊內部的存儲器入口流量大于出口流量,引起存儲器被占滿,進而導致新的數據因為沒有存儲器而被丟棄。流控是指當接收端預判由于擁塞將無法接受報文時,為了防止丟包,需要通知報文的發送端一段時間內停止發送報文。接收端通過發送一種特殊的數據幀來通知發送端,停止發送報文,這種特殊的數據幀稱為暫停(PAUSE)幀。如果數據報文的接收端在發送PAUSE幀后可以處理數據報文,則再發送一個等待時間為0的PAUSE幀通知數據發送端開始發送數據。傳統的網絡芯片數據接收模塊未對網絡中不同優先級的數據進行差異化管理,也未將上述流控技術應用在因網絡超帶寬而產生擁塞的數據接收模塊中,因而導致在網絡芯片超帶寬時,報文會在數據接收模塊中被概率性的丟棄,不利于網絡芯片對不同類型報文的服務和管理。
技術實現思路
本專利技術的目的在于克服現有技術的缺陷,提供一種網絡芯片內存管理方法,通過對不同優先級的報文進行差異化的內存管理,并對所有數據通道進行流控,防止高優先級報文因為網絡超帶寬而被丟棄。為實現上述目的,本專利技術提出如下技術方案:一種網絡芯片內存管理方法,包括:當網絡芯片的數據接收模塊收到一個報文時,通過解析報文的關鍵字段將其映射到相應的優先級上;根據映射到的優先級查到相應的存儲閾值,并將所述存儲閾值與存儲器內統計內存使用情況的計數器的值進行對比,根據對比結果選擇丟棄或存儲當前報文;若存儲器內計數器的值超過置PAUSE幀閾值,則在數據接收模塊中產生PAUSE幀通知所有數據通道的報文發送端暫停發送數據。優選地,當數據接收模塊收到一個報文時,根據報文的關鍵字段及通道屬性給報文標識優先級,進而得到該報文的存儲閾值。優選地,根據報文的關鍵字段及通道屬性給報文標識優先級的過程包括:根據報文不同的關鍵字段將報文標識為不同的優先級,選擇出等級最高的優先級作為所述報文的優先級。優選地,將報文按優先級從高到低依次劃分為最高優先級、高優先級、中優先級和低優先級四個優先級,不同的優先級對應不同的存儲閾值。優選地,所述數據接收模塊的存儲器用一個全局的計數器來統計其總的使用情況。優選地,當有數據寫進存儲器時,對應計數器加1;當數據從存儲器中調度出來時,對應計數器減1。優選地,若計數器的值大于存儲閾值,則丟棄當前的報文;若計數器的值小于存儲閾值,則存儲當前的報文。優選地,若存儲器內計數器的值小于置PAUSE幀閾值,且已發送過PAUSE幀,則數據接收模塊發送一個等待時間為0的PAUSE幀通知數據發送端開始發送數據。本專利技術的有益效果是:本專利技術通過解析報文的關鍵字段,將其映射到相應的優先級上,對不同優先級的報文進行差異化的內存管理,并對所有數據通道進行流控,保證網絡中高優先級報文不會因為網絡芯片超帶寬而發生丟包,增強網絡管理能力。附圖說明圖1是現有網絡芯片結構示意圖;圖2是本專利技術數據接收模塊中內存管理的原理示意圖;圖3是本專利技術網絡芯片內存管理方法的流程示意圖。具體實施方式下面將結合本專利技術的附圖,對本專利技術實施例的技術方案進行清楚、完整的描述。如圖3所示,本專利技術實施例所揭示的一種網絡芯片內存管理方法,適用于網絡芯片數據接收模塊,包括以下步驟:步驟1,當數據接收模塊收到一個報文時,通過解析報文的關鍵字段將其映射到相應的優先級上。具體地,本實施例中,當數據接收模塊收到一個報文時,根據網絡應用的需要將報文按照配置(如關鍵字段及通道屬性)標識為不同的優先級,進而得到該報文的存儲閾值。結合圖2所示,本實施例中,數據接收模塊中的內存空間分為四個優先級:a、最高優先級,該優先級只支持bpdu(bridgeprotocoldataunit,網橋協議數據單元)和pause幀存儲;b、高優先級,該優先級支持高優先級通道和特定的數據字段存儲;c、中優先級,該優先級支持特定的數據字段存儲;d、低優先級,支持除了上述優先級報文外所有的普通報文存儲。不同的優先級對應不同的存儲閾值,存儲閾值是每個優先級的存儲器所設定的能最大化存儲的數據量。例如:解析報文的目的MAC地址(macda)字段,如果滿足bpdu和pause幀條件,會被標識為最高優先級;解析報文IEEE802.1pVLAN字段,如果滿足配置則根據VlanCOS將報文標識為高優先級;解析報文IPDSCP字段,如果滿足配置則根據DSCP將報文標識為高優先級;解析通道優先級屬性,根據配置將該通道所有報文標識為中優先級;最后,根據以上四種情況,選擇出等級最高的優先級做為該報文的優先級。步驟2,根據映射到的優先級查到相應的存儲閾值,并將存儲閾值與存儲器內統計內存使用情況的計數器的值進行對比,根據對比結果選擇丟棄或存儲當前報文。具體地,如上述實施例中,根據得到的報文的優先級查找到相應的存儲閾值。本專利技術中,用一個全局的計數器來統計數據接收模塊的存儲器總的使用情況,當有數據寫進存儲器時,對應計數器加1;當數據從存儲器中調度出來時,對應計數器減1。將查找到的存儲閾值與相應優先級存儲器內的計數器的值進行對比,若計數器的值大于存儲閾值,則丟棄當前的報文;若計數器的值小于存儲閾值,則存儲當前的報文。但是本專利技術對于優先級較高的報文,如這里標識為最高優先級的報文,其在計數器的值超過存儲閾值時,不能簡單丟棄,而是采用相應的流控技術對其進行管理,防止其丟包。具體地,對于標識為最高優先級的報文,若其相應的存儲器內計數器的值超過其存儲閾值,則數據接收模塊產生pause幀通知數據發送端暫停發送數據,當計數器的值小于其存儲閾值且已發送過pause幀,則數據接收模塊發送一個等待時間為0的pause幀通知數據發送端開始發送數據。這樣,可以保證網絡中高優先級報文不會因為網絡芯片超帶寬而發生丟包,提高網絡的管理能力。本專利技術的
技術實現思路
及技術特征已揭示如上,然而熟悉本領域的技術人員仍可能基于本專利技術的教示及揭示而作種種不背離本專利技術精神的替換及修...
【技術保護點】
一種網絡芯片內存管理方法,其特征在于,包括:當網絡芯片的數據接收模塊收到一個報文時,通過解析報文的關鍵字段將其映射到相應的優先級上;根據映射到的優先級查到相應的存儲閾值,并將所述存儲閾值與存儲器內統計內存使用情況的計數器的值進行對比,根據對比結果選擇丟棄或存儲當前報文;若存儲器內計數器的值超過置PAUSE幀閾值,則在數據接收模塊中產生PAUSE幀通知所有數據通道的報文發送端暫停發送數據。
【技術特征摘要】
1.一種網絡芯片內存管理方法,其特征在于,包括:
當網絡芯片的數據接收模塊收到一個報文時,通過解析報文的關鍵字
段將其映射到相應的優先級上;
根據映射到的優先級查到相應的存儲閾值,并將所述存儲閾值與存儲
器內統計內存使用情況的計數器的值進行對比,根據對比結果選擇丟棄或
存儲當前報文;
若存儲器內計數器的值超過置PAUSE幀閾值,則在數據接收模塊中產
生PAUSE幀通知所有數據通道的報文發送端暫停發送數據。
2.根據權利要求1所述的方法,其特征在于,當數據接收模塊收到一個
報文時,根據報文的關鍵字段及通道屬性給報文標識優先級,進而得到該
報文的存儲閾值。
3.根據權利要求2所述的方法,其特征在于,根據報文的關鍵字段及通
道屬性給報文標識優先級的過程包括:根據報文不同的關鍵字段將報文標
識為不同的優先級,選擇出等級最高的優先級作為所述報文的優先級。...
【專利技術屬性】
技術研發人員:蔣震,徐子軒,
申請(專利權)人:盛科網絡蘇州有限公司,
類型:發明
國別省市:江蘇;32
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。