新四季網

多埠乙太網交換裝置及數據傳輸方法

2023-06-13 18:37:21

專利名稱:多埠乙太網交換裝置及數據傳輸方法
技術領域:
本發明涉及一種乙太網交換裝置及數據傳輸方法,尤其涉及一種具有轉發與存儲分離結構的多埠乙太網交換裝置及數據傳輸方法。
背景技術:
乙太網交換晶片的功能是提供多個乙太網埠間的二層或二層以上的報文轉發,如果是二層轉發,則轉發行為應該嚴格按照IEEE 802.3(國際電子電氣工程師協會定義的關於以太區域網的協議)協議定義的方式實施,如果是二層以上的轉發,則應按照IP協議定義的方式實施。乙太網交換晶片是乙太網交換設備的核心器件,決定了乙太網交換機的性能和功能。
乙太網交換最重要的指標在於系統性能,也就是埠間線速交換的能力。所謂線速交換,指的是同速率乙太網埠間一對一發送報文情況下,所有埠都可以以滿速率發送和接收數據幀,不出現任何數據幀的丟失和延遲。乙太網的速度從10M提升到100M、1G、10G,要求交換晶片必須能同步提升性能以滿足線速處理要求。
乙太網交換的另一項重要指標是業務處理能力。與早期乙太網僅用於計算機設備間的簡單通訊不同,現在的乙太網要求提供諸如用戶管理、服務質量、安全管理、流量管制等諸多業務能力,因而要求乙太網交換晶片能提供複雜的業務處理能力。
乙太網交換晶片一般基於「存儲-轉發」方式。所謂「存儲-轉發」,是指乙太網數據幀交換時,先將數據幀完整接收下來,保存在內部存儲器中,經過正確性校驗和轉發處理後,才將數據幀從內部存儲器發送到乙太網上。與之相對的轉發方式為「直通」,只要接收到足夠的數據幀頭信息,就開始轉發處理,並將數據幀發送到乙太網上,此時數據幀可能還未接收完畢,處於「邊接收邊發送」的狀態。「直通」方式的優點是轉發延遲小,問題是錯誤的數據幀也會被發送,因而較少被使用。
乙太網交換過程通常基於「共享緩存」方式。「共享緩存」指的是,所有埠接收的數據幀都集中保存到一個公用存儲器中,需要發送數據幀時,從該存儲器中讀取數據幀發送即可。

