用于網絡交換機中的表老化的方法和裝置的制造方法【
技術領域:
】[0001]本發明涉及高速網絡交換機中的表老化(tableaging)。更具體地,本發明涉及用于網絡交換機中的表老化的方法和裝置。【
背景技術:
】[0002]現有技術的網絡交換機實施表老化。具體而言,在分組處理階段期間,在某個表處完成查找。該表中的匹配的條目被標注為命中。在存儲器中存儲用于所有表條目的條目命中信息。周期性硬件或者軟件過程監控條目命中信息。如果表條目未被命中一段時間則可以執行動作。例如,MAC地址的老化被用來驅逐和更新轉發表條目。在一些其它情況下,這一機制可以用于網絡調試。[0003]現有技術的網絡交換機分配用來老化固定表集合的固定存儲器集合。在現代片上系統(S0C)設計中,嵌入式存儲器的面積和功率預算通常主導總芯片預算。作為結果,高效地和靈活地利用有限的存儲器資源是關鍵的。[0004]軟件定義的聯網(SDN)已經作為對行業的顛覆性創新而出現。它提倡網絡設備的控制平面和高速數據平面的分離。傳統上在專門化的硬件交換機芯片中完成網絡的控制,諸如流管理、路由更新、表老化。然而,在新的SDN時代中,這些復雜化的功能被移入分離的控制器中。這樣的改變需要一種用于數據平面,最特別地是網絡交換機芯片的架構和實現方式的新的和不同的方法。【
發明內容】[0005]本發明的實施例涉及一種集中式表老化模塊,該集中式表老化模塊高效地和靈活地利用嵌入式存儲器資源,并且該集中式表老化模塊實現和促進分離的網絡控制器。集中式表老化模塊使用嵌入式存儲器資源來并行執行表的老化。表老化模塊執行年齡標記過程和年齡刷新過程。存儲器資源包括年齡標記存儲器和年齡屏蔽存儲器。向年齡標記存儲器應用年齡標記。年齡屏蔽存儲器提供關于表條目的老化的每條目控制粒度。[0006]在一個方面中,提供一種網絡交換機。該網絡交換機包括至少一個核,該至少一個核包括多個處理單元。網絡交換機也包括片上存儲器,該片上存儲器存儲多個搜索表。多個處理單元與片上存儲器通信以執行表搜索。網絡交換機也包括表老化模塊,表老化模塊包括它自身的嵌入式存儲器。表老化模塊能夠老化多個搜索表中的任何搜索表。在一些實施例中,一旦存在搜索表命中,表老化模塊從對應搜索請求接收表ID和命中地址。[0007]在一些實施例中,表老化模塊執行年齡標記過程和年齡刷新過程。每當對應的搜索表命中發生時,年齡標記過程將年齡存儲器位設置為被標記(例如,為1)。年齡刷新過程檢查與搜索表對應的所有年齡存儲器位。檢查基于配置的周期時間周期性地發生或者由軟件具體地觸發。當年齡存儲器位為未標記(例如,為〇)時,向軟件通知相應表條目過時,并且當年齡存儲器位被標記(例如,1)時,年齡存儲器位被重置為未標記(例如,〇),以為下一輪的年齡標記和年齡刷新做準備。[0008]在一些實施例中,網絡也包括由表老化模塊使用的老化配置集合。老化配置集合包括配置、年齡簡檔和中央老化存儲器池。[0009]在一些實施例中,多個搜索表中的每個搜索表在老化配置中的一個老化配置中并且包括老化啟用位和指向年齡簡檔中的一個年齡簡檔的指針。[0010]在一些實施例中,年齡簡檔中的每個年齡簡檔都指定用于搜索表的刷新時間段并且指定中央老化存儲器池中的老化存儲器分配。中央老化存儲器池是嵌入式的。備選地,中央老化存儲器池是片上存儲器的一部分。[0011]在一些實施例中,中央老化存儲器池包括年齡標記存儲器和年齡屏蔽存儲器。在一些實施例中,年齡標記存儲器和年齡屏蔽存儲器中的每個存儲器包含多個物理存儲器塊(tile),其中中央老化存儲器池的存儲器被分組成塊。向年齡標記存儲器應用年齡做標記。年齡屏蔽存儲器提供每條目控制粒度,其中在屏蔽位被設置成〇時,對應表條目不參與老化過程。[0012]在另一方面中,提供了一種在網絡交換機中的表老化模塊。表老化模塊包括老化存儲器塊。老化存儲器塊通常包括年齡標記存儲器和年齡屏蔽存儲器。[0013]表老化模塊也包括年齡標記過程。年齡標記過程通常包括用于緩存針對表命中的對老化存儲器塊的年齡標記輸入的輸入隊列。[0014]表老化模塊也包括年齡刷新過程。年齡刷新過程通常包括年齡標記存儲器中的讀出的年齡標記數據與年齡屏蔽存儲器中的屏蔽位的逆的逐位或(0R)運算。[0015]在一些實施例中,表老化模塊也包括年齡中斷隊列。當運算的結果不是全1時,結果和存儲器塊地址以及用于老化存儲器行的行地址被推送到年齡中斷隊列中,該老化存儲器行與搜索表條目的集合相對應。[0016]在一些實施例中,表老化模塊也包括用于控制年齡刷新過程的刷新狀態機。[0017]在又一方面中,提供了一種網絡交換機的方法。該方法包括并行處理多個表搜索請求。該方法也包括,在表命中時生成用于由表老化模塊處理的信息。該方法也包括表老化模塊使用中央老化存儲器池來并行執行表的老化。表老化模塊使用生成的信息來執行表的老化。[0018]在一些實施例中,表的老化包括兩個分離過程,這兩個分離過程包括年齡標記過程和年齡刷新過程。在一些實施例中,可以暫停年齡刷新過程。[0019]在一些實施例中,該方法也包括,在并行處理多個表搜索請求之前,可編程地指派塊的第一子集作為年齡標記存儲器、可編程地指派塊的第二子集為年齡標記存儲器以及可編程地配置表老化模塊。【附圖說明】[0020]前文將從如附圖中所示的本發明的示例實施例的以下更具體描述中變得明顯,在附圖中,相似標號指代貫穿不同視圖的相同部分。附圖未必按比例,相反重點在于圖示本發明的實施例。[0021]圖1圖示了根據本發明的實施例的網絡交換機的示例性方面。[0022]圖2圖示了根據本發明的實施例的老化配置集合。[0023]圖3圖示了根據本發明的實施例的示例性中央老化存儲器池。[0024]圖4圖示了根據本發明的實施例的表老化模塊的框圖。[0025]圖5圖示了根據本發明的實施例的老化的方法。【具體實施方式】[0026]在以下描述中,出于說明的目的而闡述許多細節。然而,本領域普通技術人員將認識到,可以在不使用這些具體細節的情況下實現本發明。因此,本發明不旨在被限于所示實施例,而是將被賦予與在此描述的原理和特征一致的最廣范圍。[0027]本發明的實施例涉及一種集中式表老化模塊,該集中式表老化模塊高效地和靈活地利用嵌入式存儲器資源,并且實現和促進分離的網絡控制器。集中式表老化模塊使用嵌入式存儲器資源來并行執行表的老化。表老化模塊執行年齡標記過程和年齡刷新過程。存儲器資源包括年齡標記存儲器和年齡屏蔽存儲器。向年齡標記存儲器應用年齡標記。年齡屏蔽存儲器提供關于表條目的老化的每條目控制粒度。[0028]圖1圖示了根據本發明的實施例的網絡交換機100的示例性方面。網絡交換機100包括一個或者多個核105和流量管理器110。每個核105通常包括多個流水線級。多個流水線級包括多個分組處理單元115和至少一個分組修改器120。在一個或者多個核105中的所有處理單元115、120與片上存儲器125通信以執行表搜索。片上存儲器125可以存儲一個或者多個搜索表。搜索表是當前第1頁1 2 3