TWI269163B - Method and system for maintenance of packet order using caching - Google Patents

Method and system for maintenance of packet order using caching Download PDF

Info

Publication number
TWI269163B
TWI269163B TW093113835A TW93113835A TWI269163B TW I269163 B TWI269163 B TW I269163B TW 093113835 A TW093113835 A TW 093113835A TW 93113835 A TW93113835 A TW 93113835A TW I269163 B TWI269163 B TW I269163B
Authority
TW
Taiwan
Prior art keywords
packet
memory
machine
area
array
Prior art date
Application number
TW093113835A
Other languages
English (en)
Other versions
TW200500858A (en
Inventor
Alok Kumar
Raj Yavatkar
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW200500858A publication Critical patent/TW200500858A/zh
Application granted granted Critical
Publication of TWI269163B publication Critical patent/TWI269163B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/565Sequence integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)

Description

1269163 玖、發明說明: L發明戶斤屬之技術領域3 發明的技術領域 本發明的實施例係有關封包定序的技術領域,且更確切 5 來說,本發明係有關使用快取技術維持封包次序的技術。 I:先前技術3 發明的技術背景與相關技藝的說明 在某些系統中,封包定序準則需要令封包的流程呈進入 該系統的順序來離開該等系統。一種可能的解決方案是使 10 用一種異步插入同步移除(AISR)陣列。當接收到封包時, 將對每個封包分派一個序號。可針對所有到達該系統的封 包且利用全球性方式來維持該序號,或者可以分別地針對 各個通訊埠或流程來維持該序號。 所維持的AISR陣列為一種共享記憶體(例如SRAM),且 15 係依據封包序號而編入檢索。針對各個流程,有一個分別 的AISR陣列。當該封包處理管道已經完成處理一特定封包 時,它將把該封包傳遞到下一個階段,或者傳送到重新定 序區塊中。該重新定序區塊將使用AISR陣列以儲存脫序封 包並以所分派序號的順序來拾取封包。 20 此項設定動作的問題是,當流程中的下一個封包尚未準 備好可以進行處理時,該系統必須要繼續輪詢(poll)AISR 列表。同時,檢索流程中已經準備好且等待要呈所要求順 序處理之封包所需的記憶體存取動作會發生延遲問題。 【發明内容】 1269163 圖式的簡要說明 可以藉著參照以下的發明說明以及圖式而最佳地了解 本發明,圖式中將展示出本發明的實施例。在圖式中: 第1圖為一方塊圖,其展示出構成本發明之一系統的概 5 括實施例。 第2圖為一流程圖,其展示出根據本發明之實施例的一 種方法。 第3圖為一方塊圖,其展示出當中可以實行本發明之某 些部份的一種適當計算環境。 ίο 【實方包方式】 鲛佳實施例的詳細說明 以下將描述利用快取技術來維持封包次序之糸統與方 法的實施例。在下面的說明中,將提出不同的特定細節。 然而,可了解的是,可以不需要此等特定的細節來實施本 15 發明的實施例。在其他實例中,並未詳細地展示出已知的 電路、結構與技術,以避免模糊本發明說明的焦點。 本發明說明中所謂的〃一個實施例〃或〃一實施例〃表示的 是參照本發明至少一實施例而描述的一種特定特徵、結 構、或者特性。因此,在本發明說明之不同位置中出現的" 20 一個實施例〃或〃一實施例〃用語未必全部表示相同的實施 例。再者,在一個或數個實施例中,可以利用任何適當方 式來合併該等特定特徵、結構、或者特性。 現在請參照第1圖,其中將根據本發明的實施例展示出 一種網路處理器100。熟知技藝者可以了解的是,網路處 1269163 理器100包括的元件可比第1圖中包括的元件更多。然而, 未必需要展示出所有通用的習知部件來揭露用以實行本發 明的展示實施例。在一實施例中,該網路處理器係透過一 交換介面而麵合於一交換核心架構。 5 網路處理器100包括用以接收來自網路的封包的接收 元件102。所接收到的封包可為一串封包的一部份。網路 處理器100包括一個或數個處理模組。該等處理模組 將處理所接收到的封包。某些處理模組可依照適當順序來 處理一串封包,而其他處理模組則可不依照順序來處理封 10 包。 在處理°亥專封包之後,再定序元件106將把屬於一串封 包的封包排序成適當順序。當再定序元件106接收來自處 理模組的一封包時,它將判定是否該已接收封包為該串封 包中欲傳送的下一個封包。若是,便把該封包傳送出去或 15者將其排入佇列以由傳送元件108來進行傳送。若否,那 麼再疋序元件1〇6將判定是否該封包適於一區域快取記憶 體110。若是’便把該封包儲存在區域快取記憶體110中。 否則’則把該封包儲存在非區域記憶體112中。在一實施 例中’非區域記憶體U2為靜態隨機存取記憶體(SRAM)。 20在一實施例中,網路處理器包括耦合到該等處理模組以儲 存資料的動態隨機存取記憶體(DRAM)。 當已儲存的封包為該串封包中欲傳送的下一個封包 時’將由再定序元件1〇6從記憶體檢索該封包且由傳送元 件把该封包傳送出去。當再定序元件106從區域快取 1269163 記憶體110檢索欲傳送的封包時,再定序元件1〇6將把儲 存在非區域記憶體112中的封包複製到區域快取記憶體 110 中。 在一實施例中,當輸入接收元件102以標示該等封包而 5進行再次疋序動作時,將對屬於該串封包的各個封包分派 一個序號。在處理模組1〇4處理過該等封包之後,再定序 元件106將把該等封包插入到一陣列中。在一實施例中, 該陣列為異步插入同步移除(AISR)陣列。封包插入到陣列 中的位置係根據封包序號而定。例如,順序中的第一封包 10將被插入在該陣列中的第一位置中、順序中的第二封包將 被插入在該陣列中的第二位置中,以此類推。再定序元件 106將依照順序而從該陣列檢索封包,且傳送元件1〇8將 把該等封包傳送到下一個網路目的地。 在一實施例中,實行封包定序的動作係假設記憶體中的 15 AISR陣列夠大而不會使序號環繞,且新的封包並不會覆寫 舊的封包,而是有效封包會因此覆寫舊封包。然而,如果 此種狀況發生的話,再定序元件不應該無限期地等待。因 此,在一實施例中,封包將攜載具有比用以表示記憶體中 最大序號(max一seq一num)更多位元的序號。此將允許識別 20出AISR陣列中的任何序號環繞狀況。如果一封包到達而其 序號大於或等於(狀口6(^〇1一569一1111111 + |1[13乂-569_叫111)的 話’那麼再定序元件將停止接受任何新的封包。同時,如 果有具備expectecLseq一num的封包的話,將對其進行處 理’或者假設已經遺失該封包且增加expectecLseqjium。 1269163 此動作將繼續進行直到已經到達的封包適於該職陣列 為止。此後,再定序元件將開始接受新的封包。應該要注 意的是,實際上不應該執行此種狀態,且記憶體中的最大 序號應該是夠大而不允許此種狀況發生。 5 在—實施例中,如果在進行封包處理時遺失了-封包的 話,將對再定序元件傳送-項通知。此項通知可為該封包 的存根模組(stub)。在一實施例中,如果在進行封包處理時 產生了一個新封包的話,將標示該新封包以對再定序元件 指出並不需要定序該新封包。在一實施例中,如果在進行 10封包處理時產生一個新封包的話,該新封包將與產生它的 該封包共享相同的序號。該封包將具有一種共享資料結構 以指出該序號的副本數量。再定序元件將假設只有在該封 包序號的所有副本都已經到達時,具有大於一副本的封包 序號才會到達。 15 為了展示目的’以下為再定序元件的一種例示虛擬程式 碼:
Function : receive__packet () seq niim = Extract sequence number from the packet; 20 if (seq_num == expected一seq一num) { process packet; expected—seq—num++; 1269163 clear entry corresponding to seq_num from local memory and SRAM AISR Array; read—from—SRAM (); } 5 else { if (seq—num < (expected—seq—num + N)) { store seq_num in corresponding local memory 10 AISR Array; look_for_head(); } else {
15 store seq_num in corresponding SRAM AISR
Array; if ( seq_num > max_seq_num_in_SRAiyU max_seq_num_in—SRAM = seq—num; look_for_head(); 20 } }
Function : look__for_head () if (entry at expected_seq_num is not MULL) 10 1269163 process expected_seq_num; expect ed__seq_num++ ; clear entry corresponding to seq__num from local 5 memory and SRAM AISR Array; read_f rom__SRAM (); }
Function: read_from_SRAM() 10 { if (expected__seq___num % B == 0) { // perform block__read__if necessary if ((max—seq—num—in—SRAM != -1) & 15 (max_seq—num_in—SRAM> (expected—seq—num+ N) ) )_ block read from SRAM AISR Array from (e xp e c t e d_ s e q_num + N) to (expected__seq___num + N + B); 20 else max__seq___num__in_SRAM = -1; } } ”接收封包〃的功能是接收來自封包處理模組的封包,且 11 1269163 °果5亥封包為料封包巾欲傳送的下—個封包的話,便處 理该封包。否則,如果該封包適於區域快取記憶體中的 AISR陣列的話,便把該封包插人到區域快取記憶體中奶r 陣列的適纽置中。如果該封包並不適於區域快取記憶體 中的AISR陣列的話’便把該封包儲存在s_的職陣 列中。 ''尋找頭段"的功能是尋找位於區域快取記憶體之aisr 陣列頭段中的封包。如果該封包位於此處的話,那麼便處 理且傳送該封包。 1〇 從SRAM讀取〃的功能是讀取來自SRAM之AISR陣列 中的-封包。當已經處理了來自區域快取記憶體之aisr陣 列的-封包時,此封包隨後便會被複製到區域快取記憶體 中。 第2圖將根據本發明之實施例展示一種方法。於方塊 15 200中,將在再定序元件上接收到為欲傳送之一串封包之 部分的封包。於方塊202中,將判定是否已接收封包為該 串封包中欲傳送的下一個封包。若是,於方塊2〇4中,便 傳送該封包。若否,於方塊206中,將判定是否該封包適 於一區域快取記憶體。在一實施例中,將判定是否該封包 2〇適於一區域快取記憶體的AISR陣列。如果該封包適於該區 域快取記憶體的話,那麼於方塊208中,將把該封包儲存 在區域快取記憶體中。如果該封包並不適於區域快取記恨 體的話,那麼於方塊210中,將把該封包儲存於非區域記 fe體中。在_實施例中,如果已接收封包並不適於區域快 12 1269163 取記憶體的話,便把該已接收封包儲存在SRAM中。在〜 η把例中’當判定出已儲存封包為該串封包中欲傳送的下 一個封包日守,便檢索且傳送已儲存封包。 在一貫施例中,將把該封包儲存在區域快取記憶體的 5 AISR陣列中。當該封包到達AISR陣列的頭段時,將檢索 且傳送該封包。隨後,位於非區域記憶體之八脱陣列頭後 的封包將被複製到區域快取記憶體的厶15民陣列中。 第3圖為-方塊圖’其展示出當中可以實行本發明之某 些部份的-種適當計算環境。在一實施例中,上述方法^ 10貫打在具有部件302至312的電腦系統3〇〇中,其包括透 過匯流排308而耦合在一起的處理器3〇2、記憶體3⑽、 輸入/輸出裝置306、資料儲存體312、以及網路介面3ι〇。 該等部件將進行技藝中的習知功能,且提供用以實行本發 明的方法。整體來說,該等部件代表一種廣泛種類的硬體 15系統,其包括但不限於-般用途電腦系統以及特殊封包轉 送裝置。應該要了解的是,可以重新配置電腦系統300的 各種不同部件,且本發明的某些實行方式並不需要或者包 括所有上述的部件。再者,亦可在系統3〇〇中包括額外部 件,例如額外處理器(例如數位信號處理器)、儲存裝置、 2〇 Α憶體以及網路或通訊介面。 如熟知技藝者可了解的,用財行本發明枝之實施例 的内容,例如電腦程式指令’可域儲存包含本發明系统 能存取之資料的任何機器可讀取媒體來備置,如 一部份或者除了記憶體之外,其包括但不限於盒=帶、’ 13 1269163 石兹s、快閃記憶體卡、數位影音光碟、隨機存取記憶體 (RAM)、唯讀記憶體(剛)等等。於此,將製配該系制利 用技藝中已知的方法與該等機器可讀取媒體通訊。 熟知技藝者可另外了解岐,可魏_存_容且將 5該内容傳送給網路處理器⑽的任何外部裝置對網路處理 器100提供用以實行本發明方法之實施例的内容。例如, 在本發明的一實施例中,網路處理器1〇〇可連接至一網 路,且可將内谷儲存在網路上的任何裝置中。 儘管已經根據數個實施例來說明本發明,熟知技藝者將 1〇可了解的是,本發明並不限於所述的實施例,但可利用屬 於以下申請專利範圍之精神與範圍中的修正與變化方式。 因此’本發明说明僅能視為具有展示性而不具限制性。 【圖式簡單說明】 第1圖為-方塊圖,其展示出構成本發明之—系統的概 15 括實施例。 第2圖為一流程圖’其展示出根據本發明之實施例的一 種方法。 第3圖為-方塊圖,其展示出當中可以實行本發明之某 些部份的一種適當計算環境。 20【圖式之主要元件代表符號表】 100 網路處理器 108 傳送元件 102 接收元件 110 區域快取記憶體 104 處理模組 112 非區域記憶體 106 再定序元件 200- 410方塊 14 1269163 300 電腦系統 302 處理器 304 記憶體 306 輸入/輸出裝置 308 匯流排 310 網路介面 312 資料儲存體

Claims (1)

1269163 更:) 10 15 20 f 93113835 號申請-、一拾、申請專利範圍: 1· -種用來維持封包次序的方法,其包含: 在-再定序元件上麵為欲傳送之—㈣包之部 封包以便將其傳送到下—個網路目的地; 判定是否該已接收封包為該串封包巾欲傳送的下一個封 包,而若否的話: 判疋是否該已接收封包適於—區域快取記憶體; 如果》亥已接收封包適於該區域快取記憶體的話, 便把該已接收抑赫在魏域快取⑽ 及 而如果該已接收封包並不適於該區域快取記憶體的 :’便把該已接收封包儲存在—非區域記憶體中。 如申请專利範圍第1項 包為該串封包中欲傳逆二含當該已儲存封 封包時,檢索且傳送該 已儲存封包的動作。 3_=:專利範圍第Μ之方法,其中如果該封包適於該 ^域快取記《的話便把該封包财在麵域快取記憶 體中的動作包含如果該封包適於該區域快取記憶體的一 異步插入同步移除(AIS__話便_封包儲存在該 區域快取記憶體之AISR陣列中的動作。 4.二申請專利範圍第3項之方法’其中如果該封包並不適 亥區域快取記憶體的話便把該封包儲存在_非區域圮 丨思體中的動作包含如果該封包並不適於該區域快取記憶 94年12月9日
16 1269163 5 體的AISR p車列的話便把該封包儲存在一非區域記憶體 之AISR陣列中的動作。 5.如申清專利範圍第4項之方法,其中將該封包儲存在一 非區域記憶體之AISR陣列中的動作包含如果該封包並 不適於該區域快取記憶體的AISR陣列的話便把該封包 儲存在一靜態隨機存取記憶體(SRAM)之AISR陣列中的 動作。 10 15 20 .如申請專利範圍第4項之方法,其另包含在該區域快卑 記憶體之AISR陣列頭段檢索且傳送該封 7·如申物軸=勒 於5亥區域快取記憶體之AISR陣列頭段的該封包之後, 把位於該非區域記憶體之職陣列頭段的該封包複榮 到該區域快取記憶體之AISR陣列巾的動作。 本 8·如中請專利範圍第i項之方法,其中判定是的 ?包為該串封包中欲傳送之T—個封包的動作包含判萍 疋否忒已接收封包為該串封包中欲傳送的下 且若是,便傳送該已接收封包。 、匕, 9_ -種用來維持封包次序的裝置,其包含: 一處理模組’其用以處理從—網路接收到的 一再定序料,其_合至該處理模組 二, 到下一個網路目的地之前先重新配置該等封^封包_ 一區域快取記憶體,其_合至該再定二’… 個或數個陣列來重新定序封包;以& Μ儲存一 一非區域記憶體,其_合至該再定序元件以在該以
17 1269163 決取兄憶體填滿時錯存一個或數個陣列來重新 包。 J 讥如申請專利範圍第9項之裝置,其中該非區域記憶體為 一靜態隨機存取記憶體(SRAM)。 5 11β如申請專利範圍第9項之#詈,六y 、 貝 < 衣罝其中儲存一個或數個陣 以便重新疋序封包的該區域快取記憶體與該非區域記 憶體包含儲存-個或數個異步插入同步移除⑽r)陣列 以便重新定序封包的該區域快取記憶體與非區域記情 體。 心 10 12\如申請專利範圍第9項之裝置,其另包含搞合至該處理 杈組以接收來自該網路之封包的一接收元件。 13.如申請專利範圍第9項之裝置,其另包純合至該再定 序元件以傳送已定序封包到下一個網路目的地的一傳送 元件。 、 5 H·種供貫施用來維持封包次序之方法的製造物品,包 含·· -機器可存取媒體,其包括當由一機器存取時會使該機 為進行下列動作的内容: 在一再定序元件上接收為欲傳送一串封包之部分的一封 20 包以便將其傳送到下一個網路目的地; 判定是否該封包適於一區域快取記憶體; 如果忒封包適於該區域快取記憶體的話,便把該封包儲 存在該區域快取記憶體中;以及 如果該封包並不適於該區域快取記憶體的話,便把該封 18 1269163 包儲存在一非區域記憶體中。 10 15 20 15·如申請專利範圍第14項之製造物品,其中該機哭可存 媒體另包括當該_封包為該串封包中欲傳送的下 固封包時’使該機器檢索轉送該已齡封包的内容。 •晴專利範圍第14項之製造物品,其中該機哭可存 :括當由該機器存取時會使該機器在如= =;域快Γ憶體的話把該封包儲存在該區域快取 機:疒:内令’其包含該機器可存取媒體包括當由該 =取:會使該機器在如果該封包適於該區域快取記 ^的-異步插人同步移除(AISR)陣列的話把該封包儲 存在该區域快取記憶體之a IS R陣列中的内容。 17·如申請專利範圍第16項之製造物品,其中該機器可存 、,某杜包括胃由錢器存取時會使該機器在如果該封包 並不適於《域餘記減㈣把該封包赫在一非區 域記憶體中的内容,其包含該機器可存取媒體包括當由 該機器存取時會使該機器在如果該封包並不適於該區域 快取記憶體的職陣列的話把該封包儲存在—非區域 5己fe體之AISR陣列中的内容。 讥如申請專利範圍第17項之製造物品,其中該機器可存 取媒體另包括當由該機器存取時會使該機器在該區域快 取讀體之AISR陣列頭段檢索且傳送該封包的内容。 仪如申請專利範圍第18項之製造物品,其中該機器可存 取媒體另包括當由該機器存取時會使該機器在已經傳送 位於該區域快取記憶體之贱陣列頭段的該封包之 19 1269163 後,把位於該非區域記憶體之AISR陣列頭段的該封包 複製到該區域快取記憶體之AISR陣列中的内容。 20. —種用來維持封包次序的系統,其包含: 一交換核心架構; 5 透過一交換核心架構介面耦合到該交換核心架構的一網 路處理器,該網路處理器包括·· 一處理模組,其用以處理從一網路接收到的一串封包; 一再定序元件,其係耦合至該處理模組以在將封包傳送 到下一個網路目的地之前先重新配置該等封包; 10 一區域快取記憶體,其係耦合至該再定序元件以儲存一 個或數個陣列來重新定序封包;以及 一靜態隨機存取記憶體(SRAM),其係耦合至該再定序元 件以在該區域快取記憶體填滿時儲存一個或數個陣列來 重新定序封包。 15 21.如申請專利範圍第20項之系統,其中該網路處理器另 包括耦合至該處理模組以儲存資料的一動態隨機存取記 憶體(DRAM)。 22·如申請專利範圍第20項之系統,其中該網路處理器另 包含耦合至該處理模組以接收來自該網路之封包的一接 20 收元件。 23·如申請專利範圍第20項之系統,其中該網路處理器另 包含耦合至該再定序元件以傳送該已定序封包到下一個 網路目的地的一傳送元件。 20
TW093113835A 2003-05-28 2004-05-17 Method and system for maintenance of packet order using caching TWI269163B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/447,492 US20040240472A1 (en) 2003-05-28 2003-05-28 Method and system for maintenance of packet order using caching

Publications (2)

Publication Number Publication Date
TW200500858A TW200500858A (en) 2005-01-01
TWI269163B true TWI269163B (en) 2006-12-21

Family

ID=33451244

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093113835A TWI269163B (en) 2003-05-28 2004-05-17 Method and system for maintenance of packet order using caching

Country Status (7)

Country Link
US (1) US20040240472A1 (zh)
EP (1) EP1629644B1 (zh)
CN (1) CN1306773C (zh)
AT (1) ATE373369T1 (zh)
DE (1) DE602004008911T2 (zh)
TW (1) TWI269163B (zh)
WO (1) WO2004107684A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9088474B2 (en) 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US7346757B2 (en) 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7924828B2 (en) * 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US8015567B2 (en) 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US7961723B2 (en) 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US8176298B2 (en) 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US7984268B2 (en) 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US7334086B2 (en) 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7246205B2 (en) 2004-12-22 2007-07-17 Intel Corporation Software controlled dynamic push cache
GB2427048A (en) 2005-06-09 2006-12-13 Avecho Group Ltd Detection of unwanted code or data in electronic mail
US20070014240A1 (en) * 2005-07-12 2007-01-18 Alok Kumar Using locks to coordinate processing of packets in a flow
CN100459575C (zh) * 2005-11-10 2009-02-04 中国科学院计算技术研究所 一种网络处理器中维护ip分组出入顺序的方法
US9729513B2 (en) 2007-11-08 2017-08-08 Glasswall (Ip) Limited Using multiple layers of policy management to manage risk
GB2444514A (en) * 2006-12-04 2008-06-11 Glasswall Electronic file re-generation
US9596324B2 (en) 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
GB2518880A (en) 2013-10-04 2015-04-08 Glasswall Ip Ltd Anti-Malware mobile content data management apparatus and method
US10193831B2 (en) * 2014-01-30 2019-01-29 Marvell Israel (M.I.S.L) Ltd. Device and method for packet processing with memories having different latencies
CN105227451B (zh) * 2014-06-25 2019-06-21 华为技术有限公司 一种报文处理方法及装置
US9330264B1 (en) 2014-11-26 2016-05-03 Glasswall (Ip) Limited Statistical analytic method for the determination of the risk posed by file based content

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05130141A (ja) * 1991-11-05 1993-05-25 Nec Corp パケツト伝送装置
US5619497A (en) * 1994-12-22 1997-04-08 Emc Corporation Method and apparatus for reordering frames
US5887134A (en) * 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
CN1125548C (zh) * 2000-01-07 2003-10-22 威盛电子股份有限公司 依序转发包的输出排队方法
US6934280B1 (en) * 2000-05-04 2005-08-23 Nokia, Inc. Multiple services emulation over a single network service
US6862282B1 (en) * 2000-08-29 2005-03-01 Nortel Networks Limited Method and apparatus for packet ordering in a data processing system
US6781992B1 (en) * 2000-11-30 2004-08-24 Netrake Corporation Queue engine for reassembling and reordering data packets in a network
US6751704B2 (en) * 2000-12-07 2004-06-15 International Business Machines Corporation Dual-L2 processor subsystem architecture for networking system
US7327759B2 (en) * 2001-07-25 2008-02-05 International Business Machines Corporation Sequence-preserving deep-packet processing in a multiprocessor system
WO2003021447A1 (en) * 2001-08-31 2003-03-13 Adaptec, Inc. Methods and apparatus for partially reordering data packets
US6779050B2 (en) * 2001-09-24 2004-08-17 Broadcom Corporation System and method for hardware based reassembly of a fragmented packet
US7248593B2 (en) * 2001-09-25 2007-07-24 Intel Corporation Method and apparatus for minimizing spinlocks and retaining packet order in systems utilizing multiple transmit queues
EP1454460A1 (en) * 2001-11-13 2004-09-08 Transwitch Corporation Overcoming access latency inefficiency in memories for packet switched networks
US7248586B1 (en) * 2001-12-27 2007-07-24 Cisco Technology, Inc. Packet forwarding throughput with partial packet ordering
US20030214949A1 (en) * 2002-05-16 2003-11-20 Nadim Shaikli System for reordering sequenced based packets in a switching network
US6735647B2 (en) * 2002-09-05 2004-05-11 International Business Machines Corporation Data reordering mechanism for high performance networks
US7796602B2 (en) * 2002-11-25 2010-09-14 Intel Corporation In sequence packet delivery without retransmission
US7289508B1 (en) * 2003-03-12 2007-10-30 Juniper Networks, Inc. Systems and methods for processing any-to-any transmissions

Also Published As

Publication number Publication date
WO2004107684A1 (en) 2004-12-09
DE602004008911T2 (de) 2008-06-19
ATE373369T1 (de) 2007-09-15
US20040240472A1 (en) 2004-12-02
CN1306773C (zh) 2007-03-21
CN1574785A (zh) 2005-02-02
TW200500858A (en) 2005-01-01
EP1629644A1 (en) 2006-03-01
DE602004008911D1 (de) 2007-10-25
EP1629644B1 (en) 2007-09-12

Similar Documents

Publication Publication Date Title
TWI269163B (en) Method and system for maintenance of packet order using caching
US9253093B2 (en) Method for processing data packets in flow-aware network nodes
US7957288B2 (en) Method and system of efficient packet reordering
US6788671B2 (en) Method and apparatus for managing the flow of data within a switching device
US7813342B2 (en) Method and apparatus for writing network packets into computer memory
US6857030B2 (en) Methods, system and article of manufacture for pre-fetching descriptors
US7249214B2 (en) Sliced crossbar architecture with no inter-slice communication
US20060064508A1 (en) Method and system to store and retrieve message packet data in a communications network
US10055153B2 (en) Implementing hierarchical distributed-linked lists for network devices
JP2001511559A (ja) マルチポート内部キャッシュdram
TW200407717A (en) Mail box interface between processors
US20050005037A1 (en) Buffer switch having descriptor cache and method thereof
TWI252001B (en) Method and system for maintaining partial order of packets
KR100560277B1 (ko) 메모리로의 액세스의 수를 감소시키는 방법 및 시스템 및 기록 매체
JP2001514780A (ja) 再帰的マルチチャネルインターフェース
US20060165055A1 (en) Method and apparatus for managing the flow of data within a switching device
JP2002084311A (ja) パケット転送処理装置
JP3198547B2 (ja) 受信装置のバッファ管理方法
US20090083499A1 (en) Ordered Storage Structure Providing Enhanced Access to Stored Items
US9990307B1 (en) Split packet transmission DMA engine
US6789176B2 (en) Address release method, and common buffering device for ATM switching system which employs the same method
US20170017568A1 (en) System And Method For Implementing Distributed-Linked Lists For Network Devices
US7940764B2 (en) Method and system for processing multicast packets
EP1324566B1 (en) A system independent and scalable packet buffer management architecture for network processors
US20060039376A1 (en) Method and structure for enqueuing data packets for processing

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees