TWI411264B - 非阻塞式網路系統及其封包仲裁方法 - Google Patents
非阻塞式網路系統及其封包仲裁方法 Download PDFInfo
- Publication number
- TWI411264B TWI411264B TW097116160A TW97116160A TWI411264B TW I411264 B TWI411264 B TW I411264B TW 097116160 A TW097116160 A TW 097116160A TW 97116160 A TW97116160 A TW 97116160A TW I411264 B TWI411264 B TW I411264B
- Authority
- TW
- Taiwan
- Prior art keywords
- packet
- switching unit
- path
- network system
- high priority
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/501—Overload detection
- H04L49/503—Policing
Description
本發明係有關於通訊網路,尤指一種非阻塞式網路系統及其封包仲裁方法。
近年來積體電路技術快速地發展,系統單晶片(System-on-Chip,SoC)的應用日漸普遍,而晶片網路(Network-on-Chip,NoC)的架構也隨之發展出來,作為系統元件間的通訊基礎。由於晶片內元件數及頻寛的需求快速增加,元件間的介面採用點對點的標準協定,如開放核心協定(Open Core Protocol,OCP)和進階延伸介面(Advanced eXtensible Interface,AXI)協定,以提高工作頻率及資料傳輸率(throughput)。晶片網路的實體層利用點對點交握(point-to-point handshaking)進行資料流控制並分階段採用單向傳遞,而協定所提供的封包資訊則用來進行資料的傳輸,進而提供資料交換的品質服務(Quality of Service,QoS)功能。系統元件間藉由封包來進行資料交換,而隨著所涉及的系統元件或執行任務的不同,封包也具有不同的通訊需求。例如,為了達到高資料傳輸率,有些封包需避免傳遞過程有太多延遲,以盡快送達目的地;而有些封包則可容許傳遞過程有較多的延遲。
第1圖係先前技術之晶片網路的架構圖,其中,晶片網路10包含交換單元11、12、13、主裝置(master
device)14、15、16及從裝置(slave device)17。晶片網路10採用多層次連結(multi-level,switch-to-switch)的架構,以各個交換單元為中心,各自形成一群集(cluster)或通訊子系統,而交換單元11與12間、交換單元12與13間以及交換單元13與從裝置17間,則分別以共用之點對點單向之訊號路徑101、102及103來連結,以傳遞跨層的封包。各個交換單元可能會同時接收來自多個來源(包括主裝置或上一層之交換單元)之封包,而且訊號路徑101、102及103係共用,因此各個交換單元需要考量不同封包之通訊需求,來設定其封包仲裁(arbitration)策略,以仲裁出封包的傳送順序。然而,在第1圖之架構中,各交換單元間沒有交換通訊品質的訊息管道,而交換單元間又僅有單一共用之訊號路徑可傳遞封包,因此,對於上一層即將傳遞之需避免過多延遲的封包,或者對於上一層之訊號路徑即將發生的通訊阻塞,交換單元無法即時調整封包仲裁策略來因應。
另一方面,若為了避免單一訊號路徑會造成阻塞的問題,而使用多條訊號路徑,則會提高電路成本,並且不利於晶片佈局。
有鑑於此,本發明之一目的,在於提供一種非阻塞式網路系統及其封包仲裁方法,其可動態調整封包仲裁策略,以避免封包傳遞的阻塞。
在本發明之一實施例中,揭露了一種網路系統,其包含:一交換網路,包含至少第一交換單元及第二交換單元,第一交換單元與第二交換單元間具有第一路徑與第二路徑;一目標裝置,耦接至第二交換單元;以及一來源裝置,耦接至第一交換單元。該來源裝置在發出第一封包以經由第一路徑送至該目標裝置之前,預先發出第一封包之一對應封包標記(token),經由第二路徑送至第二交換單元,以告知第二交換單元第一封包即將通過第一路徑。第二交換單元依據該封包標記,動態調整其封包仲裁策略,以決定第一路徑上待傳送之第二封包之傳送順序。
在本發明之另一實施例中,揭露了一種網路系統,其包含:一交換網路,包含至少一交換單元及一耦接至該交換單元之緩衝器,該緩衝器產生一狀態訊號至該交換單元,該狀態訊號為一滿載訊號或一警示訊號;以及一目標裝置,耦接至該緩衝器及該交換單元。該交換單元將一待傳送之高優先權封包直接傳送至該目標裝置,並將一待傳送之低優先權封包傳送至該緩衝器暫存。該交換單元依據是否收到該狀態訊號,調整其封包仲裁策略,以決定該交換單元之待傳送封包之傳送順序。
在本發明之另一實施例中,揭露了一種封包仲裁方法,其係用於一網路系統。該網路系統包含至少第一交換單元及第二交換單元、一耦接於第一交換單元之來源裝置以及一耦接於第二交換單元之目標裝置。第一交換單元與第二交換單元間具有第一路徑與第二路徑。該封包仲裁方
法包含下列步驟:該來源裝置在發出第一封包前,發出第一封包之一對應封包標記,經由第二路徑送至第二交換單元,以告知第二交換單元第一封包即將通過第一路徑;以及第二交換單元依據該封包標記,動態調整其封包仲裁策略,以決定第一路徑上待傳送之第二封包之傳送順序。
在本發明之非阻塞式網路系統之一實施例中,網路系統包含多個交換單元,用以進行資料的交換與傳遞,而任兩個相連之交換單元間具有兩條訊號路徑,一條用來傳遞封包,另一條用來傳遞封包標記(token)(封包標記之意義後詳)。每個交換單元還可連接一或多個來源裝置或目標裝置。來源裝置係主裝置(master device),目標裝置係從裝置(slave device),來源裝置可發出封包,經由一或多個交換單元(在兩個交換單元間傳遞時係經由用來傳遞封包之路徑),送至某一目標裝置,以與該目標裝置進行通訊。每個交換單元包含路由(routing)單元及仲裁(arbitration)單元。路由單元可執行路由功能,以決定將封包(或封包標記)傳至哪個交換單元或目標裝置;仲裁單元可在交換單元同時收到某來源裝置或其他交換單元傳來之封包(或封包標記)時,執行仲裁功能,以決定這些封包(或封包標記)之傳送順序。
在任兩相連的交換單元間,若同時有多個封包需要通過封包傳遞路徑,就可能造成阻塞。特別是,有些具有高
優先權(high priority)的封包需要更快地到達目的地,因而需要優先傳送它們,若因封包傳遞路徑阻塞而無法儘快通過,就可能造成網路服務的品質降低,甚至產生運作上的問題。因此,在此實施例中,為避免此問題,來源裝置會在發出一封包前,預先發出一對應之封包標記,經由獨立的封包標記傳遞路徑傳送至該封包之預定傳遞路徑上的每個交換單元,以通知各個交換單元,在其封包的來源路徑上即將有某種特性的封包(如高優先權封包或低優先權封包)要通過,因此各交換單元可即時調整其封包仲裁策略,以因應即將到來的封包,而避免阻塞。例如,若即將到來的封包為高優先權封包,則交換單元需仲裁將其封包來源路徑上待傳送之低優先權封包先行傳送(否則有可能因為是低優先權封包而被延後處理),以使後續來到的高優先權封包可以不被前面的低優先權封包堵住,而能順利地盡快通過。值得注意的是,由於封包標記係利用獨立的訊號路徑傳遞,而且封包標記的大小相對於封包而言小很多,因此傳遞封包標記的速度可以很快,而且不會阻塞,因此能確實達到事先通知交換單元的功效;再例如,若交換單元經由封包標記得知其封包來源路徑有大量的封包即將通過,交換單元會仲裁提高該路徑的傳輸比重(即提高該路徑所配置之頻寬),使該路徑保持暢通。
本發明可應用於晶片網路,以避免晶片網路發生通訊阻塞。例如,在前述實施例中,網路系統為晶片網路,可包含多個來源裝置及目標裝置,分別耦接至某個交換單
元;來源裝置如直接記憶體存取器(DMA)、數位訊號處理器(DSP)、中央處理單元(CPU)、周邊DMA、LCD控制器或其他IP元件等,目標裝置如DRAM控制器或內部記憶體控制器(Internal Memory Controller)等。
第2圖係本發明之非阻塞式網路系統之另一實施例的架構圖,其中,非阻塞式網路系統20包含一交換網路21、來源裝置22、24及一目標裝置23。交換網路21包含交換單元211、212及215,交換單元211與212間具有一封包傳遞路徑213與一標記傳遞路徑214,交換單元215與212間具有一封包傳遞路徑216與一標記傳遞路徑217。來源裝置22、24分別耦接至交換單元211、215,目標裝置23耦接至交換單元212。來源裝置22可發出封包,經由交換單元211、封包傳遞路徑213及交換單元212傳送至目標裝置23,而來源裝置24可發出封包,經由交換單元215、封包傳遞路徑216及交換單元212傳送至目標裝置23。當封包傳遞路徑213與216上同時有封包等待傳送時,交換單元212執行仲裁,以決定先傳送哪條路徑上之封包。例如,若封包傳遞路徑213目前之待傳送封包為高優先權封包,而封包傳遞路徑216目前之待傳送封包為低優先權封包,則交換單元212先傳送封包傳遞路徑213上之封包。封包的傳遞可依據點對點通訊協定來進行,如OCP協定和AXI協定。每個封包包含一標頭(header),其格式如第3圖所示,其中標頭30包含一需求類型資訊(request type information)31、一來源識別碼32
及一目的位址33。需求類型資訊31記錄封包的通訊需求,來源識別碼32記錄封包是由哪個來源裝置所發出,目的位址33則記錄封包所要傳送之目的地,供交換單元211、212及215執行封包之路由。
當來源裝置22要發出一封包(以下稱為第一封包)至目標裝置23前,來源裝置22預先發出第一封包之一對應封包標記,經由標記傳遞路徑214送至交換單元212,以告知交換單元212第一封包即將通過封包傳遞路徑213。該封包標記係依據第一封包之標頭30產生,其格式如第4圖所示,其中封包標記40包含一權重識別碼41及一目標識別碼42。權重識別碼41係藉由分別抽取需求類型資訊31之一子集合及來源識別碼32之一子集合而組成,其中需求類型資訊31之該子集合可顯示第一封包的通訊需求類型(如高優先權或低優先權),來源識別碼32之該子集合則可顯示第一封包是由哪一群組之來源裝置(如頻寬需求高的群組)所發出。目標識別碼42係依據目的位址33解碼產生,可用來顯示第一封包要送至哪個目標裝置。
交換單元212在收到封包標記40後,可據以更新封包傳遞路徑213之一對應路徑權重。該路徑權重係用來記錄封包傳遞路徑213所累積之各種不同權重識別碼41之待傳送封包數;由前述可知,權重識別碼41可代表封包之屬性(如通訊需求類型或由哪一來源裝置群組所發出),因此路徑權重可顯示封包傳遞路徑213上,有多少不同屬性的封包等待交換單元212進行傳送。交換單元
212會依據封包標記40中之權重識別碼41,遞增路徑權重中屬於該權重識別碼之待傳送封包數。另一方面,後續交換單元212在傳送第一封包時,由於第一封包本身也包含與封包標記40相同之權重識別碼,交換單元212可據以遞減路徑權重中屬於該權重識別碼之待傳送封包數,以維持路徑權重的正確性。
在第一較佳實施例中,在封包標記40中,權重識別碼41所包含之需求類型資訊31之子集合包含一優先權層級資訊,以顯示第一封包之優先權層級。優先權層級可區分為高優先權層級及低優先權層級。相對應地,封包傳遞路徑213之對應路徑權重包含一高優先權權重值及一低優先權權重值,分別用以記錄封包傳遞路徑213上待傳送的高優先權封包數及低優先權封包數。在來源裝置22發出第一封包前,其所預先發出之封包標記40會使交換單元212依據第一封包是高優先權封包或低優先權封包,來遞增封包傳遞路徑213之對應路徑權重中之高優先權權重值或低優先權權重值。
同樣地,當來源裝置24要發出一封包至目標裝置23前,亦預先發出一對應封包標記,經由標記傳遞路徑217送至交換單元212,以告知交換單元212該封包即將通過封包傳遞路徑216。交換單元212在收到該對應封包標記後,亦可據以更新封包傳遞路徑216之對應路徑權重;而交換單元212後續在傳送該封包時,亦會更新封包傳遞路徑216之對應路徑權重。
藉由封包傳遞路徑213與216之對應路徑權重,交換單元212可得知封包傳遞路徑213與216上各種屬性之待傳送封包目前各有多少,據以調整封包仲裁策略;交換單元212依據調整後之封包仲裁策略,仲裁出封包傳送的順序,來傳送這些待傳送之封包。例如,在前述第一較佳實施例中,假設原本封包傳遞路徑213之對應路徑權重中,高優先權權重值為零而低優先權權重值不為零,表示封包傳遞路徑213有待傳送之低優先權封包,若來源裝置22所要發出之第一封包為高優先權封包,則其對應封包標記會使高優先權權重值遞增為一,表示封包傳遞路徑213後續將有高優先權封包要通過,因此,交換單元212調整封包仲裁策略,將原本封包傳遞路徑213上待傳送之低優先權封包視同於高優先權封包來進行傳送,因而可優先傳送該低優先權封包,以便高優先權之第一封包要通過封包傳遞路徑213時,不被前面之低優先權封包堵住。
在一實施例中,交換單元211包含一第一子交換單元,交換單元212包含一第二子交換單元,而交換單元215包含一第三子交換單元(圖未顯示);標記傳遞路徑214耦接於第一子交換單元與第二子交換單元之間,標記傳遞路徑217耦接於第二子交換單元與第三子交換單元之間。第一、第二及第三子交換單元僅用來處理封包標記40,因此,在交換網路21中,第一、第二與第三子交換單元及標記傳遞路徑214、217形成一獨立的子交換網路,用以處理及傳遞封包標記40,如此可提高封包標記
40的傳輸效率,避免阻塞。第一、第二及第三子交換單元可依據封包標記40內之目標識別碼42進行路由以傳遞封包標記40,而第二子交換單元並依據封包標記40,來更新封包傳遞路徑213、216之對應路徑權重。
在第二較佳實施例中,為了防止交換單元212至目標裝置23之路徑被阻塞,以致後續的高優先權封包無法優先通過,在交換單元212與目標裝置23間增設了緩衝區供低優先權封包暫存,並把緩衝區的狀態回覆給交換單元212,且另外提供一穿越路徑給高優先權的封包使用,如第5圖所示。第5圖中,當交換單元212要送出一高優先權封包時,會送出一控制訊號55至多工器52及解多工器53,使得該高優先權封包可以經由穿越路徑54直接送至目標裝置23;當要送出一低優先權封包時,所送出之控制訊號55則使多工器52將該低優先權封包轉送入緩衝器51暫存。緩衝器51可提供一狀態訊號56至交換單元212,以告知緩衝器51目前之狀態為何。在一實施例中,狀態訊號56為一滿載訊號或一警示訊號,該滿載訊號用以表示緩衝器51已滿載,無法再存入其他封包,例如,緩衝器51所暫存之資料量(或封包數)已高於第一臨界值;該警示訊號用以表示緩衝器51接近滿載,所剩空間不多,例如,緩衝器51暫存之資料量(或封包數)不高於第一臨界值且高於第二臨界值。
交換單元212可依據緩衝器51所提供之滿載訊號及警示訊號,來調整其封包仲裁策略,以避免交換單元212
至目標裝置23之穿越路徑54被阻塞。調整方式分述如下:
(1)當交換單元212收到滿載訊號時,由於此時緩衝器51已滿載,若再傳送低優先權封包,會造成阻塞,因此交換單元212將封包仲裁策略調整為只允許進行高優先權封包之傳送,亦即,高優先權封包可直接通過穿越路徑54至目標裝置23,低優先權封包則不允許傳送。
(2)當交換單元212收到警示訊號時,由於此時緩衝器51僅剩有限的空間,只能允許重要的低優先權封包進入緩衝器51。例如,如前文所述,若封包傳遞路徑213(或216)目前待傳送之封包為低優先權封包且路徑上即將通過高優先權封包,交換單元212為了避免該即將通過之高優先權封包被堵住,會將目前待傳送之低優先權封包視為高優先權封包來傳送,亦即,交換單元212在仲裁封包的傳送順序時,會將該目前待傳送之低優先權封包視同為高優先權封包。請注意,此種優先權的升級是暫時性的,僅限於此處傳送順序的調整,該獲得升級之封包仍舊是低優先權封包。此種獲得暫時性升級以避免堵住後續高優先權封包之低優先權封包,即為重要的低優先權包,可允許送入緩衝器51,其他不重要的低優先權封包,則不允許送入緩衝器51。因此,在收到警示訊號時,交換單元212將封包仲裁策略調整為只允許傳送高優先權封包或視同為高優先權封包之低優先權封包。
(3)當交換單元212未收到警示訊號及滿載訊號時,表示緩衝器51尚有充裕的空間可暫存低優先權封包,因
此交換單元212將封包仲裁策略調整為先傳送高優先權封包或視同為高優先權封包之低優先權封包,再傳送其他低優先權封包。
在一實施例中,於任兩個相連之交換單元間,亦配置有如第5圖所示之緩衝區及穿越路徑。以第2圖之架構為例,即封包傳遞路徑213與216上皆配置有緩衝單元及穿越路徑(圖未顯示),緩衝單元用以暫存低優先權封包,穿越路徑供高優先權封包直接通過;緩衝單元亦能在其暫存之低優先權封包數高於一警示值時,發出警示訊號至交換單元211與215。在此種情況下,緩衝單元所暫存之低優先權封包數即為封包傳遞路徑213(或216)之對應路徑權重中之低優先權權重值。為了避免緩衝單元超載,在前述第(2)點中,交換單元212對封包仲裁策略的調整,還包括”當封包傳遞路徑213(或216)之對應路徑權重中之低優先權權重值超過該警示值時,將封包傳遞路徑213(或216)上目前待傳送之低優先權封包(即暫存於緩衝單元之封包)暫時升級為高優先權封包,以優先進行傳送”。如此,封包傳遞路徑213(或216)上可空出更多的緩衝空間,以避免阻塞。
總之,交換單元212在進行封包傳送時,可同時參考其目的端的狀態(即緩衝器51的狀態)及來源端的狀態(即封包傳遞路徑213與216之對應路徑權重),動態調整封包仲裁策略,以使高優先權封包可在預期延遲的範圍內盡速送達目的地,避免發生通訊阻塞,進而實現品質服務
(QoS)之通訊網路。
第2圖之架構具有可延展性,可以延伸至包含更多交換單元的情形,其中任兩個相連之交換單元間各具有一封包傳遞路徑與一標記傳遞路徑,每個交換單元可耦接一或多個來源裝置或目標裝置。各交換單元在傳送封包時,可依據其來源端之各封包傳遞路徑之對應路徑權重及目的端之緩衝器狀態,動態調整封包仲裁策略,以避免通訊阻塞的情形發生。
第6圖係本發明之封包仲裁方法之一較佳實施例的流程圖,其中,該封包仲裁方法係用於本發明之網路系統,如第2圖及第5圖之架構。該封包仲裁方法包含下列步驟:
步驟60:來源裝置22(或24)在發出一封包前,發出該封包之一對應封包標記,經由標記傳遞路徑214(或217)送至交換單元212,以告知交換單元212該封包即將通過封包傳遞路徑213(或216)。
步驟61:交換單元212依據該封包標記,更新封包傳遞路徑213(或216)之一對應路徑權重。
步驟62:緩衝器51產生一狀態訊號至交換單元212。
步驟63:交換單元212依據封包傳遞路徑213與216之對應路徑權重以及是否收到該狀態訊號,動態調整其封包仲裁策略,以決定封包傳遞路徑213與216上待傳送封包之傳送順序。
由於上述步驟已於前文詳述,此處省略其說明。
以上所述係利用較佳實施例詳細說明本發明,而非限制本發明之範圍。大凡熟知此類技藝人士皆能明瞭,適當而作些微的改變及調整,仍將不失本發明之要義所在,亦不脫離本發明之精神和範圍。
10‧‧‧晶片網路
11、12、13、211、212、215‧‧‧交換單元
14、15、16‧‧‧主裝置
17‧‧‧從裝置
101、102、103‧‧‧訊號路徑
20‧‧‧網路系統
21‧‧‧交換網路
22、24‧‧‧來源裝置
23‧‧‧目標裝置
213、216‧‧‧封包傳遞路徑
214、217‧‧‧標記傳遞路徑
30‧‧‧封包標頭
31‧‧‧需求類型資訊
32‧‧‧來源識別碼
33‧‧‧目的位址
40‧‧‧封包標記
41‧‧‧權重識別碼
42‧‧‧目標識別碼
51‧‧‧緩衝器
52‧‧‧多工器
53‧‧‧解多工器
54‧‧‧穿越路徑
55‧‧‧控制訊號
56‧‧‧狀態訊號
60~63‧‧‧本發明之封包仲裁方法之一較佳實施例流程
第1圖係先前技術之晶片網路的架構圖。
第2圖係本發明之非阻塞式網路系統之一實施例的架構圖。
第3圖係本發明之實施例所使用之封包標頭格式的示意圖。
第4圖係本發明之實施例所使用之封包標記格式的示意圖。
第5圖係第2圖之交換單元與目標裝置間所配置之緩衝區與穿越路徑的方塊圖。
第6圖係本發明之封包仲裁方法之一較佳實施例的流程圖。
20‧‧‧網路系統
211、212、215‧‧‧交換單元
21‧‧‧交換網路
22、24‧‧‧來源裝置
23‧‧‧目標裝置
213、216‧‧‧封包傳遞路徑
214、217‧‧‧標記傳遞路徑
Claims (48)
- 一種網路系統,包含:一交換網路,包含至少一第一交換單元及一第二交換單元,該第一交換單元與該第二交換單元間具有一第一路徑與一第二路徑;一目標裝置,耦接至該第二交換單元;以及一來源裝置,耦接至該第一交換單元,該來源裝置在發出一第一封包以經由該第一路徑送至該目標裝置之前,預先發出該第一封包之一對應封包標記(token),經由該第二路徑送至該第二交換單元,以告知該第二交換單元該第一封包即將通過該第一路徑;其中,該第二交換單元依據該封包標記,動態調整一封包仲裁策略,以決定該第一路徑上一待傳送之第二封包之傳送順序。
- 如申請專利範圍第1項所述之網路系統,其中若該第一封包為一高優先權封包且該第二封包為一低優先權封包,則該封包仲裁策略將該第二封包視同為高優先權封包來決定其傳送順序。
- 如申請專利範圍第1項所述之網路系統,其中該封包標記包含該第一封包所對應之一第一權重識別碼;該第一路徑具有一對應之路徑權重,以顯示該第一路徑上屬於不同權重識別碼之待傳送封包數;該第二交換單元係依據該封包標記,更新該路徑權重。
- 如申請專利範圍第3項所述之網路系統,其中該第二交 換單元在後續傳送該第一封包時,更新該路徑權重。
- 如申請專利範圍第3項所述之網路系統,其中該第二交換單元係依據該第一路徑之該路徑權重,調整該封包仲裁策略。
- 如申請專利範圍第3項所述之網路系統,其中該第一交換單元包含一第一子交換單元,該第二交換單元包含一第二子交換單元,該第二路徑耦接於該第一子交換單元與該第二子交換單元之間,其中該第二子交換單元依據該封包標記,更新該路徑權重。
- 如申請專利範圍第3項所述之網路系統,其中該第一封包包含一標頭(header),該標頭包含一需求類型資訊、一來源識別碼及一目的位址。
- 如申請專利範圍第7項所述之網路系統,其中該封包標記係依據該第一封包之該標頭而產生。
- 如申請專利範圍第8項所述之網路系統,其中該第一封包所對應之該第一權重識別碼包含該需求類型資訊之一子集合。
- 如申請專利範圍第8項所述之網路系統,其中該第一權重識別碼包含該來源識別碼之一子集合。
- 如申請專利範圍第8項所述之網路系統,其中該封包標記還包含一目標識別碼,該目標識別碼係依據該目的位址解碼產生。
- 如申請專利範圍第9項所述之網路系統,其中該需求類型資訊之該子集合包含一優先權層級資訊,以顯示 該第一封包之一優先權層級。
- 如申請專利範圍第12項所述之網路系統,其中該優先權層級係一高優先權層級或一低優先權層級。
- 如申請專利範圍第13項所述之網路系統,其中該路徑權重包含一高優先權權重值,用以顯示該第一路徑之待傳送的高優先權封包數。
- 如申請專利範圍第14項所述之網路系統,其中該路徑權重還包含一低優先權權重值,用以顯示該第一路徑之待傳送的低優先權封包數。
- 如申請專利範圍第15項所述之網路系統,更包含:一緩衝器,耦接於該第二交換單元與該目標裝置之間,其中當該第二封包為低優先權封包時,該第二交換單元傳送該第二封包至該緩衝器暫存;當該第二封包為高優先權封包時,該第二交換單元裝置直接傳送該第二封包至該目標裝置。
- 如申請專利範圍第16項所述之網路系統,其中該緩衝器產生一狀態訊號至該第二交換單元,該狀態訊號為一滿載訊號或一警示訊號;該第二交換單元依據是否收到該狀態訊號,動態調整該封包仲裁策略。
- 如申請專利範圍第17項所述之網路系統,其中當該第二交換單元收到該滿載訊號時,該封包仲裁策略調整為只允許進行高優先權封包之傳送。
- 如申請專利範圍第17項所述之網路系統,其中當該第二交換單元未收到該滿載訊號時,若該路徑權重之該 高優先權權重值不為零且該第二封包為低優先權封包,該封包仲裁策略將該第二封包視同為高優先權封包來決定其傳送順序。
- 如申請專利範圍第17項所述之網路系統,其中當該第二交換單元收到該警示訊號時,該封包仲裁策略調整為只允許傳送高優先權封包或視同為高優先權封包之低優先權封包。
- 如申請專利範圍第17項所述之網路系統,其中當該第二交換單元未收到該狀態訊號時,該封包仲裁策略調整為先傳送高優先權封包或視同為高優先權封包之低優先權封包,再傳送其他低優先權封包。
- 如申請專利範圍第17項所述之網路系統,更包含:一緩衝單元,設置於該第一路徑,用以暫存該第一路徑上待傳送之低優先權封包;其中,若該路徑權重之該低優先權權重值高於一警示值且該第二封包為暫存於該緩衝單元之低優先權封包,則該封包仲裁策略將該第二封包視同為高優先權封包來決定其傳送順序。
- 如申請專利範圍第1項所述之網路系統,其中該網路系統係一晶片網路(Network-on-Chip)。
- 一種網路系統,包含:一交換網路,包含至少一交換單元及一耦接至該交換單元之緩衝器,該緩衝器產生一狀態訊號至該交換單元,該狀態訊號為一滿載訊號或一警示訊號;以 及一目標裝置,耦接至該緩衝器及該交換單元;其中,該交換單元將一待傳送之高優先權封包直接傳送至該目標裝置,並將一待傳送之低優先權封包傳送至該緩衝器暫存;其中,該交換單元依據是否收到該狀態訊號,調整一封包仲裁策略,以決定該交換單元之待傳送封包之傳送順序。
- 如申請專利範圍第24項所述之網路系統,其中當該交換單元收到該警示訊號時,該封包仲裁策略調整為只允許傳送高優先權封包或升級為高優先權封包之低優先權封包。
- 如申請專利範圍第24項所述之網路系統,其中當該交換單元收到該滿載訊號時,該封包仲裁策略調整為只允許進行高優先權封包之傳送。
- 如申請專利範圍第24項所述之網路系統,其中當該交換單元未收到該狀態訊號時,該封包仲裁策略調整為先傳送高優先權封包或升級為高優先權封包之低優先權封包,再傳送其他低優先權封包。
- 一種封包仲裁方法,係用於一網路系統,該網路系統包含至少一第一交換單元及一第二交換單元、一耦接於該第一交換單元之來源裝置以及一耦接於該第二交換單元之目標裝置,該第一交換單元與該第二交換單元間具有一第一路徑與一第二路徑,該封包仲裁方法 包含下列步驟:該來源裝置在發出一第一封包前,發出該第一封包之一對應封包標記(token),經由該第二路徑送至該第二交換單元,以告知該第二交換單元該第一封包即將通過該第一路徑;以及該第二交換單元依據該封包標記,動態調整一封包仲裁策略,以決定該第一路徑上一待傳送之第二封包之傳送順序。
- 如申請專利範圍第28項所述之封包仲裁方法,其中若該第一封包為一高優先權封包且該第二封包為一低優先權封包,則該封包仲裁策略將該第二封包視同為高優先權封包來決定其傳送順序。
- 如申請專利範圍第28項所述之封包仲裁方法,其中該封包標記包含該第一封包所對應之一第一權重識別碼;該第一路徑具有一對應之路徑權重,以顯示該第一路徑上屬於不同權重識別碼之待傳送封包數;該動態調整步驟包含:依據該封包標記,更新該路徑權重;以及依據該第一路徑之該路徑權重,調整該封包仲裁策略。
- 如申請專利範圍第30項所述之封包仲裁方法,更包含:該來源裝置發出該第一封包,經由該第一路徑送至該第二交換單元;以及該第二交換單元於傳送該第一封包時,更新該路徑權 重。
- 如申請專利範圍第30項所述之封包仲裁方法,其中該第一封包包含一標頭(header),該標頭包含一需求類型資訊、一來源識別碼及一目的位址。
- 如申請專利範圍第32項所述之封包仲裁方法,更包含:依據該第一封包之該標頭產生該封包標記。
- 如申請專利範圍第33項所述之封包仲裁方法,其中該第一封包所對應之該第一權重識別碼包含該需求類型資訊之一子集合。
- 如申請專利範圍第33項所述之封包仲裁方法,其中該第一封包所對應之該第一權重識別碼包含該來源識別碼之一子集合。
- 如申請專利範圍第33項所述之封包仲裁方法,其中該封包標記還包含一目標識別碼,該目標識別碼係依據該目的位址解碼產生。
- 如申請專利範圍第34項所述之封包仲裁方法,其中該需求類型資訊之該子集合包含一優先權層級資訊,以顯示該第一封包之一優先權層級。
- 如申請專利範圍第37項所述之封包仲裁方法,其中該優先權層級係一高優先權層級或一低優先權層級。
- 如申請專利範圍第38項所述之封包仲裁方法,其中該路徑權重包含一高優先權權重值,用以顯示該第一路徑之待傳送的高優先權封包數。
- 如申請專利範圍第39項所述之封包仲裁方法,其中該路徑權重還包含一低優先權權重值,用以顯示該第一路徑之待傳送的低優先權封包數。
- 如申請專利範圍第40項所述之封包仲裁方法,更包含:當該第二封包為低優先權封包時,傳送該第二封包至一緩衝器暫存;以及當該第二封包為高優先權封包時,直接傳送該第二封包至該目標裝置。
- 如申請專利範圍第41項所述之封包仲裁方法,更包含:該緩衝器產生一狀態訊號至該第二交換單元,其中該狀態訊號為一滿載訊號或一警示訊號;其中,該動態調整步驟還包含依據該第二交換單元是否收到該狀態訊號,動態調整該封包仲裁策略。
- 如申請專利範圍第42項所述之封包仲裁方法,其中當該第二交換單元收到該滿載訊號時,該封包仲裁策略調整為只允許進行高優先權封包之傳送。
- 如申請專利範圍第42項所述之封包仲裁方法,其中當該第二交換單元未收到該滿載訊號時,若該路徑權重之該高優先權權重值不為零且該第二封包為低優先權封包,該封包仲裁策略將該第二封包視同為高優先權封包來決定其傳送順序。
- 如申請專利範圍第42項所述之封包仲裁方法,其中當 該第二交換單元收到該警示訊號時,該封包仲裁策略調整為只允許傳送高優先權封包或視同為高優先權封包之低優先權封包。
- 如申請專利範圍第42項所述之封包仲裁方法,其中當該第二交換單元未收到該狀態訊號時,該封包仲裁策略調整為先傳送高優先權封包或視同為高優先權封包之低優先權封包,再傳送其他低優先權封包。
- 如申請專利範圍第42項所述之封包仲裁方法,更包含:將該第一路徑上待傳送之低優先權封包暫存於一緩衝單元;其中,若該路徑權重之該低優先權權重值高於一警示值且該第二封包為暫存於該緩衝單元之低優先權封包,則該封包仲裁策略將該第二封包視同為高優先權封包來決定其傳送順序。
- 如申請專利範圍第28項所述之封包仲裁方法,其中該網路系統係一晶片網路(Network-on-Chip)。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097116160A TWI411264B (zh) | 2008-05-02 | 2008-05-02 | 非阻塞式網路系統及其封包仲裁方法 |
US12/431,758 US20090274049A1 (en) | 2008-05-02 | 2009-04-29 | Non-blocked network system and packet arbitration method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097116160A TWI411264B (zh) | 2008-05-02 | 2008-05-02 | 非阻塞式網路系統及其封包仲裁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200947957A TW200947957A (en) | 2009-11-16 |
TWI411264B true TWI411264B (zh) | 2013-10-01 |
Family
ID=41257009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097116160A TWI411264B (zh) | 2008-05-02 | 2008-05-02 | 非阻塞式網路系統及其封包仲裁方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20090274049A1 (zh) |
TW (1) | TWI411264B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8325723B1 (en) * | 2010-02-25 | 2012-12-04 | Integrated Device Technology, Inc. | Method and apparatus for dynamic traffic management with packet classification |
US9294301B2 (en) * | 2012-09-20 | 2016-03-22 | Arm Limited | Selecting between contending data packets to limit latency differences between sources |
US20140092740A1 (en) * | 2012-09-29 | 2014-04-03 | Ren Wang | Adaptive packet deflection to achieve fair, low-cost, and/or energy-efficient quality of service in network on chip devices |
KR102014118B1 (ko) | 2012-10-19 | 2019-08-26 | 삼성전자주식회사 | Axi 기반 네트워크 백본 시스템의 서브채널방식의 채널 관리 방법 및 장치 |
US9866489B2 (en) * | 2014-07-11 | 2018-01-09 | F5 Networks, Inc. | Delayed proxy action |
CN105468459B (zh) | 2015-12-02 | 2019-03-12 | 上海兆芯集成电路有限公司 | 计算机资源控制器以及控制方法 |
US11113223B1 (en) * | 2018-04-03 | 2021-09-07 | Xilinx, Inc. | Dual mode interconnect |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177186A1 (en) * | 1998-11-13 | 2004-09-09 | Wingard Drew Eric | Communications system and method with multilevel connection identification |
US20050086404A1 (en) * | 2001-10-12 | 2005-04-21 | Wolf-Dietrich Weber | Method and apparatus for scheduling a resource to meet quality-of-service restrictions |
US20050138252A1 (en) * | 2003-12-23 | 2005-06-23 | Arm Limited | Transaction request servicing mechanism |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165094B2 (en) * | 2001-03-09 | 2007-01-16 | Sonics, Inc. | Communications system and method with non-blocking shared interface |
US7289500B1 (en) * | 2003-07-17 | 2007-10-30 | Novell, Inc. | Method and system for reliable multicast data transmission |
US7665069B2 (en) * | 2003-10-31 | 2010-02-16 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
-
2008
- 2008-05-02 TW TW097116160A patent/TWI411264B/zh active
-
2009
- 2009-04-29 US US12/431,758 patent/US20090274049A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177186A1 (en) * | 1998-11-13 | 2004-09-09 | Wingard Drew Eric | Communications system and method with multilevel connection identification |
US20050086404A1 (en) * | 2001-10-12 | 2005-04-21 | Wolf-Dietrich Weber | Method and apparatus for scheduling a resource to meet quality-of-service restrictions |
US20050138252A1 (en) * | 2003-12-23 | 2005-06-23 | Arm Limited | Transaction request servicing mechanism |
Also Published As
Publication number | Publication date |
---|---|
TW200947957A (en) | 2009-11-16 |
US20090274049A1 (en) | 2009-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7260661B2 (en) | Processing replies to request packets in an advanced switching context | |
KR100883405B1 (ko) | 공유된 속성들에 근거하여 압축된 큐 쌍으로부터 다중의가상 큐 쌍들을 생성하는 장치 | |
US7239636B2 (en) | Multiple virtual channels for use in network devices | |
US6912604B1 (en) | Host channel adapter having partitioned link layer services for an infiniband server system | |
TWI411264B (zh) | 非阻塞式網路系統及其封包仲裁方法 | |
US8782321B2 (en) | PCI express tunneling over a multi-protocol I/O interconnect | |
US6999462B1 (en) | Mapping layer 2 LAN priorities to a virtual lane in an Infiniband™ network | |
US20040252685A1 (en) | Channel adapter with integrated switch | |
US11956154B2 (en) | System for avoiding layer 2 network congestion | |
US7082138B2 (en) | Internal communication protocol for data switching equipment | |
US11283734B2 (en) | Minimizing on-die memory in pull mode switches | |
US20060050693A1 (en) | Building data packets for an advanced switching fabric | |
US20090046735A1 (en) | Method for providing prioritized data movement between endpoints connected by multiple logical channels | |
US20100002714A1 (en) | PCI express network | |
US20080059686A1 (en) | Multiple context single logic virtual host channel adapter supporting multiple transport protocols | |
JP2013534103A (ja) | 少なくとも部分的なフレーム送信の割り込み | |
US20060050722A1 (en) | Interface circuitry for a receive ring buffer of an as fabric end node device | |
US11165705B2 (en) | Data transmission method, device, and computer storage medium | |
US6678782B1 (en) | Flow architecture for remote high-speed interface application | |
US11593281B2 (en) | Device supporting ordered and unordered transaction classes | |
US6904545B1 (en) | Fault tolerant computing node having multiple host channel adapters | |
US7613821B1 (en) | Arrangement for reducing application execution based on a determined lack of flow control credits for a network channel | |
US7085869B1 (en) | Arrangement for managing transmitted packets requiring acknowledgement in a host channel adapter | |
TW202236104A (zh) | 整合計算元件之間的信息通訊 | |
CN101594291B (zh) | 非阻塞式网络系统及其分组仲裁方法 |