發明內容
本發明的目的在於提供能夠克服現有技術中存在的至少一個缺陷的一種多埠乙太網交換裝置(該處理裝置為晶片),採用存儲轉發和共享緩存的工作方式,其特徵在於,具有業務轉發過程與數據存取過程分離的結構。
其中,該處理裝置包括數據通路,用於將從網絡接收的數據幀不作任何業務處理就保存到一外部存儲器中,並響應於控制通路的控制,將數據幀讀出,進行必要的處理後發送到網絡。
控制通路,採用多級流水線結構,用於對數據幀控制信息進行處理,控制數據通路對數據幀的發送過程。
其中,該數據通路包括
接收端乙太網媒體控制器,用於從網絡接收數據幀。
接收端先入先出型存儲器,用於暫存接收端乙太網媒體控制器接收的數據幀,並且對數據幀進行切分。
輸入端數據通路模塊,在設計上是一個可進行數據插入的多路選一開關,將選中的數據幀從接收端先入先出型存儲器中讀出並完成數據插入後發送到輸出總線上。
外部存儲器接口控制器,與輸入端數據通路模塊和輸出端數據通路模塊連接,用於控制數據存入和讀出外部存儲器的過程。
輸出端數據通路模塊,對即將輸出的數據幀進行必要的修改、插入、或刪除操作,然後將數據幀發送到發送端先入先出型存儲器中。
發送端先入先出型存儲器,暫存來自輸出端數據通路模塊的、即將發送的數據幀。
發送端乙太網媒體控制器,與發送端先入先出型存儲器連接,將處理後的數據幀發送到網絡。
其中,控制通路包括輸入端輪詢及控制模塊,用於對接收端先入先出型存儲器的狀態進行輪詢和控制,並控制輸入端數據通路模塊和數據幀頭緩存,使其將數據儲存到外部存儲器中。
數據幀信息先入先出型存儲器,用於儲存來自輸入端輪詢及控制模塊的數據幀控制信息。
數據幀轉發及業務處理器,接收所述數據幀信息先入先出型存儲器和數據幀頭緩存中的數據幀控制信息,完成轉發及業務處理。
輸出隊列及調度器,用於為每個埠的多個輸出隊列中的每個隊列提供調度服務,輸出隊列及調度器接收來自數據幀轉發及業務處理器的數據幀控制信息,控制緩存管理器進行釋放操作並且響應於輸出端輪詢及控制模塊的調度申請將數據幀控制信息輸出到輸出端輪詢及控制模塊。
輸出端輪詢及控制模塊,用於輪詢發送端先入先出型存儲器的狀態,向所述輸出隊列及調度器發出調度申請,根據調度出的數據幀控制信息控制所述輸出端數據通路模塊及所述外部存儲器接口控制器將數據幀從外部存儲器讀出並發送到所述發送端先入先出型存儲器,並向緩存管理器提交維護信息。
緩存管理器,用於維護外部存儲器的使用。
數據幀轉發及業務處理器由多個業務處理單元構成,形成多級流水線結構。
其中,輸入端輪詢及控制模塊包括輸入端輪詢模塊,用於接收來自所述接收端先入先出型存儲器的狀態信息,完成對所述接收端先入先出型存儲器狀態的輪詢,選擇出待處理的埠號。
輸入端狀態維護模塊,接收來自輸入端輪詢模塊輪詢出的待處理埠中的數據幀,當數據幀是新數據幀時,輸入端狀態維護模塊向緩存管理器申請可用的外部緩存,並維護埠數據寫入狀態信息,將新數據幀頭緩存控制信號輸出到數據幀頭緩存中;當數據幀不是新數據幀時,直接檢查和維護埠數據寫入狀態信息,狀態檢查和維護的輸出結果為數據寫入外部緩存的地址,如果待處理埠是數據幀尾,則需將幀尾指示信號輸出到數據幀頭緩存中。
數據幀頭緩存寫入控制模塊,接收來自所述輸入端狀態維護模塊的新數據幀頭緩存控制信號,控制所述數據通路將數據幀頭寫入數據幀頭緩存。
輸入端數據存儲控制模塊,接收來自所述輸入端狀態維護模塊的寫入外部緩存的地址信息,控制所述數據通路將選中的所述接收端先入先出型存儲器中的數據幀寫入外部存儲器輸出總線。
輸入端數據幀控制信息生成模塊,用於接收來自輸入端狀態維護模塊的信號,當接收到數據幀尾時,將埠狀態信息中的有關信息構造為數據幀控制信息,並將生成的數據幀控制信息輸出到數據幀信息先入先出型存儲器中。
其中,輸出隊列及調度器包括輸出隊列伺服器,用於提供服務等級,將數據幀轉發及業務處理器與數據輸出通路隔開。輸出隊列伺服器在功能上是一個先入先出型存儲器。
調度器,根據所述輸出端輪詢及控制模塊的請求從埠隊列中輸出一個數據幀。
其中,輸出端輪詢及控制模塊包括輸出端輪詢模塊,用於接收所述發送端先入先出型存儲器的狀態信息,完成對所述發送端先入先出型存儲器狀態的輪詢,選擇出待處理的埠號。
輸出端狀態維護模塊,接收來自輸出端輪詢模塊輪詢出的待處理埠中的數據幀,檢查和維護埠的數據幀發送狀態,並且判斷數據幀是否已經發送完畢,如果數據幀發送已經完畢則向緩存管理器提出釋放申請,緩存管理器對相應緩存單元的控制信息進行釋放操作,如果返回的數據幀表明數據幀因某種原因已被標記為丟棄,則輸出端狀態維護模塊使用保存在數據幀控制信息中的緩存單元地址向緩存管理器提出釋放中請,緩存管理器對相應緩存單元的控制信息進行釋放操作。
輸出端數據幀讀出及修改控制模塊,接收來自所述輸出端狀態維護模塊的地址信號,控制所述輸出端數據通路模塊從所述外部存儲器接口控制器讀出數據,並控制所述輸出端數據通路模塊完成對數據幀的修改,修改後的數據被控制寫入到所述發送端先入先出型存儲器中。
一種多埠乙太網交換裝置的數據傳輸方法,其特徵在於,該數據傳輸方法包括以下步驟步驟202,控制通路控制數據通路將從網絡接收的數據幀不經過任何業務處理就儲存到外部存儲器中。
步驟204,所述控制通路採用多級流水線方式對數據幀控制信息進行處理。
步驟206,所述控制通路根據業務處理流水線對數據幀的處理結果,控制所述數據通路讀出儲存在所述外部存儲器中的數據幀,對其進行必要的處理後發送到網絡。
其中,步驟202包括以下步驟
步驟202a,接收端乙太網媒體控制器從網絡接收數據幀,並將接收的數據幀傳送到接收端先入先出型存儲器中。
步驟202b,接收端先入先出型存儲器在暫存數據幀的同時,將數據幀進行切分。
步驟202c,輸入端輪詢及控制模塊對埠的接收端先入先出型存儲器不斷進行輪詢,輪詢出一個已接收到數據幀的埠,進行數據幀緩存單元地址維護和業務處理準備。
步驟202d,將接收端先入先出型存儲器中的數據通過輸入端數據通路模塊及外部存儲器接口控制器寫入到外部存儲器中。
其中,步驟206包括以下步驟步驟206a,輸出端輪詢及控制模塊不斷輪詢發送端先入先出型存儲器發送數據的狀態,直到發現有埠有一個或多個空閒數據塊空間。
步驟206b,檢查埠的數據幀是否已經發送完畢,如果數據幀已經發送完畢,則向輸出隊列及調度器申請新的待發送數據幀,並使用數據幀控制信息中的外部緩存地址將數據幀從外部存儲器中讀出;如果數據幀還沒有發送完畢,則使用埠狀態中的地址信息將數據幀從所述外部存儲器中讀出。
步驟206c,輸出端數據通路模塊在輸出端輪詢及控制模塊的控制下對讀出的數據幀進行處理,並將其寫入發送端先入先出型存儲器。
步驟206d,輸出端輪詢及控制模塊對數據幀緩存單元地址進行維護,發送端乙太網媒體控制器將數據幀發送到網絡。
其中,輸入端輪詢及控制模塊進行輪詢及處理的過程為步驟402,輸入端輪詢模塊對所有埠的接收端先入先出型存儲器的狀態進行輪詢,輪詢出某個已經接收到一個數據塊的接收端先入先出型存儲器。
步驟404,輸入端狀態維護模塊判斷接收到的數據幀是否是新數據幀。
步驟406,如果是新數據幀,向緩存管理器申請可用的外部緩存地址。
步驟408,如果是新數據幀,數據幀頭緩存寫入控制模塊將一控制信號發送到數據幀頭緩存,將新數據幀的數據幀頭寫入數據幀頭緩存中。
步驟410,輸入端數據存儲控制模塊控制接收端先入先出型存儲器和輸入端數據通路模塊以及外部存儲器接口控制器將接收到的數據塊寫入外部存儲器中。
步驟412,輸入端狀態維護模塊維護埠數據的寫入信息和狀態。
步驟414,接收端乙太網媒體控制器判斷是否是數據幀尾,並將該信息通過指定信息位傳送給輸入端狀態維護模塊。
步驟416,如果是數據幀尾,輸入端狀態維護模塊調整埠信息。
步驟418,輸入端數據幀控制信息生成模塊生成數據幀控制信息並將其寫入數據幀信息先入先出型存儲器中。
步驟420,接收端先入先出型存儲器處理結束,進行下一次輪詢及處理。
輸入端數據輪詢及控制模塊採用多級輪詢結構,即將埠分成多個組,每個組內各自進行輪詢,再對所有組的輪詢結果進行組間輪詢,選擇出每次需要處理的接收端先入先出型存儲器埠。
其中,輸出端輪詢及控制模塊進行輪詢及處理的過程為步驟602,輸出端輪詢模塊輪詢出至少有一個空閒數據塊的發送端先入先出型存儲器。
步驟604,輸出端狀態維護模塊判斷該埠的數據幀是否已經發送完畢。
步驟606,如果埠的幀已經發送完畢,那麼輸出端狀態維護模塊向輸出隊列及調度器申請新的待發送數據幀。
步驟608,輸出端數據幀讀出及修改控制模塊控制輸出端數據通路模塊和發送端先入先出型存儲器,將數據塊從外部存儲器中讀出,進行必要的處理然後寫入發送端先入先出型存儲器中。
步驟610,輸出端狀態維護模塊維護埠的幀發送狀態。
步驟612,發送端先入先出型存儲器處理結束,進行下一次輪詢及處理。
轉發過程與存儲過程分離,利於實現高性能、高業務能力要求的轉發過程。轉發過程處理複雜的業務處理流程,使用多級流水線實現,不會對系統性能產生影響。存儲過程使用高速率的數據保存和讀取通道構造,使用成本低廉的外部動態存儲器即可支持高性能、高帶寬要求,不會擠壓轉發過程的靈活處理能力。
對於每個待轉發的數據幀,不經過任何轉發處理就進行存儲器操作,簡化了對緩存管理的要求,尤其是多播緩存管理,加強了系統穩定性,降低了晶片成本。


