專利名稱:可提升暫存管理效益的控制器及其暫存管理方法
技術領域:
本發明是關于一種可提升暫存管理效益的控制器及其暫存管理方法,尤指一種利用暫存控制裝置以控制暫存存儲器的資料存取方法。
另一種用以管理暫存的方法為使用鏈結串列方式,請參閱圖3;為現有利用鏈結串列方式(Linked List)暫存管理示意圖;一開始初始化時,如圖所示,暫存存儲器30內各區隔段(sgment)30.0001至30.2048各相串列;進一步而言,區隔段30.0001利用其一尾部節點(Tail)指向30.0002,而區隔段30.0002的一尾部節點指向30.0003,如此接續指向區隔段30.2048為止,而區隔段30.2048則指向無效(Null),代表串列的結束;而暫存控制裝置20內設有一指標器204,用以記錄頭一個未使用的區隔段。一開始時,第一個未使用的區隔段位址為30.0001時,其指標器指向區隔段30.0001,若當該區隔段30.0001存入資料時,該指標器便需要讀取區隔段30,0001的尾部節點以改變其內容值而指向為30.0002。之后,若區隔段30.0001的內容使用完畢,則暫存控制裝置20應將該用畢的區隔段30.0001加以鏈結至最前端,即區隔段30.0001的尾部節點必須改變記錄而指向原指標器204中所記錄的頭一個未使用的區隔段,再將指標器204指向區隔段30.0001,方可完成鏈結。由此可見,雖是單純的取用存儲器中的區隔段,卻牽涉到復雜的硬件運作;故選擇以此管理方式實施時雖可大量減少位元罩幕器的使用,而降低成本,然其執行效率低且使得同步動態隨機存取存儲器(SDRAM)的負載(Loading)大很多,亦不符合當前業界的設計需求。
本發明的目的在于提供一種可提升暫存管理效益的控制器及其暫存管理方法。
本發明揭示一種暫存管理方法;實施一第一控制模態,以復數個位元控制一存儲器的一位元罩幕區的使用狀態;實施一第二控制模態,快取(cache)該存儲器的一鏈結區中復數個第一未使用位址;以及實施一第三控制模態,以一串列鏈結的方式控制該存儲器的鏈結區中復數個第二未使用位址。
本發明亦揭示一種控制器,包括;復數個位元,用以控制一存儲器的一位元罩幕區的使用狀態;復數個快取單元,用以快取該存儲器的一鏈結區中復數個第一未使用位址;以及一指標器,用以指向該存儲器的鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個第二未使用位址。
本發明更揭示一種可提升暫存管理效益的交換控制器,包括有;復數個連接端口,用以傳收復數個封包;復數個連接端口控制裝置,耦接至該等連接端口;復數個佇列控制裝置,耦接至該等連接端口控制裝置,用以為該等連接端口控制裝置要求佇列;一轉送裝置,耦接至該等連接端口控制裝置,用以轉送該等封包;一存儲器,規劃有一位元罩幕區以及一串列鏈結區;以及一暫存控制裝置,耦接至該存儲器及該等連接端口控制裝置,且包含復數個位元以及一指標器,用以向該存儲器要求存儲器配置,以暫存該等封包;其中該等復數個位元用以代表該存儲器的位元罩幕區的使用狀態,而該指標器用以指向該存儲器的串列鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個第一未使用位址。茲為使對本發明的特徵及所達成的功效有進一步的了解與認識,謹佐以較佳的實施例圖及配合詳細的說明如后。
圖5是顯示本發明的管理暫存控制的一較佳實施例;暫存控制裝置22整合位元罩幕方式及鏈結串列方式來有效管理暫存控制,更可設有三個快取位址單元122,進一步增進控制器12處理暫存資料的速率。一開始初始化時,位元罩幕器222包含復數個位元222.001至222.351,用以記錄暫存存儲器32的區隔段32.0001至32.0351(或可定義為一位元罩幕區)的使用狀態,即以位元罩幕器222的復數個位元222.001至222.351對應記錄暫存存儲器32的區隔段32.0001至32.0351的使用狀態;快取存儲器122內所設的三個快取位址單元儲存有對應于該暫存存儲器32的區隔段32.0352至32.0354的位址,如此該控制器12可即時對于位元罩幕區之外的存儲器部分做資料處理;至于暫存存儲器32的區隔段32.0355至32.2048則為串列鏈結,即區隔段32.0355鏈接區隔段32.0356,而依序鏈接直至區隔段32.2048止,且以一指標器224隨時指向串列鏈結的頭一個未使用的區隔段位址,其如圖6所示,暫存控制裝置22控制指標器224隨時指向串列鏈結的頭一個未使用的區隔段,如當控制器12需使用區隔段32.0355作資料處理時,其指標器224便指向下一個未使用的區隔段,即區隔段32.0356;如此,以上述三種控制模態來管理暫存控制,可有效提高其運作效率,更可大幅減少硬件成本。
至于存儲器32可為一靜態隨機存取存儲器(SDRAM)或為一動態隨機存取存儲器(DRAM),依照不同應用需求而定。
請再參考圖5,以交換控制器為例,通常暫存存儲器32是以區隔段(segment)為單位來分派存儲器,而各區隔段的大小可以依照不同應用而定,本發明的一較佳具體實施例,可以規劃前述暫存存儲器32的區隔段32.0001至32.0351的大小是略大于所有端口數同時承受最大乙太網路封包長度的兩倍,一般而言最大乙太網路封包(Ethernet Packet)是為1518位元組長,或可定義為超長型態為2048位元組長。以提供11端口傳輸為例,亦即使得區隔段32.0001至32.0351的大小是略大于1518*28*11或2048*2*11位元組長,其優點在于當交換控制器連續地接收到最大乙太網路封包時,不會造成壅塞(congestion),原因在于當11端口皆收到一個最大乙太網路封包進入并要求彼此不同端口的轉送時,可以位元罩幕方式要求存儲器配置區隔段32.0001至32.0351的一半大小;當所有的端口再收到另一個最大乙太網路封包進入時,同樣可以位元罩幕方式要求存儲器配置而暫存至區隔段32.0001至32.0351的另一半區域;且在此時,該第一個最大乙太網路封包已經完成轉送而將原先占據的存儲器釋放回系統,故下一個最大乙太網路封包進入時,亦可以位元罩幕方式要求存儲器配置。更特定地,交換控制器可以將區隔段32.0001至32.0351分別指定為11個端口的私有緩沖區(privatebuffer),配合前述規劃,11個端口恒私有略大于最大乙太網路封包長度的兩倍大小的私有權,此可確保各端口的最低使用權利。
前述架構十分有利于一般網路交換器的乒乓測試(Ping-Pong Test)的表現(performance),即其可使用暫存存儲器的區隔段32.0001至32.0351,使得暫存控制裝置22使用位元罩幕方式即時處理連續進入的最大乙太網路封包,提升整體效能表現。
進一步說明設置三個快取位址單元122的優點,其可任意快取三組區隔段位址,而有效緩和串列鏈結的負荷;當前述區隔段32.0001至32.0351不敷使用時,可以優先至該等快取位址單元取用存儲器配置,且當存儲器使用完畢時亦優先釋回該等快取位址單元的中,例如以堆疊(stack)方式取用及釋回,故可有效地緩和串列鏈結改變鏈結時的復雜硬件運作。舉例而言,當輸出入資料速率不同,如輸入100M bytes輸出為10M bytes時,暫存存儲器的區隔段32.0001至32.0351部分將很快耗盡,控制器12便可優先取用該等位元快取位址單元122中所暫存的位址來緩和串列鏈結的負荷,以提升效能。
縱上所述,本發明揭示一種暫存管理方法,包括實施一第一控制模態,以復數個位元控制一存儲器的一位元罩幕區的使用狀態;實施一第二控制模態,快取(cache)該存儲器的一鏈結區中復數個第一未使用位址;以及實施一第三控制模態,以一串列鏈結的方式控制該存儲器的鏈結區中復數個第二未使用位址。本發明亦揭示一種控制器,包括;復數個位元,用以控制一存儲器的一位元罩幕區的使用狀態;復數個快取單元,用以快取該存儲器的一鏈結區中復數個第一未使用位址;以及一指標器,用以指向該存儲器的鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個第二未使用位址。本發明更揭示一種可提升暫存管理效益的交換控制器,包括有復數個連接端口,用以傳收復數個封包;復數個連接端口控制裝置,耦接至該等連接端口;復數個佇列控制裝置,耦接至該等連接端口控制裝置,用以為該等連接端口控制裝置要求佇列;一轉送裝置,耦接至該等連接端口控制裝置,用以轉送該等封包;一存儲器,規劃有一位元罩幕區以及一串列鏈結區;以及一暫存控制裝置,耦接至該存儲器及該等連接端口控制裝置,且包含復數個位元以及一指標器,用以向該存儲器要求存儲器配置,以暫存該等封包;其中該等復數個位元用以代表該存儲器的位元罩幕區的使用狀態,而該指標器用以指向該存儲器的串列鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個第一未使用位址。
但以上所述,僅為本發明一較佳實施例而已,并非用來限定本發明實施的范圍。
權利要求
1.一種暫存管理方法,包括步驟有實施一第一控制模態,以復數個位元控制一存儲器的一位元罩幕區的使用狀態;以及實施一第二控制模態,以一串列鏈結的方式控制該存儲器的一鏈結區。
2.如權利要求1所述的暫存管理方法,其中該存儲器的位元罩幕區是可暫存實質大于最大資料長度的兩倍。
3.一種暫存管理方法,包括有實施一第一控制模態,以復數個位元控制一存儲器的一位元罩幕區的使用狀態;實施一第二控制模態,快取該存儲器的一鏈結區中復數個第一未使用位址;以及實施一第三控制模態,以一串列鏈結的方式控制該存儲器的鏈結區中復數個第二未使用位址。
4.一種控制器,包括復數個位元,用以控制一存儲器的一位元罩幕區的使用狀態;以及一指標器,用以指向該存儲器的一鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個未使用位址。
5.一種控制器,包括復數個位元,用以控制一存儲器的一位元單幕區的使用狀態;復數個快取單元,用以快取該存儲器的一鏈結區中復數個第一未使用位址;以及一指標器,用以指向該存儲器的鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個第二未使用位址。
6.一種可提升暫存管理效益的交換控制器,包括有復數個連接端口,用以傳收復數個封包;復數個連接端口控制裝置,耦接至該等連接端口;復數個佇列控制裝置,耦接至該等連接端口控制裝置,用以為該等連接端口控制裝置要求佇列;一轉送裝置,耦接至該等連接端口控制裝置,用以轉送該等封包;一存儲器,規劃有一位元罩幕區以及一串列鏈結區;以及一暫存控制裝置,耦接至該存儲器及該等連接端口控制裝置,且包含復數個位元以及一指標器,用以向該存儲器要求存儲器配置,以暫存該等封包;其中該等復數個位元用以代表該存儲器的位元罩幕區的使用狀態,而該指標器用以指向該存儲器的串列鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個第一未使用位址。
7.如權利要求6所述的交換控制器,其中該該暫存控制裝置更包含復數個快取位址單元,用以快取該存儲器的串列鏈結區中復數個第二未使用位址。
8.如權利要求6所述的交換控制器,其中該存儲器的位元罩幕區是實質地大于兩倍最大乙太封包長度乘以該等連接端口的數目。
9.如權利要求6所述的交換控制器,其中該存儲器是為一靜態隨機存取存儲器。
10.如權利要求6所述的交換控制器,其中該位元罩幕區的使用狀態,而該指標器用以指向該存儲器的串列鏈結區。
全文摘要
本發明揭示一種暫存管理方法及相關控制器,該暫存管理方法實施一第一控制模態,以復數個位元控制一存儲器的一位元罩幕區的使用狀態;實施一第二控制模態,快取(cache)該存儲器的一鏈結區中復數個第一未使用位址;以及實施一第三控制模態,以一串列鏈結的方式控制該存儲器的鏈結區中復數個第二未使用位址。本發明的控制器包括;復數個位元,用以控制一存儲器的一位元罩幕區的使用狀態;復數個快取單元,用以快取該存儲器的一鏈結區中復數個第一未使用位址;以及一指標器,用以指向該存儲器的鏈結區中一串列鏈結的頭,而該串列鏈結是鏈結復數個第二未使用位址。
文檔編號G06F12/08GK1479208SQ0314755
公開日2004年3月3日 申請日期2003年7月22日 優先權日2003年7月22日
發明者陳任凱, 鄭兆成, 胡永謙 申請人:威盛電子股份有限公司