專利名稱::增強型通用輸入/輸出體系結(jié)構(gòu)中的差錯轉(zhuǎn)發(fā)及有關(guān)方法
技術(shù)領(lǐng)域:
:本發(fā)明一般地涉及通用輸入/輸出總線體系結(jié)構(gòu),更具體地說,涉及高速、點到點的互連以及通信體系結(jié)構(gòu)、協(xié)議和有關(guān)方法。
背景技術(shù):
:計算裝置,例如計算機系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)交換機和路由器、無線通信裝置等,一般由多個不同的元件組成。這種元件通常包括處理器、微控制器和其它控制邏輯、存儲器系統(tǒng)、輸入和輸出接口,等等。為了有助于這種元件間的通信,長期以來計算裝置依賴于通用輸入/輸出(GIO)總線,用于使計算系統(tǒng)的這些不同元件彼此通信,以支持這種裝置所提供的多種應(yīng)用。外圍組件互連,或PCI總線體系結(jié)構(gòu)可能是這種傳統(tǒng)GIO總線體系結(jié)構(gòu)中最普遍的一種。PCI總線標(biāo)準(zhǔn)(1998年12月18日發(fā)布的PeripheralComponentInterconnect(PCI)LocalBusSpecification,Rev.2.2)定義了一禾中多接點式(multi-drop)、并行的總線體系結(jié)構(gòu),用于在計算裝置內(nèi)將芯片、擴展卡和處理器/存儲器子系統(tǒng)以仲裁的方式互連起來。為各種目的,此處明確地包含了PCI局域總線標(biāo)準(zhǔn)的內(nèi)容。盡管傳統(tǒng)的PCI總線實現(xiàn)具有133Mbps的吞吐率(即,32位33MHz),但PCI2.2標(biāo)準(zhǔn)允許每個管腳64位(bit)的并行連接,時鐘高達(dá)133MHz,從而產(chǎn)生超過1Gbps的理論吞吐率。在這方面,由這樣的傳統(tǒng)多接點式PCI總線體系結(jié)構(gòu)提供的吞吐率到目前為止已經(jīng)提供了足夠的帶寬來適應(yīng)即使是最先進的計算裝置(例如,多處理器服務(wù)器應(yīng)用、網(wǎng)絡(luò)裝置等)的內(nèi)部通信需要。然而,隨著寬帶因特網(wǎng)訪問的廣泛應(yīng)用,處理能力的新近進展使處理速度超過了lGHz的閾值,諸如PCI總線體系結(jié)構(gòu)之類的傳統(tǒng)GIO體系結(jié)構(gòu)已經(jīng)變成這樣的計算裝置中的瓶頸。通常與傳統(tǒng)GIO體系結(jié)構(gòu)聯(lián)系在一起的另一個限制是,它們通常不能很好的適宜于操作/處理同步(或者說時間相關(guān))數(shù)據(jù)流。這樣的同步數(shù)據(jù)流的一個例子是多媒體數(shù)據(jù)流,該多媒體數(shù)據(jù)流需要同步傳輸機制來確保接收數(shù)據(jù)與使用數(shù)據(jù)同速,并且音頻部分與視頻部分同步。傳統(tǒng)的GIO體系結(jié)構(gòu)異步處理數(shù)據(jù),或以帶寬允許的隨機時間間隔處理數(shù)據(jù)。這種同步數(shù)據(jù)的異步處理可能導(dǎo)致音頻與視頻的不重合,結(jié)果,某些同步多媒體內(nèi)容供應(yīng)商制定了使某些數(shù)據(jù)優(yōu)先于其它數(shù)據(jù)的規(guī)則,例如使音頻數(shù)據(jù)優(yōu)先于視頻數(shù)據(jù),從而最終用戶至少接收相對穩(wěn)定的音頻流(即,不被打斷),使得他們可以欣賞或了解正在被流式播放的歌曲、故事等等。
發(fā)明內(nèi)容本發(fā)明的一個技術(shù)方案提供了一種方法,該方法包括在通過通用輸入/輸出總線接收到的數(shù)據(jù)報中檢測先前標(biāo)識出的差錯;通過將尾部附加到所述具有先前標(biāo)識出的差錯的數(shù)據(jù)報上以指示所述數(shù)據(jù)報中的讀取完成或?qū)懭胝埱髷?shù)據(jù)被標(biāo)識為有缺陷的,來選擇性地修改所述具有先前標(biāo)識出的差錯的數(shù)據(jù)報,其中所述尾部與所述數(shù)據(jù)報中的差錯控制內(nèi)容是分開的;以及將修改后的數(shù)據(jù)報轉(zhuǎn)發(fā)到其目的地,其中所述數(shù)據(jù)報是在一通用輸入/輸出接口處經(jīng)由所述通用輸入/輸出總線接收到的,其中所述通用輸入/輸出接口被實現(xiàn)在一通信端口上,所述通信端口實現(xiàn)了一通信棧,該通信棧包括事務(wù)層、數(shù)據(jù)鏈路層和物理層,所述物理層用于接收所述數(shù)據(jù)報,所述數(shù)據(jù)報來自通過通用輸入/輸出鏈路而耦合的遠(yuǎn)程通用輸入/輸出接口。本發(fā)明的另一技術(shù)方案提供了一種裝置,該裝置包括通用輸入/輸出總線;以及通過所述通用輸入/輸出總線可通信地耦合的兩個或多個組件,所述兩個組件中的至少一個包括輔助該組件通過所述總線來通信的接口,該接口包括事務(wù)層,該事務(wù)層用于在通過通用輸入/輸出總線接收到的數(shù)據(jù)報中檢測先前標(biāo)識出的差錯;通過將尾部附加到所述具有先前標(biāo)識出的差錯的數(shù)據(jù)報上以指示所述數(shù)據(jù)報中的讀取完成或?qū)懭胝埱髷?shù)據(jù)被標(biāo)識為有缺陷的,來選擇性地修改所述具有先前標(biāo)識出的差錯的數(shù)據(jù)報;以及將修改后的數(shù)據(jù)報轉(zhuǎn)發(fā)到其目的地,其中所述接口被實現(xiàn)在一通信端口上,所述通信端口實現(xiàn)了一通信棧,該通信桟包括事務(wù)層、數(shù)據(jù)鏈路層和物理層,所述物理層用于從所述通用輸入/輸出總線接收所述數(shù)據(jù)報。在附圖中,示例性而不一定限制性地對本發(fā)明進行了圖示,其中相似的標(biāo)號指示相似的元件。圖1是根據(jù)本發(fā)明教導(dǎo)的電子裝置的方框圖,該電子裝置包括本發(fā)明的一個或多個方面以便于該裝置的一個或多個組成元件之間的通信;圖2示出了根據(jù)本發(fā)明一個示例性實施例的示例性通信棧,該通信棧由電子裝置的一個或多個元件使用,以便于這些元件之間的通信;圖3是根據(jù)本發(fā)明教導(dǎo),示出了示例性事務(wù)(transaction)描述符的示圖4示出了根據(jù)本發(fā)明一個方面的示例性通信鏈路,該通信鏈路包括一個或多個虛擬信道以便于電子設(shè)備的一個或多個元件之間的通信;圖5是根據(jù)本發(fā)明一個示例性實施例,用于實現(xiàn)本發(fā)明一個或多個方面的示例性通信代理的方框圖6是本發(fā)明的事務(wù)層中使用的各種分組頭部格式的方框圖7是根據(jù)本發(fā)明示例性實施例的示例性存儲器體系結(jié)構(gòu)的方框圖,該存儲器體系結(jié)構(gòu)被用于輔助本發(fā)明的一個或多個方面;圖8是根據(jù)本發(fā)明一個方面的示例性鏈路狀態(tài)機圖的狀態(tài)圖;以及圖9是一種可訪問介質(zhì)的方框圖,該介質(zhì)包括當(dāng)由電子設(shè)備訪問時實現(xiàn)本發(fā)明一個或多個方面的內(nèi)容。具體實施例方式本發(fā)明一般地涉及創(chuàng)新的點到點互連體系結(jié)構(gòu)、通信協(xié)議及有關(guān)方法,用于提供用在電子裝置中可擴展/可擴充(scalable/extensible)的通用輸入/輸出(I/0)通信平臺。在這方面,介紹了創(chuàng)新的增強型通用輸入/輸出(EG10)互連體系結(jié)構(gòu)、和相關(guān)的EGIO通信協(xié)議。根據(jù)一個示例性實施例,EGIO體系結(jié)構(gòu)的不同元件包括主橋(hostbridge)、交換器(switch)或端點(end-point)中的一個或多個,每個元件至少包含EGIO特征的一個子集以支持這些元件之間的EGIO通信。使用(多條)串行通信信道來執(zhí)行這些元件的EGIO設(shè)備之間的通信,所述串行通信信道使用創(chuàng)新EGIO通信協(xié)議,所述協(xié)議如下面將要詳細(xì)介紹的那樣支持一個或多個創(chuàng)新特征,所述創(chuàng)新特征包括但不限于虛擬通信信道、基于尾部(tailer)的差錯轉(zhuǎn)發(fā)(errorforwarding)、對老式的基于PCI的設(shè)備的支持、多種請求響應(yīng)類型、流控制和/或數(shù)據(jù)完整性管理功能。根據(jù)本發(fā)明的一個方面,通過引入EGIO通信協(xié)議棧,在計算裝置的每個元件中都支持所述通信協(xié)議,該棧包括物理層、數(shù)據(jù)鏈路層和事務(wù)層。根據(jù)另一種實現(xiàn),引入了通信代理(communicationsagent),其包含EGIO引擎,該引擎至少包括上述特征的一個子集。從下面的討論中將會清楚,所述通信代理可以很好地被電子設(shè)備的老式元件所使用,以將本發(fā)明的通信協(xié)議要求引入到其它非EGIO互連裝置體系結(jié)構(gòu)中。根據(jù)上文和下文的描述,本領(lǐng)域技術(shù)人員將會意識到,可以將本發(fā)明的一個或多個元件包含在硬件、軟件、傳播信號或其結(jié)合中。在本說明書各處提及的"一個實施例"或"實施例"指的是,所描述的與該實施例有關(guān)的具體特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個實施例中。因此,在本說明書多個位置出現(xiàn)的短語"在一個實施例中"或"在實施例中"不一定都指同一實施例。此外,所述具體特征、結(jié)構(gòu)或特性可以適當(dāng)?shù)姆绞浇Y(jié)合在一個或多個實施例中。術(shù)語在深入討論創(chuàng)新的EGIO互連體系結(jié)構(gòu)和通信協(xié)議的細(xì)節(jié)之前,引入將在該詳細(xì)描述中使用的詞匯表元素是很有幫助的通告(Advertise):在EGIO流控制的上下文中使用,是指接收器通過使用EGIO協(xié)議的流控制更新消息來發(fā)送有關(guān)它的流控制信用量(credit)可用性的信息的動作;完成器(Completer):請求所指向的邏輯設(shè)備;完成器ID:完成器的總線標(biāo)識符(例如,號碼)、設(shè)備標(biāo)識符和功能標(biāo)識符中的一個或多個的組合,其唯一標(biāo)識了請求的完成器;.完成(completion):用于終止或部分終止一個序列的分組被稱為完成。根據(jù)一個示例性實現(xiàn),完成對應(yīng)于在前請求,并且在某些情況下含有數(shù)據(jù);.配置空間EGIO體系結(jié)構(gòu)中的四個地址空間中的一個。具有配置空間地址的分組被用于對設(shè)備進行配置;.組件物理設(shè)備(即,在單個封裝之中);數(shù)據(jù)鏈路層EGIO體系結(jié)構(gòu)的中間層,位于事務(wù)層(上層)和物理層(下層)之間;數(shù)據(jù)鏈路層分組(DLLP):數(shù)據(jù)鏈路層分組是在數(shù)據(jù)鏈路層產(chǎn)生并使用的分組,用于支持鏈路管理功能;下行流(downstream):指的是元件的相對位置或離開主橋的信息流;端點具有00h類型配置空間頭部的EGIO設(shè)備;流控制用于將來自接收器的接收緩沖器信息發(fā)送到發(fā)送器,以防止接收緩沖器溢出,并使發(fā)送器裝置可以服從排序規(guī)則;流控制分組(FCP):事務(wù)層分組(TLP),用于將來自一個組件中的事務(wù)層的流控制信息發(fā)送到另一個組件中的事務(wù)層;功能多功能設(shè)備的一個獨立部分,在配置空間中由唯一的功能標(biāo)識符(例如,功能號碼)標(biāo)識;層次結(jié)構(gòu)(Hierarchy):定義了在EGIO體系結(jié)構(gòu)中實現(xiàn)的I/O互連拓?fù)浣Y(jié)構(gòu)。層次結(jié)構(gòu)由對應(yīng)于最靠近枚舉設(shè)備(enumeratingdevice)(例如,主CPU)的鏈路的單一主橋來表征;9層次結(jié)構(gòu)域EGIO層次結(jié)構(gòu)被主橋分成多個段,所述主橋產(chǎn)生多于一個EGIO接口,其中這些段被稱為層次結(jié)構(gòu)域;主橋?qū)⒅鰿PU復(fù)合體(complex)連接到一個或多個EGIO鏈路;IO空間EGIO體系結(jié)構(gòu)的四個地址空間中的一個;管線(Lane):物理鏈路的一組差分信號對,一對用于發(fā)送,一對用于接收。N接口(by-Ninterface)由N條管線組成;鏈路兩個組件之間的雙單工(dual-simplex)通信路徑;兩個端口(一個發(fā)送,一個接收)及其(多條)互連管線的集合;邏輯總線在配置空間中具有相同總線號碼的一系列設(shè)備之間的邏輯連接;邏輯設(shè)備EGIO體系結(jié)構(gòu)的元件,其在配置空間中對應(yīng)于唯一的設(shè)備標(biāo)識符;存儲器空間EGIO體系結(jié)構(gòu)的四個地址空間中的一個;消息具有消息空間類型的分組;消息空間EGIO體系結(jié)構(gòu)的四個地址空間中的一個。如PCI中定義的專門周期作為消息空間的子集而被包括在其中,并且因此提供了(多個)與老式設(shè)備的接口;(多個)老式軟件模型初始化、發(fā)現(xiàn)、配置以及使用老式設(shè)備所需的(多個)軟件模型(例如,在例如EGIO至老式橋中所包含的PCI軟件模型有助于與老式設(shè)備的交互);物理層EGIO體系結(jié)構(gòu)層,其直接面對兩個組件之間的通信介質(zhì);端口與組件相關(guān)聯(lián)的接口,在該組件和EGIO鏈路之間;接收器通過鏈路接收分組信息的組件是接收器(有時稱為目標(biāo));請求用于發(fā)起序列的分組被稱為請求。請求包括一些操代碼,并且在某些情況下,包括地址和長度、數(shù)據(jù)或其它信息;請求器(requester):首先將序列引入到EGIO域的邏輯設(shè)備;請求器ID:請求器的總線標(biāo)識符(例如,總線號碼)、設(shè)備標(biāo)識符和功能標(biāo)識符中的一個或多個的組合,其唯一地標(biāo)識請求器。在大多數(shù)情況下,EGIO橋或交換器將請求從一個接口轉(zhuǎn)發(fā)到另一個接口而不修改請求器ID。來自除EGIO總線之外的總線的橋通常應(yīng)當(dāng)存儲請求器ID,10以在為該請求產(chǎn)生一個完成時使用。序列單個請求,以及與請求器執(zhí)行單個邏輯傳送相關(guān)聯(lián)的零個或更多個完成;序列ID:請求器ID和標(biāo)記(Tag)中一個或多個的組合,其中所述組合唯一地標(biāo)識作為公共序列一部分的請求和完成;分裂事務(wù)(splittransaction):含有初始事務(wù)(分裂請求)的單個邏輯傳送,目標(biāo)(完成器或橋)以一個分裂響應(yīng)來終止該事務(wù),隨后由完成器(或橋)發(fā)起一個或多個事務(wù)(分裂完成),以將讀取數(shù)據(jù)(如果讀取)或完成消息發(fā)送回請求器;符號(symbol):作為8位/10位編碼的結(jié)果而產(chǎn)生的10位數(shù)值;符號時間在管線上放置符號所需的時間段;標(biāo)記由請求器分配到給定序列以將其與其它序列區(qū)分開的號碼,它是序列ID的一部分;事務(wù)層分組(TLP):TLP是在事務(wù)層中產(chǎn)生以運送請求或完成的分組;事務(wù)層EGIO體系結(jié)構(gòu)的最外層(最上層),其在事務(wù)級別進行操作(例如,讀取、寫入等等);事務(wù)描述符分組頭部的元素,與地址、長度和類型一起描述事務(wù)的屬性。示例性電子裝置圖1是根據(jù)本發(fā)明教導(dǎo)的簡化電子裝置100的方框圖,該電子裝置包括增強性通用輸入/輸出(EGIO)總線體系結(jié)構(gòu)、協(xié)議及有關(guān)方法。根據(jù)圖1所示的例子,電子裝置100被示出為包含多個電子元件,包括(多個)處理器102、主橋104、交換器108以及端點110中的一個或多個,每個元件都如圖所示進行耦合。根據(jù)本發(fā)明的教導(dǎo),至少主橋104、(多個)交換器108以及端點110被賦予了EGIO通信接口106的一個或多個示例,以有助于本發(fā)明的一個或多個方面。如圖所示,元件102、104、108和110中的每一個都經(jīng)由EGIO接口106通過通信鏈路112可通信地耦合到至少一個其它元件,其中通信鏈路112支持一條或多條EGIO通信信道。如上面所介紹的,希望用電子裝置iiIOO代表多種傳統(tǒng)和非傳統(tǒng)計算系統(tǒng)、服務(wù)器、網(wǎng)絡(luò)交換器、網(wǎng)絡(luò)路由器、無線通信用戶單元、無線通信電話基礎(chǔ)設(shè)施元件、個人數(shù)字助理、機頂盒或任何電子裝置中的任何一個或多個,所述任何電子裝置將從通過結(jié)合這里描述的EGIO互連體系結(jié)構(gòu)、通信協(xié)議或相關(guān)方法的至少一個子集而產(chǎn)生的通信資源中獲益。根據(jù)圖1所示的示例性實現(xiàn),電子裝置IOO具有一個或多個處理器102。這里所使用的(多個)處理器102控制電子裝置100的功能性能力的一個或多個方面。在這個方面,(多個)處理器102可以代表多種控制邏輯中的任何一個,所述控制邏輯包括但不限于微處理器、可編程邏輯組件(PLD)、可編程邏輯陣列(PLA)、專用集成電路(ASIC)、微控制器等中的一個或多個。主橋104在電子裝置EGIO體系結(jié)構(gòu)的處理器102和/或處理器/存儲器復(fù)合體,以及一個或多個其它元件108、UO之間提供通信接口,并且在這方面,其作為EGIO體系結(jié)構(gòu)層次結(jié)構(gòu)的根(root)。這里所使用的主橋104指的是最靠近于主控制器、存儲器控制中心、IO控制中心、上述的任何組合或芯片組/CPU元件的某種組合(即,處于計算系統(tǒng)環(huán)境中)的EGIO層次結(jié)構(gòu)的邏輯實體。在這方面,盡管在圖1中被示出為單個單元,但主橋104可以被認(rèn)為是可具有多個物理組件的單個邏輯實體。根據(jù)圖1所示的示例性實現(xiàn),主橋104組裝有一個或多個EGIO接口106以便于與其它外圍設(shè)備進行通信,所述外圍設(shè)備例如是(多個)交換器108、(多個)端點110以及(多個)老式橋114或116,盡管沒有具體示出老式橋114或116。根據(jù)一個實現(xiàn),每個EGIO接口106代表不同的EGIO層次結(jié)構(gòu)域。在此方面,圖1所示的實現(xiàn)表示了具有三(3)個層次結(jié)構(gòu)域的主橋104。應(yīng)當(dāng)注意到,盡管被示出為包括多個單獨EGIO接口106,但是可以預(yù)期其它的實施例,其中單個接口106具有多個端口以適應(yīng)和多個設(shè)備進行通信。根據(jù)本發(fā)明的教導(dǎo),交換器108具有至少一個上行流(upstream)端口(即、導(dǎo)向主橋104)和至少一個下行流端口。根據(jù)一個實現(xiàn),交換器108將最靠近主橋的一個端口(即,接口的一個端口或接口106自身)作為上行流端口,而所有其它的端口是下行流端口。根據(jù)一個實現(xiàn),交換器108對于配置軟件(例如,老式配置軟件)表現(xiàn)為PCI到PCI橋,并且使用PCI橋機制來對事務(wù)進行路由。在交換器108的上下文中,對等(peer-to-peer)事務(wù)被定義為這樣的事務(wù),其中的接收端口和發(fā)送端口都是下行流端口。根據(jù)一個實現(xiàn),交換器108支持對所有類型的事務(wù)層分組進行路由,但除了那些與從任何端口到任何其它端口的鎖定事務(wù)序列相關(guān)聯(lián)的事務(wù)層分組(TLP)之外。在這方面,所有廣播消息一般都會從交換器108上的接收端口被路由到它的所有其它端口。不能被路由到端口的事務(wù)層分組一般會被交換器108確定為不支持的TLP。當(dāng)將事務(wù)層分組(TLP)從接收端口傳送到發(fā)送端口時,交換機108—般不修改它們,除非需要進行修改以適應(yīng)發(fā)送端口(例如,耦合至老式橋114、116的發(fā)送端口)的不同協(xié)議需求。應(yīng)當(dāng)意識到,交換器108代表其它設(shè)備工作,并且在這方面,它不能預(yù)先知道流量類型和模式。根據(jù)下面將要詳細(xì)討論的一個實現(xiàn),本發(fā)明的流控制和數(shù)據(jù)完整性方面以每個鏈路(per-link)為基礎(chǔ)而實現(xiàn),而不是以端到端(end-to-end)為基礎(chǔ)實現(xiàn)。因此,根據(jù)這樣的實現(xiàn),交換器108參與用于流控制和數(shù)據(jù)完整性的協(xié)議。為了參與流控制,交換器108為每個端口維持單獨的流控制以提高交換器108的性能特性。類似地,交換器108通過使用TLP檢錯機制檢查進入交換器的每個TLP而以每個鏈路為基礎(chǔ)來支持?jǐn)?shù)據(jù)完整性處理,這在下面將詳細(xì)描述。根據(jù)一個實現(xiàn),允許交換器108的下行流端口形成新的EGIO層次結(jié)構(gòu)域。繼續(xù)參考圖i,端點110被定義為具有00hex(十六進制00)(00h)類型配置空間頭部的任何設(shè)備。端點設(shè)備110可以是EGIO語義事務(wù)的請求器或完成器,可以代表它自身或是代表截然不同的非EGIO設(shè)備。這樣的端點110示例包括但不限于EGIO兼容(EGIOcompliant)圖形設(shè)備、EGIO兼容存儲器控制器以及/或者實現(xiàn)了EGIO和諸如通用串行總線(USB)、以太網(wǎng)等某些其它接口之間的連接的設(shè)備。與下文詳細(xì)討論的老式橋1]4、116不同,擔(dān)當(dāng)非EGIO兼容設(shè)備的接口的端點110不會為這些非EGIO兼容設(shè)備提供完全軟件支持。雖然認(rèn)為將主處理器復(fù)合體102連接到EGIO體系結(jié)構(gòu)的設(shè)備是主橋104,但是它可以是與位于EGIO體系結(jié)構(gòu)中的其它端點110類型相同的設(shè)備,它們只是通過其相對于處理器復(fù)合體102的位置來加以區(qū)分。根據(jù)本發(fā)明的教導(dǎo),端點iio可以被概括為下列三個類別的一個或多個(1)老式與EGIO兼容端點,(2)老式端點,以及(3)EGIO兼容端點,每個在EGIO體系結(jié)構(gòu)中具有不同的操作規(guī)則。如上所述,EGIO兼容端點110與老式端點(例如,118、120)的不同之處在于,EGIO端點110具有00h類型配置空間頭部。這些端點(110、118和120)中的每個都作為完成器而支持配置請求。這些端點被允許產(chǎn)生配置請求,并且可以被分類為老式端點或EGIO兼容端點,但是該分類需要遵守以下的其它規(guī)則。老式端點(例如,118、120)被允許作為完成器來支持IO請求并被允許產(chǎn)生IO請求。如果老式端點(118、120)的老式軟件支持需求需要的話,就允許其作為完成者而產(chǎn)生鎖定語義(locksemantics)。老式端點一般不發(fā)出鎖定請求。EGIO兼容端點110—般不作為完成器來支持IO請求并且不產(chǎn)生IO請求。EGIO端點110不作為完成器來支持鎖定請求,并且不作為請求器來產(chǎn)生鎖定請求。EGIO至老式橋114、116是專用端點110,其包括用于老式設(shè)備(118、120)的基本軟件支持例如完全軟件支持,其中所述橋?qū)⑺隼鲜皆O(shè)備連接到EGIO體系結(jié)構(gòu)。在這方面,老式橋114、116—般具有一個上行流端口(但也可以具有多個),并具有多個下行流端口(但也可以只有一個)。根據(jù)老式軟件模型來支持鎖定請求。老式橋114、116的上行流端口應(yīng)當(dāng)以每個鏈路為基礎(chǔ)來支持流控制并且遵守EGIO體系結(jié)構(gòu)的流控制和數(shù)據(jù)完整性規(guī)則,這在下文中將詳細(xì)介紹。這里所使用的通信鏈路112意在代表多種通信介質(zhì)中的任何一個,所述多種通信介質(zhì)包括但不局限于銅線、光纖、(多條)無線通信信道、紅外通信鏈路等等。根據(jù)一個示例性實現(xiàn),EGIO鏈路112是差分串行線路對,一對中的每個都支持發(fā)送和接收通信,從而提供了對全雙工通信能力的支持。根據(jù)一個實現(xiàn),鏈路提供具有初始(基本)操作頻率為2.5Ghz的可擴展串行時鐘頻率。每個方向的接口寬度可依xl、x2、x4、x8、x12、x16、x32物理管線而擴展。如上所述以及下面將要詳細(xì)介紹的,EGIO鏈路112可以支持設(shè)備間的多條虛擬信道,從而使用一條或多條虛擬信道在這些設(shè)備之間提供對同步流量的不間斷通信的支持,所述多條虛擬信道例如是一條音頻信道和一條視頻信道。示例性EGIO接口體系結(jié)構(gòu)圖2示出了根據(jù)本發(fā)明一個示例性實施例的示例性EGIO接口106體系結(jié)構(gòu),其由電子裝置的一個或多個元件使用,以便于這些元件之間的通信。根據(jù)圖2所示的示例性實現(xiàn),EGIO接口106可以表示為包括了事務(wù)層202、數(shù)據(jù)鏈路層204和物理層206的通信協(xié)議棧。如圖所示,物理鏈路層接口被示出為包括邏輯子塊210和物理子塊,其中每個都將在下面進行更詳細(xì)的討論。事務(wù)層根據(jù)本發(fā)明的教導(dǎo),事務(wù)層202提供EGIO體系結(jié)構(gòu)和設(shè)備核心之間的接口。在這方面,事務(wù)層202的主要職責(zé)是為主設(shè)備(或代理)中的一個或多個邏輯設(shè)備裝配和拆解分組(即,事務(wù)層分組或TLP)。地址空間、事務(wù)類型和用途事務(wù)形成了在發(fā)起代理和目標(biāo)代理之間的信息傳送的基礎(chǔ)。根據(jù)一個示例性實施例,在創(chuàng)新的EGIO體系結(jié)構(gòu)中定義了四個地址空間,包括例如配置地址空間、存儲器地址空間、輸入/輸出地址空間以及消息地址空間,每個都具有自己唯一的預(yù)期用途(例如見圖7,下面進行了詳細(xì)的說明)。存儲器空間(706)事務(wù)包括讀取請求和寫入請求中的一個或多個,以將數(shù)據(jù)發(fā)送到存儲器映射位置或從該位置取出數(shù)據(jù)。存儲器空間事務(wù)可以使用兩種不同的地址格式,例如短地址格式(例如,32位地址)或長地址格式(例如,64位的長度)。根據(jù)一個示例性實施例,EGIO體系結(jié)構(gòu)使用鎖定協(xié)議語義(即,代理可以鎖定對所修改的存儲器空間的訪問)來提供傳統(tǒng)的讀取、修改和寫入序列。更具體地說,根據(jù)特定設(shè)備規(guī)則(橋、交換器、端點、老式橋),允許實現(xiàn)對下行流鎖定的支持。如上所述,支持這種鎖定語義,以支持老式設(shè)備。IO空間(704)事務(wù)用于訪問IO地址空間(例如,16位IO地址空間)中的輸入/輸出映射存儲器寄存器。諸如英特爾體系結(jié)構(gòu)(IntelArchitecture)處理器以及其它處理器的某些處理器102通過處理器的指令集而包括IO空間定義。因此,IO空間事務(wù)包括讀取請求和寫入請求以將數(shù)據(jù)傳送至IO映射位置或從該位置取出數(shù)據(jù)。配置空間(702)事務(wù)用于訪問EGIO設(shè)備的配置空間。配置空間的事務(wù)包括讀取請求和寫入請求。由于如此多的傳統(tǒng)處理器一般不含有本地配置空間,所以通過一種機制來映射該空間,所述機制即是與傳統(tǒng)PCI配置空間訪問機制(例如,使用基于CFC/CFC8的PCI配置機制弁1)相兼容的軟件。或者,也可以使用存儲器別名機制來訪問配置空間。消息空間(708)事務(wù)(或簡稱為消息)被定義為支持通過(多個)接口106而在EGIO代理之間進行帶內(nèi)通信。由于傳統(tǒng)的處理器不包括對本地消息空間的支持,所以這是通過EGIO代理在接口106中實現(xiàn)的。根據(jù)一個示例性實現(xiàn),諸如中斷和電源管理請求的傳統(tǒng)"邊帶(side-band)"信號作為消息而被實現(xiàn),以減少所需的用來支持這些老式信號的引腳數(shù)目。一些處理器以及PCI總線包括"專用周期"(specialcycles)的概念,其也被映射到EGIO接口106中的消息。根據(jù)一個實施例,消息通常分為兩類標(biāo)準(zhǔn)消息和廠商定義消息。根據(jù)所圖示的示例性實施例,標(biāo)準(zhǔn)消息包括通用消息組和系統(tǒng)管理消息組。通用消息可以是單一目的地消息或廣播/組播消息。系統(tǒng)管理消息組可以包括中斷控制消息、電源管理消息、排序控制原語(primitive)和差錯信令中的一個或多個,它們的例子將在下文中介紹。根據(jù)一個示例性實現(xiàn),通用消息包括支持鎖定事務(wù)的消息。根據(jù)該示例性實現(xiàn),引入了UNLOCK(解鎖)消息,其中交換器(例如,108)—般會通過可能參與鎖定事務(wù)的任何端口來轉(zhuǎn)發(fā)UNLOCK消息。在沒有被鎖定時接收到UNLOCK消息的端點設(shè)備(例如,110、118、120)將忽略該消息。否則,將在接收到UNLOCK消息之后將被鎖定的設(shè)備解鎖。根據(jù)一個示例性實現(xiàn),系統(tǒng)管理消息組包括用于排序和/或同步消息的專用消息。一個這樣的消息是FENCE(防護)消息,用于在由EGIO體系結(jié)構(gòu)的接收元件產(chǎn)生的事務(wù)上施加嚴(yán)格的排序規(guī)則。根據(jù)一個實現(xiàn),只有網(wǎng)絡(luò)元件的一個所選子集,例如端點,對該FENCE消息作出反應(yīng)。除前述16的內(nèi)容以外,這里還預(yù)見了例如通過使用下文討論的尾部差錯轉(zhuǎn)發(fā),來產(chǎn)生指示可校正差錯、不可校正差錯和致命差錯的消息。根據(jù)上文所介紹的本發(fā)明的一個方面,系統(tǒng)管理消息組使用帶內(nèi)消息提供中斷信令。根據(jù)一個實現(xiàn),引入了ASSERT—INTx/DEASSERT一INTx消息對,其中斷言(assert)中斷消息的發(fā)布通過主橋104被發(fā)送到處理器復(fù)合體。根據(jù)所圖示的示例性實現(xiàn),ASSERTJNTx/DEASSERT—INTx消息對的使用規(guī)則反映了PCI規(guī)范中的PCIINTx弁信號的消息的使用規(guī)則,如上所述。對于來自任何一個設(shè)備的Assert—INTx的每次發(fā)送,通常都有對應(yīng)的Deassert—INTx的發(fā)送。對于特定、,(A、B、C或D),一般在發(fā)送Deassert—INTx之前只發(fā)送一次Assert—INTx。交換器一般會將Assert」NTx/Deassart一INTx消息路由到主橋104,其中主橋一般會跟蹤AssertjNTx/Deassart一INTx消息以產(chǎn)生虛擬中斷信號,并且將這些信號映射到系統(tǒng)中斷資源。除了通用和系統(tǒng)管理消息組之外,EGIO體系結(jié)構(gòu)建立了標(biāo)準(zhǔn)框架,其中核心邏輯(例如芯片組)廠商可以定義它們自己的廠商定義消息以迎合它們的平臺的特定操作需求。該框架是通過公共消息頭部而建立的,在所述頭部中廠商定義消息的編碼被規(guī)定為"預(yù)留"。事務(wù)描述符事務(wù)描述符是用于將事務(wù)信息從起點運送到服務(wù)點并送回的機制。它提供可擴展裝置,用于提供可以支持新類型的新興應(yīng)用的通用互連解決方案。在這方面,事務(wù)描述符支持系統(tǒng)中的事務(wù)的標(biāo)識、缺省事務(wù)排序的修改,以及使用虛擬信道ID機制將事務(wù)與虛擬信道相關(guān)聯(lián)。參考圖3,示出了事務(wù)描述符的示圖。參考圖3,根據(jù)本發(fā)明的教導(dǎo)示出了包括示例性事務(wù)描述符的數(shù)據(jù)報的示圖。根據(jù)本發(fā)明的教導(dǎo),所示出的事務(wù)描述符300包括全局標(biāo)識符字段302、屬性字段304和虛擬信道標(biāo)識符字段306。在所圖示的示例性實現(xiàn)中,全局標(biāo)識符字段302被示出為包括本地事務(wù)標(biāo)識符字段308和源標(biāo)識符字段310。全局事務(wù)標(biāo)識符302這里所使用的全局事務(wù)標(biāo)識符對所有待處理的請求都是唯一的。根據(jù)圖3所示的示例性實現(xiàn),全局事務(wù)標(biāo)識符302由兩個子字段組成本地事務(wù)標(biāo)識符字段308和源標(biāo)識符字段310。根據(jù)一個實現(xiàn),本地事務(wù)標(biāo)識符字段308是由每個請求器產(chǎn)生的8位字段,并且對于需要該請求器的完成的所有待處理請求它是唯一的。源標(biāo)識符唯一地標(biāo)識EGIO層次結(jié)構(gòu)中的EGIO代理。因此,本地事務(wù)標(biāo)識符字段和源ID—起提供了在層次結(jié)構(gòu)域中的事務(wù)的全局標(biāo)識。根據(jù)一個實現(xiàn),本地事務(wù)標(biāo)識符308允許來自單個請求源的請求/完成亂序(遵守下面詳細(xì)討論的排序規(guī)則)操作。例如,讀取請求源可以產(chǎn)生讀取Al和A2。處理這些讀取請求的目的地代理會首先返回請求A2事務(wù)ID的完成,并且隨后返回A1的完成。在完成分組頭部中,本地事務(wù)ID信息將標(biāo)識哪個事務(wù)將被完成。這種機制對于使用分布式存儲器系統(tǒng)的裝置尤為重要,因為它可以更有效的方式來操作讀取請求。應(yīng)當(dāng)注意,對這種亂序讀取完成的支持假定了發(fā)布讀取請求的設(shè)備將確保完成的緩沖器空間的預(yù)先分配。如上所述,只要EGIO交換機108不是端點(即,僅僅傳送完成請求到適當(dāng)?shù)亩它c),它們就不需要預(yù)留緩沖器空間。單個讀取請求可以導(dǎo)致多個完成。屬于單個讀取請求的完成可以相互亂序地返回。這通過在完成分組頭部(即,完成頭部)中提供與部分完成相對應(yīng)的初始請求的地址偏移來支持。根據(jù)一個示例性實現(xiàn),源標(biāo)識符字段310包含對每個邏輯EGIO設(shè)備唯一的一個16位值。應(yīng)當(dāng)注意單個EGIO設(shè)備可以包括多個邏輯設(shè)備。在系統(tǒng)配置期間以對標(biāo)準(zhǔn)PCI總線枚舉機制透明的方式分配源ID值。EGIO設(shè)備使用例如在對那些設(shè)備的初始配置訪問期間可用的總線號碼信息以及用于表示例如設(shè)備號碼和流號碼的內(nèi)部可用信息,在內(nèi)部自動地建立源ID。根據(jù)一個實現(xiàn),該總線號碼信息是在EGIO配置周期期間使用與PCI配置所使用的相類似的機制而產(chǎn)生的。根據(jù)一個實現(xiàn),總線號碼由PCI初始化機制分配并由每個設(shè)備捕獲。在熱插拔和熱交換設(shè)備的情況下,這些設(shè)備將需要在每個配置周期訪問上重新捕獲該總線號碼信息,以能夠?qū)HPC(標(biāo)準(zhǔn)熱插拔控制器)軟件棧透明。根據(jù)EGIO體系結(jié)構(gòu)的一個實現(xiàn),物理組件可以包含一個或多個邏輯設(shè)備(或代理)。每個邏輯設(shè)備被設(shè)計成對指定到其特定設(shè)備號碼的配置周期進行響應(yīng),即,在邏輯設(shè)備中加入了設(shè)備號碼的概念。根據(jù)一個實現(xiàn),在單個物理組件中允許多達(dá)十六個邏輯設(shè)備。每個這樣的邏輯設(shè)備可以包括一個或多個流化(streaming)引擎,例如多達(dá)16個。因此,單個物理組件可以包括多達(dá)256個流化引擎。由不同源標(biāo)識符標(biāo)記的事務(wù)屬于不同的邏輯EGIO輸入/輸出(IO)源,并且從而從排序的方面來看可以相互完全獨立地操作這些事務(wù)。對于三方對等事務(wù)的情況,如果需要,可以使用防護排序控制原語來強制排序。這里所使用的事務(wù)描述符300的全局事務(wù)標(biāo)識符字段302遵守下列規(guī)則的至少一個子集(a)每個需要完成的請求用全局事務(wù)ID(GTID)來標(biāo)記;(b)由代理發(fā)起的所有待處理的需要完成的請求一般應(yīng)當(dāng)分配唯一的GTID;(c)不需要完成的請求不使用GTID的本地事務(wù)ID字段308,并且本地事務(wù)ID字段被認(rèn)為是預(yù)留的;(d)目標(biāo)不需要以任何方式來修改請求GTID,而只是為所有與請求相關(guān)聯(lián)的完成而在完成分組的頭部中回應(yīng)它,其中發(fā)起者使用GTID將(多個)完成與原始請求相匹配。屬性字段304這里所使用的屬性字段304指明了事務(wù)的特性和關(guān)系。在這方面,屬性字段304被用于提供允許修改事務(wù)缺省操作的額外信息。這些修改可以應(yīng)用于在系統(tǒng)中操作事務(wù)的不同方面,例如排序、硬件一致性(coherency)管理(例如探聽(snoop)屬性)和優(yōu)先級。一種示例性格式以子字段312-318來表示屬性字段304。如圖所示,屬性字段304包括優(yōu)先級子字段312。優(yōu)先級子字段可以由發(fā)起者修改來為事務(wù)分配優(yōu)先級。例如在一個示例性實現(xiàn)中,事務(wù)或代理的服務(wù)的等級或服務(wù)質(zhì)量特性可以在優(yōu)先級子字段312中實現(xiàn),從而影響其它系統(tǒng)元件進行的處理。預(yù)留屬性字段314為將來或廠商定義用途而被預(yù)留。通過使用預(yù)留屬性字段可以實現(xiàn)使用優(yōu)先級或安全屬性的可能的用途模型。排序?qū)傩宰侄?16被用于提供用來傳達(dá)排序類型的可選信息,所述信息可以修改同一排序平面(orderingplane)(其中排序平面包括由具有對應(yīng)的源ID的IO設(shè)備和主處理器(102)發(fā)起的流量)內(nèi)的缺省排序規(guī)則。根據(jù)一個示例性實現(xiàn),排序?qū)傩?0'表示將應(yīng)用缺省的排序規(guī)則,而排序規(guī)則",表示松散(relaxed)排序,其中在同一方向上寫入可以超過寫入,并且在同一方向上讀取完成可以超過寫入。使用松散排序語義的設(shè)備主要用于以缺省排序來為讀取/寫入狀態(tài)信息移動數(shù)據(jù)和事務(wù)。探聽屬性字段318被用于提供用來傳達(dá)緩存一致性管理的類型的可選信息,所述信息可以修改同一排序平面內(nèi)的缺省緩存一致性管理規(guī)則,其中排序平面包括由具有對應(yīng)的源ID的IO設(shè)備和主處理器102發(fā)起的流量。根據(jù)一個示例性實現(xiàn),探聽屬性字段318值'0'對應(yīng)于缺省緩存一致性管理方案,其中探聽事務(wù)以增強硬件級別的緩存一致性。另一方面,探聽屬性字段318中的值'1'中止缺省緩存一致性管理方案,并且不探聽事務(wù)。相反,所訪問的數(shù)據(jù)或者是非可緩存的(non-cacheable),或者其一致性由軟件來管理。虛擬信道ID字段306這里所使用的虛擬信道ID字段306標(biāo)識與事務(wù)相關(guān)聯(lián)的獨立虛擬信道。根據(jù)一個實施例,虛擬信道標(biāo)識符(VCID)是4位字段,其允許以每個事務(wù)為基礎(chǔ)來標(biāo)識多達(dá)16個虛擬信道(VC)。下面的表I中提供了VCID定義的一個示例VCIDvc名字用途模型0000缺省信道通用流量0001等時信道(isochronouschannel)本信道用于運送具有下列需求的IO流量(a)不被探聽以考慮確定性服務(wù)定時的IO流量;以及(b)使用X/T協(xié)定(其中X二數(shù)據(jù)量、T二時間)來控制服務(wù)質(zhì)量0010-1111預(yù)留將來使用20表I:虛擬信道ID編碼虛擬信道根據(jù)本發(fā)明的一個方面,EGIO接口106的事務(wù)層202支持在EGIO通信鏈路112的帶寬內(nèi)建立一條或多條虛擬信道。如上所述的本發(fā)明的虛擬信道(VC)方面被用于在單個物理EGIO鏈路112中定義單獨的邏輯通信接口。在這方面,單獨的VC被用于映射流量,所述流量將從不同操作策略和服務(wù)優(yōu)先級中獲益。例如,就確保T時間段內(nèi)所傳輸?shù)臄?shù)據(jù)量X而言,需要確定性服務(wù)質(zhì)量的流量可以被映射到同步(時間相關(guān))虛擬信道。映射到不同虛擬信道的事務(wù)相互之間可以沒有任何排序需求。即,虛擬信道作為單獨邏輯接口來操作,其具有不同的流控制規(guī)則和屬性。對于由主處理器102發(fā)起的流量,虛擬信道可以要求基于缺省排序機制規(guī)則的排序控制,或者可以完全亂序地操作流量。根據(jù)一個示例性實現(xiàn),VC包含下列兩種類型的流量通用IO流量和同步流量。即,根據(jù)該示例性實現(xiàn),描述了兩類虛擬信道(1)通用IO虛擬信道,和(2)同步虛擬信道。這里所使用的事務(wù)層202為組件主動支持的一個或多個虛擬信道中的每個虛擬信道維護獨立流控制。這里所使用的所有的EGIO兼容組件一般都會支持缺省通用IO類型虛擬信道,例如虛擬信道0,其中在這一類型的不同虛擬信道之間不需要排序關(guān)系。缺省地,VC0被用于通用IO流量,而VC1被分配用于操作同步流量。在另一個實現(xiàn)中,任何虛擬信道都可以被分配用于操作任何流量類型。參考圖4,示出了包括多條獨立管理的虛擬信道的EGIO鏈路的概念示圖。轉(zhuǎn)到圖4,根據(jù)本發(fā)明的一個方面,示出了包括多條虛擬信道(VC)的示例性EGIO鏈路112的示圖。根據(jù)圖4所示的示例性實現(xiàn),所示出的EGIO鏈路112包括在(多個)EGIO接口106之間創(chuàng)建的多條虛擬信道402、404。根據(jù)一個示例性實現(xiàn),對于虛擬信道402,示出了來自多個源406A...N的流量,這些流量至少由它們的源ID來區(qū)分。如圖所示,建立了虛擬信道402,并且在來自不同源(例如,代理、接口等)的事務(wù)之間沒有排序需求。類似地,所示出的虛擬信道404包括來自多個源多個事務(wù)408A...N的流量,其中每個事務(wù)由至少一個源ID指示。根據(jù)圖示的示例,來自源IDO406A的事務(wù)被嚴(yán)格排序,除非被事務(wù)頭部的屬性字段304所修改,而來自源408N的事務(wù)沒有這樣的排序規(guī)則。事務(wù)排序盡管使所有響應(yīng)依次序被處理可能更簡單,但是事務(wù)層202試圖通過準(zhǔn)許事務(wù)的重新排序來提高性能。為了便于這樣的重新排序,事務(wù)層202"標(biāo)記"事務(wù)。即根據(jù)一個實施例,事務(wù)層202添加事務(wù)描述符到每個分組,使得它的傳輸時間可以由EGIO體系結(jié)構(gòu)中的元件來優(yōu)化(例如,通過重新排序),且不會丟失分組最初被處理的相對順序。這樣的事務(wù)描述符被用于輔助請求和完成分組通過EGIO接口層次結(jié)構(gòu)而進行路由。因而,EGIO互連體系結(jié)構(gòu)和通信協(xié)議的創(chuàng)新方面之一是它提供了亂序通信,從而通過減少空閑或等待狀態(tài)來提高數(shù)據(jù)吞吐率。在這方面,事務(wù)層202使用了一組規(guī)則來定義EGIO事務(wù)的排序需求。定義了事務(wù)排序需求來確保軟件的正確操作,所述軟件被設(shè)計成支持生產(chǎn)者一消費者排序模型,同時允許基于不同排序模型(例如,用于圖形附屬應(yīng)用的松散排序)的應(yīng)用的增加的事務(wù)操作靈活性。下文描述了兩種不同類型的排序需求單個排序平面模型和多個排序平面模型。基本事務(wù)排序一單個"排序平面"模型假定以下兩個組件通過與圖1相似的EGIO體系結(jié)構(gòu)連接起來存儲器控制中心,提供到主處理器和存儲器子系統(tǒng)的接口;以及IO控制中心,提供到IO子系統(tǒng)的接口。兩個中心都含有用于操作輸入和輸出流量的內(nèi)部隊列,并且在這個簡單模型中所有IO流量都被映射到單個"排序平面"。(注意,事務(wù)描述符源ID信息為EGIO層次結(jié)構(gòu)中的每個代理都提供了唯一的標(biāo)識符。還要注意,映射到源ID的IO流量可以攜帶不同事務(wù)排序?qū)傩?。在IO發(fā)起(IO-initiated)的流量和主機發(fā)起(host-initiated)的流量之間規(guī)定了本系統(tǒng)配置的排序規(guī)則。從這個觀點來看,映射到源ID的IO流量和主處理器發(fā)起的流量代表在單個"排序平面"中傳遞的流量。參考表n,下面提供了該事務(wù)排序規(guī)則的一個示例。該表中定義的規(guī)則普遍適用于包括存儲器、IO、配置和消息的EGIO系統(tǒng)中的所有類型的事務(wù)。在下面的表II中,列代表兩個事務(wù)的第一個,而行代表第二個。表條目指明了兩個事務(wù)之間的排序關(guān)系。表條目定義如下是一一般會允許第二個事務(wù)超過第一個事務(wù)以避免死鎖。(當(dāng)發(fā)生阻塞時,需要第二個事務(wù)超過第一個事務(wù)。一般應(yīng)當(dāng)考慮公平以防止t幾餓(starvation))。Y/N—沒有需求。第一個事務(wù)可選地超過第二個事務(wù)或者被其阻塞。否一一般不會允許第二個事務(wù)超過第一個事務(wù)。這需要保持嚴(yán)格的排序。<table>tableseeoriginaldocumentpage23</column></row><table>表n:單個排序平面的事務(wù)排序和死鎖避免行歹ljID表n條目的解釋A2公布(post)的存儲器寫入請求(WR—REQ)—般不應(yīng)該超過其它任何公布的存儲器寫入請求A3一般應(yīng)該允許公布的存儲器寫入請求超過讀取請求以避免死鎖A4a.—般不應(yīng)該允許公布的存儲器WR—REQ超過具有需要完成屬性的存儲器WR_REQ.b.—般應(yīng)該允許公布的存儲器WR—REQ超過IO和配置請求以避免死鎖A5,A6不需要公布的存儲器WR—REQ超過完成。為了允許這一實現(xiàn)的靈活性,同時仍確保無死鎖操作,EGIO通信協(xié)議規(guī)定代理確保完成的接收B2,C2這些請求不能超過公布的存儲器WR—REQ,從而保持支持生產(chǎn)者/消費者用途模型所需的嚴(yán)格寫入排序B3a.在基本實現(xiàn)(即,沒有亂序處理)中讀取請求不準(zhǔn)許互相超過。b.在另一個實現(xiàn)中,讀取請求準(zhǔn)許互相超過。事務(wù)標(biāo)識對于提供這個功能很重要。B4,C3準(zhǔn)許不同類型的請求相互阻塞或超過。B5,B6,C5,C6準(zhǔn)許這些請求被完成阻塞或超過完成。D2讀取完成不能超過公布的存儲器WR—Req(以保持嚴(yán)格的寫入排序)D3,D4,E3,E4一般應(yīng)該允許完成超過未公布的請求以避免死鎖D5a.在基本實現(xiàn)中,不準(zhǔn)許讀取完成互相超過;b.在另一個實施例中,準(zhǔn)許讀取完成互相超過。再者,可能需要嚴(yán)格事務(wù)標(biāo)識。E6準(zhǔn)許這些完成互相超過。對于使用例如事務(wù)ID機制來維持事務(wù)的軌跡很重要D6,E5不同類型的完成可以互相超過。24<table>tableseeoriginaldocumentpage25</column></row><table>表ni:事務(wù)排序解釋高級事務(wù)排序一"多個平面"事務(wù)排序模型前述部分定義了單個"排序平面"內(nèi)的排序規(guī)則。如上所述,EGIO互連體系結(jié)構(gòu)和通信協(xié)議使用唯一的事務(wù)描述符機制來將事務(wù)和額外的信息相關(guān)聯(lián),以支持更復(fù)雜的排序關(guān)系。事務(wù)描述符中的字段允許創(chuàng)建多個"排序平面",從IO流量排序來看這些排序平面是互相獨立的。每個"排序平面"都包括對應(yīng)于具體IO設(shè)備(由唯一的源ID指定)的排隊/緩沖邏輯,以及傳輸主處理器發(fā)起的流量的排隊/緩沖邏輯。"平面"內(nèi)的排序一般只在這兩者之間定義。對獨立于其它"排序平面"的每個"排序平面"都實施了在前述部分規(guī)定的用來支持生產(chǎn)者/消費者用途模型并且防止死鎖的規(guī)則。例如,由"平面"N發(fā)起的請求的讀取完成可以繞過由"平面"M發(fā)起的請求的讀取完成。然而,平面N的讀取完成和平面M的讀取完成都不能繞過由主機發(fā)起的公布存儲器寫入。盡管平面映射機制的使用允許存在多個排序平面,但是排序平面中的一些或全部可以"折疊"到一起以簡化實現(xiàn)(即,將多個單獨控制的緩沖器/FIFO結(jié)合成單個)。當(dāng)所有平面折疊在一起時,僅使用事務(wù)描述符源ID機制來輔助事務(wù)的路由,并且它不用于在10流量的獨立流之間松散排除上述內(nèi)容以外,事務(wù)描述符機制還規(guī)定了使用排序?qū)傩栽趩蝹€排序平面內(nèi)修改缺省排序。從而可以以每個事務(wù)為基礎(chǔ)而控制排序的修改。事務(wù)層協(xié)議分組格式如上所述,創(chuàng)新EGIO體系結(jié)構(gòu)使用基于分組的協(xié)議以在相互通信的兩個設(shè)備的事務(wù)層之間交換信息。EGIO體系結(jié)構(gòu)通常支持存儲器、IO、配置和消息事務(wù)類型。一般使用請求或完成分組傳輸這些事務(wù),其中只有當(dāng)需要時,即需要返回數(shù)據(jù)或請求確認(rèn)事務(wù)的接收時,才使用完成分組。參考圖6,其示出了根據(jù)本發(fā)明教導(dǎo)的示例性事務(wù)層協(xié)議的示圖。根據(jù)圖9所示的示例性實現(xiàn),所示出的TLP頭部600包括格式字段、類型字段、擴展類型/擴展長度(ET/EL)字段和長度字段。注意,某些TLP在頭部之后包括由頭部中規(guī)定的格式字段所確定的數(shù)據(jù)。TLP不應(yīng)含有多于MAX—PAYLOAD—SIZE設(shè)定的極限的數(shù)據(jù)。根據(jù)一個示例性實現(xiàn),TLP數(shù)據(jù)是4字節(jié)自然對齊的,并且以4字節(jié)雙字(DW)增加。如這里所使用的,根據(jù)下面的定義,格式(FMT)字段規(guī)定了TLP的格式-000-2DW頭部,無數(shù)據(jù)001-3DW頭部,無數(shù)據(jù)010-4DW頭部,無數(shù)據(jù)101-3DW頭部,有數(shù)據(jù)110-4DW頭部,有數(shù)據(jù)預(yù)留所有其它的編碼類型字段用于指示TLP中使用的類型編碼。根據(jù)一個實現(xiàn),一般應(yīng)該將格式[2:0]和類型[3:0]解碼來確定TLP格式。根據(jù)一個實現(xiàn),類型[3:0]字段中的值用于確定擴展類型/擴展長度字段是否被用于擴展類型字段或長度字段。ET/EL字段一般只用于擴展存儲器類型讀取請求的長度字段。長度字段提供了有效載荷長度的指示,還是以DW增加00000000=1DW00000001=2DW11111111=256DW下面,在表IV中提供了示例性TLP事務(wù)類型的至少一個子集、它們對應(yīng)的頭部格式以及描述的總結(jié)TLP類型格式類型Et描述[3:0][1:0]初始FCP000000000初始流控制信息更新FCP000000100更新流控制信息<table>tableseeoriginaldocumentpage27</column></row><table><table>tableseeoriginaldocumentpage28</column></row><table>附錄A中提供了有關(guān)請求和完成的其它細(xì)節(jié),其中的說明在這里作為參考而被明確引入。流控制與傳統(tǒng)流控制方案普遍關(guān)聯(lián)的限制之一是它們對可能發(fā)生的問題有反應(yīng)(reactive),而不是事前預(yù)先(proactively)降低發(fā)生這些問題發(fā)生的機會。例如在傳統(tǒng)的PCI系統(tǒng)中,發(fā)送者將向接收者發(fā)送信息直到它接收到停止/中止發(fā)送的消息,其中停止/中止發(fā)送直到下一個通知。這些請求之后可能跟隨有重新發(fā)送起始于發(fā)送的給定點處的分組的請求。本領(lǐng)域技術(shù)人員將會意識到,這一反應(yīng)(reactive)方法導(dǎo)致周期浪費,并且在這方面可能效率較低。為了解決這個限制,EGIO接口106的事務(wù)層202包括流控制機制,其預(yù)先降低發(fā)生溢出情況的機會,同時還規(guī)定以發(fā)起者和(多個)完成者之間建立的虛擬信道的每個鏈路為基礎(chǔ)來遵守排序規(guī)則。根據(jù)本發(fā)明的一個方面,引入了流控制"信用量"(credit)的概念,其中接收者共享下列信息(a)緩沖器大小(以信用量為單位),和(b)對于發(fā)送者和接收者之間建立的每條虛擬信道(即以每條虛擬信道為基礎(chǔ))的發(fā)送者當(dāng)前可用緩沖器空間。這使得發(fā)送者的事務(wù)層202能夠維護可用緩沖器空間的估值(例如,可用信用量的計數(shù)),并且如果確定發(fā)送將在接收緩沖器內(nèi)產(chǎn)生溢出情況則能夠預(yù)先節(jié)流通過任何虛擬信道進行的發(fā)送,其中所述可用緩沖器空間分配給通過識別出的虛擬信道進行的發(fā)送。根據(jù)本發(fā)明的一個方面,如上所述,事務(wù)層202引入流控制來防止接收緩沖器的溢出,并使得能夠遵循排序規(guī)則。根據(jù)一個實現(xiàn),由發(fā)送者使用處理層202的流控制機制,以通過EGIO鏈路112來跟蹤代理(接收者)中的可用隊列/緩沖器空間。這里所使用的流控制并非暗示請求己經(jīng)到達(dá)它的最終完成器。根據(jù)本發(fā)明的教導(dǎo),流控制與數(shù)據(jù)完整性機制相互獨立,其中所述數(shù)據(jù)完整性機制用于實現(xiàn)發(fā)送者和接收者之間的可靠信息交換。S卩,流控制能夠保證從發(fā)送者到接收者的事務(wù)層分組(TLP)信息流完好,這是由于數(shù)據(jù)完整性機制保證通過重新傳輸來改正出錯的和丟失的TLP。這里所使用的流控制機制包括EGIO鏈路112的虛擬信道。在這方面,將在由接收者通告的流控制信用量(FCC)中反映接收者所支持的每個虛擬信道。根據(jù)本發(fā)明的教導(dǎo),由事務(wù)層202和數(shù)據(jù)鏈路層204合作來執(zhí)行流控制。為了方便描述流控制機制,區(qū)分出下列分組信息類型(a)公布請求頭部(PRH)(b)公布請求數(shù)據(jù)(PRD)(c)非公布請求頭部(NPRH)(d)非公布請求數(shù)據(jù)(NPRD)(e)讀取、寫入和消息完成頭部(CPLH)(f)讀取和消息完成數(shù)據(jù)(CPLD)如上所述,預(yù)先流控制的EGIO實現(xiàn)中的測量單位是流控制信用量(FCC)。根據(jù)僅僅一個實現(xiàn),對于數(shù)據(jù),流控制信用量是16字節(jié)。對于頭部,流控制信用量的單位是一個頭部。如上所述,每個虛擬信道都具有29獨立的流控制。對于每個虛擬信道,為上述類型分組信息中的每一類(如上所述的(a)-(f))維護和跟蹤單獨的信用量指示符。根據(jù)所圖示的示例性實現(xiàn),分組的發(fā)送根據(jù)下述內(nèi)容來消耗流控制信用量-存儲器/IO/配置讀取請求1NPH單位-存儲器寫入請求1PH+nPD單位(其中n與數(shù)據(jù)有效載荷的大小相關(guān)聯(lián),例如由流控制單位大小(例如,16字節(jié))劃分的數(shù)據(jù)的長度)畫IO/配置寫入請求1NPH+1NPD-消息請求取決于消息,至少1PH和/或1NPH單位-帶有數(shù)據(jù)的完成1CPLH+nCPLD單位(其中n與由例如16字節(jié)的流控制數(shù)據(jù)單位大小劃分的數(shù)據(jù)大小有關(guān))-沒有數(shù)據(jù)的完成1CPLH對于所跟蹤的每種類型的信息,有三個概念寄存器來監(jiān)測消耗的信用量(發(fā)送者內(nèi))、信用量極限(發(fā)送者內(nèi))和分配的信用量(接收者內(nèi)),每個概念寄存器有8位寬。信用量消耗寄存器含有自從初始化以來所消耗的流控制單元的模256的總量的計數(shù)。在初始化時,信用量消耗寄存器被設(shè)定為全零(0),并且當(dāng)事務(wù)層提交(commit)以發(fā)送信息到數(shù)據(jù)鏈路層時增加該寄存器。增加的大小與提交發(fā)送的信息所消耗的信用量數(shù)量有關(guān)。根據(jù)一個實現(xiàn),當(dāng)達(dá)到或超過最大計數(shù)(例如,全1)時,計數(shù)器翻轉(zhuǎn)為零。根據(jù)一個實現(xiàn),使用無符號8位模運算來維護計數(shù)器。信用量極限寄存器含有可能消耗的流控制單元的最大數(shù)值的極限。在接口初始化時,該寄存器被設(shè)定為全零,并且隨后在接收消息后被更新并設(shè)置為流控制更新消息(上文進行了介紹)中所指示的值。信用量分配寄存器維護了自從初始化以來授予發(fā)送者的信用量總數(shù)的計數(shù)。根據(jù)接收者的緩沖器大小和分配策略來初始設(shè)定該計數(shù)。該值可以包括在流控制更新消息中。該值隨著接收者事務(wù)層從它的接收緩沖器移除已處理的信息而增加。增加的大小與所產(chǎn)生的可用空間的大小有關(guān)。根據(jù)一個實施例,接收者一般應(yīng)將所分配的信用量最初設(shè)定為等于或大于下列值的值-PRH:1流控制單位(FCU);-PRD:FCU等于設(shè)備最大有效載荷大小的最大可能設(shè)定;-NPH:1FCU-NPD:FCU等于設(shè)備最大有效載荷大小的最大可能設(shè)定;-交換設(shè)備一CPLH:1FCU;-交換設(shè)備一CPLD:FCU等于設(shè)備最大有效載荷大小的最大可能設(shè)定和設(shè)備將會產(chǎn)生的極大讀取請求中的較小的一個。-根和端點設(shè)備一CPLH或CPLD:255FCU(全l),發(fā)送者認(rèn)為該值無窮大,因而其從不會阻塞。根據(jù)這樣的實現(xiàn),接收者一般不會為任何消息類型而將信用量分配寄存器值設(shè)定為大于127FCU。根據(jù)另一個實現(xiàn),與上述使用計數(shù)器方法維護信用量分配寄存器不同,發(fā)送者可以基于下述等式動態(tài)計算所分配的信用量C—A=(最近接收的發(fā)送的信用量單位數(shù))+(可用的接收緩沖器空間)如上所述,發(fā)送者將為發(fā)送者將使用的每個虛擬信道實現(xiàn)概念寄存器(消耗的信用量,信用量極限)。類似地,接收者為接收者所支持的每個虛擬信道實現(xiàn)概念寄存器(所分配的信用量)。為了預(yù)先制止如果這樣做將引起接收緩沖器溢出的信息的發(fā)送,如果消耗的信用量的計數(shù)加上與將要發(fā)送的數(shù)據(jù)相關(guān)的信用量單位數(shù)小于或等于信用量極限值,則允許發(fā)送者發(fā)送一類信息。當(dāng)發(fā)送者接收到指示非無窮信用量(即,<255FCU)的完成的流控制信息(CPL)時,發(fā)送者將根據(jù)可用信用量來對完成進行節(jié)流。當(dāng)考慮信用量使用及返回時,來自不同事務(wù)的信息不混合在一個信用量中。類似地,當(dāng)考慮信用量使用及返回時,來自一個事務(wù)的頭部和數(shù)據(jù)信息也從不混合在一個使用中。因此,當(dāng)某個分組由于缺乏流控制信用量而被阻塞傳輸時,發(fā)送者在確定應(yīng)當(dāng)準(zhǔn)許哪個類型的分組繞過"停滯"(stalled)分組時將遵循排序規(guī)則(上文)。事務(wù)的流控制信用量的返回不被解釋為意味著事務(wù)已經(jīng)完成或事務(wù)已經(jīng)實現(xiàn)系統(tǒng)可見性(visibility)。使用存儲器寫入請求語義的消息信號中斷(MSI)象其它任何存儲器寫入一樣被處理。如果隨后的FC更新消息(來自接收者)指示了比最初指示的值更低的信用量極限值,則發(fā)送者應(yīng)當(dāng)承認(rèn)新的較低極限,并且提供一個消息差錯。根據(jù)這里所描述的流控制機制,如果接收者接收到比分配的信用量更多的信息(超過分配的信用量),則接收者將向違規(guī)的發(fā)送者指示接收者溢出差錯,并且對引起溢出的分組發(fā)起數(shù)據(jù)鏈路級別的重試請求。流控制分組(FCP)根據(jù)一個實現(xiàn),使用流控制分組(FCP)在設(shè)備之間傳輸維護上述寄存器所需的流控制信息。根據(jù)一個實施例,流控制分組900包括2-DW頭部格式和用于具體虛擬信道的關(guān)于六個信用量寄存器的狀態(tài)的輸送信息,其中所述的六個信用量寄存器由接收事務(wù)層的流控制邏輯為每個VC維護。根據(jù)本發(fā)明的教導(dǎo)的一個實施例,如圖6所示,有兩種類型的FCP:初始FCP和更新FCP。如上所述,在初始化事務(wù)層時,發(fā)布初始FCP602。在初始化事務(wù)層之后,更新FCP604被用于更新寄存器中的信息。在常規(guī)操作期間接收到初始FCP引起本地流控制機制的復(fù)位以及初始FCP的發(fā)送。初始FCP的內(nèi)容包括為PRH、PRD、NPRH、NPRD、CPH、CPD和信道ID(例如,與應(yīng)用FC信息相關(guān)聯(lián)的虛擬信道)中的每個所通告的信用量的至少一個子集。更新FCP的格式與初始FCP的格式類似。注意,盡管FC頭部不包括其它事務(wù)層分組頭部格式普遍具有的長度字段,但是分組的大小是明確的,因為沒有與該分組相關(guān)的額外DW數(shù)據(jù)。差錯轉(zhuǎn)發(fā)與傳統(tǒng)的差錯轉(zhuǎn)發(fā)機制不同,EGIO體系結(jié)構(gòu)依靠尾部信息,所述尾部信息被附加到由于如下描述的多個原因中的任何原因而被識別為有缺陷的(多個)數(shù)據(jù)報上。根據(jù)一個示例性實現(xiàn),事務(wù)層202使用了多種公知差錯檢測技術(shù)中的任何一種,例如循環(huán)冗余校驗(CRC)差錯控制等等。根據(jù)一個實現(xiàn),為了有助于差錯轉(zhuǎn)發(fā)特征,EGIO體系結(jié)構(gòu)使用了"尾部",其附加到攜帶己知壞數(shù)據(jù)的TLP上??赡苁褂梦膊坎铄e轉(zhuǎn)發(fā)的情況示例包括示例#1:來自主存儲器的讀取遇到無法糾正的ECC差錯示例#2:向主存儲器的PCI寫入的奇偶差錯示例#3:內(nèi)部數(shù)據(jù)緩沖器或緩存中的數(shù)據(jù)完整性差錯根據(jù)一個示例性實現(xiàn),差錯轉(zhuǎn)發(fā)僅用于讀取完成數(shù)據(jù)或?qū)懭霐?shù)據(jù)。艮口,32對于與數(shù)據(jù)報相關(guān)的管理開銷中發(fā)生差錯的情形,例如頭部中的差錯(例如請求階段、地址/命令等等),一般不使用差錯轉(zhuǎn)發(fā)。這里所使用的具有頭部差錯的請求/完成通常不能被轉(zhuǎn)發(fā),這是由于不能確定地識別真正目的地,并且因此該差錯轉(zhuǎn)發(fā)可能引起直接或間接影響,例如數(shù)據(jù)損壞、系統(tǒng)故障等等。根據(jù)一個實施例,差錯轉(zhuǎn)發(fā)用于通過系統(tǒng)傳播差錯,系統(tǒng)診斷。差錯轉(zhuǎn)發(fā)不使用數(shù)據(jù)鏈路層重試,因此只有在EGIO鏈路112上出現(xiàn)如TLP差錯檢測機制(例如,循環(huán)冗余校驗(CRC)等等)所確定的發(fā)送差錯時,才重試以尾部結(jié)束的TLP。因此尾部可能最終引起請求的發(fā)起者重新發(fā)布它(在上述的事務(wù)層)或者采取某個其它的動作。這里所使用的所有EGIO接收者(例如,位于EGIO接口106中)都能夠處理以尾部結(jié)束的TLP。在發(fā)送者中對加入尾部的支持是可選的(因而與老式設(shè)備兼容)。交換器108將尾部和TLP的其余部分一起進行路由。具有對等(peer)路由支持的主橋104—般會一起路由尾部和TLP的其余部分,但不是必須如此。差錯轉(zhuǎn)發(fā)一般適用于寫入請求(公布的或非公布的)或讀取完成中的數(shù)據(jù)。發(fā)送者知道的含有壞數(shù)據(jù)的TLP應(yīng)當(dāng)以尾部結(jié)束。根據(jù)一個示例性實現(xiàn),尾部由2DW組成,其中字節(jié)[7:5]是全零(例如,000),并且位[4:1]是全一(例如,1111),而預(yù)留所有其它位。EGIO接收者會認(rèn)為以尾部結(jié)束的TLP中的所有數(shù)據(jù)都是損壞的。如果應(yīng)用差錯轉(zhuǎn)發(fā),則接收者將指定TLP的所有數(shù)據(jù)標(biāo)記為壞("中毒")。在事務(wù)層中,分析器(parser)—般會對整個TLP的末端進行分析并馬上校驗隨后的數(shù)據(jù),以了解數(shù)據(jù)是否結(jié)束。數(shù)據(jù)鏈路層204如上所述,圖2的數(shù)據(jù)鏈路層204充當(dāng)事務(wù)層202和物理層206之間的中間級(intermediatestage)。數(shù)據(jù)鏈路層204的主要責(zé)任是提供用于通過EGIO鏈路112在兩個組件之間交換事務(wù)層分組(TLP)的可靠機制。數(shù)據(jù)鏈路層204的發(fā)送方接受由事務(wù)層202裝配的TLP、應(yīng)用分組序列標(biāo)識符(例如,標(biāo)識號碼)、計算并應(yīng)用差錯檢測代碼(例如,CRC代碼)并且向物層206遞交修改的TLP,用于通過挑選的一條或多條在EGIO鏈路112的帶寬中建立的虛擬信道而進行傳輸。接收數(shù)據(jù)鏈路層204負(fù)責(zé)校驗所接收TLP的完整性(例如,使用CRC機制等等),并且負(fù)責(zé)向事務(wù)層204遞交完整性校驗是肯定的那些TLP,以用于在轉(zhuǎn)發(fā)到設(shè)備核心之前進行分解。由數(shù)據(jù)鏈路層204提供的服務(wù)通常包括數(shù)據(jù)交換、差錯檢測與重試、初始化與電源管理服務(wù),以及數(shù)據(jù)鏈路層內(nèi)部通信服務(wù)?;谇笆龇诸愄峁┑拿糠N服務(wù)列舉如下。數(shù)據(jù)交換服務(wù)-從發(fā)送事務(wù)層接受用于發(fā)送的TLP-接受通過鏈路從物理層接收的TLP,并將它們傳輸?shù)浇邮帐聞?wù)層差錯檢測和重試-TLP序列號碼與CRC生成-存儲所發(fā)送的TLP,用于數(shù)據(jù)鏈路層重試-數(shù)據(jù)完整性校驗-確認(rèn)以及重試DLLP-用于差錯報告和記錄機制的差錯指示-鏈路Ack超時定時器初始化與電源管理服務(wù)-跟蹤鏈路狀態(tài)并傳輸有效/復(fù)位/斷開連接狀態(tài)到事務(wù)層數(shù)據(jù)鏈路層內(nèi)部通信服務(wù)-用于包括差錯檢測和重試在內(nèi)的鏈路管理功能-在兩個直接相連的組件的數(shù)據(jù)鏈路層之間進行傳輸-沒有暴露給事務(wù)層在EGIO接口106中所使用的數(shù)據(jù)鏈路層204對于事務(wù)層202表現(xiàn)為具有不同延遲的信息導(dǎo)管(conduit)。饋送到發(fā)送數(shù)據(jù)鏈路層中的所有信息在晚些時候?qū)⒊霈F(xiàn)在接收數(shù)據(jù)鏈路層的輸出端。延遲將取決于許多因素,包括流水線延遲、鏈路112的寬度和操作頻率、通過介質(zhì)的通信信號的發(fā)送、以及由數(shù)據(jù)鏈路層重試引起的延時。由于這些延時,發(fā)送數(shù)據(jù)鏈路層可以向發(fā)送事務(wù)層202施加反壓力(backpressure),并且接收數(shù)據(jù)鏈路層將有效信息的存在和缺失傳輸?shù)浇邮帐聞?wù)層202。根據(jù)一個實現(xiàn),數(shù)據(jù)鏈路層204跟蹤EGIO鏈路112的狀態(tài)。在這方面,DLL204與事務(wù)層202和物理層206傳輸鏈路狀態(tài),并且通過物理層206執(zhí)行鏈路管理。根據(jù)一個實現(xiàn),數(shù)據(jù)鏈路層含有鏈路控制與管理狀態(tài)機來執(zhí)行這樣的管理任務(wù)。此狀態(tài)機的狀態(tài)描述如下示例性DLL鏈路狀態(tài)LinkDown(鏈路停用)(LD)—物理層報告鏈路是不可操作的,或者沒有連接端口Linklnit(鏈路初始化)(LI)一物理層報告鏈路是可操作的并且正在初始化LinkActive(鏈路有效)(LA)—常規(guī)操作模式LinkActDefer(鏈路動作延期)(LAD)—常規(guī)操作中斷,物理層試圖恢復(fù)每個狀態(tài)的對應(yīng)管理規(guī)則(例如,見圖8)LinkDown(XD)跟隨在組件復(fù)位之后的初始狀態(tài)在進入LD時-將所有數(shù)據(jù)鏈路層狀態(tài)信息復(fù)位成缺省值在LD中時-不和事務(wù)層或物理層交換TLP信息-不和物理層交換DLLP信息-不產(chǎn)生也不接受DLLP退出到LI,如果-來自事務(wù)層的指示是鏈路沒有被SW禁用Linklnit(LI)在LI中時-不和事務(wù)層或物理層交換TLP信息-不和物理層交換DLLP信息-不產(chǎn)生也不接受DLLP退出到LA,如果-來自物理層的指示是鏈路訓(xùn)練(training)成功退出到LD,如果-來自物理層的指示是鏈路訓(xùn)練(training)失敗LinkActive(LA)在LinkActive中時-和事務(wù)層與物理層交換TLP信息-和物理層交換DLLP信息-產(chǎn)生并接受DLLP。退出到LinkActDefer,如果-來自數(shù)據(jù)鏈路層重試管理機制的指示是需要鏈路的重新訓(xùn)練,或者物理層是否報告重新訓(xùn)練正在進行中。LinkActDefer(LAD)在LinkActDefer中時-不和事務(wù)層或物理層交換TLP信息-不和物理層交換DLLP信息-不產(chǎn)生也不接受DLLP退出到LinkActive,如果-來自物理層的指示是重新訓(xùn)練成功退出到LinkDown,如果-來自物理層的指示是重新訓(xùn)練失敗數(shù)據(jù)完整性管理這里所使用的數(shù)據(jù)鏈路層分組(DLLP)被用于支持EGIO鏈路數(shù)據(jù)完整性機制。在這方面,根據(jù)一個實現(xiàn),EGIO體系結(jié)構(gòu)規(guī)定了下列DLLP來支持鏈路完整性管理.AckDLLP:TLP序列號碼確認(rèn)一用于指示成功接收了某個數(shù)量的TLPNakDLLP:TLP序列號碼否定確認(rèn)—用于指示數(shù)據(jù)鏈路層重試Ack超時DLLP:指示最近發(fā)送的序列號碼一用于檢測某些形式的36TLP丟失如上所述,事務(wù)層202向數(shù)據(jù)鏈路層204提供TLP邊界信息,使得DLL204能夠?qū)⑿蛄刑柎a和循環(huán)冗余校驗(CRC)差錯檢測應(yīng)用于TLP。根據(jù)一個示例性實現(xiàn),接收數(shù)據(jù)鏈路層通過校驗序列號碼、CRC代碼和來自接收物理層的任何差錯指示來驗證接收的TLP。如果TLP中有差錯,則使用數(shù)據(jù)鏈路層重試來恢復(fù)。CRC、序列號碼以及重試管理(發(fā)送者)在概念"計數(shù)器"和"標(biāo)志"方面,以下描述了用于確定TLP、CRC和序列號碼以支持?jǐn)?shù)據(jù)鏈路層重試的機制CRC與序列號碼規(guī)則(發(fā)送者).使用下列8位計數(shù)器oTRANS—SEQ—存儲應(yīng)用于正在準(zhǔn)備發(fā)送的TLP的序列號碼.在LinkDown狀態(tài)下設(shè)定為全'0,.在每個TLP發(fā)送后,增加1.當(dāng)全"'時,增加引起翻轉(zhuǎn)使得全'0'.NakDLLP的接收弓I起值被重新設(shè)定為NakDLLP中指示的序列號碼oACKD—SEQ-存儲在最近接收的鏈路到鏈路確認(rèn)DLLP中確認(rèn)的序列號碼。.在LinkDown狀態(tài)下設(shè)定為全'1'.每個TLP被分配8位序列號碼o計數(shù)器TRANS_SEQ存儲這個號碼o如果TRANS—SEQ等于(ACKD—SEQ—1)模256,則發(fā)送者一般不會發(fā)送另一TLP,直到AckDLLP更新ACKD—SEQ,使得條件(TRANS—SEQ==ACKD—SEQ—1)模256不再為真。.TRANS一SEQ被應(yīng)用于TLP,通過o為TLP預(yù)先準(zhǔn)備(prepend)單個字節(jié)值o為TLP預(yù)先準(zhǔn)備單個預(yù)留字節(jié)使用下述算法為TLP計算32bCRC,并將其附加在TLP末端o使用的多項式是0x04CllDB7-與以太網(wǎng)使用的相同的CRC-32o計算過程是1)CRC-32計算的初始值是通過為序列號碼預(yù)先準(zhǔn)備24個'0,而形成的DW2)以從包括頭部的字節(jié)O的DW到TLP的最后DW的順序,使用來自事務(wù)層的TLP的每個DW而繼續(xù)CRC計算3)取來自計算的位序列的補碼,結(jié)果是TLPCRC4)將CRCDW附加到TLP的末端.已發(fā)送TLP的拷貝一般會存儲在數(shù)據(jù)鏈路層重試緩沖器中.當(dāng)從其它設(shè)備接收到AckDLLP時oACKD—SEQ裝入在DLLP中指定的值o重試緩沖器清除序列號碼在下述范圍內(nèi)的TLP:.從ACKD一SEQ的先前值+1.到ACKD—SEQ的新值當(dāng)從鏈路上的其它組件接收到NakDLLP時o如果正在向物理層傳輸TLP,則繼續(xù)該傳輸直到該TLP的傳輸完成o不從事務(wù)層獲得另外的TLP,直到完成了下述步驟o重試緩沖器清除序列號碼在下述范圍內(nèi)的TLP:.從ACKD一SEQ的先前值+1.到在NakDLLP的Nak序列號碼字段中指定的值o重試緩沖器中所有剩余的TLP都重新提交到物理層,用于以原始順序重新發(fā)送.注意這將包括序列號碼在下述范圍內(nèi)的所有TLP:o在NakDLLP的Nak序列號碼字段中指定的值+loTRANS—SEQ的值一l.如果在重試緩沖器中沒有剩余的TLP,則NakDLLP出錯o根據(jù)差錯跟蹤和記錄部分,一般會報告差錯的NakDLLPo發(fā)送者不需要其它的動作.CRC與序列號碼(接收者)類似地,在概念"計數(shù)器"和"標(biāo)志"方面,以下描述了用于確定TLP、CRC和序列號碼以支持?jǐn)?shù)據(jù)鏈路層重試的機制.使用下列8位計數(shù)器oNEXT—RCV_SEQ—為下一個TLP存儲期望的序列號碼.在LinkDown狀態(tài)下設(shè)定為全'0,.對于接受的每個TLP,增加1,或者當(dāng)通過接受TLP而清除DLLR—IN—PROGRESS標(biāo)志(下文描述)時.每次接收到鏈路層DLLP并且DLLR—IN—PROGRESS標(biāo)志被清除時,裝入值(Trans.Seq.Num+1)o如果NEXT—RCV—SEQ的值與已接收的TLP或Ack超時DLLP指定的值不同,則指示在發(fā)送者和接收者之間的序列號碼同步丟失;在這種情況下.如果設(shè)定了DLLR一IN—PROGRESS標(biāo)志,貝Uo復(fù)位DLLRIN—PROGRESS標(biāo)志o發(fā)送"發(fā)送壞DLLRDLLP"差錯到差錯記錄/跟蹤o注意這指示錯誤地發(fā)送了DLLRDLLP(Nak).如果沒有設(shè)定DLLR—IN一PROGRESS標(biāo)志,貝Uo設(shè)定DLLR—IN—PROGRESS標(biāo)志并且發(fā)起NakDLLPo注意這指示TLP丟失.使用下述3位計數(shù)器oDLLRR_COUNT—對在特定時間段內(nèi)發(fā)出的DLLRDLLP的次數(shù)進行計數(shù).在LinkDown狀態(tài)下設(shè)定為b'100.對于發(fā)布的每個NakDLLP,增加l.當(dāng)計數(shù)達(dá)到b'100時o鏈路控制狀態(tài)機從LinkActive移動到LinkActDeferoDLLRR—COUNT隨后被復(fù)j立為b,000.如果DLLRR—COUNT不等于b,000,每256個符號時間減139o艮卩,在b,OOO飽和使用下述標(biāo)志oDLLR—IN—PROGESS.下面描述設(shè)定/清除條件.當(dāng)設(shè)定了DLLRJN—PROGESS時,丟棄所有已接收的TLP(直到接收到由DLLR—DLLP指示的TLP).當(dāng)DLLR—IN_PROGESS是清空的時,如下所述校驗己接收的TLP.對于將要接受的TLP,下述條件一般應(yīng)當(dāng)為真o已接收的TLP序列號碼等于NEXT—RCV—SEQo物理層沒有指示在TLP接收過程中的任何差錯oTLPCRC校驗不指示差錯當(dāng)接受了TLP時oTLP的事務(wù)層部分被轉(zhuǎn)發(fā)到接收事務(wù)層o如果設(shè)定,則清空DLLR—IN—PROGESS標(biāo)志o增加NEXT—RCV—SEQ.當(dāng)沒有接受TLP時o設(shè)定DLLR—IN—PROGESS標(biāo)志o發(fā)送NakDLLP.Ack/Nak序列號碼字段一般應(yīng)包含值(NEXT一RCV—SEQ—1).Nak類型(NT)字段一般會指示Nak的原因ob'00—由物理層識別的接收差錯ob,Ol—TLPCRC校驗失敗ob'10—序列號碼不正確ob,11一由物理層識別的成幀差錯.接收者一般不會允許從接收TLP的CRC到發(fā)送Nak的時間超過1023個符號時間,如從組件的端口所測量的那樣。o注意沒有增加NEXT—RCV一SEQ.如果接收數(shù)據(jù)鏈路層沒有接收到在其后的512個符號時間內(nèi)跟隨著NakDLLP的期望TLP,則重復(fù)NakDLLP。40O如果經(jīng)過四次嘗試后仍然沒有接收到期望的TLP,則接收者將.進入LinkActDefer狀態(tài),并啟動由物理層進行的鏈路重新訓(xùn)練.將主要差錯的發(fā)生指示給差錯跟蹤與記錄.當(dāng)下列條件為真時,一般會發(fā)送數(shù)據(jù)鏈路層確認(rèn)DLLP:o數(shù)據(jù)鏈路控制與管理狀態(tài)機處于LinkActive狀態(tài)o已經(jīng)接受了TLP,但還沒有通過發(fā)送確認(rèn)DLLP進行確認(rèn)o從最后的確認(rèn)DLLP起已經(jīng)經(jīng)過了超過512個符號時間.可以比所需要的更頻繁地發(fā)送數(shù)據(jù)鏈路層確認(rèn)DLLP.數(shù)據(jù)鏈路層確認(rèn)DLLP在Ack序列Num字段內(nèi)規(guī)定值(NEXT一RCV一SEQ—1)Ack超時機制考慮TLP在鏈路112上被損壞使得接收者未檢測到TLP的存在的情況。當(dāng)發(fā)送隨后的TLP時將檢測到丟失的TLP,因為TLP序列號碼與接收者處的期望序列號碼不匹配。然而,發(fā)送數(shù)據(jù)鏈路層204通常不能限定下一TLP從發(fā)送傳輸層到在發(fā)送數(shù)據(jù)鏈路層204上面出現(xiàn)的時間。Ack超時機制允許發(fā)送者限定接收者所需的檢測丟失TLP的時間。Ack超時機制規(guī)則如果發(fā)送重試緩沖器含有沒有接收到AckDLLP的TLP,并且如果在超過1024個符號時間的時間段內(nèi)沒有發(fā)送TLP或鏈路DLLP,則一般會發(fā)送Ack超時DLLP。.在發(fā)送Ack超時DLLP之后,數(shù)據(jù)鏈路層一般不會傳送任何TLP到物理層用于發(fā)送,直到從鏈路的另一方的組件接收到確認(rèn)DLLP。o如果在超過1023個符號時間的時間段內(nèi)沒有接收到確認(rèn)DLLP,則再次發(fā)送Ack超時DLLP-在第四次連續(xù)發(fā)送Ack超時DLLP之后的1024個符號時間內(nèi)仍沒有接收到確認(rèn)DLLP,.進入LinkActDefer狀態(tài)并且啟動由物理層進行的鏈路保持.將主要差錯的發(fā)生指示給差錯跟蹤與記錄。物理層206繼續(xù)參考圖2,示出了物理層206。這里所使用的物理層206使事務(wù)層202和數(shù)據(jù)鏈路層204與用于鏈路數(shù)據(jù)相互交換的信令技術(shù)相隔離。根據(jù)圖2所示的示例性實現(xiàn),物理層劃分為邏輯208和物理210功能子塊。這里所使用的邏輯子塊208負(fù)責(zé)物理層206的"數(shù)字"功能。在這方面,邏輯子塊204具有兩個主要部分發(fā)送部分,準(zhǔn)備輸出信息用于由物理子塊210進行發(fā)送;以及接收者部分,用于在將所接收信息傳送到鏈路層204之前識別并準(zhǔn)備該信息。邏輯子塊208和物理子塊210通過狀態(tài)與控制寄存器接口協(xié)調(diào)端口狀態(tài)。由邏輯子塊208指導(dǎo)物理層206的控制與管理功能。根據(jù)一個示例性實現(xiàn),EGIO體系結(jié)構(gòu)使用8b/10b發(fā)送代碼。使用該方案,8位字符被視為3位和5位,所述3位和5位各自映射到4位代碼組和6位代碼組。這些代碼組被鏈接以形成10位符號。EGIO體系結(jié)構(gòu)使用的8b/10b編碼方案提供了專用符號,其與用來表示字符的數(shù)據(jù)符號完全不同。這些專用符號用于下面的多種鏈路管理機制。專用符號還用于將DLLP和TLP成幀,使用完全不同的專用符號來允許快速便捷地區(qū)分這兩類分組。物理子塊210包括發(fā)送者和接收者。邏輯子塊208向發(fā)送者供應(yīng)符號,發(fā)送者串行化這些符號并將其發(fā)送到鏈路112。從鏈路112向接收者供應(yīng)串行化符號。接收者將所接收信號轉(zhuǎn)換為位流,位流被解串行化,并且連同從輸入串行流中恢復(fù)的符號時鐘一起被供應(yīng)到邏輯子塊208。應(yīng)當(dāng)理解,這里所使用的EGIO鏈路112可以代表多種通信介質(zhì)中的任何一種,所述多種通信介質(zhì)包括電通信鏈路、光通信鏈路、RF(射頻)通信鏈路、紅外線通信鏈路、無線通信鏈路等等。在這方面,包括物理層206的物理子塊210的(多個)發(fā)送者和/或(多個)接收者中的每一個都適合于一種或多種上述通信鏈路。示例性通信代理圖5示出了根據(jù)本發(fā)明的一個示例性實現(xiàn),含有與本發(fā)明相關(guān)聯(lián)的特征的至少一個子集的示例性通信代理的方框圖。根據(jù)圖5所示的示例性實現(xiàn),所示出的通信代理500包括控制邏輯502、EGIO通信引擎504、用于數(shù)據(jù)結(jié)構(gòu)506的存儲器空間,以及可選的一個或多個應(yīng)用508。這里所使用的控制邏輯502向EGIO通信引擎504的一個或多個元件中的每個提供處理資源,以選擇性地實現(xiàn)本發(fā)明的一個或多個方面。在這個方面,控制邏輯502意在代表微處理器、微控制器、有限狀態(tài)機、可編程邏輯組件、現(xiàn)場可編程門陣列,或當(dāng)執(zhí)行時使控制邏輯實現(xiàn)上述之一功能的內(nèi)容中的一個或多個。所示出的EGIO通信引擎504包括事務(wù)層接口202、數(shù)據(jù)鏈路層接口204和物理層接口206中的一個或多個,所述物理層接口206包括邏輯子塊208和物理子塊210,以將通信代理500和EGIO鏈路112相接口。這里所使用的EGIO通信引擎504的元件執(zhí)行與上述的功能相同或類似的功能。根據(jù)圖5所示的示例性實現(xiàn),所示出的通信代理500包括數(shù)據(jù)結(jié)構(gòu)506。如下文參考圖7將要詳細(xì)介紹的,數(shù)據(jù)結(jié)構(gòu)506可以包括存儲器空間、IO空間、配置空間和消息空間,所述空間由通信引擎504使用以便于EGIO體系結(jié)構(gòu)的元件之間進行通信。這里所使用的應(yīng)用508意在代表由通信引擎500選擇性調(diào)用的多種應(yīng)用的任何一種,以實現(xiàn)EGIO通信協(xié)議和相關(guān)的管理功能。示例性(多種)數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)到圖7,示出了根據(jù)本發(fā)明的一個實現(xiàn),(多個)EGIO接口106所使用的一種或多種數(shù)據(jù)結(jié)構(gòu)。更具體地說,參考圖7所示的示例性實現(xiàn),定義了四(4)個地址空間以在EGIO體系結(jié)構(gòu)中使用配置空間710、IO空間720、存儲器空間730以及消息空間740。如圖所示,配置空間710包括頭部字段712,其定義了主設(shè)備所屬的EGIO類別(例如端點等等)。這些地址空間的每個都執(zhí)行他們?nèi)缟纤龅母髯怨δ?。其它實施例圖9是根據(jù)本發(fā)明另一個實施例的其上存有多個指令的存儲器介質(zhì)的方框圖,其中所述指令包括實現(xiàn)EGIO互連體系結(jié)構(gòu)和通信協(xié)議的一個或多個方面的指令。大體而言,圖12示出了其上(中)存儲有內(nèi)容的機器可訪問介質(zhì)/設(shè)備900,所述內(nèi)容包括以下內(nèi)容的至少一個子集,即當(dāng)訪問機器執(zhí)行所述內(nèi)容時,所述內(nèi)容實現(xiàn)了本發(fā)明的創(chuàng)新EGIO接口106。這里所使用的機器可訪問介質(zhì)900意在代表本領(lǐng)域技術(shù)人員公知的多種介質(zhì)中的任何一種,例如易失性存儲器設(shè)備、非易失性存儲器設(shè)備、磁存儲介質(zhì)、光存儲介質(zhì)、傳播信號等等。類似地,可執(zhí)行指令意在反映本領(lǐng)域公知的多種軟件語言中的任何一種,例如C++、VisualBasic、超文本標(biāo)記語言(HTML)、Java、可擴充標(biāo)記語言(XML)等等。此外,應(yīng)當(dāng)認(rèn)識到介質(zhì)900不需要與任何主系統(tǒng)共處在一起。即,介質(zhì)900可以位于遠(yuǎn)程服務(wù)器中,所述服務(wù)器可通信地耦合到執(zhí)行系統(tǒng)并可由執(zhí)行系統(tǒng)訪問。因此,圖9的軟件實現(xiàn)應(yīng)當(dāng)認(rèn)為是示例性的,因為代替性的存儲介質(zhì)與軟件實施例被認(rèn)為位于本發(fā)明的精神和范圍之內(nèi)。盡管以詳細(xì)的描述以及對結(jié)構(gòu)特征和/或方法步驟的專用語言的抽象描述了本發(fā)明,但是應(yīng)當(dāng)理解,在所附權(quán)利要求中定義的本發(fā)明不必限制為所描述的具體特征或步驟。相反,所述具體特征和步驟只是作為實現(xiàn)所主張的發(fā)明的示例性形式而被公開。然而很明顯,可以對其進行各種修改和變化而不會背離本發(fā)明較寬的精神和范圍。因此本說明書和附圖被認(rèn)為是示例性的而不是限制性的。說明書和摘要沒有被規(guī)定為是窮盡性的或是要將本發(fā)明限制為所公開的確定形式。所附權(quán)利要求中使用的術(shù)語不應(yīng)被解釋成將本發(fā)明限制為說明書中公開的具體實施例。相反,所附權(quán)利要求完全確定了本發(fā)明的范圍,其中根據(jù)已有權(quán)利要求解釋原則來解釋所述權(quán)利要求。權(quán)利要求1.一種方法,包括在通過通用輸入/輸出總線接收到的數(shù)據(jù)報中檢測先前標(biāo)識出的差錯,以確定所述數(shù)據(jù)報是具有壞數(shù)據(jù)的數(shù)據(jù)報;通過將尾部附加到所述具有壞數(shù)據(jù)的數(shù)據(jù)報上以指示所述數(shù)據(jù)報中的讀取完成或?qū)懭胝埱髷?shù)據(jù)被標(biāo)識為有缺陷的,來選擇性地修改所述具有壞數(shù)據(jù)的數(shù)據(jù)報,其中所述選擇性地修改包括確定檢測到的差錯是出現(xiàn)在所述數(shù)據(jù)報的數(shù)據(jù)有效載荷中,還是出現(xiàn)在所述數(shù)據(jù)報的頭部中,并且如果所述差錯出現(xiàn)在所述頭部中,則不為所述數(shù)據(jù)報產(chǎn)生尾部,其中所述尾部與所述數(shù)據(jù)報中的差錯控制內(nèi)容是分開的;并且將修改后的具有壞數(shù)據(jù)的數(shù)據(jù)報轉(zhuǎn)發(fā)到其目的地;其中所述數(shù)據(jù)報是在一通用輸入/輸出接口處經(jīng)由所述通用輸入/輸出總線接收到的,其中所述通用輸入/輸出接口被實現(xiàn)在一通信端口上,所述通信端口實現(xiàn)了一通信棧,該通信棧包括事務(wù)層、數(shù)據(jù)鏈路層和物理層,所述物理層用于接收所述數(shù)據(jù)報,所述數(shù)據(jù)報來自通過通用輸入/輸出鏈路而耦合的遠(yuǎn)程通用輸入/輸出接口。2.如權(quán)利要求1所述的方法,其中所述檢測差錯包括對所述差錯控制內(nèi)容進行分析,以識別所述數(shù)據(jù)報中的差錯。3.如權(quán)利要求2所述的方法,其中,所述差錯控制內(nèi)容是為承載數(shù)據(jù)有效載荷的數(shù)據(jù)報而產(chǎn)生的。4.如權(quán)利要求l所述的方法,其中,所述尾部包括兩個雙字,其中位[7:5]全為零,而位[4:1]全為一。5.如權(quán)利要求1所述的方法,還包括接收數(shù)據(jù)報;掃描分析到所述數(shù)據(jù)報的末端,以識別尾部信息;并且將接收到的任何具有附加的尾部的數(shù)據(jù)報視為包含出錯內(nèi)容。6.如權(quán)利要求1所述的方法,所述轉(zhuǎn)發(fā)包括識別接收到的數(shù)據(jù)報中的目的地標(biāo)識符;并且基于所述目的地標(biāo)識符將所述修改后的數(shù)據(jù)報發(fā)送到所述目的地。7.如權(quán)利要求1所述的方法,其中所述轉(zhuǎn)發(fā)還包括將所述修改后的數(shù)據(jù)報通過所述通用輸入/輸出總線發(fā)送到所述目的地。8.—種裝置,包括通用輸入/輸出總線;以及通過所述通用輸入/輸出總線可通信地耦合的兩個或多個組件,所述兩個組件中的至少一個包括輔助該組件通過所述總線來通信的接口,該接口包括事務(wù)層,該事務(wù)層用于在通過通用輸入/輸出總線接收到的數(shù)據(jù)報中檢測先前標(biāo)識出的差錯,以確定所述數(shù)據(jù)報是具有壞數(shù)據(jù)的數(shù)據(jù)報;通過將尾部附加到所述具有壞數(shù)據(jù)的數(shù)據(jù)報上以指示所述數(shù)據(jù)報中的讀取完成或?qū)懭胝埱髷?shù)據(jù)被標(biāo)識為有缺陷的,來選擇性地修改所述具有壞數(shù)據(jù)的數(shù)據(jù)報,其中所述選擇性地修改包括.-確定檢測到的差錯是出現(xiàn)在所述數(shù)據(jù)報的數(shù)據(jù)有效載荷中,還是出現(xiàn)在所述數(shù)據(jù)報的頭部中,并且如果所述差錯出現(xiàn)在所述頭部中,則不為所述數(shù)據(jù)報產(chǎn)生尾咅P,其中所述尾部與所述數(shù)據(jù)報中的差錯控制內(nèi)容是分開的;并且將修改后的具有壞數(shù)據(jù)的數(shù)據(jù)報轉(zhuǎn)發(fā)到其目的地;其中所述數(shù)據(jù)報是在一通用輸入/輸出接口處經(jīng)由所述通用輸入/輸出總線接收到的,所述接口被實現(xiàn)在一通信端口上,所述通信端口實現(xiàn)了一通信棧,該通信棧包括事務(wù)層、數(shù)據(jù)鏈路層和物理層,所述物理層用于接收所述數(shù)據(jù)報,所述數(shù)據(jù)報來自通過通用輸入/輸出鏈路而耦合的遠(yuǎn)程通用輸入/輸出接口。9.如權(quán)利要求8所述的裝置,其中,為了檢測所述差錯,所述事務(wù)層對所述差錯控制內(nèi)容進行分析,以識別所述數(shù)據(jù)報中的差錯。10.如權(quán)利要求9所述的裝置,其中,如果所述數(shù)據(jù)報包括數(shù)據(jù)有效載荷,則由所述接收到的數(shù)據(jù)報的發(fā)送者來產(chǎn)生所述差錯控制內(nèi)容。11.如權(quán)利要求8所述的裝置,其中,所述事務(wù)層確定檢測到的差錯是出現(xiàn)在所述數(shù)據(jù)報的數(shù)據(jù)有效載荷中還是出現(xiàn)在所述數(shù)據(jù)報的頭部中,并且如果所述差錯出現(xiàn)在所述頭部中則不為所述數(shù)據(jù)報產(chǎn)生尾部。全文摘要如果點到點體系結(jié)構(gòu)中的交換或橋接設(shè)備接收到被認(rèn)為有缺陷的數(shù)據(jù)報,則該設(shè)備修改分組以指示存在差錯,然后將其轉(zhuǎn)發(fā)到其目的地。對數(shù)據(jù)報的頭部和有效載荷進行不同的處理,如果僅在頭部中檢測到差錯,則可以不修改數(shù)據(jù)報。如果接收者在數(shù)據(jù)報中檢測到尾部,則它將該數(shù)據(jù)報視為包含出錯內(nèi)容。文檔編號G06F11/00GK101674158SQ200910179040公開日2010年3月17日申請日期2002年9月26日優(yōu)先權(quán)日2001年9月30日發(fā)明者巴克·格勒梅爾,戴維·哈里曼,賈斯明·阿亞諾維奇申請人:英特爾公司