国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      將存儲空間動態(tài)分配給多個隊列的方法及設備的制作方法

      文檔序號:7960873閱讀:240來源:國知局
      專利名稱:將存儲空間動態(tài)分配給多個隊列的方法及設備的制作方法
      技術領域
      本發(fā)明涉及分組交換網(wǎng)中的網(wǎng)絡設備,更確切地說,涉及一種在與所述網(wǎng)絡設備相關的的所有端口間共享存儲單元且總帶寬不超過系統(tǒng)時鐘的方法。
      背景技術
      分組交換網(wǎng)絡可以包括一個或多個網(wǎng)絡設備,如以太網(wǎng)交換芯片,每個芯片都包含多個模塊,所述模塊用以對通過設備進行傳輸?shù)男畔⑦M行處理。特別地,所述設備包括輸入模塊(ingress module)、存儲管理單元(MMU)和輸出模塊(egress module)。輸入模塊包含用于確定分組應指向哪一個目的端口的交換功能。MMU用于存儲分組信息和執(zhí)行資源檢測。輸出模塊用以執(zhí)行分組修正并將分組傳送到至少一個適當?shù)哪康亩丝凇TO備上的端口中的一個是CPU端口,使設備可以與外部交換/路由控制部分或CPU之間進行信息收發(fā)。
      分組由多個端口進入設備之后,被送至輸入模塊,在那里對分組進行交換或其它處理。之后,分組通過MMU和輸出模塊被傳送到一個或多個目的端口。MMU使不同的端口之間可以共享分組緩沖區(qū),同時為每個輸入端口、輸出端口和各種服務隊列提供資源保障。根據(jù)現(xiàn)有交換系統(tǒng)的構架,每個端口有8種相關服務隊列。為保證端口和隊列間的帶寬保障,設備為端口至每個隊列分配了固定的存儲部分。這樣,和具有較低優(yōu)先級的服務種類的相關隊列相比,可給具有較高優(yōu)先級的服務種類的相關隊列分配更多的固定部分。這樣的應用很不靈活,且無法滿足與一個或多個隊列有關的動態(tài)要求。
      一種更靈活的方法是通過確定需要為相關隊列保留的緩沖區(qū)入口(entry)數(shù)量、對每個類別的服務隊列定義一個有保障的固定存儲配額。例如,如果對一個端口分配了100字節(jié)的存儲空間,前4個服務隊列的初始分配值為10個字節(jié),后4個服務隊列的初始分配值為5個字節(jié)。即使一個隊列沒有用盡所有的初始保留入口,那些沒被使用的緩沖區(qū)也不會分配給其它隊列。不過,該端口剩余未分配的40個字節(jié)的存儲空間可以由與該端口有關的所有類別的服務隊列共享。每個特定類別的服務隊列可以消耗的共享存儲池的大小范圍由極限閾值設定。這樣,極限閾值可以用來確定一個隊列可以使用的緩沖區(qū)的最大數(shù)量,從而避免單個隊列占用所有的可用存儲緩沖區(qū)。為保證所有初始分配的存儲空間值之和不大于該端口的可用存儲空間的總數(shù)量,并保證每類服務隊列都能訪問其初始分配的存儲配額,使用端口動態(tài)計數(shù)寄存器記錄每個端口的可用存儲池,其中動態(tài)計數(shù)寄存器記錄的是端口的可用共享存儲空間。端口動態(tài)計數(shù)寄存器的初始值是端口相關的所有存儲量減去初始分配的存儲緩沖區(qū)之和。當一類服務隊列超出其初始配額之后占用可用存儲空間時,動態(tài)計數(shù)寄存器值減小。相反,當一類服務隊列超出其初始分配的配額之后釋放存儲空間時,動態(tài)計數(shù)寄存器值增大。
      在目前的設備中,所有端口和所有種類的服務隊列之間共享總共56K的存儲器入口。在最糟的情形下,所有端口都多點傳送64字節(jié)的多點傳送分組到所有的其它端口,包括發(fā)送端口。這樣,對每個1G的端口,由于(1Gbps/((64byte+12byte+8byte)×8bits/byte))等于1.4481M~1.5M,最大的入口數(shù)據(jù)分組率為1.4881兆分組每秒(Mpps),其中12個字節(jié)用于內(nèi)部分組間隙,8個字節(jié)用作報頭。這樣,每個端口接收36.75Mbps~36.8Mbps。在有14個端口的設備中,總的帶寬需求是36.75×14即514.4MHz。這個帶寬需求比一般的156MHz的系統(tǒng)時鐘快3倍。同樣,設備將無法支持如此高的帶寬要求。

      發(fā)明內(nèi)容
      根據(jù)本發(fā)明的一個方面,提供了能夠將存儲空間動態(tài)分配給多個隊列的網(wǎng)絡設備,所述網(wǎng)絡設備包括分配裝置,用于為多個端口中的每一個分配預定數(shù)量的臨時存儲緩沖區(qū)和共享存儲緩沖區(qū),以及用來為與每個端口相關的多個隊列中的每一個配給臨時存儲緩沖區(qū)的固定配額和共享存儲緩沖區(qū)的固定配額,其中,在每個隊列已經(jīng)在臨時存儲緩沖區(qū)積累了預定部分的數(shù)據(jù)之后,這些數(shù)據(jù)就被送至共享存儲器,以及其中用于分配的裝置將共享存儲器訪問帶寬減小預訂的數(shù)量,其中預定的數(shù)量小于系統(tǒng)時鐘的處理帶寬。
      優(yōu)選地,用于分配的裝置被配置成為多個隊列中的每一個配給4個字長的臨時緩沖區(qū),從而將共享存儲器訪問帶寬減少四分之一。
      優(yōu)選地,所述網(wǎng)絡設備被進一步配置為將4個字中的兩個用于在數(shù)據(jù)寫入共享存儲器之前臨時存儲數(shù)據(jù),4個字中的兩個用于臨時存儲從共享存儲器讀取的數(shù)據(jù)。
      優(yōu)選地,對每個端口,臨時緩沖區(qū)被配置成為每個隊列在一個字內(nèi)存儲4個入口,其中每個隊列被配置為在每次存儲器訪問時,向共享存儲器寫入一個字,以及在每次存儲器讀取時,從共享存儲器讀出一個字。
      優(yōu)選地,4個入口中的每一個都被配置為存儲35比特數(shù)據(jù)。
      優(yōu)選地,每個端口的臨時緩沖區(qū)配置成為多個隊列中的每一個存儲4個字,并且為多個隊列中的每一個存儲14位的指針。
      優(yōu)選地,用于分配的裝置被配置成將共享存儲器訪問帶寬減少至少四分之一共享存儲器帶寬需求。
      根據(jù)本發(fā)明的一個方面,提供了一種將存儲空間動態(tài)分配給多個隊列的方法,所述方法包括以下步驟給多個端口中的每一個分配預定數(shù)量的臨時存儲緩沖區(qū)和共享存儲緩沖區(qū);為與每個端口相關的多個隊列中的每一個配給臨時存儲緩沖區(qū)的固定配額和共享存儲緩沖區(qū)的固定配額;在每個隊列已經(jīng)在臨時存儲緩沖區(qū)積累了預定部分的數(shù)據(jù)之后將數(shù)據(jù)傳送至共享存儲器;以及將共享存儲器訪問帶寬減小預訂的數(shù)量,其中預定的數(shù)量小于系統(tǒng)時鐘的處理帶寬。
      優(yōu)選地,所述方法進一步包括為每個隊列分配4個字長的臨時緩沖區(qū),從而將共享存儲器訪問帶寬減少四分之一。
      優(yōu)選地,所述方法進一步包括分配兩個緩沖器用于在數(shù)據(jù)寫入共享存儲器之前臨時存儲數(shù)據(jù),以及兩個緩沖器用于臨時存儲從共享存儲器讀出的數(shù)據(jù)。
      優(yōu)選地,所述方法進一步包括,每個隊列在每次存儲器訪問時向共享存儲器寫入一個字以及在每次存儲器讀取時從共享存儲器讀出一個字。
      優(yōu)選地,所述方法進一步包括,在與每個隊列相關的4個入口的每一個中均存儲35比特數(shù)據(jù)。
      優(yōu)選地,所述方法進一步包括,對于每個端口,為多個隊列中的每一個在臨時緩沖區(qū)存儲4個字,并且為多個隊列中的每一個存儲14位的指針。
      根據(jù)本發(fā)明的一個方面,提供了一種將存儲空間動態(tài)分配給多個隊列的設備,所述設備包括分配裝置,用于將預定數(shù)量的臨時存儲存儲緩沖區(qū)和共享存儲緩沖區(qū)分配給多個端口中的每一個;配給裝置,用于為與每個端口相關的多個隊列中的每一個配給臨時存儲緩沖區(qū)的固定配額和共享存儲緩沖區(qū)的固定配額;傳輸裝置,用于在每個隊列已經(jīng)在臨時存儲緩沖區(qū)積累了預定部分的數(shù)據(jù)之后將數(shù)據(jù)傳送至共享存儲器;以及減小裝置,用來將共享存儲訪問帶寬減小預訂的數(shù)量,其中預定的數(shù)量小于系統(tǒng)時鐘的處理帶寬。


      附圖是為了提供對本發(fā)明進一步的理解,它合并在此并構成說明書的一部分,闡釋了本發(fā)明的實施例,并與描述一起用來解釋本發(fā)明的原理,其中圖1是本發(fā)明實施例的網(wǎng)絡設備示意圖;圖2a是本發(fā)明共享存儲器架構的示意圖;圖2b是共享存儲器架構的單元緩沖池;圖3是緩沖區(qū)管理機制示意圖,存儲管理單元用它來進行資源配額限定,從而保證對資源的公平訪問;以及圖4是如何在網(wǎng)絡設備所有端口之間動態(tài)共享一個XQ存儲器204的示意圖。
      具體實施例方式
      本發(fā)明的優(yōu)選實施例將結合附圖加以說明。
      圖1示出了網(wǎng)絡設備,如交換芯片,本發(fā)明的實施例可以在其中實施。設備100包括輸入模塊102、MMU 104和輸出模塊106。輸入模塊102用于對進入的分組執(zhí)行交換功能。MMU 104的主要功能是按照可預知的方式有效的管理緩沖單元和分組指針資源,甚至是在嚴重擁塞的情況下。輸出模塊106用于執(zhí)行分組修正及將分組傳送到適當?shù)哪康亩丝凇?br> 設備100還可以包括一個內(nèi)部的光纖高速端口,例如HiGig端口,108、一個或多個外部的以太網(wǎng)端口109a-109x、以及CPU端口110。高速端口108用來將系統(tǒng)中的各種網(wǎng)絡設備互相連接起來,從而形成用來在外部資源端口與一個或多個外部目標端口之間傳送分組的內(nèi)部交換光纖。同樣,高速端口108在包括多個互相連接的網(wǎng)絡設備的系統(tǒng)外部是不可見的。CPU端口110用于與外部的交換/路由控制器件或CPU之間進行分組的發(fā)送和接收。根據(jù)本發(fā)明的實施例,CPU端口110可以被看作是外部以太網(wǎng)端口109a-109x中的一個。設備100和外部/片下CPU通過CPU處理模塊111連接,如CMIC,所述CPU處理模塊111與PCI總線相連,所述PCI總線將設備100連接到外部CPU上。
      網(wǎng)絡流量通過外部以太網(wǎng)端口109a-109x進出設備100。特別地,設備100中的流量從外部以太網(wǎng)源端口傳送到一個或多個特定的目的以太網(wǎng)端口。在本發(fā)明的一個實施例中,設備100可以支持12個物理以太網(wǎng)端口109。在本發(fā)明的一個實施例中,設備100支持12個物理以太端口109和一個高速端口108,每個物理以太端口108可以以10/100/1000Mbps的速率運作,高速端口108可以以10Gbps或12Gbps的速率運作。
      在本發(fā)明的實施例中,設備100設置在共享存儲器結構周圍,如圖2a-2b所示,其中MMU 104使不同的端口之間可以共享分組緩沖區(qū),同時為每個輸入端口、輸出端口以及與每個準入端口相關的各種服務隊列提供資源保障。圖2a示出了本發(fā)明的共享存儲器結構。特別地,設備100的存儲資源包括單元緩沖池(CBP,Cell Buffer Pool)存儲器202和處理隊列(XQ)存儲器204。CBP存儲器202為片下資源,它由4個DRAM芯片206a-206d組成。根據(jù)本發(fā)明的實施例,每個DRAM芯片的容量是288M比特,其中CBP存儲器202的總容量為144M字節(jié)的原始存儲數(shù)據(jù)。如圖2b所示,CBP存儲器202被劃分為256K,即576字節(jié)的存儲單元208a-208x,每個單元包括32字節(jié)的報頭緩沖區(qū)210、多達512字節(jié)的分組數(shù)據(jù)212和32字節(jié)的保留空間214。這樣,每個進入設備的分組消耗至少一個576字節(jié)的單元208。因此,對于一個包含64字節(jié)的幀的輸入數(shù)據(jù),輸入分組將為它保留576字節(jié)的空間,盡管這576字節(jié)中只有64字節(jié)被該幀使用。
      回到圖2a,XQ存儲器204包括指向CBP存儲器202的分組指針216a-216x列表,其中不同的XQ指針216與每個端口相關。在輸入端口、輸出端口和各類服務的基礎上記錄CBP存儲器202的單元計數(shù)器和XQ存儲器204的分組計數(shù)器。這樣,設備100可以在單元和分組的基礎上提供資源保障。
      一旦分組進入源端口109上的設備100,分組就被送到輸入模塊102進行處理。在處理過程中,每個輸入端口和輸出端口的分組共享系統(tǒng)資源202和204。圖3示出了緩沖區(qū)管理機制,MMU用它來進行資源配額限定,從而保證對資源的公平訪問。MMU104包括輸入背壓機制304、線端(head of line)機制306和加權隨機早期檢測機制308。輸入背壓機制304支持無損行為并在輸入端口間公平地管理緩沖區(qū)資源。線端機制306支持對緩沖區(qū)資源的訪問,同時優(yōu)化系統(tǒng)吞吐量。加權隨機早期檢測機制308改善總的網(wǎng)絡吞吐量。
      輸入背壓機制304使用分組或單元計數(shù)器來記錄在每個輸入端口的基礎上所使用的分組或單元的數(shù)量。輸入背壓機制304包括用于存儲一組8個可單獨配置閾值的寄存器和用于確定系統(tǒng)的每個準入端口使用8個閾值中的哪一個的寄存器。這組閾值包括極限閾值312、放棄極限閾值314和重置極限閾值316。如果與輸入端口分組/單元的使用相關的計數(shù)器超過了放棄極限閾值314,則此輸入端口的分組將會被放棄。在記錄單元/分組數(shù)量的計數(shù)器基礎上,使用暫停流量控制,來阻止流量到達占用緩沖區(qū)資源超過其公平共享份額的輸入端口,從而停止超限輸入端口的流量,防止由超限輸入端口引起的擁塞。特別地,根據(jù)與一組閾值相關的輸入背壓計數(shù)器,每個輸入端口對其是否處于輸入背壓狀態(tài)保持記錄。當輸入端口處于輸入背壓狀態(tài)時,從該輸入端口周期性的發(fā)送定時器值為0xFFFF的流量暫??刂茙?。當輸入端口不再處于輸入背壓狀態(tài)時,該輸入端口發(fā)送定時器值為0x00的流暫??刂茙?,允許數(shù)據(jù)流重新流動。如果輸入端口目前并非處于輸入背壓狀態(tài),且分組計數(shù)器已經(jīng)超過極限閾值312,該輸入端口的狀態(tài)變?yōu)檩斎氡硥籂顟B(tài)。如果輸入端口處于輸入背壓狀態(tài),且分組計數(shù)器降到重置極限閾值316以下,就使該端口脫離背壓狀態(tài)。
      線端機制306用于支持對緩沖區(qū)資源的公平訪問,同時優(yōu)化系統(tǒng)的吞吐量。線端機制306根據(jù)分組放棄來管理緩沖區(qū)資源并改善總的系統(tǒng)吞吐量。根據(jù)本發(fā)明的實施例,線端機制306使用出口計數(shù)器和預定的閾值來記錄每個輸出端口和各類服務基礎對緩沖區(qū)的使用情況,從而決定將任何新到達輸入端口的分組丟棄,所述輸入端口的目的地為超額使用資源的輸出端口/各類服務隊列。線端機制306支持不同的閾值,所述閾值取決于新達到的分組的顏色(color)。可根據(jù)輸入模塊中發(fā)生的測量和標記操作來對分組著色,MMU根據(jù)分組的顏色對這些分組執(zhí)行不同的操作。
      根據(jù)本發(fā)明的實施例,線端機制306是可配置的,并在每一類的服務隊列和所有端口上獨立運行,包括CPU端口。線端機制306使用計數(shù)器記錄XQ存儲器204和CBP存儲器202的使用情況以及閾值,所述閾值是設計來支持CBP存儲緩沖區(qū)202的靜態(tài)分配和XQ存儲緩沖區(qū)204的動態(tài)分配。CBP存儲器202中的所有單元都定義了放棄閾值322,不考慮顏色標記。當與端口相關的單元計數(shù)器達到放棄閾值322時,該端口進入線端狀態(tài)。之后,如果單元計數(shù)器降到小于重置極限閾值324時,該端口脫離線端狀態(tài)。
      對于XQ存儲器204,XQ入口值330a-330h為每類服務隊列定義XQ緩沖區(qū)的固定保障配額。XQ入口值330a-330h的每一個定義了應為相關隊列保留的存儲區(qū)入口的數(shù)量。例如,如果將XQ存儲器的100字節(jié)分配給端口,與XQ入口330a-330d相關的前四類服務隊列可分別被賦給10字節(jié)的值,而與XQ入口330d-330h相關的后四類服務隊列可被賦給5字節(jié)的值。根據(jù)本發(fā)明的實施例,即使隊列沒有用盡根據(jù)相關的XQ入口值為其保留的緩沖區(qū)入口,線端機制306也不會將未使用的緩沖區(qū)分配給其它隊列。然而,端口的XQ緩沖區(qū)的剩余40個未分配的字節(jié)將由與此端口相關的所有類別的服務隊列共享。特定類別的服務隊列可以占用的XQ緩沖區(qū)的共享緩沖池的極限數(shù)量與由XQ設定極限閾值332一起設定。這樣,設定極限閾值332可以用來定義一個隊列所能使用的緩沖區(qū)的最大數(shù)目,從而避免一個隊列占用所有的可用XQ緩沖區(qū)。為了保證XQ入口值330a-330h之和不超過該端口可用緩沖區(qū)的總數(shù),以及保證每類服務隊列都能訪問由入口值330為它定義的XQ緩沖區(qū)配額,用端口動態(tài)計數(shù)寄存器334記錄每個端口的XQ緩沖區(qū)的可用緩沖池,其中,端口動態(tài)計數(shù)寄存器334保持記錄該端口可用共享XQ緩沖區(qū)的數(shù)量。動態(tài)計數(shù)寄存器334的初始值與該端口相關的XQ緩沖區(qū)總數(shù)量減去XQ入口值320a-320h之和。當服務隊列的類別超過由其XQ入口值330分配的配額之后、這類服務隊列使用可用XQ緩沖區(qū)時,動態(tài)計數(shù)寄存器334開始減少。相反地,當類別超過由其XQ入口值330分配的配額之后、這類服務隊列釋放XQ緩沖區(qū)時,動態(tài)寄存器334增加。
      當隊列請求XQ緩沖區(qū)204時,線端機制306確定該隊列使用的所有入口是否小于該隊列的XQ入口值330,若所使用的入口數(shù)小于XQ入口值330,則準許緩沖區(qū)請求。但是,若所使用的入口數(shù)大于該隊列的XQ入口值330,線端機制306確定請求的數(shù)量是否小于總的可用緩沖區(qū)或小于由相應的設置極限閾值332設定的最大值。設置極限閾值332本質上是與隊列有關的放棄閾值,它與分組的顏色標記無關。這樣,當與分組相關的分組計數(shù)達到設置極限閾值332時,隊列/端口進入線端狀態(tài)。當線端機制306檢測到線端狀況時,會發(fā)送更新狀態(tài),以使輸入模塊102可以將擁塞端口的分組放棄。然而,由于存在反應時間,當線端機制306發(fā)送狀態(tài)更新時,在輸入模塊102和MMU104之間可能仍有分組在傳輸。在這種情況下,由于線端狀態(tài),可在MMU104發(fā)生分組放棄。在本發(fā)明的實施例中,由于輸入模塊102和MMU104之間的分組管線,XQ指針的動態(tài)緩沖池減小預定數(shù)量。這樣一來,當可用XQ指針數(shù)等于或小于預定數(shù)量時,端口轉成線端狀態(tài),MMU104向輸入模塊102發(fā)送更新狀態(tài),從而減少可能由MMU 104放棄的分組數(shù)量。為了脫離線端狀態(tài),隊列的XQ分組數(shù)必須降到重置極限閾值336以下。
      某一特定類別的服務隊列的XQ計數(shù)器并沒有達到設置極限閾值332,如果端口的XQ資源被其它服務類隊列過度占用,所述特定類別的服務仍會將其分組放棄。在本發(fā)明的實施例中,對于包含特殊顏色標記的分組,定義了中間放棄閾值338和339,其中每個中間放棄閾值定義了何時一種特定顏色的分組應被放棄。例如,中間放棄閾值338可用于定義何時放棄黃色分組,中間放棄閾值339用于定義何時放棄紅色分組。根據(jù)本發(fā)明的實施例,根據(jù)為其設定的優(yōu)先級,分組被染色為綠色、黃色和紅色中的一種。為保證與每種顏色的相關分組能按照每個隊列的顏色分配比例進行處理,本發(fā)明的一個實施例設置了虛擬最大閾值340。虛擬最大閾值340等于未分配的可用緩沖區(qū)數(shù)量除隊列數(shù)和當前使用的緩沖區(qū)數(shù)量之和。虛擬最大閾值340保證與每種顏色相關的分組按照相應的比例進行處理。這樣,若可用的未分配緩沖區(qū)數(shù)量小于特定隊列的設置極限閾值332且隊列請求訪問所有可用的未分配緩沖區(qū)時,線端機制306計算該隊列的虛擬最大閾值340并處理一定比例的分組,所述分組與相對于所定義比率的每種顏色相關。
      為節(jié)約寄存器空間,XQ閾值可用壓縮的形式表示,其中每個單元表示一組XQ入口。組的大小取決于與特定的輸出端口或服務隊列種類有關的XQ緩沖區(qū)數(shù)量。
      加權隨機早期檢測機制308是一種隊列管理機制,它基于一種概率算法在XQ緩沖區(qū)204耗盡之前預先將分組放棄。因而加權隨機早期檢測機制308被用于優(yōu)化總的網(wǎng)絡吞吐量。加權隨機早期檢測機制308包括均衡統(tǒng)計量,所述均衡統(tǒng)計量用來記錄隊列長度并根據(jù)為該隊列定義的放棄概圖來放棄分組。放棄概圖定義了特定平均隊列大小情況下的放棄概率。根據(jù)本發(fā)明的實施例,加權隨機早期檢測機制308可以根據(jù)服務隊列類別和分組定義單獨的概圖。
      圖4示出了在所有端口間動態(tài)共享一個XQ存儲器的另一個實施例。如圖4所示,給每類服務分配4個字的緩沖區(qū)402和404,兩個緩沖區(qū)402a和402b用于在向XQ存儲器204寫入之前臨時存儲XQ數(shù)據(jù),兩個緩沖區(qū)404a和404b兩個緩沖區(qū)用于在從XQ存儲器讀出數(shù)據(jù)之前進行臨時存儲。因此,當新的XQ入口到達端口的特定服務類,同時分組數(shù)據(jù)從XQ存儲器204讀出或寫入時,將存在額外的空間用于存儲輸入的數(shù)據(jù)。類似地,在輸出過程中,在端口消耗完存儲在其它字中的所有XQ入口之前,一個字被用來存儲預取字。這就保證了XQ出列操作不被干擾。在輸入處理中,當每類服務累積到一個字或四個入口的XQ數(shù)據(jù)之后,數(shù)據(jù)被發(fā)送到XQ存儲器204。
      如臨時緩沖區(qū)406所示,每個端口都能夠在一個字410中為每類服務存儲4個XQ入口。每個端口也能夠在一次存儲訪問中將4個存儲的XQ入口408寫入XQ存儲器204。在輸出端,每個端口同樣可以一次從XQ存儲器讀取4個XQ入口406。根據(jù)本發(fā)明的一個實施例,每個XQ入口408含有35比特的數(shù)據(jù)。因此,如412所示的每個端口的臨時緩沖區(qū)大小為140比特/字乘以4字每類服務,再乘以每個端口8個服務類,或者140比特/字乘以32字/端口。通過在一個字410中存儲4個XQ入口408,臨時端口緩沖區(qū)412可以在每個入口中存儲154比特,即4個字410,每個包括4個XQ入口408,加上14K字所需要的14位指針414。對一個有12個1G端口,一個高速端口和一個CPU的設備,這樣有效地將存儲器訪問帶寬需求減少了1/4。
      在本發(fā)明的實施例中,所有端口和所有種類的服務隊列之間共享含有56K入口的XQ存儲器204,所有端口都多點傳送64字節(jié)的多點傳送分組到所有端口,包括發(fā)送端口。
      這樣,對每個1G的端口,最大的入口數(shù)據(jù)分組率為1.4881Mpps,或約等于1.5Mpps。同樣地,每個端口接收36.75Mbps,即1.5×24.5。因此對于寫入存取,總的帶寬需求是36.75/4×14即128.7MHz,其中14是輸出端口、CPU端口和高速端口的總數(shù)量。對于讀取訪問,帶寬為9.2MHz或1.5/4×24.5,其中24.5表示端口總數(shù)。所以,XQ存儲器204總的存儲訪問為128.7+9.2即137.9MHz,這個數(shù)值小于一般的156MHz系統(tǒng)時鐘。
      當隊列請求XQ緩沖區(qū)204,且線端機制306檢測到線端狀況時,它就會發(fā)送更新狀態(tài)以使輸入模塊102可以將擁塞的端口的分組放棄。然而,由于存在響應時間,在狀態(tài)更新從線端機制306發(fā)送的同時,在輸入模塊102和MMU 104之間可能有分組在傳輸。在這種情況下,由于處于線端狀態(tài),分組放棄將發(fā)生在MMU 104處。
      前面的描述是直接針對本發(fā)明的特定實施例的。但是,顯然,在保留其部分或全部優(yōu)點的情況下,可以對所述實施例進行變化和修改。因此,權利要求的目的是在本發(fā)明的核心思想和范圍之內(nèi),覆蓋所有這些變化和修改。
      本申請要求申請?zhí)枮?0/676,287,提交日期為2005年5月2日的美國臨時專利申請的優(yōu)先權。前在申請的主題通過參考引用結合于此。
      權利要求
      1.一種將存儲空間動態(tài)分配給多個隊列的網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備包括分配裝置,用于為多個端口中的每一個分配預定數(shù)量的臨時存儲緩沖區(qū)和共享存儲緩沖區(qū),以及用來為與每個端口相關的多個隊列中的每一個配給臨時存儲緩沖區(qū)的固定配額和共享存儲緩沖區(qū)的固定配額,其中,在每個隊列已經(jīng)在臨時存儲緩沖區(qū)積累了預定部分的數(shù)據(jù)之后,這些數(shù)據(jù)就被送至共享存儲器,以及其中用于分配的裝置將共享存儲器訪問帶寬減小預訂的數(shù)量,其中所述預定的數(shù)量小于系統(tǒng)時鐘的處理帶寬。
      2.根據(jù)權利要求1所述的網(wǎng)絡設備,其特征在于,用于分配的裝置被配置成為多個隊列中的每一個配給4個字長的臨時緩沖區(qū),從而將共享存儲器訪問帶寬減少四分之一。
      3.根據(jù)權利要求2所述的網(wǎng)絡設備,其特征在于,所述網(wǎng)絡設備被進一步配置為將4個字中的兩個用于在將數(shù)據(jù)寫入共享存儲器之前臨時存儲數(shù)據(jù),4個字中的兩個用于臨時存儲從共享存儲器讀取的數(shù)據(jù)。
      4.根據(jù)權利要求1所述的網(wǎng)絡設備,其特征在于,對每個端口,臨時緩沖區(qū)被配置成為每個隊列在一個字內(nèi)存儲4個入口,其中每個隊列被配置為在每次存儲器訪問時,向共享存儲器寫入一個字,以及在每次存儲器讀取時,從共享存儲器讀出一個字。
      5.根據(jù)權利要求1所述的網(wǎng)絡設備,其特征在于,4個入口中的每一個都被配置為存儲35比特數(shù)據(jù)。
      6.一種將存儲空間動態(tài)分配給多個隊列的方法,其特征在于,所述方法包括以下步驟給多個端口中的每一個分配預定數(shù)量的臨時存儲緩沖區(qū)和共享存儲緩沖區(qū);為與每個端口相關的多個隊列中的每一個配給臨時存儲緩沖區(qū)的固定配額和共享存儲緩沖區(qū)的固定配額;在每個隊列已經(jīng)在臨時存儲緩沖區(qū)積累了預定部分的數(shù)據(jù)之后將數(shù)據(jù)傳送至共享存儲器;以及將共享存儲器訪問帶寬減小預訂的數(shù)量,其中預定的數(shù)量小于系統(tǒng)時鐘的處理帶寬。
      7.根據(jù)權利要求6所述的方法,其特征在于,進一步包括為每個隊列分配4個字長的臨時緩沖區(qū),從而將共享存儲器訪問帶寬減少四分之一。
      8.根據(jù)權利要求6所述的方法,其特征在于,進一步包括分配兩個緩沖器用于在數(shù)據(jù)寫入共享存儲器之前臨時存儲數(shù)據(jù),以及兩個緩沖器用于臨時存儲從共享存儲器讀出的數(shù)據(jù)。
      9.根據(jù)權利要求6所述的方法,其特征在于,進一步包括,每個隊列在每次存儲器訪問時向共享存儲器寫入一個字以及在每次存儲器讀取時從共享存儲器讀出一個字。
      10.一種將存儲空間動態(tài)分配給多個隊列的設備,其特征在于,所述設備包括分配裝置,用于將預定數(shù)量的臨時存儲存儲緩沖區(qū)和共享存儲緩沖區(qū)分配給多個端口中的每一個;配給裝置,用于為與每個端口相關的多個隊列中的每一個配給臨時存儲緩沖區(qū)的固定配額和共享存儲緩沖區(qū)的固定配額;傳輸裝置,用于在每個隊列已經(jīng)在臨時存儲緩沖區(qū)積累了預定部分的數(shù)據(jù)之后將數(shù)據(jù)傳送至共享存儲器;以及減小裝置,用來將共享存儲訪問帶寬減小預訂的數(shù)量,其中預定的數(shù)量小于系統(tǒng)時鐘的處理帶寬。
      全文摘要
      本發(fā)明涉及一種將存儲空間動態(tài)分配給多個隊列的網(wǎng)絡設備。所述網(wǎng)絡設備包括分配裝置,用于為多個端口中的每一個分配預定數(shù)量的臨時存儲緩沖區(qū)和共享存儲緩沖區(qū),以及用來為與每個端口相關的多個隊列中的每一個配給臨時存儲緩沖區(qū)的固定配額和共享存儲緩沖區(qū)的固定配額,其中,在每個隊列已經(jīng)在臨時存儲緩沖區(qū)積累了預定部分的數(shù)據(jù)之后,這些數(shù)據(jù)就被送至共享存儲器。所述用于分配的裝置將共享存儲器訪問帶寬減小預訂的數(shù)量,其中所述預定的數(shù)量小于系統(tǒng)時鐘的處理帶寬。
      文檔編號H04L12/56GK1881937SQ20061007940
      公開日2006年12月20日 申請日期2006年4月24日 優(yōu)先權日2005年5月2日
      發(fā)明者埃里克·安德森, 闖偉彤 申請人:美國博通公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1