TW201528142A - 具多核處理器的內部/外部存取之後援處理器單元 - Google Patents

具多核處理器的內部/外部存取之後援處理器單元 Download PDF

Info

Publication number
TW201528142A
TW201528142A TW103137160A TW103137160A TW201528142A TW 201528142 A TW201528142 A TW 201528142A TW 103137160 A TW103137160 A TW 103137160A TW 103137160 A TW103137160 A TW 103137160A TW 201528142 A TW201528142 A TW 201528142A
Authority
TW
Taiwan
Prior art keywords
packet
request
lookup
received
buffer
Prior art date
Application number
TW103137160A
Other languages
English (en)
Other versions
TWI652623B (zh
Inventor
Ii Wilson Parkhurst Snyder
Steven Craig Barner
Richard Eugene Kessler
Original Assignee
Cavium Inc
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 Cavium Inc filed Critical Cavium Inc
Publication of TW201528142A publication Critical patent/TW201528142A/zh
Application granted granted Critical
Publication of TWI652623B publication Critical patent/TWI652623B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]

Abstract

本發明揭示一種用於後援處理器單元中處理資訊查找請求之方法、及一種具體實施該方法之系統,包括將一已接收的查找交易請求儲存在一第一緩衝區;將該查找交易請求重新建立在一請求封包;傳輸該請求封包;接收一封包;決定該已接收的封包是否包括一回應封包或一異常封包;及根據該決定以處理該已接收的封包。此外,本發明揭示一種用於後援處理器單元處理異常封包之方法,及一種具體實施該方法之系統,其包括將至少一已接收的查找交易請求儲存在一第一緩衝區;接收一封包;決定該已接收的封包是否包括一異常封包;及根據該第一緩衝區的識別碼,以使該異常封包與該至少一已儲存查找交易請求之一者形成關聯。

Description

