新四季網

用於為多通路pci特快io互連提供故障保護的方法和裝置的製作方法

2023-07-22 11:44:21 3

專利名稱:用於為多通路pci特快io互連提供故障保護的方法和裝置的製作方法
用於為多通路PCI特快10互連提供故障保護的方法和裝置技術領域
本發明的實施例總體上涉及外圍部件互連特快(PCIE)總線並且具體地涉及一種用於為多通路PCIE IO互連提供線纜冗餘性和故障保護的方法和裝置。
背景技術:
20世紀早期最初引進外圍部件互連(PCI)標準。通過使用連接到前側總線和處理器的PCI橋晶片,PCI為連接到PCI總線的任何外圍設備提供對計算機系統內的系統存儲器的直接訪問。PCI橋晶片獨立於處理器的速度調控PCI總線的速度,從而可以實現高程度的可靠性。
PCI特快(PCT Express, PCIE)標準是通過引用將相關內容結合於此的PCI標準的繼承者。與PCI相比,PCI特快可以用較少的物理管腳來實現較高傳輸速率。與先期幾代PCI總線相比,PCI特快使用點到點總線架構。因而,專用總線用於在使用PCIE總線系統的任何兩個設備之間的數據事務。專用總線由在通信設備之間建立點到點連接的交換器來支持。因此,交換器被用作中間設備,並且物理上和邏輯上位於附接到計算機系統的任何兩個設備之間。
PCIE交換器包括用於支持將設備附接到計算機系統的多個埠。在設備與交換器的埠之間的物理連接慣稱為鏈路。每個鏈路包括一個或者多個通路,並且每個通路能夠在兩個方向上傳輸數據。因此,每個通路是全雙工連接。
包括單個通路的鏈路稱為Xl鏈路。類似地,包括兩個通路或者四個通路的鏈路分別稱為x2鏈路或者x4鏈路。PCI特快允許與不同寬度(例如xl、x2、x4、x8、xl2、xl6和 x32鏈路)的接口以滿足各種外圍設備的不同帶寬要求。因此,專用總線可以寬度為1個通路、2個通路、4個通路、8個通路、12個通路、16個通路或者32個通路。
現代伺服器類計算機經常使用PCIE IO適配器作為主要IO適配器技術。CPU外殼包括用於定製特定伺服器的IO選項的有限數目的PCIE適配器槽。然而,CPU機架封裝通常使這樣的槽很少,而每個機架的計算能力已經隨著多芯處理器晶片而明顯增長。通常,伺服器提供用於將CPU連接到一個或者多個附加「10擴展」機架中的PCI適配器槽的機制。例如在PCIE系統中,也稱為PCIE主橋(PHB)的PCI根埠(PRP)是CPU電子器件的部件並且創建PCI總線,該PCI總線直接連接到單個PCIE IO適配器槽或者連接到IO擴展機架中的PCIE交換器,該擴展機架將該PHB總線擴展到該交換器下的多個PCIE適配器槽。IO擴展需要在擴展機架中放置一個或者多個PCIE適配器槽並且將這些槽連接到CPU機架內的 PHB。
通常,由於這些IO擴展機架是物理上不同的電子機架或者外殼,所以在CPU機架內的PHB與IO擴展機架內的PCIE適配器槽之間的電子連接需要在這些外殼之間的物理線纜線路。這些線纜可能需要在PHB與PCIE適配器槽之間幾英寸的互連距離,甚至可能在包含CPU和IO擴展外殼的不同物理機架之間延伸。發明內容
本公開內容的某些方面提供一種用於為在第一 PCIE橋與第一輸入/輸出(IO)設備之間的連接提供故障保護操作的方法。該方法主要包括使用第一 PCIE橋的第一組通路通過第一鏈路在第一 PCIE橋與第一 IO設備之間交換第一組總線位;響應於檢測到第一鏈路中的故障,在PCIE橋端從使用第一組通路調換為使用第一 PCIE橋的第二組通路用於使用第二組通路通過第二鏈路在第一 PCIE橋與第一 IO設備之間交換第二組總線位,第二鏈路連接第二 PCIE橋與第二 IO設備;以及響應於檢測到第一鏈路中的故障,在IO設備端從使用第一組通路切換為使用第二組通路,以便使用第二組通路通過第二鏈路在第一 PCIE 橋與第一 IO設備之間交換第二組總線位。
本公開內容的某些方面提供一種用於為在第一 PCIE橋與第一輸入/輸出(IO)設備之間的連接提供故障保護操作的裝置。該裝置主要包括第一鏈路,連接第一 PCIE橋與第一 IO設備,第一鏈路用於使用第一 PCIE橋的第一組通路通過第一鏈路在第一 PCIE橋與第一 IO設備之間交換第一組總線位;至少一個第二鏈路,連接第二 PCIE橋與第二 IO設備, 其中第一 PCIE橋響應於檢測到第一鏈路中的故障在PCIE橋端從使用第一組通路調換為使用第一 PCIE橋的第二組通路用於使用第二組通路通過第二鏈路在第一 PCIE橋與第一 IO 設備之間交換第二組總線位;以及在IO端的至少交換器,用於從使用第一組通路切換為使用第二組通路用於使用第二組通路通過第二鏈路在第一 PCIE橋與第一 IO設備之間交換第二組總線位。
本公開內容的某些方面提供一種用於為在第一 PCIE橋與第一輸入/輸出(IO) 設備之間的連接提供故障保護操作的電腦程式產品,該電腦程式產品主要包括計算機可讀介質,該計算機可讀介質包括代碼。該代碼主要包括如下代碼,該代碼用於使用第一 PCIE橋的第一組通路通過第一鏈路在第一 PCIE橋與第一 IO設備之間交換第一組總線位; 響應於檢測到第一鏈路中的故障,在PCIE橋端從使用第一組通路調換為使用第一 PCIE橋的第二組通路用於使用第二組通路通過第二鏈路在第一 PCIE橋與第一 IO設備之間交換第二組總線位,第二鏈路連接第二PCIE橋與第二 IO設備;並且響應於檢測到第一鏈路中的故障,在IO設備端從使用第一組通路切換為使用第二組通路用於使用第二組通路通過第二鏈路在第一 PCIE橋與第一 IO設備之間交換第二組總線位。


