為分組報頭提供前綴的制作方法
【專利摘要】在一個實施例中,本發(fā)明包括一種方法,用于為將從發(fā)射機發(fā)送的第一分組生成具有操作碼字段和前綴專用字段的前綴報頭,并從所述發(fā)射機處發(fā)送具有所述前綴報頭的所述分組,其中,所述前綴報頭的后面跟著報頭。另外,還描述及主張了其它實施例。
【專利說明】為分組報頭提供前綴
[0001]本申請是2009年5月31日提交的,申請?zhí)枮?00910142603.4的同名專利申請的
分案申請。
【背景技術(shù)】
[0002]計算機系統(tǒng)包括許多部件和元件,典型地,經(jīng)由總線或互連來對這些部件和元件進行耦合。以前,通過被稱為外圍部件互連(PCI)的傳統(tǒng)多點并行總線架構(gòu)來將輸入/輸出(10)設(shè)備耦合到一起。近來,已經(jīng)使用被稱為PC1-Express (PCIe)的新一代IO總線來幫助實現(xiàn)在具有串行物理層通信協(xié)議的設(shè)備之間的更快的互連。
[0003]PCIe架構(gòu)包括分層協(xié)議以便在設(shè)備之間進行通信。作為例子,物理層、鏈路層和事務(wù)(transaction)層形成PCIe協(xié)議棧。通過被稱為通道(lane)的專用單向串行點對點連接對來創(chuàng)建PCIe鏈路。設(shè)備之間的鏈路包括一些數(shù)目的通道,例如一個、兩個、十六個、三十二個等。當前的PCIe規(guī)范:PCIExpress?規(guī)范基礎(chǔ)規(guī)范2.0版(2007年I月17日發(fā)布),可在下面的網(wǎng)址中獲得:http://www.pcisig.com/specifications/pci express/。
[0004]物理層可以發(fā)送(或接收)三類鏈路業(yè)務(wù):有序集、數(shù)據(jù)鏈路層分組(DLLP)和事務(wù)層分組(TLP)。本地鏈路業(yè)務(wù)(其包括有序集和DLLP)不被轉(zhuǎn)發(fā)也不攜帶路由信息。相反,TLP可以使用被包含在分組報頭(header)中的路由信息來在鏈路間傳遞。特別地,每個TLP包含三或四個雙字(DW) (12或16字節(jié))報頭。包括在3DW或3DW報頭中的尤其是兩個字段:類型和格式(Fmt),其定義了所述報頭的其余部分的格式以及當TLP在PCIe系統(tǒng)中的設(shè)備之間傳遞時在整個TLP上所使用的路由方法。盡管報頭提供了所需信息,但它的格式是固定的,并妨礙了通過報頭來提供附加信息的靈活性。
【專利附圖】
【附圖說明】
[0005]圖1是根據(jù)本發(fā)明的一個實施例的系統(tǒng)的方框圖。
[0006]圖2是根據(jù)本發(fā)明的一個實施例的基本TLP前綴報頭。
[0007]圖3是根據(jù)本發(fā)明的實施例的被附加到TLP的TLP前綴的方框圖。
[0008]圖4是根據(jù)本發(fā)明的一個實施例的擴展的TLP前綴報頭的方框圖。
[0009]圖5A-5B是根據(jù)本發(fā)明的一個實施例的對TLP前綴和報頭的堆疊。
[0010]圖6A-6C是根據(jù)本發(fā)明的實施例的不同的報頭信用值分配。
[0011]圖7是根據(jù)本發(fā)明的一個實施例的方法的流程圖。
【具體實施方式】
[0012]實施例可以擴展PCIe架構(gòu)報頭格式來支持新出現(xiàn)的應(yīng)用需求。更具體地,在各個實施例中,TLP前綴(其是對可被附加到TLP報頭的附加報頭信息的架構(gòu)化定義)可用于實現(xiàn)在TLP或其它這樣的分組的報頭中提供的信息的靈活性。也就是說,雖然本文中是用應(yīng)用于PCIe系統(tǒng)的TLP的例子來描述的,但本發(fā)明的范圍并不限制于此,并且,實施例可用于使得能夠為各種通信協(xié)議的分組傳送附加報頭信息。[0013]在不同的實現(xiàn)中,該TLP前綴報頭可被用作對PCIe事務(wù)層報頭的封裝層,提供附加路由信息以協(xié)助中間路由元件對TLP進行路由,向完成者提供事務(wù)處理提示,以及/或者提供廠商專用的調(diào)試信息。根據(jù)本發(fā)明的實施例的前綴還可被用于提供安全信息以及為了將來的使用模型而做準備,其中,將來的使用模型可能會需要擴展的報頭,以提供在目前所規(guī)定的報頭格式字段中不存在的附加信息。
[0014]參考圖1,說明了根據(jù)本發(fā)明的一個實施例的系統(tǒng)的方框圖,該系統(tǒng)包括經(jīng)由串行鏈路稱合到控制中心(controller hub)的設(shè)備。系統(tǒng)100包括稱合到控制中心115的處理器105和系統(tǒng)存儲器110。處理器105包括任意處理元件,例如微處理器、主處理器、嵌入式處理器、協(xié)處理器或其它處理器。處理器105通過前端總線(FSB) 106耦合到控制中心115。在一個實施例中,F(xiàn)SB106是如下所述的串行點對點(PtP)互連。
[0015]系統(tǒng)存儲器110包括任意存儲器設(shè)備,例如隨機存取存儲器(RAM)、非易失性(NV)存儲器、或可由系統(tǒng)100中的設(shè)備所訪問的其它存儲器。系統(tǒng)存儲器110通過存儲器接口116耦合到控制中心115。
[0016]在一個實施例中,控制中心115是PCIe互連層級結(jié)構(gòu)中的根集線器或根控制器??刂浦行?15的例子包括芯片組、存儲器控制中心(MCH)、北橋、輸入/輸出控制中心(ICH)、南橋以及根控制器/集線器。在這里,控制中心115通過串行鏈路119耦合到交換機/橋接器120。輸入/輸出模塊117和121 (其也可被稱為接口 /端口 117和121)包括/實現(xiàn)了分層協(xié)議棧,來提供在控制中心115和交換機120之間的通信。在一個實施例中,多個設(shè)備能夠耦合到交換機120。實施例也可以應(yīng)用于將處理器和芯片組集成到同一封裝中的情況。另外,該技術(shù)并不需要新修訂版本的PCIe協(xié)議,并且,可以由與PCIe2.0、l.1相兼容的設(shè)備來實現(xiàn)該技術(shù)。因此,實施例可被用于利用PCIe互連進行通信的任何地方。
[0017]交換機120將來自設(shè)備125的分組/消息向上游路由(即,向著控制中心115的方向上升一個層級),以及,將分組/消息向下游路由(即,向著遠離控制中心115的方向下降一個層級)到設(shè)備125。IO模塊122和126實現(xiàn)分層協(xié)議棧,以在交換機120和設(shè)備125之間進行通信。設(shè)備125包括耦合到電子系統(tǒng)的任意內(nèi)部或外部的設(shè)備或部件,例如IO設(shè)備、網(wǎng)絡(luò)接口控制器(NIC)、插入卡、音頻處理器、網(wǎng)絡(luò)處理器、硬盤驅(qū)動器、存儲裝置、監(jiān)視器、打印機、鼠標、鍵盤、路由器、便攜式存儲裝置、火線設(shè)備、通用串行總線(USB)設(shè)備、掃描儀以及其它輸入/輸出設(shè)備。
[0018]圖形加速器130也通過串行鏈路132耦合到控制中心115。在一個實施例中,圖形加速器130耦合到MCH,MCH耦合到ICH。交換機120 (以及相應(yīng)地,IO設(shè)備125)然后耦合到所述ICH。IO模塊131和118也實現(xiàn)分層協(xié)議棧,以在圖形加速器130和控制中心115之間進行通信。
[0019]在一個實施例中,PCIe協(xié)議??梢园ㄊ聞?wù)層、鏈路層和物理層。在一個實施例中,事務(wù)層提供了在設(shè)備的處理核心和互連架構(gòu)之間(例如,在數(shù)據(jù)鏈路層和物理層之間)的接口。在這一點上,事務(wù)層的主要職責(zé)是分組(即,事務(wù)層分組或TLP)的組裝和拆分。注意,為了能夠平滑地實現(xiàn)可靠性-可用性-可服務(wù)性(RAS),PCIe在設(shè)備架構(gòu)的三個合作功能層(物理層、鏈路層和事務(wù)層)中提供可靠的協(xié)議錯誤檢測、糾正和報告能力。在基于PCIe的設(shè)計中,組合一個或多個TLP來形成事務(wù),其經(jīng)由鏈路從總線上的一個設(shè)備發(fā)送到另一設(shè)備。對于給定的TLP,設(shè)備通過分析在每個TLP中所提供的可靠性機制來提供設(shè)備級的錯誤檢測和糾正。這些錯誤檢測/糾正的職責(zé)跨越了所述三個功能設(shè)備層。PCIe也實現(xiàn)了分離事務(wù),即,事務(wù)的請求和響應(yīng)在時間上分開,這允許在目標設(shè)備為響應(yīng)收集數(shù)據(jù)的同時一個鏈路攜帶其它業(yè)務(wù)。
[0020]另外,PCIe使用基于信用值(credit)的流控制。在本方案中,一個設(shè)備在事務(wù)層中通告每個接收緩沖器的信用值的初始數(shù)目。在鏈路另一端的外部設(shè)備(例如,圖1中的控制中心115)對由每個TLP所消耗的信用值的數(shù)目進行計數(shù)。如果一個事務(wù)未超出信用值限制,則可以發(fā)送該事務(wù)。一旦接收到響應(yīng),則恢復(fù)一定數(shù)目的信用值。信用值方案的優(yōu)勢是:假如未達到信用值限制,則信用值返還的等待時間不會影響性能。
[0021]鏈路層擔(dān)當在事務(wù)層和物理層之間的中間級。在一個實施例中,數(shù)據(jù)鏈路層的職責(zé)是提供一種可靠的機制,用于在兩個部件之間通過鏈路來交換TLP。鏈路層的一側(cè)接受由事務(wù)層組裝的TLP,應(yīng)用標識符,計算并應(yīng)用錯誤檢測碼(即循環(huán)恢復(fù)碼(CRC)),以及向物理層提交經(jīng)更改的TLP,以用于通過物理鏈路發(fā)送給外部設(shè)備。
[0022]在一個實施例中,物理層向外部設(shè)備物理地發(fā)送分組。物理層包括發(fā)送部分和接收部分,發(fā)送部分準備用于傳輸?shù)某鼍中畔?,接收部分在向鏈路層傳遞接收到的信息之前對其進行識別和準備。物理層包括發(fā)射機和接收機。為發(fā)射機提供符號,符號被發(fā)射機串行化并被發(fā)送到外部設(shè)備。來自外部設(shè)備的串行化符號被提供給接收機,接收機將接收到的信號轉(zhuǎn)換為比特流。比特流被解串行化并被提供給邏輯子塊。在一個實施例中,采用了8b/10b傳輸碼,其中發(fā)送/接收10位的符號。另外,在一個例子中,接收機還提供了根據(jù)入局串行流恢復(fù)的符號時鐘。如上所述,盡管對事務(wù)層、鏈路層和物理層的論述參考了 PCIe協(xié)議棧的具體實施例,但分層協(xié)議棧并非限制于此。事實上,可以包括/實現(xiàn)任意分層協(xié)議。
[0023]因此,通過一個或多個TLP的傳輸,實現(xiàn)了 PCIe系統(tǒng)中設(shè)備間的通信,其中,所述一個或多個TLP進行組合以形成在耦合于兩個設(shè)備之間的鏈路上所發(fā)送的事務(wù)。因此,通過使用上文描述的三個層,可以發(fā)送包括各種信息的TLP。特別地,物理層可以提供在TLP的開頭和結(jié)尾處的幀信息。而鏈路層又可以向分組提供序列號以及鏈路CRC。而事務(wù)層又可以生成被附加到數(shù)據(jù)(如果存在的話)的報頭以及可選的端到端CRC(ECRC)。這樣,所發(fā)送的TLP可以依次包括下列部分:簡單傳輸協(xié)議(STP)成幀字段、次序字段、報頭字段、數(shù)據(jù)字段、ECRC字段、鏈路CRC(LCRC)字段和成幀結(jié)束字段。如上所述,TLP報頭的這種格式是固定的,且在提供與這樣的報頭相關(guān)聯(lián)的附加信息這一方面上并未提供靈活性。
[0024]為了增加靈活性,可以將根據(jù)本發(fā)明實施例的TLP前綴附加到由PCIe規(guī)范所定義的TLP上。在一個這樣的實施例中,基本TLP前綴的大小可以是一個雙字(DW),并且可被附加到TLP報頭(目前定義的TLP報頭和將來的TLP報頭均可)。如圖2所示,其是根據(jù)本發(fā)明一個實施例的基本TLP前綴報頭,該前綴可以包括操作碼字段和前綴專用字段。具體地,如圖2所示,數(shù)據(jù)10包括由前綴DW20所形成的基本TLB前綴報頭,其具有第一字段25和前綴專用字段28,其中,第一字段25可對應(yīng)于操作碼字段,而前綴專用字段28可基于與其相關(guān)聯(lián)的操作碼字段來提供各種信息。如圖2中的實施例所示,操作碼字段25可以具有固定的(即預(yù)先確定的)最高有效位(MSB)。也就是說,三個MSB可以具有“100”的值來表明前綴的存在。依次地,最低有效位(LSB)(在圖2的實施例中被示為5個LSB)可具有對應(yīng)于給定操作碼分配的變化值。[0025]在一個實施例中,操作碼字段可以與下列分配相關(guān)聯(lián)。
[0026]表I
[0027].100-ttttt,其中ttttt是TLP前綴操作碼(即,可定義多達32個前綴);
[0028].100 - 00000—廠商專用;
[0029].100 - 00001—擴展的操作碼前綴;
[0030].100 - 11111一TLP 前綴擴展;以及
[0031].100 -其它一預(yù)留用于將來使用。
[0032]現(xiàn)在參考圖3,示出了根據(jù)本發(fā)明的實施例的附加到TLP的TLP前綴的方框圖。如圖3所示,數(shù)據(jù)10'包括TLP前綴20 (其可對應(yīng)于如上文所述的圖2中的前綴20)以及TLP報頭30。如圖3所示,僅僅示出了 TLP報頭的第一個DW。然而可以理解,在各種實現(xiàn)中,TLP報頭可以由三或四個DW形成。TLP報頭30可包括各種字段。圖3中示出的特定字段包括格式字段32、類型字段34和長度字段36。格式字段32和類型字段34可被用于定義報頭30的其余部分的格式以及當TLP經(jīng)過不同設(shè)備時在整個TLP上所使用的路由方法。另外,長度字段36可以表明跟隨在報頭30之后的TLP的數(shù)據(jù)部分的長度。注意,PCIe協(xié)議固定了報頭30的結(jié)構(gòu),因而缺乏靈活性的能力。因此,本發(fā)明的實施例可以通過在TLP報頭的前面包括一個或多個TLP前綴來提供靈活性,以便能夠提供與TLP報頭相關(guān)聯(lián)的附加信息。
[0033]為了實現(xiàn)功能,可以(通過層級結(jié)構(gòu))以端對端的方式來實現(xiàn)對TLP前綴的支持。然而,在此范圍內(nèi)的一些情形中,對于鏈路本地TLP前綴,限制為鏈路對鏈路的方式,而對于其它情況,則可被路由到端點和中間交換機。對于路由元件(例如,交換機、對等網(wǎng)絡(luò)等等),TLP前綴可以默認為可忽略的,除非給定的用法模型要求對TLP前綴進行理解和處理。例如,可以使用在每一跳中附加/移除的TLP,其在鏈路的遠端被終止并被重新生成(鏈路本地TLP)。
[0034]在各種系統(tǒng)中,可以有兩種TLP前綴類型。第一種,可以提供鏈路本地TLP前綴,路由元件需要為其來處理TLP以用于路由或其它目的。當兩端都理解TLP前綴時可以使用這樣的前綴。也就是說,對于路由元件來說,此類前綴并不是看不見地經(jīng)過的。注意,ECRC對于鏈路本地TLP前綴報頭是不適用的。
[0035]第二種前綴可以是全局TLP前綴,其可被用在以下情況中:TLP經(jīng)過路由元件,而這樣的路由元件可能并不會知道TLP前綴內(nèi)容。如果基本TLP被ECRC保護,那么,相應(yīng)的全局TLP前綴也將被ECRC保護。
[0036]圖2中所示出的基本TLP前綴為TLP操作碼專用字段提供了 24位。在某些應(yīng)用情形中,這個數(shù)目的位可能是不夠用的,并且可使用一個或多個附加DW來提供TLP前綴擴展,例如,如果需要額外的操作碼專用位的話。在此種情形中,可使用100-11111的TLP前綴操作碼編碼來提供對TLP操作碼專用字段的擴展。TLP擴展操作碼的優(yōu)勢如下:提供當需要時可以擴展的固定DW大小的TLP前綴結(jié)構(gòu);支持對需要大于24位字段的TLP前綴的定義;以及提供在將來在不會影響到系統(tǒng)環(huán)境的情況下增加TLP前綴操作碼專用字段的能力。
[0037]現(xiàn)在參考圖4,其示出了根據(jù)本發(fā)明的一個實施例來進行擴展的TLP前綴報頭的方框圖。如圖4所示,其是根據(jù)本發(fā)明的實施例的包括了擴展的TLP前綴報頭的數(shù)據(jù)IO''的方框圖。也就是說,除第一前綴DW20之外,還存在了兩個額外的擴展前綴DW40和45。以此方式,可以提供附加信息。注意,擴展前綴40和45均具有相同的操作碼分配,SP“10011111”,從上面的表I可以看出其對應(yīng)于TLP前綴擴展碼。因此,與這兩個擴展前綴相關(guān)聯(lián)的前綴專用字段48可以提供附加信息,例如,針對前綴雙字20中所提供的數(shù)據(jù)的附加數(shù)據(jù)。
[0038]在某些情況下,可以使用TLP前綴堆疊操作,其中,允許將多個TLP前綴附加到其它TLP前綴或TLP報頭(其可被認為是一個堆棧)。在一個實施例中,應(yīng)用下面的規(guī)則以堆疊TLP前綴。TLP前綴可以被堆疊在彼此之上,其中,堆疊的TLP前綴可以是基本TLP前綴或擴展TLP前綴。允許堆疊多個TLP前綴。全局TLP前綴可以被堆疊在其它全局TLP前綴或標準報頭TLP之上,但不能被堆疊在鏈路本地TLP前綴之上。然而,相反的是,鏈路本地TLP前綴可以被堆疊在任何其它TLP前綴或報頭TLP之上。
[0039]圖5A示出了根據(jù)本發(fā)明的一個實施例的所允許的對TLP前綴和報頭的堆疊。如圖5A所示,提供了堆棧100,其包括TLP報頭105、I到N個全局TLP前綴110以及I到N個鏈路本地TLP前綴115。在一個實施例中,這樣的堆棧100是被允許的,這是因為鏈路本地TLP前綴115被堆疊在全局前綴110之上(而全局前綴110又被堆疊在TLP報頭105之上)。相反,如圖5B所示,在某些實施例中,堆120可能是不被允許的,這是因為可能不允許將全局TLP前綴135堆疊在鏈路本地TLP前綴130之上。
[0040]如上所述,TLP前綴可以被擴展和堆疊。因此,接收機可以為了路由和流控制的目的來檢測基本TLP從而確定TLP的類型。根據(jù)一個實施例的用來檢測基本TLP的規(guī)則如下:一旦檢測到了 TLP前綴(即,在前綴的第一字節(jié)的三個MSB中出現(xiàn)了預(yù)定的前綴碼100),則掃描所有隨后的DW直到檢測到針對這些位的非100編碼為止。在這期間所數(shù)到的DW數(shù)目是TLP前綴,或者是堆疊的或者是擴展的。注意,不需要單獨的終止位來檢測TLP前綴的結(jié)束。
[0041]根據(jù)PCIe協(xié)議,報頭流控制粒度是報頭信用值的一個計量單位,其中,I計量單位等于16字節(jié)(B)(考慮到16B對應(yīng)于TLP報頭)。附加到報頭TLP的TLP前綴DW ( S卩,基本TLP前綴或擴展TLP前綴)消耗(除了基本報頭信用值之外的)一個額外的報頭信用值。
[0042]可以為各種部件設(shè)置架構(gòu)化的、可配置的最大TLP前綴大小參數(shù)。特別地,接收機必須在存儲元件中保持TLP前綴,直到檢測到標準TLP為止,其后,接收機可以將TLP移動到合適的緩沖器資源(針對其說明流控制)。因此,應(yīng)考慮接收機的中間/分級緩沖器的能力,即,可在一個分組中發(fā)出的TLP前綴DW的數(shù)目的限制。該粒度可以被定義為所支持的最大TLP前綴大小,例如,報頭粒度的倍數(shù)-1倍、2倍、4倍等。該架構(gòu)化的配置參數(shù)可被稱為最大TLP前綴大小,并可以通過在PCIe能力寄存器中提供一個字段來發(fā)現(xiàn)該最大TLP前綴大小,并且經(jīng)由PCIe控制寄存器來對其進行編程。
[0043]因此,如圖6A所示,當兩個TLP前綴210被堆疊在TLP200上時,需要兩個報頭信用值,這是因為除了 16B的報頭所需要的單個報頭信用值之外,還需要一個額外的信用值來支持這兩個TLP前綴。類似地,如圖6B所示,可以使用同樣兩個報頭信用值來支持具有四個DW( S卩,16字節(jié))的TLP前綴堆棧215。相反,如圖6C所示,需要三個報頭信用值來支持包括五個雙字的前綴堆棧220,這是因為需要價值為20字節(jié)的信用值來支持該堆棧220。雖然用圖6A-6C中的這個特定實現(xiàn)示出,但可以在其它實施例中應(yīng)用不同的報頭信用值規(guī)則。[0044]現(xiàn)在參考圖7,其示出了根據(jù)本發(fā)明的一個實施例的方法的流程圖。如圖7所示,根據(jù)本發(fā)明的實施例,可以由發(fā)送設(shè)備的事務(wù)層來實現(xiàn)方法300以生成TLP前綴。方法300可以從確定是否要在TLP報頭中發(fā)送附加信息(菱形310)開始。這種附加信息可以用于向TLP報頭封裝更多數(shù)據(jù),為中間路由元件提供附加路由信息,提供事務(wù)處理等,但并非限制于此。如果要提供這種附加信息,控制轉(zhuǎn)到框320。
[0045]在框320,可以生成具有操作碼字段和前綴專用字段的TLP前綴報頭。在一個實施例中,TLP前綴報頭可以被生成為如在圖2中所示的基本報頭。然后,可以確定除了在基本前綴報頭中所提供的信息外,是否還有附加信息要被包括在所述TLP前綴中(菱形330)。如果是,則控制返回到框320。否則,會發(fā)送一個或多個前綴報頭單元(框340)。也就是說,這樣的TLP前綴單元可以被事務(wù)層發(fā)到數(shù)據(jù)鏈路層,發(fā)到物理層上,然后通過鏈路到達接收設(shè)備,接收設(shè)備可以相應(yīng)地通過物理層、數(shù)據(jù)鏈路層將該信息傳遞到接收設(shè)備的事務(wù)層,以用于解碼和處理。
[0046]在TLP前綴報頭的傳輸之后,可以發(fā)送TLP報頭(框350),該TLP報頭可以是包括了諸如格式字段、類型字段等各種字段的傳統(tǒng)TLP報頭。這樣的傳輸可以以與TLP前綴報頭相同的方式來進行。在這樣的TLP報頭傳輸之后,發(fā)出將要用該TLP來發(fā)送的任何有效載荷(框360)。通過接收和處理所述前綴,TLP報頭和額外的分組信息可以出現(xiàn)在使用各種層的接收機中。盡管用圖7的實施例中的這一特定實現(xiàn)示出,但本發(fā)明的范圍并不限制于此。
[0047]因此,實施例可以在分組報頭所提供的信息上提供靈活性,而不需要ad-hoc解決方案或通過使用預(yù)留的報頭字段來提供/引入新特征或要點方案。在一些實施例中,TLP前綴使得定義和實現(xiàn)變得容易,因此具有最小的系統(tǒng)環(huán)境影響,并且是可升級的解決方案。如上所述,可以堆疊/擴展TLP前綴,這可被用于準備對將來的支持,例如,為各個廠而商定義的編碼,或為擴展定義的編碼。另外,新的流控制類型也是不需要的。
[0048]實施例可以用代碼實現(xiàn)并可以存儲在存儲介質(zhì)上,該存儲介質(zhì)具有存儲在其上的指令,其可用于對一個系統(tǒng)進行編程來執(zhí)行所述指令。所述存儲介質(zhì)可以包括但不限于:任何類型的盤,包括軟盤、光盤、光盤只讀存儲器(CD-ROM)、可重寫光盤(CD-RW)、以及磁光盤,半導(dǎo)體器件,例如只讀存儲器(ROM)、諸如動態(tài)隨機存取存儲器(DRAM)和靜態(tài)隨機存取存儲器(SRAM)這樣的隨機存取存儲器(RAM)、可擦可編程只讀存儲器(EPROM)、閃速存儲器、電可擦可編程只讀存儲器(EEPROM),磁卡或光卡,或適于存儲電子指令的任意其它類型的介質(zhì)。
[0049]盡管以有限數(shù)目的實施例來描述了本發(fā)明,但本領(lǐng)域的技術(shù)人員可以領(lǐng)會到許多基于此的修改和變型。所附的權(quán)利要求旨在覆蓋落入本發(fā)明的實質(zhì)精神和范圍內(nèi)的所有這樣的修改和變型。
【權(quán)利要求】
1.一種裝置,包括: 第一部件,用于通過點對點(PtP)互連與第二部件進行通信,其中,所述第一部件包括協(xié)議棧,該協(xié)議棧具有: 事務(wù)層; 鏈路層;以及 物理層,其中,所述協(xié)議棧用于生成沿著所述PtP互連傳輸?shù)牡谝环纸M,所述第一分組包括: 報頭前綴;以及 跟隨在所述報頭前綴之后的報頭,所述報頭包括類型字段和格式字段,并且其中,所述報頭前綴被配置為是端到端報頭前綴和本地報頭前綴中之一。
2.根據(jù)權(quán)利要求1所述的裝置,其中,所述第一部件用于發(fā)送具有擴展報頭前綴的所述第一分組,該擴展報頭前綴包括多個單元。
3.根據(jù)權(quán)利要求2所述的裝置,其中所述多個單元中的每個單元包括相同的操作碼字段和不同的數(shù)據(jù)字段。
4.根據(jù)權(quán)利要 求1所述的 裝置,其中所述鏈路層用于生成第一報頭前綴,所述事務(wù)層用于生成第二報頭前綴,其中,所述第一和第二報頭前綴與所述報頭相關(guān)聯(lián)。
5.根據(jù)權(quán)利要求4所述的裝置,其中所述第一報頭前綴用于為耦合到所述PtP互連的中間路由元件提供路由信息。
6.根據(jù)權(quán)利要求1所述的裝置,其中,所述第一部件用于生成包括多個堆疊的前綴單元的所述報頭前綴,其中,所述堆疊的前綴單元中的至少一些是全局前綴單元,所述全局前綴單元將經(jīng)過路由元件而不被解碼。
7.根據(jù)權(quán)利要求1所述的裝置,其中,所述第一部件用于生成包括多個前綴單元的所述前綴報頭,其中,第一前綴單元包括具有第一操作碼值的操作碼字段,該第一操作碼值與將由接收機來解碼的編碼相對應(yīng),其余的前綴單元包括具有第二操作碼值的操作碼字段,該第二操作碼值用于指示相應(yīng)的數(shù)據(jù)字段與所述第一前綴單元相關(guān)聯(lián)。
8.根據(jù)權(quán)利要求1所述的裝置,其中,當通過端到端循環(huán)冗余校驗和來保護所述第一分組時,通過所述端到端循環(huán)冗余校驗和來保護所述報頭前綴。
9.根據(jù)權(quán)利要求1所述的裝置,其中,所述報頭前綴具有操作碼字段和數(shù)據(jù)字段。
10.根據(jù)權(quán)利要求9所述的裝置,其中,所述操作碼字段具有第一部分和第二部分,該第一部分具有用于指示存在所述報頭前綴的預(yù)定值,該第二部分用于指示操作碼。
11.一種系統(tǒng),包括: 發(fā)射機,包括具有事務(wù)層、鏈路層和物理層的協(xié)議棧,其中,所述協(xié)議棧用于發(fā)送第一事務(wù)層分組(TLP),其包括: 報頭前綴;以及 跟隨在所述報頭前綴之后的報頭,并且其中,所述報頭前綴被配置為是端到端報頭前綴和本地報頭如綴中之一; 接收機,其通過點對點(PtP)互連耦合到所述發(fā)射機;以及 動態(tài)隨機存取存儲器(DRAM),其耦合到所述接收機和發(fā)射機。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述報頭前綴包括編碼字段和數(shù)據(jù)字段,其中,所述編碼字段具有第一部分和第二部分,該第一部分具有用于指示存在所述報頭前綴的預(yù)定值,該第二部分用于指示操作碼,第一碼用于指示在所述第一 TLP中存在擴展前綴,或者第二碼用于指示在所述數(shù)據(jù)字段中存在操作碼信息。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述發(fā)射機用于發(fā)送具有所述擴展前綴的第一分組,該擴展前綴包括多個單元,所述多個單元中的每個單元具有所述第一碼和不同的數(shù)據(jù)字段。
14.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述發(fā)射機用于生成包括多個堆疊的前綴單元的所述報頭前綴,其中,所述堆疊的前綴單元中的至少一些是全局前綴單元,所述全局前綴單元將經(jīng)過路由元件而不被解碼。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中,如果前綴單元的數(shù)量少于預(yù)定的閾值,則所述多個堆疊的前綴單元將消耗單個報頭信用值。
16.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述發(fā)射機用于生成包括多個前綴單元的所述前綴報頭,其中,第一前綴單元包括具有擁有第一操作碼值的第二部分的編碼字段,該第一操作碼值與將由接收機來解碼的操作碼相對應(yīng),其余的前綴單元包括具有擁有第一碼的第二部分的編碼字段,該第一碼用于指示相應(yīng)的數(shù)據(jù)字段與所述第一前綴單元的操作碼相關(guān)聯(lián)。
17.根據(jù)權(quán)利要求11所述的系 統(tǒng),其中,所述接收機包括配置寄存器,其具有與能被該接收機處理的最大擴展前綴相對應(yīng)的最大前綴參數(shù)。
18.—種方法,包括: 生成屬于端到端報頭前綴和本地報頭前綴中之一的前綴報頭,所述前綴報頭用于將從發(fā)射機發(fā)送的第一分組;以及 沿著互連將所述第一分組從所述發(fā)射機發(fā)送到接收機,所述第一分組包括其后跟隨著報頭的所述前綴報頭。
19.根據(jù)權(quán)利要求18所述的方法,還包括:生成具有操作碼字段的所述前綴報頭,所述操作碼字段包括第一部分和第二部分,該第一部分具有用于指示存在所述前綴報頭的預(yù)定值,該第二部分用于指示操作碼。
20.根據(jù)權(quán)利要求18所述的方法,還包括:在所述前綴報頭中包括用于所述第一分組的中間接收機的路由信息。
21.根據(jù)權(quán)利要求20所述的方法,還包括:生成作為將由所述中間接收機來處理的本地前綴的所述前綴報頭。
22.根據(jù)權(quán)利要求18所述的方法,還包括:生成作為將經(jīng)過所述接收機而不被該接收機解碼的全局前綴的所述前綴報頭。
23.根據(jù)權(quán)利要求18所述的方法,還包括:生成包括多個堆疊的前綴單元的所述前綴報頭,其中,所述堆疊的前綴單元中的至少一些是全局前綴單元,所述全局前綴單元將經(jīng)過路由元件而不被解碼。
24.根據(jù)權(quán)利要求23所述的方法,其中,所述堆疊的前綴單元中的至少一些是本地前綴單元,所述本地前綴單元將在所述路由元件中被處理以向該路由元件提供附加路由信肩、O
【文檔編號】H04L12/701GK103490997SQ201310370083
【公開日】2014年1月1日 申請日期:2009年5月31日 優(yōu)先權(quán)日:2008年5月30日
【發(fā)明者】M·韋格, J·阿亞諾維奇 申請人:英特爾公司