TWI402688B - 高速pci資料鏈結層傳輸器及其傳輸方法與操作方法、優先權分配方法以及優先權系統 - Google Patents
高速pci資料鏈結層傳輸器及其傳輸方法與操作方法、優先權分配方法以及優先權系統 Download PDFInfo
- Publication number
- TWI402688B TWI402688B TW098126782A TW98126782A TWI402688B TW I402688 B TWI402688 B TW I402688B TW 098126782 A TW098126782 A TW 098126782A TW 98126782 A TW98126782 A TW 98126782A TW I402688 B TWI402688 B TW I402688B
- Authority
- TW
- Taiwan
- Prior art keywords
- priority
- data link
- packet
- link layer
- layer packet
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5679—Arbitration or scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明關於序列式資料鍊結傳輸之優先權排程,尤指應用於高速PCI之序列式互連架構。
近年來,被設計作為電腦系統中組件之資料轉移使用之高速週邊元件互連(Peripheral Component Interconnect,PCI),已被廣泛的應用於高速序列式鍊結輸入輸出(I/O)互連。高速PCI是一種序列式匯流排,與並列式匯流排相較,該種類之匯流排得以較少的針腳數目提供更高的效能,因此高速PCI便被用來以取代並列式的PCI與PCI-X匯流排規格。有關於高速PCI的說明,請參見由PCI特殊利益團體(Special Interest Group,SIG)所管理與散布的高速PCI規格書。
於高速PCI架構中,高速PCI裝置具有三個不連續的邏輯層,即,一交換層(Transaction Layer)、一資料鍊結層(Data Link Layer)與一實體層(Physical Layer),且各邏輯層分別具有一個傳輸部與一個接收部。於序列式鍊結上,高速PCI利用封包作為組件間之資訊溝通使用,這些封包包括由資料鍊結層產生並消耗之資料鍊結層封包(data link layer packets,DLLPs),以及由交換層產生並消耗之交換層封包(transaction layer packets,TLPs)。作為管理序列式資料鍊結使用的是資料鍊結層封包,其包含不同種類,例如:與初始化、序列式鍊結之流程控制、功率管理等相關之資料鍊結層封包;而交換層封包則作為組件彼此間溝通交易使用,例如資料的讀取與寫入交易及該等種類之事件。
不同種類之多個資料鍊結層封包及交換層封包可能排在同時傳輸。高速PCI資料鍊結層包含一仲裁器,藉由該仲裁器對傳輸的封包進行優先權排序。該仲裁器依照一個優先權規則決定第一個傳輸的封包。原則上,該優先權規則必須確保:所有封包均能於一定期間內完成傳輸,且不會被其他種類的封包所阻礙。該優先權規則可能影響一高速PCI鍊結上的傳輸效能,舉例而言,倘若一個優先權規則分配一確認(Ack)資料鍊結層封包一相對較低的傳輸優先權,則該確認資料鏈結層封包會等待其他交換層封包之傳輸,若於該等待期間內,針對另一個接收的交換層封包又排了另一個確認封包,依據高速PCI的規格書的作法,此時僅需要傳輸第二個確認資料鍊結層封包,因為第二個確認資料鍊結層封包提供的資訊,得用以取代第一個確認資料鍊結層封包的資訊。亦即,這些確認資料鍊結層封包被重整成為一個確認資料鍊結層封包,藉此得以有效率的利用頻寬。另一方面,倘若該優先權規則,分配一最高優先權給確認資料鍊結層封包傳輸,則每接收到交換層封包,便要傳輸確認資料鍊結層封包一次,這將喪失重整確認資料鍊結層封包的效益,而造成傳輸頻寬的浪費,這個例子說明了優先權規則可能影響傳輸的效能的事實。
高速PCI基本規格書第1.1修訂版本指定了一個建議使用之傳輸排程的優先權規則,如下所述:
1.完成目前處理中的任何交換層封包或資料鍊結層封包的傳輸(最高優先權);
2.否認(Nak)資料鍊結層封包傳輸;
3.於接收一重複的交換層封包,或確認延遲(latency)計時器時間屆滿時,儘速進行傳輸確認資料鍊結層封包傳輸;
4.流程控制資料鍊結層封包傳輸(updateFC);
5.重試緩衝區之再傳輸;
6.交換層的交換層封包;
7.流程控制資料鍊結層封包傳輸(initFC1及initFC2);
8.所有其他的資料鍊結層封包傳輸(最低優先權)。
高速PCI基本規格書所載之建議優先權規則,在一根聯合體(root complex,RC)牽連至更複雜的交換行為時缺乏彈性,且該建議優先權規則在某些情形可能導致系統效能低落。
本發明的一個目的,係提供一種高速PCI資料鍊結層傳輸器,自多個排程交換層封包及資料鍊結層封包中選擇封包,於一高速PCI資料鍊結上進行傳輸,該資料鍊結層傳輸器包含複數個仲裁器,其中每一個仲裁器使用不同的優先權規則,依據該多個排程交換層封包及資料鍊結層封包之種類,自該多個排程交換層封包及資料鍊結層封包中選擇一封包。該資料鍊結層傳輸器裝置亦包含一選擇器,耦接至該複數個仲裁器,該選擇器用以自該複數個仲裁器中選擇一仲裁器,以便自該多個排程交換層封包及資料鍊結層封包中選擇該封包,於該高速PCI資料鍊結上進行傳輸。
根據上述構想,該資料鍊結層傳輸器包含一可程式化之儲存元件,其係提供一數值予該選擇器,以控制該選擇器自該複數個仲裁器中選擇該仲裁器。
根據上述構想,至少一第一仲裁器所使用之優先權規則,令交換層封包之優先權高於確認/否認資料鍊結層封包之優先權;以及至少一第二仲裁器所使用之優先權規則,令確認/否認資料鍊結層封包之優先權高於交換層封包之優先權。
根據上述構想,至少一第一仲裁器,其係使交換層封包之優先權高於確認/否認資料鍊結層封包之優先權以及更新流程控制資料鍊結層封包之優先權;至少一第二仲裁器,其係使確認/否認資料鍊結層封包之優先權,高於該交換層封包之優先權以及更新流程控制資料鍊結層封包之優先權;以及至少一第三仲裁器,其係使更新流程控制資料鍊結層封包之優先權,高於交換層封包之優先權以及確認/否認資料鍊結層封包之優先權。
本發明的另一目的,係提供一種傳輸方法,應用於一高速PCI資料鍊結層傳輸器,藉由一高速PCI資料鍊結傳輸交換層封包及資料鍊結層封包,該傳輸方法包括步驟:由複數個不同的優先權規則中選擇一優先權規則,該複數個不同的優先權規則使得每種交換層封包及資料鍊結層封包具有不同的優先權。該操作方法亦包含步驟:使用該選擇之優先權規則,於多個排程交換層封包及資料鍊結層封包中,選擇一交換層封包或資料鍊結層封包,於該高速PCI資料鍊結上進行傳輸。
本發明的又一目的,係提供一種高速PCI資料鍊結層傳輸器的操作方法,於一高速PCI資料鍊結上傳輸交換層封包及資料鍊結層封包,該方法包含步驟:該資料鍊結傳送器使用複數個不同優先權規則以便自多個排程高速PCI交換層封包及資料鍊結層封包中進行選擇,預測其中之一優先權規則能產生最佳效能,以便於該資料鏈結上進行排程傳輸,其中對於不同種類的該多個排程交換層封包及資料鍊結層封包,每一個優先權規則會分配不同的優先權。該操作方法亦包含步驟:程式化該資料鍊結層傳輸器,使其應用該預測的優先權規則,藉以自該多個排程高速PCI交換層封包及資料鍊結層封包中進行選擇。
本發明描述之實施例提供一個高速PCI資料鍊結層傳輸器以解決前述之效能問題,該傳輸器定義了複數個(於一實施例中為七個)優先權規則供排程傳輸(封包)使用。該資料鍊結層傳輸器包含一個可程式化的控制暫存器(於一實施例中為三位元暫存器),用以選擇該複數個優先權規則之一,以便選擇下一個傳輸封包。每一個優先權規則可針對特定交換型態而提昇效能。舉例而言,一個高檔的3D高速PCI顯示卡,對於一個高速PCI根聯合體(Root Complex,RC)提出需求時,將需要大規模的上游記憶體讀取(memory read,Mrd)週期(cycle)。為了達到較佳的傳輸效能,該根聯合體需要傳輸背對背(back-to-back)之完成交換層封包。因此,在一個使用大量上游記憶體讀取週期的交換型態中,資料鍊結層傳輸器可以從複數個優先權規則中選擇,使交換層封包的傳輸優先權較資料鍊結層封包的傳輸優先權為高,以增加交換層封包的背對背完成發生之可能性,並可以減少因為確認/否認資料鍊結層封包傳輸,導致中斷交換層封包的背對背完成的情況發生。習知技術中,資料鍊結層傳輸器採用高速PCI基本規格書所建議的單一優先權規則,而本發明提供自多個優先權規則中進行選擇的技術,可以大大地提昇其效能。
請參考第一圖,其為依據本發明所使用之高速PCI裝置100之方塊圖,該高速PCI裝置100可以使用於高速PCI之根聯合體、端點、交換元件、或橋接器。該高速PCI裝置100包含一交換層傳輸器102,其耦接於一資料鍊結層傳輸器104,另包含一實體層傳輸器106,其耦接於該資料鍊結層傳輸器104;該高速PCI裝置100亦包含一個交換層接收器112,其耦接於一資料鍊結層接收器114,另包含一實體層接收器116,其耦接於該資料鍊結層接收器114。該實體層傳輸器106及該實體層接收器116分別耦接至該高速PCI序列式鍊結122,可與連接至該序列式鍊結112另外一端之另一個高速PCI裝置進行傳送或接收高速PCI封包(資料鍊結層封包及交換層封包)之行為。
高速PCI規格書載明高速PCI架構包含三個不連續的邏輯層,即交換層、資料鍊結層與實體層,且各邏輯層分別具有一個傳輸部與一個接收部。關於這三個邏輯層不同功能之詳細說明,請參見高速PCI規格書。元件102至元件116配合這些邏輯層並進行高速PCI規格書所描述之功能,不同的是,在高速PCI規格書中,資料鍊結層傳輸器僅使用一個優先權規則來選擇要傳輸的封包,本發明作法則不然。請參見第一圖,本發明對於高速PCI規格書之資料鍊結層傳輸器104進行修改,使資料鍊結層傳輸器104不但可以使用複數優先權規則中的一個優先權規則,從多個排程之資料鍊結層封包與交換層封包中選擇要傳輸的封包,更可以自行選擇該優先權規則。更有利的是,用以選擇封包的優先權規則,其選擇係在高速PCI裝置100的操作過程中動態決定的,該選擇方式則是透過程式化一個控制暫存器指定所要使用的優先權規則。
儘管第一圖中的元件102-116是以邏輯元件的方式描述,在實施例中可透過一硬體電路實現該功能,在其他實施例中,可以藉由一個或多個可程式化之處理器,以執行儲存程式的方式實現其部分功能。
請參見第二圖,其係第一圖之高速PCI裝置100的部分元件方塊圖,特別是第一圖中的高速PCI資料鍊結層傳輸器104。該高速PCI裝置100包含一排程封包池202,該排程封包池202包含所有由交換層傳輸器102與資料鍊結層傳輸器104產生的交換層封包及資料鍊結層封包,所有封包於該序列鍊結122上已備妥即將傳輸。於一實施例中,該排程封包池202包含複數個排程封包隊伍,每一個隊伍持有一封包種類之排程封包。具體而言,各隊伍之封包種類對應於以下所討論的複數個優先權規則所指定的封包種類。舉例而言,於一實施例中,對於下述表一所指定的封包種類均有一個對應的排程封包隊伍,因為表一的第一優先權規則將表二至表七中認為相同種類的封包區分成兩種封包,所以表一實際上為表二至表七所列之不同封包種類之超集合。於一實施例中,在同一個排程封包隊伍裡的封包,其相同種類封包以先進先出的方式進行傳輸。
該資料鍊結層傳輸器104包含複數個優先權規則仲裁器204-1、204-2、204-3、204-4、204-5、204-6及204-7,下面統稱為優先權規則仲裁器204或仲裁器204。每一個仲裁器204均得檢視該排程封包池202的內容,並依據個別仲裁器所對應之優先權規則,自該排程封包池202選擇一個封包準備於序列鍊結122上進行傳輸。於一實施例中,仲裁器204-1使用表一之第一優先權規則;仲裁器204-2使用表二之第二優先權規則;仲裁器204-3使用表三之第三優先權規則;仲裁器204-4使用表四之第四優先權規則;仲裁器204-5使用表五之第五優先權規則;仲裁器204-6使用表六之第六優先權規則;仲裁器204-7使用表七之第七優先權規則。每一個仲裁器204由個別的輸出端224-1至224-7輸出其選定之封包,輸出端224-1至224-7將統稱為輸出端224。
該資料鍊結層傳輸器104亦包含一個七對一多工器206,該多工器206之七個輸入端分別連接至該七個仲裁器之個別輸出端224-1至224-7。一個控制暫存器208提供一控制信號226至該多工器206之控制輸入端,透過其控制,選擇由輸入端224-1至224-7其中的一個作為該多工器206之輸出,作為最終允許之傳輸212,即,將在資料鍊結122上傳輸之封包。於一實施例中,該控制暫存器208係為三位元之暫存器,其可以記錄經編碼過的數值,用以選擇仲裁器204之一特定輸出224。於一實施例中,該控制暫存器208是可程式化的,得以在該高速PCI裝置100的操作過程中,動態選擇某個優先權規則,於說明第四圖時將提供更進一步的討稐。
第二圖中的七個優先權規則仲裁器204使用表一至表七的七個優先權規則。關於個別封包種類之定義請參見高速PCI基本規格書修訂版本1.1,以下僅簡要說明個別封包種類之意義。
1.流程控制資料鍊結層封包傳輸,其係供初始化流程控制使用之資料鍊結層資料封包,例如initFC1與initFC2。
2.功率管理資料鍊結層封包傳輸,其係供功率狀態進入使用之資料鍊結層封包,例如PM_Enter_L1、PM_Enter_L23及PM_Active_State_Request_L1。
3.流程控制資料鍊結層封包傳輸,例如UpdateFC是供更新流程控制使用的資料鍊結層封包。
4.功率管理資料鍊結層封包傳輸,PM_Request_Ack是供確認該功率管理資料鍊結層封包傳輸使用之資料鍊結層封包。
請參考第三圖之流程圖,用以解釋第二圖中,本發明之高速PCI資料鍊結層傳輸器104之操作。該流程自步驟302開始。
於步驟302中,該資料鍊結層傳輸器104準備好要在第一圖所示之高速PCI序列式鍊結122上傳輸一個封包(即,來自排程封包池202之資料鍊結層封包或交換層封包)。普遍說來,該資料鍊結層傳輸器104可如其所願的進行傳輸,但在某些情況,如初始化或流程控制限制下,會要求該資料鍊結層傳輸器104先等待後,再傳輸封包。接著流程進入至步驟304。
於步驟304中,第二圖中的每一個仲裁器204,均對封包池202中準備排程傳輸的封包進行檢查,並各自選擇其中一個封包進行傳輸。每一個仲裁器204均使用個別的優先權規則(如上述表一至表七中的任一個優先權規則)來選擇封包。每一個仲裁器204透過個別的輸出端224-1至224-7輸出其選定之封包給多工器206。接著流程進入至步驟306。
於步驟306中,該多工器206自輸入224-1至224-7中擇一作為最終允許傳輸之封包212。具體而言,依據控制暫存器208的輸出206,藉以指定傳輸之封包為224-1至224-7的其中一個,作為該多工器206選擇的最終允許傳輸的封包212。流程結束於步驟306。
請參見第四圖之流程圖,其繪示依據本發明第二圖的控制暫存器208之可程式化流程。該流程自步驟402開始。
於步驟402中,依據如第二圖中資料鍊結層傳輸器104即將於序列式鍊結122上傳輸的混合或串流形態的封包種類,一個元件預測前述表一至表七中的某一優先權規則可提供最高效能。該預測元件可能為系統軟體,例如在系統CPU上執行的裝置驅動程式;該預測元件可能是成對之高速PCI裝置,藉由序列式鍊結122耦接至第一圖中的高速PCI裝置100,例如一影像控制器、一儲存裝置控制器、一網路介面控制器等;該預測元件亦可能是用以控制該成對高速PCI裝置的軟體。舉例而言,第一圖中的高速PCI裝置100,可為一根聯合體,耦接至一高速PCI影像卡及影像控制器;或為一控制該影像控制器的軟體,知道該影像控制器即將請求該根聯合體進行傳輸,傳輸大量的記憶體讀取完成交換層封包至該影像控制器。此外,針對主要為交換層封包(如記憶體讀取完成交換層封包)的封包串流,該影像控制器或控制該影像控制器之軟體知道在表一至表七中的特定優先權規則可能產生最佳之效能。流程繼續進行至步驟404。
請見步驟404,針對該資料鍊結層傳輸器104即將執行的混合封包種類傳輸,該預測元件以特定的數值程式化第二圖之控制暫存器208,選擇具有最佳效能之優先權規則。流程結束於步驟404。
經由上述的說明可以得知,與一個僅使用單一優先權規則的高速PCI資料鍊結層傳輸器相比較,本發明具有從複數個優先權規則中進行選擇的能力,以便自不同種類之多個資料鍊結層封包與交換層封包中選擇進行傳輸之封包,此彈性之作法可促進較佳的效能。這樣的方式,特別適用於一些情形,即,高速PCI根聯合體牽涉複雜的傳輸串流,以及/或不同種類的高速PCI端點裝置等情形。
儘管上述的各實施例中,高速PCI資料鍊結層傳輸器的控制暫存器係透過耦接至根聯合體的CPU進行程式化的動作,該高速PCI資料鍊結層傳輸器亦可能包含一高速PCI從屬端介面,用以接受PCI設定寫入週期,使其他的高速PCI主控端得以程式化該控制暫存器。再者,上述實施例雖說明高速PCI資料鍊結層傳輸器位於一高速PCI裝置上的根聯合體內,該資料鍊結層傳輸器更可以應用於任何高速PCI裝置內,包括高速PCI之端點、交換元件或橋接器。更進一步而言,儘管上述實施例說明該高速PCI資料鍊結層傳輸器使用一特定數目之優先權規則(於一實施例中,該數目為七),但亦可考慮其他數目之優先權規則,本發明並不限制該數目。最後,儘管上述實施例說明了數種優先權規則,但本發明並不限於上述之特定優先權規則,亦可考慮其他的優先權規則。
雖然本發明以較佳實施例揭露如上,然其僅用於說明而非限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種更動與潤飾。舉例而言,軟體可用以提供裝置與方法的功能、組建、模化、模擬、描述及/或測試。這可以透過一般的程式語言(例如:C、C++)、硬體描述語言(hardware description language,HDL)如Verilog HDL、VHDL等,或其他可能的程式。此類軟體可被放置於任何已知的電腦使用媒介,例如一半導體,一磁碟或一光碟片(例如:CD-ROM,DVD-ROM等)。本發明所描述之裝置與方法實施例可能包含在半導體智慧財產核心,例如一個微處理器核心或晶片組核心(如:透過硬體描述語言實現),而轉換為積體電路製程的硬體。此外,本發明之裝置與方法可能透過一硬體與軟體的組合實現。因此本發明之保護範圍不應限制於上述作為範例使用之最佳實施例,而當視後述申請專利範圍所定義及其均等要件為準。具體而言,本發明可以應用於一般電腦系統中的微處理器裝置或晶片組裝置。最後,熟知此技藝者可應用本發明所揭露的觀念與特定實施例,設計或修改其他架構達成與本發明相同目的,仍不脫如附申請專利範圍所定義之範疇。
102...交換層傳輸器
104...資料鍊結層傳輸器
106...實體層傳輸器
112...交換層接收器
114...資料鍊結層接收器
116...實體層接收器
122...高速PCI序列式鍊結
202...排程封包池
204-1~204-7...仲裁器
206...多工器
208...控制暫存器
212...最終允許傳輸
224-1~224-7...仲裁器輸出
本案得藉由下列圖式及說明,俾得更深入之了解:
第一圖,其係為本發明之高速PCI裝置方塊圖。
第二圖,其係為本發明第一圖所示之高速PCI裝置的部分元件方塊圖,特別是第一圖中的高速資料鍊結層傳輸器。
第三圖,其係為本發明第二圖所示之高速資料鍊結層傳輸器的操作流程圖。
第四圖,其係為說明本發明實施例中程式化第二圖所示之控制暫存器的流程圖。
104...資料鍊結層傳輸器
202...排程封包池
204-1~204-7...仲裁器
206...多工器
208...控制暫存器
212...最終允許傳輸
224-1~224-7...仲裁器輸出
Claims (38)
- 一種高速PCI資料鍊結層傳輸器,自多個排程交換層封包及資料鍊結層封包中選擇封包,經由一高速PCI資料鍊結傳輸至一高速PCI裝置,該資料鍊結層傳輸器包含:複數個仲裁器,每一個該仲裁器使用不同的優先權規則,依據該多個排程交換層封包及資料鍊結層封包之種類,自該多個排程交換層封包及資料鍊結層封包中選擇一封包;以及一選擇器,耦接至該複數個仲裁器,該選擇器用以自該複數個仲裁器中選擇一仲裁器,以便自該多個排程交換層封包及資料鍊結層封包中選擇該封包,於該高速PCI資料鍊結上進行傳輸;以及一儲存元件,耦接至該選擇器,其係被程式化以提供一數值予該選擇器,以控制該選擇器自該複數個仲裁器中選擇該仲裁器,其中該高速PCI裝置係依據該多個排程交換層封包及資料鍊結層封包之種類程式化該儲存元件。
- 如申請專利範圍第1項所述之高速PCI資料鍊結層傳輸器,其中該儲存元件係可於該資料鍊結層傳輸器的操作過程中進行程式化。
- 如申請專利範圍第1項所述之高速PCI資料鍊結層傳輸器,其中該複數個仲裁器的數目多於四個。
- 如申請專利範圍第1項所述之高速PCI資料鍊結層傳輸器,其中於該複數個仲裁器中:至少一第一仲裁器所使用之優先權規則,令交換層封 包之優先權高於確認/否認資料鍊結層封包之優先權;以及至少一第二仲裁器所使用之優先權規則,令該確認/否認資料鍊結層封包之優先權高於該交換層封包之優先權。
- 如申請專利範圍第1項所述之高速PCI資料鍊結層傳輸器,其中該多個排程交換層封包及資料鍊結層封包至少包含以下三個種類:一第一種類封包,係為交換層封包;一第二種類封包,係為確認/否認資料鍊結層封包;以及一第三種類封包,係為更新流程控制資料鍊結層封包,其中該複數個仲裁器包括至少一第一仲裁器、一第二仲裁器及一第三仲裁器;該第一仲裁器所使用之優先權規則,係使該第一種類封包之優先權高於該第二種類封包之優先權以及該第三種類封包之優先權;該第二仲裁器所使用之優先權規則,係使該第二種類封包之優先權,高於該第一種類封包之優先權以及該第三種類封包之優先權;以及該第三仲裁器所使用之優先權規則,係使該第三種類封包之優先權,高於該第一種類封包之優先權以及該第二種類封包之優先權。
- 如申請專利範圍第1項所述之高速PCI資料鍊結層傳輸器,其中該多個排程交換層封包與資料鍊結層封包至少包含以下三個種類:一第一種類封包,係為交換層封包; 一第二種類封包,係為確認/否認資料鍊結層封包;以及一第三種類封包,係為更新流程控制資料鍊結層封包,且依據該第一種類封包、該第二種類封包及該第三種類封包之相對優先權,更可以產生六種可能相對優先權之組合;其中該複數個仲裁器包含至少六個仲裁器;其中該至少六個仲裁器使用不同的優先權組合,根據該六種可能相對優先權之組合,排定該多個排程交換層封包及資料鍊結層封包之優先權。
- 如申請專利範圍第1項所述之高速PCI資料鍊結層傳輸器,其中於該複數個仲裁器中,至少一第一仲裁器所使用之優先權規則,令否認資料鍊結層封包之優先權高於確認資料鍊結層封包之優先權。
- 一種傳輸方法,應用於一高速PCI資料鍊結層傳輸器,該高速PCI資料鍊結層傳輸器經由一高速PCI資料鍊結將交換層封包及資料鍊結層封包傳輸至一高速PCI裝置,該傳輸方法包括以下步驟:由複數個不同的優先權規則中選擇一優先權規則,該複數個不同的優先權規則使得每種交換層封包及資料鍊結層封包具有不同的優先權;使用該選擇之優先權規則,於多個排程交換層封包及資料鍊結層封包中,選擇一交換層封包或資料鍊結層封包,於該高速PCI資料鍊結上進行傳輸;以及於選擇該優先權規則之前,以一數值指定一優先權規則,並以該數值程式化該高速PCI資料鍊結層傳輸器內之 一儲存元件,其中該儲存元件係被該高速PCI裝置依據該多個排程交換層封包及資料鍊結層封包之種類程式化。
- 如申請專利範圍第8項所述之傳輸方法,其中該複數個優先權規則多於四個。
- 如申請專利範圍第8項所述之傳輸方法,其中於該複數個優先權規則中:至少一第一優先權規則,其令交換層封包之優先權高於確認/否認資料鍊結層封包之優先權;且至少一第二優先權規則,其令該確認/否認資料鍊結層封包之優先權高於該交換層封包之優先權。
- 如申請專利範圍第8項所述之傳輸方法,其中該多個排程交換層封包及資料鍊結層封包至少包含以下三個種類:一第一種類封包,係為交換層封包;一第二種類封包,係為確認/否認資料鍊結層封包;以及一第三種類封包,係為更新流程控制資料鍊結層封包,其中該複數個優先權規則包括至少一第一優先權規則、一第二優先權規則及一第三優先權規則;於該第一優先權規則中,該第一種類封包之優先權高於該第二種類封包之優先權及該第三種類封包之優先權;於該第二優先權規則中,該第二種類封包之優先權高於該第一種類封包之優先權及該第三種類封包之優先權;以及於該第三優先權規則中,該第三種類封包之優先權高於該第一種類封包之優先權及該第二種類封包之優先權。
- 如申請專利範圍第8項所述之傳輸方法,其中該多個排 程交換層封包與資料鍊結層封包至少包含以下三個種類:一第一種類封包,係為交換層封包;一第二種類封包,係為確認/否認資料鍊結層封包;以及一第三種類封包,係為更新流程控制資料鍊結層封包,其中該三個種類之封包,共有六種可能之相對優先權組合;其中該複數個優先權規則包含至少六個優先權規則;其中該至少六個優先權規則,係依據該六種可能之相對優先權組合,排定該多個排程交換層封包及資料鍊結層封包之優先權。
- 如申請專利範圍第8項所述之傳輸方法,其中於該複數個優先權規則中,至少一第一優先權規則使否認資料鍊結層封包之優先權高於確認資料鍊結層封包之優先權。
- 一種高速PCI資料鍊結層傳輸器的操作方法,應用於一高速PCI資料鍊結層傳輸器,該高速PCI資料鍊結層傳輸器經由一高速PCI資料鍊結將多個排程高速PCI交換層封包及資料鍊結層封包傳輸至一高速PCI裝置,該方法包含以下步驟:該資料鍊結層傳送器使用複數個不同優先權規則以便自該多個排程高速PCI交換層封包及資料鍊結層封包中進行選擇,預測其中之一優先權規則能產生最佳效能,以便於該資料鏈結上進行排程傳輸,其中對於不同種類的該多個排程高速PCI交換層封包及資料鍊結層封包,每一個優先權規則會分配不同的優先權;以及籍由該高速PCI裝置依據該多個排程高速PCI交換層 封包及資料鍊結層封包之種類程式化該資料鍊結層傳輸器,使其應用該預測的優先權規則,藉以自該多個排程高速PCI交換層封包及資料鍊結層封包中進行選擇。
- 如申請專利範圍第14項所述之操作方法,其中該程式化步驟,係可由具有該資料鍊結層傳輸器之一系統中的CPU實現。
- 如申請專利範圍第14項所述之操作方法,其中該可程式化步驟,係可由具有該資料鍊結層傳輸器之一系統中的高速PCI主控端實現。
- 如申請專利範圍第14項所述之操作方法,其中於該複數個優先權規則中:至少一第一優先權規則,其令交換層封包之優先權高於確認/否認資料鍊結層封包之優先權;以及至少一第二優先權規則,其令該確認/否認資料鍊結層封包之優先權高於該交換層封包之優先權。
- 如申請專利範圍第14項所述之操作方法,其中該多個排程交換層封包及資料鍊結層封包至少包含以下三個種類:一第一種類封包,係為交換層封包;一第二種類封包,係為確認/否認資料鍊結層封包;以及一第三種類封包,係為更新流程控制資料鍊結層封包,其中該複數個優先權規則包括至少一第一優先權規則、一第二優先權規則及一第三優先權規則;於該第一優先權規則中,該第一種類封包之優先權高於該 第二種類封包之優先權及該第三種類封包之優先權;於該第二優先權規則中,該第二種類封包之優先權高於該第一種類封包之優先權及該第三種類封包之優先權;以及於該第三優先權規則中,該第三種類封包之優先權高於該第一種類封包之優先權及該第二種類封包之優先權。
- 一種資料鍊結層傳輸器,應用於一第一高速PCI裝置中,以管理多個高速PCI交換層封包及資料鍊結層封包,其中該第一高速PCI裝置經由一高速PCI資料鍊結將該多個高速PCI交換層封包及資料鍊結層封包傳輸至一第二高速PCI裝置,該資料鍊結層傳輸器包含:一儲存元件,被程式化以從多個優先權系統中選擇一優先權系統,其中該優先權系統包含:一第一資料鍊結層封包,供初始化流程控制使用,具有最高的優先權;以及一閒置資料字符,具有最低的優先權,其中該第二高速PCI裝置係依據該多個高速PCI交換層封包及資料鍊結層封包之種類程式化該儲存元件。
- 如申請專利範圍第19項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一第二資料鍊結層封包,供功率狀態進入使用,其優先權較該第一資料鍊結層封包之優先權為低。
- 如申請專利範圍第20項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一再播放交換層封包,供重試緩衝區之再傳輸使用,其優先權較該第二資料鍊結層封包之優先權為低;以及 一新的交換層封包,其優先權較該再播放交換層封包之優先權為低。
- 如申請專利範圍第21項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一確認/否認資料鍊結層封包,其優先權較該新的交換層封包之優先權為低;一第三資料鍊結層封包,供更新流程控制使用,其優先權較該確認/否認交換層封包為低;以及一第四資料鍊結層封包,供確認該第二資料鍊結層封包使用,其優先權較該第三資料鍊結層封包之優先權為低。
- 如申請專利範圍第21項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一第三資料鍊結層封包,供更新流程控制使用,其優先權較該新的交換層封包之優先權為低;一確認/否認資料鍊結層封包,其優先權較該第三資料鍊結層封包之優先權為低;以及一第四資料鍊結層封包,供確認該第二資料鍊結層封包使用,其優先權較該確認/否認資料鍊結層封包之優先權為低。
- 如申請專利範圍第20項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一確認/否認資料鍊結層封包,其優先權較該第二資料鍊結層封包之優先權為低。
- 如申請專利範圍第24項所述之資料鍊結層傳輸器,其中該優先權系統更包含: 一重播交換層封包,供重試緩衝區之再傳輸使用,其優先權較該確認/否認資料鍊結層封包之優先權為低;一新的交換層封包,其優先權較該重播交換層封包之優先權為低;一第三資料鍊結層封包,供更新流程控制使用,其優先權較該新的交換層封包之優先權為低;以及一第四資料鍊結層封包,供確認該第二資料鍊結層封包使用,其優先權較該第三資料鍊結層封包之優先權為低。
- 如申請專利範圍第25項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一確認/否認交換層封包,其SEQ數目大於該確認交換層封包,其優先權較該第四資料鍊結層封包之優先權低。
- 如申請專利範圍第24項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一第三資料鍊結層封包,供更新狀態流程控制使用,其優先權較該確認/否認交換層封包之優先權為低;一重播交換層封包,供重試緩衝區之再傳輸使用,其優先權較該第三資料鍊結層封包之優先權為低;一新的交換層封包,其優先權較該重播交換層封包之優先權為低;以及一第四資料鍊結層封包,供確認該第二資料鍊結層封包使用,其優先權較該新的交換層封包之優先權為低。
- 如申請專利範圍第20項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一第三資料鍊結層封包,供更新流程控制使用,其優 先權較該第二資料鍊結層封包之優先權為低。
- 如申請專利範圍第28項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一重播交換層封包,供重試緩衝區之再傳輸使用,其優先權較該第三資料鍊結層封包之優先權為低;一新的交換層封包,其優先權較該重播交換層封包之優先權為低;一確認/否認資料鍊結層封包,其優先權較該新的交換層封包之優先權為低;以及一第四資料鍊結層封包,供確認該第二資料鍊結層封包使用,其優先權較該新的交換層封包之優先權為低。
- 如申請專利範圍第28項所述之資料鍊結層傳輸器,其中該優先權系統更包含:一確認/否認資料鍊結層封包,其優先權較該第三資料鍊結層封包之優先權為低;一重播交換層封包,供重試緩衝區之再傳輸使用,其優先權較該確認/否認資料鍊結層封包之優先權為低;一新的交換層封包,其優先權較該重播交換層封包之優先權為低;以及一第四資料鍊結層封包,供確認該第二資料鍊結層封包使用,其優先權較該新的交換層封包之優先權為低。
- 一種優先權分配方法,該方法應用於一第一高速PCI裝置的資料鍊結層傳輸器,用以對交換層封包及資料鍊結層封包進行排程,其中該第一高速PCI裝置經由一高速PCI資料鍊結將該交換層封包及資料鍊結層封包傳輸至一第二 高速PCI裝置,其包含以下步驟:藉由該第二高速PCI裝置依據該交換層封包及資料鍊結層封包之種類程式化該資料鍊結層傳輸器,以從多個優先權系統中選擇一優先權系統,其中該優先權系統包含:使一第一資料鍊結層封包具有最高優先權,該第一資料鍊結層封包供初始化流程控制使用;以及使一閒置資料字符具有最低優先權。
- 如申請專利範圍第31項所述之優先權分配方法,該方法更包含以下步驟:對複數個封包進行排程,該複數個封包有:一第二資料鍊結層封包,供功率狀態進入使用;一確認/否認資料鍊結層封包;一重播交換層封包,供重試緩衝區再傳輸使用;一新的交換層封包;一第三資料鍊結層封包,供更新流程控制使用;以及一第四資料鍊結層封包,供確認該第二資料鍊結層封包使用。
- 如申請專利範圍第32項所述之優先權分配方法,該方法更包含以下步驟:使該第二資料鍊結層封包具有次高優先權。
- 如申請專利範圍第32項所述之優先權分配方法,該方法更包含以下步驟:使該新的交換層封包具有緊接於該重播交換層封包之後的優先權。
- 如申請專利範圍第32項所述之優先權分配方法,該方 法更包含以下步驟:使該第四資料鍊結層封包具有僅高於該閒置資料字符之優先權。
- 一種優先權系統,建立於一第一高速PCI裝置之資料鍊結層傳輸器內,以管理多個交換層封包及資料鍊結層封包的傳輸,其中該第一高速PCI裝置經由一高速PCI資料鍊結將所述多個交換層封包及資料鍊結層封包傳輸至一第二高速PCI裝置,其中該第二高速PCI裝置依據所述多個交換層封包及資料鍊結層封包之種類程式化該資料鍊結層傳輸器,以從多個優先權系統中選擇該優先權系統,其中該優先權系統包含:一最高優先權,分配給供流程控制初始化使用之一資料鍊結層封包;一次高優先權,分配給供功率狀態進入使用之一資料鍊結層封包;以及一最低優先權,分配給一閒置資料字符。
- 如申請專利範圍第36項所述之優先權系統,該系統更包含:兩個優先權,分別分配給供重試緩衝區之再傳輸使用之重播交換層封包與一新的交換層封包。
- 如申請專利範圍第36項所述之優先權系統,該系統更包含:一次低優先權,分配給供功率狀態進入確認使用之一資料鍊結層封包。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8904808P | 2008-08-14 | 2008-08-14 | |
US12/509,007 US8006014B2 (en) | 2008-08-14 | 2009-07-24 | PCI-Express data link transmitter employing a plurality of dynamically selectable data transmission priority rules |
US12/509,056 US8706924B2 (en) | 2008-08-14 | 2009-07-24 | PCI-express data link transmitter employing a plurality of dynamically selectable data transmission priority rules |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201007468A TW201007468A (en) | 2010-02-16 |
TWI402688B true TWI402688B (zh) | 2013-07-21 |
Family
ID=41594729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098126782A TWI402688B (zh) | 2008-08-14 | 2009-08-10 | 高速pci資料鏈結層傳輸器及其傳輸方法與操作方法、優先權分配方法以及優先權系統 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8706924B2 (zh) |
CN (2) | CN101635662B (zh) |
TW (1) | TWI402688B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8050290B2 (en) | 2007-05-16 | 2011-11-01 | Wilocity, Ltd. | Wireless peripheral interconnect bus |
US9075926B2 (en) * | 2007-07-19 | 2015-07-07 | Qualcomm Incorporated | Distributed interconnect bus apparatus |
DE112011100239B4 (de) | 2010-01-13 | 2023-01-05 | Karma Automotive LLC (n.d.Ges.d.Staates Delaware) | System und Verfahren zur Steuerung einer direkten elektrischen Verbindung in einem Fahrzeugantriebssystem in einem Hybridfahrzeug |
TWI413907B (zh) * | 2010-06-02 | 2013-11-01 | Realtek Semiconductor Corp | 一種用於訊號傳輸之省電方法及裝置 |
CN110769298A (zh) * | 2018-07-26 | 2020-02-07 | 联发科技股份有限公司 | 信号处理电路以及相关方法 |
JP6700564B1 (ja) * | 2018-12-28 | 2020-05-27 | 富士通クライアントコンピューティング株式会社 | 情報処理システム |
US11128410B1 (en) * | 2019-07-18 | 2021-09-21 | Cadence Design Systems, Inc. | Hardware-efficient scheduling of packets on data paths |
KR102519484B1 (ko) * | 2021-02-18 | 2023-04-10 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 이를 포함하는 시스템 |
CN113297022B (zh) * | 2021-06-09 | 2023-03-24 | 海光信息技术股份有限公司 | 高速串行计算机扩展总线测试方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5794073A (en) * | 1994-11-07 | 1998-08-11 | Digital Equipment Corporation | Arbitration system for a shared DMA logic on a network adapter with a large number of competing priority requests having predicted latency field |
US20030126297A1 (en) * | 2001-12-31 | 2003-07-03 | Maxxan Systems, Inc. | Network processor interface system |
US20040042487A1 (en) * | 2002-08-19 | 2004-03-04 | Tehuti Networks Inc. | Network traffic accelerator system and method |
TWI230863B (en) * | 2001-06-13 | 2005-04-11 | Corrent Corp | Input/output system and method for transferring control and data, and arbiter for coordinating data communication |
US6961793B2 (en) * | 2001-11-20 | 2005-11-01 | Nec Corporation | Bus arbiter and bus access arbitrating method |
US6966684B2 (en) * | 2001-09-13 | 2005-11-22 | Gelcore, Llc | Optical wave guide |
US20060271651A1 (en) * | 2005-05-23 | 2006-11-30 | Via Technologies, Inc. | PCI express link state management system and method thereof |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW569236B (en) * | 2002-10-03 | 2004-01-01 | Via Tech Inc | Multiple-grant controller with parallel arbitration mechanism and related method |
CN1200344C (zh) * | 2002-10-18 | 2005-05-04 | 威盛电子股份有限公司 | 具有并行仲裁机制的多重允许控制器及其方法 |
US7075354B2 (en) * | 2003-07-16 | 2006-07-11 | Via Technologies, Inc. | Dynamic multi-input priority multiplexer |
US7525978B1 (en) * | 2005-04-15 | 2009-04-28 | Altera Corporation | Method and apparatus for scheduling in a packet buffering network |
CN1697425A (zh) * | 2005-06-15 | 2005-11-16 | 威盛电子股份有限公司 | 数据读取方法以及相关的计算机系统 |
US7583600B1 (en) | 2005-09-07 | 2009-09-01 | Sun Microsytems, Inc. | Schedule prediction for data link layer packets |
US7558271B2 (en) * | 2005-10-21 | 2009-07-07 | International Business Machines Corporation | Method and apparatus for adaptive bandwidth control with defined priorities for different networks |
JP4878185B2 (ja) * | 2006-03-17 | 2012-02-15 | 株式会社リコー | データ通信回路および調停方法 |
US7752473B1 (en) | 2006-03-20 | 2010-07-06 | Intel Corporation | Providing a deterministic idle time window for an idle state of a device |
CN100438444C (zh) * | 2006-05-17 | 2008-11-26 | 威盛电子股份有限公司 | 实现网络媒体存取控制的方法与相关装置 |
US8462628B2 (en) | 2006-12-20 | 2013-06-11 | Integrated Device Technology, Inc. | Method of improving over protocol-required scheduling tables while maintaining same |
JP4873557B2 (ja) * | 2007-01-12 | 2012-02-08 | ルネサスエレクトロニクス株式会社 | データ処理装置及び半導体集積回路 |
-
2009
- 2009-07-24 US US12/509,056 patent/US8706924B2/en active Active
- 2009-07-24 US US12/509,007 patent/US8006014B2/en active Active
- 2009-08-10 TW TW098126782A patent/TWI402688B/zh active
- 2009-08-11 CN CN200910163301.5A patent/CN101635662B/zh active Active
- 2009-08-11 CN CN201110354061.4A patent/CN102347880B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5794073A (en) * | 1994-11-07 | 1998-08-11 | Digital Equipment Corporation | Arbitration system for a shared DMA logic on a network adapter with a large number of competing priority requests having predicted latency field |
TWI230863B (en) * | 2001-06-13 | 2005-04-11 | Corrent Corp | Input/output system and method for transferring control and data, and arbiter for coordinating data communication |
US6966684B2 (en) * | 2001-09-13 | 2005-11-22 | Gelcore, Llc | Optical wave guide |
US6961793B2 (en) * | 2001-11-20 | 2005-11-01 | Nec Corporation | Bus arbiter and bus access arbitrating method |
US20030126297A1 (en) * | 2001-12-31 | 2003-07-03 | Maxxan Systems, Inc. | Network processor interface system |
US20040042487A1 (en) * | 2002-08-19 | 2004-03-04 | Tehuti Networks Inc. | Network traffic accelerator system and method |
US20060271651A1 (en) * | 2005-05-23 | 2006-11-30 | Via Technologies, Inc. | PCI express link state management system and method thereof |
Non-Patent Citations (1)
Title |
---|
PCIe base specification 1.1 2005/3/28 * |
Also Published As
Publication number | Publication date |
---|---|
US8706924B2 (en) | 2014-04-22 |
CN101635662B (zh) | 2012-06-27 |
US20100042766A1 (en) | 2010-02-18 |
CN102347880B (zh) | 2014-09-17 |
US8006014B2 (en) | 2011-08-23 |
CN101635662A (zh) | 2010-01-27 |
CN102347880A (zh) | 2012-02-08 |
US20100040087A1 (en) | 2010-02-18 |
TW201007468A (en) | 2010-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI402688B (zh) | 高速pci資料鏈結層傳輸器及其傳輸方法與操作方法、優先權分配方法以及優先權系統 | |
CN102291423B (zh) | 控制物理层芯片的方法及控制电路 | |
JP4139771B2 (ja) | キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法 | |
EP1899828B1 (en) | Device and method for arbitrating between direct memory access task requests | |
JP4944042B2 (ja) | Soc相互接続において転送待ち時間を低減するための方法および装置 | |
TW528955B (en) | A port manager controller for connecting various function modules | |
US20080046619A1 (en) | Simultaneous Transmissions Between Multiple Master Buses and Multiple Slave Buses | |
US7493426B2 (en) | Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control | |
EP1899825B1 (en) | Device and method for controlling multiple dma tasks | |
US11080220B2 (en) | System on chip having semaphore function and method for implementing semaphore function | |
JPH071495B2 (ja) | データ処理システム | |
EP1899826A1 (en) | Device and method for controlling an execution of a dma task | |
US9798686B2 (en) | Slave side bus arbitration | |
JP2001515248A (ja) | 集積回路デバイス、技術依存型設計仕様を生成する方法及び機械可読媒体 | |
BR112013006329B1 (pt) | controlador de memória compreendendo uma pluralidade de portas, circuito integrado e método | |
GB2228349A (en) | Data transfer bus with virtual memory | |
CN106933760A (zh) | 一种基于axi协议的dma控制器及数据上传方法 | |
US6842797B1 (en) | USB adapter for burst mode communications | |
CN113297122A (zh) | 基于串行总线聚合io连接管理来影响处理器调节 | |
EP1899827B1 (en) | Device and method for executing a dma task | |
US7979615B1 (en) | Apparatus for masked arbitration between masters and requestors and method for operating the same | |
JP4346614B2 (ja) | データスイッチとデータ伝送方法 | |
KR102360214B1 (ko) | 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법 | |
JP2006215621A (ja) | Dma制御装置 | |
US7975086B1 (en) | Apparatus for real-time arbitration between masters and requestors and method for operating the same |