專利名稱:可增加內(nèi)嵌式以太網(wǎng)絡(luò)控制器送收效率的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)傳輸技術(shù),具體是關(guān)于一種可增加內(nèi)嵌式以太網(wǎng)絡(luò)控制器送收效率的方法。
以現(xiàn)今普遍使用于家庭或個(gè)人工作室(SOHO)中,用以連接寬頻網(wǎng)絡(luò)及多臺(tái)電腦的家庭網(wǎng)關(guān)(Residential Gateway)或小型辦公室的路由器(SOHO Router)為例(本發(fā)明通稱二者為網(wǎng)關(guān)),參閱
圖1所示,該等網(wǎng)關(guān)內(nèi)的關(guān)鍵零組件(Key Component)主要包括一中央處理單元2(CPU)及1至3顆的以太網(wǎng)絡(luò)媒介存取控制器3(Ethernet Media Access Control,簡(jiǎn)稱Ethernet MAC)等,傳統(tǒng)上這些零組件各自獨(dú)立地被安裝在一電路板上,現(xiàn)今則已被整合成一顆單晶片(ASIC chip)的內(nèi)嵌式以太網(wǎng)絡(luò)控制器1(Embedded Ethernet MAC Controller,簡(jiǎn)稱E_MAC),搭配其它零組件,被安裝至該等網(wǎng)關(guān)內(nèi),不僅有效縮小了其體積,并令其具備傳送及接收以太網(wǎng)絡(luò)封包的功能。一般來(lái)說(shuō),該種內(nèi)嵌式以太網(wǎng)絡(luò)控制器1的運(yùn)作原理,均為利用具有主動(dòng)式總線直接存儲(chǔ)器存取(Bus Master Direct Memory Access,簡(jiǎn)稱M_DMA)架構(gòu)的控制線路4,使各該以太網(wǎng)絡(luò)媒介存取控制器3(Ethernet MAC)可通過(guò)取得獨(dú)立數(shù)據(jù)總線的主控權(quán),直接存取存儲(chǔ)器5中的資料,而不必經(jīng)過(guò)中央處理單元2,故可減少中央處理單元2的負(fù)擔(dān),無(wú)形中也增進(jìn)了該種內(nèi)嵌式以太網(wǎng)絡(luò)控制器1的運(yùn)作效率。
一般而言,在內(nèi)嵌式以太網(wǎng)絡(luò)控制器1對(duì)其緩沖器(Buffer)或存儲(chǔ)器的管理(Management)上,主要可分為兩種方式,第一種為將待存取的以太網(wǎng)絡(luò)封包(Ethernet Packet)內(nèi)的下列信息(1)封包說(shuō)明字元(Packet Descriptor)一般包括封包長(zhǎng)度(Length)、狀態(tài)(Status)及分配地址(Allocation Address)等;(2)封包表頭(Packet Header)一般包括目的地址DA、來(lái)源地址SA及型態(tài)TYPE;(3)封包資料(Packet Data);及(4)封包表尾(CRC),分開存放于存儲(chǔ)器5(如同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,Synchronous Dynamic RAM,簡(jiǎn)稱SDRAM)內(nèi)所規(guī)劃的不同接收或傳送緩沖器中,美商Intel公司即利用此一做法,設(shè)計(jì)該等以太網(wǎng)絡(luò)控制器;另一種為將封包的說(shuō)明字元與封包,一起置放于同一接收或傳送緩沖器中,如臺(tái)灣瑞昱半導(dǎo)體公司(Realtek)即利用此一做法,設(shè)計(jì)該等以太網(wǎng)絡(luò)控制器。在前述第一種做法中,該等以太網(wǎng)絡(luò)控制器在對(duì)緩沖器的存儲(chǔ)空間分配(BufferAllocation)上較具彈性,不過(guò)須發(fā)動(dòng)2次的主動(dòng)式總線直接存儲(chǔ)器存取作業(yè)(M_DMA Cycle),故必需多浪費(fèi)一次總線的仲裁時(shí)間(Bus Arbitration Time),在第二種做法中,由于該等以太網(wǎng)絡(luò)控制器無(wú)法對(duì)緩沖器進(jìn)行動(dòng)態(tài)存儲(chǔ)空間分配,故在對(duì)緩沖器的存儲(chǔ)空間分配上較無(wú)彈性,但其總線的仲裁時(shí)間僅需一次。
本發(fā)明主要根據(jù)第二種做法所設(shè)計(jì)的該等控制器,進(jìn)行改良,并植入單晶片中,以有效提升對(duì)其緩沖器存儲(chǔ)空間的分配彈性,增加整體效率。至于前述第一種做法,由于并非本發(fā)明所要改良的,故在本發(fā)明的以下說(shuō)明中,不再就第一種做法多加贅述。
在前述第二種做法所設(shè)計(jì)的內(nèi)嵌式以太網(wǎng)絡(luò)控制器中,依其對(duì)封包處理方式的不同,可區(qū)分為傳送處理(Transmit Module,簡(jiǎn)稱Tx)與接收處理(ReceiveModule,簡(jiǎn)稱Rx)兩部分。一般來(lái)說(shuō),針對(duì)該傳送處理(Tx)設(shè)有約4至8個(gè)固定大小的傳送緩沖器(分別以符號(hào)Tx-BUFFER#0...Tx-BUFFER#n表示,其中n=0,1,2,3...),參閱圖2所示,用以暫存待傳送的封包,每個(gè)傳送緩沖器Tx-BUFFER利用兩個(gè)登錄元(Register)XSTATUS及XADDR來(lái)規(guī)劃及處理緩沖區(qū),在該等登錄元(Register)中,XSTATUS用來(lái)報(bào)告?zhèn)魉蜖顩r(Transmit status),設(shè)定某些特定的傳送設(shè)定值(Transmit Setting)及設(shè)定傳送的封包長(zhǎng)度(TransmitPacket Length),而XADDR則用來(lái)設(shè)定待傳送封包所在傳送緩沖器Tx-BUFFER的起始地址(Transmit Packet’s Address for Tx Descriptor),其傳送動(dòng)作原理為,首先,由中央處理單元(CPU)將待傳送的封包,逐一寫入同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)內(nèi)的連續(xù)位置,其寫入的起始位置,為對(duì)應(yīng)于該XADDR登錄元中的值,而后當(dāng)中央處理單元對(duì)該XSTATUS登錄元(Register)中的傳送致能位元(Tx Enable Bit)下達(dá)啟動(dòng)傳送的命令,則會(huì)啟動(dòng)傳送Tx的主動(dòng)式總線直接存儲(chǔ)器存取(M_DMA)功能,在取得獨(dú)立總線的主控權(quán)后,將自對(duì)應(yīng)于該XADDR登錄元的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM)上的起始位置,讀取封包,并將該待傳送的封包寫入該內(nèi)嵌式以太網(wǎng)絡(luò)控制器的內(nèi)部Tx FIFO(First In First Out)的資料佇列排程(Queue)中,并由FIFO送出去,而傳送后的狀態(tài)會(huì)回填至XSTATUS登錄元中的狀態(tài)(Status)位元。
另,針對(duì)接收處理(Rx),則設(shè)有約2至4個(gè)大小可調(diào)整的接收緩沖器(分別以符號(hào)Rx-BUFFER#0...Rx-BUFFER#n表示,其中n=0,1,2,3...),參閱圖3所示,用以暫存所接收的封包,其中每一封包均包含下列項(xiàng)目(1)接收說(shuō)明字元(Rx Packet Descriptor)占用四個(gè)字節(jié)的存儲(chǔ)空間;(2)封包表頭包括目的地址Rx-DA及來(lái)源地址Rx-SA,分別各占用六個(gè)字節(jié)的存儲(chǔ)空間,及型態(tài)Rx-TYPE,占用兩個(gè)字節(jié)的存儲(chǔ)空間;
(3)封包資料(Packet Data);及(4)封包表尾(CRC)則占用四個(gè)字節(jié)的存儲(chǔ)空間。每個(gè)接收緩沖器Rx-BUFFER利用三個(gè)登錄元(Register)RSTATUS、RADR及RDHA-PTR來(lái)規(guī)劃及處理緩沖區(qū),在該等登錄元(Register)中,RSTATUS用來(lái)報(bào)告接收狀況(Receive Status),設(shè)定某些特定的接收設(shè)定值(Receive Setting),設(shè)定接收緩沖器的大小(RxBuffer Size),以及判斷主動(dòng)式總線直接存儲(chǔ)器存取(M_DMA)作業(yè)是否可將所接收的封包寫入該接收緩沖器中(Write Incoming Packet into ThisBuffer),RADR則用來(lái)報(bào)告封包在該接收緩沖器Rx-BUFFER的起始地址(ReceiveBuffer Start Address),RDHA-PTR用來(lái)存放接收處理中該主動(dòng)式總線直接存儲(chǔ)器存取(M_DMA)作業(yè)的當(dāng)前指標(biāo)(Current Pointer)。其接收動(dòng)作原理為當(dāng)Rx_FIFO接收到的封包大小,大于某一臨界值(Threshold)時(shí),則會(huì)啟動(dòng)接收Rx的主動(dòng)式總線直接存儲(chǔ)器存取(M_DMA)功能,以取得總線的主控權(quán)后,將接收的封包填入接收緩沖器Rx-BUFFER中,每一封包填完后,會(huì)將其狀態(tài)(Status)與長(zhǎng)度(Length)值,回填入其開頭的接收說(shuō)明字元(Descriptor)中。另,其填入順序?yàn)椋紫?,將封包放入由該RADR登錄元所指定的同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器地址,其次,將封包緊接著上一封包存放,直到此一接收緩沖器Rx-BUFFER放滿(當(dāng)其大于該RSTATUS登錄元中的接收緩沖器Rx-BUFFER大小時(shí)),再將下一封包置入另一接收緩沖器Rx-BUFFER中,此時(shí),上一接收緩沖器Rx-BUFFER處理完后,則可釋放。
當(dāng)一區(qū)域網(wǎng)絡(luò)(LAN)的主網(wǎng)域口(domain Ports)欲將封包資料,通過(guò)此種設(shè)計(jì)有內(nèi)嵌式以太網(wǎng)絡(luò)控制器的網(wǎng)關(guān),傳送至一廣域網(wǎng)絡(luò)(Wide-AreaNetwork,簡(jiǎn)稱WAN)的主網(wǎng)域口,必須在傳送緩沖器Tx-BUFFER中原有的以太封包資料(Ethernet Packet Data)上,參閱圖4所示,插入額外的協(xié)議表頭30(Protocol Header,如PPPoE,NAT,DHCP...等),再由該廣域網(wǎng)絡(luò)的傳送口(Tx Port)傳送到國(guó)際互聯(lián)網(wǎng)絡(luò)服務(wù)提供者(Internet Service Provider,簡(jiǎn)稱ISP)端;或用于區(qū)域網(wǎng)絡(luò)時(shí),欲傳送至另一不同的IP Domain時(shí),僅須在傳送緩沖器Tx-BUFFER中原有的以太封包資料(Ethernet Packet Data)上,更改原有的協(xié)議表頭中的某些值,再更改其目的地址、來(lái)源地址及型態(tài),故較為簡(jiǎn)單。
此亦意味著,該網(wǎng)關(guān)一般均必須將由該區(qū)域網(wǎng)絡(luò)所接收到的封包資料20(Data in Rx)如圖3所示,搬移至另一塊存儲(chǔ)區(qū)10(Memory Area),如圖2所示,重新加上所須的協(xié)議表頭30(Header)后,如圖4所示,始能經(jīng)由該廣域網(wǎng)絡(luò)傳送出去。此時(shí),由于該內(nèi)嵌式以太網(wǎng)絡(luò)控制器1的中央處理單元2,必須將接收到的封包資料搬移至另一塊存儲(chǔ)區(qū)重新整理,以作為傳送緩沖器之用,因此,將大量消耗中央處理單元的處理效能,另,由于,在圖3所示的架構(gòu)中,接收時(shí)的每一封包,為一個(gè)接一個(gè)地被置放在接收緩沖器Rx-BUFFER內(nèi),故若要將此接收緩沖器Rx-BUFFER作為傳送緩沖器Tx-BUFFER時(shí),已沒有多余空間來(lái)插入額外的協(xié)議表頭(Header)。
因此,如何設(shè)計(jì)出一種內(nèi)嵌式以太網(wǎng)絡(luò)控制器,令其在接收到由一區(qū)域網(wǎng)絡(luò)傳送來(lái)的封包后,可使大部分的封包資料,均能保有其在緩沖器中原來(lái)的存放位置,并允許插入額外的協(xié)議表頭后,直接傳送至一廣域網(wǎng)絡(luò),以有效避免其中央處理單元因搬移封包資料所耗費(fèi)的時(shí)間及效能,即成為該種內(nèi)嵌式以太網(wǎng)絡(luò)控制器上所亟待克服及解決的問題。
本發(fā)明的一目的,是將各緩沖器內(nèi)的封包存放空間,規(guī)劃成固定大小,且其中用以存放封包表頭、封包表尾及封包資料的存儲(chǔ)空間各自獨(dú)立,且呈4個(gè)字節(jié)對(duì)齊(Double Word Alignment)的狀態(tài),如此,當(dāng)欲存取各封包存放空間內(nèi)的資料時(shí),可以32位(bit)為單位作處理,進(jìn)行存取作業(yè),而無(wú)須再對(duì)字節(jié)重新進(jìn)行對(duì)齊作業(yè),有效避免因?qū)R作業(yè)所耗費(fèi)的中央處理單元時(shí)間及效能。
本發(fā)明的另一目的,是將各接收緩沖器內(nèi)的封包存放空間中,規(guī)劃出一額外的存儲(chǔ)空間,使該網(wǎng)絡(luò)控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳送來(lái)的封包后,僅需變更緩沖器內(nèi)的封包表頭,再于該額外的存儲(chǔ)空間內(nèi)插入所須的協(xié)議表頭后,令大部分封包資料仍保持在原來(lái)位置,即可將其轉(zhuǎn)換成待傳送的封包,將其直接傳送至該廣域網(wǎng)絡(luò),故可有效避免因搬移封包資料所耗費(fèi)的時(shí)間,大幅提升內(nèi)嵌式以太網(wǎng)絡(luò)控制器的送收效率。
本發(fā)明提供的方法是將各接收緩沖器內(nèi)封包存放空間,規(guī)劃成固定大小,且其中用以存放封包表頭、封包表尾及封包資料的存儲(chǔ)空間各自獨(dú)立,且字節(jié)對(duì)齊(Double Word Alignment),并利用上一封包多余的存放空間內(nèi)規(guī)劃出另一額外的存儲(chǔ)空間,使該控制器在接收到由該區(qū)域網(wǎng)絡(luò)來(lái)的封包后,僅需向上移動(dòng)及變更接收緩沖器內(nèi)的封包表頭,再于該額外的存儲(chǔ)空間內(nèi)插入所須的協(xié)議表頭后,令大部分封包資料仍保持在原來(lái)位置,即可將其轉(zhuǎn)換成待傳送的封包,將其直接傳送至該廣域網(wǎng)絡(luò),故可有效避免因搬移封包資料所耗費(fèi)的時(shí)間,大幅提升內(nèi)嵌式以太網(wǎng)絡(luò)控制器的送收效率。
本發(fā)明采用的具體技術(shù)方案如下一種可增加內(nèi)嵌式以太網(wǎng)絡(luò)控制器送收效率的方法,針對(duì)一內(nèi)嵌式以太網(wǎng)絡(luò)控制器,該控制器可分別與一區(qū)域網(wǎng)絡(luò)及一廣域網(wǎng)絡(luò)端相連接,以在其間負(fù)責(zé)封包的傳送及接收處理,并利用直接存儲(chǔ)器存取架構(gòu),通過(guò)獨(dú)立數(shù)據(jù)總線,存取存儲(chǔ)器中復(fù)數(shù)個(gè)接收緩沖器及傳送緩沖器內(nèi)的封包,各該封包表頭與封包資料一起儲(chǔ)放在同一緩沖器內(nèi),該方法包括在初始化過(guò)程中,將各該接收緩沖器規(guī)劃成復(fù)數(shù)個(gè)固定大小的封包存放空間;再將各該封包存放空間中用以存放封包說(shuō)明字元、封包表頭、封包資料及封包表尾的存儲(chǔ)空間,規(guī)劃成各自獨(dú)立,且字節(jié)對(duì)齊的狀態(tài)。
其中各該封包存放空間內(nèi)所存放的每一封包中,該封包說(shuō)明字元占用四個(gè)字節(jié)的存儲(chǔ)空間,該封包表頭內(nèi)的目的地址及來(lái)源地址分別占用六個(gè)字節(jié)的存儲(chǔ)空間,其內(nèi)的型態(tài)占用兩個(gè)字節(jié)的存儲(chǔ)空間,該封包表尾則占用四個(gè)字節(jié)的存儲(chǔ)空間,其余的存儲(chǔ)空間則可用以存放該封包資料。
其中該方法尚包括加入一個(gè)二字節(jié)的存儲(chǔ)空間,令各該封包存放空間內(nèi)用以存放封包表頭的存儲(chǔ)空間,成為每四個(gè)字節(jié)對(duì)齊的狀態(tài),使與封包表尾所占用的四個(gè)字節(jié)的存儲(chǔ)空間,及其余用以存放封包資料的存儲(chǔ)空間,分別形成每四個(gè)字節(jié)對(duì)齊,且各自獨(dú)立,彼此區(qū)隔的存儲(chǔ)空間。
其中該方法尚包括初始化過(guò)程中,在該接收緩沖器的封包存放空間內(nèi)規(guī)劃出一多余的存儲(chǔ)空間,使該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳送來(lái)的封包后,僅需將該接收緩沖器內(nèi)的封包表頭搬移至該多余存儲(chǔ)空間,再變更該封包表頭,即可在大部分封包資料仍保持在原來(lái)位置的情形下,將其轉(zhuǎn)換成一傳送緩沖器內(nèi)的一傳送封包。
其中該傳送緩沖器的封包存放空間內(nèi)的該二字節(jié)的存儲(chǔ)空間,并不存放任何資料,故在進(jìn)行傳送處理時(shí),被設(shè)定為可自動(dòng)跳過(guò),而不必傳送。
其中該接收緩沖器的封包存放空間內(nèi)除了用以存放封包表頭及封包表尾的存儲(chǔ)空間外,其余存儲(chǔ)空間的大小被規(guī)劃成,除可用以存放所接收的封包資料外,尚包括一多余的存儲(chǔ)空間,使該額外的存儲(chǔ)空間在插入所須的協(xié)議表頭后,可與接收封包的表頭結(jié)合,轉(zhuǎn)變成傳送封包的表頭格式。
其中該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳來(lái)的封包時(shí),會(huì)將所接收的封包,依序存放至該接收緩沖器的封包存放空間內(nèi),待開始進(jìn)行傳送處理時(shí),再將該接收緩沖器內(nèi)的封包表頭,搬移至前一封包存放空間的該多余存儲(chǔ)空間內(nèi),并變更其封包表頭的內(nèi)容,令該接收緩沖器被轉(zhuǎn)換成傳送緩沖器,再于該多余存儲(chǔ)空間內(nèi),填入所須的協(xié)議表頭,即可將其轉(zhuǎn)換成傳送封包的表頭格式,以傳送至該廣域網(wǎng)絡(luò)。
其中若該接收緩沖器內(nèi)固定大小的各該封包存放空間,被規(guī)劃成一預(yù)定的封包長(zhǎng)度及該多余存儲(chǔ)空間的總和,則當(dāng)所接收的封包資料長(zhǎng)度大于該預(yù)定的封包長(zhǎng)度時(shí),該控制器在將該封包傳送至該廣域網(wǎng)絡(luò)時(shí),僅須將該接收緩沖器內(nèi)超出該預(yù)定封包長(zhǎng)度的部分,搬移至后續(xù)的多余存儲(chǔ)空間內(nèi),再將該接收封包表頭填入該多余存儲(chǔ)空間,以轉(zhuǎn)換成傳送封包表頭,并填入所須的協(xié)議表頭,即可將超出該預(yù)定封包長(zhǎng)度的部分,轉(zhuǎn)換成后續(xù)的傳送封包,順利地傳送至該廣域網(wǎng)絡(luò)。
一種可增加內(nèi)嵌式以太網(wǎng)絡(luò)控制器送收效率的方法,針對(duì)一內(nèi)嵌式以太網(wǎng)絡(luò)控制器,該控制器可分別與一區(qū)域網(wǎng)絡(luò)及一廣域網(wǎng)絡(luò)端相連接,以在其間負(fù)責(zé)封包的傳送及接收處理,并利用直接存儲(chǔ)器存取架構(gòu),通過(guò)獨(dú)立數(shù)據(jù)總線,存取存儲(chǔ)器中復(fù)數(shù)個(gè)接收緩沖器及傳送緩沖器內(nèi)的封包,各該封包表頭與封包資料一起儲(chǔ)放在同一緩沖器內(nèi),該方法包括在初始化過(guò)程中,在各該接收緩沖器的封包存放空間內(nèi)規(guī)劃出一多余的存儲(chǔ)空間,使該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳送來(lái)的封包后,僅需將該接收緩沖器內(nèi)的封包表頭搬移至該多余存儲(chǔ)空間,再變更其封包表頭,即可在大部分封包資料仍保持在原來(lái)位置的情形下,將其轉(zhuǎn)換成一傳送緩沖器內(nèi)的一傳送封包。
其中該方法尚包括在初始化過(guò)程中,將各該接收緩沖器規(guī)劃成復(fù)數(shù)個(gè)固定大小的封包存放空間;再將各該封包存放空間中用以存放封包說(shuō)明字元、封包表頭、封包資料及封包表尾的存儲(chǔ)空間,規(guī)劃成各自獨(dú)立,且字節(jié)對(duì)齊的狀態(tài)。
其中各該封包存放空間內(nèi)所存放的每一封包中,該封包說(shuō)明字元占用四個(gè)字節(jié)的存儲(chǔ)空間,該封包表頭內(nèi)的目的地址及來(lái)源地址分別占用六個(gè)字節(jié)的存儲(chǔ)空間,其內(nèi)的型態(tài)占用兩個(gè)字節(jié)的存儲(chǔ)空間,該封包表尾則占用四個(gè)字節(jié)的存儲(chǔ)空間,其余的存儲(chǔ)空間則可用以存放封包資料。
其中該方法尚包括加入一個(gè)二字節(jié)的存儲(chǔ)空間,令各該封包存放空間內(nèi)用以存放封包表頭的存儲(chǔ)空間,成為每四個(gè)字節(jié)對(duì)齊的狀態(tài),使與封包表尾所占用的四個(gè)字節(jié)的存儲(chǔ)空間,及其余用以存放封包資料的存儲(chǔ)空間,分別形成每四個(gè)字節(jié)對(duì)齊,且各自獨(dú)立,彼此區(qū)隔的存儲(chǔ)空間。
其中該接收緩沖器的封包存放空間內(nèi)所加入的該二字節(jié)的存儲(chǔ)空間,并不存放任何資料,故在進(jìn)行傳送處理時(shí),被設(shè)定為可自動(dòng)跳過(guò),而不必傳送。
其中該接收緩沖器的封包存放空間內(nèi)除了用以存放封包表頭及封包表尾的存儲(chǔ)空間外,其余存儲(chǔ)空間的大小被規(guī)劃成,除可用以存放所接收的封包資料外,尚包括該多余的存儲(chǔ)空間,使該額外的存儲(chǔ)空間在插入所須的額外協(xié)議表頭后,可與接收封包的表頭結(jié)合,轉(zhuǎn)變成該傳送封包的表頭格式。
其中該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳來(lái)的封包時(shí),會(huì)將所接收的封包,依序存放至該接收緩沖器的封包存放空間內(nèi),待開始進(jìn)行傳送處理時(shí),再將該接收緩沖器內(nèi)的封包表頭,搬移至前一封包存放空間的該多余存儲(chǔ)空間內(nèi),并變更其封包表頭的內(nèi)容,令該接收緩沖器被轉(zhuǎn)換成傳送緩沖器,再于該多余存儲(chǔ)空間內(nèi),填入所須的協(xié)議表頭,即可將其轉(zhuǎn)換成傳送封包的表頭格式,以傳送至該廣域網(wǎng)絡(luò)。
其中若該接收緩沖器內(nèi)固定大小的各該封包存放空間,被規(guī)劃成一預(yù)定的封包長(zhǎng)度及該多余存儲(chǔ)空間的總和,則當(dāng)所接收的封包資料長(zhǎng)度大于該預(yù)定的封包長(zhǎng)度時(shí),該控制器在將該封包傳送至該廣域網(wǎng)絡(luò)時(shí),僅須將該接收緩沖器內(nèi)超出該預(yù)定封包長(zhǎng)度的部分,搬移至后續(xù)的多余存儲(chǔ)空間內(nèi),再將該接收封包表頭填入該多余存儲(chǔ)空間,以轉(zhuǎn)換成傳送封包表頭,并填入所須的協(xié)議表頭,即可將超出該預(yù)定封包長(zhǎng)度的部分,轉(zhuǎn)換成后續(xù)的傳送封包,順利地傳送至該廣域網(wǎng)絡(luò)。
本發(fā)明提供的方法,可令內(nèi)嵌式以太網(wǎng)絡(luò)控制器在接收到由一區(qū)域或廣域網(wǎng)絡(luò)傳送來(lái)的封包后,無(wú)需大幅搬移原接收的封包資料,僅需移動(dòng)及變更接收緩沖器內(nèi)的封包表頭,并插入所須的協(xié)議表頭后,即可將其轉(zhuǎn)換成待傳送的傳送封包,直接傳送至另一區(qū)域或廣域網(wǎng)絡(luò),而且無(wú)須再對(duì)字節(jié)重新進(jìn)行對(duì)齊作業(yè),故可有效避免因搬移封包資料及對(duì)齊作業(yè)所耗費(fèi)的時(shí)間和效能,大幅提升內(nèi)嵌式以太網(wǎng)絡(luò)控制器的送收效率。
圖號(hào)說(shuō)明內(nèi)嵌式以太網(wǎng)絡(luò)控制器1中央處理單元2以太網(wǎng)絡(luò)媒介存取控制器3主動(dòng)式總線直接存儲(chǔ)器存取控制線路4
存儲(chǔ)器5傳送緩沖器Tx-BUFFER傳送封包的目的地址Tx_DA傳送封包的來(lái)源地址Tx_SA傳送封包的型態(tài)Tx_TYPE存儲(chǔ)區(qū)10封包表尾CRC接收緩沖器Rx-BUFFER接收封包的目的地址Rx_DA接收封包的來(lái)源地址Rx_SA接收封包的型態(tài)Rx_TYPE接收的封包資料20協(xié)議表頭30二字節(jié)的存儲(chǔ)空間40、50多余存儲(chǔ)空間41、51、53接收封包表頭90說(shuō)明字元的存儲(chǔ)空間52傳送封包表頭91傳送表頭格式92協(xié)議表頭的存儲(chǔ)空間54大部分的封包資料80剩余資料81
參閱圖4所示,利用此一大小的多余存儲(chǔ)空間,即可將接收緩沖器(Rx-Buffer)與傳送緩沖器(Tx-Buffer)合而為一,其做法是利用接收緩沖器中每一封包存放空間內(nèi)的多余存儲(chǔ)空間,來(lái)作為在下一個(gè)傳送封包上插入額外協(xié)議表頭時(shí)所需的空間,如此,此種改良式內(nèi)嵌式以太網(wǎng)絡(luò)控制器,在接收到由一區(qū)域網(wǎng)絡(luò)傳來(lái)的一接收封包后,僅需令其接收緩沖器(Rx-Buffer)內(nèi)的封包表頭向上移動(dòng)后,變更其內(nèi)容,再利用上一個(gè)封包存放空間內(nèi)所留下的多余存儲(chǔ)空間,插入所須的協(xié)議表頭,即可將其轉(zhuǎn)換成待傳送的傳送封包,直接傳送至另一廣域或區(qū)域網(wǎng)絡(luò),此時(shí),由于接收封包中大部分的項(xiàng)目,如封包資料及封包表尾等,均可保持在原來(lái)的存放位置,故可有效避免中央處理單元因搬移封包資料所耗費(fèi)的時(shí)間及效能。
本發(fā)明在對(duì)各該緩沖器的存儲(chǔ)空間進(jìn)行初始化作業(yè)的過(guò)程中,參閱圖5所示,先將每個(gè)接收緩沖器Rx-BUFFER規(guī)劃成復(fù)數(shù)個(gè)固定大小的封包存放空間,其大小可大于標(biāo)準(zhǔn)以太網(wǎng)絡(luò)封包長(zhǎng)度的最大值=1518Bytes,假設(shè)為2K至4Kbytes,以分別存放所接收到的封包。此外,為令各該封包存放空間內(nèi)分別用以存放封包說(shuō)明字元、封包表頭、封包資料及封包表尾的存儲(chǔ)空間,各自獨(dú)立,彼此區(qū)隔,本發(fā)明特將封包說(shuō)明字元(占用四個(gè)字節(jié))、目的地址Rx_DA(占用六個(gè)字節(jié))、來(lái)源地址Rx_SA(占用六個(gè)字節(jié))及型態(tài)Rx_TYPE(占用兩個(gè)字節(jié))等所占用的存儲(chǔ)空間中,再加入一個(gè)二個(gè)字節(jié)的存儲(chǔ)空間40,令用以存放封包表頭90的存儲(chǔ)空間,成為每四個(gè)字節(jié)對(duì)齊的狀態(tài),使與封包表尾CRC所占用的四個(gè)字節(jié)的存儲(chǔ)空間,及其余用以存放封包資料的存儲(chǔ)空間,分別形成每四個(gè)字節(jié)對(duì)齊,且各自獨(dú)立,彼此區(qū)隔的存儲(chǔ)空間。如此,當(dāng)該內(nèi)嵌式以太網(wǎng)絡(luò)控制器的作業(yè)系統(tǒng)欲存取各該封包存放空間內(nèi)的封包時(shí),即可以32個(gè)位元(即4個(gè)字節(jié))為一單位,完成存取作業(yè),而無(wú)須再對(duì)資料重新進(jìn)行字節(jié)的對(duì)齊作業(yè)。至于,所加入的二個(gè)字節(jié)的存儲(chǔ)空間40,由于在進(jìn)行后續(xù)傳送處理時(shí),被設(shè)定為可自動(dòng)跳過(guò),而不必傳送的內(nèi)容,故不致因此增加封包傳送處理上的負(fù)擔(dān)。另,在本發(fā)明中,每一個(gè)固定大小的封包存放空間內(nèi)的多余存儲(chǔ)空間41,即可供后續(xù)傳送處理時(shí),插入所須的協(xié)議表頭。
本發(fā)明在將該接收緩沖器Rx-BUFFER,轉(zhuǎn)換成一傳送緩沖器Tx-BUFFER的過(guò)程中,參閱圖6所示,先將每個(gè)傳送緩沖器Tx-BUFFER規(guī)劃成可存放一個(gè)封包,其中用以存放封包表頭、封包資料及封包表尾的存儲(chǔ)空間,與前述接收緩沖器Rx-BUFFER完全相同,維持不變,且亦在該封包表頭所占用的存儲(chǔ)空間中,保留有一個(gè)二字節(jié)的存儲(chǔ)空間50。如此,用以存放封包表頭的存儲(chǔ)空間,即成為每四個(gè)字節(jié)對(duì)齊的獨(dú)立空間,并與封包表尾所占用的四個(gè)字節(jié)的存儲(chǔ)空間,及用以存放封包資料的存儲(chǔ)空間,分別形成每四個(gè)字節(jié)對(duì)齊,且各自獨(dú)立,彼此區(qū)隔的存儲(chǔ)空間。在此尤需特別注意的是,所加入的二字節(jié)的存儲(chǔ)空間50,并不存放任何資料,故在進(jìn)行傳送處理時(shí),可被設(shè)定為自動(dòng)跳過(guò),不必傳送。在前述轉(zhuǎn)換過(guò)程中,該接收緩沖器Rx-BUFFER中原本用以存放封包說(shuō)明字元的存儲(chǔ)空間52將被釋出,復(fù)參閱圖6所示,并與上一個(gè)接收緩沖器Rx-BUFFER所留下的多余存儲(chǔ)空間51,合并成為該傳送緩沖器Tx-BUFFER中的多余存儲(chǔ)空間53。
接著,當(dāng)在該傳送緩沖器Tx-BUFFER中,參閱圖7所示,插入所須的協(xié)議表頭時(shí),必須先將用以存放封包表頭(header)91的存儲(chǔ)空間,向該傳送緩沖器Tx-BUFFER中多余存儲(chǔ)空間53方向移動(dòng),以騰出恰可存放該協(xié)議表頭的存儲(chǔ)空間54。在本發(fā)明中,由于該傳送緩沖器Tx-BUFFER中封包資料及封包表尾所在的存儲(chǔ)空間,仍與原先接收緩沖器Rx-BUFFER內(nèi)相同,并未變動(dòng),故在插入?yún)f(xié)議表頭后,該協(xié)議表頭將與封包表頭91結(jié)合,轉(zhuǎn)變成該傳送封包的表頭格式92。
據(jù)上所述,本發(fā)明在實(shí)際實(shí)施時(shí),該內(nèi)嵌式以太網(wǎng)絡(luò)控制器上的以太網(wǎng)絡(luò)媒介存取控制器分別與一區(qū)域網(wǎng)絡(luò)及一廣域網(wǎng)絡(luò)相連接,且在進(jìn)行接收處理Rx,接收到由該區(qū)域網(wǎng)絡(luò)傳來(lái)的封包時(shí),其作業(yè)系統(tǒng)會(huì)將所接收的封包,依序存放至該接收緩沖器Rx-BUFFER的封包存放空間內(nèi),待開始進(jìn)行傳送處理Tx時(shí),再將該接收緩沖器Rx-BUFFER內(nèi)的說(shuō)明字元及多余存儲(chǔ)空間41,復(fù)參閱圖6所示,轉(zhuǎn)換成該傳送緩沖器Tx-BUFFER中可用的多余存儲(chǔ)空間53,變更該傳送封包的表頭格式91后,復(fù)參閱圖7所示,再將其上移至該多余存儲(chǔ)空間53,并于騰出來(lái)的存儲(chǔ)空間54內(nèi),填入所須的協(xié)議表頭,即可將其傳送至廣域網(wǎng)絡(luò)。在本發(fā)明中,由于該接收緩沖器Rx-BUFFER及傳送緩沖器Tx-BUFFER中用以存放封包資料及封包表尾的存儲(chǔ)空間,并未改變,故中央處理單元僅需將該接收封包的表頭90,轉(zhuǎn)換成傳送封包的表頭格式92,并于騰出來(lái)的存儲(chǔ)空間54內(nèi),填入?yún)f(xié)議表頭,即可順利將該傳送封包傳送至廣域網(wǎng)絡(luò),故可有效避免因搬移封包資料所耗費(fèi)的時(shí)間,大幅提升內(nèi)嵌式以太網(wǎng)絡(luò)控制器的送收效率。
在本發(fā)明的一較佳實(shí)施例中,若各該封包存放空間的大小,大于或等于最大的以太網(wǎng)絡(luò)封包長(zhǎng)度及該多余存儲(chǔ)空間的總和,使足以存放所接收到的任何長(zhǎng)度的以太網(wǎng)絡(luò)封包,則本發(fā)明的內(nèi)嵌式以太網(wǎng)絡(luò)控制器,完全無(wú)須對(duì)該接收緩沖器Rx-BUFFER內(nèi)所存放的封包資料及封包表尾,進(jìn)行搬移,即可將由該區(qū)域網(wǎng)絡(luò)所接收到的封包,順利地傳送至該廣域網(wǎng)絡(luò),大幅提升了內(nèi)嵌式以太網(wǎng)絡(luò)控制器在封包處理上約20~30%的效能。
在本發(fā)明的另一較佳實(shí)施例中,參閱圖8所示,若該接收緩沖器Rx-BUFFER內(nèi)的各該封包存放空間的大小,被規(guī)劃成一預(yù)定的封包長(zhǎng)度(略小于最大的以太網(wǎng)絡(luò)封包長(zhǎng)度)及該多余存儲(chǔ)空間的總和,則當(dāng)所接收的封包資料長(zhǎng)度大于該預(yù)定的封包長(zhǎng)度時(shí),中央處理單元可將該接收封包的大部分資料,轉(zhuǎn)換成第n-1個(gè)傳送封包的封包資料,并將無(wú)法轉(zhuǎn)換成第n-1個(gè)傳送封包的剩余資料81,轉(zhuǎn)換成后續(xù)的第n個(gè)傳送封包,故當(dāng)本發(fā)明的內(nèi)嵌式以太網(wǎng)絡(luò)控制器,欲將該接收緩沖器Rx-BUFFER內(nèi)所存放的封包資料,傳送至該廣域網(wǎng)絡(luò)時(shí),僅須對(duì)該剩余資料81進(jìn)行搬移,再于多余存儲(chǔ)空間41內(nèi),將該接收封包表頭90轉(zhuǎn)換成傳送封包表頭91,并填入所須的協(xié)議表頭30,即可將該剩余資料81,轉(zhuǎn)換成第n個(gè)傳送封包,并順利地傳送至該廣域網(wǎng)絡(luò)。在該另一較佳實(shí)施例中,由于所接收的封包大小,并非經(jīng)常發(fā)生超過(guò)該預(yù)定封包長(zhǎng)度的情形,且即使有剩余資料,一般亦非常小,故對(duì)于該內(nèi)嵌式以太網(wǎng)絡(luò)控制器在封包處理上,僅有微不足道的影響,故仍可確保有效提升其在封包處理上約20~30%的效能。
以上所述,僅為本發(fā)明的較佳具體實(shí)施例,但本發(fā)明的設(shè)計(jì)并不局限于此,任何熟悉該項(xiàng)技藝者在本發(fā)明領(lǐng)域內(nèi),可輕易思及的變化或修飾,皆應(yīng)涵蓋在本案的權(quán)利要求范圍之內(nèi)。
權(quán)利要求
1.一種可增加內(nèi)嵌式以太網(wǎng)絡(luò)控制器送收效率的方法,針對(duì)一內(nèi)嵌式以太網(wǎng)絡(luò)控制器,該控制器可分別與一區(qū)域網(wǎng)絡(luò)及一廣域網(wǎng)絡(luò)端相連接,以在其間負(fù)責(zé)封包的傳送及接收處理,并利用直接存儲(chǔ)器存取架構(gòu),通過(guò)獨(dú)立數(shù)據(jù)總線,存取存儲(chǔ)器中復(fù)數(shù)個(gè)接收緩沖器及傳送緩沖器內(nèi)的封包,各該封包表頭與封包資料一起儲(chǔ)放在同一緩沖器內(nèi),其特征在于該方法包括在初始化過(guò)程中,將各該接收緩沖器規(guī)劃成復(fù)數(shù)個(gè)固定大小的封包存放空間;再將各該封包存放空間中用以存放封包說(shuō)明字元、封包表頭、封包資料及封包表尾的存儲(chǔ)空間,規(guī)劃成各自獨(dú)立,且字節(jié)對(duì)齊的狀態(tài)。
2.如權(quán)利要求1所述的方法,其特征在于其中各該封包存放空間內(nèi)所存放的每一封包中,該封包說(shuō)明字元占用四個(gè)字節(jié)的存儲(chǔ)空間,該封包表頭內(nèi)的目的地址及來(lái)源地址分別占用六個(gè)字節(jié)的存儲(chǔ)空間,其內(nèi)的型態(tài)占用兩個(gè)字節(jié)的存儲(chǔ)空間,該封包表尾則占用四個(gè)字節(jié)的存儲(chǔ)空間,其余的存儲(chǔ)空間則可用以存放該封包資料。
3.如權(quán)利要求2所述的方法,其特征在于其中該方法尚包括加入一個(gè)二字節(jié)的存儲(chǔ)空間,令各該封包存放空間內(nèi)用以存放封包表頭的存儲(chǔ)空間,成為每四個(gè)字節(jié)對(duì)齊的狀態(tài),使與封包表尾所占用的四個(gè)字節(jié)的存儲(chǔ)空間,及其余用以存放封包資料的存儲(chǔ)空間,分別形成每四個(gè)字節(jié)對(duì)齊,且各自獨(dú)立,彼此區(qū)隔的存儲(chǔ)空間。
4.如權(quán)利要求3所述的方法,其特征在于其中該方法尚包括初始化過(guò)程中,在該接收緩沖器的封包存放空間內(nèi)規(guī)劃出一多余的存儲(chǔ)空間,使該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳送來(lái)的封包后,僅需將該接收緩沖器內(nèi)的封包表頭搬移至該多余存儲(chǔ)空間,再變更該封包表頭,即可在大部分封包資料仍保持在原來(lái)位置的情形下,將其轉(zhuǎn)換成一傳送緩沖器內(nèi)的一傳送封包。
5.如權(quán)利要求4所述的方法,其特征在于其中該傳送緩沖器的封包存放空間內(nèi)的該二字節(jié)的存儲(chǔ)空間,并不存放任何資料,故在進(jìn)行傳送處理時(shí),被設(shè)定為可自動(dòng)跳過(guò),而不必傳送。
6.如權(quán)利要求5所述的方法,其特征在于其中該接收緩沖器的封包存放空間內(nèi)除了用以存放封包表頭及封包表尾的存儲(chǔ)空間外,其余存儲(chǔ)空間的大小被規(guī)劃成,除可用以存放所接收的封包資料外,尚包括一多余的存儲(chǔ)空間,使該額外的存儲(chǔ)空間在插入所須的協(xié)議表頭后,可與接收封包的表頭結(jié)合,轉(zhuǎn)變成傳送封包的表頭格式。
7.如權(quán)利要求6所述的方法,其特征在于其中該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳來(lái)的封包時(shí),會(huì)將所接收的封包,依序存放至該接收緩沖器的封包存放空間內(nèi),待開始進(jìn)行傳送處理時(shí),再將該接收緩沖器內(nèi)的封包表頭,搬移至前一封包存放空間的該多余存儲(chǔ)空間內(nèi),并變更其封包表頭的內(nèi)容,令該接收緩沖器被轉(zhuǎn)換成傳送緩沖器,再于該多余存儲(chǔ)空間內(nèi),填入所須的協(xié)議表頭,即可將其轉(zhuǎn)換成傳送封包的表頭格式,以傳送至該廣域網(wǎng)絡(luò)。
8.如權(quán)利要求7所述的方法,其特征在于其中若該接收緩沖器內(nèi)固定大小的各該封包存放空間,被規(guī)劃成一預(yù)定的封包長(zhǎng)度及該多余存儲(chǔ)空間的總和,則當(dāng)所接收的封包資料長(zhǎng)度大于該預(yù)定的封包長(zhǎng)度時(shí),該控制器在將該封包傳送至該廣域網(wǎng)絡(luò)時(shí),僅須將該接收緩沖器內(nèi)超出該預(yù)定封包長(zhǎng)度的部分,搬移至后續(xù)的多余存儲(chǔ)空間內(nèi),再將該接收封包表頭填入該多余存儲(chǔ)空間,以轉(zhuǎn)換成傳送封包表頭,并填入所須的協(xié)議表頭,即可將超出該預(yù)定封包長(zhǎng)度的部分,轉(zhuǎn)換成后續(xù)的傳送封包,順利地傳送至該廣域網(wǎng)絡(luò)。
9.一種可增加內(nèi)嵌式以太網(wǎng)絡(luò)控制器送收效率的方法,針對(duì)一內(nèi)嵌式以太網(wǎng)絡(luò)控制器,該控制器可分別與一區(qū)域網(wǎng)絡(luò)及一廣域網(wǎng)絡(luò)端相連接,以在其間負(fù)責(zé)封包的傳送及接收處理,并利用直接存儲(chǔ)器存取架構(gòu),通過(guò)獨(dú)立數(shù)據(jù)總線,存取存儲(chǔ)器中復(fù)數(shù)個(gè)接收緩沖器及傳送緩沖器內(nèi)的封包,各該封包表頭與封包資料一起儲(chǔ)放在同一緩沖器內(nèi),其特征在于該方法包括在初始化過(guò)程中,在各該接收緩沖器的封包存放空間內(nèi)規(guī)劃出一多余的存儲(chǔ)空間,使該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳送來(lái)的封包后,僅需將該接收緩沖器內(nèi)的封包表頭搬移至該多余存儲(chǔ)空間,再變更其封包表頭,即可在大部分封包資料仍保持在原來(lái)位置的情形下,將其轉(zhuǎn)換成一傳送緩沖器內(nèi)的一傳送封包。
10.如權(quán)利要求9所述的方法,其特征在于其中該方法尚包括在初始化過(guò)程中,將各該接收緩沖器規(guī)劃成復(fù)數(shù)個(gè)固定大小的封包存放空間;再將各該封包存放空間中用以存放封包說(shuō)明字元、封包表頭、封包資料及封包表尾的存儲(chǔ)空間,規(guī)劃成各自獨(dú)立,且字節(jié)對(duì)齊的狀態(tài)。
11.如權(quán)利要求10所述的方法,其特征在于其中各該封包存放空間內(nèi)所存放的每一封包中,該封包說(shuō)明字元占用四個(gè)字節(jié)的存儲(chǔ)空間,該封包表頭內(nèi)的目的地址及來(lái)源地址分別占用六個(gè)字節(jié)的存儲(chǔ)空間,其內(nèi)的型態(tài)占用兩個(gè)字節(jié)的存儲(chǔ)空間,該封包表尾則占用四個(gè)字節(jié)的存儲(chǔ)空間,其余的存儲(chǔ)空間則可用以存放封包資料。
12.如權(quán)利要求11所述的方法,其特征在于其中該方法尚包括加入一個(gè)二字節(jié)的存儲(chǔ)空間,令各該封包存放空間內(nèi)用以存放封包表頭的存儲(chǔ)空間,成為每四個(gè)字節(jié)對(duì)齊的狀態(tài),使與封包表尾所占用的四個(gè)字節(jié)的存儲(chǔ)空間,及其余用以存放封包資料的存儲(chǔ)空間,分別形成每四個(gè)字節(jié)對(duì)齊,且各自獨(dú)立,彼此區(qū)隔的存儲(chǔ)空間。
13.如權(quán)利要求12所述的方法,其特征在于其中該接收緩沖器的封包存放空間內(nèi)所加入的該二字節(jié)的存儲(chǔ)空間,并不存放任何資料,故在進(jìn)行傳送處理時(shí),被設(shè)定為可自動(dòng)跳過(guò),而不必傳送。
14.如權(quán)利要求13所述的方法,其特征在于其中該接收緩沖器的封包存放空間內(nèi)除了用以存放封包表頭及封包表尾的存儲(chǔ)空間外,其余存儲(chǔ)空間的大小被規(guī)劃成,除可用以存放所接收的封包資料外,尚包括該多余的存儲(chǔ)空間,使該額外的存儲(chǔ)空間在插入所須的額外協(xié)議表頭后,可與接收封包的表頭結(jié)合,轉(zhuǎn)變成該傳送封包的表頭格式。
15.如權(quán)利要求14所述的方法,其特征在于其中該控制器在接收到由該區(qū)域網(wǎng)絡(luò)傳來(lái)的封包時(shí),會(huì)將所接收的封包,依序存放至該接收緩沖器的封包存放空間內(nèi),待開始進(jìn)行傳送處理時(shí),再將該接收緩沖器內(nèi)的封包表頭,搬移至前一封包存放空間的該多余存儲(chǔ)空間內(nèi),并變更其封包表頭的內(nèi)容,令該接收緩沖器被轉(zhuǎn)換成傳送緩沖器,再于該多余存儲(chǔ)空間內(nèi),填入所須的協(xié)議表頭,即可將其轉(zhuǎn)換成傳送封包的表頭格式,以傳送至該廣域網(wǎng)絡(luò)。
16.如權(quán)利要求15所述的方法,其特征在于其中若該接收緩沖器內(nèi)固定大小的各該封包存放空間,被規(guī)劃成一預(yù)定的封包長(zhǎng)度及該多余存儲(chǔ)空間的總和,則當(dāng)所接收的封包資料長(zhǎng)度大于該預(yù)定的封包長(zhǎng)度時(shí),該控制器在將該封包傳送至該廣域網(wǎng)絡(luò)時(shí),僅須將該接收緩沖器內(nèi)超出該預(yù)定封包長(zhǎng)度的部分,搬移至后續(xù)的多余存儲(chǔ)空間內(nèi),再將該接收封包表頭填入該多余存儲(chǔ)空間,以轉(zhuǎn)換成傳送封包表頭,并填入所須的協(xié)議表頭,即可將超出該預(yù)定封包長(zhǎng)度的部分,轉(zhuǎn)換成后續(xù)的傳送封包,順利地傳送至該廣域網(wǎng)絡(luò)。
全文摘要
一種可增加內(nèi)嵌式以太網(wǎng)絡(luò)控制器送收效率的方法,針對(duì)一內(nèi)嵌式以太網(wǎng)絡(luò)控制器,該控制器可分別與區(qū)域或廣域網(wǎng)絡(luò)連接,以負(fù)責(zé)其封包的傳送與接收,并利用直接存儲(chǔ)器存取架構(gòu),存取存儲(chǔ)器中復(fù)數(shù)個(gè)緩沖器內(nèi)的封包,各封包的說(shuō)明字元與資料一起儲(chǔ)放在同一緩沖器內(nèi),該方法將各接收緩沖器內(nèi)封包存放空間,規(guī)劃成固定大小,并規(guī)劃出一多余的存儲(chǔ)空間,使該控制器接收到由網(wǎng)絡(luò)傳送來(lái)的封包后,僅需向上移動(dòng)及變更該接收緩沖器內(nèi)的封包表頭,令大部分封包資料保持在原來(lái)的位置,并于該多余的存儲(chǔ)空間內(nèi)插入所須的協(xié)議表頭,即可將其轉(zhuǎn)換成傳送封包直接傳送至另一網(wǎng)絡(luò),故可有效避免因搬移封包資料所耗費(fèi)的時(shí)間,大幅提升內(nèi)嵌式以太網(wǎng)絡(luò)控制器的送收效率。
文檔編號(hào)H04L12/28GK1464694SQ02122728
公開日2003年12月31日 申請(qǐng)日期2002年6月7日 優(yōu)先權(quán)日2002年6月7日
發(fā)明者林勁甫 申請(qǐng)人:友訊科技股份有限公司