媒體存取控制地址的管理方法及其相關媒體存取控制晶片的製作方法
2023-07-28 04:22:16 2
專利名稱::媒體存取控制地址的管理方法及其相關媒體存取控制晶片的製作方法
技術領域:
:本發明有關於一種地址表的管理方法及其相關裝置,特別地關於媒體存取控制地址表的管理方法及其相關媒體存取控制晶片。
背景技術:
:乙太網絡交換器可以提供多埠的網絡連結,每一個埠可供線速度(linespeed)10M/100M/1000M(1M=106)的全雙工資料傳收。乙太網絡交換器的核心為媒體存取控制器(mediumaccesscontroller,簡稱MACcontroller),典型地負責網絡七層運作中第二層及部分第三層以上的工作,媒體存取控制器耦接實體層(physicallayer,簡稱PHY),以提供多埠的網絡連結,負責與遠程實體訊號的傳收。媒體存取控制器先暫存所有連接端所接收的封包資料,再轉送至指定的目的連接埠,媒體存取控制器通常利用外掛內存晶片或者內建整合的有限內存進行封包資料的暫存,例如內建1M位(相當於128K字節)的靜態隨機存取內存,而乙太網絡交換器典型地為8端/16端/24端,有限的內存空間要同時供多個連接埠的資料暫存與轉送,因此內存的有效利用非常重要。乙太網絡交換器接收到的封包可以區分為單播(uni-cast)封包、多播(multi-cast)封包以及廣播(broadcast)封包,單播封包從乙太網絡交換器其中一埠接收後從另一端轉送出去,多播封包從乙太網絡交換器其中一埠接收後從其它多個端轉送出去,而廣播封包從乙太網絡交換器其中一埠接收後從其它所有端轉送出去。一般而言,乙太網絡封包的最大長度為1522位元組長,而在NAS/SAN系統中更有9.6K(1K=103)字節長的特長封包(jumbopacket)的應用。媒體存取控制器利用外掛或內建內存以緩衝暫存封包資料,媒體存取控制器於初始化階段便規劃該外掛或內建的內存以建立適當的數據結構與格式,以利後續的運用。圖1顯示乙太網絡封包100的結構,乙太網絡封包100包含目的媒體存取控制(destinationmediumaccesscontrol,簡稱DMAC)地址110、來源媒體存取控制(sourcemediumaccesscontrol,簡稱SMAC)地址120、酬載(payload)130、以及循環冗餘檢查碼(cyclicredundantcode,簡稱CRC)140,乙太網絡交換器會利用內建之的28K字節的靜態隨機存取內存,規劃出一塊地址表,用以記錄MAC地址與連接埠之間的關聯性,以利乙太網絡交換器自接收到乙太網絡封包100後,能快速地藉由查詢表格找到乙太網絡封包100應該被轉送的連接埠,靜態隨機存取內存大多是用來緩衝暫存從諸多連接埠湧入的乙太網絡封包,每個乙太網絡封包進入乙太網絡交換器之後,會利用SMAC地址120與其來源埠(sourceport),適當地記錄於地址表中(稱為學習過程),以供稍候的查詢,另一方面,乙太網絡交換器會將DMAC地址110進行查表,若可以找到對應資料,便可知道其相關聯的端屏蔽(portmask);但若無法查詢到對應資料,便會將其廣播出去。圖2顯示雙槽地址表200的示意圖,已知的雙槽地址存取技藝,舉例而言,將地址表200規劃成2K(K=210)個桶(bucket),每個桶具有兩個槽,可以用特定的桶地址指到桶的位置,桶210具有槽210A及槽210B,而桶220具有槽220A及槽220B,也就是說,共有2K個桶,每個桶具有A槽與B槽,每個槽用以顯示一MAC地址的相關信息,每個MAC地址具有48位,以MAC[47:0]表示,因此最多可以記載4K筆MAC地址的相關信息,可以利用直接映像(directmap)或者雜湊(hash)映像的方式,將每個欲記載的MAC地址映像至特定的桶地址以及槽,典型地,於MAC地址學習階段,每個MAC地址可利用CRC-11多項式雜湊運算得到雜湊值Hash[10:0]共11位的桶地址,例如映像到桶250,優先選擇存入槽250A,如果槽250已經存在資料,才選擇存入槽250B,以將MAC[47:11]共37位及該MAC地址的相關信息存入。若直接採用直接映像方式,則將MAC[10:0]當做是桶地址,以將MAC[47:11]共37位及該MAC地址的相關信息存入適當的槽中;採用雜湊映像的優點用來增加MAC地址的混亂度,以避免鄰近MAC地址搶用同一地址桶中的A槽與B槽,而增加廣播送出封包的機會。當查詢乙太網絡封包的DMAC地址時,利用DMAC地址進行CRC-11多項式雜湊運算得到雜湊值Hash[10:0]共11位的桶地址,例如映像到桶250,優先比對槽250A,如果槽250中的MAC[47:11]資料與乙太網絡封包的DMAC[47:11]相同,則可以獲得其相關聯的信息,若與槽250A不吻合,才選擇比對槽250B中的MAC[47:11],若是其A槽與B槽的MAC地址皆不吻合,則將其廣播轉送出去。要從有限的靜態隨機存取內存劃分出一部份地址表供查詢,能夠記錄的項目(entry)有限,而如何有效率的運用極有限的地址表實有關於乙太網絡交換器的交換效率,也確實是乙太網絡交換器的媒體存取控制器的一大課題。
發明內容本發明揭示一種媒體存取控制地址(簡稱MAC地址)的學習方法,包含下列步驟藉由雜湊函數將該體存取控制地址運算出雜湊值,而根據該雜湊值一對一地映像該指定槽,而根據MAC地址映像至地址表的指定槽以及伴隨槽;若指定槽是空的,則將MAC地址學習至指定槽;以及若指定槽是非空的、伴隨槽是空的、且指定槽的內容是非靜態的,則將指定槽的內容搬移至伴隨槽,並修改伴隨槽內容中的較高部MAC地址的第四十位,然後將MAC地址學習至指定槽中。更進一步地,若指定槽是非空的且伴隨槽是非空的,則將MAC地址學習進CAM中;而若指定槽是非空的且伴隨槽是空的,則修改MAC地址的較高部MAC地址的第四十位,並將該修改過後的MAC地址學習至伴隨槽中,以響應於非靜態學習命令,因此發揮雙槽式地址表的學習優點,又可節省地址表的硬體閘數。舉例而言,地址表共有2X個存取槽,而各存取槽可用以存取MAC地址的(48-X)個位及相關信息,而MAC地址為四十八個位,其中X為一正整數,相關信息較佳地包含埠屏蔽、逾時計數器以及靜態旗標。本發明亦揭示一種MAC地址的查詢方法,包含下列步驟根據MAC地址映像至地址表的指定槽以及伴隨槽;將指定槽的第一內容及伴隨槽的第二內容讀出;選擇性地還原該第二內容;將MAC地址與第一內容進行比較以及將MAC地址與還原的第二內容進行比較;以及根據該些比較結果產生查詢結果,例如端屏蔽,舉例而言,選擇性地還原步驟根據第二內容的靜態旗標以及較高部MAC地址的第四十位選擇性地還原該第二內容。本發明進一步揭示一種媒體存取控制晶片,包含具有地址表的緩衝存儲器,用以暫存封包;用以耦接實體層控制晶片的多個連接埠控制單元;具有內容可尋址內存(簡稱CAM)之轉送控制單元,耦接於連接埠控制單元;耦接轉送控制單元及連接埠控制單元的隊列控制單元;以及用以耦接該緩衝存儲器、該隊列控制單元及該些連接埠控制單元的緩衝器控制單元;其中,轉送控制單元根據MAC地址映像至地址表的指定槽以及伴隨槽,若指定槽是空的,則將MAC地址學習至指定槽;而若指定槽是非空的、伴隨槽是空的、且指定槽的內容是非靜態的,則將指定槽的內容搬移至伴隨槽,並修改伴隨槽內容中的較高部MAC地址的第四十位,然後將MAC地址學習至指定槽中。為進一步說明本發明的上述目的、結構特點和效果,以下將結合附圖對本發明進行詳細的描述。圖1顯示了乙太網絡封包的結構;圖2顯示了雙槽地址表的示意圖;圖3顯示了根據本發明的具體實施例的一MAC地址學習流程圖;圖4顯示了根據本發明的具體實施例的一儲存槽結構;圖5顯示了根據本發明的具體實施例的一MAC地址查詢流程圖;圖6顯示了根據本發明的硬體方塊圖的一具體實施例。具體實施例方式將圖2地址表200規劃成2K個存取桶,每個桶具有A槽與B槽,根據本發明的一較佳具體實施例,可以採用CRC-12(或者直接映像法)多項式雜湊運算得到雜湊值Hash[11:0]共12位的地址,以雜湊映像到特定槽的位置,舉例而言,採用(X12+X11+X3+X2+X+1)的CRC-12多項式雜湊運算得到雜湊值Hash[11:0]共12位的雜湊地址,Hash[11:1]指定桶地址,而由Hash指定是哪一個槽,舉例而言,Hash為0代表A槽,而Hash為1代表B槽,所以每個MAC地址的雜湊結果Hash[11:0]皆指定到特定的槽,於MAC地址學習階段,將MAC[47:12]共36位及該MAC地址的相關信息存入。相較於已知技藝,每個MAC地址可節省一個位,於此實施例中,最多可以記載4K筆MAC地址的相關信息,共可節省4K位,對於有限的內存空間而言,具有顯著的成本效益。媒體存取控制器利用轉送控制單元(未示)進行MAC地址及其相關信息的查詢及學習功能,MAC地址及其相關信息的學習,可以區分為單播地址以及多播地址的學習,關於單播地址的學習,可以利用每一個接收到的封包的SMAC地址及其來源埠建立該MAC地址的相關信息,以利後續欲傳給該SMAC地址的封包查詢之用;關於多播地址的學習,則可由媒體存取控制器外掛一顆處理器或者由網管人員利用軟體規劃於地址表200中。在此較佳實施例中,媒體存取控制器內實施內容可尋址內存(contentaccessmemory,簡稱CAM)儲存多筆地址以進行完美匹配(perfectmatch)查詢,例如提供8筆MAC地址的學習與查詢;將單播地址及多播地址的學習分類為動態(dynamic)學習及靜態(static)學習,於外掛處理器的例子中,多播地址的學習較佳地皆由處理器經由前述地址映像方式規劃於地址表200中指定位置,並且會長期停駐於該指定位置,不會進行逾時(aging)淘汰。每個MAC地址具有48位,以MAC[47:0]表示,由其中的MAC[40]顯示該MAC地址是否為多播地址。就MAC地址的學習而言,在MAC地址的雜湊結果Hash[11:0]的Hash為0,且Hash[11:1]所指的桶的A槽內容也擊中(hit)MAC地址的較高部分MAC[47:12]的情況下(擊中代表內容比對吻合),當收到靜態學習的「靜態清除(clear)」指令時,則直接清除Hash[11:1]所指的桶的A槽內容;而當收到靜態學習的「靜態增加(add)」指令時,也直接將MAC地址的較高部分MAC[47:12]及其相關信息寫入Hash[11:1]所指的桶的A槽中。圖3顯示了根據本發明的具體實施例的一MAC地址學習流程圖,當接收到封包時,封包包含有DMAC地址以及SMAC地址,由步驟300開始,步驟310首先查詢MAC地址,步驟312判斷是否擊中CAM或MAC地址表,若擊中則步驟314可更新MAC地址的相關信息,包括埠屏蔽以及逾時計數器等相關信息,然後結束流程;若未擊中則由步驟320判斷是否指定槽是空的,若指定槽是空的,則步驟322直接將MAC地址的較高部分MAC[47:12]及相關信息寫入;若指定槽不是空的,則步驟330判斷是否Hash[11:0]所代表桶的相關伴隨槽為空的,其中若Hash[11:0]指定槽為A槽,則相關伴隨槽為B槽,反之亦然;若伴隨槽為非空,則步驟332檢查CAM中是否有空位或者非靜態項目已經老舊者,再由步驟334將欲學習的MAC地址寫入CAM中空位或者非靜態項目已經老舊者,然後結束流程,其中所謂項目老舊系可依照設計者的彈性而不同,舉例而言,若逾時計數器設計為計數3至0,可以視當計數器值小於3者皆為老舊,以避免非靜態項目佔據CAM過長的時間;若沒有適當地方可以寫入,則步驟336將學習內容丟棄,然後結束流程;若伴隨槽為空,則步驟340檢查Hash[11:0]的指定槽是否為非靜態(non-static);若指定槽為非靜態,則步驟342將指定槽的非靜態內容搬移至相關伴隨槽,並將相關伴隨槽中MAC地址的第四十位(MAC[39])更改為1,最後由步驟344將欲學習的MAC地址(包括靜態與非靜態MAC地址)增加至Hash[11:0]的指定槽,然後結束流程;若Hash[11:0]的指定槽的內容為靜態項目;則步驟350根據此命令是否為靜態學習命令而執行步驟332或360,若為靜態學習命令前進至步驟332,將欲學習的MAC地址寫入CAM中空位或者非靜態項目已經老舊者,或者將學習內容丟棄;若為非靜態學習命令,則步驟360,將欲學習的MAC地址及相關信息寫入相關伴隨槽,並將相關伴隨槽中MAC地址的第四十位(MAC[39])更改為1,於步驟370結束此學習流程。於前述揭示的MAC地址學習流程中,靜態增加(static-add)的學習命令,將欲學習的MAC地址可增加至指定槽或CAM中,而非靜態項目與非靜態增加的學習命令可以利用指定槽、相關伴隨槽以及CAM進行學習,非靜態項目可以記錄於或搬移至相關伴隨槽中,並藉由修改第四十位的值而予以辨識。圖4顯示了根據本發明的具體實施例的一儲存槽結構,儲存槽結構包括,較高部MAC地址410及相關信息,而MAC地址的相關信息較佳地包括有端屏蔽(portmask)420、逾時計數器430、以及靜態旗標440,逾時計數器430用以計數非靜態學習的時間狀態,舉例而言,逾時計數器430為兩個位計數,包括3、2、1、0,用以計數300秒的時間長度,當逾時計數器430由3倒數至0時,代表這個儲存槽中的非靜態項目已經逾時,當下次有任何靜態或非靜態項目欲使用這個儲存槽儲存MAC地址信息時,皆可予以覆蓋過去。圖5顯示了根據本發明的具體實施例的一MAC地址查詢流程圖,其相應參考於圖3的學習流程,由步驟500開始,步驟510首先看收到的封包是否為CRC正確,若CRC不正確則步驟515將封包丟棄;若封包的CRC正確,則步驟520檢查是否擊中CAM,若擊中CAM則步驟525可快速地回報端屏蔽;若未擊中CAM則應進一步查詢雙槽地址表200,相應於圖3的流程,步驟530將封包的DMAC地址進行CRC-12雜湊運算得到雜湊值Hash[11:0]共12位的雜湊地址,利用Hash[11:1]獲得桶地址,由Hash指定哪一個槽為指定槽;步驟540,根據雜湊值Hash[11:0]將指定槽與相關伴隨槽的內容同時讀出來;步驟550檢查是否DMAC地址擊中指定槽,若擊中指定槽則步驟525回報端屏蔽;若未擊中指定槽則步驟560利用靜態旗標檢查被讀出的相關伴隨槽的內容是否為靜態,若相關伴隨槽的內容為靜態項目,代表查詢結束;若相關伴隨槽的內容為非靜態項目,檢查其內容的第四十位是否為1,若第四十位為0表示其學習過程中是佔據指定槽,故由步驟580結束查詢流程;若第四十位為1,則表示此項目於學習過程中是佔據相關槽,於是步驟575將相關伴隨槽的內容的第四十位(MAC[39])由1修改還原為0然後將還原後的較高部MAC地址與封包的DMAC地址進行比對,若是封包的DMAC地址擊中還原後的較高部MAC地址,則回報埠屏蔽,否則便由步驟580結束查詢流程,若此MAC地址查詢流程皆未查詢到適當結果,則應將封包廣播出去。圖6顯示了根據本發明的硬體方塊圖的一具體實施例,乙太網絡交換器的內主要包含媒體存取控制(mediaaccesscontrol,簡稱MAC)晶片600,以及實體層控制(physicallayercontrol,簡稱PHY)晶片680,較佳地,媒體存取控制晶片600藉由精簡媒體獨立界面(reducedmediumindependentinterface,簡稱RMII)耦接實體層控制晶片580。媒體存取控制晶片600包含連接埠控制(portcontrol)單元610至617(以前述八埠乙太網絡交換器為例,分別對應端0至端7)、轉送控制(forwardingcontrol)單元620、隊列控制(queuecontrol)單元630、緩衝器控制單元650、以及緩衝存儲器660,連接埠控制單元610耦接轉送控制單元620、隊列控制單元630以及緩衝器控制單元650,緩衝器控制單元650耦接緩衝存儲器660,緩衝存儲器660中規劃有地址查詢表,而轉送控制單元620中以硬體實施可儲存多個MAC地址及相關信息的CAM622。實體層控制晶片680負責乙太網絡交換器對外實體電氣訊號的傳收,而以上本發明所揭示的流程方法則與媒體存取控制晶片600內部的轉送控制單元620的運作設計有關,舉例而言,由乙太網絡交換器的埠0所接收到封包數據,經由實體層控制晶片680首先到達連接埠控制單元610,封包的DMAC地址藉由本發明的查表方式(look-uptable)產生對應的端屏蔽,而封包的SMAC地址藉由本發明的學習方式將較高部SMAC地址學習(learn)進有限的查詢表662或CAM622中,並由緩衝器控制單元650於緩衝存儲器660配置(allocate)適當的緩衝器大小以供該封包資料的暫存,然後由隊列控制單元630根據埠屏蔽建立隊列連結,隊列控制單元630可依照各埠的輸出隊列長度判斷各連接埠消耗緩衝存儲器660的狀況,而發訊給連接埠控制單元610適當地進行擁塞控制(congestioncontrol)。根據本發明的揭示,雙槽式查詢表662藉由每個MAC地址可以將每個桶的雙槽架構區分為指定槽及伴隨槽,並利用第四十位與靜態旗標進行MAC地址的靜態學習與非靜態學習,而節省查詢表662的實際空間,另一方面,於地址查詢階段也可增加查詢效能,利用CAM622可於轉送控制單元620同時對多個MAC地址進行硬體比對,於一個時脈後即可知道是否擊中CAM622,而由查詢表662利用DMAC地址同時將指定槽及伴隨槽讀回,將伴隨槽的內容選擇性地還原,同時判斷是否擊中指定槽或伴隨槽,而回報相關結果。圖6的實施例依照製程的進步可有不同程度的整合實施方式,舉例而言,緩衝存儲器660可以整合於媒體存取控制晶片600之中或者是外掛晶片,依照存取速度不同可以是靜態隨機存取內存(SRAM)、同步動態隨機存取內存(SDRAM)、或者DDR動態隨機存取內存等等,實體層控制晶片680由於製程特殊以及需要提供多個埠的實體層控制,通常屬於外掛晶片,但隨著未來整合度提高也有可能整合進媒體存取控制晶片600之中。縱上所述,本發明揭示一種媒體存取控制地址(簡稱MAC地址)的學習方法,包含下列步驟藉由雜湊函數將該體存取控制地址運算出雜湊值,而根據該雜湊值一對一地映像該指定槽,而根據MAC地址映像至地址表的指定槽以及伴隨槽;若指定槽是空的,則將MAC地址學習至指定槽;以及若指定槽是非空的、伴隨槽是空的、且指定槽的內容是非靜態的,則將指定槽的內容搬移至伴隨槽,並修改伴隨槽內容中的較高部MAC地址的第四十位,然後將MAC地址學習至指定槽中。更進一步地,若指定槽是非空的且伴隨槽是非空的,則將MAC地址學習進CAM中;而若指定槽是非空的且伴隨槽是空的,則修改MAC地址的較高部MAC地址的第四十位,並將該修改過後的MAC地址學習至伴隨槽中,以響應於非靜態學習命令,因此發揮雙槽式地址表的學習優點,又可節省地址表的硬體閘數。舉例而言,地址表共有2X個存取槽,而各存取槽可用以存取MAC地址的(48-X)個位及相關信息,而MAC地址為四十八個位,其中X為一正整數,相關信息較佳地包含埠屏蔽、逾時計數器、以及靜態旗標。本發明亦揭示一種MAC地址的查詢方法,包含下列步驟根據MAC地址映像至地址表的指定槽以及伴隨槽;將指定槽的第一內容及伴隨槽的第二內容讀出;選擇性地還原該第二內容;將MAC地址與第一內容進行比較以及將MAC地址與還原的第二內容進行比較;以及根據該些比較結果產生查詢結果,例如端屏蔽,舉例而言,選擇性地還原步驟是根據第二內容的靜態旗標以及較高部MAC地址的第四十位選擇性地還原該第二內容。本發明進一步揭示一種媒體存取控制晶片,包含具有地址表的緩衝存儲器,用以暫存封包;用以耦接實體層控制晶片的多個連接埠控制單元;具有內容可尋址內存(簡稱CAM)的轉送控制單元,耦接於連接埠控制單元;耦接轉送控制單元及連接埠控制單元的隊列控制單元;以及用以耦接該緩衝存儲器、該隊列控制單元及該些連接埠控制單元的緩衝器控制單元;其中,轉送控制單元根據MAC地址映像至地址表的指定槽以及伴隨槽,若指定槽是空的,則將MAC地址學習至指定槽;而若指定槽是非空的、伴隨槽是空的、且指定槽的內容是非靜態的,則將指定槽的內容搬移至伴隨槽,並修改伴隨槽內容中的較高部MAC地址的第四十位,然後將MAC地址學習至指定槽中。以上所揭示的具體實施例的說明及圖式,為便於闡明本發明的技術內容及技術手段,並不欲拘限本發明的範疇。舉凡一切針對本發明的結構細部修飾、變更,或者是組件的等效替代、置換,當不脫離本發明的發明精神及範疇,其範圍將由以下的申請專利範圍來界定。權利要求1.一種媒體存取控制地址的學習方法,包含下列步驟根據一媒體存取控制地址映像至一地址表的一指定槽以及一伴隨槽;若該指定槽是空的,則將該媒體存取控制地址學習至該指定槽;以及若該指定槽是非空的、該伴隨槽是空的、且該指定槽的內容是非靜態的,則將該指定槽的內容搬移至該伴隨槽,並修改該伴隨槽內容中的一較高部媒體存取控制地址的一位,然後將該媒體存取控制地址學習至該指定槽中。2.如權利要求1所述的方法,其特徵在於,還還包含若該指定槽是非空的且該伴隨槽是非空的,則將該媒體存取控制地址學習進一內容可尋址內存中的步驟。3.如權利要求1所述的方法,其特徵在於,還包含步驟若該指定槽是非空的且該伴隨槽是空的,則修改該媒體存取控制地址的一較高部媒體存取控制地址的一位並將該修改過後的媒體存取控制地址學習至該伴隨槽中,以響應於一非靜態學習命令。4.如權利要求1所述的方法,其特徵在於,該映像步驟是藉由一雜湊函數將該媒體存取控制地址運算出一雜湊值,而根據該雜湊值一對一地映像該指定槽。5.如權利要求1所述的方法,其特徵在於,該映像步驟是將該媒體存取控制地址直接映像而指定該指定槽。6.如權利要求1所述的方法,其特徵在於,該若該指定槽是空的則將該媒體存取控制地址學習至該指定槽的步驟,是將該媒體存取控制地址的較高部媒體存取控制地址以及一相關信息寫入至該指定槽中。7.如權利要求1所述的方法,其特徵在於,其中該地址表共有2X個存取槽,而該指定槽系可用以存取該媒體存取控制地址的(48-X)個位及一相關信息,而該媒體存取控制地址為四十八個位,其中X為一正整數。8.如權利要求3所述的方法,其特徵在於,其中該若指定槽是非空的且伴隨槽是空的步驟是修改該媒體存取控制地址的第四十位。9.如權利要求6所述的方法,其特徵在於,其中該相關信息包含一埠屏蔽、一逾時計數器以及一靜態旗標。10.一種媒體存取控制地址的查詢方法,包含下列步驟根據一媒體存取控制地址映像至一地址表的一指定槽以及一伴隨槽;將該指定槽的第一內容及該伴隨槽的第二內容讀出;選擇性地還原該第二內容;將該媒體存取控制地址與該第一內容進行比較以及將該媒體存取控制地址與該還原的第二內容進行比較;以及根據該些比較結果產生一查詢結果。11.如權利要求10所述的方法,其特徵在於,其中該選擇性地還原步驟是根據該第二內容之一靜態旗標以及一較高部媒體存取控制地址的第四十位選擇性地還原該第二內容。12.如權利要求10所述的方法,其特徵在於,其中該查詢結果為一端屏蔽。13.如權利要求10所述的方法,其特徵在於,其中該地址表共有2X個存取槽,而該指定槽可用以存取該媒體存取控制地址的(48-X)個位及一相關信息,而該媒體存取控制地址為四十八個位,其中X為一正整數。14.如權利要求10所述的方法,其特徵在於,還包含將該媒體存取控制地址與一內容可尋址內存進行比對的步驟。15.如權利要求10所述的方法,其特徵在於,其中該相關信息包含一埠屏蔽、一逾時計數器以及一靜態旗標。16.一種媒體存取控制晶片,包含具有一地址表的緩衝存儲器,用以暫存封包;多個連接埠控制單元,用以耦接一實體層控制晶片;一轉送控制單元,耦接於該些連接埠控制單元;一隊列控制單元,耦接該轉送控制單元及該些連接埠控制單元;以及一緩衝器控制單元,用以耦接該緩衝存儲器、該隊列控制單元及該些連接埠控制單元,其中,該轉送控制單元根據一媒體存取控制地址映像至該地址表的一指定槽以及一伴隨槽,若該指定槽是空的,則將該媒體存取控制地址學習至該指定槽;而若該指定槽是非空的、該伴隨槽是空的、且該指定槽的內容是非靜態的,則將該指定槽的內容搬移至該伴隨槽,並修改該伴隨槽內容中的一較高部媒體存取控制地址的一位,然後將該媒體存取控制地址學習至該指定槽中。17.如權利要求16所述的媒體存取控制晶片,其特徵在於,該轉送控制單元具有一內容可尋址內存,該轉送控制單元先將該媒體存取控制地址與該CAM的內容進行比對,若未發現吻合者,才繼續根據該媒體存取控制地址比對該地址表的指定槽以及伴隨槽。18.如權利要求16所述的媒體存取控制晶片,其特徵在於,該較高部媒體存取控制地址的該位係指一媒體存取控制地址的第四十位。19.如權利要求17所述的媒體存取控制晶片,其特徵在於,該地址表共有2X個存取槽,而該指定槽可用以存取該媒體存取控制地址的(48-X)個位及一相關信息,而該媒體存取控制地址為四十八個位,其中X為一正整數。20.如權利要求17所述的媒體存取控制晶片,其特徵在於,若該指定槽是非空的、該伴隨槽是非空的、且該CAM中沒有空位,則該轉送控制單元丟棄該媒體存取控制地址。全文摘要本發明提供一種媒體存取控制地址(MAC地址)的管理方法及其相關媒體存取控制晶片,該方法包含MAC地址的學習方法以及查詢方法,學習方法包含藉由雜湊函數將體存取控制地址運算出雜湊值,根據雜湊值一對一地映像指定槽,根據MAC地址映像至地址表的指定槽以及伴隨槽;若指定槽是空的,則將MAC地址學習至指定槽;若指定槽非空、伴隨槽空的、且指定槽的內容是非靜態的,則將指定槽的內容搬移至伴隨槽,並修改伴隨槽內容中的較高部MAC地址的第四十位,然後將MAC地址學習至指定槽中。本發明還具體限定了MAC地址的查詢方法。文檔編號H04L12/56GK1622533SQ200310119920公開日2005年6月1日申請日期2003年11月24日優先權日2003年11月24日發明者蔡文仲,陳佳欣申請人:創惟科技股份有限公司