專利名稱:一種實(shí)現(xiàn)pcie交換網(wǎng)絡(luò)的報(bào)文傳輸方法、設(shè)備、系統(tǒng)和存儲(chǔ)介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及計(jì)算機(jī)領(lǐng)域,尤其涉及實(shí)現(xiàn)高速外圍組件互連(PeripheralComponent Interconnect Express,簡稱PCIE)交換網(wǎng)絡(luò)的報(bào)文傳輸方法、設(shè)備、系統(tǒng)和存儲(chǔ)介質(zhì)。
背景技術(shù):
隨著計(jì)算機(jī)和通信技術(shù)的進(jìn)一步發(fā)展,新一代的輸入/輸出(Input/Output,簡稱I/O)接口大量涌現(xiàn),比如千兆以太網(wǎng)(Gigabit Ethernet,簡稱GE)、萬兆以太網(wǎng)(IOGigabit Ethernet,簡稱 IOGE)的以太網(wǎng)技術(shù)、4G/8G 的光纖通道(Fibre Channel,簡稱FC)技術(shù),I/O接口速率大幅提高,傳統(tǒng)的外圍組件互連(Peripheral ComponentInterconnect,簡稱PCI)總線的帶寬已經(jīng)無力應(yīng)付計(jì)算系統(tǒng)內(nèi)部大量高帶寬并行讀寫的要求,PCI總線也成為系統(tǒng)性能提升的瓶頸,于是出現(xiàn)了 PCIE總線。PCIE總線能夠通過多通道(X1/X2/X4/X8/X16/X32)提供極高的帶寬來滿足系統(tǒng)的需求。PCIE采用點(diǎn)對點(diǎn)的通信模式,從根聯(lián)合體(Root Comp I ex,簡稱RC)到端點(diǎn)設(shè)備(Endpoint,簡稱EP),是一種樹形網(wǎng)絡(luò)結(jié)構(gòu),傳輸層基于事務(wù)層包(Transaction LayerPacket,簡稱TLP)報(bào)文進(jìn)行數(shù)據(jù)交換。PCIE作為單板內(nèi)部總線應(yīng)用時(shí),簡單的樹形結(jié)構(gòu)就足夠保證系統(tǒng)的可靠性,而且PCIE總線發(fā)生故障時(shí),影響的范圍也僅限制在單板內(nèi)部。隨著計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)架構(gòu)發(fā)生變化,PCIE作為這些部件之間的交換網(wǎng)絡(luò)顯示出優(yōu)勢,如圖1所不,圖形處理單兀(Graphics Process Unit,簡稱GPU)、聚合網(wǎng)絡(luò)適配器(ConvergeNetwork Adaptor,簡稱CNA)、固態(tài)硬盤(Solid-State Disk,簡稱SSD)、視頻加速部件等提供虛擬化技術(shù),通過PCIE交換可在中央處理單元(Central Process Unit,簡稱CPU)之間或者虛擬機(jī)(Virtual Machine,簡稱VM)之間實(shí)現(xiàn)GPU、CNA、SSD等的資源共享,提高系統(tǒng)資源的利用率。當(dāng)GPU/CNA/SSD/視頻加速部件/PCIE交換部件或者PCIE鏈路發(fā)生故障時(shí),由于PCIE規(guī)范定義的樹形交換結(jié)構(gòu),可能導(dǎo)致所有CPU產(chǎn)生異常,極大降低系統(tǒng)可靠性。如上所述,由于PCIE現(xiàn)有樹形結(jié)構(gòu)的組網(wǎng)方式,系統(tǒng)可靠性無法滿足應(yīng)用需求。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實(shí)施例提供了 一種實(shí)現(xiàn)高速外圍組件互連(PeripheralComponent Interconnect Express,簡稱PCIE)交換網(wǎng)絡(luò)的報(bào)文傳輸方法、設(shè)備、系統(tǒng)和存儲(chǔ)介質(zhì),實(shí)現(xiàn)在PCIE雙平面交換網(wǎng)絡(luò)時(shí),進(jìn)行報(bào)文傳輸。第一方面,本發(fā)明實(shí)施例提供了一種高速外圍組件互連接口控制器PEIC,包括:PCI到PCI橋P2P模塊,用于接收來自于根聯(lián)合體RC或端點(diǎn)設(shè)備EP的第一事務(wù)層包TLP報(bào)文,轉(zhuǎn)發(fā)所述第一 TLP報(bào)文給可靠性TLP傳輸RTT模塊處理;所述可靠TLP傳輸模塊,用于根據(jù)接收的所述第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述可靠TLP傳輸模塊,還用于封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,以便所述第一 TLP報(bào)文的目的PEIC根據(jù)所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收,其中,所述TLP報(bào)文發(fā)送序號是所述源PEIC向所述第一 TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收為針對所述主備PCIE交換單元轉(zhuǎn)發(fā)的相同源PEIC編號和相同所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。結(jié)合第一方面的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述可靠TLP傳輸模塊包括:TLP報(bào)文分發(fā)模塊,用于根據(jù)接收的所述第一 TLP報(bào)文查找地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定所述TLP傳輸隊(duì)列TTQ,將所述第一 TLP報(bào)文放入TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第一 TLP報(bào)文的目的PEIC相對應(yīng);發(fā)送模塊,用于將所述TLP傳輸隊(duì)列中的所述第一 TLP報(bào)文通過所述TLP傳輸隊(duì)列的發(fā)送鏈路同時(shí)發(fā)送給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中:所述發(fā)送模塊,還用于封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的端到端TLP前綴中添加源PEIC編號SPEIC和TLP報(bào)文發(fā)送序號SEQUENCE,以便所述目的PEIC根據(jù)所述SPEIC和所述SEQUENCE對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收,其中,所述TLP報(bào)文發(fā)送序號是所述源PEIC向所述第一 TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)所述SPEIC和所述SEQUENCE對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收為針對所述主備PCIE交換單元轉(zhuǎn)發(fā)的相同SPEIC和相同SEQUENCE的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式或第一方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述可靠TLP傳輸模塊還包括:接收模塊,用于選收所述主備PCIE交換單元發(fā)送的第二 TLP報(bào)文,將接收的所述第二 TLP報(bào)文發(fā)送給所述P2P模塊,由所述P2P模塊轉(zhuǎn)給所述第二 TLP報(bào)文的目的RC或目的EP。結(jié)合第一方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述接收模塊用于選收所述主備PCIE交換單元發(fā)送的第二 TLP報(bào)文,具體為:所述接收模塊,用于接收所述主備PCIE交換單元發(fā)送的所述第二 TLP報(bào)文,針對自定義TLP前綴中攜帶相同的源PEIC編號SPEIC和相同TLP報(bào)文發(fā)送序號SEQUENCE的所述第二 TLP報(bào)文中,只接收第一個(gè)收到的所述第二 TLP報(bào)文,丟棄后收到的所述第二 TLP報(bào)文。
結(jié)合第一方面的第二至第五種任一可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述可靠TLP傳輸模塊還包括: TLP傳輸隊(duì)列管理模塊,用于維護(hù)管理各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路,所述TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號為向所述傳輸隊(duì)列對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文發(fā)送序號,所述TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送鏈路為向所述傳輸隊(duì)列對應(yīng)的目的PEIC的TLP報(bào)文發(fā)送鏈路。第二方面,本發(fā)明實(shí)施例提供了一種高速外圍組件互連接口控制器PEIC,包括:PCI到PCI橋P2P模塊,用于接收來自于根聯(lián)合體RC或端點(diǎn)設(shè)備EP的第三事務(wù)層包TLP報(bào)文,轉(zhuǎn)發(fā)所述第三TLP報(bào)文給可靠性TLP傳輸RTT模塊處理;所述可靠性TLP傳輸RTT模塊,用于根據(jù)接收的所述第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PCIE接口控制器接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述第三TLP報(bào)文的目的EP或目的RC,并用于在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與所述PCIE交換單元連接的發(fā)送鏈路重新發(fā)送所述第三TLP報(bào)文。在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述RTT模塊,還用于封裝所述第三TLP報(bào)文,在所述第三TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,并通過所述發(fā)送鏈路發(fā)送封裝后的所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PEIC根據(jù)接收到的所述第三TLP報(bào)文中的源PEIC編號和TLP報(bào)文發(fā)送序號返回所述第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的自定義端到端TLP前綴中攜帶所述第三TLP報(bào)文的目的PEIC的PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,所述第三TLP報(bào)文中的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述第一確認(rèn)消息TLP報(bào)文中的確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述第三TLP報(bào)文的源PEIC的TLP報(bào)文發(fā)送序號。結(jié)合第二方面的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述可靠TLP傳輸模塊包括:TLP報(bào)文分發(fā)模塊,用于根據(jù)接收的所述第三TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將所述第三TLP報(bào)文放入所述TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第三TLP報(bào)文的目的PEIC相對應(yīng);發(fā)送模塊,用于將所述TLP傳輸隊(duì)列中的所述第三TLP報(bào)文,通過所述TLP傳輸隊(duì)列的發(fā)送鏈路發(fā)送給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PCIE接口控制器接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述第三TLP報(bào)文的目的EP或目的RC ;并用于在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的所述第一確認(rèn)消息TLP報(bào)文時(shí),通過與所述PCIE交換單元連接的所述發(fā)送鏈路重新發(fā)送所述第三TLP報(bào)文;接收模塊,用于所述接收PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文,并傳遞給所述確認(rèn)模塊;所述確認(rèn)模塊,用于根據(jù)所述第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號信息和源PEIC編號,通知TLP傳輸隊(duì)列管理模塊刪除TLP傳輸隊(duì)列中已確認(rèn)的第三TLP報(bào)文。所述TLP傳輸隊(duì)列管理模塊,用于根據(jù)所述確認(rèn)模塊的通知?jiǎng)h除所述TLP傳輸隊(duì)列中已確認(rèn)的所述第三TLP報(bào)文。結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中:發(fā)送模塊,還用于封裝所述第三TLP報(bào)文,在所述第三TLP報(bào)文的端到端TLP前綴中添加源PEIC編號SPEIC和TLP報(bào)文發(fā)送序號,并通過所述TTQ的發(fā)送鏈路發(fā)送封裝后的所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PEIC根據(jù)源PEIC編號和TLP報(bào)文發(fā)送序號對接收到的TLP報(bào)文返回第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,所述TLP報(bào)文發(fā)送序號是所述源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述源PEIC的TLP報(bào)文發(fā)送序號。結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式或第二方面的第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中:所述TLP傳輸隊(duì)列管理模塊,還用于維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。結(jié)合第二方面的第一至第三種任一可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中:所述接收模塊,還用于接收從所述PCIE交換單元發(fā)送的第四TLP報(bào)文,判斷是否是確認(rèn)消息TLP報(bào)文,如果不是確認(rèn)消息TLP報(bào)文,則將接收的所述第四TLP報(bào)文緩存到與所述第四TLP報(bào)文的源PEIC對應(yīng)的TLP確認(rèn)序列TAS中;P2P模塊,還用于獲取所述TLP確認(rèn)序列TAS中的所述第四TLP報(bào)文,轉(zhuǎn)發(fā)給所述第四TLP報(bào)文的目的RC/EP。結(jié)合第二方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述可靠TLP傳輸模塊還包括:TLP確認(rèn)序列管理模塊,用于在TLP確認(rèn)序列收到所述第四TLP報(bào)文后,通知所述確認(rèn)模塊給所述第四TLP報(bào)文的源PEIC返回確認(rèn)消息TLP報(bào)文;則,所述確認(rèn)模塊,還用于產(chǎn)生第二確認(rèn)消息TLP報(bào)文,緩存到所述第四TLP報(bào)文的源PEIC對應(yīng)的TLP傳輸隊(duì)列中,以便由所述發(fā)送模塊進(jìn)行調(diào)度發(fā)送。結(jié)合第二方面的第二至五種任一可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,所述可靠TLP傳輸模塊還包括:心跳模塊,用于每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,通知所述TLP發(fā)送隊(duì)列管理模塊更新所述返回檢測應(yīng)答TLP報(bào)文的目的PEIC相應(yīng)的TTQ的發(fā)送鏈路。貝U,TLP傳輸隊(duì)列管理模塊,還用于根據(jù)所述心跳模塊的通知更新所述TLP傳輸隊(duì)列的發(fā)送鏈路。第三方面,本發(fā)明實(shí)施例提供了一種高速外圍組件互連交換網(wǎng)絡(luò)的報(bào)文傳輸方法,包括:
接收來自于RC或EP的第一 TLP報(bào)文;根據(jù)接收的所述第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元前,所述方法還包括:封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,以便所述目的PEIC根據(jù)所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收,其中,所述TLP報(bào)文發(fā)送序號是所述第一 TLP報(bào)文的源PEIC向所述第一 TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收為針對所述主備PCIE交換單元轉(zhuǎn)發(fā)的相同源PEIC編號和相同所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)接收的所述第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC,具體為:根據(jù)接收的所述第一 TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將所述第一 TLP報(bào)文放入TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第一TLP報(bào)文的目的PEIC相對應(yīng);將所述TLP傳輸隊(duì)列中的所述第一 TLP報(bào)文,通過所述TLP傳輸隊(duì)列的發(fā)送鏈路同時(shí)發(fā)送給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。結(jié)合第三方面的第一種可能的實(shí)現(xiàn)方式或第三方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,還包括:所述第一 TLP報(bào)文的目的PEIC針對自定義TLP前綴中攜帶相同的所述源PEIC編號和所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文,只接收第一個(gè)收到的所述第一 TLP報(bào)文,丟棄后收到的所述第一 TLP報(bào)文。結(jié)合第三方面的第一至第三種任一可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,還包括:維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路,每發(fā)送一個(gè)TLP報(bào)文,相應(yīng)TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號加I ;維護(hù)期望接收的其他PEIC發(fā)送的TLP報(bào)文發(fā)送序號,每接收一個(gè)TLP報(bào)文,期望接收的相應(yīng)的源PEIC發(fā)送的TLP報(bào)文發(fā)送序號加I。第四方面,本發(fā)明實(shí)施例提供了一種高速外圍組件互連交換網(wǎng)絡(luò)的報(bào)文傳輸方法,包括:
接收來自于RC或EP的第三TLP報(bào)文。 根據(jù)接收的所述第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PCIE接口控制器接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述第三TLP報(bào)文的目的EP或目的RC,并在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與所述PCIE交換單元連接的發(fā)送鏈路重新發(fā)送所述第三TLP報(bào)文。在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)接收的所述第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,具體為:根據(jù)接收的所述第三TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將所述第三TLP報(bào)文放入所述TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第三TLP報(bào)文的目的PEIC相對應(yīng);通過所述TLP傳輸隊(duì)列的發(fā)送鏈路將所述第三TLP報(bào)文發(fā)送給所述PCIE交換單
J Li ο結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,還包括:接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文;根據(jù)所述第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號和源PEIC編號,刪除所述TLP傳輸隊(duì)列中已確認(rèn)的所述第三TLP報(bào)文。結(jié)合第四方面的第一種可能的實(shí)現(xiàn)方式或第四方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,還包括:封裝所述第三TLP報(bào)文,在所述第三TLP報(bào)文的端到端TLP前綴中添加源PEIC編號SPEIC和TLP報(bào)文發(fā)送序號,以便所述第三TLP報(bào)文的目的PEIC根據(jù)所述第三TLP報(bào)文中的源PEIC編號和TLP報(bào)文發(fā)送序號對接收到的所述第三TLP報(bào)文返回第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,所述TLP報(bào)文發(fā)送序號是所述源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述源PEIC的TLP報(bào)文發(fā)送序號。結(jié)合第四方面的第二種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,在所述接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的所述第一確認(rèn)消息TLP報(bào)文之前,還包括:接收到從所述PCIE交換單元發(fā)送的第四TLP報(bào)文,根據(jù)所述第四TLP報(bào)文的類型確認(rèn)是否是所述第一確認(rèn)消息TLP報(bào)文,如果不是所述第一確認(rèn)消息TLP報(bào)文,則將接收的所述第四TLP報(bào)文轉(zhuǎn)發(fā)給所述第四TLP報(bào)文的目的RC或目的EP。結(jié)合第四方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,還包括:給所述第四TLP報(bào)文的源PEIC返回第二確認(rèn)消息TLP報(bào)文。結(jié)合第四方面的第三至第五任一可能的實(shí)現(xiàn)方式,在第六種可能的實(shí)現(xiàn)方式中,還包括:
維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。結(jié)合第四方面的第三至第六可能的實(shí)現(xiàn)方式,在第七種可能的實(shí)現(xiàn)方式中,還包括:每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,更新相應(yīng)TLP傳輸隊(duì)列的發(fā)送鏈路。第五方面,本發(fā)明實(shí)施例提供了一種高速外圍組件互連交換網(wǎng)絡(luò)報(bào)文傳輸系統(tǒng),包括:至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,至少兩個(gè)PCIE接口控制器PEIC和兩個(gè)PCIE交換單元,其中,所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的每個(gè)PCIE節(jié)點(diǎn)設(shè)備與所述至少兩個(gè)PCIE接口控制器中的一個(gè)PCIE接口控制器相連,所述至少兩個(gè)PCIE接口控制器中的每一個(gè)PCIE接口控制器與所述兩個(gè)PICE交換單元分別相連;所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第一 PCIE節(jié)點(diǎn)設(shè)備,用于發(fā)送第一 TLP報(bào)文給相連的所述至少兩個(gè)PCIE接口控制器中的第一 PCIE接口控制器; 所述第一 PCIE接口控制器,用于接收所述第一 TLP報(bào)文,根據(jù)接收的所述第一 TLP報(bào)文確定與所述兩個(gè)PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述兩個(gè)PCIE交換單元;所述兩個(gè)PCIE交換單元中的每個(gè)PCIE交換單元,用于轉(zhuǎn)發(fā)所述第一 TLP報(bào)文給所述至少兩個(gè)PCIE接口控制器中的第二 PCIE接口控制器,所述第二 PCIE接口控制器為所述第一 TLP報(bào)文的目的PCIE接口控制器;所述第二 PCIE接口控制器,用于選收所述PCIE交換單元轉(zhuǎn)發(fā)的該第一 TLP報(bào)文并發(fā)送給所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第二 PCIE節(jié)點(diǎn)設(shè)備,所述第二 PCIE節(jié)點(diǎn)設(shè)備為所述第一 TLP報(bào)文的目的PCIE節(jié)點(diǎn)設(shè)備;所述第二 PCIE節(jié)點(diǎn)設(shè)備,用于接收所述第二 PCIE接口控制器轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文。在第五方面的第一種可能的實(shí)現(xiàn)方式中,所述第一 PCIE接口控制器,還用于封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號;所述第二 PCIE接口控制器,還用于根據(jù)所述第一 TLP報(bào)文中的所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收;其中,所述TLP報(bào)文發(fā)送序號是所述第一 PEIC向所述第二 PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)根據(jù)所述第一 TLP報(bào)文中的所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述第一 TLP報(bào)文進(jìn)行選收為針對相同PEIC編號和所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。結(jié)合第五方面或第五方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述第一 PCIE接口控制器,用于根據(jù)接收的所述第一 TLP報(bào)文確定與所述兩個(gè)PCIE交換單元連接的發(fā)送鏈路,具體為:所述第一 PCIE接口控制器,用于根據(jù)所述第一 TLP報(bào)文,查找地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定所述第一 TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定所述第一 TLP報(bào)文對應(yīng)的與所述兩個(gè)PCIE交換單元相連的發(fā)送鏈路。
結(jié)合第五方面或第五方面的第一種或第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中:所述PCIE節(jié)點(diǎn)設(shè)備為根聯(lián)合體RC或端點(diǎn)設(shè)備EP,所述每個(gè)PCIE接口控制器與一個(gè)RC或至少一個(gè)EP連接。第六方面,本發(fā)明實(shí)施例提供了一種高速外圍組件互連交換網(wǎng)絡(luò)報(bào)文傳輸系統(tǒng),包括:至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,至少兩個(gè)PCIE接口控制器PEIC和兩個(gè)PCIE交換單元,其中,所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的每個(gè)PCIE節(jié)點(diǎn)設(shè)備與所述至少兩個(gè)PCIE接口控制器中的一個(gè)PCIE接口控制器相連,所述至少兩個(gè)PCIE接口控制器中的每個(gè)PCIE接口控制器與所述兩個(gè)PICE交換單元分別相連;所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第三PCIE節(jié)點(diǎn)設(shè)備,用于發(fā)送第三TLP報(bào)文給相連的所述至少兩個(gè)PCIE接口控制器中的第三PCIE接口控制器;所述第三PCIE接口控制器,用于接收所述第三TLP報(bào)文,根據(jù)接收的所述第三TLP報(bào)文確定與所述兩個(gè)PCIE交換單元中的一個(gè)PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,并在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述至少兩個(gè)PCIE接口控制器中的第四PCIE接口控制器返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與所述PCIE交換單元連接的發(fā)送鏈路重新發(fā)送所述第三TLP報(bào)文給所述第四PCIE接口控制器,其中所述第四PCIE接口控制器為所述第三TLP報(bào)文的目的PCIE接口控制器;所述PCIE交換單元,用于轉(zhuǎn)發(fā)所述第三TLP報(bào)文給所述第四PCIE接口控制器,并轉(zhuǎn)發(fā)所述第四PCIE接口控制器返回的所述第一確認(rèn)消息TLP報(bào)文給所述第三PCIE接口控制器;所述第四PCIE接口控制器,用于接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第四PCIE節(jié)點(diǎn)設(shè)備,所述第二 PCIE節(jié)點(diǎn)設(shè)備為所述第三TLP報(bào)文的目的PCIE節(jié)點(diǎn)設(shè)備,并返回所述第一確認(rèn)消息TLP報(bào)文給所述第三PCIE接口控制器以確認(rèn)收到所述第三TLP報(bào)文;所述第四PCIE節(jié)點(diǎn)設(shè)備,用于接收所述第四PCIE接口控制器轉(zhuǎn)發(fā)的所述第三TLP報(bào)文。在第六方面的第一種可能的實(shí)現(xiàn)方式中,所述第三PEIC,還用于接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第四PEIC返回的所述第一確認(rèn)消息TLP報(bào)文,并根據(jù)所述第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號信息和源PEIC編號,刪除已確認(rèn)的所述第三TLP報(bào)文。結(jié)合第六方面或第六方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中:所述第三PEIC,還用于封裝TLP報(bào)文,在所述第三TLP報(bào)文的端到端TLP前綴中添加源PEIC編號SPEIC和TLP報(bào)文發(fā)送序號,并通過所述發(fā)送鏈路發(fā)送封裝后的所述第三TLP報(bào)文給所述PCIE交換單元;所述第四PEIC,還用于根據(jù)所述第三TLP報(bào)文攜帶的源PEIC編號和TLP報(bào)文發(fā)送序號返回所述第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,所述TLP報(bào)文發(fā)送序號是所述第三PEIC到所述第四PEIC發(fā)送的TLP報(bào)文的順序編號,所述確認(rèn)的TLP報(bào)文發(fā)送序號是所述第四PEIC已接收的所述第三PEIC的TLP報(bào)文發(fā)送序號。結(jié)合第六方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中:所述第三PEIC,還用于維護(hù)到其他PEIC的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。結(jié)合第六方面或第六方面的第一至第三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中:所述每個(gè)PCIE接口控制器,還用于每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并更新在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的PEIC的對應(yīng)發(fā)送鏈路。結(jié)合第六方面或第六方面的第一至第四種任一可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中:所述PCIE節(jié)點(diǎn)設(shè)備為根聯(lián)合體RC或端點(diǎn)設(shè)備EP,所述每個(gè)PCIE接口控制器與一個(gè)RC或至少一個(gè)EP連接。第七方面,本發(fā)明實(shí)施例還提供了一種高速外圍組件互連接口控制器PEIC,其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)執(zhí)行指令,當(dāng)所述高速外圍組件互連接口控制器PEIC運(yùn)行時(shí),所述處理器與所述存儲(chǔ)器之間通信,所述處理器執(zhí)行所述執(zhí)行指令使得所述高速外圍組件互連接口控制器PEIC執(zhí)行上述第三方面任一方法。第八方面,本發(fā)明實(shí)施例還提供了一種高速外圍組件互連接口控制器PEIC,其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)執(zhí)行指令,當(dāng)所述高速外圍組件互連接口控制器PEIC運(yùn)行時(shí),所述處理器與所述存儲(chǔ)器之間通信,所述處理器執(zhí)行所述執(zhí)行指令使得所述高速外圍組件互連接口控制器PEIC執(zhí)行上述第四方面任一方法。第九方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令用于使高速外圍組件互連接口控制器PEIC執(zhí)行上述第三方面任一方法。第十方面,本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令用于使高速外圍組件互連接口控制器PEIC執(zhí)行上述第三方面任一方法。通過上述方案,本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)的報(bào)文傳輸方法、設(shè)備、系統(tǒng)和存儲(chǔ)介質(zhì),通過在與主備PCIE交換單元連接的發(fā)送鏈路上同時(shí)發(fā)送第一 TLP報(bào)文給主備PCIE交換單元,由第一 TLP報(bào)文的目的PEIC選收主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC,或者通過與PCIE交換單元連接的發(fā)送鏈路上發(fā)送第三TLP報(bào)文給PCIE交換單元,由PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,目的PEIC轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,并返回第一確認(rèn)消息TLP報(bào)文給源PEIC。源PEIC在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文。從而實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的端到端可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中PCIE交換應(yīng)用的系統(tǒng)架構(gòu)圖;圖2為現(xiàn)有PCIE規(guī)范的樹形網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖3為本發(fā)明實(shí)施例的PCIE網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖4為本發(fā)明實(shí)施例1的PCIE接口控制器的結(jié)構(gòu)圖;圖5為本發(fā)明實(shí)施例2的PCIE接口控制器的結(jié)構(gòu)圖;圖6為本發(fā)明實(shí)施例的TLP報(bào)文的地址轉(zhuǎn)發(fā)表;圖7為本發(fā)明實(shí)施例的TLP報(bào)文的ID轉(zhuǎn)發(fā)表;圖8為本發(fā)明實(shí)施例的TLP傳輸隊(duì)列與PCIE接口控制器的連接關(guān)系圖;圖9為本發(fā)明實(shí)施例的TLP報(bào)文格式圖;圖10為本發(fā)明實(shí)施例3的PCIE接口控制器的結(jié)構(gòu)圖;圖11為本發(fā)明實(shí)施例4的PCIE接口控制器的結(jié)構(gòu)圖;圖12為本發(fā)明實(shí)施例5的PCIE接口控制器的結(jié)構(gòu)圖;圖13為本發(fā)明實(shí)施例的TLP傳輸隊(duì)列的滑動(dòng)窗口示意圖;圖14為本發(fā)明實(shí)施例6的PCIE接口控制器的結(jié)構(gòu)圖;圖15為本發(fā)明實(shí)施例7的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D;圖16為本發(fā)明實(shí)施例8的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D;圖17為本發(fā)明實(shí)施例9的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D;圖18為本發(fā)明實(shí)施例10的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D;圖19為本發(fā)明實(shí)施例11的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng)圖;圖20為本發(fā)明實(shí)施例12的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng)圖;圖21為本發(fā)明實(shí)施例13的PCIE接口控制器結(jié)構(gòu)圖;圖22為本發(fā)明實(shí)施例14的PCIE接口控制器結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖2為現(xiàn)有PCIE規(guī)范的樹形網(wǎng)絡(luò)的結(jié)構(gòu)圖,如圖所示,左邊是PCIE應(yīng)用連接的示意圖,從根聯(lián)合體RC到端點(diǎn)設(shè)備EP是一種樹形網(wǎng)絡(luò)結(jié)構(gòu),RC可直接連接EP或者連接一個(gè)/多個(gè)交換器,PCIE采用點(diǎn)對點(diǎn)的通信模式,每個(gè)RC到每個(gè)EP/交換器之間僅有一個(gè)路徑。右邊是PCIE交換器的內(nèi)部結(jié)構(gòu)圖,每個(gè)PCIE交換器都有一個(gè)唯一的上行端口和若干個(gè)下行端口,交換器的每個(gè)端口在內(nèi)部有一個(gè)虛擬的PCI到PCI (PCI to PCI,簡稱P2P)橋。由于PCIE規(guī)范定義的點(diǎn)對點(diǎn)的通信模式和樹形交換結(jié)構(gòu),其無法支持雙平面組網(wǎng)。
圖3為本發(fā)明實(shí)施例應(yīng)用的PCIE網(wǎng)絡(luò)結(jié)構(gòu)圖,如圖3所示,在RC/EP與PCIE交換單元之間增加一個(gè)PCIE接口控制器(PCIE Interface Controller,簡稱PEIC),PEIC對內(nèi)連接RC/EP,對外連接主備PCIE交換單元,實(shí)現(xiàn)雙平面組網(wǎng),以及故障檢測和倒換等功能;PCIE交換單元是基于PCIE規(guī)范的交換單元,完成PEIC之間的數(shù)據(jù)交換,配置主備兩個(gè)平面,如圖3中的PCIE交換單元I和PCIE交換單元2分別表示PCIE交換的主備平面;EP即PCIE規(guī)范中定義的標(biāo)準(zhǔn)功能設(shè)備,例如,以太網(wǎng)卡、FC網(wǎng)卡、無限帶寬(InfiniBand,簡稱IB)網(wǎng)卡、低價(jià)冗余磁盤陣列(Redundant Arrays of Inexpensive Disks,簡稱RAID)卡等。PEIC和EP、RC以及PCIE交換單元都基于PCIE規(guī)范進(jìn)行數(shù)據(jù)交換。從圖3的網(wǎng)絡(luò)結(jié)構(gòu)圖可以看出,PCIE接口控制器PEIC是RC/EP和PCIE交換單元之間增加的一個(gè)部件,PEIC是本發(fā)明和現(xiàn)有PCIE規(guī)范定義的樹形結(jié)構(gòu)的最大區(qū)別,通過PEIC實(shí)現(xiàn)了基于PCIE交換的雙平面組網(wǎng)。本發(fā)明實(shí)施例1提供的一個(gè)PEIC的結(jié)構(gòu)如圖4所示:包括一個(gè)P2P橋模塊和一個(gè)TLP傳輸(Reliable TLP Transmission,簡稱RTT)模塊,其中,P2P橋是PCIE規(guī)范定義的標(biāo)準(zhǔn)點(diǎn)對點(diǎn)橋,實(shí)現(xiàn)PCIE的鏈路層和傳輸層協(xié)議,RC/EP和PEIC之間是標(biāo)準(zhǔn)的PCIE鏈路。RTT模塊主要完成主備PCIE交換單元的鏈路選擇以及從PEIC到任意其它PEIC的TLP報(bào)文端到端的可靠傳輸,從PCIE規(guī)范角度看,RTT模塊是一個(gè)透明模塊,RC/EP看到的PCIE樹形結(jié)構(gòu)中,PEIC實(shí)際上是一個(gè)P2P橋,通過RTT,PEIC和PCIE交換單元連接的是一個(gè)虛擬P2P,即RC/EP看不到主備PCIE交換單元,而是一個(gè)如圖2中所示的標(biāo)準(zhǔn)PCIE交換器。如圖4所示的PCIE接口控制器PEIC 10,包括PCI到PCI橋模塊P2P模塊11和可靠TLP傳輸模塊RTT模塊12。P2P模塊11,用于接收來自于RC或EP的第一 TLP報(bào)文,轉(zhuǎn)發(fā)該第一 TLP報(bào)文給可靠性TLP傳輸模塊RTT模塊處理;RTT模塊12,用于根據(jù)接收的第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過發(fā)送鏈路同時(shí)發(fā)送第一 TLP報(bào)文給所述主備PCIE交換單元,以便該第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC。優(yōu)選的,RTT模塊12,用于接收到P2P模塊11轉(zhuǎn)發(fā)的第一 TLP報(bào)文后,根據(jù)TLP報(bào)文類型,即該報(bào)文是地址路由還是標(biāo)識(Identity,簡稱ID)路由,查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,獲得該第一 TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定該報(bào)文對應(yīng)的主備PCIE交換單元的發(fā)送鏈路,通過該發(fā)送鏈路同時(shí)將該第一 TLP報(bào)文發(fā)送給主備PCIE交換單元。則,主備PCIE交換單元將接收的第一 TLP報(bào)文發(fā)送給目的PEIC,目的PEIC選收相應(yīng)的報(bào)文,例如,接收先到的第一 TLP報(bào)文,丟棄后到的第一 TLP報(bào)文。并轉(zhuǎn)發(fā)接收到的第一TLP報(bào)文給該第一 TLP報(bào)文的目的EP或目的RC。進(jìn)一步的,RTT模塊12,還用于封裝TLP報(bào)文,添加自定義的TLP前綴(Prefix),并通過發(fā)送鏈路同時(shí)發(fā)送封裝后的第一 TLP報(bào)文給主備PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:根據(jù)PCIE規(guī)范中定義,TLP報(bào)文可包含O或者多個(gè)標(biāo)準(zhǔn)或者自定義個(gè)TLP前綴,通過TLP Prefix可實(shí)現(xiàn)端到端擴(kuò)展、點(diǎn)對點(diǎn)擴(kuò)展的參數(shù)傳遞,實(shí)現(xiàn)功能擴(kuò)展。TLPPrefix又分為本地和端到端TLP Prefix。TLP Header定義了 TLP報(bào)文的標(biāo)準(zhǔn)頭部,DataPayload是TLP的數(shù)據(jù)部分,TLP Digest是TLP報(bào)文的摘要部分,這三個(gè)部分都是PCIE規(guī)范的標(biāo)準(zhǔn)內(nèi)容。優(yōu)選的,本實(shí)施例中通過使用自定義端到端TLP Prefix,添加源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE),實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,以便目的PEIC根據(jù)SPEIC和SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),實(shí)現(xiàn)對接收的主備PCIE交換單元傳遞的第一 TLP報(bào)文進(jìn)行選收。RTT模塊12從兩條鏈路上把第一 TLP報(bào)文發(fā)送給主備兩個(gè)PCIE交換單元,報(bào)文發(fā)送后,對應(yīng)該目的PEIC的TLP報(bào)文發(fā)送序號(SEQUENCE)加I。目的PEIC選擇主備鏈路中第一個(gè)收到的第一TLP報(bào)文發(fā)送給目的EP或目的RC,后收到的第一 TLP報(bào)文丟棄,即,具有相同SPEIC和相同SEQUENCE的TLP報(bào)文僅接收先到達(dá)的,目的PEIC接收到第一 TLP報(bào)文后發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC,從而完成TLP報(bào)文的可靠有序傳輸。本發(fā)明實(shí)施例提供的PCIE接口控制器,通過在與主備PCIE交換單元連接的發(fā)送鏈路上同時(shí)發(fā)送第一 TLP報(bào)文給主備PCIE交換單元,由第一 TLP報(bào)文的目的PEIC選收主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC。從而實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的可靠傳輸,提升了采用PCIE交換的系統(tǒng)的
可靠性。圖5為本發(fā)明實(shí)施例2的PCIE接口控制器的結(jié)構(gòu)圖。如同圖4所示的實(shí)施例1中的PCIE接口控制器,本實(shí)施例中的PCIE接口控制器PEIC 10,也包括PCI到PCI橋模塊P2P模塊11和可靠TLP傳輸模塊RTT模塊12。P2P模塊11,用于接收來自于RC或EP的第一 TLP報(bào)文,轉(zhuǎn)發(fā)該第一 TLP報(bào)文給可靠性TLP傳輸模塊RTT模塊處理。如圖所示,RTT模塊12可以包括:TLP報(bào)文分發(fā)模塊121 (Dispatch Module,簡稱DPT),用于根據(jù)接收的第一 TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將該第一 TLP報(bào)文放入TTQ,其中,該TLP傳輸隊(duì)列與該第一 TLP報(bào)文的目的PEIC相對應(yīng);發(fā)送模塊123 (Send Module,簡稱SND),用于將TTQ中的TLP報(bào)文,通過該TLP傳輸隊(duì)列的發(fā)送鏈路將第一 TLP報(bào)文同時(shí)發(fā)送給主備PCIE交換單元,以便該第一 TLP報(bào)文的目的PCIE接口控制器選收主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC。優(yōu)選的,TLP報(bào)文分發(fā)模塊121,用于接收從P2P模塊11轉(zhuǎn)發(fā)的第一 TLP報(bào)文,可以根據(jù)TLP報(bào)文的路由方式(是地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,根據(jù)查表結(jié)果得到目的PEIC號。其中的地址轉(zhuǎn)發(fā)表可以如圖6所示,表中配置了 I/O或內(nèi)存空間的地址范圍所對應(yīng)的目的PCIE接口控制器的編號;ID轉(zhuǎn)發(fā)表可以采用如圖7所示的格式,表中配置了設(shè)備ID所對應(yīng)的目的PCIE接口控制器的編號,其中的設(shè)備ID可以為TLP報(bào)文中所包含的總線(Bus)、設(shè)備(Device)、功能(Function)的ID。一般的,地址路由的TLP報(bào)文(例如,I/O空間或者內(nèi)存空間的讀和寫報(bào)文)使用操作地址查地址轉(zhuǎn)發(fā)表,如果操作地址命中了地址轉(zhuǎn)發(fā)表中的某一條表項(xiàng),則根據(jù)該表項(xiàng)的目的PEIC號,將報(bào)文加入相應(yīng)的TTQ進(jìn)行緩存;ID路由的TLP報(bào)文,例如,配置讀/寫請求報(bào)文中包含了請求者ID和訪問目的設(shè)備的ID,其相應(yīng)的應(yīng)答報(bào)文就使用原請求報(bào)文中的請求者ID查地址轉(zhuǎn)發(fā)表,如果命中某一條表項(xiàng),則根據(jù)表中的目的PEIC號將TLP報(bào)文加入相應(yīng)的TTQ進(jìn)行緩存。地址轉(zhuǎn)發(fā)表和ID轉(zhuǎn)發(fā)表可以直接配置在RTT模塊上,也可以配置在PCIE接口控制器的其他模塊上,由RTT到相應(yīng)模塊獲取。如圖5中所示,在RTT模塊12中還包括多個(gè)TLP傳輸隊(duì)列,如圖中的TLP傳輸隊(duì)列1-TLP傳輸隊(duì)列n,每個(gè)TLP傳輸隊(duì)列TTQ對應(yīng)一個(gè)目的PEIC,例如,圖8所示,PCIE接口控制器I的三個(gè)TLP傳輸隊(duì)列:TLP傳輸隊(duì)列1/TLP傳輸隊(duì)列2/TLP傳輸隊(duì)列3分別對應(yīng)三個(gè)目的PEIC =PCIE接口控制器2/PCIE接口控制器3/PCIE接口控制器4,例如,PCIE接口控制器I接收到發(fā)送給PCIE接口控制器2的TLP報(bào)文,則根據(jù)對應(yīng)關(guān)系緩存到TLP傳輸隊(duì)列I中。TTQ和PEIC的對應(yīng)關(guān)系可以根據(jù)設(shè)備的變化進(jìn)行動(dòng)態(tài)增加和刪除,例如網(wǎng)絡(luò)中新加入一個(gè)PEIC設(shè)備,就需要增加一個(gè)對應(yīng)的TTQ。進(jìn)一步的,每個(gè)TTQ中保存有到該源PEIC到目的PEIC的TLP報(bào)文發(fā)送序號(SEQUENCE)和TLP報(bào)文發(fā)送鏈路,其中,PEIC的TLP報(bào)文發(fā)送序號是指向該目的PEIC發(fā)送的TLP報(bào)文的順序號,該TLP傳輸隊(duì)列TTQ每發(fā)送I個(gè)TLP報(bào)文,該TTQ的PEIC的TLP報(bào)文發(fā)送序號加I。TLP報(bào)文發(fā)送鏈路是指該隊(duì)列發(fā)送TLP報(bào)文到目的PEIC的通信鏈路,具體可以由TTQ進(jìn)行維護(hù)并保存相關(guān)信息。進(jìn)一步的,RTT模塊12還包括:TLP傳輸隊(duì)列管理模塊122,用于維護(hù)管理各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。優(yōu)選的,發(fā)送模塊123,調(diào)度TLP傳輸隊(duì)列TTQ中的第一 TLP報(bào)文,封裝TLP報(bào)文,添加自定義的TLP前綴(Prefix),并通過該TTQ的發(fā)送鏈路同時(shí)發(fā)送封裝后的第一 TLP報(bào)文給主備PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:根據(jù)PCIE規(guī)范中定義,TLP報(bào)文可包含O或者多個(gè)標(biāo)準(zhǔn)或者自定義個(gè)TLP前綴,通過TLP Prefix可實(shí)現(xiàn)端到端擴(kuò)展、點(diǎn)對點(diǎn)擴(kuò)展的參數(shù)傳遞,實(shí)現(xiàn)功能擴(kuò)展。TLP Prefix又分為本地和端到端TLP Prefix。TLPHeader定義了 TLP報(bào)文的標(biāo)準(zhǔn)頭部,Data Payload是TLP的數(shù)據(jù)部分,TLP Digest是TLP報(bào)文的摘要部分,這三個(gè)部分都是PCIE規(guī)范的標(biāo)準(zhǔn)內(nèi)容。優(yōu)選的,本實(shí)施例中通過使用自定義端到端TLP Prefix,添加源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE),實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,針對每個(gè)TTQ在TTQ內(nèi)獨(dú)立排序,也就是針對該TLP傳輸隊(duì)列所對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文順序編號,以便目的PEIC根據(jù)SPEIC和SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),實(shí)現(xiàn)對接收的主備PCIE交換單兀傳遞的第一 TLP報(bào)文進(jìn)行選收。發(fā)送模塊從兩條鏈路上把第一 TLP報(bào)文發(fā)送給主備兩個(gè)PCIE交換單元,報(bào)文發(fā)送后,該TTQ的TLP報(bào)文發(fā)送序號(SEQUENCE)加I。目的PEIC選擇主備鏈路中第一個(gè)收到的第一 TLP報(bào)文發(fā)送給目的EP或目的RC,后收到的第一 TLP報(bào)文丟棄,即,具有相同SPEIC和相同SEQUENCE的TLP報(bào)文僅接收先到達(dá)的,目的PEIC接收到第一 TLP報(bào)文后發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC,從而完成TLP報(bào)文的可靠有序傳輸。進(jìn)一步的,P2P模塊11,還用于在轉(zhuǎn)發(fā)該第一 TLP報(bào)文給可靠性TLP傳輸RTT模塊處理之前,根據(jù)所接收的TLP報(bào)文類型,以及報(bào)文中的目的設(shè)備ID或者訪問目的地址,判斷該第一 TLP報(bào)文是否轉(zhuǎn)發(fā)給可靠性TLP傳輸模塊RTT模塊處理。P2P模塊根據(jù)所接收的報(bào)文類型(地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,對于地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表中配置了目的PEIC,表明需要轉(zhuǎn)發(fā)給可靠性TLP傳輸模塊RTT模塊處理的,則轉(zhuǎn)給RTT處理。優(yōu)選的,本地地址或本地ID的TLP報(bào)文,則可以直接返回給RC或EP,無需轉(zhuǎn)發(fā)給RTT處理。本發(fā)明實(shí)施例提供的PCIE接口控制器,根據(jù)TLP報(bào)文的目的PEIC確定TLP報(bào)文傳輸隊(duì)列,并通過相應(yīng)TLP傳輸隊(duì)列的發(fā)送鏈路將TLP報(bào)文同時(shí)發(fā)送給主備PCIE交換單元,由主備PCIE交換單元轉(zhuǎn)發(fā)給第一 TLP報(bào)文的目的PEIC,目的PEIC根據(jù)第一 TLP報(bào)文的自定義端到端TLP前綴中攜帶的源PEIC編號和TLP報(bào)文發(fā)送序號進(jìn)行選收,將第一個(gè)收到的第一 TLP報(bào)文發(fā)送給目的EP或目的RC,后收到的第一 TLP報(bào)文丟棄,從而完成TLP報(bào)文的可靠傳輸,實(shí)現(xiàn)了 PCIE的雙平面組網(wǎng)的可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。圖10為本發(fā)明實(shí)施例3的PCIE接口控制器的結(jié)構(gòu)圖。在圖5所示的實(shí)施例2的PCIE接口控制器基礎(chǔ)上,本發(fā)明實(shí)施例的可靠TLP傳輸模塊RTT模塊12還包括:接收模塊124,用于選收主備PCIE交換單元發(fā)送的第二 TLP報(bào)文,將接收的第二TLP報(bào)文發(fā)送給P2P模塊,由P2P模塊轉(zhuǎn)給該第二 TLP報(bào)文的目的RC/EP。優(yōu)選的,接收模塊124,當(dāng)該P(yáng)EIC作為TLP報(bào)文的接收端(目的PEIC)時(shí),可以根據(jù)主備PCIE交換單元發(fā)送的第二 TLP報(bào)文中的自定義端到端TLP前綴中所攜帶的SPEIC和SEQUENCE進(jìn)行選收,即,在兩條鏈路上先后收到相同SPEIC和相同SEQUENCE的第二 TLP報(bào)文,則只選擇第一個(gè)收到的第二 TLP報(bào)文經(jīng)過P2P模塊發(fā)送給該第二 TLP報(bào)文的目的RC/EP,后收到的第二 TLP報(bào)文丟棄。優(yōu)選的,如圖10中所示,在RTT模塊12中還可以包括多個(gè)TLP確認(rèn)序列TAS(TLPAcknowledge Sequence),每個(gè)TLP確認(rèn)序列TAS對應(yīng)一個(gè)對端PEIC (報(bào)文的源PEIC),也即對應(yīng)一個(gè)對端PEIC發(fā)送報(bào)文給本端的TLP傳輸隊(duì)列,即每個(gè)與該P(yáng)EIC相連接的PEIC均有一個(gè)TLP傳輸隊(duì)列和一個(gè)TAS相對應(yīng),TTQ用于發(fā)送,TAS用于接收。每個(gè)TAS有一個(gè)期望序號,代表著從對應(yīng)的對端PEIC(報(bào)文的源PEIC)接收的下一個(gè)TLP報(bào)文應(yīng)攜帶的SEQUENCE。例如,TLP接口控制器I的TLP確認(rèn)序列I對應(yīng)TLP接口控制器2的TLP傳輸隊(duì)列1,則PEICl的TASl中記錄著期望從源端PEIC2接收到的PEIC2的TTQl發(fā)送的TLP報(bào)文攜帶的SEQUENCE,如PEICl的TASl的期望序號為3,則表明PEICl計(jì)劃從源端PEIC2接收的下一個(gè)TLP報(bào)文的SEQUENCE應(yīng)為3。TAS和TTQ的對應(yīng)關(guān)系可以根據(jù)TTQ的變化進(jìn)行動(dòng)態(tài)增加和刪除,例如網(wǎng)絡(luò)中新加入一個(gè)PEIC設(shè)備,就需要增加一個(gè)對應(yīng)的TTQ,同樣要增加一個(gè)TAS。優(yōu)選的,接收模塊124接收到第二 TLP報(bào)文,根據(jù)第二 TLP報(bào)文中自定義TLP Prefix中的SPEIC確認(rèn)對應(yīng)的TAS,將第二 TLP報(bào)文中的SEQUENCE和TAS中的期望序號對比,相等則把第二 TLP報(bào)文發(fā)送給P2P模塊,以便由P2P模塊轉(zhuǎn)發(fā)該第二 TLP報(bào)文給目的RC/EP,并將該TAS的期望序號加1,相反,則丟棄TLP報(bào)文,從而實(shí)現(xiàn)了對于相同SPEIC和相同SEQUENCE的TLP報(bào)文僅接收一次,也保障了順序逐一接收,實(shí)現(xiàn)了雙平面的可靠接收。進(jìn)一步的,RTT模塊12還包括:TLP確認(rèn)序列管理模塊125,用于維護(hù)管理各TLP確認(rèn)序列的期望序號。本發(fā)明實(shí)施例提供的PCIE接口控制器,選收主備PCIE交換單元發(fā)送的第二 TLP報(bào)文,只選擇第一個(gè)收到的第二 TLP報(bào)文并經(jīng)過P2P模塊發(fā)送給該第二 TLP報(bào)文的目的RC/EP,后收到的第二 TLP報(bào)文丟棄。從而完成TLP報(bào)文可靠有序的雙發(fā)選收傳輸,實(shí)現(xiàn)了 PCIE的雙平面組網(wǎng),提升了采用PCIE交換的系統(tǒng)的可靠性。圖11為本發(fā)明實(shí)施例4的PCIE接口控制器的結(jié)構(gòu)圖。與實(shí)施例1_3類似,本實(shí)施例中的PCIE接口控制器,包括一個(gè)P2P橋模塊和一個(gè)TLP傳輸(Reliable TLPTransmission,簡稱RTT)模塊,其中,P2P橋是PCIE規(guī)范定義的標(biāo)準(zhǔn)點(diǎn)對點(diǎn)橋,實(shí)現(xiàn)PCIE的鏈路層和TLP層協(xié)議,RC/EP和PEIC之間是標(biāo)準(zhǔn)的PCIE鏈路。RTT模塊主要完成主備PCIE交換單元的鏈路選擇以及從PEIC到任意其它PEIC的TLP報(bào)文端到端的可靠傳輸,從PCIE規(guī)范角度看,RTT模塊是一個(gè)透明模塊,RC/EP看到的PCIE樹形結(jié)構(gòu)中,PEIC實(shí)際上是一個(gè)P2P橋,通過RTT,PEIC和PCIE交換單元連接的是一個(gè)虛擬P2P,即RC/EP看不到主備PCIE交換單元,而是一個(gè)如圖2中所示的標(biāo)準(zhǔn)PCIE交換器。如圖11所示的PCIE接口控制器PEIC 20,包括PCI到PCI橋模塊P2P模塊21和可靠TLP傳輸模塊RTT模塊22。PCI到PCI橋模塊P2P模塊21,用于接收來自于RC或EP的第三TLP報(bào)文,轉(zhuǎn)發(fā)該第三TLP報(bào)文給可靠性TLP傳輸模塊RTT模塊處理??煽啃訲LP傳輸RTT模塊22,用于根據(jù)接收的第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過該發(fā)送鏈路發(fā)送第三TLP報(bào)文給PCIE交換單元,以便第三TLP報(bào)文的目的PCIE接口控制器接收PCIE交換單元轉(zhuǎn)發(fā)的第三TLP報(bào)文并發(fā)送給該第三TLP報(bào)文的目的EP或目的RC,并在超時(shí)未收到PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文。優(yōu)選的,RTT模塊22,用于接收到P2P模塊21轉(zhuǎn)發(fā)的第三TLP報(bào)文后,根據(jù)TLP報(bào)文類型,即該報(bào)文是地址路由還是標(biāo)識(Identity,簡稱ID)路由,查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,獲得該第三TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定該報(bào)文對應(yīng)的PCIE交換單元的發(fā)送鏈路,通過該發(fā)送鏈路將該第三TLP報(bào)文發(fā)送給PCIE交換單元。則,PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,以便目的PEI接收第三TLP報(bào)文,并轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,同時(shí)目的PEIC會(huì)返回該第三TLP報(bào)文的第一確認(rèn)消息TLP報(bào)文,并經(jīng)過PCIE交換單元轉(zhuǎn)發(fā)給該RTT模塊22,以表明收到了該第三TLP報(bào)文。RTT模塊22會(huì)在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路(在雙平面情況下,此時(shí)的PCIE交換單元連接的發(fā)送鏈路可能與前一次發(fā)送第三TLP報(bào)文時(shí)不同)重新發(fā)送該第三TLP報(bào)文。進(jìn)一步的,RTT模塊22,還用于封裝第三TLP報(bào)文,在該第三TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,并通過所述發(fā)送鏈路發(fā)送封裝后的所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PEIC根據(jù)接收到的所述第三TLP報(bào)文中的源PEIC編號和TLP報(bào)文發(fā)送序號返回所述第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的自定義端到端TLP前綴中攜帶所述第三TLP報(bào)文的目的PEIC的PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號;其中,所述第三TLP報(bào)文中的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述第一確認(rèn)消息TLP報(bào)文中的確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述第三TLP報(bào)文的源PEIC的TLP報(bào)文發(fā)送序號。現(xiàn)有PCIE規(guī)范中TLP報(bào)文可靠傳輸通過點(diǎn)對點(diǎn)的確認(rèn)機(jī)制,例如,圖2中的交換器I把TLP報(bào)文發(fā)送給交換器2,交換器I會(huì)保存TLP報(bào)文,直到交換機(jī)2接收到正確的TLP報(bào)文并返回確認(rèn)信息給交換機(jī)I后,交換機(jī)I才會(huì)刪除相應(yīng)的TLP報(bào)文。但是,對于RC發(fā)給交換器2的TLP報(bào)文,如果交換器I和交換器2之間的鏈路發(fā)生故障,RC已經(jīng)成功發(fā)送給交換器I的報(bào)文,會(huì)由于交換器I和交換器2之間的鏈路故障而被丟棄,但RC因?yàn)槭盏搅私粨Q器I的確認(rèn)信息而認(rèn)為已經(jīng)成功發(fā)送了。這種故障導(dǎo)致RC無法正確感知TLP報(bào)文的傳輸結(jié)果,而造成系統(tǒng)異常或數(shù)據(jù)操作丟棄。本發(fā)明實(shí)施例提供的PCIE接口控制器PEIC,通過與PCIE交換單元連接的發(fā)送鏈路上發(fā)送第三TLP報(bào)文給PCIE交換單元,由PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,目的PEIC轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,并返回第一確認(rèn)消息TLP報(bào)文給源PEIC。源PEIC在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文。從而實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的端到端可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。圖12為本發(fā)明實(shí)施例5的PCIE接口控制器的結(jié)構(gòu)圖。如圖所示,進(jìn)一步的,可靠性TLP傳輸RTT模塊22,包括:TLP報(bào)文分發(fā)模塊221,用于根據(jù)接收的第三TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將該第三TLP報(bào)文放入TTQ,其中,該TLP傳輸隊(duì)列與該第三TLP報(bào)文的目的PEIC相對應(yīng);發(fā)送模塊223,用于調(diào)度TLP傳輸隊(duì)列TTQ,通過該TLP傳輸隊(duì)列的發(fā)送鏈路將第三TLP報(bào)文發(fā)送給PCIE交換單元,以便該第三TLP報(bào)文的目的PCIE接口控制器接收PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文并發(fā)送給該第三TLP報(bào)文的目的EP或目的RC ;并在超時(shí)未收到PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文。接收模塊224,用于接收PCIE交換單元轉(zhuǎn)發(fā)的第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)(ACK)消息TLP報(bào)文,并傳遞給確認(rèn)模塊226 ;確認(rèn)模塊226,用于根據(jù)第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號(SEQUENCE)信息和源PEIC編號(SPEIC),通知TLP傳輸隊(duì)列管理模塊222刪除TLP傳輸隊(duì)列中已確認(rèn)的第三TLP報(bào)文。TLP傳輸隊(duì)列管理模塊222,用于根據(jù)確認(rèn)模塊226的通知?jiǎng)h除TLP傳輸隊(duì)列中已確認(rèn)的第三TLP報(bào)文。優(yōu)選的,TLP報(bào)文分發(fā)模塊221,用于接收從P2P模塊21轉(zhuǎn)發(fā)的第三TLP報(bào)文,可以根據(jù)TLP報(bào)文的路由方式(是地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,根據(jù)查表結(jié)果得到目的PEIC號,在相應(yīng)的TTQ中緩存收到的第三TLP報(bào)文。其中的地址轉(zhuǎn)發(fā)表可以如圖6所示,ID轉(zhuǎn)發(fā)表可以采用如圖7所示的格式,具體的內(nèi)容和配置方法與前面實(shí)施例2、3中描述一致,這里不再贅述。如圖12中所示,在RTT模塊22中還包括多個(gè)TLP傳輸隊(duì)列,本實(shí)施例中TLP傳輸隊(duì)列的功能和結(jié)構(gòu)與實(shí)施例2中圖5所不的TLP傳輸隊(duì)列一致,具體描述可以參考相關(guān)部分,這里也不再贅述。優(yōu)選的,發(fā)送模塊223,調(diào)度TLP傳輸隊(duì)列TTQ中的TLP報(bào)文,封裝TLP報(bào)文,添加自定義的TLP前綴(Prefix),并通過該TTQ的發(fā)送鏈路發(fā)送封裝后的第三TLP報(bào)文給PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:具體結(jié)構(gòu)的相關(guān)定義可參看前面實(shí)施例2、3中對于圖9中的TLP報(bào)文格式的介紹,本處不再贅述。優(yōu)選的,本實(shí)施例中通過使用TLP報(bào)文中的自定義端到端TLP Prefix,實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,針對每個(gè)TTQ在TTQ內(nèi)獨(dú)立排序,也就是針對該TLP傳輸隊(duì)列所對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文順序編號,以便目的PEIC根據(jù)SPEIC+SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,確認(rèn)消息報(bào)文中的SEQUENCE字段攜帶的是確認(rèn)的TLP報(bào)文發(fā)送序號,表明目的PEIC已接收的該源PEIC的TLP報(bào)文發(fā)送序號。發(fā)送模塊通過TTQ的發(fā)送鏈路把第三TLP報(bào)文發(fā)送給PCIE交換單元,報(bào)文發(fā)送后,該TTQ的TLP報(bào)文發(fā)送序號(SEQUENCE)加 I。進(jìn)一步的,TLP傳輸隊(duì)列管理模塊222,還用于維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。TLP傳輸隊(duì)列管理模塊用于維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路,其中,各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號表不該TTQ已發(fā)送的TLP報(bào)文發(fā)送的順序號,TLP報(bào)文發(fā)送鏈路表明該TTQ的主備用發(fā)送鏈路,以便使用主用發(fā)送鏈路進(jìn)行TLP報(bào)文發(fā)送。優(yōu)選的,TTQ發(fā)送TPL報(bào)文可以采用滑動(dòng)窗口,從而可以限制每個(gè)TTQ的并發(fā)發(fā)送報(bào)文個(gè)數(shù)。TTQ的滑動(dòng)窗口機(jī)制如圖13所示,圖中的每個(gè)帶數(shù)字的方框代表一個(gè)TLP報(bào)文,例如,滑動(dòng)窗口大小為4,即最多同時(shí)只能存在4個(gè)未被目的PEIC確認(rèn)的TLP報(bào)文,確認(rèn)模塊226接收到目的PEIC返回的TLP確認(rèn)報(bào)文后,根據(jù)確認(rèn)的SEQUENC,把窗口往后移動(dòng),例如,當(dāng)前的窗口中待確認(rèn)的TLP報(bào)文為2、3、4、5,接收到的接收模塊轉(zhuǎn)發(fā)的確認(rèn)SEQUENC為2,則滑動(dòng)窗口往后移動(dòng)一個(gè),待確認(rèn)的TLP報(bào)文為3、4、5,允許該TTQ再發(fā)送一個(gè)序號為6的TLP報(bào)文,根據(jù)PEIC的緩存能力,可配置滑動(dòng)窗口大小為2-η (η為任意一個(gè)整數(shù))。通過設(shè)置滑動(dòng)窗口,可以有效控制每個(gè)TTQ的并發(fā)發(fā)送報(bào)文個(gè)數(shù),增加了處理的效率,同時(shí)又保障了發(fā)送和接收的有序性、可靠性。優(yōu)選的,第三TLP報(bào)文的目的PEIC接收到第三TLP報(bào)文,根據(jù)第三報(bào)文中的源PEIC編號(SPEIC)返回確認(rèn)TLP報(bào)文給源PEIC。當(dāng)然,也可以收到多個(gè)源PEIC的TLP報(bào)文后,再發(fā)一個(gè)確認(rèn)TLP報(bào)文給源PEIC,例如,接收到SPEIC為101的序號為3、4、5的報(bào)文,可以只發(fā)送一個(gè)序號為5的確認(rèn)TLP報(bào)文,表不序號5之前的TLP報(bào)文已經(jīng)全部收到,從而減少確認(rèn)TLK報(bào)文數(shù)量。優(yōu)選的,確認(rèn)TLP報(bào)文可以使用ID路由,目的設(shè)備ID為源PEIC的P2P模塊的設(shè)備ID。確認(rèn)TLP報(bào)文的自定義TLP Prefix中包含源PEIC編號(SPEIC)和確認(rèn)的TLP報(bào)文發(fā)送序號(SEQUENCE),其中,確認(rèn)的TLP報(bào)文發(fā)送序號(SEQUENCE)為目前收到的該源PEIC最新接收到(一般為最大的,當(dāng)序號為循環(huán)使用時(shí),可能不是最大的)的TLP報(bào)文發(fā)送序號。接收模塊接收到確認(rèn)TLP報(bào)文后,轉(zhuǎn)發(fā)給確認(rèn)模塊226,確認(rèn)模塊226根據(jù)報(bào)文中的確認(rèn)的TLP報(bào)文報(bào)文發(fā)送序號和SPEIC通知TTQ刪除隊(duì)列中的第三TLP報(bào)文。源PEIC的TLP傳輸隊(duì)列管理模塊根據(jù)第一確認(rèn)消息報(bào)文中的確認(rèn)序號,刪除對應(yīng)TTQ中緩存的TLP報(bào)文。一旦PEIC到PCIE交換單元的鏈路故障或者PCIE交換單元發(fā)生故障,TLP報(bào)文會(huì)被丟棄,對應(yīng)地,此時(shí)源PEIC就無法收到目的PEIC返回的第三TLP的第一確認(rèn)消息TLP報(bào)文,源端PEIC在超時(shí)后,通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送TTQ中緩存的第三TLP報(bào)文,而此時(shí)可能鏈路故障或者PCIE交換單元故障已經(jīng)恢復(fù),或者PEIC的雙平面發(fā)生了倒換,源端PEIC的發(fā)送模塊223通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文,保證了源PEIC發(fā)送的任何TLP報(bào)文都能可靠地發(fā)送到目的PEIC。
優(yōu)選的,確認(rèn)模塊226,還用于根據(jù)第一確認(rèn)消息TLP報(bào)文中攜帶的確認(rèn)的TLP報(bào)文發(fā)送序號(SEQUENCE)信息和源PEIC編號(SPEIC),更新相應(yīng)的TTQ的滑動(dòng)窗口。優(yōu)選的,如圖12中所示,在RTT模塊22中還可以包括多個(gè)TLP確認(rèn)序列TAS,本實(shí)施例中TLP確認(rèn)序列的結(jié)構(gòu)和設(shè)置與實(shí)施例3中圖10所示的TLP確認(rèn)序列一致,同樣每個(gè)TLP確認(rèn)序列TAS對應(yīng)一個(gè)傳輸隊(duì)列。具體的的結(jié)構(gòu)和設(shè)置可以參考實(shí)施例3中圖10相關(guān)部分的描述,這里不再贅述。接收模塊224,還用于接收從PCIE交換單元發(fā)送的第四TLP報(bào)文,并根據(jù)TLP報(bào)文的類型區(qū)分是否是確認(rèn)消息TLP報(bào)文,如果是確認(rèn)消息TLP報(bào)文則轉(zhuǎn)發(fā)給確認(rèn)模塊226。如果不是確認(rèn)消息TLP報(bào)文,則將接收的第四TLP報(bào)文緩存到與該第四TLP報(bào)文的源PEIC對應(yīng)的TLP確認(rèn)序列TAS中。則,P2P模塊21,還用于獲取TLP確認(rèn)序列TAS中的第四TLP報(bào)文,轉(zhuǎn)發(fā)給第四TLP報(bào)文的目的RC/EP。RTT模塊22中還包括TLP確認(rèn)序列管理模塊223,用于在TLP確認(rèn)序列收到第四TLP報(bào)文后,通知確認(rèn)模塊226給源PEIC返回確認(rèn)消息TLP報(bào)文。確認(rèn)模塊226,還用于產(chǎn)生第二確認(rèn)消息TLP報(bào)文,緩存到源PEIC對應(yīng)的TLP傳輸隊(duì)列TTQ中,以便由發(fā)送模塊進(jìn)行調(diào)度發(fā)送。優(yōu)選的,確認(rèn)模塊226,經(jīng)過一定的時(shí)間間隔發(fā)送一個(gè)確認(rèn)消息TLP報(bào)文或者是收到一定數(shù)量的待確認(rèn)TLP報(bào)文(數(shù)量不能大于窗口的個(gè)數(shù))后發(fā)送一個(gè)確認(rèn)消息TLP報(bào)文。進(jìn)一步的,P2P模塊21,還用于在轉(zhuǎn)發(fā)該第三TLP報(bào)文給可靠性TLP傳輸模塊RTT模塊22處理之前,根據(jù)所接收的報(bào)文類型,以及報(bào)文中的目的設(shè)備ID或者訪問目的地址,判斷該第三TLP報(bào)文是否轉(zhuǎn)發(fā)給可靠性TLP傳輸模塊RTT模塊處理。P2P模塊根據(jù)所接收的報(bào)文類型(地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,對于地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表中配置了目的PEIC,表明需要轉(zhuǎn)發(fā)給可靠性TLP傳輸模塊RTT模塊處理的,則轉(zhuǎn)給RTT處理。優(yōu)選的,本地地址或本地ID的TLP報(bào)文,則可以直接返回給RC或EP,無需轉(zhuǎn)發(fā)給RTT處理?,F(xiàn)有PCIE規(guī)范中TLP報(bào)文可靠傳輸通過點(diǎn)對點(diǎn)的確認(rèn)機(jī)制,例如,圖2中的交換器I把TLP報(bào)文發(fā)送給交換器2,交換器I會(huì)保存TLP報(bào)文,直到交換機(jī)2接收到正確的TLP報(bào)文并返回確認(rèn)信息給交換機(jī)I后,交換機(jī)I才會(huì)刪除相應(yīng)的TLP報(bào)文。但是,對于RC發(fā)給交換器2的TLP報(bào)文,如果交換器I和交換器2之間的鏈路發(fā)生故障,RC已經(jīng)成功發(fā)送給交換器I的報(bào)文,會(huì)由于交換器I和交換器2之間的鏈路故障而被丟棄,但RC因?yàn)槭盏搅私粨Q器I的確認(rèn)信息而認(rèn)為已經(jīng)成功發(fā)送了。這種故障導(dǎo)致RC無法正確感知TLP報(bào)文的傳輸結(jié)果,而造成系統(tǒng)異?;驍?shù)據(jù)操作丟棄。本發(fā)明實(shí)施例提供的PCIE接口控制器,通過與PCIE交換單元連接的發(fā)送鏈路上發(fā)送攜帶有源PEIC編號和發(fā)送的TLP報(bào)文序號的第三TLP報(bào)文給PCIE交換單元,由PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,由目的PEIC轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,并根據(jù)源PEIC編號和發(fā)送的TLP報(bào)文序號返回第一確認(rèn)消息TLP報(bào)文給源PEIC,完成TLP報(bào)文的傳遞。而源PEIC在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送隊(duì)列的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文,實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的端到端可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。圖14為本發(fā)明實(shí)施例6的PCIE接口控制器的結(jié)構(gòu)圖。如圖所示,進(jìn)一步的,可靠性TLP傳輸RTT模塊22,還包括:心跳模塊227,用于每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,通知TLP發(fā)送隊(duì)列管理模塊222更新相應(yīng)TTQ的發(fā)送鏈路。TLP傳輸隊(duì)列管理模塊222,還用于根據(jù)心跳模塊227的通知更新相應(yīng)TLP傳輸隊(duì)列的發(fā)送鏈路。優(yōu)選的,心跳模塊227,用于每隔一個(gè)時(shí)間間隔(可根據(jù)網(wǎng)絡(luò)狀況等進(jìn)行配置,例如,可以在IOus-1ms選定一個(gè)值)給所有有通信連接的其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,進(jìn)行主備鏈路倒換。該規(guī)定時(shí)間同樣可根據(jù)網(wǎng)絡(luò)狀況等進(jìn)行配置,并大于發(fā)送定時(shí)檢測TLP報(bào)文后應(yīng)該接收到檢測應(yīng)答TLP報(bào)文的時(shí)間,超過該規(guī)定時(shí)間沒能接收到測應(yīng)答TLP報(bào)文則表明到該目的PEIC的通信路由出現(xiàn)了問題,例如鏈路故障或者PCIE交換單元故障。此時(shí),心跳模塊通知TLP發(fā)送隊(duì)列管理模塊222更新相應(yīng)TTQ的發(fā)送鏈路,即在主用鏈路還是備用鏈路上發(fā)送TLP報(bào)文。本發(fā)明實(shí)施例通過心跳模塊發(fā)送檢測報(bào)文,實(shí)現(xiàn)了 PEIC之間的鏈路故障檢測,保障了主備平面的自動(dòng)倒換,進(jìn)一步保障了 PCIE雙平面交換網(wǎng)絡(luò)時(shí)的的可靠報(bào)文傳輸。圖15為本發(fā)明實(shí)施例7的一種PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D。。如圖所示,本方法為:步驟301,接收來自于RC或EP的第一 TLP報(bào)文;步驟302,根據(jù)接收的第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過發(fā)送鏈路同時(shí)發(fā)送第一 TLP報(bào)文給所述主備PCIE交換單元,以便該第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC。優(yōu)選的,PCIE接口控制器根據(jù)接收的第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,具體為=PCIE接口控制器接收到第一 TLP報(bào)文后,根據(jù)TLP報(bào)文類型,即該報(bào)文是地址路由還是標(biāo)識(Identity,簡稱ID)路由,查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,獲得該第一 TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定該報(bào)文對應(yīng)的主備PCIE交換單元的發(fā)送鏈路,通過該發(fā)送鏈路同時(shí)將該第一 TLP報(bào)文發(fā)送給主備PCIE交換單元。則,主備PCIE交換單元將接收的第一 TLP報(bào)文發(fā)送給目的PEIC,目的PEIC選收第一 TLP報(bào)文,例如,接收先到的第一 TLP報(bào)文,丟棄后到的第一 TLP報(bào)文。并轉(zhuǎn)發(fā)接收到的第一 TLP報(bào)文給該第一 TLP報(bào)文的目的EP或目的RC。進(jìn)一步的,在通過發(fā)送鏈路同時(shí)發(fā)送給主備PCIE交換單元前,所述方法還包括:封裝第一 TLP報(bào)文,在所述第一 TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,以便所述目的PEIC根據(jù)所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收,其中,所述TLP報(bào)文發(fā)送序號是所述源PEIC向所述第一 TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收為針對所述主備PCIE交換單元轉(zhuǎn)發(fā)的相同源PEIC編號和相同所述TLP報(bào)文發(fā)送序號的第一 TLP報(bào)文僅接收先到達(dá)的第一 TLP報(bào)文。本發(fā)明實(shí)施例提供的PCIE雙平面交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒ǎ琍CIE接口控制器PEIC通過在與主備PCIE交換單元連接的發(fā)送鏈路上同時(shí)發(fā)送第一 TLP報(bào)文給主備PCIE交換單元,由第一 TLP報(bào)文的目的PEIC選收主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC。從而實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。圖16為本發(fā)明實(shí)施例8的一種PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D。如圖所示,步驟401,接收來自于RC或EP的第一 TLP報(bào)文;步驟402,根據(jù)接收的第一 TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將該第一 TLP報(bào)文放入TTQ,其中,該TLP傳輸隊(duì)列與該第一 TLP報(bào)文的目的PEIC相對應(yīng);具體的,PCIE接口控制器根據(jù)TLP報(bào)文的路由方式(是地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,根據(jù)查表結(jié)果得到目的PEIC號。其中的地址轉(zhuǎn)發(fā)表可以如圖6所示,ID轉(zhuǎn)發(fā)表可以采用如圖7所示的格式,具體的內(nèi)容和配置方法與前面實(shí)施例2、3中描述一致,這里不再贅述。優(yōu)選的,地址轉(zhuǎn)發(fā)表和ID轉(zhuǎn)發(fā)表配置在PCIE接口控制器上。在PCIE接口控制器中還包括多個(gè)TLP傳輸隊(duì)列,本實(shí)施例中TLP傳輸隊(duì)列的功能和結(jié)構(gòu)與實(shí)施例2中圖5所示的TLP傳輸隊(duì)列一致,具體描述可以參考相關(guān)部分,這里也不再贅述。步驟403,將TLP傳輸隊(duì)列中的TLP報(bào)文,通過該TLP傳輸隊(duì)列的發(fā)送鏈路將第一TLP報(bào)文同時(shí)發(fā)送給主備PCIE交換單元,以便該第一 TLP報(bào)文的目的PCIE接口控制器選收主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC。PCIE接口控制器調(diào)度TLP傳輸隊(duì)列TTQ中的第一 TLP報(bào)文,封裝TLP報(bào)文,添加自定義的端到端TLP前綴(Prefix),并通過該TTQ的發(fā)送鏈路同時(shí)發(fā)送封裝后的第一 TLP報(bào)文給主備PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:根據(jù)PCIE規(guī)范中定義,TLP報(bào)文可包含O或者多個(gè)標(biāo)準(zhǔn)或者自定義個(gè)TLP前綴,通過TLP Prefix可實(shí)現(xiàn)端到端擴(kuò)展、點(diǎn)對點(diǎn)的擴(kuò)展參數(shù)傳遞,實(shí)現(xiàn)功能擴(kuò)展。TLP Prefix又分為本地和端到端TLP Prefix。TLP Header定義了 TLP報(bào)文的標(biāo)準(zhǔn)頭部,Data Payload是TLP的數(shù)據(jù)部分,TLP Digest是TLP報(bào)文的摘要部分,這三個(gè)部分都是PCIE規(guī)范的標(biāo)準(zhǔn)內(nèi)容。優(yōu)選的,本實(shí)施例中通過使用自定義端到端TLP Prefix,實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,針對每個(gè)TTQ在TTQ內(nèi)獨(dú)立排序,也就是針對該TLP傳輸隊(duì)列所對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文順序編號,以便目的PEIC根據(jù)SPEIC+SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),實(shí)現(xiàn)對接收的主備PCIE交換單元傳遞的第一 TLP報(bào)文進(jìn)行選收。PCIE接口控制器從兩條鏈路上把第一 TLP報(bào)文發(fā)送給主備兩個(gè)PCIE交換單元,報(bào)文發(fā)送后,該TTQ的TLP報(bào)文發(fā)送序號(SEQUENCE)加I。目的PEIC選擇主備鏈路中第一個(gè)收到的第一 TLP報(bào)文發(fā)送給目的EP或目的RC,后收到的第一 TLP報(bào)文丟棄,即,相同SPEIC+SEQUENCE的TLP報(bào)文僅接收先到達(dá)的,目的PEIC接收到第一 TLP報(bào)文后發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC,從而完成TLP報(bào)文的可靠有序傳輸。進(jìn)一步的,PCIE接口控制器還維護(hù)管理各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。進(jìn)一步的,第一 TLP報(bào)文的目的PEIC選收主備PCIE交換單元發(fā)送的報(bào)文,將接收的第一 TLP報(bào)文轉(zhuǎn)給該第一 TLP報(bào)文的目的RC/EP。優(yōu)選的,第一 TLP報(bào)文的目的PEIC,可以根據(jù)主備PCIE交換單元發(fā)送的第一 TLP報(bào)文中的自定義TLP前綴中所攜帶的SPEIC和SEQUENCE進(jìn)行選收,即,在兩條鏈路上先后收到相同SPEIC和SEQUENCE的第一 TLP報(bào)文,則只選擇第一個(gè)收到的第一 TLP報(bào)文發(fā)送給該第一 TLP報(bào)文的目的RC/EP,后收到的第一 TLP報(bào)文丟棄。優(yōu)選的,在PEIC中還可以包括多個(gè)TLP確認(rèn)序列TAS,每個(gè)TLP確認(rèn)序列TAS對應(yīng)一個(gè)源PEIC的傳輸隊(duì)列(此處的源PEIC的傳輸隊(duì)列指發(fā)送TLP報(bào)文給該P(yáng)EIC的其他PEIC中對應(yīng)該P(yáng)EIC的傳輸隊(duì)列)。本實(shí)施例中TLP確認(rèn)序列的功能和結(jié)構(gòu)與實(shí)施例3中圖10所示的TLP確認(rèn)序列一致,具體描述可以參考相關(guān)部分,這里也不再贅述。本實(shí)施例中,同樣PCIE維護(hù)管理各TLP確認(rèn)序列的期望接收的TLP報(bào)文的期望序號。進(jìn)一步的,PCIE接口控制器還根據(jù)所接收的報(bào)文類型,以及報(bào)文中的目的設(shè)備ID或者訪問目的地址,判斷該第一 TLP報(bào)文是否需要緩存到TLP傳輸隊(duì)列進(jìn)行處理。PCIE接口控制器根據(jù)所接收的報(bào)文類型(地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,對于地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表中配置了目的PEIC,表明需要轉(zhuǎn)發(fā)處理的,則緩存到TLP傳輸隊(duì)列進(jìn)行后續(xù)處理。優(yōu)選的,本地地址或本地ID的TLP報(bào)文,則可以直接返回給RC或EP,無需轉(zhuǎn)發(fā)給RTT處理。本發(fā)明實(shí)施例提供的PCIE雙平面交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒?,PCIE接口控制器PEIC根據(jù)TLP報(bào)文的目的PEIC確定TLP報(bào)文傳輸隊(duì)列,并通過相應(yīng)TLP傳輸隊(duì)列的發(fā)送鏈路將TLP報(bào)文同時(shí)發(fā)送給主備PCIE交換單元,由主備PCIE交換單元轉(zhuǎn)發(fā)給第一 TLP報(bào)文的目的PEIC,目的PEIC根據(jù)第一 TLP報(bào)文中攜帶的源PEIC編號和TLP報(bào)文發(fā)送序號進(jìn)行選收,將第一個(gè)收到的第一 TLP報(bào)文發(fā)送給目的EP或目的RC,后收到的第一 TLP報(bào)文丟棄,從而完成TLP報(bào)文的可靠傳輸,實(shí)現(xiàn)了 PCIE的雙平面組網(wǎng),提升了采用PCIE交換的系統(tǒng)的可靠性。圖17為本發(fā)明實(shí)施例9的一種PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D。如圖所示,該方法包括步驟501,接收來自于RC或EP的第三TLP報(bào)文。步驟502,根據(jù)接收的第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過該發(fā)送鏈路發(fā)送第三TLP報(bào)文給PCIE交換單元,以便第三TLP報(bào)文的目的PCIE接口控制器接收PCIE交換單元轉(zhuǎn)發(fā)的第三TLP報(bào)文并發(fā)送給該第三TLP報(bào)文的目的EP或目的RC,并在超時(shí)未收到PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文。優(yōu)選的,PCIE接口控制器PEIC接收到第三TLP報(bào)文后,根據(jù)TLP報(bào)文類型,即該報(bào)文是地址路由還是標(biāo)識(Identity,簡稱ID)路由,查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,獲得該第三TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定該報(bào)文對應(yīng)的PCIE交換單元的發(fā)送鏈路,通過該發(fā)送鏈路將該第三TLP報(bào)文發(fā)送給PCIE交換單元。則,PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,以便目的PEI接收第三TLP報(bào)文,并轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,同時(shí)目的PEIC會(huì)返回該第三TLP報(bào)文的第一確認(rèn)消息TLP報(bào)文,并經(jīng)過PCIE交換單元轉(zhuǎn)發(fā)給源PCIE接口控制器,以表明收到了該第三TLP報(bào)文。源PCIE接口控制器會(huì)在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路(在雙平面情況下,此時(shí)的PCIE交換單元連接的發(fā)送鏈路可能與前一次發(fā)送第三TLP報(bào)文時(shí)不同)重新發(fā)送該第三TLP報(bào)文。進(jìn)一步的,在通過該發(fā)送鏈路發(fā)送第三TLP報(bào)文給PCIE交換單元之前,該方法還包括:封裝所述第三TLP報(bào)文,在所述第三TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,以便所述第三TLP報(bào)文的目的PEIC根據(jù)所述第三TLP報(bào)文中的源PEIC編號和TLP報(bào)文發(fā)送序號返回第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶所述第三TLP報(bào)文的目的PEIC的PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號;其中,所述第三TLP報(bào)文中的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述第一確認(rèn)消息TLP報(bào)文中的確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述第三TLP報(bào)文的源PEIC的TLP報(bào)文發(fā)送序號?,F(xiàn)有PCIE規(guī)范中TLP報(bào)文可靠傳輸通過點(diǎn)對點(diǎn)的確認(rèn)機(jī)制,例如,圖2中的交換器I把TLP報(bào)文發(fā)送給交換器2,交換器I會(huì)保存TLP報(bào)文,直到交換機(jī)2接收到正確的TLP報(bào)文并返回確認(rèn)信息給交換機(jī)I后,交換機(jī)I才會(huì)刪除相應(yīng)的TLP報(bào)文。但是,對于RC發(fā)給交換器2的TLP報(bào)文,如果交換器I和交換器2之間的鏈路發(fā)生故障,RC已經(jīng)成功發(fā)送給交換器I的報(bào)文,會(huì)由于交換器I和交換器2之間的鏈路故障而被丟棄,但RC因?yàn)槭盏搅私粨Q器I的確認(rèn)信息而認(rèn)為已經(jīng)成功發(fā)送了。這種故障導(dǎo)致RC無法正確感知TLP報(bào)文的傳輸結(jié)果,而造成系統(tǒng)異?;驍?shù)據(jù)操作丟棄。本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒?,通過與PCIE交換單元連接的發(fā)送鏈路上發(fā)送第三TLP報(bào)文給PCIE交換單元,由PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,目的PEIC轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,并返回第一確認(rèn)消息TLP報(bào)文給源PEIC。源PEIC在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文。從而實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的端到端可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。圖18為本發(fā)明實(shí)施例10的一種PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒鞒虉D。如圖所示,該方法具體為:步驟601,接收來自于RC或EP的第三TLP報(bào)文。步驟602,根據(jù)接收的第三TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將該第三TLP報(bào)文放入TTQ,其中,該TLP傳輸隊(duì)列與該第三TLP報(bào)文的目的PEIC相對應(yīng);優(yōu)選的,PCIE接口控制器根據(jù)接收到的第三TLP報(bào)文的路由方式(是地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,根據(jù)查表結(jié)果得到目的PEIC號,在相應(yīng)的TTQ中緩存收到的第三TLP報(bào)文。其中的地址轉(zhuǎn)發(fā)表可以如圖6所示,ID轉(zhuǎn)發(fā)表可以采用如圖7所示的格式,具體的內(nèi)容和配置方法與前面實(shí)施例2、3中描述一致,這里不再贅述。如圖12中所示,在RTT模塊22中還包括多個(gè)TLP傳輸隊(duì)列,本實(shí)施例中TLP傳輸隊(duì)列的功能和結(jié)構(gòu)與實(shí)施例2中圖5所不的TLP傳輸隊(duì)列一致,具體描述可以參考相關(guān)部分,這里也不再贅述。步驟603,通過該TLP傳輸隊(duì)列的發(fā)送鏈路將第三TLP報(bào)文發(fā)送給PCIE交換單元,以便該第三TLP報(bào)文的目的PCIE接口控制器接收PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文并發(fā)送給該第三TLP報(bào)文的目的EP或目的RC ;并在超時(shí)未收到PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文;優(yōu)選的,PCIE接口控制器調(diào)度TLP傳輸隊(duì)列TTQ中的TLP報(bào)文,封裝TLP報(bào)文,添加自定義的TLP前綴(Prefix),并通過該TTQ的發(fā)送鏈路發(fā)送封裝后的第三TLP報(bào)文給PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:具體結(jié)構(gòu)的相關(guān)定義可參看前面實(shí)施例2、3中對于圖9中的TLP報(bào)文格式的介紹,本處不再贅述。優(yōu)選的,本實(shí)施例中通過使用TLP報(bào)文中的自定義端到端TLP Prefix,實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,針對每個(gè)TTQ在TTQ內(nèi)獨(dú)立排序,也就是針對該TLP傳輸隊(duì)列所對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文順序編號,以便目的PEIC根據(jù)SPEIC和SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,確認(rèn)的TLP報(bào)文發(fā)送序號是目的PEIC已接收的該源PEIC的TLP報(bào)文發(fā)送序號。實(shí)現(xiàn)了對接收的PCIE交換單元傳遞的第三TLP報(bào)文返回第一確認(rèn)消息。PEIC通過TTQ的發(fā)送鏈路把第三TLP報(bào)文發(fā)送給PCIE交換單元,報(bào)文發(fā)送后,該TTQ的TLP報(bào)文發(fā)送序號(SEQUENCE)加I。進(jìn)一步的,還需要維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。PEIC維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路,其中,各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號表示該TTQ已發(fā)送的TLP報(bào)文發(fā)送的順序號,TLP報(bào)文發(fā)送鏈路表明該TTQ的主備用發(fā)送鏈路,以便使用主用發(fā)送鏈路進(jìn)行TLP報(bào)文發(fā)送。步驟604,接收PCIE交換單元轉(zhuǎn)發(fā)的第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)(ACK)消息TLP報(bào)文;步驟605,根據(jù)第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號(SEQUENCE)信息和源PEIC編號(SPEIC),刪除TLP傳輸隊(duì)列中已確認(rèn)的第三TLP報(bào)文。優(yōu)選的,TTQ發(fā)送TPL報(bào)文可以采用滑動(dòng)窗口,從而可以限制每個(gè)TTQ的并發(fā)發(fā)送報(bào)文個(gè)數(shù)。TTQ的滑動(dòng)窗口機(jī)制如圖13所示,圖中的每個(gè)帶數(shù)字的方框代表一個(gè)TLP報(bào)文,例如,滑動(dòng)窗口大小為4,即最多同時(shí)只能存在4個(gè)未被目的PEIC確認(rèn)的TLP報(bào)文,在接收到目的PEIC返回的TLP確認(rèn)報(bào)文后,根據(jù)確認(rèn)的SEQUENC,把滑動(dòng)窗口往后移動(dòng),例如,當(dāng)前的窗口中待確認(rèn)的TLP報(bào)文為2、3、4、5,接收到的確認(rèn)消息TLP報(bào)文中的確認(rèn)SEQUENC為2,則滑動(dòng)窗口往后移動(dòng)一個(gè),當(dāng)前的窗口中待確認(rèn)的TLP報(bào)文為3、4、5、6,根據(jù)PEIC的緩存能力,可配置滑動(dòng)窗口大小為2-n(n為任意一個(gè)整數(shù))。通過設(shè)置滑動(dòng)窗口,可以有效控制每個(gè)TTQ的并發(fā)發(fā)送報(bào)文個(gè)數(shù),增加了處理的效率,同時(shí)又保障了發(fā)送和接收的有序性、可靠性。優(yōu)選的,第三TLP報(bào)文的目的PEIC接收到第三TLP報(bào)文,根據(jù)第三報(bào)文中的源PEIC編號(SPEIC)返回確認(rèn)TLP報(bào)文給源PEIC。當(dāng)然,也可以收到多個(gè)源PEIC的TLP報(bào)文后,再發(fā)一個(gè)確認(rèn)TLP報(bào)文給源PEIC,例如,接收到SPEIC為101的序號為3、4、5的報(bào)文,可以只發(fā)送一個(gè)序號為5的確認(rèn)TLP報(bào)文,表不序號5之前的TLP報(bào)文已經(jīng)全部收到,從而減少確認(rèn)TLK報(bào)文數(shù)量。優(yōu)選的,確認(rèn)TLP報(bào)文可以使用ID路由。確認(rèn)TLP報(bào)文的自定義TLP Prefix中包含源PEIC編號(SPEIC)和確認(rèn)的TLP報(bào)文發(fā)送序號(SEQUENCE),其中,確認(rèn)的TLP報(bào)文發(fā)送序號(SEQUENCE)為目前收到的該源PEIC最新接收到(一般為最大的,當(dāng)序號為循環(huán)使用時(shí),可能不是最大的)TLP報(bào)文發(fā)送序號。源PEIC接收到確認(rèn)TLP報(bào)文后,根據(jù)報(bào)文中的確認(rèn)的TLP報(bào)文報(bào)文發(fā)送序號和SPEIC刪除隊(duì)列中的第三TLP報(bào)文。PCIE接口控制器根據(jù)第一確認(rèn)消息報(bào)文中的確認(rèn)序號,刪除對應(yīng)TTQ中緩存的TLP報(bào)文。一旦PEIC到PCIE交換單元的鏈路故障或者PCIE交換單元發(fā)生故障,TLP報(bào)文會(huì)被丟棄,對應(yīng)地,此時(shí)源PEIC就無法收到目的PEIC返回的第三TLP的第一確認(rèn)消息TLP報(bào)文,源端PEIC在超時(shí)后,通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送TTQ中緩存的第三TLP報(bào)文,而此時(shí)可能鏈路故障或者PCIE交換單元故障已經(jīng)恢復(fù),或者PEIC的雙平面發(fā)生了倒換,源端PEIC通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文,保證了源PEIC發(fā)送的任何TLP報(bào)文都能可靠地發(fā)送到目的PEIC。進(jìn)一步的,根據(jù)第一確認(rèn)消息TLP報(bào)文中攜帶的發(fā)送序號(SEQUENCE)信息和源PEIC編號(SPEIC),更新相應(yīng)的TTQ的滑動(dòng)窗口。優(yōu)選的,如圖12中所示,在PEIC中還可以包括多個(gè)TLP確認(rèn)序列TAS,本實(shí)施例中TLP確認(rèn)序列的結(jié)構(gòu)和設(shè)置與實(shí)施例3中圖10所示的TLP確認(rèn)序列一致,同樣每個(gè)TLP確認(rèn)序列TAS對應(yīng)一個(gè)傳輸隊(duì)列。具體的的結(jié)構(gòu)和設(shè)置可以參考實(shí)施例3中圖10相關(guān)部分的描述,這里不再贅述。進(jìn)一步的,在步驟604,接收PCIE交換單元轉(zhuǎn)發(fā)的第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)(ACK)消息TLP報(bào)文之前,PEIC接收到從PCIE交換單元發(fā)送的第四TLP報(bào)文,根據(jù)TLP報(bào)文的類型區(qū)分是否是確認(rèn)消息TLP報(bào)文,如果不是確認(rèn)消息TLP報(bào)文,則將接收的第四TLP報(bào)文轉(zhuǎn)發(fā)給第四TLP報(bào)文的目的RC或目的EP,具體的,可以將接收的第四TLP報(bào)文緩存到與該第四TLP報(bào)文的源PEIC對應(yīng)的TLP確認(rèn)序列TAS中,以便后續(xù)調(diào)度轉(zhuǎn)發(fā)給第四TLP報(bào)文的目的RC或目的EP。并進(jìn)一步的,給該第四TLP報(bào)文的源PEIC返回確認(rèn)消息TLP報(bào)文。具體的,生成第四TLP報(bào)文的確認(rèn)消息TLP報(bào)文,并緩存在對應(yīng)的TLP傳輸隊(duì)列TTQ中,以便進(jìn)行調(diào)度發(fā)送。優(yōu)選的,可以經(jīng)過一定的時(shí)間間隔發(fā)送一個(gè)確認(rèn)消息TLP報(bào)文或者是收到一定數(shù)量的待確認(rèn)TLP報(bào)文(數(shù)量不能大于窗口的個(gè)數(shù))后發(fā)送一個(gè)確認(rèn)消息TLP報(bào)文?,F(xiàn)有PCIE規(guī)范中TLP報(bào)文可靠傳輸通過點(diǎn)對點(diǎn)的確認(rèn)機(jī)制,例如,圖2中的交換器I把TLP報(bào)文發(fā)送給交換器2,交換器I會(huì)保存TLP報(bào)文,直到交換機(jī)2接收到正確的TLP報(bào)文并返回確認(rèn)信息給交換機(jī)I后,交換機(jī)I才會(huì)刪除相應(yīng)的TLP報(bào)文。但是,對于RC發(fā)給交換器2的TLP報(bào)文,如果交換器I和交換器2之間的鏈路發(fā)生故障,RC已經(jīng)成功發(fā)送給交換器I的報(bào)文,會(huì)由于交換器I和交換器2之間的鏈路故障而被丟棄,但RC因?yàn)槭盏搅私粨Q器I的確認(rèn)信息而認(rèn)為已經(jīng)成功發(fā)送了。這種故障導(dǎo)致RC無法正確感知TLP報(bào)文的傳輸結(jié)果,而造成系統(tǒng)異?;驍?shù)據(jù)操作丟棄。本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒?,通過與PCIE交換單元連接的發(fā)送鏈路上發(fā)送攜帶有源PEIC編號和發(fā)送的TLP報(bào)文序號的第三TLP報(bào)文給PCIE交換單元,由PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,由目的PEIC轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,并根據(jù)源PEIC編號和發(fā)送的TLP報(bào)文序號返回第一確認(rèn)消息TLP報(bào)文給源PEIC,完成TLP報(bào)文的傳遞。而源PEIC在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文,實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的端到端可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。進(jìn)一步的,所述PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)姆椒?,還包括:每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,更新相應(yīng)TLP傳輸隊(duì)列的發(fā)送鏈路。PCIE接口控制器每隔一個(gè)時(shí)間間隔(可根據(jù)網(wǎng)絡(luò)狀況等進(jìn)行配置,例如,可以在lOus-lms選定一個(gè)值)給所有有通信連接的其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,進(jìn)行主備鏈路倒換。該規(guī)定時(shí)間同樣可根據(jù)網(wǎng)絡(luò)狀況等進(jìn)行配置,并大于發(fā)送定時(shí)檢測TLP報(bào)文后應(yīng)該接收到檢測應(yīng)答TLP報(bào)文的時(shí)間,超過該規(guī)定時(shí)間沒能接收到測應(yīng)答TLP報(bào)文則表明到該目的PEIC的通信路由出現(xiàn)了問題,例如鏈路故障或者PCIE交換單元故障。此時(shí),更新相應(yīng)TTQ的發(fā)送鏈路,即在主用鏈路還是備用鏈路上發(fā)送TLP報(bào)文。本發(fā)明實(shí)施例通過發(fā)送檢測報(bào)文,實(shí)現(xiàn)了 PEIC之間的鏈路故障檢測,保障了主備平面的自動(dòng)倒換,進(jìn)一步保障了 PCIE雙平面交換網(wǎng)絡(luò)時(shí)的的可靠報(bào)文傳輸。圖19為本發(fā)明實(shí)施例11的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng)圖,如圖所示,所述系統(tǒng)包括:至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,至少兩個(gè)PCIE接口控制器PEIC和兩個(gè)PCIE交換單元,其中,所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的每個(gè)PCIE節(jié)點(diǎn)設(shè)備與所述至少兩個(gè)PCIE接口控制器中的一個(gè)PCIE接口控制器相連,所述至少兩個(gè)PCIE接口控制器中的每一個(gè)PCIE接口控制器與所述兩個(gè)PICE交換單元分別相連;所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第一 PCIE節(jié)點(diǎn)設(shè)備,用于發(fā)送第一 TLP報(bào)文給相連的所述至少兩個(gè)PCIE接口控制器中的第一 PCIE接口控制器;所述第一 PCIE接口控制器,用于接收所述第一 TLP報(bào)文,根據(jù)接收的第一 TLP報(bào)文確定與所述兩個(gè)PCIE交換單元連接的發(fā)送鏈路,通過發(fā)送鏈路同時(shí)發(fā)送第一 TLP報(bào)文給所述PCIE交換單元;所述PCIE交換單元,用于轉(zhuǎn)發(fā)所述第一 TLP報(bào)文給所述至少兩個(gè)PCIE接口控制器中的第二 PCIE接口控制器,所述第二 PCIE接口控制器為所述第一 TLP報(bào)文的目的PCIE接口控制器;所述第二 PCIE接口控制器,用于選收所述PCIE交換單元轉(zhuǎn)發(fā)的該第一 TLP報(bào)文并發(fā)送給所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第二 PCIE節(jié)點(diǎn)設(shè)備,所述第二 PCIE節(jié)點(diǎn)設(shè)備為該第一 TLP報(bào)文的目的PCIE節(jié)點(diǎn)設(shè)備。所述第二 PCIE節(jié)點(diǎn)設(shè)備,用于接收所述第二 PCIE接口控制器轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文。優(yōu)選的,所述第一 PCIE接口控制器,用于接收到第一 TLP報(bào)文后,根據(jù)TLP報(bào)文類型,即該報(bào)文是地址路由還是標(biāo)識(Identity,簡稱ID)路由,查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,獲得該第一 TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定該報(bào)文對應(yīng)的主備PCIE交換單元的發(fā)送鏈路,通過該發(fā)送鏈路同時(shí)將該第一 TLP報(bào)文發(fā)送給兩個(gè)PCIE交換單元。進(jìn)一步的,第一 PCIE接口控制器,封裝第一 TLP報(bào)文,在自定義的TLP前綴(Prefix)中添加源PEIC (此處即為第一 PEIC)編號和TLP報(bào)文發(fā)送序號,并通過該TTQ的發(fā)送鏈路同時(shí)發(fā)送封裝后的第一 TLP報(bào)文給主備PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:根據(jù)PCIE規(guī)范中定義,TLP報(bào)文可包含O或者多個(gè)標(biāo)準(zhǔn)或者自定義個(gè)TLP前綴,通過TLP Prefix可實(shí)現(xiàn)端到端擴(kuò)展、點(diǎn)對點(diǎn)擴(kuò)展的參數(shù)傳遞,實(shí)現(xiàn)功能擴(kuò)展。TLP Prefix又分為本地和端到端TLP Prefix。TLP Header定義了 TLP報(bào)文的標(biāo)準(zhǔn)頭部,Data Payload是TLP的數(shù)據(jù)部分,TLP Digest是TLP報(bào)文的摘要部分,這三個(gè)部分都是PCIE規(guī)范的標(biāo)準(zhǔn)內(nèi)容。優(yōu)選的,本實(shí)施例中通過使用自定義端到端TLP Prefix,實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,以便目的PEIC根據(jù)SPEIC和SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),實(shí)現(xiàn)對接收的主備PCIE交換單元傳遞的第一 TLP報(bào)文進(jìn)行選收。第一 PCIE接口控制器從兩條鏈路上把第一 TLP報(bào)文發(fā)送給主備兩個(gè)PCIE交換單元,報(bào)文發(fā)送后,TLP報(bào)文發(fā)送序號(SEQUENCE)加I。進(jìn)一步的,所述第二 PEIC,用于根據(jù)主備PCIE交換單元發(fā)送的第一 TLP報(bào)文中的自定義TLP前綴中所攜帶的SPEIC和SEQUENCE進(jìn)行選收,即,在兩條鏈路上先后收到相同SPEIC和相同SEQUENCE的第一 TLP報(bào)文,則只選擇第一個(gè)收到的第一 TLP報(bào)文發(fā)送給該第二 TLP報(bào)文的目的RC/EP,后收到的第一 TLP報(bào)文丟棄。進(jìn)一步的,其中的兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,具體可以為根聯(lián)合體RC或端點(diǎn)設(shè)備EP,每個(gè)PCIE接口控制器可以與一個(gè)RC或至少一個(gè)端點(diǎn)設(shè)備EP連接。本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng),通過第一 PCIE接口控制器在與主備PCIE交換單元連接的發(fā)送鏈路上同時(shí)發(fā)送第一 TLP報(bào)文給主備兩個(gè)PCIE交換單元,由第一 TLP報(bào)文的目的PEIC選收主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文并發(fā)送給該第一 TLP報(bào)文的目的PCIE節(jié)點(diǎn)設(shè)備。從而實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。進(jìn)一步的,所述第一 PCIE接口控制器,還用于根據(jù)接收的第一 TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將該第一 TLP報(bào)文放入TTQ,其中,該TLP傳輸隊(duì)列與該第一 TLP報(bào)文的目的PEIC相對應(yīng);并將TTQ中的TLP報(bào)文,通過該TLP傳輸隊(duì)列的發(fā)送鏈路將第一 TLP報(bào)文同時(shí)發(fā)送給主備PCIE交換單元。優(yōu)選的,第一 PCIE接口控制器,可以根據(jù)TLP報(bào)文的路由方式(是地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,根據(jù)查表結(jié)果得到目的PEIC號。其中的地址轉(zhuǎn)發(fā)表可以如圖6所示,ID轉(zhuǎn)發(fā)表可以采用如圖7所示的格式,具體的內(nèi)容和配置方法與前面實(shí)施例2、3中描述一致,這里不再贅述。地址轉(zhuǎn)發(fā)表和ID轉(zhuǎn)發(fā)表可以配置在PEIC上。本實(shí)施例中TLP傳輸隊(duì)列的功能和結(jié)構(gòu)與實(shí)施例2中圖5所不的TLP傳輸隊(duì)列一致,具體描述可以參考相關(guān)部分,這里也不再贅述。每個(gè)TTQ中保存有該P(yáng)EIC的TLP報(bào)文發(fā)送序號(SEQUENCE)和TLP報(bào)文發(fā)送鏈路,其中,PEIC的TLP報(bào)文發(fā)送序號是指向該P(yáng)EIC發(fā)送的TLP報(bào)文的順序號,該TLP傳輸隊(duì)列TTQ每發(fā)送I個(gè)TLP報(bào)文,該TTQ的PEIC的TLP報(bào)文發(fā)送序號加I。TLP報(bào)文發(fā)送鏈路是指該隊(duì)列發(fā)送TLP報(bào)文到目的PEIC的通信鏈路,具體可以由TTQ進(jìn)行維護(hù)并保存相關(guān)信息。進(jìn)一步的,第一 PCIE接口控制器還用于維護(hù)管理各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。優(yōu)選的,第一 PCIE接口控制器,調(diào)度TLP傳輸隊(duì)列TTQ中的第一 TLP報(bào)文,封裝TLP報(bào)文,添加自定義的TLP前綴(Prefix),并通過該TTQ的發(fā)送鏈路同時(shí)發(fā)送封裝后的第一TLP報(bào)文給主備PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:根據(jù)PCIE規(guī)范中定義,TLP報(bào)文可包含O或者多個(gè)標(biāo)準(zhǔn)或者自定義個(gè)TLP前綴,通過TLP Prefix可實(shí)現(xiàn)端到端擴(kuò)展點(diǎn)對點(diǎn)的擴(kuò)展參數(shù)傳遞,實(shí)現(xiàn)功能擴(kuò)展。TLP Prefix又分為本地和端到端TLP Prefix。TLP Header定義了 TLP報(bào)文的標(biāo)準(zhǔn)頭部,Data Payload是TLP的數(shù)據(jù)部分,TLP Digest是TLP報(bào)文的摘要部分,這三個(gè)部分都是PCIE規(guī)范的標(biāo)準(zhǔn)內(nèi)容。優(yōu)選的,本實(shí)施例中通過使用自定義端到端TLP Prefix,實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,針對每個(gè)TTQ在TTQ內(nèi)獨(dú)立排序,也就是針對該TLP傳輸隊(duì)列所對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文順序編號,以便目的PEIC根據(jù)SPEIC+SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),實(shí)現(xiàn)對接收的主備PCIE交換單元傳遞的第一 TLP報(bào)文進(jìn)行選收。第一 PCIE接口控制器從兩條鏈路上把第一 TLP報(bào)文發(fā)送給主備兩個(gè)PCIE交換單元,報(bào)文發(fā)送后,該TTQ的TLP報(bào)文發(fā)送序號(SEQUENCE)加I。目的PEIC選擇主備鏈路中第一個(gè)收到的第一 TLP報(bào)文發(fā)送給目的EP或目的RC,后收到的第一 TLP報(bào)文丟棄,即,相同SPEIC+SEQUENCE的TLP報(bào)文僅接收先到達(dá)的,目的PEIC接收到第一 TLP報(bào)文后發(fā)送給該第一 TLP報(bào)文的目的EP或目的RC,從而完成TLP報(bào)文的可靠有序傳輸。本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng),第一 PEIC將TLP報(bào)文同時(shí)發(fā)送給主備PCIE交換單元,由主備PCIE交換單元轉(zhuǎn)發(fā)給第一 TLP報(bào)文的目的PEIC,目的PEIC根據(jù)第一 TLP報(bào)文的自定義端到端TLP前綴中攜帶的源PEIC編號和TLP報(bào)文發(fā)送序號進(jìn)行選收,將第一個(gè)收到的第一 TLP報(bào)文發(fā)送給目的EP或目的RC,后收到的第一 TLP報(bào)文丟棄,從而完成TLP報(bào)文的可靠傳輸,實(shí)現(xiàn)了 PCIE的雙平面組網(wǎng),提升了采用PCIE交換的系統(tǒng)的可靠性。進(jìn)一步的,所述第二 PEIC,用于根據(jù)主備PCIE交換單元發(fā)送的第一 TLP報(bào)文中的自定義TLP前綴中所攜帶的SPEIC和SEQUENCE進(jìn)行選收,即,在兩條鏈路上先后收到相同SPEIC和SEQUENCE的第一 TLP報(bào)文,則只選擇第一個(gè)收到的第一 TLP報(bào)文發(fā)送給該第二 TLP報(bào)文的目的RC/EP,后收到的第一 TLP報(bào)文丟棄。優(yōu)選的,在第二 PEIC中還可以包括多個(gè)TLP確認(rèn)序列TAS(TLP AcknowledgeSequence),每個(gè)TLP確認(rèn)序列TAS對應(yīng)一個(gè)源PEIC的傳輸隊(duì)列(此處的源PEIC的傳輸隊(duì)列指發(fā)送TLP報(bào)文給該P(yáng)EIC的其他PEIC中對應(yīng)該P(yáng)EIC的傳輸隊(duì)列)。每個(gè)TAS有一個(gè)期望序號,代表著從對應(yīng)的源PEIC接收的下一個(gè)TLP報(bào)文應(yīng)攜帶的SEQUENCE。例如,TLP接口控制器I的TLP確認(rèn)序列I對應(yīng)TLP接口控制器2的TLP傳輸隊(duì)列1,則PEICl的TASl中記錄著期望從源端PEIC2接收到的PEIC2的TTQl發(fā)送的TLP報(bào)文攜帶的SEQUENCE,如PEICl的TASl的期望序號為3,則表明PEICl計(jì)劃從源端PEIC2接收的下一個(gè)TLP報(bào)文的SEQUENCE應(yīng)為3。TAS和TTQ的對應(yīng)關(guān)系可以根據(jù)TTQ的變化進(jìn)行動(dòng)態(tài)增加和刪除,例如網(wǎng)絡(luò)中新加入一個(gè)PEIC設(shè)備,就需要增加一個(gè)對應(yīng)的TTQ,同樣要增加一個(gè)TAS。優(yōu)選的,第二 PEIC接收到第一 TLP報(bào)文,根據(jù)第一 TLP報(bào)文中自定義TLP Prefix中的SPEIC確認(rèn)對應(yīng)的TAS,將第一 TLP報(bào)文中的SEQUENCE和TAS中的期望序號對比,相等則把第一 TLP報(bào)文發(fā)送該第一 TLP報(bào)文的目的RC/EP,并將該TAS的期望序號加1,相反,則丟棄TLP報(bào)文。進(jìn)一步的,第二 PEIC,還用于維護(hù)管理各TLP確認(rèn)序列的期望序號。本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng),選收主備PCIE交換單元轉(zhuǎn)發(fā)的第一 TLP報(bào)文,只選擇第一個(gè)收到的第一 TLP報(bào)文并經(jīng)過P2P模塊發(fā)送給該第一 TLP報(bào)文的目的RC/EP,后收到的第一 TLP報(bào)文丟棄。從而完成TLP報(bào)文可靠有序的雙發(fā)選收傳輸,實(shí)現(xiàn)了 PCIE的雙平面組網(wǎng),提升了采用PCIE交換的系統(tǒng)的可靠性。圖20為本發(fā)明實(shí)施例12的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng)圖,如圖所示,所述系統(tǒng)包括:至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,至少兩個(gè)PCIE接口控制器PEIC和兩個(gè)PCIE交換單元,其中,所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的每個(gè)PCIE節(jié)點(diǎn)設(shè)備與所述至少兩個(gè)PCIE接口控制器中的一個(gè)PCIE接口控制器相連,所述至少兩個(gè)PCIE接口控制器中的每一個(gè)PCIE接口控制器與所述兩個(gè)PICE交換單元分別相連;所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第三PCIE節(jié)點(diǎn)設(shè)備,用于發(fā)送第三TLP報(bào)文給相連的所述至少兩個(gè)PCIE接口控制器中的第三PCIE接口控制器;所述第三PCIE接口控制器,用于接收所述第三TLP報(bào)文,根據(jù)接收的第三TLP報(bào)文確定與所述兩個(gè)PCIE交換單元中的一個(gè)PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送第三TLP報(bào)文給所述PCIE交換單元,并在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與所述PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文給所述至少兩個(gè)PCIE接口控制器中的第四PCIE接口控制器,其中所述第四PCIE接口控制器為所述第三TLP報(bào)文的目的PCIE接口控制器。所述PCIE交換單元,用于轉(zhuǎn)發(fā)所述第三TLP報(bào)文給所述第四PCIE接口控制器;并轉(zhuǎn)發(fā)所述第四PCIE接口控制器返回的所述第一確認(rèn)消息TLP報(bào)文給所述第三PCIE接口控制器;所述第四PCIE接口控制器,用于接收所述PCIE交換單元轉(zhuǎn)發(fā)的該第三TLP報(bào)文并發(fā)送給所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第四PCIE節(jié)點(diǎn)設(shè)備,所述第二 PCIE節(jié)點(diǎn)設(shè)備為該第三TLP報(bào)文的目的PCIE節(jié)點(diǎn)設(shè)備,并返回所述第一確認(rèn)消息TLP報(bào)文給所述第三PCIE接口控制器以確認(rèn)收到所述第三TLP報(bào)文;所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第四PCIE節(jié)點(diǎn)設(shè)備,用于接收所述第四PCIE接口控制器轉(zhuǎn)發(fā)的所述第三TLP報(bào)文。進(jìn)一步的,其中的兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,具體可以為根聯(lián)合體RC或端點(diǎn)設(shè)備EP,每個(gè)PCIE接口控制器可以與一個(gè)RC或至少一個(gè)端點(diǎn)設(shè)備EP連接。優(yōu)選的,所述第三PCIE接口控制器,用于根據(jù)該第三TLP報(bào)文類型,即該報(bào)文是地址路由還是標(biāo)識(Identity,簡稱ID)路由,查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,獲得該第三TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定該報(bào)文對應(yīng)的PCIE交換單元的發(fā)送鏈路,通過該發(fā)送鏈路將該第三TLP報(bào)文發(fā)送給PCIE交換單元。則,PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,以便目的PEI接收第三TLP報(bào)文,并轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,同時(shí)目的PEIC會(huì)返回該第三TLP報(bào)文的第一確認(rèn)消息TLP報(bào)文,并經(jīng)過PCIE交換單元轉(zhuǎn)發(fā)給源PEIC (第三PEIC),以表明收到了該第三TLP報(bào)文。第三PEIC會(huì)在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路(在雙平面情況下,此時(shí)的PCIE交換單元連接的發(fā)送鏈路可能與前一次發(fā)送第三TLP報(bào)文時(shí)不同)重新發(fā)送該第三TLP報(bào)文?,F(xiàn)有PCIE規(guī)范中TLP報(bào)文可靠傳輸通過點(diǎn)對點(diǎn)的確認(rèn)機(jī)制,例如,圖2中的交換器I把TLP報(bào)文發(fā)送給交換器2,交換器I會(huì)保存TLP報(bào)文,直到交換機(jī)2接收到正確的TLP報(bào)文并返回確認(rèn)信息給交換機(jī)I后,交換機(jī)I才會(huì)刪除相應(yīng)的TLP報(bào)文。但是,對于RC發(fā)給交換器2的TLP報(bào)文,如果交換器I和交換器2之間的鏈路發(fā)生故障,RC已經(jīng)成功發(fā)送給交換器I的報(bào)文,會(huì)由于交換器I和交換器2之間的鏈路故障而被丟棄,但RC因?yàn)槭盏搅私粨Q器I的確認(rèn)信息而認(rèn)為已經(jīng)成功發(fā)送了。這種故障導(dǎo)致RC無法正確感知TLP報(bào)文的傳輸結(jié)果,而造成系統(tǒng)異?;驍?shù)據(jù)操作丟棄。本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng),通過與PCIE交換單元連接的發(fā)送鏈路上發(fā)送第三TLP報(bào)文給PCIE交換單元,由PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,目的PEIC接收該第三TLP報(bào)文并返回第一確認(rèn)消息TLP報(bào)文給源PEIC。源PEIC在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文。從而實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的端到端可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。進(jìn)一步的,第三PEIC,用于根據(jù)接收的第三TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將該第三TLP報(bào)文放入TTQ,其中,該TLP傳輸隊(duì)列與該第三TLP報(bào)文的目的PEIC(第四PEIC)相對應(yīng);并通過該TLP傳輸隊(duì)列的發(fā)送鏈路將第三TLP報(bào)文發(fā)送給PCIE交換單元。優(yōu)選的,第三PEIC,用于接收第三TLP報(bào)文,可以根據(jù)TLP報(bào)文的路由方式(是地址路由還是ID路由)查相應(yīng)的地址轉(zhuǎn)發(fā)表或ID轉(zhuǎn)發(fā)表,根據(jù)查表結(jié)果得到目的PEIC號,在相應(yīng)的TTQ中緩存收到的第三TLP報(bào)文。其中的地址轉(zhuǎn)發(fā)表可以如圖6所示,ID轉(zhuǎn)發(fā)表可以采用如圖7所示的格式,具體的內(nèi)容和配置方法與前面實(shí)施例2、3中描述一致,這里不再贅述。如圖12中所示,在RTT模塊22中還包括多個(gè)TLP傳輸隊(duì)列,本實(shí)施例中TLP傳輸隊(duì)列的功能和結(jié)構(gòu)與實(shí)施例2中圖5所不的TLP傳輸隊(duì)列一致,具體描述可以參考相關(guān)部分,這里也不再贅述。進(jìn)一步的,第三PEIC,還用于接收PCIE交換單元轉(zhuǎn)發(fā)的第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文,并根據(jù)第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號信息和源PEIC編號,刪除TLP傳輸隊(duì)列中已確認(rèn)的第三TLP報(bào)文。進(jìn)一步的,第三PEIC,調(diào)度TLP傳輸隊(duì)列TTQ中的TLP報(bào)文,封裝TLP報(bào)文,添加自定義的TLP前綴(Prefix),并通過該TTQ的發(fā)送鏈路發(fā)送封裝后的第三TLP報(bào)文給PCIE交換單元。其中,TLP報(bào)文格式定義如圖9所示:具體結(jié)構(gòu)的相關(guān)定義可參看前面實(shí)施例2、3中對于圖9中的TLP報(bào)文格式的介紹,本處不再贅述。優(yōu)選的,本實(shí)施例中通過使用TLP報(bào)文中的自定義端到端TLP Prefix,實(shí)現(xiàn)從源PEIC到目的PEIC傳遞源PEIC編號(SPEIC)和TLP報(bào)文發(fā)送序號(SEQUENCE)。其中,SEQUENCE是源PEIC到目的PEIC發(fā)送的TLP報(bào)文的順序編號,針對每個(gè)TTQ在TTQ內(nèi)獨(dú)立排序,也就是針對該TLP傳輸隊(duì)列所對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文順序編號,以便目的PEIC根據(jù)SPEIC和SEQUENCE對接收到的TLP報(bào)文進(jìn)行排序和確認(rèn),返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,確認(rèn)的TLP報(bào)文發(fā)送序號是目的PEIC已接收的該源PEIC的TLP報(bào)文發(fā)送序號。實(shí)現(xiàn)了對接收的PCIE交換單元傳遞的第三TLP報(bào)文返回第一確認(rèn)消息。第三PEIC通過TTQ的發(fā)送鏈路把第三TLP報(bào)文發(fā)送給PCIE交換單元后,該TTQ的TLP報(bào)文發(fā)送序號(SEQUENCE)加I。進(jìn)一步的,第三PEIC,還用于維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。其中,各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號表不該TTQ已發(fā)送的TLP報(bào)文發(fā)送的順序號,TLP報(bào)文發(fā)送鏈路表明該TTQ的主備用發(fā)送鏈路,以便使用主用發(fā)送鏈路進(jìn)行TLP報(bào)文發(fā)送。優(yōu)選的,PEIC的TTQ發(fā)送TPL報(bào)文可以采用滑動(dòng)窗口,從而可以限制每個(gè)TTQ的并發(fā)發(fā)送報(bào)文個(gè)數(shù)。TTQ的滑動(dòng)窗口機(jī)制如圖13所示,圖中的每個(gè)帶數(shù)字的方框代表一個(gè)TLP報(bào)文,例如,滑動(dòng)窗口大小為4,即最多同時(shí)只能存在4個(gè)未被目的PEIC確認(rèn)的TLP報(bào)文,確認(rèn)模塊226接收到目的PEIC返回的TLP確認(rèn)報(bào)文后,根據(jù)確認(rèn)的SEQUENC,把窗口往后移動(dòng),例如,當(dāng)前的窗口中待確認(rèn)的TLP報(bào)文為2、3、4、5,接收到的接收模塊轉(zhuǎn)發(fā)的確認(rèn)SEQUENC為2,則滑動(dòng)窗口往后移動(dòng)一個(gè),待確認(rèn)的TLP報(bào)文為3、4、5,允許該TTQ再發(fā)送一個(gè)序號為6的TLP報(bào)文,根據(jù)PEIC的緩存能力,可配置滑動(dòng)窗口大小為2-n(n為任意一個(gè)整數(shù))。通過設(shè)置滑動(dòng)窗口,可以有效控制每個(gè)TTQ的并發(fā)發(fā)送報(bào)文個(gè)數(shù),增加了處理的效率,同時(shí)又保障了發(fā)送和接收的有序性、可靠性。優(yōu)選的,第四PEIC也可以收到多個(gè)源PEIC的TLP報(bào)文后,再發(fā)一個(gè)確認(rèn)TLP報(bào)文給源PEIC,例如,接收到SPEIC為101的序號為3、4、5的報(bào)文,可以只發(fā)送一個(gè)序號為5的確認(rèn)TLP報(bào)文,表示序號5之前的TLP報(bào)文已經(jīng)全部收到,從而減少確認(rèn)TLK報(bào)文數(shù)量。確認(rèn)TLP報(bào)文的自定義TLP Prefix中包含源PEIC編號(SPEIC)和確認(rèn)的TLP報(bào)文發(fā)送序號(SEQUENCE),其中,確認(rèn)的TLP報(bào)文發(fā)送序號(SEQUENCE)為目前收到的該源PEIC最新接收到(一般為最大的,當(dāng)序號為循環(huán)使用時(shí),可能不是最大的)的TLP報(bào)文發(fā)送序號。第三PEIC接收到第四確認(rèn)TLP報(bào)文后,根據(jù)報(bào)文中的確認(rèn)的TLP報(bào)文報(bào)文發(fā)送序號和SPEIC刪除對應(yīng)TTQ中緩存的TLP報(bào)文。一旦PEIC到PCIE交換單元的鏈路故障或者PCIE交換單元發(fā)生故障,TLP報(bào)文會(huì)被丟棄,對應(yīng)地,此時(shí)第三PEIC (源PEIC)就無法收到第四PEIC (目的PEIC)返回的第三TLP報(bào)文的第一確認(rèn)消息TLP報(bào)文,源端PEIC在超時(shí)后,通過與PCIE交換單元連接的發(fā)送鏈路重新發(fā)送TTQ中緩存的第三TLP報(bào)文,而此時(shí)可能鏈路故障或者PCIE交換單元故障已經(jīng)恢復(fù),或者PEIC的雙平面發(fā)生了倒換,保證了源PEIC發(fā)送的任何TLP報(bào)文都能可靠地發(fā)送到目的PEIC。進(jìn)一步的,第三PEIC還用于根據(jù)第一確認(rèn)消息TLP報(bào)文中攜帶的發(fā)送序號(SEQUENCE)信息和源PEIC編號(SPEIC),更新相應(yīng)的TTQ的滑動(dòng)窗口。優(yōu)選的,在第三PEIC中還可以包括多個(gè)TLP確認(rèn)序列TAS,本實(shí)施例中TLP確認(rèn)序列的結(jié)構(gòu)和設(shè)置與實(shí)施例3中圖10所示的TLP確認(rèn)序列一致,同樣每個(gè)TLP確認(rèn)序列TAS對應(yīng)一個(gè)傳輸隊(duì)列。具體的的結(jié)構(gòu)和設(shè)置可以參考實(shí)施例3中圖10相關(guān)部分的描述,這里不再贅述。進(jìn)一步的,第四PEIC,還用于接收從PCIE交換單元發(fā)送的第三TLP報(bào)文,并根據(jù)TLP報(bào)文的類型區(qū)分是否是確認(rèn)消息TLP報(bào)文,如果不是確認(rèn)消息TLP報(bào)文,則將接收的第三TLP報(bào)文緩存到與該第三TLP報(bào)文的源PEIC對應(yīng)的TLP確認(rèn)序列TAS中,并轉(zhuǎn)發(fā)給第三TLP報(bào)文的目的RC/EP,并返回第一確認(rèn)消息TLP報(bào)文。第四PEIC經(jīng)過一定的時(shí)間間隔發(fā)送一個(gè)確認(rèn)消息TLP報(bào)文或者是收到一定數(shù)量的待確認(rèn)TLP報(bào)文(數(shù)量不能大于窗口的個(gè)數(shù))后發(fā)送一個(gè)確認(rèn)消息TLP報(bào)文。本發(fā)明實(shí)施例提供的PCIE交換網(wǎng)絡(luò)報(bào)文傳輸?shù)南到y(tǒng),通過與PCIE交換單元連接的發(fā)送鏈路上發(fā)送攜帶有源PEIC編號和發(fā)送的TLP報(bào)文序號的第三TLP報(bào)文給PCIE交換單元,由PCIE交換單元將接收的第三TLP報(bào)文發(fā)送給目的PEIC,由目的PEIC轉(zhuǎn)發(fā)給該第三TLP報(bào)文的目的EP或目的RC,并根據(jù)源PEIC編號和發(fā)送的TLP報(bào)文序號返回第一確認(rèn)消息TLP報(bào)文給源PEIC,完成TLP報(bào)文的傳遞。而源PEIC在超時(shí)未收到目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與PCIE交換單元連接的發(fā)送隊(duì)列的發(fā)送鏈路重新發(fā)送該第三TLP報(bào)文,實(shí)現(xiàn)了 PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的端到端可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。進(jìn)一步的,每個(gè)PCIE接口控制器,還用于每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,更新相應(yīng)發(fā)送鏈路。優(yōu)選的,每個(gè)PCIE接口控制器每隔一個(gè)時(shí)間間隔(可根據(jù)網(wǎng)絡(luò)狀況等進(jìn)行配置,例如,可以在IOus-1ms選定一個(gè)值)給所有有通信連接的其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,進(jìn)行主備鏈路倒換。該規(guī)定時(shí)間同樣可根據(jù)網(wǎng)絡(luò)狀況等進(jìn)行配置,并大于發(fā)送定時(shí)檢測TLP報(bào)文后應(yīng)該接收到檢測應(yīng)答TLP報(bào)文的時(shí)間,超過該規(guī)定時(shí)間沒能接收到測應(yīng)答TLP報(bào)文則表明到該目的PEIC的通信路由出現(xiàn)了問題,例如鏈路故障或者PCIE交換單元故障。此時(shí),PEIC會(huì)更新相應(yīng)發(fā)送鏈路,即在主用鏈路還是備用鏈路上發(fā)送TLP報(bào)文。本發(fā)明實(shí)施例通過發(fā)送檢測報(bào)文,實(shí)現(xiàn)了 PEIC之間的鏈路故障檢測,保障了主備平面的自動(dòng)倒換,進(jìn)一步保障了PCIE雙平面交換網(wǎng)絡(luò)系統(tǒng)的可靠報(bào)文傳輸。圖21為本發(fā)明實(shí)施例13的PCIE接口控制器結(jié)構(gòu)圖,如圖所示,本實(shí)施例的PCIE接口控制器700包括至少一個(gè)處理器701,存儲(chǔ)器705、至少一個(gè)網(wǎng)絡(luò)接口卡704,和至少一通信總線702。該P(yáng)CIE接口控制器700可選的包含用戶接口 703,包括顯示器,鍵盤或者點(diǎn)擊設(shè)備。存儲(chǔ)器705存儲(chǔ)執(zhí)行指令,當(dāng)PCIE接口控制器700運(yùn)行時(shí),處理器701與存儲(chǔ)器705之間通信,處理器701執(zhí)行執(zhí)行指令使得PCIE接口控制器700執(zhí)行本發(fā)明實(shí)施例7所描述的方法,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。操作系統(tǒng)706,包含各種程序,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)。該P(yáng)CIE接口控制器700還包括顯示接口卡。進(jìn)一步的,處理器701執(zhí)行執(zhí)行指令還使得PCIE接口控制器700執(zhí)行本發(fā)明實(shí)施例8所描述的方法其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。另外,本發(fā)明實(shí)施例中還提供一種計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)執(zhí)行指令,計(jì)算機(jī)執(zhí)行指令能夠使PCIE接口控制器700執(zhí)行執(zhí)行本發(fā)明實(shí)施例7所描述的方法,進(jìn)一步的,計(jì)算機(jī)執(zhí)行指令能夠使PCIE接口控制器700執(zhí)行執(zhí)行本發(fā)明實(shí)施例8所描述的方法,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。圖22為本發(fā)明實(shí)施例14的PCIE接口控制器結(jié)構(gòu)圖,如圖所示,本實(shí)施例的PCIE接口控制器800包括至少一個(gè)處理器801,存儲(chǔ)器805、至少一個(gè)網(wǎng)絡(luò)接口卡804,和至少一通信總線802。該P(yáng)CIE接口控制器800可選的包含用戶接口 803,包括顯示器,鍵盤或者點(diǎn)擊設(shè)備。存儲(chǔ)器805存儲(chǔ)執(zhí)行指令,當(dāng)PCIE接口控制器800運(yùn)行時(shí),處理器801與存儲(chǔ)器805之間通信,處理器801執(zhí)行執(zhí)行指令使得PCIE接口控制器800執(zhí)行本發(fā)明實(shí)施例9所描述的方法,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。操作系統(tǒng)806,包含各種程序,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)。PCIE接口控制器800還可以包括顯示接口卡。進(jìn)一步的,處理器801執(zhí)行執(zhí)行指令還使得PCIE接口控制器800執(zhí)行本發(fā)明實(shí)施例10所描述的方法,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。另外,本發(fā)明實(shí)施例中還提供一種計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)執(zhí)行指令,計(jì)算機(jī)執(zhí)行指令能夠使PCIE接口控制器800執(zhí)行執(zhí)行本發(fā)明實(shí)施例9所描述的方法,進(jìn)一步的,計(jì)算機(jī)執(zhí)行指令能夠使PCIE接口控制器800執(zhí)行執(zhí)行本發(fā)明實(shí)施例10所描述的方法,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以用硬件實(shí)現(xiàn),或固件實(shí)現(xiàn),或它們的組合方式來實(shí)現(xiàn)。當(dāng)使用軟件實(shí)現(xiàn)時(shí),可以將上述功能存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中或作為計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令或代碼進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個(gè)地方向另一個(gè)地方傳送計(jì)算機(jī)程序的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是計(jì)算機(jī)能夠存取的任何可用介質(zhì)。以此為例但不限于:計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)介質(zhì)或者其他磁存儲(chǔ)設(shè)備、或者能夠用于攜帶或存儲(chǔ)具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì)。此外。任何連接可以適當(dāng)?shù)某蔀橛?jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖光纜、雙絞線、數(shù)字用戶線(DSL)或者諸如紅外線、無線電和微波之類的無線技術(shù)從網(wǎng)站、服務(wù)器或者其他遠(yuǎn)程源傳輸?shù)?,那么同軸電纜、光纖光纜、雙絞線、DSL或者諸如紅外線、無線和微波之類的無線技術(shù)包括在所屬介質(zhì)的定影中。如本發(fā)明所使用的,盤(Disk)和碟(disc)包括壓縮光碟(⑶)、激光碟、光碟、數(shù)字通用光碟(DVD)、軟盤和藍(lán)光光碟,其中盤通常磁性的復(fù)制數(shù)據(jù),而碟則用激光來光學(xué)的復(fù)制數(shù)據(jù)。上面的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀介質(zhì)的保護(hù)范圍之內(nèi)。需要說明的是,在本發(fā)明實(shí)施例的描述的“第一 PEIC”其實(shí)是一種PEIC,另外描述的“第二 PEIC”、“第三PEIC”、“第四PEIC”也是一種PEIC,在此之所以命名為第一 PEIC只是為了和后續(xù)出現(xiàn)的第二 PEIC、第三PEIC、第四PEIC相區(qū)別,其“第一”、“第二”、“第三”、“第四”并不具有時(shí)序上或者邏輯上的任何關(guān)系,只為了表示分別是兩個(gè)單獨(dú)的PEIC而已。當(dāng)然為了區(qū)別兩個(gè)PEIC還可以采用其它的命名方式,只要能夠表示這兩個(gè)PEIC是兩個(gè)單獨(dú)的PEIC即可,例如,可以分別命名為PEICa和PEICb等。同樣對于本發(fā)明實(shí)施例中出現(xiàn)的“第一 TLP報(bào)文”、“第二 TLP報(bào)文”、“第三TLP報(bào)文”和“第四TLP報(bào)文”,“第一確認(rèn)消息”和“第二確認(rèn)消息”,“第一 PCIE節(jié)點(diǎn)設(shè)備”和“第二 PCIE節(jié)點(diǎn)設(shè)備”等均適用于前述關(guān)于第一、第二、第三和第四的闡述。總之,以上所述僅為本發(fā)明技術(shù)方案的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種高速外圍組件互連接口控制器PEIC,其特征在于,包括: PCI到PCI橋P2P模塊,用于接收來自于根聯(lián)合體RC或端點(diǎn)設(shè)備EP的第一事務(wù)層包TLP報(bào)文,轉(zhuǎn)發(fā)所述第一 TLP報(bào)文給可靠性TLP傳輸RTT模塊處理; 所述可靠TLP傳輸模塊,用于根據(jù)接收的所述第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。
2.根據(jù)權(quán)利要求1所述的接口控制器,其特征在于: 所述可靠TLP傳輸模塊,還用于封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,以便所述第一 TLP報(bào)文的目的PEIC根據(jù)所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收; 其中,所述TLP報(bào)文發(fā)送序 號是所述源PEIC向所述第一 TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收為針對所述主備PCIE交換單元轉(zhuǎn)發(fā)的相同源PEIC編號和相同所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。
3.根據(jù)權(quán)利要求1所述的接口控制器,其特征在于,所述可靠TLP傳輸模塊包括: TLP報(bào)文分發(fā)模塊,用于根據(jù)接收的所述第一 TLP報(bào)文查找地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定所述TLP傳輸隊(duì)列TTQ,將所述第一 TLP報(bào)文放入TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第一 TLP報(bào)文的目的PEIC相對應(yīng); 發(fā)送模塊,用于將所述TLP傳輸隊(duì)列中的所述第一 TLP報(bào)文通過所述TLP傳輸隊(duì)列的發(fā)送鏈路同時(shí)發(fā)送給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。
4.根據(jù)權(quán)利要求3所述的接口控制器,其特征在于: 所述發(fā)送模塊,還用于封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的端到端TLP前綴中添加源PEIC編號SPEIC和TLP報(bào)文發(fā)送序號SEQUENCE,以便所述目的PEIC根據(jù)所述SPEIC和所述SEQUENCE對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收; 其中,所述TLP報(bào)文發(fā)送序號是所述源PEIC向所述第一 TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)所述SPEIC和所述SEQUENCE對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收為針對所述主備PCIE交換單元轉(zhuǎn)發(fā)的相同SPEIC和相同SEQUENCE的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。
5.根據(jù)權(quán)利要求3或4所述的接口控制器,其特征在于:所述可靠TLP傳輸模塊,還包括: 接收模塊,用于選收所述主備PCIE交換單元發(fā)送的第二 TLP報(bào)文,將接收的所述第二TLP報(bào)文發(fā)送給所述P2P模塊,由所述P2P模塊轉(zhuǎn)給所述第二 TLP報(bào)文的目的RC或目的EP。
6.根據(jù)權(quán)利要求5所述的接口控制器,其特征在于,所述接收模塊用于選收所述主備PCIE交換單元發(fā)送的第二 TLP報(bào)文,具體為:所述接收模塊,用于接收所述主備PCIE交換單元發(fā)送的所述第二 TLP報(bào)文,針對自定義TLP前綴中攜帶相同的源PEIC編號SPEIC和相同TLP報(bào)文發(fā)送序號SEQUENCE的所述第二 TLP報(bào)文中,只接收第一個(gè)收到的所述第二 TLP報(bào)文,丟棄后收到的所述第二 TLP報(bào)文。
7.根據(jù)權(quán)利要求6所述的接口控制器,其特征在于,所述接收模塊針對自定義TLP前綴中攜帶相同的SPEIC和相同SEQUENCE的所述第二 TLP報(bào)文中,只接收第一個(gè)收到的所述第二 TLP報(bào)文,丟棄后收到的所述第二 TLP報(bào)文,具體為: 所述接收模塊,根據(jù)所述第二 TLP報(bào)文中自定義端到端TLP前綴中攜帶的SPEIC和SEQUENCE,與期望接收的所述第二 TLP報(bào)文的源PEIC的TLP報(bào)文序號進(jìn)行對比,如相等則接收所述第二 TLP報(bào)文,否則丟棄所述第二 TLP報(bào)文。
8.根據(jù)權(quán)利要求3至7任一所述的接口控制器,其特征在于,所述可靠TLP傳輸模塊,還包括: TLP傳輸隊(duì)列管理模塊,用于維護(hù)管理各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路,所述TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號為向所述傳輸隊(duì)列對應(yīng)的目的PEIC發(fā)送的TLP報(bào)文發(fā)送序號,所述TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送鏈路為向所述傳輸隊(duì)列對應(yīng)的目的PEIC的TLP報(bào)文發(fā)送鏈路。
9.一種高速外圍組件互連接口控制器PEIC,其特征在于,包括: PCI到PCI橋P2P模塊,用于接收來自于根聯(lián)合體RC或端點(diǎn)設(shè)備EP的第三事務(wù)層包TLP報(bào)文,轉(zhuǎn)發(fā)所述第三TLP報(bào)文給可靠性TLP傳輸RTT模塊; 模塊,用于根據(jù)接收的所述第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PCIE接口控制器接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述第三TLP報(bào)文的目的EP或目的RC,并用于在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),重新發(fā)送所述第三TLP報(bào)文。
10.根據(jù)權(quán)利要求9所述的接口控制器,其特征在于: 所述RTT模塊,還用于封裝所述第三TLP報(bào)文,在所述第三TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,并通過所述發(fā)送鏈路發(fā)送封裝后的所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PEIC根據(jù)接收到的所述第三TLP報(bào)文中的源PEIC編號和TLP報(bào)文發(fā)送序號返回所述第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的自定義端到端TLP前綴中攜帶所述第三TLP報(bào)文的目的PEIC的PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號; 其中,所述第三TLP報(bào)文中的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述第一確認(rèn)消息TLP報(bào)文中的確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述第三TLP報(bào)文的源PEIC的TLP報(bào)文發(fā)送序號。
11.根據(jù)權(quán)利要求9所述的接口控制器,其特征在于,所述可靠TLP傳輸模塊包括: TLP報(bào)文分發(fā)模塊,用于根據(jù)接收的所述第三TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將所述第三TLP報(bào)文放入所述TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第三TLP報(bào)文的目的PEIC相對應(yīng);發(fā)送模塊,用于將所述TLP傳輸隊(duì)列中的所述第三TLP報(bào)文,通過所述TLP傳輸隊(duì)列的發(fā)送鏈路發(fā)送給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PCIE接口控制器接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述第三TLP報(bào)文的目的EP或目的RC ;并用于在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的所述第一確認(rèn)消息TLP報(bào)文時(shí),重新發(fā)送所述第三TLP報(bào)文; 接收 模塊,用于所述接收PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的所述第一確認(rèn)消息TLP報(bào)文,并傳遞給所述確認(rèn)模塊; 所述確認(rèn)模塊,用于根據(jù)所述第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號信息和源PEIC編號,通知TLP傳輸隊(duì)列管理模塊刪除TLP傳輸隊(duì)列中已確認(rèn)的第三TLP報(bào)文; 所述TLP傳輸隊(duì)列管理模塊,用于根據(jù)所述確認(rèn)模塊的通知?jiǎng)h除所述TLP傳輸隊(duì)列中已確認(rèn)的所述第三TLP報(bào)文。
12.根據(jù)權(quán)利要求11所述的接口控制器,其特征在于: 發(fā)送模塊,還用于封裝所述第三TLP報(bào)文,在所述第三TLP報(bào)文的端到端TLP前綴中添加源PEIC編號SPEIC和TLP報(bào)文發(fā)送序號,并通過所述TTQ的發(fā)送鏈路發(fā)送封裝后的所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PEIC根據(jù)源PEIC編號和TLP報(bào)文發(fā)送序號對接收到的TLP報(bào)文返回第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號; 其中,所述第三TLP報(bào)文的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述第一確認(rèn)消息的確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述第三TLP報(bào)文的源PEIC的TLP報(bào)文發(fā)送序號。
13.根據(jù)權(quán)利要求11或12所述的接口控制器,其特征在于: 所述TLP傳輸隊(duì)列管理模塊,還用于維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。
14.根據(jù)權(quán)利要求11至13任一所述的接口控制器,其特征在于: 所述接收模塊,還用于接收從所述PCIE交換單元發(fā)送的第四TLP報(bào)文,判斷是否是確認(rèn)消息TLP報(bào)文,如果不是確認(rèn)消息TLP報(bào)文,則將接收的所述第四TLP報(bào)文緩存到與所述第四TLP報(bào)文的源PEIC對應(yīng)的TLP確認(rèn)序列TAS中; P2P模塊,還用于獲取所述TLP確認(rèn)序列TAS中的所述第四TLP報(bào)文,轉(zhuǎn)發(fā)給所述第四TLP報(bào)文的目的RC/EP。
15.根據(jù)權(quán)利要求14所述的接口控制器,其特征在于:所述可靠TLP傳輸模塊還包括: TLP確認(rèn)序列管理模塊,用于在TLP確認(rèn)序列收到所述第四TLP報(bào)文后,通知所述確認(rèn)模塊給所述第四TLP報(bào)文的源PEIC返回確認(rèn)消息TLP報(bào)文; 則,所述確認(rèn)模塊,還用于產(chǎn)生第二確認(rèn)消息TLP報(bào)文,緩存到所述第四TLP報(bào)文的源PEIC對應(yīng)的TLP傳輸隊(duì)列中,以便由所述發(fā)送模塊進(jìn)行調(diào)度發(fā)送。
16.根據(jù)權(quán)利要求12至15任一所述的接口控制器,其特征在于: 所述確認(rèn)模塊,還用于根據(jù)接收的所述第一確認(rèn)消息TLP報(bào)文中攜帶的確認(rèn)的發(fā)送序號信息和源PEIC編號,更新相應(yīng)的TTQ的滑動(dòng)窗口。
17.根據(jù)權(quán)利要求11至16任一所述的接口控制器,其特征在于,所述可靠性TLP傳輸模塊,還包括: 心跳模塊,用于每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,通知所述TLP發(fā)送隊(duì)列管理模塊更新所述返回檢測應(yīng)答TLP報(bào)文的目的PEIC相應(yīng)的TTQ的發(fā)送鏈路; 則,TLP傳輸隊(duì)列管理模塊,還用于根據(jù)所述心跳模塊的通知更新所述TLP傳輸隊(duì)列的發(fā)送鏈路。
18.一種高速外圍組件互連交換網(wǎng)絡(luò)的報(bào)文傳輸方法、其特征在于,包括: 接收來自于RC或EP的第一 TLP報(bào)文; 根據(jù)接收的所述第一 TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。
19.根據(jù)權(quán)利要求18所述的方法,其特征在于,所述通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元前,所述方法還包括: 封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,以便所述目的PEIC根據(jù)所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收,其中,所述TLP報(bào)文發(fā)送序號是所述第一 TLP報(bào)文的源PEIC向所述第一 TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收 為針對所述主備PCIE交換單元轉(zhuǎn)發(fā)的相同源PEIC編號和相同所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。
20.根據(jù)權(quán)利要求18或19所述的方法,其特征在于,所述根據(jù)接收的所述第一TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一 TLP報(bào)文給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC,具體為: 根據(jù)接收的所述第一 TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將所述第一 TLP報(bào)文放入TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第一 TLP報(bào)文的目的PEIC相對應(yīng); 將所述TLP傳輸隊(duì)列中的所述第一 TLP報(bào)文,通過所述TLP傳輸隊(duì)列的發(fā)送鏈路同時(shí)發(fā)送給所述主備PCIE交換單元,以便所述第一 TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述第一 TLP報(bào)文的目的EP或目的RC。
21.根據(jù)權(quán)利要求19或20所述的方法,其特征在于,所述方法還包括: 所述第一 TLP報(bào)文的目的PEIC針對自定義端到端TLP前綴中攜帶相同的所述源PEIC編號和相同所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文,只接收第一個(gè)收到的所述第一 TLP報(bào)文,丟棄后收到的所述第一 TLP報(bào)文。
22.根據(jù)權(quán)利要求21所述的方法,其特征在于,所述針對自定義TLP前綴中攜帶相同的所述源PEIC編號和所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文,只接收第一個(gè)收到的所述第一 TLP報(bào)文,丟棄后收到的所述第一 TLP報(bào)文,具體為: 根據(jù)所述第一 TLP報(bào)文中自定義TLP Prefix中攜帶的所述源PEIC編號和所述TLP報(bào)文發(fā)送序號,與期望接收的所述源PEIC的TLP報(bào)文序號進(jìn)行對比,如相等則接收所述第一TLP報(bào)文,否則丟棄所述第一 TLP報(bào)文。
23.根據(jù)權(quán)利要求19至22任一權(quán)利要求所述的方法,其特征在于,所述方法還包括: 維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路,每發(fā)送一個(gè)TLP報(bào)文,相應(yīng)TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號加I ; 維護(hù)期望接收的其他PEIC發(fā)送的TLP報(bào)文發(fā)送序號,每接收一個(gè)TLP報(bào)文,期望接收的相應(yīng)的源PEIC發(fā)送的TLP報(bào)文發(fā)送序號加I。
24.一種高速外圍組件互連交換網(wǎng)絡(luò)的報(bào)文傳輸方法、其特征在于,包括: 接收來自于RC或EP的第三TLP報(bào)文; 根據(jù)接收的所述第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,以便所述第三TLP報(bào)文的目的PCIE接口控制器接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述第三TLP報(bào)文的目的EP或目的RC,并在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過重新發(fā)送所述第三TLP報(bào)文; 其中,所述第一確認(rèn)消息TLP報(bào)文為確認(rèn)收到所述第三TLP報(bào)文的報(bào)文。
25.根據(jù)權(quán)利要求24所述 的方法,其特征在于,在所述通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元前,還包括: 封裝所述第三TLP報(bào)文,在所述第三TLP報(bào)文的自定義端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號,以便所述第三TLP報(bào)文的目的PEIC根據(jù)所述第三TLP報(bào)文中的源PEIC編號和TLP報(bào)文發(fā)送序號返回第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶所述第三TLP報(bào)文的目的PEIC的PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號; 其中,所述第三TLP報(bào)文中的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的源PEIC到所述第三TLP報(bào)文的目的PEIC發(fā)送的TLP報(bào)文的順序編號,所述第一確認(rèn)消息TLP報(bào)文中的確認(rèn)的TLP報(bào)文發(fā)送序號是所述第三TLP報(bào)文的目的PEIC已接收的所述第三TLP報(bào)文的源PEIC的TLP報(bào)文發(fā)送序號。
26.根據(jù)權(quán)利要求24或25所述的方法,其特征在于,所述根據(jù)接收的所述第三TLP報(bào)文確定與PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,具體為: 根據(jù)接收的所述第三TLP報(bào)文查找相應(yīng)的地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定TLP傳輸隊(duì)列TTQ,將所述第三TLP報(bào)文放入所述TLP傳輸隊(duì)列,其中,所述TLP傳輸隊(duì)列與所述第三TLP報(bào)文的目的PEIC相對應(yīng); 通過所述TLP傳輸隊(duì)列的發(fā)送鏈路將所述第三TLP報(bào)文發(fā)送給所述PCIE交換單元。
27.根據(jù)權(quán)利要求26所述的方法,其特征在于,所述方法,還包括: 接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的第一確認(rèn)消息TLP報(bào)文;根據(jù)所述第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號和源PEIC編號,刪除所述TLP傳輸隊(duì)列中已確認(rèn)的所述第三TLP報(bào)文。
28.根據(jù)權(quán)利要求26所述的方法,其特征在于,在所述接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文的目的PEIC返回的所述第一確認(rèn)消息TLP報(bào)文之前,還包括: 接收到從所述PCIE交換單元發(fā)送的第四TLP報(bào)文,根據(jù)所述第四TLP報(bào)文的類型確認(rèn)是否是所述第一確認(rèn)消息TLP報(bào)文,如果不是所述第一確認(rèn)消息TLP報(bào)文,則將接收的所述第四TLP報(bào)文轉(zhuǎn)發(fā)給所述第四TLP報(bào)文的目的RC或目的EP。
29.根據(jù)權(quán)利要求28所述的方法,其特征在于,所述方法還包括: 給所述第四TLP報(bào)文的源PEIC返回第二確認(rèn)消息TLP報(bào)文。
30.根據(jù)權(quán)利要求27至29任一所述的方法,其特征在于,所述方法還包括: 維護(hù)各TLP傳輸隊(duì)列的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。
31.根據(jù)權(quán)利要求27至30任一所述的方法,其特征在于,所述方法還包括: 根據(jù)第一確認(rèn)消息TLP報(bào)文中攜帶的確認(rèn)的TLP發(fā)送序號信息和源PEIC編號,更新相應(yīng)的TLP傳輸隊(duì)列的滑動(dòng)窗口。
32.根據(jù)權(quán)利要求25至31任一所述的方法,其特征在于,所述方法還包括: 每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并對于在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的目的PEIC,更新相應(yīng)TLP傳輸隊(duì)列的發(fā)送鏈路。
33.一種高速外圍組件互連交換網(wǎng)絡(luò)報(bào)文傳輸系統(tǒng),包括:至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,至少兩個(gè)PCIE接口控制器PEIC和兩個(gè)PCIE交換單元,其中,所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的每個(gè)PCIE節(jié)點(diǎn)設(shè)備與所述至少兩個(gè)PCIE接口控制器中的一個(gè)PCIE接口控制器相連,所述至少兩個(gè)PCIE接口控制器中的每一個(gè)PCIE接口控制器與所述兩個(gè)PICE交換單元分別相連; 所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第一 PCIE節(jié)點(diǎn)設(shè)備,用于發(fā)送第一 TLP報(bào)文給相連的所述至少兩個(gè)PCIE接口控制器中的第一 PCIE接口控制器; 所述第一 PCIE接口控制器,用于接收所述第一 TLP報(bào)文,根據(jù)接收的所述第一 TLP報(bào)文確定與所述兩個(gè)PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一TLP報(bào)文給所述兩個(gè)PCIE交換單元; 所述兩個(gè)PCIE交換單元中的每個(gè)PCIE交換單元,用于轉(zhuǎn)發(fā)所述第一 TLP報(bào)文給所述至少兩個(gè)PCIE接口控制器中的第二 PCIE接口控制器,所述第二 PCIE接口控制器為所述第一 TLP報(bào)文的目的PCIE接口控制器; 所述第二 PCIE接口控制器,用于選收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文并發(fā)送給所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第二 PCIE節(jié)點(diǎn)設(shè)備,所述第二 PCIE節(jié)點(diǎn)設(shè)備為所述第一 TLP報(bào)文的目的PCIE節(jié)點(diǎn)設(shè)備; 所述第二 PCIE節(jié)點(diǎn)設(shè)備,用于接收所述第二 PCIE接口控制器轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文。
34.根據(jù)權(quán)利要求33所述的系統(tǒng),其特征在于, 所述第一 PCIE接口控制器,還用于封裝所述第一 TLP報(bào)文,在所述第一 TLP報(bào)文的端到端TLP前綴中添加源PEIC編號和TLP報(bào)文發(fā)送序號; 所述第二 PCIE接口控制器, 還用于根據(jù)所述第一 TLP報(bào)文中的所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述PCIE交換單元轉(zhuǎn)發(fā)的所述第一 TLP報(bào)文進(jìn)行選收; 其中,所述TLP報(bào)文發(fā)送序號是所述第一 PEIC向所述第二 PEIC發(fā)送的TLP報(bào)文的順序編號,所述根據(jù)根據(jù)所述第一 TLP報(bào)文中的所述源PEIC編號和所述TLP報(bào)文發(fā)送序號對所述第一 TLP報(bào)文進(jìn)行選收為針對相同PEIC編號和所述TLP報(bào)文發(fā)送序號的所述第一 TLP報(bào)文僅接收先到達(dá)的所述第一 TLP報(bào)文。
35.根據(jù)權(quán)利要求33或34所述的系統(tǒng),其特征在于:所述第一PCIE接口控制器,用于根據(jù)接收的所述第一 TLP報(bào)文確定與所述兩個(gè)PCIE交換單元連接的發(fā)送鏈路,具體為: 所述第一 PCIE接口控制器,用于根據(jù)所述第一 TLP報(bào)文,查找地址轉(zhuǎn)發(fā)表或者ID轉(zhuǎn)發(fā)表,確定所述第一 TLP報(bào)文對應(yīng)的目的PEIC編號,從而確定所述第一 TLP報(bào)文對應(yīng)的與所述兩個(gè)PCIE交換單元相連的發(fā)送鏈路。
36.根據(jù)權(quán)利要求33至35所述的系統(tǒng),其特征在于: 所述PCIE節(jié)點(diǎn)設(shè)備為根聯(lián)合體RC或端點(diǎn)設(shè)備EP,所述每個(gè)PCIE接口控制器與一個(gè)RC或至少一個(gè)EP連接。
37.一種高速外圍組件互連交換網(wǎng)絡(luò)報(bào)文傳輸系統(tǒng),包括: 至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備,至少兩個(gè)PCIE接口控制器PEIC和兩個(gè)PCIE交換單元,其中,所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的每個(gè)PCIE節(jié)點(diǎn)設(shè)備與所述至少兩個(gè)PCIE接口控制器中的一個(gè)PCIE接口控制器相連,所述至少兩個(gè)PCIE接口控制器中的每個(gè)PCIE接口控制器與所述兩個(gè)PICE交換單元分別相連; 所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第三PCIE節(jié)點(diǎn)設(shè)備,用于發(fā)送第三TLP報(bào)文給相連的所述至少兩個(gè)P CIE接口控制器中的第三PCIE接口控制器; 所述第三PCIE接口控制器,用于接收所述第三TLP報(bào)文,根據(jù)接收的所述第三TLP報(bào)文確定與所述兩個(gè)PCIE交換單元中的一個(gè)PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路發(fā)送所述第三TLP報(bào)文給所述PCIE交換單元,并在超時(shí)未收到所述PCIE交換單元轉(zhuǎn)發(fā)的所述至少兩個(gè)PCIE接口控制器中的第四PCIE接口控制器返回的第一確認(rèn)消息TLP報(bào)文時(shí),通過與所述PCIE交換單元連接的發(fā)送鏈路重新發(fā)送所述第三TLP報(bào)文給所述第四PCIE接口控制器,其中所述第四PCIE接口控制器為所述第三TLP報(bào)文的目的PCIE接口控制器; 所述PCIE交換單元,用于轉(zhuǎn)發(fā)所述第三TLP報(bào)文給所述第四PCIE接口控制器,并轉(zhuǎn)發(fā)所述第四PCIE接口控制器返回的所述第一確認(rèn)消息TLP報(bào)文給所述第三PCIE接口控制器; 所述第四PCIE接口控制器,用于接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第三TLP報(bào)文并發(fā)送給所述至少兩個(gè)PCIE節(jié)點(diǎn)設(shè)備中的第四PCIE節(jié)點(diǎn)設(shè)備,所述第二 PCIE節(jié)點(diǎn)設(shè)備為所述第三TLP報(bào)文的目的PCIE節(jié)點(diǎn)設(shè)備,并返回所述第一確認(rèn)消息TLP報(bào)文給所述第三PCIE接口控制器以確認(rèn)收到所述第三TLP報(bào)文; 所述第四PCIE節(jié)點(diǎn)設(shè)備,用于接收所述第四PCIE接口控制器轉(zhuǎn)發(fā)的所述第三TLP報(bào)文。
38.根據(jù)權(quán)利要求37所述的系統(tǒng),其特征在于: 所述第三PEIC,還用于接收所述PCIE交換單元轉(zhuǎn)發(fā)的所述第四PEIC返回的所述第一確認(rèn)消息TLP報(bào)文,并根據(jù)所述第一確認(rèn)消息TLP報(bào)文中攜帶的TLP報(bào)文的發(fā)送序號信息和源PEIC編號,刪除已確認(rèn)的所述第三TLP報(bào)文。
39.根據(jù)權(quán)利要求37或38所述的系統(tǒng),其特征在于: 所述第三PEIC,還用于封裝TLP報(bào)文,在所述第三TLP報(bào)文的端到端TLP前綴中添加源PEIC編號SPEIC和TLP報(bào)文發(fā)送序號,并通過所述發(fā)送鏈路發(fā)送封裝后的所述第三TLP報(bào)文給所述PCIE交換單元; 所述第四PEIC,還用于根據(jù)所述第三TLP報(bào)文攜帶的源PEIC編號和TLP報(bào)文發(fā)送序號返回所述第一確認(rèn)消息TLP報(bào)文,所述返回的第一確認(rèn)消息TLP報(bào)文的端到端TLP前綴中攜帶源PEIC編號和確認(rèn)的TLP報(bào)文發(fā)送序號,其中,所述TLP報(bào)文發(fā)送序號是所述第三PEIC到所述第四PEIC發(fā)送的TLP報(bào)文的順序編號,所述確認(rèn)的TLP報(bào)文發(fā)送序號是所述第四PEIC已接收的所述第三PEIC的TLP報(bào)文發(fā)送序號。
40.根據(jù)權(quán)利要求39所述的系統(tǒng),其特征在于: 所述第三PEIC,還用于維護(hù)到其他PEIC的TLP報(bào)文發(fā)送序號和TLP報(bào)文發(fā)送鏈路。
41.根據(jù)權(quán)利要求37至40任一所述的系統(tǒng),其特征在于: 所述每個(gè)PCIE接口控制器,還用于每隔一個(gè)時(shí)間間隔給所有其它PEIC發(fā)送定時(shí)檢測TLP報(bào)文,并更新在規(guī)定時(shí)間內(nèi)沒收到返回的檢測應(yīng)答TLP報(bào)文的PEIC的對應(yīng)發(fā)送鏈路。
42.根據(jù)權(quán)利要求37至41任一所述的系統(tǒng),其特征在于: 所述PCIE節(jié)點(diǎn)設(shè)備為根聯(lián)合體RC或端點(diǎn)設(shè)備EP,所述每個(gè)PCIE接口控制器與一個(gè)RC或至少一個(gè)EP連接。
43.一種高速外圍組件互連 接口控制器PEIC,其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)執(zhí)行指令,當(dāng)所述高速外圍組件互連接口控制器PEIC運(yùn)行時(shí),所述處理器與所述存儲(chǔ)器之間通信,所述處理器執(zhí)行所述執(zhí)行指令使得所述高速外圍組件互連接口控制器PEIC執(zhí)行如權(quán)利要求18至23任一所述的方法。
44.一種高速外圍組件互連接口控制器PEIC,其特征在于,包括處理器和存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)執(zhí)行指令,當(dāng)所述高速外圍組件互連接口控制器PEIC運(yùn)行時(shí),所述處理器與所述存儲(chǔ)器之間通信,所述處理器執(zhí)行所述執(zhí)行指令使得所述高速外圍組件互連接口控制器PEIC執(zhí)行如權(quán)利要求24至32任一所述的方法。
45.一種計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令用于使高速外圍組件互連接口控制器PEIC執(zhí)行權(quán)利要求18至23任一所述的方法。
46.一種計(jì)算機(jī)可讀介質(zhì),包含計(jì)算機(jī)執(zhí)行指令,所述計(jì)算機(jī)執(zhí)行指令用于使高速外圍組件互連接口控制器PEIC執(zhí)行權(quán)利要求24至32任一所述的方法。
全文摘要
本發(fā)明實(shí)施例公開了一種高速外圍組件互連接口控制單元。一種高速外圍組件互連接口控制單元,包括PCI到PCI橋P2P模塊,用于接收來自于根聯(lián)合體RC或端點(diǎn)設(shè)備EP的第一事務(wù)層包TLP報(bào)文,轉(zhuǎn)發(fā)所述第一TLP報(bào)文給可靠性TLP傳輸RTT模塊處理;所述可靠TLP傳輸模塊,用于根據(jù)接收的所述第一TLP報(bào)文確定與主備PCIE交換單元連接的發(fā)送鏈路,通過所述發(fā)送鏈路同時(shí)發(fā)送所述第一TLP報(bào)文給所述主備PCIE交換單元,以便所述第一TLP報(bào)文的目的PCIE接口控制器選收所述主備PCIE交換單元轉(zhuǎn)發(fā)的所述第一TLP報(bào)文并發(fā)送給所述第一TLP報(bào)文的目的EP或目的RC,從而實(shí)現(xiàn)了PCIE交換雙平面組網(wǎng)連接時(shí)TLP報(bào)文的可靠傳輸,提升了采用PCIE交換的系統(tǒng)的可靠性。本發(fā)明實(shí)施例還公開了一種PCIE交換網(wǎng)絡(luò)的報(bào)文傳輸方法、系統(tǒng)和存儲(chǔ)介質(zhì)。
文檔編號H04L12/861GK103098428SQ201280001718
公開日2013年5月8日 申請日期2012年10月27日 優(yōu)先權(quán)日2012年10月27日
發(fā)明者蘇德現(xiàn), 姚益民, 王晶 申請人:華為技術(shù)有限公司