專利名稱:一種以太網(wǎng)交換芯片中實現(xiàn)節(jié)能統(tǒng)計的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)網(wǎng)絡(luò)技術(shù),尤其涉及在以太網(wǎng)交換機(jī)芯片中實現(xiàn)節(jié)能以太網(wǎng) (Energy Efficient Ethernet)節(jié)能統(tǒng)計的方法及系統(tǒng)。
背景技術(shù):
隨著以太網(wǎng)交換芯片容量的不斷增長以及應(yīng)用場景的復(fù)雜化,其單芯片的 MAC (Media Access Control,介質(zhì)訪問控制)端口數(shù)量也大幅增加,同時由此衍生出芯片功耗的增加。IEEE802. 3az標(biāo)準(zhǔn)中便制定了 Energy Efficient Khernet協(xié)議。此協(xié)議根據(jù)統(tǒng)計芯片中的MAC接受和發(fā)送端的負(fù)載程度,從而決定是否關(guān)閉負(fù)載低的端口,從而達(dá)到節(jié)能的效果。因此為了有效的顯示MAC端口的節(jié)能效果,一個精確和高效的負(fù)載統(tǒng)計功能模塊是前提。Energy Efficient Ethernet的發(fā)送和接收端需要統(tǒng)計的元素有兩個,即 Event (觸發(fā)次數(shù))和Duration (持續(xù)時間),其中Event是統(tǒng)計端口關(guān)閉發(fā)生的次數(shù),而 Duration是每次端口關(guān)閉發(fā)生時所維持的時間。統(tǒng)計的原理如圖1所示,圖中Sle印En代表端口關(guān)閉的使能,TX_EEE_LPI_EVENT_CNT 代表 Event 計數(shù)器,而 TX_EEE_LPI_DURATION_ CNT代表Duration計數(shù)器。其中duration是通過單位時間計數(shù)一次,單位時間和計數(shù)器的值就是端口關(guān)閉發(fā)生時所維持的時間。這里的單位時間可以配置,推薦值是10微秒。傳統(tǒng)的做法是端口的發(fā)送和接收端的每個方向需要一個Event計數(shù)器,一個 Duration計數(shù)器,以及一個統(tǒng)計duration單位時間的計數(shù)器。為了防止計數(shù)器的翻轉(zhuǎn)而導(dǎo)致的不準(zhǔn)確,這里的計數(shù)器的位寬需要足夠?qū)?。而?dāng)前高性能交換機(jī)芯片的MAC端口數(shù)量通常都大于50個,因此一塊芯片需要至少需要2*50*3個高位寬計數(shù)器。在ASIC實現(xiàn)芯片中的,計數(shù)器所占用的芯片面積是比較大的,同時由此帶來的功耗也比較高,反而部分抵消了 Energy Efficient Ethernet 的節(jié)能效果。
發(fā)明內(nèi)容
本發(fā)明目的在于提出一種以太網(wǎng)交換芯片中實現(xiàn)以太網(wǎng)節(jié)能的統(tǒng)計方法及系統(tǒng), 通過一個較小的內(nèi)嵌SRAM來記錄統(tǒng)計結(jié)果,使用calendar (循環(huán)遍歷表)來靈活控制并刷新統(tǒng)計值,并且當(dāng)SRAM的統(tǒng)計結(jié)果值到一定閾值時上報CPU來記錄SRAM的結(jié)果,從而省去了大量的計數(shù)器,減小了芯片面積和功耗。為實現(xiàn)上述目的,本發(fā)明提出如下技術(shù)方案一種以太網(wǎng)交換芯片中實現(xiàn)節(jié)能統(tǒng)計的方法,包括a.在SRAM中放置節(jié)能以太網(wǎng)的統(tǒng)計信息;b.在Calendar配置寄存器組里寫入端口編號;c.在發(fā)生端口關(guān)閉時,由Calendar控制器控制在Calendar配置寄存器組中選擇出一個寄存器,并對選中的寄存器的相應(yīng)端口進(jìn)行統(tǒng)計;d.將統(tǒng)計結(jié)果寫回SRAM中,且當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值時,將這個統(tǒng)計值對應(yīng)的地址放入CPU內(nèi)存中。
跟進(jìn)一步地,所述SRAM中放置的統(tǒng)計信息包括計數(shù)值,觸發(fā)次數(shù),以及統(tǒng)計間隔累計時間值。
在對所述選中的寄存器的端口進(jìn)行統(tǒng)計時,首先將從SRAM中將選中端口的前次統(tǒng)計信息讀出來。
對寄存器端口的統(tǒng)計包括對觸發(fā)次數(shù)和持續(xù)時間的統(tǒng)計;當(dāng)對持續(xù)時間統(tǒng)計時, 則要統(tǒng)計間隔時間值達(dá)到持續(xù)時間單位時才將計數(shù)值加1寫回到SRAM中。
對持續(xù)時間的統(tǒng)計是通過設(shè)置統(tǒng)計間隔步長寄存器完成的。
對寄存器端口的統(tǒng)計是通過統(tǒng)計邏輯處理模塊對統(tǒng)計值的邏輯處理完成的。
當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值時,將這個統(tǒng)計值對應(yīng)的地址放到緩存里,通知和以太網(wǎng)交換芯片對接的CPU將這個值取走放在CPU內(nèi)存中,并將SRAM中的該地址值清零。
本發(fā)明還提出一種在以太網(wǎng)交換芯片中實現(xiàn)節(jié)能統(tǒng)計的系統(tǒng),所述系統(tǒng)包括 Calendar控制器,Calendar配置寄存器組及SRAM,其中
所述Calendar控制器控制在Calendar配置寄存器組中選擇出一個寄存器,并對選中的寄存器的相應(yīng)端口進(jìn)行統(tǒng)計;
所述Calendar配置寄存器組用于寫入端口編號;
所述SRAM用于放置節(jié)能以太網(wǎng)的統(tǒng)計信息,且當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值時,將這個統(tǒng)計值對應(yīng)的地址放入CPU內(nèi)存中。
更進(jìn)一步地,所述系統(tǒng)還包括統(tǒng)計值處理邏輯模塊,所述統(tǒng)計值處理邏輯模塊對所述選中的寄存器的相應(yīng)端口的統(tǒng)計值進(jìn)行邏輯處理,所述統(tǒng)計值包括觸發(fā)次數(shù)和持續(xù)時間的。
所述系統(tǒng)還包括統(tǒng)計間隔步長寄存器,該統(tǒng)計間隔步長寄存器實現(xiàn)對選中寄存器端口的持續(xù)時間的統(tǒng)計。
與現(xiàn)有技術(shù)相比,本發(fā)明通過一個較小的內(nèi)嵌SRAM,使用calendar來控制并刷新統(tǒng)計值,并且采用CPU上報讀取統(tǒng)計值的方法,能精確地對Energy Efficient Khernet進(jìn)行統(tǒng)計。這種方法既可以節(jié)省芯片的面積,降低成本和功耗,并且能靈活支持交換機(jī)不同物理端口形態(tài)。
圖1是現(xiàn)有的芯片發(fā)送端節(jié)能統(tǒng)計的時序示意圖2是本發(fā)明實現(xiàn)節(jié)能統(tǒng)計的模塊示意圖3是本發(fā)明實現(xiàn)節(jié)能統(tǒng)計的時序示意圖。
具體實施方式
下面將結(jié)合本發(fā)明的附圖,對本發(fā)明優(yōu)選實施例中的技術(shù)方案進(jìn)行清楚、完整的描述。
本發(fā)明所揭示的在以太網(wǎng)芯片中實現(xiàn)節(jié)能統(tǒng)計的方法和系統(tǒng),其核心是用SRAM 和calendar (循環(huán)遍歷表)來取代計數(shù)器進(jìn)行統(tǒng)計計數(shù)。SRAM里存放的統(tǒng)計信息包括計數(shù)值,Event狀態(tài),以及統(tǒng)計間隔累計時間值。如圖2所示,Calendar用配置寄存器組來實現(xiàn),該寄存器組由Calendar控制器控制,每個寄存器里寫的是端口的編號,寄存器可以根據(jù)端口的數(shù)量和使用情況靈活配置,而且不會限制于交換機(jī)的物理端口形態(tài)。同時可以通過配置Calendar來實現(xiàn)不同端口有不同統(tǒng)計值精度。在芯片工作時如果發(fā)生某個端口關(guān)閉,則會從Calendar配置寄存器組里選擇一個,且對選中寄存器相應(yīng)的端口進(jìn)行統(tǒng)計。進(jìn)行統(tǒng)計的時候,首先從SRAM里將選中端口的前次統(tǒng)計信息讀出來。對選中寄存器相應(yīng)端口的統(tǒng)計包括對Event(觸發(fā)次數(shù))和 Duration (持續(xù)時間)的統(tǒng)計,其中Event是統(tǒng)計端口關(guān)閉發(fā)生的次數(shù),而Duration是每次端口關(guān)閉發(fā)生時所維持的時間。對Event和Duration統(tǒng)計的實現(xiàn)原理也不同,如果是Event的統(tǒng)計,只要對比讀出來前次記錄狀態(tài)為0,就可以將計數(shù)值加1寫回到SRAM。而Durat i on統(tǒng)計的時候,根據(jù)圖1所示需要滿足統(tǒng)計間隔累計時間值達(dá)到 Duration單位時間才進(jìn)行加1。而統(tǒng)計間隔累計時間值是多次Calendar選中同一個端口的間隔累加值。由于這個間隔在芯片工作頻率和Calendar配置寄存器組固定后,兩次 Calendar選中同一個端口時間隔值也是固定的,因此這里只需要一個統(tǒng)計間隔步長寄存器來配置。每次從SRAM讀出來的Duration和統(tǒng)計間隔累計時間值做完處理后,需要再重新寫回SRAM。如此反復(fù)操作,就可以實現(xiàn)Event和Duration的統(tǒng)計。圖2是實現(xiàn)統(tǒng)計的模塊示意圖,包括Calendar控制器,Calendar配置寄存器組, SRAM,以及統(tǒng)計值處理邏輯模塊和統(tǒng)計間隔步長寄存器,以及當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值的時候,將這個統(tǒng)計值對應(yīng)的地址通過CPU上報邏輯上報至CPU的模塊,其中統(tǒng)計值處理邏輯模塊就是實現(xiàn)對統(tǒng)計間隔累計時間值和Event與Duration統(tǒng)計值的處理。圖3是本發(fā)明進(jìn)行統(tǒng)計操作的時序示意圖,包括calander選擇,統(tǒng)計值處理以及 SRAM的讀寫操作,具體為clk為時鐘信號,Sle印EnO和Sle印En3分別為Calendar寄存器組中的選中端口 0和端口 3的關(guān)閉使能信號,Calendar為Calendar寄存器組中的端口號,SramRd為讀取SRAM,SramRdAddr為讀取SRAM的地址,SramWr為將統(tǒng)計結(jié)果寫回SRAM, SramffrAddr是統(tǒng)計結(jié)果寫入SRAM的地址,而SramWrData為寫入SRAM的統(tǒng)計結(jié)果更新值。由于對SRAM進(jìn)行讀和改寫的操作,因此會有同時讀寫操作的情況,因此這里需要雙口 SRAM。并且通過配置Calendar配置寄存器組來避免讀寫同一地址的沖突,這也是 Calendar的另一個作用。為了防止SRAM芯片中統(tǒng)計值翻轉(zhuǎn),同時不增加SRAM的面積和功耗,這里沒有使用更多位寬的SRAM,而是通過當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值的時候,將這個統(tǒng)計值對應(yīng)的地址放到緩存里,通知和芯片對接的CPU將這個值取走放在CPU的內(nèi)存中,同時將芯片SRAM 中此地址的值清0。因此芯片的SRAM位寬就可以不用太大,達(dá)到CPU內(nèi)存的代價換取芯片的面積和功耗的減少的目的。本發(fā)明的技術(shù)內(nèi)容及技術(shù)特征已揭示如上,然而熟悉本領(lǐng)域的技術(shù)人員仍可能基于本發(fā)明的教示及揭示而作種種不背離本發(fā)明精神的替換及修飾,因此,本發(fā)明保護(hù)范圍應(yīng)不限于實施例所揭示的內(nèi)容,而應(yīng)包括各種不背離本發(fā)明的替換及修飾,并為本專利申請權(quán)利要求所涵蓋。
權(quán)利要求
1.一種以太網(wǎng)交換芯片中實現(xiàn)節(jié)能統(tǒng)計的方法,其特征在于包括a.在SRAM中放置節(jié)能以太網(wǎng)的統(tǒng)計信息;b.在Calendar配置寄存器組里寫入端口編號;c.在發(fā)生端口關(guān)閉時,由Calendar控制器控制在Calendar配置寄存器組中選擇出一個寄存器,并對選中的寄存器的相應(yīng)端口進(jìn)行統(tǒng)計;d.將統(tǒng)計結(jié)果寫回SRAM中,且當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值時,將這個統(tǒng)計值對應(yīng)的地址放入CPU內(nèi)存中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述SRAM中放置的統(tǒng)計信息包括持續(xù)時間統(tǒng)計計數(shù)值,觸發(fā)次數(shù),以及統(tǒng)計間隔累計時間值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于在對所述選中的寄存器的端口進(jìn)行統(tǒng)計時,首先將從SRAM中將選中端口的前次統(tǒng)計信息讀出來。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于對寄存器端口的統(tǒng)計包括對觸發(fā)次數(shù)和持續(xù)時間的統(tǒng)計;當(dāng)對持續(xù)時間統(tǒng)計時,則要統(tǒng)計間隔時間值達(dá)到持續(xù)時間單位時才將計數(shù)值加1寫回到SRAM中。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于對持續(xù)時間的統(tǒng)計是通過設(shè)置統(tǒng)計間隔步長寄存器完成的。
6.根據(jù)權(quán)利要求1至5任意一項所述的方法,其特征在于對寄存器端口的統(tǒng)計是通過統(tǒng)計邏輯處理模塊對統(tǒng)計值的邏輯處理完成的。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值時,將這個統(tǒng)計值對應(yīng)的地址放到緩存里,通知和以太網(wǎng)交換芯片對接的CPU將這個值取走放在 CPU內(nèi)存中,并將SRAM中的該地址值清零。
8.—種如權(quán)利要求1所述的以太網(wǎng)交換芯片中實現(xiàn)節(jié)能統(tǒng)計方法的系統(tǒng),其特征在于所述系統(tǒng)包括Calendar控制器,Calendar配置寄存器組及SRAM,其中所述Calendar控制器控制在Calendar配置寄存器組中選擇出一個寄存器,并對選中的寄存器的相應(yīng)端口進(jìn)行統(tǒng)計;所述Calendar配置寄存器組用于寫入端口編號;所述SRAM用于放置節(jié)能以太網(wǎng)的統(tǒng)計信息,且當(dāng)SRAM中的統(tǒng)計值達(dá)到一定閾值時,將這個統(tǒng)計值對應(yīng)的地址放入CPU內(nèi)存中。
9.一種如權(quán)利要求8所述的系統(tǒng),其特征在于所述系統(tǒng)還包括統(tǒng)計值處理邏輯模塊, 所述統(tǒng)計值處理邏輯模塊對所述選中的寄存器的相應(yīng)端口的統(tǒng)計值進(jìn)行邏輯處理,所述統(tǒng)計值包括觸發(fā)次數(shù)和持續(xù)時間的。
10.一種如權(quán)利要求8所述的系統(tǒng),其特征在于所述系統(tǒng)還包括統(tǒng)計間隔步長寄存器,該統(tǒng)計間隔步長寄存器實現(xiàn)對選中寄存器端口的持續(xù)時間的統(tǒng)計。
全文摘要
本發(fā)明揭示了一種以太網(wǎng)交換芯片中實現(xiàn)節(jié)能統(tǒng)計的方法及系統(tǒng),通過一個內(nèi)嵌SRAM,使用calendar控制器及calendar寄存器組來控制并刷新選中寄存器端口在SRAM中的統(tǒng)計值,該統(tǒng)計值包括選中寄存器端口的觸發(fā)次數(shù)及觸發(fā)時間值,并且當(dāng)SRAM中的統(tǒng)計值超過一定的閾值時,SRAM將上報CPU上報讀取統(tǒng)計值,這種方法能精確地對節(jié)能以太網(wǎng)的節(jié)能信息進(jìn)行統(tǒng)計,既可以節(jié)省芯片的面積,降低成本和功耗,又能靈活支持交換機(jī)的不同物理端口形態(tài)。
文檔編號H04L12/24GK102497287SQ20111041227
公開日2012年6月13日 申請日期2011年12月12日 優(yōu)先權(quán)日2011年12月12日
發(fā)明者楊崇朋, 賈復(fù)山, 鄭海東 申請人:盛科網(wǎng)絡(luò)(蘇州)有限公司