專利名稱:網(wǎng)絡(luò)分組接收管理方法與具有網(wǎng)絡(luò)分組接收管理功能的網(wǎng)絡(luò)控制電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種網(wǎng)絡(luò)分組接收管理方法以及其相關(guān)裝置,尤指一種基于數(shù)據(jù)陣 列結(jié)構(gòu)的網(wǎng)絡(luò)分組接收管理方法以及其相關(guān)裝置。
背景技術(shù):
網(wǎng)絡(luò)控制芯片(Network Interface Controller, NIC)是用于在一個(gè)電子裝置 與一網(wǎng)絡(luò)連接時(shí),提供一個(gè)可識(shí)別的地址并擔(dān)任兩者之間的溝通接口,在該電子裝置成功 由該網(wǎng)絡(luò)接收一網(wǎng)絡(luò)分組后,該網(wǎng)絡(luò)控制芯片會(huì)將該網(wǎng)絡(luò)分組上傳至該電子裝置的一處理 單元并接收由該處理單元回傳的一網(wǎng)絡(luò)分組?,F(xiàn)今網(wǎng)絡(luò)控制芯片所采用的數(shù)據(jù)結(jié)構(gòu),一般 而言以串行(Iinked-Iist)數(shù)據(jù)結(jié)構(gòu)或是陣列(array)數(shù)據(jù)結(jié)構(gòu)居多,串行數(shù)據(jù)結(jié)構(gòu)是在 接收到的一網(wǎng)絡(luò)分組上注明該網(wǎng)絡(luò)分組前一個(gè)、后一個(gè)或是前后一個(gè)網(wǎng)絡(luò)分組的地址,如 此一來(lái),當(dāng)該處理單元回傳的順序與該網(wǎng)絡(luò)控制芯片上傳的順序不同時(shí),仍可以輕易找出 數(shù)據(jù)的排列順序,然而,串行數(shù)據(jù)結(jié)構(gòu)缺點(diǎn)在于需要較多的系統(tǒng)資源來(lái)處理并儲(chǔ)存用來(lái)注 明前后網(wǎng)絡(luò)分組的地址,而陣列數(shù)據(jù)結(jié)構(gòu)則使用了較單純的結(jié)構(gòu),僅需要少許的儲(chǔ)存空間 以及系統(tǒng)資源,但其缺點(diǎn)在于當(dāng)該處理單元回傳的順序與該網(wǎng)絡(luò)控制芯片上傳的順序不同 時(shí),會(huì)面臨失序(out of order)的問(wèn)題而造成接口使用效率的下降。該參照?qǐng)D1,圖1為先前技術(shù)中基于陣列數(shù)據(jù)結(jié)構(gòu)的網(wǎng)絡(luò)分組接收管理方法的操 作示意圖。一陣列Al具有四個(gè)數(shù)據(jù)區(qū)塊DBl DB4,分別由四個(gè)陣列分組描述符Dal Da4 所標(biāo)示,當(dāng)該網(wǎng)絡(luò)控制芯片經(jīng)一網(wǎng)絡(luò)成功接收網(wǎng)絡(luò)分組后,會(huì)將網(wǎng)絡(luò)分組依序一個(gè)一個(gè)地 存入陣列Al,當(dāng)最后一個(gè)陣列分組描述符Da4所標(biāo)示的數(shù)據(jù)區(qū)塊DB4也存入網(wǎng)絡(luò)分組,則從 頭再開(kāi)始使用陣列分組描述符Dal所標(biāo)示的數(shù)據(jù)區(qū)塊DBl來(lái)儲(chǔ)存網(wǎng)絡(luò)分組。當(dāng)陣列Al存 滿網(wǎng)絡(luò)分組Pal Pa4且依序上傳給至少一處理器105之后,處理完畢的網(wǎng)絡(luò)分組Pal ’ Pa4’可能不會(huì)依序回傳。舉例來(lái)說(shuō),處理完畢的網(wǎng)絡(luò)分組以?31’133’、?34’、?32,的順序 回傳給該網(wǎng)絡(luò)控制芯片,網(wǎng)絡(luò)分組Pal’會(huì)順利存放在陣列分組描述符Dal所標(biāo)示的數(shù)據(jù)區(qū) 塊DB1,但由于陣列分組描述符Da2所標(biāo)示的數(shù)據(jù)區(qū)塊DB2是用來(lái)儲(chǔ)存網(wǎng)絡(luò)分組Pa2’,即使 處理完畢的網(wǎng)絡(luò)分組Pa3’和Pa4’已儲(chǔ)存于一緩沖空間110,仍需要等處理完畢的網(wǎng)絡(luò)分組 Pa2'成功接收儲(chǔ)存后,才能使用陣列分組描述符Da3與Da4所分別標(biāo)示的數(shù)據(jù)區(qū)塊DB3與 DB4來(lái)儲(chǔ)存網(wǎng)絡(luò)分組Pa3’與Pa4’。在這個(gè)例子中,未依序回傳的網(wǎng)絡(luò)分組Pa2’會(huì)導(dǎo)致陣 列分組描述符Da2在接收機(jī)制中形成一個(gè)泡泡(bubble),因而降低整體的接收效率。
發(fā)明內(nèi)容
本發(fā)明的目的之一是提供一種基于陣列數(shù)據(jù)結(jié)構(gòu)的網(wǎng)絡(luò)分組接收管理方法以及 其相關(guān)的網(wǎng)絡(luò)控制電路,用以克服分組失序的問(wèn)題并簡(jiǎn)化硬件接口,如此一來(lái),便可提高系 統(tǒng)效率并減少硬件成本。依據(jù)本發(fā)明的一方面,其提供了一種網(wǎng)絡(luò)分組接收管理方法。該網(wǎng)絡(luò)分組接收管理方法包含有以下步驟提供一緩沖單元,其至少包含有具有一第一分組個(gè)數(shù)的多個(gè)數(shù)據(jù) 區(qū)塊與具有一第二分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊,其中具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊 是用來(lái)依據(jù)一第一陣列數(shù)據(jù)結(jié)構(gòu)(Array Data Structure)而分別儲(chǔ)存多個(gè)第一網(wǎng)絡(luò)分組, 該第一陣列數(shù)據(jù)結(jié)構(gòu)包含有對(duì)應(yīng)該第一分組個(gè)數(shù)的多個(gè)第一分組描述符(descriptor),具 有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是分別對(duì)應(yīng)至該多個(gè)第一分組描述符,以及具有該第 二分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊并未對(duì)應(yīng)至任何分組描述符;以及當(dāng)該緩沖單元內(nèi)有對(duì)應(yīng)至 一第一分組描述符的一第一數(shù)據(jù)區(qū)塊成功接收一第一網(wǎng)絡(luò)分組時(shí),將對(duì)應(yīng)該第一數(shù)據(jù)區(qū)塊 的該第一分組描述符改為指定至該緩沖單元內(nèi)未對(duì)應(yīng)至任何分組描述符的一第二數(shù)據(jù)區(qū) 塊。依據(jù)本發(fā)明的另一方面,其提供了一種具有網(wǎng)絡(luò)分組接收管理功能的網(wǎng)絡(luò)控制電 路。該網(wǎng)絡(luò)控制電路包含有一緩沖單元以及一處理單元。該緩沖單元至少包含有具有一第 一分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊與具有一第二分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊,其中具有該第一分組 個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是用來(lái)依據(jù)一第一陣列數(shù)據(jù)結(jié)構(gòu)(Array Data Structure)而分別 儲(chǔ)存多個(gè)第一網(wǎng)絡(luò)分組,該第一陣列數(shù)據(jù)結(jié)構(gòu)包含有對(duì)應(yīng)該第一分組個(gè)數(shù)的多個(gè)第一分組 描述符(descriptor),具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是分別對(duì)應(yīng)至該多個(gè)第一分 組描述符,以及具有該第二分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊并未對(duì)應(yīng)至任何分組描述符。該處 理單元耦接于該緩沖單元,用以于該緩沖單元內(nèi)有對(duì)應(yīng)至一第一分組描述符的一第一數(shù)據(jù) 區(qū)塊成功接收一第一網(wǎng)絡(luò)分組時(shí),將對(duì)應(yīng)該第一數(shù)據(jù)區(qū)塊的該第一分組描述符改為指定至 該緩沖單元內(nèi)未對(duì)應(yīng)至任何分組描述符的一第二數(shù)據(jù)區(qū)塊。
圖1為先前技術(shù)中基于陣列數(shù)據(jù)結(jié)構(gòu)的網(wǎng)絡(luò)分組接收管理方法的操作示意圖。圖2為本發(fā)明網(wǎng)絡(luò)控制電路的一實(shí)施例的示意圖。圖3為網(wǎng)絡(luò)控制電路中的處理單元會(huì)將陣列分組描述符由一數(shù)據(jù)區(qū)塊改為標(biāo)示 一空閑數(shù)據(jù)區(qū)塊的操作示意圖。圖4為本發(fā)明網(wǎng)絡(luò)控制電路的另一實(shí)施例的示意圖。
具體實(shí)施例方式請(qǐng)參照?qǐng)D2,圖2為本發(fā)明網(wǎng)絡(luò)控制電路的一實(shí)施例的示意圖。于本實(shí)施例中,網(wǎng) 絡(luò)控制電路200與一網(wǎng)絡(luò)230以及一終端單元(例如一處理器)250連接,網(wǎng)絡(luò)控制電路 200包含有(但不限于)一緩沖單元210以及一處理單元220。緩沖單元210以及處理單元 220的功能與運(yùn)作可簡(jiǎn)要地概述如下。緩沖單元210至少包含有具有一第一分組個(gè)數(shù)的多 個(gè)數(shù)據(jù)區(qū)塊與具有一第二分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊,其中具有該第一分組個(gè)數(shù)的該多個(gè)數(shù) 據(jù)區(qū)塊是用來(lái)依據(jù)一第一陣列數(shù)據(jù)結(jié)構(gòu)而分別儲(chǔ)存多個(gè)第一網(wǎng)絡(luò)分組,該第一陣列數(shù)據(jù)結(jié) 構(gòu)包含有對(duì)應(yīng)該第一分組個(gè)數(shù)的多個(gè)第一分組描述符,具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù) 區(qū)塊是分別對(duì)應(yīng)至該多個(gè)第一分組描述符,以及具有該第二分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊并 未對(duì)應(yīng)至任何分組描述符。此外,處理單元220耦接于緩沖單元210,用以于緩沖單元210 內(nèi)有對(duì)應(yīng)至一第一分組描述符的一第一數(shù)據(jù)區(qū)塊成功接收一第一網(wǎng)絡(luò)分組時(shí),將對(duì)應(yīng)該第 一數(shù)據(jù)區(qū)塊的該第一分組描述符改為指定至緩沖單元210內(nèi)未對(duì)應(yīng)至任何分組描述符的一第二數(shù)據(jù)區(qū)塊。為了進(jìn)一步說(shuō)明本發(fā)明的網(wǎng)絡(luò)分組接收管理方法,請(qǐng)配合以下說(shuō)明繼續(xù)參照?qǐng)D2。 緩沖單元210內(nèi)具有一第一陣列Bl以陣列數(shù)據(jù)結(jié)構(gòu)接收儲(chǔ)存數(shù)據(jù),在本實(shí)施例中,第一陣 列Bl具有四個(gè)數(shù)據(jù)區(qū)塊DB1_1 DB1_4,分別由四個(gè)陣列分組描述符Dbl Db4所標(biāo)示,當(dāng) 網(wǎng)絡(luò)控制電路200(例如一網(wǎng)絡(luò)控制芯片)通過(guò)網(wǎng)絡(luò)230成功接收網(wǎng)絡(luò)分組后,會(huì)將網(wǎng)絡(luò) 分組依序一個(gè)一個(gè)地存入第一陣列Bl內(nèi)的數(shù)據(jù)區(qū)塊DB1_1 DB1_4(亦即上述的具有第一 分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊),當(dāng)最后一個(gè)陣列分組描述符Db4所標(biāo)示的數(shù)據(jù)區(qū)塊也存入網(wǎng) 絡(luò)分組后,則從頭再開(kāi)始使用陣列分組描述符Dbl所標(biāo)示的數(shù)據(jù)區(qū)塊來(lái)儲(chǔ)存網(wǎng)絡(luò)分組,如 圖所示,數(shù)據(jù)區(qū)塊DB1_1 DB1_4此時(shí)分別儲(chǔ)存有網(wǎng)絡(luò)分組Pbl Pb4。緩沖單元210在除 了陣列分組描述符Dbl Db4所標(biāo)示的數(shù)據(jù)區(qū)塊DB1_1 DB1_4外,另分配四個(gè)未對(duì)應(yīng)任 何陣列分組描述符的空閑數(shù)據(jù)區(qū)塊DB2_1 DB2_4(亦即上述的具有第二分組個(gè)數(shù)的多個(gè) 數(shù)據(jù)區(qū)塊)。當(dāng)?shù)谝魂嚵蠦l存滿網(wǎng)絡(luò)分組Pbl Pb4且依序上傳給終端單元250前,處理單元 220會(huì)將陣列分組描述符Dbl Db4依序標(biāo)示到四個(gè)未對(duì)應(yīng)任何陣列分組描述符的空閑數(shù) 據(jù)區(qū)塊DB2_1 DB2_4。舉例來(lái)說(shuō),當(dāng)網(wǎng)絡(luò)分組Pbl開(kāi)始被網(wǎng)絡(luò)控制電路200上傳前,網(wǎng)絡(luò) 控制電路200中的處理單元220會(huì)將陣列分組描述符Dbl改為標(biāo)示空閑數(shù)據(jù)區(qū)塊DB2_1 DB2_4的其中之一,而在網(wǎng)絡(luò)分組Pbl成功上傳后,原先由陣列分組描述符Dbl標(biāo)示且存有 網(wǎng)絡(luò)分組Pbl的數(shù)據(jù)區(qū)塊亦成為一個(gè)空閑數(shù)據(jù)區(qū)塊,上述操作請(qǐng)參閱圖3,原本的陣列數(shù)據(jù) 結(jié)構(gòu)是由數(shù)據(jù)區(qū)塊DB1_1 DB1_4所構(gòu)成,而當(dāng)網(wǎng)絡(luò)分組Pbl開(kāi)始被上傳前,陣列分組描述 符Dbl由標(biāo)示數(shù)據(jù)區(qū)塊DB1_1改為標(biāo)示數(shù)據(jù)區(qū)塊DB2_1,因此,原本空閑的數(shù)據(jù)區(qū)塊DB2_1 便具有陣列分組描述符Dbl而成為第一陣列Bl的一部份,而數(shù)據(jù)區(qū)塊DB1_1僅儲(chǔ)存待上傳 的網(wǎng)絡(luò)分組Pbl,而當(dāng)數(shù)據(jù)區(qū)塊DB1_1中的網(wǎng)絡(luò)分組Pbl成功上傳之后,數(shù)據(jù)區(qū)塊DB1_1便 成為一個(gè)空閑的數(shù)據(jù)區(qū)塊,明顯地,空閑數(shù)據(jù)區(qū)塊的個(gè)數(shù)最后仍維持為4,以及對(duì)應(yīng)陣列數(shù) 據(jù)結(jié)構(gòu)(陣列分組描述符Dbl Db4)的數(shù)據(jù)區(qū)塊個(gè)數(shù)最后仍維持為4,換言的,于本實(shí)施例 中,緩沖單元210隨時(shí)存在四個(gè)對(duì)應(yīng)陣列分組描述符Dbl Db4的數(shù)據(jù)區(qū)塊以及四個(gè)未對(duì) 應(yīng)任何陣列分組描述符的空閑數(shù)據(jù)區(qū)塊。相較于先前技術(shù),本發(fā)明所引入的空閑數(shù)據(jù)區(qū)塊 會(huì)在一網(wǎng)絡(luò)分組上傳前預(yù)先置換該網(wǎng)絡(luò)分組所在的數(shù)據(jù)區(qū)塊,使陣列分組描述符不會(huì)因等 待處理后的網(wǎng)絡(luò)分組依序回傳而在陣列中形成一個(gè)泡泡,陣列失序的問(wèn)題亦可得到改善。請(qǐng)注意,上述具體實(shí)施例僅為說(shuō)明之用,并非用來(lái)限制本發(fā)明的范疇。舉例來(lái)說(shuō), 第一陣列Bl可容納的數(shù)據(jù)區(qū)塊可依據(jù)不同的需求而改變,并非局限在四個(gè),而空閑數(shù)據(jù)區(qū) 塊的個(gè)數(shù)也可隨需求增減,不一定需要和第一陣列Bl所可容納的數(shù)據(jù)區(qū)塊個(gè)數(shù)相同。此 外,當(dāng)已成功接收儲(chǔ)存并等待上傳的網(wǎng)絡(luò)分組總數(shù)超過(guò)一預(yù)定數(shù)目時(shí),處理單元220可動(dòng) 態(tài)增加空閑數(shù)據(jù)區(qū)塊的個(gè)數(shù);而當(dāng)已成功接收儲(chǔ)存并等待上傳的網(wǎng)絡(luò)分組總數(shù)少于一預(yù)定 數(shù)目時(shí),處理單元220亦可動(dòng)態(tài)減少空閑數(shù)據(jù)區(qū)塊的個(gè)數(shù)以釋出多余的儲(chǔ)存空間,如此一 來(lái),網(wǎng)絡(luò)控制電路200可視終端單元250的負(fù)載高低來(lái)動(dòng)態(tài)調(diào)整接收網(wǎng)絡(luò)分組的效率。請(qǐng)參照?qǐng)D4,圖4為依據(jù)本發(fā)明網(wǎng)絡(luò)控制電路的另一實(shí)施例的示意圖。本實(shí)施 例中,網(wǎng)絡(luò)控制電路300與一網(wǎng)絡(luò)3 30與多個(gè)終端單元(例如多核心系統(tǒng)中多個(gè)處理 器)350、370連接,且網(wǎng)絡(luò)控制電路300包含有一緩沖單元310以及處理單元320。相較于 圖2中的網(wǎng)絡(luò)控制電路200,圖3中的網(wǎng)絡(luò)控制電路300是與多個(gè)終端單元連接,而各元件功能與圖2中的網(wǎng)絡(luò)控制電路200的各元件大致相同,故不再贅述。此外,不同于圖2所示 的緩沖單元210,本實(shí)施例中的緩沖單元310具有一第一陣列Cl與一第二陣列Dl以陣列 數(shù)據(jù)結(jié)構(gòu)分別接收儲(chǔ)存給終端單元350與370的數(shù)據(jù)(網(wǎng)絡(luò)分組)。第一陣列Cl與一第 二陣列Dl分別各有四個(gè)數(shù)據(jù)區(qū)塊DB3_1 DB3_4、DB4_1 DB4_4,各由四個(gè)陣列分組描述 符Dcl Dc4及Ddl Dd4所標(biāo)示。緩沖單元310在除了陣列分組描述符Dcl Dc4以及 Ddl Dd4所標(biāo)示的數(shù)據(jù)區(qū)塊DB3_1 DB3_4、DB4_1 DB4_4之外,另分配四個(gè)未對(duì)應(yīng)任 何陣列分組描述符的空閑數(shù)據(jù)區(qū)塊DB5_1 DB5_4。當(dāng)?shù)谝魂嚵蠧l存滿網(wǎng)絡(luò)分組Pcl Pc4且依序上傳給終端單元350前,處理單元320會(huì)將陣列分組描述符Dcl Dc4依序標(biāo) 示到未對(duì)應(yīng)任何陣列分組描述符的空閑數(shù)據(jù)區(qū)塊;而在此同時(shí),第二陣列Dl存滿網(wǎng)絡(luò)分組 Pdl Pd4且依序上傳給終端單元370前,處理單元320亦會(huì)將陣列分組描述符Ddl Dd4 依序標(biāo)示到未對(duì)應(yīng)任何陣列分組描述符的空閑數(shù)據(jù)區(qū)塊。舉例來(lái)說(shuō),當(dāng)網(wǎng)絡(luò)分組Pcl開(kāi)始被上傳前,處理單元320會(huì)將陣列分組描述符Dcl 改為標(biāo)示空閑數(shù)據(jù)區(qū)塊DB5_1 DB5_4的其中之一,而在網(wǎng)絡(luò)分組Pcl成功上傳后,原先由 陣列分組描述符Dcl標(biāo)示且存有網(wǎng)絡(luò)分組Pcl的數(shù)據(jù)區(qū)塊DB3_1亦成為一個(gè)空閑數(shù)據(jù)區(qū) 塊,由于相關(guān)運(yùn)作原理可由圖3所示的范例來(lái)輕易得知,故進(jìn)一步的說(shuō)明于此不另贅述。同 樣地,于本實(shí)施例中,緩沖單元310隨時(shí)存在四個(gè)對(duì)應(yīng)陣列分組描述符Dcl Dc4的數(shù)據(jù)區(qū) 塊、四個(gè)對(duì)應(yīng)陣列分組描述符Ddl Dd4的數(shù)據(jù)區(qū)塊以及四個(gè)未對(duì)應(yīng)任何陣列分組描述符 的空閑數(shù)據(jù)區(qū)塊。請(qǐng)注意,上述具體實(shí)施例僅為說(shuō)明之用,并非用來(lái)限制本發(fā)明的范疇。舉例來(lái)說(shuō), 第一陣列Cl與第二陣列Dl可容納的數(shù)據(jù)區(qū)塊均可依據(jù)不同的需求而改變,并非均局限在 四個(gè),而空閑數(shù)據(jù)區(qū)塊的個(gè)數(shù)也可隨需求增減,不一定需要和第一、第二陣列Cl、Dl所可容 納的數(shù)據(jù)區(qū)塊個(gè)數(shù)相同。此外,當(dāng)已成功接收儲(chǔ)存并等待上傳的網(wǎng)絡(luò)分組總數(shù)超過(guò)一預(yù)定 數(shù)目時(shí),處理單元220可動(dòng)態(tài)增加空閑數(shù)據(jù)區(qū)塊的個(gè)數(shù);而當(dāng)已成功接收儲(chǔ)存并等待上傳 的網(wǎng)絡(luò)分組總數(shù)少于一預(yù)定數(shù)目時(shí),處理單元320可動(dòng)態(tài)減少空閑數(shù)據(jù)區(qū)塊的個(gè)數(shù)以釋出 多余的儲(chǔ)存空間。除此之外,當(dāng)空閑數(shù)據(jù)區(qū)塊的個(gè)數(shù)固定時(shí),第一、第二陣列Cl、Dl的陣列分組描述 符的處理是共享固定數(shù)量的空閑數(shù)據(jù)區(qū)塊,其分配原則是各終端單元依各自的需求取用不 同個(gè)數(shù)的空閑數(shù)據(jù)區(qū)塊,意即,各終端單元會(huì)依本身負(fù)載的考量來(lái)使用空閑數(shù)據(jù)區(qū)塊的資 源而達(dá)到負(fù)載平衡。請(qǐng)注意,上述僅為本發(fā)明的一種較佳實(shí)作方式,于其它的設(shè)計(jì)變化中,處理單元 320亦可使用一預(yù)設(shè)的分配比例來(lái)把緩沖單元310中空閑的數(shù)據(jù)區(qū)塊分配給第一、第二陣 列Cl、D1,此亦隸屬本發(fā)明的范疇。綜上所述,本發(fā)明提供了一種網(wǎng)絡(luò)分組接收管理方法以及相關(guān)裝置,由于本發(fā)明 采用陣列數(shù)據(jù)結(jié)構(gòu),在實(shí)現(xiàn)上僅需要一個(gè)加法器,在硬件大為減少而能有效降低成本,且不 需要額外讀取分組描述符索引使接口負(fù)載大幅降低,而本發(fā)明引入的空閑數(shù)據(jù)區(qū)塊應(yīng)用可 有效避免陣列失序的問(wèn)題并提高分組接收率,另外,動(dòng)態(tài)新增空閑數(shù)據(jù)區(qū)塊的功能亦可以 彌補(bǔ)陣列數(shù)據(jù)結(jié)構(gòu)無(wú)法動(dòng)態(tài)改變大小的缺陷。此外,本發(fā)明另提供了在多個(gè)分組描述符組 態(tài)下的負(fù)載平衡,應(yīng)用在現(xiàn)今成為主流的多核心系統(tǒng)中,能得到極佳的效能。以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明申請(qǐng)專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
一種網(wǎng)絡(luò)分組接收管理方法,包含有提供一緩沖單元,其至少包含有具有一第一分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊與具有一第二分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊,其中具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是用來(lái)依據(jù)一第一陣列數(shù)據(jù)結(jié)構(gòu)而分別儲(chǔ)存多個(gè)第一網(wǎng)絡(luò)分組,該第一陣列數(shù)據(jù)結(jié)構(gòu)包含有對(duì)應(yīng)該第一分組個(gè)數(shù)的多個(gè)第一分組描述符,具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是分別對(duì)應(yīng)至該多個(gè)第一分組描述符,以及具有該第二分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊并未對(duì)應(yīng)至任何分組描述符;以及當(dāng)該緩沖單元內(nèi)有對(duì)應(yīng)至一第一分組描述符的一第一數(shù)據(jù)區(qū)塊成功接收一第一網(wǎng)絡(luò)分組時(shí),將對(duì)應(yīng)該第一數(shù)據(jù)區(qū)塊的該第一分組描述符改為指定至該緩沖單元內(nèi)未對(duì)應(yīng)至任何分組描述符的一第二數(shù)據(jù)區(qū)塊。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)分組接收管理方法,其特征在于另包含有于該第一分組描述符改為指定至該第二數(shù)據(jù)區(qū)塊之后,輸出該第一數(shù)據(jù)區(qū)塊內(nèi)的該第 一網(wǎng)絡(luò)分組。
3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)分組接收管理方法,其特征在于另包含有依據(jù)等待上傳所儲(chǔ)存的網(wǎng)絡(luò)分組的數(shù)據(jù)區(qū)塊的總數(shù),動(dòng)態(tài)調(diào)整該緩沖單元內(nèi)未對(duì)應(yīng)至 任何分組描述符的數(shù)據(jù)區(qū)塊的個(gè)數(shù)。
4.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)分組接收管理方法,其特征在于該緩沖單元另包含有具 有一第三分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊,具有該第三分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是用來(lái)依據(jù)一 第二陣列數(shù)據(jù)結(jié)構(gòu)而分別儲(chǔ)存多個(gè)第二網(wǎng)絡(luò)分組,該第二陣列數(shù)據(jù)結(jié)構(gòu)包含有對(duì)應(yīng)該第三 分組個(gè)數(shù)的多個(gè)第二分組描述符,具有該第三分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是分別對(duì)應(yīng)至該 多個(gè)第二分組描述符;以及該網(wǎng)絡(luò)分組接收管理方法另包含有當(dāng)該緩沖單元內(nèi)有對(duì)應(yīng)至一第二分組描述符的一第三數(shù)據(jù)區(qū)塊成功接收一第二網(wǎng)絡(luò) 分組時(shí),將對(duì)應(yīng)該第三數(shù)據(jù)區(qū)塊的該第二分組描述符改為指定至該緩沖單元內(nèi)未對(duì)應(yīng)至任 何分組描述符的一第二數(shù)據(jù)區(qū)塊。
5.根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)分組接收管理方法,其特征在于另包含有依據(jù)等待上傳所儲(chǔ)存的網(wǎng)絡(luò)分組的數(shù)據(jù)區(qū)塊的總數(shù),動(dòng)態(tài)調(diào)整該緩沖單元內(nèi)未對(duì)應(yīng)至 任何分組描述符的數(shù)據(jù)區(qū)塊的個(gè)數(shù)。
6.一種具有網(wǎng)絡(luò)分組接收管理功能的網(wǎng)絡(luò)控制電路,包含有一緩沖單元,其至少包含有具有一第一分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊與具有一第二分組個(gè) 數(shù)的多個(gè)數(shù)據(jù)區(qū)塊,其中具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是用來(lái)依據(jù)一第一陣列數(shù) 據(jù)結(jié)構(gòu)而分別儲(chǔ)存多個(gè)第一網(wǎng)絡(luò)分組,該第一陣列數(shù)據(jù)結(jié)構(gòu)包含有對(duì)應(yīng)該第一分組個(gè)數(shù)的 多個(gè)第一分組描述符,具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是分別對(duì)應(yīng)至該多個(gè)第一分 組描述符,以及具有該第二分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊并未對(duì)應(yīng)至任何分組描述符;以及一處理單元,耦接于該緩沖單元,用以于該緩沖單元內(nèi)有對(duì)應(yīng)至一第一分組描述符的 一第一數(shù)據(jù)區(qū)塊成功接收一第一網(wǎng)絡(luò)分組時(shí),將對(duì)應(yīng)該第一數(shù)據(jù)區(qū)塊的該第一分組描述符 改為指定至該緩沖單元內(nèi)未對(duì)應(yīng)至任何分組描述符的一第二數(shù)據(jù)區(qū)塊。
7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)控制電路,其特征在于該處理單元另于該第一分組描述 符改為指定至該第二數(shù)據(jù)區(qū)塊之后,輸出該第一數(shù)據(jù)區(qū)塊內(nèi)的該第一網(wǎng)絡(luò)分組。
8.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)控制電路,其特征在于該處理單元另依據(jù)等待上傳所儲(chǔ)存的網(wǎng)絡(luò)分組的數(shù)據(jù)區(qū)塊的總數(shù),動(dòng)態(tài)調(diào)整該緩沖單元內(nèi)未對(duì)應(yīng)至任何分組描述符的數(shù)據(jù) 區(qū)塊的個(gè)數(shù)。
9.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)控制電路,其特征在于該緩沖單元另包含有具有一第三 分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊,具有該第三分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是用來(lái)依據(jù)一第二陣列 數(shù)據(jù)結(jié)構(gòu)而分別儲(chǔ)存多個(gè)第二網(wǎng)絡(luò)分組,該第二陣列數(shù)據(jù)結(jié)構(gòu)包含有對(duì)應(yīng)該第三分組個(gè)數(shù) 的多個(gè)第二分組描述符,具有該第三分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是分別對(duì)應(yīng)至該多個(gè)第二 分組描述符;以及該處理單元另于該緩沖單元內(nèi)有對(duì)應(yīng)至一第二分組描述符的一第三數(shù)據(jù) 區(qū)塊成功接收一第二網(wǎng)絡(luò)分組時(shí),將對(duì)應(yīng)該第三數(shù)據(jù)區(qū)塊的該第二分組描述符改為指定至 該緩沖單元內(nèi)未對(duì)應(yīng)至任何分組描述符的一第二數(shù)據(jù)區(qū)塊。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)控制電路,其特征在于該處理單元另依據(jù)等待上傳所 儲(chǔ)存的網(wǎng)絡(luò)分組的數(shù)據(jù)區(qū)塊的總數(shù),動(dòng)態(tài)調(diào)整該緩沖單元內(nèi)未對(duì)應(yīng)至任何分組描述符的數(shù) 據(jù)區(qū)塊的個(gè)數(shù)。
全文摘要
本發(fā)明是一種網(wǎng)絡(luò)分組接收管理方法與具有網(wǎng)絡(luò)分組接收管理功能的網(wǎng)絡(luò)控制電路,該網(wǎng)絡(luò)分組接收管理方法包含有提供包含第一分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊與第二分組個(gè)數(shù)的多個(gè)數(shù)據(jù)區(qū)塊的緩沖單元,其中具有該第一分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊是用來(lái)依據(jù)一第一陣列數(shù)據(jù)結(jié)構(gòu)而分別儲(chǔ)存多個(gè)第一網(wǎng)絡(luò)分組,該第一陣列數(shù)據(jù)結(jié)構(gòu)包含有對(duì)應(yīng)該第一分組個(gè)數(shù)的多個(gè)第一分組描述符,以及具有該第二分組個(gè)數(shù)的該多個(gè)數(shù)據(jù)區(qū)塊并未對(duì)應(yīng)至任何分組描述符;以及當(dāng)對(duì)應(yīng)至第一分組描述符描述符的第一數(shù)據(jù)區(qū)塊成功接收第一網(wǎng)絡(luò)分組時(shí),將對(duì)應(yīng)該第一數(shù)據(jù)區(qū)塊的該第一分組描述符改為指定至未對(duì)應(yīng)至任何分組描述符的第二數(shù)據(jù)區(qū)塊。
文檔編號(hào)H04L12/56GK101895460SQ200910145420
公開(kāi)日2010年11月24日 申請(qǐng)日期2009年5月20日 優(yōu)先權(quán)日2009年5月20日
發(fā)明者邱永豐, 陳泊辰 申請(qǐng)人:智微科技股份有限公司