具多核處理器的內部/外部存取之後援處理器單元
本發明有關電腦網路通訊,更具體地,本發明有關具備用於多核處理器的內部與外部存取之後援處理器單元。
網路處理器為專屬處理器,通常以積體電路的形式實施,具備特別設計用於處理接收自網路或透過網路傳輸的封包資料之功能集。這種處理通常涉及資訊查找,使用資訊查找表內較簡單的索引操作來取代寶貴的執行時間計算。藉由範例,安排相關處理,即是封包轉送,需要查找安排資訊,包含構成傳輸控制通訊協定/網際網路通訊協定(TCP/IP,Transmission Control Protocol/Internet Protocol)連接的不同值之值組,例如5值組包含一來源IP位址、一目的地IP位址;一來源連接埠號;一目的地連接埠號、及使用中的通訊協定。
因為查找通常由外部三重內容可尋址記憶體(TCAM,ternary content-addressable memory)執行,可能透過Interlaken Lookaside(ILA)連接至網路處理器。不過,記憶體型查找會有查找請求延遲的困擾。此外,追蹤已提交的查找之查找資源為預先分配或專用於處理器核心。如此,網路處理器包含多核心,而資源專屬會妨礙效率,因為不同處理器核 心可能會不均等使用專屬資源。
因此,業界內需要一種後援處理器單元,提供上述已知問題的解決方案以及額外優點。
在本發明的一態樣中,揭示一種根據文後申請專利範圍獨立項在一後援處理起單元用於資訊查找請求處理及用於異常封包處理之裝置及方法。其他態樣則揭示於申請專利範圍附屬請求項內。
102-130‧‧‧步驟
204‧‧‧後援處理器單元
206‧‧‧處理器
208‧‧‧結構
210‧‧‧結構
206_1-206_3‧‧‧處理器核心
212‧‧‧Interlaken Lookaside介面
202‧‧‧裝置
214‧‧‧控制邏輯
230‧‧‧異常佇列結構
231‧‧‧緩衝區
231_1‧‧‧緩衝區
216‧‧‧結構
218‧‧‧後援緩衝區
218_1‧‧‧後援緩衝區
220‧‧‧結構
221‧‧‧緩衝區
221_1‧‧‧對應緩衝區
222‧‧‧結構
224‧‧‧傳輸器
226‧‧‧接收器
228‧‧‧組塊
232‧‧‧組塊
234‧‧‧組塊
本說明書描述的上述態樣可從下列連同附圖的詳細說明變得更瞭解,其中:第一a圖描述根據本發明態樣之可在一後援處理器單元進行資訊查找請求處理及異常封包處理之處理的流程圖之第一部分;第一b圖描述根據本發明之一態樣可在該後援處理器單元進行資訊查找請求處理以及異常封包處理之處理的流程圖之第二部分;及第二圖描述根據本發明之一態樣之一後援處理器單元、一處理器、以及一內容可尋址記憶體之概念結構。
任何無參考編號的箭頭或雙箭頭線段都表示所描述實體之間的可能資訊流。
除非有定義,否則本說明所用的所有詞(包含技術與科學詞彙)與精通本發明所屬技術的人士所瞭解完全一樣。應進一步瞭解,像是普通使用字典內所定義的詞彙應解釋為符合相關技術與本發明內文的含意。
如本說明書所使用,除非上下文有明確指示,否則單數型態「一」和「該」亦包含複數型態。吾人將進一步瞭解,說明書中使用的「包含」指定所陳述的特徵、整數、步驟、操作、元件、組件存在,但是不排除還有一或多個其他特徵、整數、步驟、操作、元件、組件存在。「及/或」一詞包含一或多個相關列出項目的任何與所有組合。
許多揭示的態樣可參考一或多個示範組態來例示。如本說明書的使用,「示範」一詞表示「當成範例、實例或例示」,且不需要構成為較佳或優於在本說明書所揭示的其他組態。
除非有明確表示,否則在本說明書將參考本發明理想組態的示意例示圖來描述本發明的許多態樣。本發明的許多態樣已提供讓精通此技術的人士可實踐本發明。精通此技術的人士可迅速瞭解對於本發明中所呈現的許多態樣之修改,且在本說明書揭示的概念可延伸至其他申請案。
第二圖描述一後援處理器單元(204)、一查找交易請求實體(206)以及一結構(208)、(210)的概念結構。該查找交易請求實體可包含一處理器(206)、一乙太網路封包輸入分類引擎或精通技術人士所熟知的任何其他實體。為了清楚解釋,在整個本發明當中,處理器(206)代表例如一查看交易請求實體的範例,並未限制本發明。處理器(206)可包括一或複數個處理器核心(206_1-206_3),雖然只描述三個處理器核心,不過精通技術人士將瞭解,可考慮其他核心數量,包含單核心。處理器核心(206_1-206_3)操作需要一查找儲存在結構(208)、(210)內的資訊。為了有效分配資訊查找所需的資源,以及降低有關該資訊查找的任何處理器核心負擔,在處理器(206)與結構(208)、(210)之間安置後援處理器單元(204)。不同組塊可實施為後援 處理器單元(204)的結構內之硬體或軟體實體。
第一圖描述可在一後援處理器單元上進行資訊查找請求處理以及異常封包處理之流程圖。為了進一步釐清如第一圖與相關內文參考的第二圖中概念結構的特定元件之關的關係,有關第二圖的結構元件的參考會使用括號表示。
該處理從步驟102開始,在此處理器(206)的複數個處理器核心之至少一者,例如處理器核心(206_1),產生要傳輸至一目標的一查找交易請求。該目標可包含一內部內容可尋址記憶體、一內部查找引擎,兩者可整個稱為內部實體(208),及/或一外部內容可定址記憶體(210)、或其他外部組件,例如一現場可程式閘陣列,以及精通技術人士所熟知的其他組件。在一態樣中,外部內容可定址記憶體(210)包含一外部三重內容可定址記憶體(TCAM,ternary content-addressable memory),其透過Interlaken Lookaside介面(212)與後援處理器單元(204)介接。「外部」一詞表示在裝置(202)之一外部組件。雖然如所描述,裝置(202)包含處理器(206)、後援處理器單元(204)、Interlaken Lookaside介面(212)、及內部實體(208),不過可考慮其他配置。藉由範例,處理器(206)可在裝置(202)之外部。在一態樣中,裝置(202)實施為一積體電路。繼續在步驟104執行該處理。
在步驟104,處理器核心(206_1)傳輸該查找交易請求至後援處理器單元(204)。繼續在步驟106執行該處理。
在步驟106,一控制邏輯(214)接收該查找交易請求。當啟用選擇性異常封包處理,控制邏輯(214)決定是否執行該查找資訊請求的定期處理,若是則繼續步驟110的處理;或者,該查找交易請求是否維持用於異 常封包處理,若是的話,繼續步驟108的處理。然後根據產生該查找交易請求的處理器核心(206_1)所提供之資訊進行該決定。該資訊可提供,例如當成查找交易請求內的指示符,當成一外界傳訊,或精通技術人士所熟知的任何其他方法。否則,當已停用該選擇性異常封包處理,則控制邏輯(214)接收該查找交易,並且繼續在步驟108執行該處理。
在步驟108,該查找交易請求置入一異常佇列結構(230),該結構包含複數個緩衝區(231),例如置入緩衝區(231_1)。一佇列為一結構內的資料組織,該結構之中保存實體,即是包含一封包的資料。繼續在步驟106執行該處理。
在步驟110,控制邏輯(214)提供該查找交易請求給複數個結構(216)。通常,並非必要,一結構(216)支援一通道,即是將資訊傳送至與接收自目標(208)、(210)的通路。在一態樣中,當使用該Interlaken Lookaside介面與兩結構時,該Interlaken介面支援兩傳輸與兩接收通道之每一者中的一者。為解釋概念的目的而不受實施細節所模糊,所以只描述單一結構。不過,精通技術人士應瞭解,可使用其他數量的結構(216)。複數個結構(216)之每一者包含複數個後援緩衝區(218)。複數個後援緩衝區(218)之每一者可為以下三種狀態之一:可用(FREE),即是沒有複數個結構(216)之任一者使用該後援緩衝區;處理中(PROCESSING),即是目標(208)、(210)所要處理的該後援緩衝區的內容;及已接收(RECEIVED),即是該後援緩衝區的內容已傳送至目標(208)、(210),而由目標(208)、(210)處理且該處理結果已經送回後援緩衝區(218),但是該結果尚未提供給一處理器核心(206)。複數個結構(216)之每一者有關包含複數個緩衝區(221)的複數個結構(220)之一者,該 緩衝區保存複數個後援緩衝區(218)之每一者的狀態。如此,如所描述,緩衝區(221_1)保存後援緩衝區(218_1)的狀態。
接收該查找交易請求時,控制邏輯(214)在複數個結構(216)之中,一後援緩衝區(218)處於可用狀態(FREE),將該查找交易請求儲存在這種後援緩衝區,例如後援緩衝區(218_1),且請求結構(222)將後援緩衝區(218_1)內保存的該查找交易請求重新建立在一請求封包。該重新建立包括新增或改變在該查找交易請求內的欄位,讓該請求封包可傳輸至所要的目標(208)、(210)。尤其是,改變產生的封包以包含新增的交易識別碼。該交易識別碼包含儲存該請求封包,例如一指標器,以及位址或精通技術人士所熟知任何其他識別碼的後援緩衝區(218_1)之任何識別碼。因為後援處理器單元(204)允許該資訊從目標(208)、(210)不根據順序查找回傳,因此需要該交易識別碼,以下會有說明。
除了包含該請求封包以外,該等後援緩衝區(218_1)之每一者亦包括一錯誤狀態。當控制邏輯(214)重新建立該查找交易請求在一請求封包,且該請求無法找到可用狀態(FREE)的後援緩衝區(218),則會產生錯誤。然後忽略該請求封包,並產生一錯誤中斷且提供給產生該查找資訊請求的處理器核心(206_1)。在一態樣中,將指示該錯誤的一回應傳送給請求的處理核心(206_1)。在處理核心(206)產生比要放入該請求封包的資料更多目標(208)、(210)所能接收之情況下,會產生另一種錯誤,導致後援緩衝區(218)溢位。目標(208)、(210)可接收的資料量會在目標(208)、(210)初始化時設定為組態參數。然後忽略超過的資料,並產生一錯誤指示碼並且提供給該請求的處理器核心(206_1)。
繼續在步驟112執行該處理。
在步驟112,目標(208)、(210)指示準備接收及處理另一個請求。一般而言,控制邏輯(214)提供該請求封包(例如儲存在後援緩衝區(218_1)內的該封包)給一傳輸器(224),並且將該結構(220)的對應緩衝區(221_1)之狀態改變為處理中(PROCESSING)。該傳輸器將該請求封包從後援處理單元(204)傳輸至目標(208)、(210)。繼續在步驟114執行該處理。
在步驟114,目標(208)、(210)從該請求封包當中擷取該交易識別碼,並執行該請求的查找。目標(208)、(210)建立包含該查找資訊與該交易識別碼的一回應封包,並將該回應封包傳輸至後援處理單元(204)。目標(208)、(210)不需要以接收該等請求封包的相同順序來傳送該等回應封包。如此藉由範例,若一資訊查找回應請求封包所耗費時間超過一資訊查找回應稍後接收請求封包之時間,則目標(208)、(210)在傳送一回應封包給稍早接收的封包之前,可先傳送一回應封包給該稍後接收的請求封包。
除了一回應封包給一請求封包以外,目標(208)、(210)可產生一異常封包,其可與一特定請求封包沒有關聯性。這種異常封包可包括例如由於目標(208)、(210)的內部錯誤所產生之一中斷封包、回報一情況(例如已經到達統計臨界)之一請求;或者,目標(208)、(210)具有非回應相關資訊以與精通技術人士所熟知的處理核心通訊之任何其他指示。這種並不對應任何交易識別碼的一異常封包可由目標(208)、(210)產生,並且藉由在該回應封包內設定特定位元而由目標(208)、(210)指示。設定特定位元可包括設定單一位元。
繼續在步驟116執行該處理。
在步驟116,一接收器(226)接收目標(208)、(210)產生的該封包,然後該接收器將該接收的封包提供給組塊(228)。繼續在步驟118執行該處理。
在步驟118,組塊(228)檢驗該接收的封包,以決定該接收的封包是否包括一回應封包或一異常封包。
組塊(228)利用將已接收封包內的特定位元與一預定異常遮罩比較,來檢驗該已接收的封包。在一態樣中,可利用複數個不同的預定遮罩來區分該等異常封包,例如中斷封包、服務請求封包以及上面提及的其他類形的異常封包。每一預定異常遮罩位元之值都是三個,即是該位元值可包含「1」、「0」或代表「隨意」的「X」。「隨意」表示該值可代表「1」或「0」。在一態樣中,該預定遮罩實施為兩暫存器。該第一暫存器內的一位元的第一值,例如「0」值代表三重值「X」用於比較,而與第二暫存器之值無關。該第一暫存器內的一位元的第二值,例如「1」值,與該第二暫存器內的一位元的第一值,例如「0」值,執行「及(AND)」運算代表三重值「0」用於比較。該第一暫存器內的一位元的第二值,例如「1」值,與該第二暫存器內的一位元的第二值,例如「1」值,執行「及(AND)」運算代表三重值「1」用於比較。不過,精通技術人士將瞭解,可有其他組合。
當該已接收封包內的特定位元符合該預定遮罩,即是通過比較,表示一異常封包,組塊(228)提供該異常封包給異常佇列(230)內一緩衝區,例如緩衝區(231_1),並且繼續在步驟120執行該處理。否則,當該已接收封包內的該特定位元不符該預定遮罩,即是未通過比較,表示一回應封包,然後繼續在步驟122執行該處理。
在步驟120,當已經啟用該選擇性異常封包處理,則該異常封包透過緩衝區(231_1)的該識別碼而與要保留用於異常封包處理的該查找交易形成關聯性。在一態樣中,該關聯性透過先進先出方法,用於組織與操縱一資料緩衝區,即是使用保留用於異常封包處理的最舊查找交易。否則,當已停用該選擇性異常封包處理,則使用與以下揭示該定期回應封包相同的方式來處理該異常封包。繼續在步驟122執行該處理。
在步驟122,根據該關聯性,產生一回應並且將保留在異常佇列(230)(例如緩衝區(231_1))內的該異常封包提供給複數個處理器核心之一者,即是該異常封包提供給產生用於異常封包處理的該查找交易請求的該處理器核心。該處理器核心根據目標(208)、(210)來回應,以產生該異常封包,例如中斷、請求服務,如上面所揭示。
在步驟124,在組塊(232)接收該返回封包。組塊(232)從該返回封包擷取該交易識別碼。繼續在步驟126執行該處理。
在步驟126,該擷取的交易識別碼與保留在結構(220)而具備對應交易識別碼的一請求封包之狀態比較。當該狀態設定為處理中(PROCESSING),則該處理在步驟128內繼續;否則將該回應封包提供給一異常佇列(230),並且繼續在步驟124執行該處理。
在步驟128,將該返回封包提供給組塊(234)。組塊(234)將結構(220)內(即是在對應緩衝區(221_1))的後援緩衝區(218_1)的狀態設定為已接收,將含該返回封包的該請求封包儲存至該等結構(216)之一,並且在該返回封包內插入該返回封包的大小指示碼。在一態樣中,組塊(234)使用該後援緩衝區(例如後援緩衝區(218_1))內的該返回封包取代該請求封包。繼續 在步驟130執行該處理。
在步驟130,將該回應封包提供給複數個處理器核心(206_1-206_3)之一者。在一態樣中,當處理器核心(206_1)提供該查找交易請求給後援處理器單元(204),處理器核心(206_1)同時提供記憶體位址給要寫入該回應封包的返回碼組塊(234)。該位址可儲存在後援處理器單元(204)所指定的記憶體。在一樣態中,該位址儲存在結構(220)。返回碼組塊(234)將該回應封包寫入該提供的位址,例如使用一直接記憶體存取,並且將該結構(220)內後援緩衝區(218_1)(即是該對應緩衝區(221_1))之狀態設定為可用(FREE)。
在另一態樣中,在狀態指示為已接收之前,處理器核心(206_1)輪詢後援緩衝區(218_1)的狀態。在一態樣中,該輪詢以定期排程方式執行;在另一態樣中,當不執行較高優先權任務時,處理器核心(206_1)會輪詢該狀態。然後處理器核心(206_1)從後援緩衝區(218_1)擷取該回應封包。組塊(234)偵測該回應封包的擷取,並且將該結構(220)內的後援緩衝區(218_1)(即是該對應緩衝區(221_1))之狀態設定為可用(FREE)。
在另一態樣中,處理器核心(206_1)可在提供該查找交易請求給後援處理器單元(204)之後某時間上請求,返回碼組塊(234)將該回應封包寫入該提供的位址,例如使用一直接記憶體存取。為了可讓處理器核心(206_1)請求正確的回應封包,後援處理器單元(204)內一實體(例如控制邏輯(214))提供具不透明識別碼的處理器核心(206_1)。在一態樣中,該識別碼可包含括援緩衝區(218_1)的位址。一旦返回碼組塊(234)將該回應封包寫入該提供的位址,則返回碼組塊(234)將該結構(220)內後援緩衝區(218_1)(即是該 對應緩衝區(221_1))之狀態設定為可用(FREE)。
在一態樣中,提供該回應封包給產生該查找交易請求的處理器核心。在另一態樣中,提供該回應封包給來自產生該查找交易請求的該處理器核心之一不同處理器核心。處理器核心內的變更可達成,例如藉由請求的核心提供該讀取該資料表單的位址識別碼、或輪詢的該後援緩衝區識別碼,讓該處理器核心接收該回應封包。
上面揭露將該返回封包提供給該處理器核心之態樣可結合。藉由範例,該處理器核心可根據該第一態樣以請求返回封包,即是利用該處理器核心提供記憶體位址給要寫入的該回應封包,或根據第三態樣,即是該處理器核心在提供該查找交易請求之後某時間請求該回應封包。不過,該請求可能逾時,即是在預定時間內無法獲得該返回封包。後援處理器單元(204)內的一實體產生一回應,設定指示逾時的位元。在接收該逾時回應時,該處理器可使用上述任何態樣來再次請求該返回封包。因為該處理器核心不需要耗時等待回應,而是以較高優先順序執行任務,並且在不參與這種較高優先順序任務時取得回應,所以具減少資源消耗的優點。
在此已經提供本發明的許多態樣,讓精通此技術的人士可實踐本發明。熟悉技術人士應明白,這些態樣可進行許多修改,而且在不悖離本發明之精神或範疇,本說明書所揭示的概念可應用於其他態樣。因此,本發明並非受限於此處所示的態樣,而係符合本說明書所揭示之原理及新穎特徵相一致之最廣範疇。
因此藉由範例,精通技術人士將瞭解,因為特定步驟可加入 或非必要及/或根據特定實施可同時進行,所以流程圖非唯一的。藉由範例,當已停用該選擇性異常封包處理,則控制邏輯(214)接收該查找交易,且直接提供給複數個結構(216),不再需要步驟106、108。此外,該等步驟可同時或依序執行。此外,只要重新排列不會造成功能差異,該等步驟的順序可重新排列。
有關本發明所描述並且精通技術人士已知或稍後知道的許多例示邏輯組塊、模組、電路以及演算法步驟相同之所有結構與功能併入本文供參考,並且涵蓋在申請專利範圍內。這種例示的邏輯組塊、模組、電路及演算法步驟都可實施為電子硬體、電腦軟體或這兩者的組合。
精通技術人士應瞭解,可使用任何不同科技及技術代表資訊及信號。例如,以上說明中可能提及的資料、指令、命令、資訊、信號、位元、符號及晶片可由電壓、電流、電磁波、磁場或磁粒子、光場或磁粒子或任何其組合表示。
再者,不管申請專利範圍內是否明確引述本發明,本說明書所揭示內容都不專屬於公眾。
102-130‧‧‧步驟

