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