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