通過參考附圖,本發明的特徵和優點將變的更加明顯,其中圖1是根據本發明的多埠乙太網交換裝置的框圖;圖2是根據本發明的多埠乙太網交換裝置的數據傳輸方法的框圖;圖3是根據本發明的輸入端輪詢及控制模塊的邏輯結構圖;圖4是根據本發明的輸入端輪詢及控制模塊進行輪詢及處理的過程的流程圖;圖5是根據本發明的輸出端輪詢及控制模塊的邏輯結構圖;以及圖6是根據本發明的輸出端輪詢及控制模塊進行輪詢及處理的過程的流程圖。
具體實施例方式
現在參照附圖對根據本發明的具體實施例進行說明,應當理解,此處所描述的具體實施例僅僅用於解釋本發明,並不用於限定本發明。
圖1是根據本發明的多埠乙太網交換裝置的框圖,該處理裝置為晶片。圖中除外部存儲器130以外的其餘部分構成了本設計方案,外部存儲器130使用工業標準的DDR SDRAM,在提供高性能的同時降低整個系統的造價。本發明的高性能乙太網交換裝置由數據通路和控制通路構成。圖中,細實線表示控制信息或業務處理信息,細實線相連的單元構成控制通路,完成行為控制及業務處理功能。粗實線表示數據信息,其相連的單元構成數據通路,完成數據保存和發送功能。
數據通路包括接收端乙太網媒體控制器(RxMAC)102、接收端先入先出型存儲器(RxFIFO)104、輸入端數據通路模塊110、外部存儲器接口控制器112、輸出端數據通路模塊114、發送端先入先出型存儲器(TxFIFO)108、發送端乙太網媒體控制器(TxMAC)106,其功能為在控制通路的控制下,將RxMAC 102從網絡接收的數據幀保存到外部存儲器(DDR SDRAM)130中,在控制通路的控制下,將數據幀從外部存儲器130中讀出並修改幀格式後從TxMAC 106發出到網絡上。
控制通路包括輸入端輪詢及控制模塊116、數據幀信息先入先出型存儲器118、數據幀轉發及業務處理器120、輸出隊列及調度器122、輸出端輪詢及控制模塊124、緩存管理器126,其功能為控制數據寫入外部存儲器130的過程,然後對輸入的數據完成業務處理和轉發決策,完成輸出隊列調度後,控制待發數據讀出外部存儲器130並發送到網絡的過程。
本發明的一個實現為4個1G乙太網埠和24個100M乙太網埠的交換,以下設計說明中的所有設計參數以該設計規格為目標。如果支持更多或更少數量乙太網埠的交換,可能需要對部分設計參數進行調整,調整參數不會對本發明有實質性改進。
RxMAC102和TxMAC106分別是MAC(乙太網媒體控制器)的接收部分和發送部分,MAC的功能在IEEE 802.3協議中定義,是標準的乙太網數據幀處理單元,用於從乙太網鏈路上接收或發送數據幀。實際應用時,還需要在MAC上外接乙太網物理層晶片才能真正和乙太網通訊。為簡化整體設備的造價,也可以將乙太網物理層晶片集成到乙太網交換晶片內部,這僅僅是集成度的提高,不構成對本發明的實質性改進。本方案外接多個乙太網埠時,則晶片內應包含相應數量的MAC。
RxFIFO 104用於暫存RxMAC 102接收到的數據。在本實施例中,數據幀被保存到外部存儲器130時需要切分成固定長度,如128位元組,因此RxFIFO 104在暫存數據的同時也完成數據幀的切分,每128位元組切分為一塊,不足128位元組的報文或數據幀尾也分為一塊,切分過程通過按數據塊讀出的方式實現。由於晶片內的數據存儲速度遠高於RxMAC 102接收數據的速度且數據存儲以128位元組塊為單位衡量,RxFIFO 104僅需設計為2個128位元組數據塊長度,最多不超過3個128位元組數據長度,即可支持全速率數據接收,無需考慮待處理的數據幀總長度。另外,為了適應輸入速度低,讀出速度高的特點,該RxFIFO 104可以設計為輸入位寬和輸出位寬不同,如RxMAC 102寫入RxFIFO 104的位寬為32bit,而輸入端數據通路模塊110讀取的位寬為64bit或128bit,從而減少RxMAC 102側的總線位寬,減少晶片面積。
輸入端輪詢及控制模塊116的功能是輪詢所有RxFIFO 104中數據接收的狀況,為每個數據幀申請可用的外部緩存,控制輸入端數據通路模塊110將數據幀寫入申請到的緩存中,當每個數據幀保存完畢時,將數據幀頭和數據幀的保存位置等控制信息通過數據幀信息先入先出型存儲器118發送給數據幀轉發及業務處理器120進行業務處理。
輸入端數據通路模塊110的功能是在輸入端輪詢及控制模塊116的控制下,將選中的RxFIFO 104的數據讀出發送到外部存儲器130的輸出總線上,如果是新數據幀,同時將該數據幀發送到相關埠的數據幀頭緩存中。另外,該單元具有數據插入功能,可在輸入數據被送到外部存儲器130前插入預設的數據,用於輸入數據幀的格式統一化操作,方便業務處理。輸入端數據通路模塊110在設計上主要是一個可進行數據插入的多路選一開關。
數據幀轉發及業務處理器120是由多個業務處理單元構成的多級流水線,用於完成乙太網交換需要支持的二層轉發、IP轉發、安全處理等業務功能。詳細的業務處理過程與本發明無關,本文不再討論。
數據幀轉發及業務處理器120通過數據幀信息先入先出型存儲器118和輸入端輪詢及控制模塊116以及數據幀頭緩存與輸入端數據接收過程連接,通過輸出隊列及調度器122和輸出端輪詢及控制模塊124與輸出端數據發送過程銜接,由於輸出隊列及調度器122的速率隔離作用,使得數據幀轉發及業務處理器120在結構上完全獨立於數據輸入輸出過程。另外,數據幀轉發及業務處理器120隻使用數據幀頭信息及輸入埠等信息即可決定數據幀轉發,因而數據幀轉發及業務處理器120的流水線的調整不會對數據發送和接收速度產生限制。這樣,無論業務處理過程如何變化,只要調整業務處理流水線的設計保證流水線全速運行,即可保證晶片系統提供全速率處理能力。同樣,如果乙太網埠增加或埠速率提高,則可以分別提高數據通路的性能和業務處理流水線的性能,兩者不構成互相制約關係。
輸出隊列及調度器122的功能是為每個埠提供多個隊列以便輸出到該埠的數據幀可以依次被發送。輸出隊列的配置結構、擁塞控制算法、調度輸出算法等是決定乙太網交換晶片提供的服務質量的關鍵,其詳細定義和處理過程與本發明無關,本文不再討論。
輸出隊列伺服器在功能上是一個先入先出型存儲器,將業務處理流水線與數據輸出過程隔離,詳細的隊列實現結構與本發明無關,本文不再討論。
調度器的功能是響應輸出端輪詢及控制模塊124對各埠的申請,從該埠的多個輸出隊列中選擇出待發送的數據幀。為了提高調度器的響應速度,調度器使用了「預調度」結構。所謂「預調度」,是指調度器預先為所有埠調度出一個數據幀,當輸出端輪詢及控制模塊124提出埠的調度申請時即可立刻提供調度結果,在輸出數據過程使用該調度結果的同時,調度器可完成該埠的下一個數據的調度,以便響應下一次對本埠的調度申請。通過「預調度」結構,使得輸出端輪詢和隊列調度可以並行操作,降低了對調度器的處理速度要求。
輸出端輪詢及控制模塊124的功能是輪詢TxFIFO 108的狀態,輪詢出至少有一個數據塊空閒的TxFIFO 108,則向調度器申請埠的待發數據幀信息,獲得返回信息後,根據其中的外部緩存地址從外部緩存128中讀出數據幀的內容,指示輸出端數據通路模塊114完成最後修改後,寫入到TxFIFO 108中。如果待發送數據長度超過一個數據塊大小,則需要多次輪詢該埠並進行多次發送操作。
TxFIFO 108用於暫存即將發送的數據。在本實施例中,雖然數據幀是切分成固定長度的數據塊保存在外部存儲器中,並且輸出過程也是以數據塊為單位讀取到TxFIFO 108中,但在TxFIFO 108中每一個數據塊是連續存放的,TxMAC 106隻需要依次連續發送即可,數據塊的切分不會對發送產生任何影響。由於晶片內的數據讀取速度遠高於TxMAC 106發送數據的速度,TxFIFO 108僅需設計為2個128位元組數據塊長度,最多不超過3個128位元組數據長度,即可支持全速率數據發送,無需考慮待處理的數據幀總長度,這將可以減少晶片面積。同樣,為了適應輸入速度要求高,讀出速度要求低的特點,TxFIFO 108也可以設計為輸入位寬和輸出位寬不同,如TxMAC 106側為32bit,輸出端數據通路模塊114側為64bit或128bit,以減少RxMAC 102側的總線位寬,減少晶片面積。
外部存儲器接口控制器112接收輸入端輪詢及控制模塊116的寫外部存儲器申請,將輸入數據通路模塊110發送到外部存儲器輸入總線上的數據寫入到外部存儲器130中,並接收輸出端輪詢及控制模塊124的讀外部存儲器申請,將外部存儲器130中的數據通過外部存儲器輸出總線發送到輸出數據通路模塊114,每次讀寫操作為1~128位元組。
由於DDR SDRAM 130訪問需要預充電、激活等操作才能進行讀寫操作,想要獲得高帶寬訪問能力必須謹慎設計訪問時序。外部存儲器接口控制器使用了專利算法協調讀寫申請,設置訪問時序,為數據緩存過程提供足夠的存儲器帶寬支持。由於該專利內容不影響本發明涉及的技術方案,本文不對該專利進行詳細描述,具體內容請參考有關專利設計文檔。
緩存管理器126的功能是維護數據幀緩存,也就是維護外部存儲器130的使用。本實施例使用了按128位元組數據塊為單元進行讀寫,但按照最長數據幀維護數據幀緩存的方法,具體內容為將所有外部存儲器130按最長數據幀字節為單位進行劃分,如2048位元組,稱為緩存單元,每個緩存單元以一個地址表示,可直接對應到外部存儲器地址。對每個新進入的數據幀,都分配一個緩存,無論真正的數據佔用了多少內容,空閒字節都不能給其他數據幀使用,數據幀在內部處理時都始終攜帶緩存單元地址和數據幀長度,這樣在數據幀輸出時使用這兩個信息就可以正確的讀出外部存儲器130中的數據。使用這種方法,緩存管理器只需對每個緩存單元進行維護即可,一個數據幀只會使用一個緩存單元,從而減少了緩存管理器需要操作的數據量,從而以粗粒度的使用低價外部存儲器的方式換取了晶片內部數據量的大幅減少,並且簡化了晶片算法開銷。
如前,以128位元組為單元進行數據讀寫的過程完全在輸入端和輸出端輪詢及控制模塊124中完成,緩存管理器不再需要介入,減少了緩存管理器的設計要求。
緩存管理的過程包括緩存分配和緩存回收兩個過程。緩存分配發生在數據輸入過程中,由輸入端輪詢及控制模塊116提出分配申請,緩存管理器126收到中請後返回一個未用的緩存單元地址即可。緩存回收發生在隊列和數據輸出過程中,輸出隊列發送完畢或如果發生了擁塞需要丟棄數據幀,此時由輸出隊列及調度器122用緩存單元地址向緩存管理器126提出釋放申請,緩存管理器126對相應緩存單元的控制信息進行釋放操作。業務轉發過程會導致一些數據幀因業務原因被丟棄,所有丟棄數據幀的緩存釋放申請可由輸出端輪詢及控制模塊124使用保存在數據幀控制信息中的緩存單元地址向緩存管理器126申請,由緩存管理器126進行釋放操作。
緩存管理過程中需要區別單播和多播兩種情況。單播是「單入單出」的數據幀,多播是「單入多出」的數據幀,數據幀轉發過程中,多播只有一份拷貝存放在外部存儲器130中,需要進行多次輸出時則對這份拷貝進行多次讀操作。為統一單播和多播轉發時的緩存管理,緩存管理算法中使用了「數據幀引用計數器」的方法,為每個數據幀單元地址設置一個計數器,新數據幀進行緩存申請時,先為分配的緩存單元配置一個最大值的計數器,當業務處理單元完成輸出隊列的入隊操作後,即可以知道每個數據幀的實際複製份數,單播為一份,多播為一份或多份,緩存管理器126根據輸出隊列及調度器112發送的數據幀複製狀況更新緩存單元的計數器,以精確反映數據幀的複製數量,當數據幀從數據輸出通路發送時,每發送一個數據幀就對相應緩存單元的計數器進行減操作,只有當已用數據幀單元的計數器減為零時,才表示這個單元的所有多播數據幀都被發送完畢,該緩存單元可被回收用於新數據幀。
需要說明的是,使用何種緩存管理方法並非本發明的關鍵技術,任何能提供緩存分配和回收機制的方法都可以支撐本發明的核心方案,以上進行詳細說明僅僅是為了使本發明的闡述更加清晰和完整。
對於每個輸入的數據幀,首先由RxMAC 102接收並保存到RxFIFO 104中。輸入端輪詢及控制模塊116不斷輪詢各埠的RxFIFO 104接收數據的狀態,只要發現有埠收到了一個完整數據塊,則進行輸入緩存操作。輸入緩存操作首先要向緩存管理器126申請緩存單元,也就是外部存儲器地址,獲得地址後通過外部存儲器輸入總線將RxFIFO 104中的數據通過輸入端數據通路模塊110及外部存儲器接口控制器112寫入到外部存儲器130中,對於超過一個數據塊長度的數據幀,數據幀頭以後的數據塊不再需要申請新的存儲器地址,只需由輸入端輪詢及控制模塊116自動進行地址運算即可獲得外部存儲地址。
對每個數據幀,都要將數據幀頭以一定字節長度的信息保存在為每埠設置的數據幀頭緩存中,連同數據幀全部保存完畢後由輸入端輪詢及控制模塊116提供的控制信息一起,交由數據幀轉發及業務處理器進行數據幀轉發和業務處理,經過業務處理後可獲得數據幀的輸出埠和數據幀修改控制信息。所有這些信息組成輸出數據幀控制信息,包括緩存單元地址、數據幀長度、數據幀輸出埠、數據幀輸出修改指令等,作為一個數據幀控制包進入輸出隊列,等待從輸出埠發送出去。單播數據幀僅被送入一個輸出埠隊列,多播數據幀會被送入一個或多個輸出埠隊列。數據幀送入輸出埠隊列的統計信息由輸出隊列及調度器122發送給緩存管理器126,以便進行緩存單元使用計數維護。
在輸出側,輸出端輪詢及控制模塊124不斷輪詢TxFIFO 108發送數據的狀態,只要發現有埠有一個或多個空閒數據塊空間,就向輸出隊列及調度器122發送調度申請。如果輸出埠對應的輸出隊列中有待發送數據,輸出隊列及調度器122將返回其數據幀控制信息,輸出端輪詢及控制模塊124對該控制信息進行解析,用存儲器地址信息向外部存儲器接口控制器發出讀申請,用數據幀長度信息控制多次讀過程,用輸出修改指令控制輸出端數據通路模塊114進行數據幀修改,即可完成數據從外部存儲器130讀出並經過外部存儲器輸出總線和輸出端數據通路模塊114發送到TxFIFO108,並且完成必須的數據幀修改的過程。每完成一個數據幀的發送,輸出端輪詢及控制模塊124都向緩存管理器126發送一個釋放申請,如果來自調度器的是需要直接丟棄的數據幀,則不進行任何輸出操作,直接向緩存管理器發送一個釋放申請。
發送到TxFIFO 108中的數據由TxMAC 106發送到網絡,即完成數據幀的轉發。
圖2是根據本發明的多埠乙太網交換裝置的運行方法的框圖。該多埠乙太網交換晶片的運行方法是採用存儲轉發和共享緩存的方式進行的,包括以下步驟步驟202,控制通路控制數據通路將從網絡接收的數據幀不經過任何業務處理就儲存在外部存儲器130中。
步驟204,控制通路採用多級流水線方式對數據幀控制信息進行處理。
步驟206,控制通路根據業務處理流水線對數據幀的處理結果,控制數據通路讀出儲存在外部存儲器130中的數據幀,對其進行必要的修改後發送到網絡。
其中,步驟202包括以下步驟步驟202a,接收端乙太網媒體控制器102從網絡接收數據幀,並將接收的數據幀傳送到接收端先入先出型存儲器104中。
步驟202b,接收端先入先出型存儲器104在暫存數據幀的同時,將數據幀進行切分。
步驟202c,輸入端輪詢及控制模塊110對埠的接收端先入先出型存儲器104不斷進行輪詢,輪詢出一個已接收到數據幀的埠,進行數據幀緩存單元地址維護和業務處理準備。
步驟202d,將接收端先入先出型存儲器104中的數據通過輸入端數據通路模塊110及外部存儲器接口控制器112寫入到外部存儲器130中。
其中,步驟206包括以下步驟步驟206a,輸出端輪詢及控制模塊124不斷輪詢發送端先入先出型存儲器108發送數據的狀態,直到發現有埠有一個或多個空閒數據塊空間。
步驟206b,檢查該埠的數據幀是否已經發送完畢,如果數據幀已經發送完畢,則向輸出隊列及調度器122申請新的待發送數據幀,並使用數據幀控制信息中的外部緩存地址將數據幀從外部存儲器130中讀出;如果數據幀還沒有發送完畢,則使用埠狀態中的地址信息將數據幀從所述外部存儲器中讀出。
步驟206c,輸出端數據通路模塊114在輸出端輪詢及控制模塊124的控制下對讀出的數據幀進行修改,並將其寫入發送端先入先出型存儲器108。
步驟206d,輸出端輪詢及控制模塊114對數據幀緩存單元地址進行維護,發送端乙太網媒體控制器106將數據幀發送到網絡。
圖3是根據本發明的輸入端輪詢及控制模塊的邏輯結構圖。其中,輸入端輪詢及控制模塊包括輸入端輪詢模塊302,用於接收來自所述接收端先入先出型存儲器104的狀態信息,完成對所述接收端先入先出型存儲器狀態的輪詢,選擇出待處理的埠。
輸入端狀態維護模塊304,接收來自所述輸入端輪詢模塊302的待處理埠,待處理埠中是新幀時向所述緩存管理器126申請可用外部緩存並維護埠數據寫入狀態信息,不是新幀時直接檢查和維護埠數據寫入狀態信息,狀態檢查和維護的輸出結果為數據寫入外部緩存的地址,如果待處理埠中是新幀,需輸出新幀頭緩存控制信號,如果待處理埠是幀尾需輸出幀尾指示信號。
數據幀頭緩存寫入控制模塊306,接收來自所述輸入端狀態維護模塊304的新幀頭緩存控制信號,控制所述數據通路將數據幀頭寫入數據幀頭緩存128。
輸入端數據存儲控制模塊308,接收來自所述輸入端狀態維護模塊304的寫入外部緩存的地址信息,控制所述數據通路將選中的所述接收端先入先出型存儲器104中的數據幀寫入外部存儲器輸出總線;以及輸入端數據幀控制信息生成模塊310,接收來自所述輸入端狀態維護模塊304的幀尾指示信號後,將埠狀態信息中的有關信息構造為數據幀控制信息,輸出到所述數據幀信息先入先出型存儲器118中。
圖4是根據本發明的輸入端輪詢及控制模塊的工作過程流程圖。輸入端輪詢及控制模塊的工作過程包括以下步驟步驟402,輸入端輪詢模塊302對所有埠的接收端先入先出型存儲器104的狀態進行輪詢,輪詢出某個已經接收到一個數據塊的接收端先入先出型存儲器104。
步驟404,輸入端狀態維護模塊304判斷接收到的數據幀是否是新數據幀。
步驟406,如果是新數據幀,向緩存管理器126申請可用的外部緩存地址。
步驟408,如果是新數據幀,數據幀頭緩存寫入控制模塊306將一控制信號發送到數據幀頭緩存,將新數據幀的數據幀頭寫入數據幀頭緩存128中。
步驟410,輸入端數據存儲控制模塊控制接收端先入先出型存儲器和輸入端數據通路模塊以及外部存儲器接口控制器將接收到的數據塊寫入外部存儲器130中。
步驟412,輸入端狀態維護模塊維護埠數據的寫入信息和狀態。
步驟414,接收端乙太網媒體控制器102判斷是否是數據幀尾,並將該信息通過指定信息位傳送給輸入端狀態維護模塊。
步驟416,如果是數據幀尾,輸入端狀態維護模塊調整埠信息。
步驟418,輸入端數據幀控制信息生成模塊310生成數據幀控制信息並將其寫入數據幀信息先入先出型存儲器118中。
步驟420,接收端先入先出型存儲器104處理結束,進行下一次輪詢及處理。
在數據寫入外部緩存的過程中,輸入端輪詢及控制模塊116向待操作的RxFIFO發送讀指令,指令輸入端數據通路模塊110接收該RxFIFO 104的輸出,向外部存儲器接口發送寫申請,即可完成數據從RxFIFO 104讀出並寫入外部存儲器130的數據保存過程。
如果輸入埠數量較少,RxFIFO數量少,輸入端輪詢及控制模塊可以採用單級輪詢結構,即每次都檢查所有埠RxFIFO的狀態,選擇出接收到完整數據塊的埠,然後進行有關處理。如果輸入埠數量較多,RxFIFO數量大,輸入端數據輪詢及控制模塊可以採用多級輪詢結構,即將埠分成多個組,每個組內各自進行輪詢,再對所有組的輪詢結果進行組間輪詢,選擇出每次需要處理的RxFIFO埠。採用多級輪詢結構的目的是儘可能快的從所有RxFIFO中迅速找到需要處理的RxFIFO,如果只採用單級輪詢結構而RxFIFO數量很多,直接從中找出待處理的RxFIFO需要消耗晶片面積和較長的運算時間。
圖5是根據本發明的輸出端輪詢及控制模塊的邏輯結構圖。其中,輸出端輪詢及控制模塊包括輸出端輪詢模塊502,用於接收所述發送端先入先出型存儲器的狀態信息,完成對所述發送端先入先出型存儲器狀態的輪詢,選擇出待處理的埠。
輸出端狀態維護模塊504,接收來自所述輸出端輪詢模塊的待處理埠,待處理埠若已完成一個數據幀的發送則向所述輸出隊列及調度器122提出數據幀申請,所述輸出隊列及調度器122返回調度出的數據幀信息給所述輸出端狀態維護模塊用以維護埠發送狀態信息,待處理埠的數據幀若未發送完畢則直接檢查和維護埠的數據幀發送狀態,狀態檢查和維護的輸出結果為用於從外部緩存讀取數據的地址,狀態檢查和維護還用於判斷數據幀是否已發送完畢,如果數據幀發送完畢則所述輸出端狀態維護模塊504使用保存在數據幀控制信息中的緩存單元地址向所述緩存管理器126提出釋放申請,緩存管理器126對相應緩存單元的控制信息進行釋放操作,如果前述輸出隊列及調度器122返回的數據幀表明數據幀因某種原因已被標記為丟棄,則所述輸出端狀態維護模塊504使用保存在數據幀控制信息中的緩存單元地址向所述緩存管理器126提出釋放申請,緩存管理器126對相應緩存單元的控制信息進行釋放操作。
輸出端數據幀讀出及修改控制模塊506,接收來自所述輸出端狀態維護模塊504的地址信號,控制所述輸出端數據通路模塊114從所述外部存儲器接口控制器讀出數據,並控制所述輸出端數據通路模塊完成對數據幀的修改,修改後的數據被控制寫入到所述發送端先入先出型存儲器108中。
圖6是根據本發明的輸出端輪詢及控制模塊的工作過程流程圖。輸出端輪詢及控制模塊的工作過程包括以下步驟步驟602,輸出端輪詢模塊502輪詢出至少有一個空閒數據塊的發送端先入先出型存儲器104。
步驟604,輸出端狀態維護模塊504判斷該埠的數據幀是否已經發送完畢。
步驟606,如果埠的幀已經發送完畢,那麼輸出端狀態維護模塊向輸出隊列及調度器122申請新的待發送數據幀。
步驟608,輸出端數據幀讀出及修改控制模塊506控制輸出端數據通路模塊和發送端先入先出型存儲器108,將數據塊從外部存儲器130中讀出、修改,並寫入發送端先入先出型存儲器108中。
步驟610,輸出端狀態維護模塊504維護埠的幀發送狀態。
步驟612,發送端先入先出型存儲器108處理結束,進行下一次輪詢及處理。
在數據讀出外部緩存過程中,輸出端輪詢及控制模塊124向外部存儲器接口發送讀申請,指示輸出端數據通路模塊114接收該TxFIFO 108的輸入,向待操作的TxFIFO 108發送寫指令,即可完成數據從RxFIFO 104讀出並寫入外部存儲器130的數據保存過程。另外,在進行上述操作的過程中,輸出端輪詢及控制模塊124可向輸出端數據通路模塊114發送數據修改指令,以完成對發送數據幀的修改。
與輸入端輪詢及控制模塊類似,輸出端輪詢及控制模塊可以採用單級輪詢結構,也可以採用多級輪詢結構以提高輪詢速度並減少晶片面積消耗。
以上所述僅為本發明的優選實施例而已,並不用於限制本發明,對於本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種多埠乙太網交換裝置,採用存儲轉發和共享緩存的工作方式,其特徵在於,所述交換裝置具有業務轉發過程與數據存取過程分離的結構。
2.根據權利要求1所述的多埠乙太網交換裝置,其特徵在於,包括數據通路,用於將從網絡接收的數據幀不作任何業務處理就保存到一外部存儲器中,並響應於控制通路的控制,將數據幀讀出,進行處理後發送到所述網絡;以及控制通路,採用多級流水線結構,用於對數據幀控制信息進行處理,控制所述數據通路對數據幀的發送過程。
3.根據權利要求2所述的多埠乙太網交換裝置,其特徵在於,所述數據通路包括接收端乙太網媒體控制器,用於從網絡接收數據幀;接收端先入先出型存儲器,用於暫存所述接收端乙太網媒體控制器接收的數據幀,並且對數據幀進行切分;輸入端數據通路模塊,用於將選中的數據幀從所述接收端先入先出型存儲器中讀出並完成數據插入後發送到外部存儲器輸出總線上;外部存儲器接口控制器,與所述輸入端數據通路模塊和輸出端數據通路模塊連接,用於控制數據存入和讀出外部存儲器的過程;輸出端數據通路模塊,對即將輸出的數據幀進行必要的修改、插入、或刪除操作,然後將數據幀發送到發送端先入先出型存儲器中;發送端先入先出型存儲器,用於暫存來自所述輸出端數據通路模塊的、即將發送的數據幀;以及發送端乙太網媒體控制器,與所述發送端先入先出型存儲器連接,用於將處理後的數據幀發送到網絡。
4.根據權利要求3所述的多埠乙太網交換裝置,其特徵在於,所述輸入端數據通路模塊在設計上是多路選一開關。
5.根據權利要求2所述的多埠乙太網交換裝置,其特徵在於,所述控制通路包括輸入端輪詢及控制模塊,用於對接收端先入先出型存儲器的狀態進行輪詢和控制,並控制所述輸入端數據通路模塊和數據幀頭緩存,使其將接收的數據儲存到所述外部存儲器中;數據幀信息先入先出型存儲器,用於儲存來自所述輸入端輪詢及控制模塊的數據幀控制信息;數據幀轉發及業務處理器,接收所述數據幀信息先入先出型存儲器和數據幀頭緩存中的數據幀,完成轉發及業務處理;輸出隊列及調度器,用於為每個埠的多個輸出隊列中的每個隊列提供調度服務,所述輸出隊列及調度器接收來自所述數據幀轉發及業務處理器的數據幀控制信息,控制緩存管理器釋放緩存,並且將所述數據幀控制信息發送到所述輸出端輪詢及控制模塊;輸出端輪詢及控制模塊,用於輪詢發送端先入先出型存儲器的狀態,向所述輸出隊列及調度器發出調度申請,根據調度出的數據幀控制信息,控制所述輸出端數據通路模塊及所述外部存儲器接口控制器將數據幀從外部存儲器讀出並發送到所述發送端先入先出型存儲器,並向緩存管理器提交維護信息;以及緩存管理器,用於維護外部存儲器的使用。
6.根據權利要求5所述的多埠乙太網交換裝置,其特徵在於,所述數據幀轉發及業務處理器由多個業務處理單元構成,形成多級流水線結構。
7.根據權利要求5所述的多埠乙太網交換裝置,其特徵在於,所述輸入端輪詢及控制模塊包括輸入端輪詢模塊,用於接收來自所述接收端先入先出型存儲器的狀態信息,完成對所述接收端先入先出型存儲器狀態的輪詢,選擇出待處理的埠號;輸入端狀態維護模塊,接收來自所述輸入端輪詢模塊輪詢出的待處理埠的數據幀,當所述數據幀是新數據幀時,所述輸入端狀態維護模塊向所述緩存管理器申請可用的外部緩存,並維護埠數據寫入狀態信息,將新數據幀頭緩存控制信號輸出到所述數據幀頭緩存中;當所述數據幀不是新數據幀時,直接檢查和維護埠數據寫入狀態信息,狀態檢查和維護的輸出結果為數據寫入外部緩存的地址,如果是數據幀尾,則將幀尾指示信號輸出到所述數據幀頭緩存中;數據幀頭緩存寫入控制模塊,接收來自所述輸入端狀態維護模塊的新數據幀頭緩存控制信號,控制所述數據通路將數據幀頭寫入數據幀頭緩存;輸入端數據存儲控制模塊,接收來自所述輸入端狀態維護模塊的寫入外部緩存的地址信息,控制所述數據通路將選中的所述接收端先入先出型存儲器中的數據幀寫入外部存儲器輸出總線;以及輸入端數據幀控制信息生成模塊,接收來自所述輸入端狀態維護模塊的幀尾指示信號後,將埠狀態信息中的有關信息構造為數據幀控制信息,輸出到所述數據幀信息先入先出型存儲器中。
8.根據權利要求5所述的多埠乙太網交換裝置,其特徵在於,所述輸出隊列及調度器包括輸出隊列伺服器,用於提供服務等級,將數據幀轉發及業務處理器與數據輸出通路隔開;以及調度器,根據所述輸出端輪詢及控制模塊的請求從埠隊列中輸出一個數據幀。
9.根據權利要求8所述的多埠乙太網交換裝置,其特徵在於,所述輸出隊列伺服器在功能上是先入先出型存儲器。
10.根據權利要求8所述的多埠乙太網交換裝置,其特徵在於,所述調度器採用預調度結構,預先為每個埠調度出一個數據幀,當輸出端輪詢及控制模塊提出埠的調度申請時,可以立刻提供調度結果。
11.根據權利要求5所述的多埠乙太網交換裝置,其特徵在於所述輸出端輪詢及控制模塊包括輸出端輪詢模塊,用於接收所述發送端先入先出型存儲器的狀態信息,完成對所述發送端先入先出型存儲器狀態的輪詢,選擇出待處理的埠號;輸出端狀態維護模塊,接收來自所述輸出端輪詢模塊輪詢的待處理埠的數據幀,檢查和維護埠的數據幀發送狀態,並且判斷數據幀是否已發送完畢,如果數據幀發送完畢則向所述緩存管理器提出釋放申請,緩存管理器對相應緩存單元的控制信息進行釋放操作,如果返回的數據幀表明數據幀因某種原因已被標記為丟棄,則所述狀態維護模塊使用保存在數據幀控制信息中的緩存單元地址向所述緩存管理器提出釋放申請,緩存管理器對相應緩存單元的控制信息進行釋放操作;以及輸出端數據幀讀出及修改控制模塊,接收來自所述輸出端狀態維護模塊的地址信號,控制所述輸出端數據通路模塊從所述外部存儲器接口控制器讀出數據,並控制所述輸出端數據通路模塊完成對數據幀的處理,處理後的數據被寫入到所述發送端先入先出型存儲器中。
12.一種多埠乙太網交換裝置的數據傳輸方法,其特徵在於,所述運行方法包括以下步驟步驟202,所述控制通路將從網絡接收的數據幀儲存在外部存儲器中;以及步驟204,所述控制通路採用多級流水線方式對數據幀控制信息進行處理;以及步驟206,所述控制通路根據處理結果,控制所述數據通路讀出儲存在所述外部存儲器中的數據幀,對所述數據幀進行必要處理後將其發送到網絡。
13.根據權利要求12所述的數據傳輸方法,其特徵在於,所述步驟202包括以下步驟步驟202a,所述接收端乙太網媒體控制器從網絡接收數據幀,並將接收的數據幀傳送到所述接收端先入先出型存儲器中;步驟202b,所述接收端先入先出型存儲器在暫存數據幀的同時,將數據幀進行切分;步驟202c,所述輸入端輪詢及控制模塊對埠的接收端先入先出型存儲器進行輪詢,輪詢出已接收到數據幀的埠,進行數據幀緩存單元地址維護和業務處理準備;以及步驟202d,將所述接收端先入先出型存儲器中的數據通過所述輸入端數據通路模塊及所述外部存儲器接口控制器寫入到外部存儲器中。
14.根據權利要求12所述的數據傳輸方法,其特徵在於,所述步驟206包括以下步驟步驟206a,所述輸出端輪詢及控制模塊不斷輪詢所述發送端先入先出型存儲器發送數據的狀態,直到發現有埠有一個或多個空閒數據塊空間;步驟206b,檢查所述埠的數據幀是否已經發送完畢,如果數據幀已經發送完畢,則向所述輸出隊列及調度器申請新的待發送數據幀,並使用數據幀控制信息中的外部緩存地址將新的數據幀從外部存儲器中讀出;如果所述數據幀還沒有發送完畢,則使用埠狀態中的地址信息將所述數據幀從所述外部存儲器中讀出;步驟206c,所述輸出端數據通路模塊在所述輸出端輪詢及控制模塊的控制下對讀出的數據幀進行修改,並將其寫入所述發送端先入先出型存儲器;步驟206d,所述輸出端輪詢及控制模塊對數據幀緩存單元地址進行維護,所述發送端乙太網媒體控制器將數據幀發送到網絡。
15.根據權利要求12所述的數據傳輸方法,其特徵在於,所述輸入端輪詢及控制模塊進行輪詢及處理的過程為步驟402,所述輸入端輪詢模塊對所有埠的接收端先入先出型存儲器的狀態進行輪詢,輪詢出某個已經接收到一個數據塊的接收端先入先出型存儲器;步驟404,所述輸入端狀態維護模塊判斷接收到的數據幀是否是新數據幀;步驟406,如果是新數據幀,向所述緩存管理器申請可用的外部緩存地址;步驟408,如果是新數據幀,所述數據幀頭緩存寫入控制模塊將一控制信號發送到所述數據幀頭緩存,將新數據幀的數據幀頭寫入所述數據幀頭緩存中;步驟410,所述輸入端數據存儲控制模塊控制所述接收端先入先出型存儲器和所述輸入端數據通路模塊以及所述外部存儲器接口控制器將接收到的數據塊寫入外部存儲器中;步驟412,所述輸入端狀態維護模塊維護埠數據的寫入信息和狀態;步驟414,接收端乙太網媒體控制器判斷是否是數據幀尾,並將該信息通過指定信息位傳送給輸入端狀態維護模塊;步驟416,如果是數據幀尾,所述輸入端狀態維護模塊調整埠信息;步驟418,所述輸入端數據幀控制信息生成模塊生成數據幀控制信息並將其寫入數據幀信息先入先出型存儲器中;以及步驟420,所述接收端先入先出型存儲器處理結束,進行下一次輪詢及處理。
16.根據權利要求14或15所述的數據傳輸方法,所述輸入端數據輪詢及控制模塊採用多級輪詢結構,即將埠分成多個組,每個組內各自進行輪詢,再對所有組的輪詢結果進行組間輪詢,選擇出每次需要處理的接收端先入先出型存儲器埠號。
17.根據權利要求14所述的數據傳輸方法,其特徵在於,所述輸出端輪詢及控制模塊進行輪詢及處理的過程為步驟602,所述輸出端輪詢模塊輪詢出至少有一個空閒數據塊的發送端先入先出型存儲器;步驟604,所述輸出端狀態維護模塊判斷該埠的數據幀是否已經發送完畢;步驟606,如果所述埠的數據幀已經發送完畢,那麼所述輸出端狀態維護模塊向輸出隊列及調度器申請新的待發送數據幀;步驟608,所述輸出端數據幀讀出及修改控制模塊控制所述輸出端數據通路模塊和所述發送端先入先出型存儲器,將數據塊從外部存儲器中讀出、修改,並寫入發送端先入先出型存儲器中;步驟610,所述輸出端狀態維護模塊維護埠的幀發送狀態;以及步驟612,所述發送端先入先出型存儲器處理結束,進行下一次輪詢及處理。
全文摘要
本發明提供了一種多埠乙太網交換裝置及數據傳輸方法,該處理裝置基於存儲轉發和共享緩存的方式,其特徵在於,該交換裝置具有業務轉發過程與數據存取過程分離的結構,包括數據通路,用於將從網絡接收的數據幀不作任何業務處理就保存到一外部存儲器中,並響應於控制通路的控制,將數據幀讀出,進行必要的處理後發送到網絡;以及控制通路,採用多級流水線結構,用於對數據幀控制信息進行處理,控制所述數據通路對數據幀的發送過程。
文檔編號H04L12/56GK1859275SQ200510036218
公開日2006年11月8日 申請日期2005年7月27日 優先權日2005年7月27日
發明者林鬱, 梅柳波, 林暉, 崔靖傑 申請人:華為技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