為了可以具體理解上文記載的方面的實現方式,可以參照附圖更具體描述上文簡要概括的本發明實施例。
然而將注意,附圖僅圖示了本發明的典型實施例,因此不應被視為限制本發明的範圍,因為本發明可以採用其他同樣有效的實施例。
圖1是圖示了根據本公開內容一個實施例的併入PCI特快(PCIe)結構技術的示例計算機系統的圖。
圖2是圖示了根據本公開內容一個實施例的如下PCIE系統的示例基本操作的圖, 該PCIE系統用於使用在CPU端和交換器端的復用器或者交叉點開關來提供線纜故障保護機制。
圖3是圖示了根據本公開內容一個實施例的在圖2的PCIE系統中在線纜故障期間使用的故障保護機制的示例的圖。
圖4是圖示了根據本公開內容一個實施例的用於使用圖2和圖3的如下PCIE系統來提供線纜故障保護機制的示例過程的流程圖,該PCIE系統使用在CPU端和交換器端的見用器。
圖5是圖示了根據本公開內容一個實施例的用於提供線纜故障保護機制的示例操作的流程圖。
圖6是圖示了根據本公開內容的如下PCIe系統的基本操作的示例圖,該PCIe系統用於使用在交換器端的復用器來提供故障保護機制。
圖7是圖示了根據本公開內容一個實施例的在圖6的PCI系統中在線纜故障期間的故障保護機制的示例圖。
圖8是圖示了根據本公開內容一個實施例的用於使用圖6和圖7的如下PCIE系統來提供線纜故障保護機制的示例過程的流程圖,該PCIE系統使用在交換器端的復用器。
圖9是圖示了根據本公開內容一個實施例的用於提供線纜故障保護機制的示例操作的流程圖。
具體實施方式
圖1是根據本公開內容一個實施例的併入PCI特快(PCIe)結構技術的計算機系統100的示例圖。計算機系統包括連接到根複合體(root complex) 104的CPU 102。根複合體104通常代表CPU 102而生成事務請求。根複合體功能可以實施為分立設備或者可以集成於處理器(例如,CPU 102)內。根複合體104可以包含多個PCI特快埠,並且多個 PCIE交換器設備可以連接到埠或者從一個或者多個埠級聯。
根複合體104可以包括多個PCIE主橋(PHB)、例如PHB 106和108。根據某些方面,PHB 106、108可以實施為分立設備或者可以集成於根複合體104內。每個PHB 106,108 可以經由輸入/輸出(I/O)總線130、132連接到對應PCIe交換器142、144。例如,PHB 106 經由總線103連接到PCIe交換器142,PHB 108經由總線132連接到PCIe交換器144。每個交換器142、144還可以經由鏈路152連接到PCIe端點(EP)。交換器142、144通常為它們的相應I/O總線130、132提供扇出(fan-out)。這樣做可以增加PHB與PCIE適配器之比並且使CPU機架中所需PHB的數目最少。
根據某些方面,交換器142、144具有連接器經由鏈路152與之附接的一個或者多個埠,並且每個連接器還附接到端點150。端點通常使用鏈路152來與計算機系統上的任何其他設備(包括另一端點)執行數據事務。每個交換器142、144在上遊根埠與連接到計算機系統中的這些交換器的端點設備150之間建立點到點連接。
鏈路是在計算機系統100中的兩個部件之間的雙單工(dual-simplex)通信。在邏輯上,埠是在部件與PCI特快鏈路之間的接口。在物理上,埠是位於相同晶片上的限定鏈路的一組發送器和接收器。鏈路必須支持至少一個通路而每個通路代表一組差分信號對(一個發送對和一個接收對)。為了調節帶寬,鏈路可以聚集XN表示的多個通路,其中N 為支持的鏈路寬度之一。例如xl表示具有一個物理通路的鏈路,而x8表示具有八個物理通路的鏈路。PCI特快提供多個物理通路(例如單個通路、4個通路、8個通路、16個通路和 32個通路)以便適應符合PCI特快的外圍設備的不同帶寬要求。在一些方面中,每個IO縱貫線130、132也可以具有多個通路而通路數目通常對應於連接到端點150的鏈路的通路數目。例如每個總線130和132為x8總線。根據某些方面,PCIE鏈路包括線纜、嵌入式板布線、板到板連接和在PCIE橋與PCIE交換器或者設備之間實現通信的任何其他連接。
根據某些方面,鏈路/總線的通路可以物理上劃分成多組通路。例如連接PHB 106 和PCIe交換器142的I/O總線130劃分成兩通路組110和112,每組4個通路。類似地,將 PHB 108與PCIe交換器144連接的I/O總線132劃分成兩通路組114和116,每組4個通路。可以理解,將每個鏈路/總線劃分成兩組通路僅為示例並且總線/鏈路可以劃分成任何數目的通路組,每個通路組具有最少一個通路。例如xl6總線/鏈路可以劃分成兩個x8 總線、四個x4總線、八個x2總線或者十六個xl總線。根據某些方面,總線的這一物理劃分不受軟體控制,並且該劃分基於硬體設計而為持久的。
在啟動時,PCI特快設備通常與交換器協商以確定可以構成它的鏈路的通路的最大數目。這一鏈路寬度協商依賴於鏈路本身的最大寬度(即構成鏈路的物理信號對的實際數目)、與設備附接的連接器的寬度和設備本身的寬度。
在某些方面中,由於PCIe交換器142、144為物理上不同的電子機架或者外殼,將 PHB連接至其相應交換器的每個I/O總線沿單獨鏈路(例如物理線纜134、136)延伸。例如總線130經過線纜134延伸而總線132經過線纜136延伸。在每個線纜134、136的任一端通過的線纜線路器(CC) 160在通路組與線纜之間提供電連接。根據某些方面,將CPU和 PCIe交換器與外部線纜線路連接所造成的一個問題是由於線纜或者線纜連接器的故障、 在一個或者其他機架意外移除線纜連接或者需要移除線纜來修理線纜的維修動作,而失去與通過該線纜通信的IO槽的連接。
根據某些方面,使用單獨物理線纜分別連接每個PHB 106、108與交換器142、144 提供了冗餘線纜,並且在一個或者其他線纜134、136故障的情況下有助於提供故障保護機制。在某些方面中,根據故障保護機制,如果將第一 PHB與第一 PCIe交換器連接的線纜出故障,則可以使用將第二 PHB與第二 PCIe交換器連接的第二活躍線纜在第一 PHB與第一 PCIe交換器之間交換至少部分數據。例如,如果計算機系統100檢測到線纜136已經出故障,則可以使用仍然在可以活躍的線纜134內的一些通路在PHB 108與交換器144之間交換數據,同時PHB 106和交換器142繼續在線纜134內的其他通路上交換數據。
PCIe架構允許通路下調和上調。這允許CPU固件減少(下調)在PHB與對應交換器之間活躍的通路的數目以及恢復(上調)至活躍通路的原數目。在某些方面中,PCIe系統的這一能力被用以在線纜故障期間提供故障保護機制。例如,當檢測到線纜136中的故障時,下調兩個總線130和132以使用僅一組通路。因此,每個總線從x8總線下調至x4總線。一旦通路下調完成,就使用總線130的未用通路組,在PHB 108與交換器144之間交換在總線132的活躍一組通路上的數據。在某些方面中,僅總線130從x8下調至x4,並且總線130的不活躍一組通路用來在PHB 108與交換器144之間交換數據。
圖2是圖示了根據本公開內容一個實施例的如下PCIE系統的基本操作的示例圖, 該PCIE系統用於使用在CPU端和交換器端的復用器來提供線纜故障保護機制。
如圖2中所示,PCIe根複合體104包括PHB 106和108。PHB 106使用I/O總線 130來與PCIe交換器142交換數據,同時PHB 108使用I/O總線132來與PCIe交換器144 交換數據。每個總線130和132為x8總線。I/O總線130劃分成兩個通路組110和112,每組4個通路。類似地,I/O總線132劃分成兩個通路組114和116,每組4個通路。在某些方面中,對於總線130,通路組110代表較高階通路0-3,並且通路組112代表較低階通路 4-7。類似地,對於總線132,通路組144代表較高階通路0-3,並且通路組116代表較低階通路4-7。在每個線纜134、136的任一端提供的線纜連接器160a-160d在通路組與線纜之間提供電連接。
通路復用器(MUX)(或者交叉點電開關)202a-202d在線纜134和136的兩端(CPU 端和交換器端)上實現總線130和132中每一個的通路組之間的通路切換。在某些方面中, 在PCIe系統的基本操作期間,兩個線纜134和136活躍。下面是MUC在基本操作期間的典型配置
ο在CPU端,MUX 202a連接通路組110與CC 160a以及通路組116與CC 160c。
ο在CPU端,MUX 202c連接通路組114與CC 160c以及通路組112與CC 160a。
ο在交換器端,MUX 202b連接通路組110與PCIe交換器142以及通路組116與 PCIe交換器144。
ο在交換器端,MUX 202d連接通路組114與PCIe交換器144以及通路組112與 PCIe交換器142。
因此,在基本操作期間,總線130的通路組110和112連接PHB 106與交換器142, 而總線132的通路組114和116連接PHB 108與交換器44。交換器處的MUX可以集成於包括PCIe交換器的IO機架中。在某些方面中,在CPU端,可以利用復用器將所有通路從每個PHB路由至兩個線路。例如MUX 20 可以連接通路組110與CC 160a或者切換通路組以連接通路組110與CC 160c。類似地,交換器端的復用器允許將每個線纜內的通路的子組重新路由至任一交換器。當然,本領域技術人員將理解圖2中所示MUX的數目和配置用於示例並且MUX的任何數目或者任何配置可以用於實施本公開內容的各種方面。
根據某些方面,CPU固件控制PHB以及MUX 202a和202c的操作。在某些方面中, MUX 202b和202d由連接到交換器142和144中的任一交換器的一個或者多個設備(或者 EP)控制。例如,分別連接到交換器142和144的MUX控制設備204a和204b可以被編程為控制MUX 202b和202d。在某些方面中,CPU固件配置MUX控制設備20 和204b或者與 MUX控制設備20 和204b通信,以便使用MUX 202b和202d在交換器端實現通路切換。在某些方面中,每個MUX控制設備20 和204b可以控制兩個MUX 202b和202d。在某些方面中,MUX控制設備為特殊類型的IO機架控制單元,該IO機架控制單元也是連接到交換器的 PCIE設備。
圖3是圖示了根據本公開內容一個實施例的在圖2的PCIE系統中在線纜故障期間的故障保護機制的示例圖。
如上文關於圖2討論的那樣,在基本操作期間,連接PHB與IO機架中的交換器之間的PCIE總線的所有通路。因此,兩個x8 PHB 106、108中的每個x8 PHB將總線130、 132中的所有8個通路連接到IO機架中的相應交換器。當失去一個線纜時,CPU固件使用 PCIe 「通路下調,,先減少在其他PHB與其相應交換器之間活躍的通路的數目,例如從x8總線減少至x4總線。這釋放了 4個通路以供已經與PHB的交換器失去線纜連接的PHB和I/O 總線使用。在某些方面中,釋放的通路通常為x8 PCIe總線中的通路4-7。根據某些方面, PHB或者根埠可以向與PCIE鏈路連接(或者線纜)的故障或者失去有關的CPU固件信號通知鏈路狀態改變事件(例如,鏈路停用事件),從而激發CPU固件檢查線纜或者鏈路的操作狀態。其他實施例可以利用其他指示或者機制來激發CPU固件檢查線路故障獲得相同效: O
根據某些方面,CPU固件也將失去線纜的PHB設置為x4總線。如已經討論的那樣, 可以使用「復用器」或者交叉點電開關將所有通路從每個PHB路由至兩個線纜。因此,當線纜134、136之一故障時,故障保護機制啟動,並且CPU固件設置CPU端的復用器以便將通路組(通常為通路0-;3)從失去線纜的PHB重新路由至其他活躍PHB線纜的那些未用通路(通常為通路4-7)。也如討論的那樣,交換器端的復用器允許將每個線纜內的通路子組重新路由至任一交換器。同樣,作為故障保護機制的部分,CPU固件通過活躍PHB線纜來與PCIE 交換器上的MUX控制器設備通信,以設置復用器現在將用於PHB的活躍線纜的通路4-7路由至其他交換器的通路0-3。這由此利用活躍連接的線纜中的PHB的通路4-7將已經失去線纜連接到的PHB的通路0-3連接到它原先連接到的交換器的通路0-3,同時保持活躍PHB 通路0-3與其在該相同線纜上的交換器通路0-3的連接無間斷(除PCIE下調協議外)。
例如,圖3圖示了當線纜132已經出故障並且僅線纜130活躍時的線纜故障保護機制。CPU檢測到線纜132的故障,並且作為響應而使用通路下調以將總線130和132中的通路的活躍數目從x8總線減少至x4總線。在這一示例中,通路下調指示PHB 106僅使用通路組110(通路0-;3),並且指示PHB 108僅使用通路組114(通路0-;3)。CPU固件指示 MUX 202c在通路組114與活躍總線130的通路4-7之間建立連接。CPU固件同時使用活躍線纜134的I/O總線130來與MUX控制設備20 同時通信。MUX控制設備20 指示MUX 202d在總線130的通路4-7與PCIe交換器144的通路0_3之間建立連接。因此,線纜故障保護機制由此使用PHB在活躍連接的線纜134中的通路4-7,將已經失去線纜連接的PHB 108的通路0-3連接到它原先連接到的PCIe交換器144的通路0_3。
根據某些方面,在完成用於恢復失去的線纜連接的維修動作時,可以通知CPU固件(或者可以代之以經由電子線纜存在信號來檢測)恢復的線纜連接,並且可以反轉在故障保護機制期間執行的MUX配置,由此改變通路復用器設置,從而將用於每個PHB的所有通路直接經過其相應的線纜重新路由至與其連接的交換器的上遊埠。
圖4是圖示了根據本公開內容一個實施例的用於使用圖2和圖3的PCIE系統來提供線纜故障保護機制的示例過程400的流程圖,該PCIE系統使用在CPU端和交換器端的復用器。在402,CPU固件檢查分別將PHB 106和108連接到其相應交換器142和144的線纜134和136中的故障。如果CPU固件在404檢測到線纜(例如線纜136)中的故障,則在 406,CPU固件將兩個總線130和132從x8下調至x4總線。在408,固件指示CPU端的MUX 202c將具有線纜故障的PHB的通路組114切換至活躍總線130的通路4_7。在410,固件使用交換器端的MUX控制設備20 來指示MUX 202d將活躍總線130的通路4_7切換至交換器144的通路0-3。在412,如果線路136未恢復至全連接,則過程400繼續在故障保護模式中操作,並且繼續檢查線纜136恢復連接。在412,如果CPU固件檢測到線纜136恢復連接線,則PCIE系統恢復至圖2中的基本操作而總線恢復至x8總線。
根據某些方面,可以消除線纜CPU端上的通路復用電子器件(或者MUX),以實現減少電子器件成本和封裝要求的優點。然而,它具有的缺點在於它可能由於如下電子時序要求而限制線纜長度並且約束一些IO機架線纜線路配置,這些要求規定在用於這些冗餘性配置的兩個線纜之間的狹窄線纜長度容差。每個冗餘性配置在故障保護和恢復機制的固件定序上具有對應不同。本領域普通技術人員可以選擇任一冗餘性配置以適應特定PCIE實施方式的需要。
圖5是圖示了根據本公開內容一個實施例的用於提供線纜故障保護機制的示例操作500的流程圖。
操作500始於步驟502,在此使用第一 PCIe橋的第一組通路通過第一線纜在第一 PCIe橋與第一 IO設備之間交換第一組總線位。總線位通常是指在總線上傳輸的數據位。 在504,在第一線纜中檢測故障。在506,響應於檢測到第一線纜中的故障,使用將第二 PCIe 橋與第二 IO設備連接的第二線纜的未用部分在第一 PCIe橋與第一 IO設備之間交換第一組總線位。
圖6是圖示了根據本公開內容一個實施例的用於僅使用在交換器端的復用器來提供故障保護機制的PCIe系統600的基本操作的示例圖。
如圖6中所示,通路復用器(MUX)(或者交叉點電交換器)20 和202d在線纜134 和136的交換器端實現在總線130和132的每一個的通路組之間的通路切換。然而,在CPU 端沒有MUX,並且通路組直接連接到線纜。在某些方面中,在PCIe系統的基本操作期間,兩個線纜134和136活躍。下面是PCIe系統600在基本操作期間的典型配置
ο 在 CPU 端
ο對於PHB 106,通路組110與CC 160a直接連接,通路組112與CC 160c直接連接。
ο對於PHB 108,通路組114與CC 160c直接連接,通路組116與CC 160a直接連接。
ο在交換器端
ο MUX 202b連接通路組110和112與PCIe交換器142,並且可被用來在通路組 110與112之間切換。
ο MUX 202d連接通路組114和116與PCIe交換器144,並且可被用來在通路組 114與112之間切換。
因此,在基本操作期間,總線130的通路組110和112連接PHB 106與交換器142, 總線132的通路組114和116連接PHB 108與交換器144。在某些方面中,在CPU端可以利用通路調換將所有通路從每個PHB路由至兩個線纜。例如,通路組114可以與通路組116 調換,因此使通路組114能夠經過線纜160a而不是160c被路由。類似地,可以調換通路組 110和112以經過線纜160a和160b中的任一線纜來路由每個線路組。如上文所述,交換器端的MUX 202b和202d允許將每個線纜內的線纜子組重新路由至任一交換器。當然,本領域普通技術人員將會理解,MUX的數目和配置僅用於示例並且MUX的任何數目或者任何配置可以用於實施本公開內容的各種方面。
根據某些方面,CPU固件控制CPU端的通路調換。如已經討論的那樣,CPU固件控制PHB的操作,MUX 202b和202d由連接到交換器142和144中任何一個的一個或者多個設備(或者EP)(例如,MUX控制設備204a和204b)控制。而且,每個MUX控制設備204a和 204b可以控制MUX 202b和202d 二者。
圖7是圖示了根據本公開內容一個實施例的在圖6的PCIe系統中響應於檢測到線纜故障而使用的故障恢復機制的示例圖。如上文關於圖6討論的那樣,在基本操作期間, PHB及其在IO機架中的相應交換器之間的每個PCIE總線130和132的所有通路被連接。 因此,兩個x8PHB 106和108中的每一個將總線130、132中的所有八個通路連接到IO機架中的相應交換器。當線纜134、136之一失去連接時,CPU固件使用PCIe 「通路下調」以減少在其他PHB與其相應交換器之間活躍的通路的數目,例如將它從x8總線減少至x4總線。 這釋放出了四個通路,以供已經與PHB的交換器失去線纜連接的PHB和I/O總線使用。在某些方面中,釋放的通路通常為xSPCIe總線中的通路4-7。
根據某些方面,CPU固件還將失去線纜的PHB設置為x4總線。如關於圖6中的 PCIE系統的基本操作已經討論的那樣,可以利用通路調換將所有通路從每個PHB路由至兩個線纜。因此,在線路故障條件下,故障保護機制啟動,並且CPU固件調換失去線纜的PHB的通路組,以便將來自失去線纜的PHB的通路組(通常為通路0- 重新路由只其他活躍PHB 線纜的那些未用通路(通常為通路4-7)。還如討論的那樣,交換器端的復用器允許將每個線纜內的通路的子組重新路由至任一交換器。因此,作為故障保護機制的部分,CPU固件通過活躍PHB線纜來與PCIE交換器上的MUX控制器設備通信,以設置復用器現在將活躍線纜的通路4-7路由至失去線纜的PHB原先連接到的其他交換器的通路0-3。這使用活躍連接的線纜中的PHB的通路4-7,將已經失去線纜連接的PHB的通路0_3連接到它原先連接到的交換器的通路0-3,同時保持活躍PHB通路0-3與它在相同線纜上的交換器通路0-3的連接無間斷(除PCIE下調協議)。
例如,如圖7中所示,線纜132已經出故障,並且僅線纜130活躍。CPU檢測到線纜132的故障,並且作為響應,CPU固件使用通路下調將總線130和132中的通路的活躍數目從x8總線減少至x4總線。在這一示例中,通路下調指示PHB 106僅使用通路組110(通路0- ,並且指示PHB 108僅使用通路組114 (通路0- 。CPU固件指示PHB 108在通路組114與116之間調換,使得通路組114(通路3-0)經過活躍線纜134中的總線130而不是出故障的線纜136的通路4-7被路由。CPU固件使用活躍線纜134的I/O總線130來與 MUX控制設備20 同時通信,以指示MUX 202d在總線130的通路4_7與PCIe交換器1444 的通路3-0之間建立連接。線纜故障保護機制由此利用PHB 106在活躍連接的線纜134中的通路4-7將失去線纜連接的PHB 108的通路3-0連接到PHB 108原先連接到的PCIe交換器144的通路3-0。
根據某些方面,在完成用於恢復失去的線纜連接的維修動作時,CPU固件被通知 (或者可以代之以經由電子線纜存在信號來檢測)恢復的線纜連接,並且可以調換回通路組116和114以及恢復在故障保護機制期間執行的對MUX 20b和202d的配置。
圖8是圖示了根據本公開內容一個實施例的用於使用圖6和圖7的如下PCIE系統來提供線纜故障保護機制的示例過程的流程圖,該PCIE系統使用在交換器端的復用器。 在802,CPU固件檢查分別將PHB 106和108連接到其相應交換器142和144的線纜134和 136中的故障。在804,如果CPU固件檢測到線纜(例如,線纜136)中的故障,則過程800 繼續到806,在此CPU固件將兩個總線130和132從x8下調至x4總線。在808,固件指示 CPU端的PHB 108在通路組114與116之間調換,以使用活躍總線130的通路4_7來路由通路組114。在810,固件使用交換器端的MUX控制設備20 來指示MUX 202d在總線130的通路4-7與PCIe交換器144的通路3-0之間建立連接。在812,如果線纜136未恢復至全連接,則過程400繼續在故障保護模式中操作,並且繼續檢查線纜136恢復連接。在412,如果CPU固件檢測到線纜136恢復連接,則PCIE系統恢復至圖6中的基本操作而總線恢復至 x8總線。
圖9是圖示了根據本公開內容一個實施例的用於提供線纜故障保護機制的示例操作900的流程圖。如圖所示,操作900始於902,其中使用第一 PCIe橋的第一組通路通過第一線纜在第一 PCIe橋與第一 IO設備之間交換第一組總線位。在904,在第一線纜中檢測故障。在906,響應於檢測到第一線纜中的故障,使用第一 PCIE橋的第二組通路通過第二線纜在第一 PCIe橋與第一 IO設備之間交換第一組總線位。
下面,將參考本發明的實施例。然而,應當理解本發明並不限於具體描述的實施例。代之以設想無論是否與不同實施例有關的以下特徵和要素的任何組合。例如,本領域技術人員將理解本發明可以同樣應用於未利用線纜的或者未涉及到多個物理外殼的PCIE 鏈路。本發明同樣服務於例如如下PCIE鏈路這樣的其他實施例以提供針對失去PCIE鏈路的故障保護,這些PCIE鏈路利用在計算機電路板中或者例如經過中間平面連接器在計算機電路板之間並且在相同或者相鄰物理外殼內嵌入的接線。也可以理解上文討論的故障保護機制可以適用於如下PCIE配置,其中IO設備或者適配器直接連接到PHB而不是經由交換器來連接。類似故障保護過程也可以用來使用MUX控制設備來管理在交換器與連接到交換器的IO設備之間的故障連接。
另外,雖然本發明的實施例可以實現較其他可能解決方案和/或較現有技術而言的優點,一個給定的實施例是否實現特定優點並不限制本發明。因此,以下方面、特徵、實施例和優點僅為示例並且除非在權利要求中明確記載則並不視為所附權利要求的要素或者限制。類似地,提及「本發明」不應理解為這裡公開的任何發明主題內容的概括並且除非在權利要求中明確記載則並不視為所附權利要求的要素或者限制。
如本領域技術人員將理解的那樣,本發明的方面可以具體化為系統、方法或者電腦程式產品。因而,本發明的方面可以採用這樣全硬體實施例、全軟體實施例(包括固件、常駐軟體、微代碼等)或者將這裡可以都通稱為「電路」、「模塊」或者「系統」的軟體與硬體方面組合的實施例這樣的形式。另外,本發明的方面可以採用在一個或者多個如下計算機可讀介質中具體化的電腦程式產品這樣的形式,該計算機可讀介質具有具體化於其上的計算機可讀程序代碼。
可以利用一個或者多個計算機可讀介質的任何組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質可以例如是但不限於電子、磁、光學、電磁、紅外線或者半導體系統、裝置或者設備或者前述介質的任何適當組合。 計算機可讀存儲介質的更多具體示例(非窮舉列表)可以包括具有一個或者多個接線的電連接、便攜計算機盤、硬碟、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPR0M或者快閃記憶體)、光纖、便攜緊緻盤只讀存儲器(CD-ROM)、光學存儲設備、磁存儲設備或者前述介質的任何適當組合。在本文獻的背景中,計算機可讀存儲介質可以是任何如下有形介質,該有形介質可以包含或者存儲用於由指令執行系統、裝置或者設備使用或者與指令執行系統、裝置或者設備結合使用的程序。
計算機可讀信號介質可以包括例如在基帶中或者作為載波一部分的有計算機可讀程序代碼具體化於其上的傳播數據信號。這樣的傳播信號可以採用多種形式中的任何形式(包括但不限於電磁、光學或者其任何適當組合)。計算機可讀信號介質可以是任何如下計算機可讀介質,該計算機可讀介質並非計算機可讀存儲介質並且可以傳達、傳播或者傳送用於由指令執行系統、裝置或者設備使用或者與指令執行系統、裝置或者設備結合使用的程序。
可以使用任何適當介質(包括但不限於無線、有線、光纖線纜、RF等或者前述介質的任何適當組合)來發送在計算機可讀介質上具體化的程序代碼。
可以用一種或者多種程式語言(包括諸如Nava、Smalltalk, C++等面向對象的程式語言和例如「C」程式語言或者類似程式語言這樣的常規過程程式語言)的任何組合來編寫用於實現用於本發明方面的操作的電腦程式代碼。程序代碼可以完全在用戶的計算機上、部分在用戶的計算機上、作為獨立軟體包、部分在用戶的計算機上而部分在遠程計算機上或者完全在遠程計算機或者伺服器上執行。在後一種場景中,遠程計算機可以通過任何類型的網絡(包括區域網(LAN)或者廣域網(WAN))連接到用戶的計算機,或者可以產生與外部計算機的連接(例如通過使用網際網路服務提供商的網際網路)。
下文參照根據本發明實施例的方法、裝置(系統)和電腦程式產品的流程示和/或框圖描述本發明的方面。將理解流程示和/或框圖的每塊以及在流程示和/或框圖中的塊的組合可以由電腦程式指令實施。可以向通用計算機、專用計算機或者其他可編程數據處理裝置的處理器提供這些電腦程式指令以產生機器,從而經由計算機或者其他可編程數據處理裝置的處理器執行的指令產生用於實施在流程圖和/或框圖的一個或者多個塊中指定的功能/動作的裝置。
這些電腦程式指令也可以存儲於如下計算機可讀介質中,該計算機可讀介質可以指示計算機、其他可編程數據處理裝置或者其他設備以特定方式工作,從而存儲於計算機可讀介質中的指令產生包括如下指令的製造產品,這些指令實施在流程圖和/或框圖的一個或者多個塊中指定的功能/動作。
電腦程式指令也可以加載到計算機、其他可編程數據處理裝置或者其他設備上以使系列操作步驟在計算機、其他可編程裝置或者其他設備上執行以產生計算機實施的過程,從而在計算機或者其他可編程裝置上執行的指令提供用於實施在流程圖和/或框圖的一個或者多個塊中指定的功能/動作的過程。
圖中的流程圖和框示了根據本發明各種實施例的系統、方法和電腦程式產品的可能實施方式的架構、功能和操作。就這一點而言,在流程圖或者框圖中的每塊可以代表如下代碼模塊、段或者部分,該代碼模塊、段或者部分包括用於實施一個或者多個指定邏輯功能的一個或者多個可執行指令。也應當注意,在一些替代實施方式中,在塊中指出的功能可以不按照圖中指出的順序出現。例如事實上根據涉及到的功能可以基本上並行執行接連示出的兩個塊或者有時可以逆序執行這些塊。也將注意,框圖和/或流程示的每塊以及在框圖和/或流程示中的塊的組合可以由執行指定功能或者動作的基於專用硬體的系統實施或者由專用硬體與計算機指令的組合實施。
儘管前文涉及本發明的實施例,但是可以設想本發明的其他和更多實施例而不脫離其基本範圍,並且其範圍由所附權利要求確定。
權利要求
1.一種用於為第一 PCIE橋與第一輸入/輸出(IO)設備之間的連接提供故障保護操作的方法,所述方法包括使用所述第一 PCIE橋的第一組通路,通過第一鏈路在所述第一 PCIE橋與所述第一 IO 設備之間交換第一組總線位;響應於檢測到所述第一鏈路中的故障,在PCIE橋端,從使用所述第一組通路調換為使用所述第一 PCIE橋的第二組通路,以使用所述第二組通路通過第二鏈路在所述第一 PCIE 橋與所述第一 IO設備之間交換第二組總線位,所述第二鏈路連接第二 PCIE橋與第二 IO設備;響應於檢測到所述第一鏈路中的所述故障,在IO設備端,從使用所述第一組通路切換為使用所述第二組通路,以使用所述第二組通路通過所述第二鏈路在所述第一 PCIE橋與所述第一 IO設備之間交換所述第二組總線位。
2.根據權利要求1所述的方法,還包括響應於檢測到所述第一鏈路中的所述故障,將所述第一 PCIE橋配置為停止使用所述第二組通路。
3.根據權利要求1所述的方法,還包括響應於檢測到所述第一鏈路中的所述故障,將使用所述第一鏈路以使用所述第二 PCIE 橋的第三組通路來與所述第二 IO設備交換第三組總線位的所述第二 PCIE橋配置為停止使用所述第三組通路。
4.根據權利要求1所述的方法,其中所述第一PCIE橋和第二 PCIE橋的每一個包括 PCIE 主橋(PHB)。
5.根據權利要求1所述的方法,其中所述第一IO設備和第二 IO設備的每一個包括 PCIE交換器。
6.根據權利要求1所述的方法,其中所述第一PCIE橋和第二 PCIE橋被容納於PCIE根複合體中。
7.一種用於為第一 PCIE橋與第一輸入/輸出(IO)設備之間的連接提供故障保護操作的裝置,所述裝置包括第一鏈路,連接第一 PCIE橋與第一 IO設備,所述第一鏈路被用於使用所述第一 PCIE 橋的第一組通路通過所述第一鏈路在所述第一 PCIE橋與所述第一 IO設備之間交換第一組總線位,至少一個第二鏈路,連接第二 PCIE橋與第二 IO設備;其中響應於檢測到所述第一鏈路中的故障,所述第一 PCIE橋在PCIE橋端從使用所述第一組通路調換為使用所述第一 PCIE橋的第二組通路,以使用所述第二組通路通過所述第二鏈路在所述第一 PCIE橋與所述第一 IO設備之間交換第二組總線位;以及IO端的至少一個交換器,用於從使用所述第一組通路切換為使用所述第二組通路,以使用所述第二組通路通過所述第二鏈路在所述第一 PCIE橋與所述第一 IO設備之間交換所述第二組總線位。
8.根據權利要求7所述的裝置,其中響應於檢測到所述第一鏈路中的所述故障,所述第一 PCIE橋被配置為停止使用所述第二組通路。
9.根據權利要求7所述的裝置,其中響應於檢測到所述第一鏈路中的所述故障,使用所述第一鏈路以使用所述第二 PCIE 橋的第三組通路來與所述第二 IO設備交換第三組總線位的所述第二 PCIE橋被配置為停止使用所述第三組通路。
10.根據權利要求7所述的裝置,其中所述第一PCIE橋和所述交換器由中央處理單元 (CPU)固件控制。
11.根據權利要求7所述的裝置,還包括連接到所述第二 IO設備的控制設備,用於控制所述交換器,所述控制設備由所述CPU 固件控制。
12.根據權利要求7所述的裝置,其中所述第一PCIE橋和第二 PCIE橋的每一個包括 PCIE 主橋(PHB)。
13.根據權利要求7所述的裝置,其中所述第一IO設備和第二 IO設備的每一個包括 PCIE交換器。
14.根據權利要求7所述的裝置,其中所述第一PCIE橋和第二 PCIE橋被容納於PCIE 根複合體中。
全文摘要
本發明涉及用於為多通路PCI特快IO互連提供線纜冗餘性和故障保護的方法和裝置。特別地,提供用於為第一PCIE橋與第一輸入/輸出(IO)設備之間的連接提供故障保護操作的方法和裝置。使用第一PCIE橋的第一組通路通過第一鏈路在第一PCIE橋與第一IO設備之間交換第一組總線位。響應於檢測到第一鏈路中的故障,在PCIE橋端調換第一組通路與第一PCIE橋的第二組通路,以使用第二組通路通過第二鏈路在第一PCIE橋與第一IO設備之間交換第二組總線位,第二鏈路連接第二PCIE橋與第二IO設備。響應於檢測到第一鏈路中的故障,利用第二組通路來切換第一組通路,以使用第二組通路通過第二鏈路在第一PCIE橋與第一IO設備之間交換第二組總線位。
文檔編號G06F13/40GK102541790SQ201110353120
公開日2012年7月4日 申請日期2011年11月7日 優先權日2010年12月3日
發明者G·M·諾德斯託姆, J·R·赫林, P·A·巴克蘭德, W·A·湯普森 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