Claims (22)

  1. 一種用於一後援處理器單元的資訊查找請求處理之方法,該方法包括:將一已接收的查找交易請求儲存在一第一緩衝區;將該查找交易請求重新建立在一請求封包;傳輸該請求封包;接收一封包;決定該已接收的封包是否包括一回應封包或一異常封包;及根據該決定以處理該已接收的封包。
  2. 如申請專利範圍第1項之方法,其中在一請求封包中重新建立該查找交易請求包括:將包含該第一緩衝區識別碼的一交易識別碼插入該請求封包。
  3. 如申請專利範圍第1項之方法,其中該決定該已接收的封包是否包括一回應封包或一異常封包,其包括:將該已接收封包內特定位元之三重值與三重值的一預定遮罩比較;當該比較未通過時,決定該已接收的封包為一回應封包;及當該比較通過時,決定該已接收的封包為一異常封包。
  4. 如申請專利範圍第1項之方法,其中根據該決定以處理該已接收封包,其包括:將對於一請求封包狀態的該回應封包內的一交易識別碼與一對應交易識別碼比較;當該狀態包括一第一狀態時,將該回應封包儲存在一第一儲存裝置 內;及當該狀態不包括一第一狀態時,將該回應封包儲存在一第二儲存裝置內。
  5. 如申請專利範圍第4項之方法,更包括:提供該異常封包在該第二儲存裝置。
  6. 如申請專利範圍第4項之方法,更包括:將該已儲存的回應封包寫入由複數個請求實體之一者所提供之一記憶體中的一位址。
  7. 如申請專利範圍第4項之方法,更包括:由複數個請求實體之一者輪詢該請求封包的該狀態;及當該請求封包的該狀態包括一第二狀態時,由複數個請求實體之一者請求該回應封包。
  8. 如申請專利範圍第4項之方法,更包括:在由複數個請求實體之一者或該等複數個請求實體之不同一者傳輸該查找交易請求之後,在一預定時間,由複數個請求實體之一者請求該回應封包。
  9. 一種用於在一後援處理器單元異常封包處理之方法,該方法包括:將至少一已接收的查找交易請求儲存在一第一緩衝區;接收一封包;決定該已接收的封包包括一異常封包;及根據該第一緩衝區的識別碼,將該異常封包與該至少一已儲存查找 交易請求之一者形成關聯性。
  10. 如申請專利範圍第9項之方法,其中根據該第一緩衝區的識別碼,將該異常封包與該至少一已儲存查找交易請求之一者形成關聯性包括:透過用於組織與操縱資料緩衝區的先進先出方法,將該異常封包與該至少一已儲存查找交易請求之一者形成關聯性。
  11. 如申請專利範圍第9項之方法,更包括:根據該關聯性,將該異常封包提供給複數個請求實體之一者。
  12. 一種用於資訊查找請求處理之裝置,包括:一控制邏輯,其設置成將一已接收的查找交易請求儲存在一第一緩衝區內;一裝置,用於將該查找交易請求重新建立在一請求封包;一傳輸器,其構成傳輸該請求封包;一接收器,其構成接收一封包;一比較器,其構成決定該已接收的封包是否包括一回應封包或一異常封包;及一處理裝置,用於根據該決定以處理該已接收的封包。
  13. 如申請專利範圍第12項之裝置,其中用於將該查找交易請求重新建立在一請求封包之裝置係構成:將包含該第一緩衝區識別碼的一交易識別碼插入該請求封包。
  14. 如申請專利範圍第12項之裝置,其中該比較器:將該已接收的封包內的特定位元之三重值與三重值的一預定遮罩 比較;當該比較未通過時,決定該已接收的封包為一回應封包;及當該比較通過時,決定該已接收的封包為一異常封包。
  15. 如申請專利範圍第12項之裝置,其中用於處理的該裝置包括:一第二比較器,用於將對於一請求封包狀態的該回應封包內的一交易識別碼與一對應交易識別碼比較;一第一儲存裝置,其構成當該狀態包括一第一狀態時,儲存該回應封包;及一第二儲存裝置,其構成當該狀態不包括該第一狀態時儲存該回應封包。
  16. 如申請專利範圍第15項之裝置,其中該第二儲存裝置進一步構成儲存該異常封包。
  17. 如申請專利範圍第15項之裝置,其中複數個請求實體之一者構成提供一記憶體內要寫入該已儲存回應封包的一位址。
  18. 如申請專利範圍第15項之裝置,其中複數個請求實體之一者構成:輪詢該請求封包的該狀態;及當該狀態包括一第二狀態時,請求該回應封包。
  19. 如申請專利範圍第15項之裝置,其中複數個請求實體之一者構成:在由該複數個請求實體之一者或該等複數個請求實體之不同一者傳輸該查找交易請求之後,在一預定時間,請求該回應封包。
  20. 一種用於在一後援處理器單元的異常封包處理之裝置,包括:一儲存裝置,其構成將至少一已接收的查找交易請求儲存在一第一 緩衝區內;一接收器,其構成接收一封包;一比較器,其構成決定該已接收的封包包括一異常封包;及一返回碼,其構成根據該第一緩衝區的一識別碼,將該異常封包與該至少一查找交易請求之一者形成關聯性。
  21. 如申請專利範圍第20項之裝置,其中該控制邏輯構成透過用於組織與操縱資料緩衝區的先進先出方法,將該異常封包與該至少一查找交易請求之一者形成關聯性。
  22. 如申請專利範圍第20項之裝置,其中該返回碼進一步構成使該儲存裝置根據該關聯性,提供該異常封包給複數個請求實體之一者。
