亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

提高分組應用的存儲器存取效率的制作方法

文檔序號:6413052閱讀:159來源:國知局
專利名稱:提高分組應用的存儲器存取效率的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字通信系統(tǒng),尤其是包括傳輸變長分組的高速分組交換網(wǎng)絡的系統(tǒng)。
背景技術(shù)
高速分組交換網(wǎng)絡,諸如異步傳輸模式(ATM)、互聯(lián)網(wǎng)協(xié)議(IP)和千兆比特以太網(wǎng),支持不同會話的大量連接。理想地,分組調(diào)度在最大化可用帶寬的使用的同時以最小延遲從不同的連接傳輸分組。大多數(shù)通信系統(tǒng)在處理集成電路(有時稱為芯片)上具有處理分組的非常有限量的存儲空間,并使用另外的集成電路(例如,外部存儲器芯片)來提供用于分組存儲的更大量的外部存儲器。
在ATM網(wǎng)絡中,其中分組(通常稱為信元)都是定長的,處理芯片和外部存儲器芯片之間的可用帶寬可通過使用存儲器分區(qū)長度等于信元長度來有效利用。然而,在變長分組交換網(wǎng)絡中,當分組長度不是存儲器分區(qū)長度的整數(shù)倍時存儲器帶寬會被浪費。


圖1是分組交換網(wǎng)絡圖。
圖2是示出包含變長分組的外部存儲器芯片內(nèi)容的方框圖。
圖3是執(zhí)行用于將分組寫到外部存儲器的過程的流程圖。
圖4是示出存儲在片上存儲器和外部存儲器中的分組的鏈表的存儲器結(jié)構(gòu)的圖。
圖5是示出存儲在外部存儲器和片上存儲器的分組的兩個鏈表的存儲器結(jié)構(gòu)的圖。
圖6是示出保存部分分區(qū)分組的64字節(jié)存儲器分區(qū)的格式的圖。
圖7是示出存儲變長分組的外部存儲器芯片的內(nèi)容的方框圖。
圖8是執(zhí)行用于將一連串的部分分區(qū)分組寫到外部存儲器的過程的流程圖。
圖9是執(zhí)行用于從外部存儲器讀取部分分區(qū)分組的過程的流程圖。
各圖中相同的參考符號代表相同的元素。
詳細說明數(shù)字通信系統(tǒng)一般使用分組交換系統(tǒng),傳輸稱為分組的數(shù)據(jù)塊。典型地,要在報文中傳送的數(shù)據(jù)長于分組長度,且必須分割成一連串的分組。每個分組由要傳輸?shù)臄?shù)據(jù)部分和頭中的用來通過網(wǎng)絡路由分組到其目的地的控制信息組成。在一連串分組中被發(fā)送的最后的數(shù)據(jù)分組通常稱為尾分組。
圖1示出典型分組交換系統(tǒng)100。在系統(tǒng)100中,傳輸服務器110通過通信路徑115連接到分組交換網(wǎng)絡120,后者通過通信路徑125連接到目的服務器130。傳輸服務器110通過分組交換網(wǎng)絡120發(fā)送作為一連串分組的報文到目的服務器130。在分組交換網(wǎng)絡120中,分組通常通過一連串服務器。當每個分組到達一臺服務器時,該服務器就在將分組傳輸?shù)较乱慌_服務器之前暫時存儲這個分組。分組通過網(wǎng)絡前進,直到它們到達目的服務器130。目的服務器130包含一個或多個處理芯片135和一個或多個外部存儲器芯片140上的存儲器分區(qū)。外部存儲器芯片140可使用各種存儲技術(shù),包括SDRAM(同步動態(tài)隨機存取存儲器)。
為例示的目的,描述分組交換系統(tǒng)的一種具體實現(xiàn)。為便于描述,使用這樣一個具體實現(xiàn),其中報文可以是任意長度的、分組可以從1到64字節(jié)變化且存儲器分區(qū)長度為64字節(jié)。許多實現(xiàn)可使用具有最大分組長度的變長分組且存儲器分區(qū)長度大于64字節(jié)。例如,可使用兩兆字節(jié)或四兆字節(jié)的最大分組長度。
分組交換系統(tǒng)可通過維護分組的鏈表來管理數(shù)據(jù)通信。鏈表可包括一連串存儲在外部存儲器的分區(qū)中的分組,使得存儲在一個分區(qū)中的數(shù)據(jù)指向鏈表中存儲下一個數(shù)據(jù)的分區(qū)。與數(shù)據(jù)存儲在外部存儲器中一樣,存儲空間可能由于只使用存儲器分區(qū)的一部分而浪費。
如圖2所示,在外部存儲器芯片200中大量存儲可能被浪費了。具體地,報文210,它為138個字節(jié)長且包括三個分組211、212和213,使用了三個外部存儲器分區(qū)215、200和225來存儲分組211、212和213。外部存儲器分區(qū)215和220是滿的(即沒有未使用的空間),因為分組211和212是64字節(jié)長,等于外部存儲器分區(qū)的大小。但是,外部存儲器分區(qū)225存儲只有10字節(jié)長度的分組213,且外部存儲器分區(qū)225的未用部分226包括了55個未用字節(jié)。
還如圖2所示,報文230,它是65字節(jié)長且包括兩個分組231和232,使用兩個外部存儲器分區(qū)235和240來存儲分組231和232。外部存儲器分區(qū)235沒有未用空間,因為分組231是64字節(jié)長,等于外部存儲器分區(qū)的大小。外部存儲器分區(qū)240存儲只有一字節(jié)長的分組232。存儲器分區(qū)240的未用部分241包括63個未用字節(jié)。此外,在這個例子中,只為寫一個字節(jié)而使用整個時鐘周期來存取外部存儲器分區(qū)。
存取存儲器的效率依賴于報文長度分布。如果許多報文很大(即包括多個最大長度的分組和至多一個小于最大長度的分組),則存取效率將很高,因為許多分區(qū)是填滿的。但是,某些類型的通信量可能具有大報文(例如數(shù)據(jù))和小報文(例如控制報文)的較均勻分布。這可能導致低效的存儲器存取,并且可能在外部存儲器使用諸如SDRAM等存儲技術(shù)時更成問題,因為SDRAM對隨機存取有高存取延遲。存儲器存取效率可通過傳輸滿分區(qū)的數(shù)據(jù)來提高。
可通過使用與處理器在一個芯片上的片上存儲器臨時存儲分組來提高寫到外部存儲器的滿分區(qū)數(shù)量。在將分組寫到外部存儲器之前,長度小于外部存儲器分區(qū)大小的分組可臨時存儲在片上存儲器上,直到收集到相應于滿或接近滿分區(qū)的量,這時數(shù)據(jù)就能高效地寫到外部存儲器分區(qū)。通過將小分組存儲在片上存儲器中,塊傳送的數(shù)量減少了,使用的存儲器帶寬增加了,且存儲空間節(jié)約了,因為更多的滿分區(qū)被寫到/讀出外部存儲器。
如圖3所示,增加對于分組應用的存儲器存取效率的過程300始于處理器開始接收一連串分組(310),這時處理器將分組存儲在片上存儲器中(320)。處理器判定存儲在片上存儲器的分組長度(或者多個分組的組合長度,如果存儲了多個分組的話)是否等于預定量(330),諸如,例如外部存儲器分區(qū)大小,且如果否,則將另一個分組存儲在片上存儲器中(320)。當所存儲分組的組合長度等于預定量時,處理器將存儲在片上存儲器中的數(shù)據(jù)寫到外部存儲器分區(qū)(340),在片上存儲器中存儲另一個分組(320)并如上所述地進行。在另一個實現(xiàn)中,當存儲在片上存儲器中的數(shù)據(jù)量,組合下一個部分填滿的分組中的數(shù)據(jù)量,超過外部存儲器分區(qū)大小時,處理器將存儲在片上存儲器中的數(shù)據(jù)寫到外部存儲器分區(qū)。
如圖4所示,通過用片上存儲器緩存分組提高存儲器存取效率是可實現(xiàn)的,例如,通過維護兩個進入分組的鏈表。一個鏈表410用于存儲具有長度等于外部存儲器分區(qū)大小的分組,而另一個鏈表415用于存儲具有長度小于外部存儲器分區(qū)大小的分組。在接收分組時,每個分組在該分組長度等于外部存儲器分區(qū)大小時加到鏈表410或者在該分組長度不是這樣時加到鏈表415。為簡短起見,只示出了少量的外部存儲器分區(qū)。
滿分區(qū)的鏈表410包含具有長度等于外部存儲器分區(qū)大小的分組416-418,并使用了滿分區(qū)鏈表開始指針430和滿分區(qū)鏈表結(jié)尾指針432。
鏈表415存儲了任何具有長度小于外部存儲器分區(qū)大小的分組(例如部分分區(qū)分組)并可用兩個片上存儲器分區(qū)435和437和外部存儲器分區(qū)440和442來實現(xiàn)。在接收分組時,片上存儲器分區(qū)437臨時存儲每個部分分區(qū)分組(這里是444),直到收集到等于外部存儲器分區(qū)大小的數(shù)據(jù)量,在這時數(shù)據(jù)可高效地寫到外部存儲器分區(qū)440或442。分組可存儲在多于一個的外部存儲器分區(qū)中。
在從外部存儲器分區(qū)440讀取部分分區(qū)分組時,片上存儲器分區(qū)435臨時存儲部分分區(qū)分組446、448和450。外部存儲器分區(qū)440和442存儲多個具有長度小于外部存儲器分區(qū)大小的分組452-454和455-457。第十六分組454的第一部分被寫到外部存儲器分區(qū)440,而第十六分組455的第二部分被寫到外部存儲器分區(qū)442。
鏈表415使用外部存儲器中第一分區(qū)指針460(這里指向外部存儲器分區(qū)440),和存儲器中下一分區(qū)指針462、鏈表開始指針(這里指向片上存儲器分區(qū)435)和鏈表結(jié)尾指針466(這里指向片上存儲器分區(qū)437)。也可使用其它存儲器結(jié)構(gòu)。
具有長度等于外部存儲器分區(qū)大小的部分分區(qū)分組可存儲在具有小于外部存儲器分區(qū)大小的分組的鏈表415中,或者也可存儲在滿分區(qū)的鏈表410中。
實現(xiàn)可包括將具有長度小于外部存儲器分區(qū)大小的分組臨時存儲在片上存儲器中,用于分組的單個流或?qū)儆谕惶摂M輸出隊列(“VoQ”)的多個流。
如圖5所示,可對分組的單個流通過使用片上存儲器緩存分組來實現(xiàn)提高存儲器存取效率,例如通過維護所有接收到的分組的鏈表500,而不考慮單個分組長度是否等于外部存儲器分區(qū)大小。如圖5所示,寫片上存儲器510分區(qū)臨時地存儲每個分組(這里是分組512),直到已收集到相應于外部存儲器分區(qū)大小的量,在這時數(shù)據(jù)可高效地寫到外部存儲器分區(qū)515、520、525和530。分組可存儲在多于一個外部存儲器分區(qū)中。
讀取片上存儲器分區(qū)535存儲從外部存儲器分區(qū)讀取的數(shù)據(jù)(這里是第一分組537)。
鏈表500存儲組合在一起第二分組540和第三分組542的第一部分并寫到單個外部存儲器分區(qū)530的;存儲組合在一起并寫到單個外部存儲器分區(qū)525的第三分組544的第二部分和第四分組546的第一部分;存儲組合在一起并寫到單一外部存儲器分區(qū)520的第四分組548的第二部分和第五分組550;以及存儲具有長度等于外部存儲器分區(qū)大小并寫到外部存儲器分區(qū)515的第六分組552。
外部存儲器分區(qū)515、520、525和530沒有未用的存儲空間。鏈表500使用外部存儲器中第一分區(qū)指針570(這里指向外部存儲器分區(qū)530)、外部存儲器中下一分區(qū)指針572、鏈表開始指針574(這里指向片上存儲器分區(qū)535)和鏈表結(jié)尾指針576(這里指向片上存儲器分區(qū)510)。
圖6示出具有長度小于外部存儲器分區(qū)大小的分組當這些分組存儲在片上存儲器分區(qū)或外部存儲器分區(qū)中時的存儲格式600。所示出的實現(xiàn)使用了由8字節(jié)字組成的64字節(jié)分區(qū)。第一字610用作頭來存儲有關(guān)分組中其它數(shù)據(jù)字620的控制信息。頭610中的控制信息621-627對應于具體數(shù)據(jù)字631-637。例如,有關(guān)第一數(shù)據(jù)字631的控制信息存儲在項621中,有關(guān)第二數(shù)據(jù)字632的控制信息存儲在項622中等等。
每個數(shù)據(jù)字631-637的控制信息621-627包括分組開始位640,指示分組是否開始于相應字,包括分組結(jié)尾位641,指示分組是否結(jié)束于相應數(shù)據(jù)字,以及包括#used字段642,指示用于存儲分組的位數(shù)。然而,#used字段642只包含相應字存儲分組結(jié)尾時的數(shù)據(jù)。此外,頭控制信息610包含指向下一分組分區(qū)628的指針。分區(qū)中剩余字631-637由分組620中的數(shù)據(jù)組成。
如圖7所示,通過使用片上存儲器緩存分組提高存儲器存取效率可得到具有減少的未用空間量的外部存儲器分區(qū)。外部存儲器分區(qū)710、715、720、725和730每個分別存儲分組740、741、742、743和744,其中每個都有等于外部存儲器分區(qū)大小的長度。外部存儲器分區(qū)745存儲分組746、747和748,所有這些都有小于外部存儲器分區(qū)大小的長度。分組746-748被組合在一起并當收集到等于外部存儲器分區(qū)大小的量時被寫到外部存儲器分區(qū)745。
圖8示出了將一連串具有小于外部存儲器分區(qū)大小的長度的部分分區(qū)分組寫到諸如SDRAM的外部存儲器分區(qū)中的過程800。過程始于將分組寫到由鏈表結(jié)尾指針指示的寫片上存儲器分區(qū)(諸如圖4中的片上存儲器分區(qū)),并為每個被寫的數(shù)據(jù)字更新控制變量(諸如圖6中的分組比特的開始640、分組比特的結(jié)尾641和#used字段642)(810)。
過程確定寫片上存儲器分區(qū)是否已滿(例如,是否存儲在片上存儲器分區(qū)中的數(shù)據(jù)量等于外部存儲器分區(qū))(820),以及,如果是,則過程在外部存儲器中分配一空閑分區(qū)(830)。寫片上存儲器分區(qū)中的數(shù)據(jù)被寫到具有由外部存儲器中下一分區(qū)指針指定的地址的外部存儲器分區(qū)中(840),且用以前分配的空閑外部存儲器分區(qū)地址來更新外部存儲器分區(qū)中下一分區(qū)指針(850)。
過程確定是否有其它的分組要寫(860),以及,如果是,則過程從寫片上存儲器分區(qū)中的第一數(shù)據(jù)字開始寫,并更新被寫的數(shù)據(jù)字的控制變量(870)。然后過程如上所述地確定寫到寫片上存儲器分區(qū)的量是否等于外部存儲器分區(qū)大小(820)。
在所有分組都被寫后,用存儲最后一個分組數(shù)據(jù)的外部存儲器分區(qū)的地址來更新鏈表結(jié)尾指針(880)。
寫一連串部分分區(qū)分組的過程800可在鏈表結(jié)尾指針指向讀取片上存儲器分區(qū)這里進行修改,例如這可發(fā)生在接收數(shù)據(jù)率低的情況中。如果鏈表結(jié)尾指針指向讀取片上存儲器分區(qū),則分組直接寫到讀片上存儲器分區(qū)而不寫到寫片上存儲器分區(qū)或外部存儲器分區(qū)中。直接將分組寫到讀片上存儲器分區(qū)確保了分組在處理器準備好讀取該分組時是可用的。
讀取具有長度小于外部存儲器分區(qū)大小且已使用提高存儲器存取效率的過程存儲在外部存儲器分區(qū)中的分組,通常包括使用處理器從中讀取分組的片上存儲器分區(qū)來緩存外部存儲器分區(qū)數(shù)據(jù)。讀外部存儲器分區(qū)可以存儲在片上存儲器分區(qū)中,因為外部存儲器分區(qū)可存儲多于一個分組。
圖9示出讀取具有長度小于外部存儲器分區(qū)大小并存儲在外部存儲器分區(qū)中的分組的過程900。過程900始于處理器開始讀取在由鏈表開始指針指示的讀取片上存儲器分區(qū)中的分組(910)。過程確定是否已到達讀取片上存儲器分區(qū)的結(jié)尾而分組沒有結(jié)束(920),以及,如果是,則過程確定分組是否存儲在外部存儲器分區(qū)中(940),這可通過比較外部存儲器中第一分區(qū)指針和外部存儲器中下一分區(qū)指針來完成。如果指針相同,則沒有分組存儲在外部存儲器分區(qū)中。如果指針不同,則分組存儲在外部存儲器分區(qū)中。
如果過程判定分組存儲在外部存儲器中,則處理器從由外部存儲器中第一分區(qū)指針指示的外部存儲器中讀取分區(qū)并將外部存儲器分區(qū)寫入讀片上存儲器分區(qū)(950),釋放已讀取的外部存儲器分區(qū)(960),并使用指向從外部存儲器讀取的分區(qū)中的下一外部存儲器分區(qū)的指針來更新外部存儲器中第一分區(qū)指針(970)。過程繼續(xù)從讀片上存儲器分區(qū)中讀取分組(980)并象前面一樣通過確定是否已到達讀片上存儲器分區(qū)的結(jié)尾而分組還未結(jié)束來前進(920)。
如果過程確定未到達讀片上存儲器分區(qū)的結(jié)尾而分組已結(jié)束(920),則過程更新鏈表開始指針指向存儲在讀片上存儲器分區(qū)中的下一個分組(930)并如前所述地開始讀取由鏈表開始指針指示的分組(910)。
盡管為例示的目的使用了分組交換系統(tǒng)的具體實現(xiàn),但用于分組應用提高存儲器存取效率的好處并不限于這個實現(xiàn),而是等價地可用于其它實現(xiàn),諸如,例如,對于變長分組使用不是64字節(jié)的最大分組長度、除了SDRAM以外的存儲技術(shù)以及存儲器分區(qū)長度除了64字節(jié)以外的實現(xiàn)等。
實現(xiàn)可包括方法或者過程、裝置或者系統(tǒng)、或者計算機介質(zhì)上的計算機軟件。應該理解各種修改方案可在不脫離所附權(quán)利要求書的精神和范圍的情況下實現(xiàn)。例如,如果所揭示的技術(shù)步驟以不同的次序執(zhí)行和/或如果所揭示的系統(tǒng)中的組件以不同方式結(jié)合和/或用其它組件置換或替代,仍能得到這些有益的效果。
權(quán)利要求
1.一種用于分組交換應用的存儲器存取方法,其特征在于,所述方法包括在具有片上存儲器的處理器上接收一連串分組,所述片上存儲器是在具有所述處理器的芯片上形成的;將多個分組存儲在片上存儲器中,所述多個分組包括來自所述一連串分組的分組序列中一個或多個分組;響應于所述存儲的分組的組合大小等于預定量,將所述存儲的分組寫到外部存儲器中的分區(qū)。
2.如權(quán)利要求1所述的方法,其特征在于,接收一連串分組包括接收一連串屬于單個分組流的分組,所述方法還包括形成鏈接所述一連串分組的鏈表,使得每個分組都鏈接到存儲在外部存儲器中的下一個分組。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括在讀取外部存儲器的分區(qū)時將所述外部存儲器的分區(qū)中的內(nèi)容存儲到所述片上存儲器。
4.如權(quán)利要求2所述的方法,其特征在于,存儲多個分組包括只存儲來自所述一連串分組的各個都小于所述分區(qū)大小的分組,以及形成鏈表包括只用來自所述一連串分組的各個都小于所述分區(qū)大小的分組形成小分組鏈表,所述方法還包括只用來自所述一連串分組的大小等于所述分區(qū)大小的分組形成外部存儲器中滿分區(qū)鏈表,而不在片上存儲器中存儲所述分組。
5.如權(quán)利要求4所述的方法,其特征在于,所述外部存儲器包括同步動態(tài)隨機存取存儲器。
6.如權(quán)利要求4所述的方法,其特征在于,所述一連串分組包括一連串變長分組。
7.如權(quán)利要求4所述的方法,其特征在于,接收一連串分組包括接收一連串屬于虛擬輸出隊列的分組。
8.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括當讀取存儲屬于小分組鏈表的分組的外部存儲器分區(qū)時,存儲外部存儲器分區(qū)的內(nèi)容到所述片上存儲器。
9.如權(quán)利要求8所述的方法,其特征在于,接收一連串分組包括以一速率接收特定的一連串分組,使得各個小于所述分區(qū)大小的特定分組在從外部存儲器讀取所述特定的一連串分組前不被寫到所述外部存儲器中的分區(qū),以及形成所述滿分區(qū)鏈表包括鏈接所述特定的分組至所述滿分區(qū)鏈表。
10.一種用于分組交換應用的裝置,其特征在于,所述裝置包括處理器;在具有所述處理器的芯片上形成的片上存儲器;以及包括連接到所述處理器的第二芯片的外部存儲器;其中,所述處理器包括一個或多個組件以便接收一連串分組,在所述片上存儲器中存儲多個分組,所述多個分組包括一個或多個來自所述一連串分組的分組序列中的分組,以及響應于所述存儲的分組的組合大小等于預定量,將所述存儲的分組寫到所述外部存儲器中的一個分區(qū)。
11.如權(quán)利要求10所述的裝置,其特征在于,所述處理器包括接收屬于單個分組流的一連串分組的輸入設備,所述處理器還包括一個或多個組件以形成鏈接所述一連串分組的鏈表,使得將每個分組鏈接到存儲在外部存儲器中的下一個分組。
12.如權(quán)利要求10所述的裝置,所述處理器還包括一個或多個組件以在讀取外部存儲器分區(qū)時存儲外部存儲器分區(qū)的內(nèi)容到所述片上存儲器。
13.如權(quán)利要求11所述的裝置,其特征在于,所述處理器包括一個或多個組件以便只存儲來自所述一連串分組的各個小于所述分區(qū)大小的分組,以及只用來自所述一連串分組的各個小于所述分區(qū)大小的分組來形成小分組鏈表,所述處理器還包括一個或多個組件,以只用來自所述一連串分組的大小等于所述分區(qū)大小的分組來形成外部存儲器中滿分區(qū)鏈表,而不在片上存儲器中存儲所述分組。
14.如權(quán)利要求13所述的裝置,其特征在于,所述處理器包括一個或多個組件,以將存儲的分組寫到同步動態(tài)隨機存取存儲器中的分區(qū)。
15.如權(quán)利要求13所述的裝置,其特征在于,所述處理器包括一個或多個組件,以接收一連串變長分組。
16.如權(quán)利要求13所述的裝置,其特征在于,所述處理器包括一個或多個組件,以接收屬于虛擬輸出隊列的一連串分組。
17.如權(quán)利要求13的裝置,所述處理器還包括一個或多個組件,以當讀取存儲屬于所述小分組鏈表的分組的外部存儲器分區(qū)時存儲外部存儲器分區(qū)的內(nèi)容到所述片上存儲器。
18.如權(quán)利要求17所述的裝置,其特征在于,所述處理器包括一個或多個組件,以便以一速率接收特定的一連串分組,使得各個小于所述分區(qū)大小的特定分組在從外部存儲器讀取所述特定的一連串分組前不被寫到外部存儲器中的分區(qū),以及將所述特定的分組鏈接至所述滿分區(qū)鏈表中。
19.一種計算機可讀介質(zhì)或傳播信號,在其上包括了配置為使處理器實現(xiàn)分組交換應用的計算機程序,其特征在于,所述計算機程序包括一代碼段,配置為使處理器接收一連串分組,一代碼段,配置為使處理器將多個分組存儲在片上存儲器中,所述多個分組包括來自所述一連串分組的分組序列中的一個或多個分組,以及一代碼段,配置為響應于存儲的分組的組合大小等于預定量,使處理器將所述存儲的分組寫到外部存儲器中的一個分區(qū)。
20.如權(quán)利要求19所述的介質(zhì),其特征在于,接收一連串分組包括接收一連串屬于單個分組流的分組,所述介質(zhì)還包括一代碼段,配置為使處理器形成鏈接所述一連串分組的鏈表,使得每個分組都鏈接到存儲在外部存儲器中的下一個分組。
21.如權(quán)利要求19所述的介質(zhì),所述介質(zhì)還包括一代碼段,配置為使處理器在讀取外部存儲器的分區(qū)時將外部存儲器分區(qū)的內(nèi)容存儲到所述片上存儲器。
22.如權(quán)利要求20所述的介質(zhì),其特征在于存儲多個分組包括只存儲來自所述一連串分組的各個小于所述分區(qū)大小的分組,以及形成鏈表包括只用來自所述一連串分組的各個小于所述分區(qū)大小的分組來形成小分組鏈表,所述介質(zhì)還包括一代碼段,配置為使處理器只用來自所述一連串分組的大小等于所述分區(qū)大小的分組來形成外部存儲器中滿分區(qū)鏈表,而不在片上存儲器中存儲所述分組。
23.如權(quán)利要求22所述的介質(zhì),其特征在于,所述外部存儲器包括同步動態(tài)隨機存取存儲器。
24.如權(quán)利要求22所述的介質(zhì),其特征在于,所述一連串分組包括一連串變長度分組。
25.如權(quán)利要求22所述的介質(zhì),其特征在于,接收一連串分組包括接收一連串屬于一虛擬輸出隊列的分組。
26.如權(quán)利要求22所述的介質(zhì),所述介質(zhì)還包括一代碼段,設定為使處理器當讀取存儲屬于小分組鏈表的分組的外部存儲器分區(qū)時將外部存儲器分區(qū)的內(nèi)容存儲到所述片上存儲器。
27.如權(quán)利要求26所述的介質(zhì),其特征在于接收一連串分組包括以一速率接收特定的一連串分組,使得各個小于所述分區(qū)大小的特定分組在從外部存儲器讀取所述特定的一連串分組前不被寫到外部存儲器中的分區(qū),以及形成所述滿分區(qū)鏈表包括將所述特定的分組鏈接至所述滿分區(qū)鏈表中。
28.一種用于分組交換應用的系統(tǒng),其特征在于,所述系統(tǒng)包括處理器,具有在所述處理器的芯片上形成的片上存儲器和包括連接到所述處理器的第二芯片的外部存儲器;端口,耦合到傳輸信道;以及在所述處理器與所述端口之間的鏈路,其中,所述處理器包括一或多個組件,以便從所述端口接收一連串分組,在所述片上存儲器中存儲多個分組,所述多個分組包括一個或多個來自所述一連串分組的分組序列中的分組,以及響應于存儲的分組的組合大小等于預定量,將所述存儲的分組寫到所述外部存儲器中的分區(qū)。
29.如權(quán)利要求28所述的系統(tǒng),其特征在于,所述處理器還包括一個或多個組件,以便只存儲來自所述一連串分組的各個小于外部存儲器的分區(qū)大小的分組,只用來自所述一連串分組的各個小于所述分區(qū)大小的分組來形成小分組鏈表,以及只用來自所述一連串分組的大小等于所述分區(qū)大小的分組來形成外部存儲器中滿分區(qū)鏈表,而不在片上存儲器中存儲所述分組。
30.如權(quán)利要求28所述的系統(tǒng),其特征在于,所述處理器還包括一個或多個組件,以當讀取存儲屬于所述小分組鏈表的分組的外部存儲器分區(qū)時將外部存儲器分區(qū)的內(nèi)容存儲到所述片上存儲器。
全文摘要
通過傳輸滿分區(qū)的數(shù)據(jù)可提高分組應用的存儲器存取效率。可通過使用和處理器在一個芯片上的片上存儲器臨時存儲分組來增加寫到外部存儲器的滿分區(qū)數(shù)量。在將分組寫到外部存儲器之前,長度小于外部存儲器分區(qū)大小的分組可臨時存儲在片上存儲器中,直到收集到相應于滿或?qū)⒔鼭M的分區(qū)的量,這時就可將數(shù)據(jù)高效地寫到外部存儲器分區(qū)。
文檔編號G06F12/00GK1669279SQ03816660
公開日2005年9月14日 申請日期2003年5月8日 優(yōu)先權(quán)日2002年5月29日
發(fā)明者J·-C·卡爾德龍, J·凌, J·-M·開亞, V·約斯, A·黃 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1