TW103137160A 2013-12-27 2014-10-28 用於後援處理器單元的資訊查找請求處理或異常封包處理之方法及裝置 TWI652623B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/141,987 US9491099B2 (en) 2013-12-27 2013-12-27 Look-aside processor unit with internal and external access for multicore processors
US14/141,987 2013-12-27

Publications (2)

Publication Number Publication Date
TW201528142A true TW201528142A (zh) 2015-07-16
TWI652623B TWI652623B (zh) 2019-03-01

Family

ID=53483193

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103137160A TWI652623B (zh) 2013-12-27 2014-10-28 用於後援處理器單元的資訊查找請求處理或異常封包處理之方法及裝置

Country Status (5)

Country Link
US (1) US9491099B2 (zh)
KR (1) KR102126592B1 (zh)
CN (1) CN104750580B (zh)
HK (1) HK1207718A1 (zh)
TW (1) TWI652623B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8942258B2 (en) 2012-09-14 2015-01-27 International Business Machines Corporation Segmentation and reassembly of network packets for switched fabric networks
US11586439B2 (en) 2020-10-20 2023-02-21 Micron Technology, Inc. Detecting infinite loops in a programmable atomic transaction
US11740929B2 (en) 2020-10-20 2023-08-29 Micron Technology, Inc. Registering a custom atomic operation with the operating system
US11693690B2 (en) 2020-10-20 2023-07-04 Micron Technology, Inc. Method of completing a programmable atomic transaction by ensuring memory locks are cleared
US11403023B2 (en) * 2020-10-20 2022-08-02 Micron Technology, Inc. Method of organizing a programmable atomic unit instruction memory
US11436187B2 (en) 2020-10-20 2022-09-06 Micron Technology, Inc. Method of notifying a process or programmable atomic operation traps

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751696B2 (en) * 1990-04-18 2004-06-15 Rambus Inc. Memory device having a programmable register
US5265235A (en) * 1990-11-30 1993-11-23 Xerox Corporation Consistency protocols for shared memory multiprocessors
US5574849A (en) * 1992-12-17 1996-11-12 Tandem Computers Incorporated Synchronized data transmission between elements of a processing system
US6922753B2 (en) * 2002-09-26 2005-07-26 International Business Machines Corporation Cache prefetching
US20060050722A1 (en) * 2004-09-03 2006-03-09 James Bury Interface circuitry for a receive ring buffer of an as fabric end node device
JP4394670B2 (ja) * 2006-09-28 2010-01-06 株式会社日立製作所 ディスク制御装置及びストレージシステム
US20080235454A1 (en) * 2007-03-22 2008-09-25 Ibm Corporation Method and Apparatus for Repairing a Processor Core During Run Time in a Multi-Processor Data Processing System
US8429378B2 (en) 2010-07-06 2013-04-23 Qualcomm Incorporated System and method to manage a translation lookaside buffer
US8898430B2 (en) * 2012-12-05 2014-11-25 Arm Limited Fault handling in address translation transactions

Also Published As

Publication number Publication date
KR102126592B1 (ko) 2020-06-25
CN104750580A (zh) 2015-07-01
US20150188816A1 (en) 2015-07-02
US9491099B2 (en) 2016-11-08
TWI652623B (zh) 2019-03-01
KR20150077288A (ko) 2015-07-07
HK1207718A1 (zh) 2016-02-05
CN104750580B (zh) 2018-11-23

Similar Documents

Publication Publication Date Title
TWI652623B (zh) 用於後援處理器單元的資訊查找請求處理或異常封包處理之方法及裝置
US7263103B2 (en) Receive queue descriptor pool
US7152122B2 (en) Queue pair context cache
US10075567B1 (en) Packet generation in the data plane of a forwarding element
US8284802B2 (en) High performance memory based communications interface
US20170286157A1 (en) Work Conserving, Load Balancing, and Scheduling
US9396154B2 (en) Multi-core processor for managing data packets in communication network
US9253287B2 (en) Speculation based approach for reliable message communications
CN110741356A (zh) 多处理器系统中的中继一致存储器管理
US8972630B1 (en) Transactional memory that supports a put with low priority ring command
US20060047849A1 (en) Apparatus and method for packet coalescing within interconnection network routers
EP3758311B1 (en) Techniques to facilitate a hardware based table lookup
US8873550B2 (en) Task queuing in a multi-flow network processor architecture
KR20160117108A (ko) 다수의 링크된 메모리 리스트들을 사용하기 위한 방법 및 장치
US10397144B2 (en) Receive buffer architecture method and apparatus
US7293158B2 (en) Systems and methods for implementing counters in a network processor with cost effective memory
WO2022132278A1 (en) Network interface device with flow control capability
US20170063660A1 (en) Application-specific integrated circuit data flow entity counting
US10185675B1 (en) Device with multiple interrupt reporting modes
US9515929B2 (en) Traffic data pre-filtering
US9342313B2 (en) Transactional memory that supports a get from one of a set of rings command
US9282051B2 (en) Credit-based resource allocator circuit
WO2015165323A1 (zh) 一种数据处理方法、处理器及数据处理设备
US9338219B2 (en) Direct push operations and gather operations
US10228852B1 (en) Multi-stage counters