JP2012118974A - Method, apparatus, and computer program for failover operation - Google Patents

Method, apparatus, and computer program for failover operation Download PDF

Info

Publication number
JP2012118974A
JP2012118974A JP2011245896A JP2011245896A JP2012118974A JP 2012118974 A JP2012118974 A JP 2012118974A JP 2011245896 A JP2011245896 A JP 2011245896A JP 2011245896 A JP2011245896 A JP 2011245896A JP 2012118974 A JP2012118974 A JP 2012118974A
Authority
JP
Japan
Prior art keywords
pcie
link
lane
bridge
lane set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011245896A
Other languages
Japanese (ja)
Other versions
JP5739308B2 (en
Inventor
M Nordstorm Gregory
グレゴリー・エム・ノードストーム
Robert Herring J
ジェイ・ロバート・ヘリング
Allen Batsukurando Patrick
パトリック・アレン・バックランド
Alan Thompson William
ウィリアム・アラン・トンプソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012118974A publication Critical patent/JP2012118974A/en
Application granted granted Critical
Publication of JP5739308B2 publication Critical patent/JP5739308B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2005Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Abstract

PROBLEM TO BE SOLVED: To provide a failover operation for a connection between a PCIE bridge and an input/output (IO) device.SOLUTION: A first set of bussed bits is exchanged between a first PCIE bridge and a first IO device over a first link using a first set of lanes of the first PCIE bridge. In response to detecting a failure in the first link, the first set of lanes is swapped with a second set of lanes of the first PCIE bridge over a second link using the second set of lanes. The second link connects a second PCIE bridge with a second IO device. In response to detecting the failure in the first link, at an IO device end, the first set of lanes is switched with the second set of lanes for exchanging the second set of bussed bits between the first PCIE bridge and the first IO device over the second link using the second set of lanes.

Description

本発明の実施形態は、一般にPCIE(Peripheral Component Interconnect Express)バスに関し、更に具体的には、マルチレーンPCIE IO相互接続にケーブル冗長性およびフェイルオーバーを与えるための方法および装置に関する。   Embodiments of the present invention generally relate to a Peripheral Component Interconnect Express (PCIE) bus, and more specifically to a method and apparatus for providing cable redundancy and failover to a multi-lane PCIE IO interconnect.

PCI(PeripheralComponent Interconnect)規格は、1990年代初期に初めて導入された。フロントサイド・バスおよびプロセッサに接続されたPCIブリッジ・チップを用いることによって、PCIは、PCIバスに接続されたあらゆる周辺デバイスに、コンピュータ・システム内のシステム・メモリに対する直接アクセスを提供する。PCIブリッジ・チップは、プロセッサの速度とは無関係にPCIバスの速度を調節して、高い信頼性を達成可能であるようになっている。   The PCI (Peripheral Component Interconnect) standard was first introduced in the early 1990s. By using a PCI bridge chip connected to the frontside bus and processor, PCI provides direct access to system memory in the computer system to any peripheral device connected to the PCI bus. The PCI bridge chip can adjust the speed of the PCI bus independently of the speed of the processor to achieve high reliability.

PCIエクスプレス(PCIE)規格はPCI規格の後続であり、その関連物は引用により本願にも含まれるものとする。PCIエクスプレスは、PCIよりも少数の物理ピンで高い伝送レートを達成することができる。前世代のPCIバスとは異なり、PCIエクスプレスはポイント・ツー・ポイント・バス・アーキテクチャを用いる。従って、PCIEバス・システムを用いる2つのデバイス間のデータ・トランザクションのために、専用バスが用いられる。専用バスは、通信を行っているデバイス間のポイント・ツー・ポイント接続を確立するスイッチによって容易になる。このため、スイッチは中間デバイスとして用いられ、コンピュータ・システムにアタッチされた2つのデバイス間に物理的および論理的に位置している。   The PCI Express (PCIE) standard is a successor to the PCI standard, and its related content is incorporated herein by reference. PCI Express can achieve higher transmission rates with fewer physical pins than PCI. Unlike previous generation PCI buses, PCI Express uses a point-to-point bus architecture. Thus, a dedicated bus is used for data transactions between two devices using the PCIE bus system. Dedicated buses are facilitated by switches that establish point-to-point connections between communicating devices. For this reason, the switch is used as an intermediate device and is physically and logically located between two devices attached to the computer system.

PCIEスイッチは、コンピュータ・システムに対するデバイスのアタッチを容易にするために複数のポートを含む。デバイスとスイッチのポートとの間の物理的接続は一般にリンクと称される。各リンクは1つ以上のレーンを含み、各レーンは双方向でデータを伝送することができる。従って各レーンは全二重接続である。   The PCIE switch includes multiple ports to facilitate device attachment to a computer system. The physical connection between a device and a switch port is commonly referred to as a link. Each link includes one or more lanes, and each lane can transmit data in both directions. Each lane is therefore a full-duplex connection.

単一レーンを含むリンクをx1リンクと呼ぶ。同様に、2つのレーンまたは4つのレーンを含むリンクを、それぞれx2リンクまたはx4リンクと呼ぶ。PCIエクスプレスは、x1、x2、x4、x8、x12、x16、およびx32等の異なる幅のインタフェースをあらかじめ考慮しておくことで、様々な周辺デバイスの異なる帯域幅要件を満足させる。このため、専用バスは、1レーン、2レーン、4レーン、8レーン、12レーン、16レーン、または32レーンの幅とすることができる。   A link including a single lane is called an x1 link. Similarly, a link including two lanes or four lanes is referred to as an x2 link or an x4 link, respectively. PCI Express satisfies different bandwidth requirements of various peripheral devices by pre-considering different width interfaces such as x1, x2, x4, x8, x12, x16, and x32. Thus, the dedicated bus can be 1 lane, 2 lanes, 4 lanes, 8 lanes, 12 lanes, 16 lanes, or 32 lanes wide.

多くの場合、最近のサーバ・クラスのコンピュータは、主なIOアダプタ技術としてPCI IOアダプタを用いる。CPUエンクロージャは、特定のサーバのIOオプションをカスタマイズするために限られた数のPCIEアダプタ・スロットを含むことが多い。しかしながら、CPUシャーシ・パッケージングは通例これを極めて少数のかかるスロットに限定し、一方で、シャーシ当たりのコンピュータ電力はマルチコア・プロセッサ・チップによって著しく大きくなっている。一般に、サーバは、1つ以上の追加の「IO拡張」シャーシにおいてPCIアダプタ・スロットにCPUを接続するための機構を提供する。例えば、PCIEシステムでは、PCIホスト・ブリッジ(PHB)とも称されるPCIルート・ポート(PRP)は、CPU電子機器回路のコンポーネントであり、PCIバスを生成して、これが直接に単一のPCIE IOアダプタ・スロットまたはIO拡張シャーシにおけるPCIEスイッチのいずれかに接続する。IO拡張シャーシは、そのスイッチの下の多数のPCIEアダプタ・スロットにPHBバスを拡張させる。IO拡張では、拡張シャーシに1つ以上のPCIEアダプタ・スロットを配置し、それらのスロットをCPUシャーシ内のPHBに接続する必要がある。   In many cases, modern server class computers use PCI IO adapters as the primary IO adapter technology. CPU enclosures often include a limited number of PCIE adapter slots to customize the IO options for a particular server. However, CPU chassis packaging typically limits this to a very small number of such slots, while computer power per chassis is significantly increased by multi-core processor chips. In general, the server provides a mechanism for connecting a CPU to a PCI adapter slot in one or more additional “IO expansion” chassis. For example, in a PCIE system, a PCI root port (PRP), also referred to as a PCI host bridge (PHB), is a component of the CPU electronics circuit that generates the PCI bus, which directly creates a single PCI I / O. Connect to either adapter slot or PCIE switch in IO expansion chassis. The IO expansion chassis expands the PHB bus to multiple PCIE adapter slots below the switch. IO expansion requires placing one or more PCIE adapter slots in the expansion chassis and connecting those slots to PHBs in the CPU chassis.

典型的に、これらのIO拡張シャーシは物理的に異なる電子機器回路シャーシまたはエンクロージャであるので、CPUシャーシ内のPHBとIO拡張シャーシ内のPCIEアダプタ・スロットとの間の電子的接続には、これらのエンクロージャ間の物理的ケーブル接続が必要である。これらのケーブルは、PHBとPCIEアダプタ・スロットとの間で数インチを超える相互接続距離を必要とし、CPUおよびIO拡張エンクロージャを含む異なる物理ラック間に延出する場合さえある。   Typically, these IO expansion chassis are physically different electronics circuit chassis or enclosures, so the electronic connection between the PHB in the CPU chassis and the PCIE adapter slot in the IO expansion chassis is Physical cabling between multiple enclosures is required. These cables require an interconnect distance of more than a few inches between the PHB and the PCIE adapter slot and may even extend between different physical racks including CPU and IO expansion enclosures.

本開示のいくつかの態様は、第1のPCIEブリッジと第1の入出力(IO)デバイスとの間の接続についてフェイルオーバー動作を提供するための方法を提供する。この方法は、概して、第1のPCIEブリッジと第1のIOデバイスとの間で、第1のPCIEブリッジの第1のレーン・セットを用いて第1のリンクを介して第1のバス伝送ビット・セットを交換することと、第1のリンクにおける故障の検出に応答して、第1のPCIEブリッジと第1のIOデバイスとの間で、第1のPCIEブリッジの第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、PCIEブリッジ・エンドにおいて、第1のレーン・セットの使用から第2のレーン・セットの使用にスワップすることであって、第2のリンクが第2のPCIEブリッジを第2のIOデバイスに接続する、ことと、第1のリンクにおける故障の検出に応答して、第1のPCIEブリッジと第1のIOデバイスとの間で、第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、IOデバイス・エンドにおいて、第1のレーン・セットの使用から第2のレーン・セットの使用にスイッチすることと、を含む。   Some aspects of the present disclosure provide a method for providing a failover operation for a connection between a first PCIE bridge and a first input / output (IO) device. The method generally includes a first bus transmission bit between a first PCIE bridge and a first IO device over a first link using a first lane set of the first PCIE bridge. In response to detecting a failure in the first link and exchanging the set, the second lane set of the first PCIE bridge is set between the first PCIE bridge and the first IO device. Swapping from use of the first lane set to use of the second lane set at the PCIE bridge end to use to exchange a second bus transmission bit set over the second link The second link connects the second PCIE bridge to the second IO device, and in response to detecting a failure in the first link, the first PCIE bridge and the first In order to exchange the second bus transmission bit set with the IO device via the second link using the second lane set, at the IO device end, the first lane set Switching from use to use of the second lane set.

本発明のいくつかの態様は、第1のPCIEブリッジと第1の入出力(IO)デバイスとの間の接続についてフェイルオーバー動作を提供するための装置を提供する。この装置は、第1のPCIEブリッジを第1のIOデバイスに接続する第1のリンクであって、第1のPCIEブリッジと第1のIOデバイスとの間で、第1のPCIEブリッジの第1のレーン・セットを用いて第1のリンクを介して第1のバス伝送ビット・セットを交換するために用いられる、第1のリンクと、第2のPCIEブリッジを第2のIOデバイスに接続する少なくとも1つの第2のリンクと、を含み、第1のリンクにおける故障の検出に応答して、第1のPCIEブリッジと第1のIOデバイスとの間で、第1のPCIEブリッジの第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、PCIEブリッジ・エンドにおいて、第1のPCIEブリッジが第1のレーン・セットの使用から第2のレーン・セットの使用にスワップし、更に、第1のPCIEブリッジと第1のIOデバイスとの間で、第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、IOデバイス・エンドにおいて、第1のレーン・セットの使用から第2のレーン・セットの使用にスイッチするための少なくとも1つのスイッチを含む。   Some aspects of the present invention provide an apparatus for providing a failover operation for a connection between a first PCIE bridge and a first input / output (IO) device. The apparatus is a first link that connects a first PCIE bridge to a first IO device, the first PCIE bridge first between the first PCIE bridge and the first IO device. Connecting the first link and the second PCIE bridge to the second IO device, used to exchange the first bus transmission bit set over the first link using a set of lanes At least one second link, and in response to detecting a failure in the first link, between the first PCIE bridge and the first IO device, the second of the first PCIE bridge In order to exchange the second bus transmission bit set over the second link using the lane set, at the PCIE bridge end, the first PCIE bridge is connected to the first lane set. To the use of the second lane set, and between the first PCIE bridge and the first IO device via the second link using the second lane set. At least one switch for switching from the use of the first lane set to the use of the second lane set at the IO device end to exchange the bus transmission bit set.

本発明のいくつかの態様は、第1のPCIEブリッジと第1の入出力(IO)デバイスとの間の接続についてフェイルオーバー動作を提供するためのコンピュータ・プログラムを提供する。このコンピュータ・プログラムは、概して、コードを含むコンピュータ読み取り可能媒体を含む。このコードは、概ね、第1のPCIEブリッジと第1のIOデバイスとの間で、第1のPCIEブリッジの第1のレーン・セットを用いて第1のリンクを介して第1のバス伝送ビット・セットを交換し、第1のリンクにおける故障の検出に応答して、第1のPCIEブリッジと第1のIOデバイスとの間で、第1のPCIEブリッジの第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、PCIEブリッジ・エンドにおいて、第1のレーン・セットの使用から第2のレーン・セットの使用にスワップし、第2のリンクが第2のPCIEブリッジを第2のIOデバイスに接続し、第1のリンクにおける故障の検出に応答して、第1のPCIEブリッジと第1のIOデバイスとの間で、第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、IOデバイス・エンドにおいて、第1のレーン・セットの使用から第2のレーン・セットの使用にスイッチする、ためのコードを含む。   Some aspects of the present invention provide a computer program for providing a failover operation for a connection between a first PCIE bridge and a first input / output (IO) device. The computer program generally includes a computer readable medium that includes code. This code generally includes a first bus transmission bit between the first PCIE bridge and the first IO device via the first link using the first lane set of the first PCIE bridge. Using the second lane set of the first PCIE bridge between the first PCIE bridge and the first IO device in response to detecting a failure in the first link To swap the second bus transmission bit set over the second link, at the PCIE bridge end, swap from the use of the first lane set to the use of the second lane set, and the second Link connects the second PCIE bridge to the second IO device, and in response to detecting a failure in the first link, between the first PCIE bridge and the first IO device, the second Les The use of the first lane set to the use of the second lane set at the IO device end to exchange a second bus transmission bit set over the second link using the second set. Includes code to switch to.

上述の態様を達成し、詳細に理解することができるように、添付図面を参照して、先に簡潔にまとめた本発明の実施形態の更に具体的な説明を行うことができる。   In order that the foregoing aspects may be achieved and understood in detail, a more particular description of the embodiments of the invention briefly summarized above may be had by reference to the accompanying drawings.

しかしながら、添付図面は本発明の典型的な実施形態を図示するに過ぎず、従ってその範囲の限定と見なすべきではない。本発明は他の等しく有効な実施形態を認めることができるからである。   However, the attached drawings only illustrate exemplary embodiments of the present invention and therefore should not be considered as limiting its scope. This is because the present invention can recognize other equally effective embodiments.

本開示の一実施形態に従った、PCIエクスプレス(PCIe)構造トポロジを組み込んだ例示的なコンピュータ・システムを示す図である。FIG. 3 illustrates an exemplary computer system incorporating a PCI Express (PCIe) structure topology, in accordance with an embodiment of the present disclosure. 本開示の一実施形態に従った、CPUエンドおよびスイッチ・エンドの双方でマルチプレクサまたはクロスポイント・スイッチを用いてケーブル・フェイルオーバー機構を提供するためのPCIEシステムの例示的なベース動作を示す図である。FIG. 6 illustrates an exemplary base operation of a PCIE system for providing a cable failover mechanism using a multiplexer or crosspoint switch at both the CPU end and the switch end, in accordance with an embodiment of the present disclosure. is there. 本開示の一実施形態に従った、図2のPCIEシステムにおいてケーブル故障中に用いられるフェイルオーバー機構の一例を示す図である。FIG. 3 illustrates an example of a failover mechanism used during cable failure in the PCIE system of FIG. 2 according to one embodiment of the present disclosure. 本開示の一実施形態に従った、CPUエンドおよびスイッチ・エンドの双方でマルチプレクサを用いて図2および図3のPCIEシステムを用いてケーブル・フェイルオーバー機構を提供するための例示的なプロセスを示すフロー図である。FIG. 6 illustrates an exemplary process for providing a cable failover mechanism using the PCIE system of FIGS. 2 and 3 using multiplexers at both the CPU end and the switch end, in accordance with an embodiment of the present disclosure. FIG. 本開示の一実施形態に従った、ケーブル・フェイルオーバー機構を提供するための例示的な動作を示すフロー図である。FIG. 6 is a flow diagram illustrating an exemplary operation for providing a cable failover mechanism, in accordance with an embodiment of the present disclosure. 本開示の一実施形態に従った、スイッチ・エンドにおけるマルチプレクサを用いてフェイルオーバー機構を提供するためのPCIeシステムのベース動作を示す例示的な図である。FIG. 4 is an exemplary diagram illustrating the base operation of a PCIe system for providing a failover mechanism using a multiplexer at the switch end, in accordance with an embodiment of the present disclosure. 本開示の一実施形態に従った、図6のPCIeシステムにおけるケーブル故障中のフェイルオーバー機構を示す例示的な図である。FIG. 7 is an exemplary diagram illustrating a failover mechanism during a cable failure in the PCIe system of FIG. 6, in accordance with an embodiment of the present disclosure. 本開示の一実施形態に従った、スイッチ・エンドにおいてマルチプレクサを用いて図6および図7のPCIEシステムを用いてケーブル・フェイルオーバー機構を提供するための例示的なプロセスを示すフロー図である。FIG. 8 is a flow diagram illustrating an exemplary process for providing a cable failover mechanism using the PCIE system of FIGS. 6 and 7 using a multiplexer at the switch end, in accordance with an embodiment of the present disclosure. 本開示の一実施形態に従った、ケーブル・フェイルオーバー機構を提供するための例示的な動作を示すフロー図である。FIG. 6 is a flow diagram illustrating an exemplary operation for providing a cable failover mechanism, in accordance with an embodiment of the present disclosure.

図1は、本開示の一実施形態に従った、PCIエクスプレス(PCIe)構造トポロジを組み込んだコンピュータ・システム100を示す例示的な図である。コンピュータ・システムは、ルート・コンプレックス104に接続されたCPU102を含む。ルート・コンプレクス104は通例、CPU102の代わりにトランザクション要求を発生する。ルート・コンプレクスは、機能的にディスクリート・デバイスとして実施するか、またはプロセッサ(例えばCPU102)内に統合することができる。ルート・コンプレクス104は2つ以上のPCIエクスプレス・ポートを含むことができ、多数のPCIEスイッチ・デバイスをこれらのポートに接続するかまたは1つ以上のポートからカスケード接続することができる。   FIG. 1 is an exemplary diagram illustrating a computer system 100 incorporating a PCI Express (PCIe) structure topology in accordance with an embodiment of the present disclosure. The computer system includes a CPU 102 connected to the root complex 104. The root complex 104 typically generates transaction requests on behalf of the CPU 102. The root complex can be functionally implemented as a discrete device or integrated into a processor (eg, CPU 102). The root complex 104 can include two or more PCI express ports, and multiple PCIE switch devices can be connected to these ports or cascaded from one or more ports.

ルート・コンプレクス104は、例えばPHB106および108のような多数のPCIEホスト・ブリッジ(PHB)を含むことができる。いくつかの態様によれば、PHB106、108は、ディスクリート・デバイスとして実施するか、またはルート・コンプレクス104内に統合することができる。各PHB106、108は、入出力(I/O)バス130、132を介して対応するPCIeスイッチ142、144に接続することができる。例えば、PHB106はバス130を介してPCIEスイッチ142に接続し、PHB108はバス132を介してPCIeスイッチ144に接続する。スイッチ142、144の各々は、更にリンク152を介してPCIeエンドポイント(EP)150に接続することができる。スイッチ142、144は通例、それぞれのI/Oバス130、132にファンアウトを提供する。そうすることによって、PHB対PCIEアダプタの比を高くし、CPUシャーシにおいて必要なPHBの数を最小限に抑えることができる。   The root complex 104 can include a number of PCIE host bridges (PHBs), such as PHBs 106 and 108, for example. According to some aspects, the PHBs 106, 108 can be implemented as discrete devices or integrated within the root complex 104. Each PHB 106, 108 can be connected to a corresponding PCIe switch 142, 144 via an input / output (I / O) bus 130, 132. For example, the PHB 106 is connected to the PCIe switch 142 via the bus 130, and the PHB 108 is connected to the PCIe switch 144 via the bus 132. Each of the switches 142, 144 can be further connected to a PCIe endpoint (EP) 150 via a link 152. Switches 142 and 144 typically provide fanout to their respective I / O buses 130 and 132. By doing so, the ratio of PHB to PCIE adapter can be increased and the number of PHBs required in the CPU chassis can be minimized.

いくつかの態様によれば、スイッチ142、144は1つ以上のポートを有し、これにリンク152を介してコネクタがアタッチされ、各コネクタは更にエンドポイント150にアタッチされている。エンドポイントは通例、リンク152を用いて、コンピュータ・システム上の他のいずれかのデバイス(別のエンドポイントを含む)との間でデータを処理する。スイッチ142、144の各々は、上流のルート・ポートと、コンピュータ・システム内でこれらのスイッチに接続されたエンドポイント・デバイス150との間で、多数のポイント・ツー・ポイント接続を確立する。   According to some aspects, the switches 142, 144 have one or more ports to which connectors are attached via links 152, and each connector is further attached to the endpoint 150. Endpoints typically use link 152 to process data with any other device on the computer system (including another endpoint). Each of the switches 142, 144 establish a number of point-to-point connections between the upstream root port and the endpoint device 150 connected to these switches in the computer system.

リンクとは、コンピュータ・システム100内の2つのコンポーネント間の全二重通信路である。論理的には、ポートとは、コンポーネントとPCIエクスプレス・リンクとの間のインタフェースである。物理的には、ポートとは、リンクを規定する同一チップ上に位置する送信器および受信器のグループである。1つのリンクは少なくとも1つのレーンをサポートしなければならない。各レーンは差動信号対セット(1つの伝送対および1つの受信対)を表す。帯域幅のスケーリングのために、リンクはxNで示される多数のレーンを集約することができる。ここでNはサポートされるリンク幅のいずれか1つである。例えば、x1は1つの物理レーンを有するリンクを示し、x8は8つの物理レーンを有するリンクを示す。PCIエクスプレスは、PCIエクスプレスに準拠した周辺デバイスの異なる帯域幅要件に対応するために、単一レーン、4レーン、8レーン、16レーン、および32レーン等の多数の物理レーンを提供する。いくつかの態様においては、IOバス130、132の各々も多数のレーンを有することができ、このレーン数は典型的にエンドポイント150に接続するリンクのレーン数に相当する。例えば、バス130および132の各々はx8バスである。いくつかの態様によれば、PCIEリンクは、ケーブル、埋め込みボード配線、ボード・ツー・ボード接続、および、PCIEブリッジとPCIEスイッチまたはデバイスとの間の通信を可能とする他のいずれかの接続を含む。   A link is a full-duplex communication path between two components in computer system 100. Logically, a port is an interface between a component and a PCI Express link. Physically, a port is a group of transmitters and receivers located on the same chip that defines a link. One link must support at least one lane. Each lane represents a differential signal pair set (one transmission pair and one reception pair). For bandwidth scaling, the link can aggregate multiple lanes denoted xN. Here N is one of the supported link widths. For example, x1 indicates a link having one physical lane, and x8 indicates a link having eight physical lanes. PCI Express provides multiple physical lanes such as single lane, 4 lanes, 8 lanes, 16 lanes, and 32 lanes to accommodate different bandwidth requirements of peripheral devices compliant with PCI Express. In some aspects, each of the IO buses 130, 132 can also have multiple lanes, and this number of lanes typically corresponds to the number of lanes of links that connect to the endpoint 150. For example, each of buses 130 and 132 is an x8 bus. According to some aspects, the PCIE link is a cable, embedded board wiring, board-to-board connection, and any other connection that allows communication between the PCIE bridge and the PCIE switch or device. Including.

いくつかの態様によれば、リンク/バスのレーンを多数のレーン・セットへと物理的に分割することができる。例えば、PHB106およびPCIeスイッチ142を接続するI/Oバス130は、各々4レーンを有する2つのレーン・セット110および112に分割される。同様に、PHB108をPCIeスイッチ144に接続するI/Oバス132は、各々4レーンを有する2つのレーン・セット114および116に分割される。リンク/バスの各々を2つのレーン・セットに分割することは単に例示の目的のために過ぎず、バス/リンクは、各レーン・セットが最小1レーンを有するいかなる数のレーン・セットにも分割可能であることは認められよう。例えば、x16バス/リンクを、2つのx8バス、4つのx4バス、8つのx2バス、または16のx1バスに分割することができる。いくつかの実施形態によれば、このバスの物理的分割はソフトウェア制御を受けず、ハードウェア設計に基づいた永久的なものである。   According to some aspects, link / bus lanes may be physically divided into multiple lane sets. For example, the I / O bus 130 connecting the PHB 106 and the PCIe switch 142 is divided into two lane sets 110 and 112 each having 4 lanes. Similarly, the I / O bus 132 connecting the PHB 108 to the PCIe switch 144 is divided into two lane sets 114 and 116 each having 4 lanes. Dividing each of the links / buses into two lane sets is merely for illustrative purposes, and the bus / link is divided into any number of lane sets with each lane set having a minimum of one lane. It will be appreciated that this is possible. For example, a x16 bus / link can be divided into two x8 buses, four x4 buses, eight x2 buses, or sixteen x1 buses. According to some embodiments, this physical partitioning of the bus is not subject to software control and is permanent based on the hardware design.

起動時に、PCIエクスプレス・デバイスは通例、スイッチと交渉を行って、そのリンクを構成することができるレーンの最大数を決定する。このリンク幅交渉は、リンク自体の最大幅(すなわちリンクを構成する実際の物理信号対の数)、デバイスがアタッチされるコネクタの幅、およびデバイス自体の幅に依存する。   At startup, the PCI Express device typically negotiates with the switch to determine the maximum number of lanes that can configure the link. This link width negotiation depends on the maximum width of the link itself (ie, the actual number of physical signal pairs that make up the link), the width of the connector to which the device is attached, and the width of the device itself.

いくつかの態様においては、PCIeスイッチ142、144が物理的に異なる電子シャーシまたはエンクロージャであるために、PHBを各スイッチに接続するI/Oバスの各々は、物理ケーブル134、136等の別個のリンクを通っている。例えば、バス130はケーブル134を通り、バス132はケーブル136を通っている。各ケーブル134、136の端部に設けられたケーブル・コネクタ(CC)160は、レーン・セットとケーブルとの間の電気的接続を提供する。いくつかの態様によれば、CPUおよびPCIeスイッチを外部のケーブルに接続することから生じる1つの問題として、ケーブルまたはケーブル・コネクタの故障のためにそのケーブル上で通信を行っているIOスロットに対する接続が失われること、一方または他方のシャーシにおけるケーブル接続が偶発的に外れること、またはケーブルを修理するためにケーブルを外す必要があるサービス・アクションがある。   In some aspects, because the PCIe switches 142, 144 are physically different electronic chassis or enclosures, each of the I / O buses connecting the PHB to each switch is a separate cable such as a physical cable 134, 136, etc. Through the link. For example, the bus 130 passes through the cable 134 and the bus 132 passes through the cable 136. A cable connector (CC) 160 provided at the end of each cable 134, 136 provides an electrical connection between the lane set and the cable. According to some aspects, one problem that arises from connecting the CPU and PCIe switch to an external cable is that the connection to the IO slot that is communicating on the cable due to a cable or cable connector failure There is a service action where the cable connection in one or the other chassis is accidentally disconnected or the cable needs to be removed to repair the cable.

いくつかの態様によれば、別個の物理ケーブルを用いて各PHB106、108をそれぞれスイッチ142、144に接続することで冗長ケーブルを設け、一方または他方のケーブル134、136が故障した場合にフェイルオーバー機構を提供するのに役立つ。いくつかの態様においては、フェイルオーバー機構によって、第1のPHBおよび第1のPCIeスイッチを接続しているケーブルが故障した場合、第2のアクティブなケーブルを用いて第1のPHBと第1のPCIeスイッチとの間で少なくともデータの一部を交換することができる。第2のアクティブなケーブルとは、第2のPHBおよび第2のPCIeスイッチを接続しているものである。例えば、コンピュータ・システム100によってケーブル136が故障したことが検出されると、依然としてアクティブであり得るケーブル134内のレーンのいくつかを用いてPHB108とスイッチ144との間でデータを交換することができ、一方でPHB106およびスイッチ142はケーブル134内の他のレーン上でデータ交換を続ける。   According to some aspects, redundant cables are provided by connecting each PHB 106, 108 to switches 142, 144, respectively, using separate physical cables, and fail over if one or the other cable 134, 136 fails. Help provide a mechanism. In some aspects, if the cable connecting the first PHB and the first PCIe switch fails due to the failover mechanism, the first PHB and the first At least a part of the data can be exchanged with the PCIe switch. The second active cable is the one connecting the second PHB and the second PCIe switch. For example, if the computer system 100 detects that the cable 136 has failed, data can be exchanged between the PHB 108 and the switch 144 using some of the lanes in the cable 134 that may still be active. However, PHB 106 and switch 142 continue to exchange data on other lanes in cable 134.

PCIeアーキテクチャでは、レーンのダウンシフトおよびアップシフトが可能である。これによってCPUファームウェアは、PHBと対応するスイッチとの間でアクティブなレーン数を減らす(ダウンシフトする)ことができ、元のアクティブ・レーン数に復元する(アップシフトする)ことができる。いくつかの態様では、このPCIeシステムの機能を用いてケーブル故障中にフェイルオーバー機構を提供する。例えば、ケーブル136において故障が検出されると、双方のバス130および132は1つだけのレーン・セットを用いるようにダウンシフトされる。このため、各バスはx8バスからx4バスにダウンシフトされる。いったんレーンのダウンシフトが完了すると、バス130の未使用のレーン・セットを用いて、PHB108とスイッチ144との間で、バス132のアクティブなレーン・セット上のデータを交換する。いくつかの態様においては、バス130のみをx8からx4にダウンシフトし、バス130のイナクティブなレーン・セットを用いて、PHB108とスイッチ144との間でデータを交換する。   The PCIe architecture allows lane downshifting and upshifting. As a result, the CPU firmware can reduce (downshift) the number of active lanes between the PHB and the corresponding switch, and can restore (upshift) the original number of active lanes. In some aspects, this PCIe system feature is used to provide a failover mechanism during cable failure. For example, if a failure is detected in cable 136, both buses 130 and 132 are downshifted to use only one lane set. Thus, each bus is downshifted from the x8 bus to the x4 bus. Once the lane downshift is complete, the unused lane set on bus 130 is used to exchange data on the active lane set on bus 132 between PHB 108 and switch 144. In some aspects, only bus 130 is downshifted from x8 to x4 and the inactive lane set of bus 130 is used to exchange data between PHB 108 and switch 144.

図2は、本開示の一実施形態に従った、CPUエンドおよびスイッチ・エンドの双方でマルチプレクサを用いてケーブル・フェイルオーバー機構を提供するためのPCIEシステム200のベース動作を示す例示的な図である。   FIG. 2 is an exemplary diagram illustrating the base operation of the PCIE system 200 for providing a cable failover mechanism using multiplexers at both the CPU end and the switch end, in accordance with an embodiment of the present disclosure. is there.

図2に示すように、PCIeルート・コンプレクス104はPHB106および108を含む。PHB106はI/Oバス130を用いてPCIeスイッチ142とデータを交換し、PHB108はI/Oバス132を用いてPCIeスイッチ144とデータを交換する。バス130および132の各々はx8バスである。I/Oバス130は、各々4レーンを有する2つのレーン・セット110および112に分割されている。同様に、I/Oバス132は、各々4レーンを有する2つのレーン・セット114および116に分割されている。いくつかの態様においては、バス130について、レーン・セット110は高次レーン0〜3を表し、レーン・セット112は低次レーン4〜7を表す。バス132についても同様に、レーン・セット114は高次レーン0〜3を表し、レーン・セット116は低次レーン4〜7を表す。各ケーブル134、136の端部に設けられたケーブル・コネクタ160a〜160dは、レーン・セットとケーブルとの間の電気的接続を提供する。   As shown in FIG. 2, the PCIe root complex 104 includes PHBs 106 and 108. The PHB 106 exchanges data with the PCIe switch 142 using the I / O bus 130, and the PHB 108 exchanges data with the PCIe switch 144 using the I / O bus 132. Each of buses 130 and 132 is an x8 bus. The I / O bus 130 is divided into two lane sets 110 and 112 each having 4 lanes. Similarly, the I / O bus 132 is divided into two lane sets 114 and 116 each having 4 lanes. In some aspects, for bus 130, lane set 110 represents higher order lanes 0-3 and lane set 112 represents lower order lanes 4-7. Similarly for bus 132, lane set 114 represents higher order lanes 0-3 and lane set 116 represents lower order lanes 4-7. Cable connectors 160a-160d provided at the end of each cable 134, 136 provide an electrical connection between the lane set and the cable.

レーン・マルチプレクサ(MUX)(またはクロスポイント電気スイッチ)202a〜202dは、ケーブル134および136の双方の端部(CPUエンドおよびスイッチ・エンド)上で各バス130および132のレーン・セット間のレーン・スイッチングを可能とする。いくつかの態様においては、PCIeシステムのベース動作中、ケーブル134および136は双方ともアクティブである。以下は、ベース動作中のMUXの典型的なコンフィギュレーションである。   Lane multiplexers (MUXs) (or cross-point electrical switches) 202a-202d are connected between the lane sets of each bus 130 and 132 on both ends (CPU end and switch end) of cables 134 and 136. Enable switching. In some aspects, during the base operation of the PCIe system, cables 134 and 136 are both active. The following is a typical configuration of the MUX during base operation.

・CPUエンドにおいて、MUX202aはレーン・セット110をCC160aに、レーン・セット116をCC160cに接続する。
・CPUエンドにおいて、MUX202cはレーン・セット114をCC160cに、レーン・セット112をCC160aに接続する。
・スイッチ・エンドにおいて、MUX202bはレーン・セット110をPCIeスイッチ142に、レーン・セット116をPCIeスイッチ144に接続する。
・スイッチ・エンドにおいて、MUX202dはレーン・セット114をPCIeスイッチ144に、レーン・セット112をPCIeスイッチ142に接続する。
At the CPU end, MUX 202a connects lane set 110 to CC 160a and lane set 116 to CC 160c.
At the CPU end, MUX 202c connects lane set 114 to CC 160c and lane set 112 to CC 160a.
At the switch end, MUX 202b connects lane set 110 to PCIe switch 142 and lane set 116 to PCIe switch 144.
At the switch end, MUX 202d connects lane set 114 to PCIe switch 144 and lane set 112 to PCIe switch 142.

従って、ベース動作中、バス130のレーン・セット110および112はPHB106をスイッチ142に接続し、バス132のレーン・セット114および116はPHB108をスイッチ144に接続する。スイッチにおけるMUXは、PCIeスイッチを含むIOシャーシに統合することができる。いくつかの態様では、CPUエンドにおいて、全てのレーンを各PHBから双方のケーブルへとマルチプレクサを用いてルーティングすることができる。例えば、MUX202aはレーン・セット110をCC160aに接続するか、またはレーン・セットをスイッチングしてレーン・セット110をCC160cに接続することができる。同様に、スイッチ・エンドにおけるマルチプレクサは、各ケーブル内のレーンのサブセットをいずれかのスイッチに再ルーティングすることができる。むろん、図2に示したMUXの数およびコンフィギュレーションは例示の目的のためのものであり、本開示の様々な態様を実施するためにMUXのいかなる数またはいかなるコンフィギュレーションも使用可能であることは、当業者には認められよう。   Accordingly, during base operation, lane sets 110 and 112 of bus 130 connect PHB 106 to switch 142, and lane sets 114 and 116 of bus 132 connect PHB 108 to switch 144. The MUX in the switch can be integrated into an IO chassis that includes a PCIe switch. In some aspects, at the CPU end, all lanes can be routed from each PHB to both cables using a multiplexer. For example, the MUX 202a can connect the lane set 110 to the CC 160a or switch the lane set to connect the lane set 110 to the CC 160c. Similarly, a multiplexer at the switch end can reroute a subset of the lanes in each cable to any switch. Of course, the number and configuration of MUXs shown in FIG. 2 are for illustrative purposes, and any number or configuration of MUXs may be used to implement various aspects of the disclosure. Those skilled in the art will recognize.

いくつかの態様によると、CPUファームウェアがPHBならびにMUX202aおよび202cの動作を制御する。いくつかの態様では、MUX202bおよび202dは、スイッチ142および144のいずれか1つに接続された1つ以上のデバイス(またはEP)によって制御される。例えば、スイッチ142および144にそれぞれ接続されたMUX制御デバイス204aおよび204bは、MUX202bおよび202dを制御するようにプログラムすることができる。いくつかの態様では、MUX202bおよび202dを用いたスイッチ・エンドにおけるレーン・スイッチを実行するために、CPUファームウェアは、MUX制御デバイス204aおよび204bのコンフィギュレーションまたはこれらとの通信を行う。いくつかの態様では、MUX制御デバイス204aおよび204bの各々が、MUX202bおよび202dの双方を制御することができる。いくつかの実施形態では、MUX制御デバイスは、スイッチに接続されたPCIEデバイスでもあるIOシャーシ制御要素の特別なタイプである。   According to some aspects, the CPU firmware controls the operation of the PHB and MUXs 202a and 202c. In some aspects, MUXs 202b and 202d are controlled by one or more devices (or EPs) connected to any one of switches 142 and 144. For example, MUX control devices 204a and 204b connected to switches 142 and 144, respectively, can be programmed to control MUXs 202b and 202d. In some aspects, the CPU firmware configures or communicates with the MUX control devices 204a and 204b to perform a lane switch at the switch end using the MUXs 202b and 202d. In some aspects, each of the MUX control devices 204a and 204b can control both the MUXs 202b and 202d. In some embodiments, the MUX control device is a special type of IO chassis control element that is also a PCIE device connected to a switch.

図3は、本開示の一実施形態に従った、図2のPCIEシステムにおけるケーブル故障中のフェイルオーバー機構を示す例示的な図である。   FIG. 3 is an exemplary diagram illustrating a failover mechanism during a cable failure in the PCIE system of FIG. 2 according to one embodiment of the present disclosure.

図2に関して上述したように、ベース動作中、PHBとIOシャーシにおけるスイッチとの間でPCIEの全てのレーンは接続されている。従って、2つのx8PHB106、108の各々は、バス130、132の全ての8レーンをIOシャーシにおける各スイッチに接続する。一方のケーブルが失われると、CPUファームウェアは、PCIeの「レーン・ダウンシフト」を用いて、他のPHBとその各スイッチとの間でアクティブなレーン数をまず減らす。例えば、それをx8バスからx4バスに減らす。これによって、スイッチに対するケーブル接続性を失ったPHBおよびI/Oバスが用いるために4レーンが解放される。いくつかの態様では、解放されたレーンは典型的にx8PCIeバスのレーン4〜7である。いくつかの態様によれば、PHBまたはルート・ポートは、PCIEリンク接続(またはケーブル)の故障または喪失に関したリンク・ダウン・イベント等のリンク状態変更イベントをCPUファームウェアに信号で伝え、ケーブルまたはリンクの動作状態をチェックするようにCPUファームウェアを促すことができる。他の実施形態では、他の指示または機構を利用して、同様にケーブル故障についてチェックするようにCPUファームウェアを促すことも可能である。   As described above with respect to FIG. 2, during the base operation, all lanes of the PCIE are connected between the PHB and the switch in the IO chassis. Thus, each of the two x8 PHBs 106, 108 connects all eight lanes of the buses 130, 132 to each switch in the IO chassis. If one cable is lost, the CPU firmware first reduces the number of active lanes between the other PHBs and their respective switches using PCIe “lane downshift”. For example, reduce it from x8 bus to x4 bus. This frees up 4 lanes for use by PHB and I / O buses that have lost cable connectivity to the switch. In some aspects, the freed lanes are typically x8 PCIe bus lanes 4-7. According to some aspects, the PHB or root port signals a link state change event to the CPU firmware, such as a link down event related to a PCIE link connection (or cable) failure or loss, and the cable or link CPU firmware can be prompted to check the operating state of In other embodiments, other instructions or mechanisms may be utilized to prompt the CPU firmware to check for cable failures as well.

いくつかの態様において、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に接続し、一方で、PCIEダウンシフト・プロトコルとは別の中断していないケーブル上ではスイッチ・レーン0〜3に対するアクティブなPHBレーン0〜3の接続性を維持する。   In some aspects, the CPU firmware sets the lost PHB on the x4 bus. As already mentioned, all lanes can be routed from each PHB to both cables using "multiplexers" or crosspoint electrical switches. Thus, if one of the cables 134, 136 fails, a failover mechanism is initiated and the CPU firmware sets a multiplexer at the CPU end to connect the lane set (typically lanes 0-3) to the cable. From the lost PHB to an unused lane (typically lanes 4-7) of the other active PHB cable. Also as described above, the multiplexer at the switch end allows a subset of the lanes in each cable to be rerouted to any switch. Again, as part of the failover mechanism, the CPU firmware communicates to the MUX controller device on the PCIE switch via the active PHB cable, sets the multiplexer, and activates the active cable for the PHB. Are routed to lanes 0 to 3 of other switches. This uses PHB lanes 4-7 in the actively connected cable to connect PHB lanes 0-3, which have lost cable connection, to the originally connected switch lanes 0-3, Maintain active PHB lanes 0-3 connectivity to switch lanes 0-3 on uninterrupted cables separate from the PCIE downshift protocol.

例えば、図3は、ケーブル132が故障しケーブル130のみがアクティブである場合のケーブル・フェイルオーバー機構を示す。CPUはケーブル132の故障を検出し、これに応じてレーン・ダウンシフトを用いて、バス130および132のアクティブなレーン数をx8バスからx4バスに減らす。この例では、レーン・ダウンシフトによって、PHB106にレーン・セット110(レーン0〜3)のみを用いるように指示し、PHB108にレーン・セット114(レーン0〜3)のみを用いるように指示する。CPUファームウェアは、MUX202cに、レーン・セット114とアクティブなバス130のレーン4〜7との間で接続を確立するように指示する。CPUファームウェアは同時に、アクティブなケーブル134のI/Oバス130を用いてMUX制御デバイス204aと通信を行う。MUX制御デバイス204aは、MUX202dに、バス130のレーン4〜7とPCIeスイッチ144のレーン0〜3との間で接続を確立するように指示する。従って、このケーブル・フェイルオーバー機構は、アクティブに接続されたケーブル134におけるPHB106のレーン4〜7を用いて、ケーブル接続を失ったPHB108のレーン0〜3を元々接続されていたPCIeスイッチ144のレーン0〜3に接続する。   For example, FIG. 3 shows a cable failover mechanism when cable 132 fails and only cable 130 is active. The CPU detects a failure of the cable 132 and uses lane downshifts accordingly to reduce the number of active lanes on the buses 130 and 132 from the x8 bus to the x4 bus. In this example, the lane downshift instructs the PHB 106 to use only the lane set 110 (lanes 0 to 3), and instructs the PHB 108 to use only the lane set 114 (lanes 0 to 3). The CPU firmware instructs the MUX 202c to establish a connection between the lane set 114 and the lanes 4-7 of the active bus 130. At the same time, the CPU firmware communicates with the MUX control device 204a using the I / O bus 130 of the active cable 134. The MUX control device 204a instructs the MUX 202d to establish a connection between the lanes 4-7 of the bus 130 and the lanes 0-3 of the PCIe switch 144. Therefore, this cable failover mechanism uses the lanes 4 to 7 of the PHB 106 in the cable 134 that is actively connected, and the lanes of the PCIe switch 144 that originally connected the lanes 0 to 3 of the PHB 108 that lost the cable connection. Connect to 0-3.

いくつかの態様によれば、失われたケーブル接続性を復元するためのサービス・アクションを完了すると、CPUファームウェアは、復元したケーブル接続性について通知され(またはこれを電子ケーブル存在信号によって検出しても良い)、フェイルオーバー機構中に実行されたMUXのコンフィギュレーションを保存することができ、これによってレーン・マルチプレクサ設定を変更して、各PHBごとに、対応するケーブルを介してこれに接続されたスイッチの上流ポートに全てのレーンを再ルーティングする。   According to some aspects, upon completing a service action to restore lost cable connectivity, the CPU firmware is informed about the restored cable connectivity (or detected by an electronic cable presence signal). It is also possible to save the configuration of the MUX executed during the failover mechanism, thereby changing the lane multiplexer settings and connecting to each PHB via the corresponding cable Reroute all lanes to the upstream port of the switch.

図4は、本開示の一実施形態に従った、CPUエンドおよびスイッチ・エンドの双方でマルチプレクサを用いて図2および図3のPCIEシステムを用いてケーブル・フェイルオーバー機構を提供するための例示的なプロセス400を示すフロー図である。402において、CPUファームウェアは、PHB106および108をそれぞれスイッチ142および144に接続するケーブル134および136における故障についてチェックする。404において、CPUファームウェアが、例えばケーブル136のようなケーブルにおいて故障を検出すると、次いで406においてCPUファームウェアはバス130および134の双方をx8からx4にダウンシフトする。408において、ファームウェアはCPUエンドにおけるMUX202cに、ケーブル故障のあるPHBのレーン・セット114をアクティブなバス130のレーン4〜7にスイッチするように指示する。410において、ファームウェアは、スイッチ・エンドのMUX制御デバイス204aを用いて、MUX202dに、アクティブなバス130のレーン4〜7をスイッチ144のレーン0〜3にスイッチするように指示する。412において、ケーブル136が全接続に復元されていない場合、プロセス400は引き続きフェイルオーバー・モードで動作し、続けて接続の復元についてケーブル136をチェックする。412において、CPUファームウェアがケーブル136の接続復元を検出した場合、PCIEシステムは図2のベース動作に復元され、バスはx8バスに復元される。   FIG. 4 is an illustrative example for providing a cable failover mechanism using the PCIE system of FIGS. 2 and 3 using multiplexers at both the CPU end and the switch end, according to one embodiment of the present disclosure. FIG. At 402, the CPU firmware checks for failures in cables 134 and 136 that connect PHBs 106 and 108 to switches 142 and 144, respectively. If the CPU firmware detects a failure in a cable, such as cable 136, at 404, then at 406, the CPU firmware downshifts both buses 130 and 134 from x8 to x4. At 408, the firmware instructs the MUX 202c at the CPU end to switch the lane set 114 of the PHB with cable failure to lanes 4-7 of the active bus 130. At 410, the firmware uses the switch-end MUX control device 204a to instruct the MUX 202d to switch lanes 4-7 of the active bus 130 to lanes 0-3 of the switch 144. If the cable 136 has not been restored to full connection at 412, the process 400 continues to operate in failover mode and continues to check the cable 136 for connection restoration. If the CPU firmware detects that the cable 136 is restored at 412, the PCIE system is restored to the base operation of FIG. 2 and the bus is restored to the x8 bus.

いくつかの態様によれば、ケーブルのCPUエンドにおいてレーン多重化電子機器回路(またはMUX)を除去して、電子機器回路コスト削減およびパッケージング要件についての利点を得ることができる。しかしながらこれには、ケーブル長を制限し、いくつかのIOシャーシ・ケーブル接続コンフィギュレーションに制約を加える恐れがあるという欠点がある。これは、電子機器回路タイミング要件によって、これらの冗長コンフィギュレーションのために用いられる2本のケーブル間に厳しいケーブル長許容誤差が要求されるからである。冗長コンフィギュレーションは各々、フェイルオーバーおよび復元機構のファームウェア・シーケンスに違いがある。当業者は、特定のPCIE実施の必要性に適合するように冗長コンフィギュレーションのいずれかを選択すれば良い。   According to some aspects, the lane multiplexing electronics circuit (or MUX) can be removed at the CPU end of the cable to gain benefits for electronics circuit cost savings and packaging requirements. However, this has the disadvantage that it limits the cable length and can limit some IO chassis cabling configurations. This is because the electronics circuit timing requirements require tight cable length tolerances between the two cables used for these redundant configurations. Each redundant configuration has a different firmware sequence for the failover and restore mechanism. One skilled in the art may select any of the redundant configurations to suit the needs of a particular PCIE implementation.

図5は、本開示の一実施形態に従った、ケーブル・フェイルオーバー機構を提供するための例示的な動作500を示すフロー図である。   FIG. 5 is a flow diagram illustrating an exemplary operation 500 for providing a cable failover mechanism according to one embodiment of the present disclosure.

動作500は502において開始し、第1のPCIeブリッジの第1のレーン・セットを用いて第1のケーブルを介して、第1のPCIeブリッジと第1のIOデバイスとの間で第1のバス伝送ビット・セットを交換する。バス伝送ビットとは通例、バス上で伝送されるデータ・ビットのことである。504において、第1のケーブルにおいて故障が検出される。506において、第1のケーブルで故障を検出したことに応答して、第2のPCIeブリッジおよび第2のIOデバイスを接続する第2のケーブルの未使用部分を用いて、第1のPCIeブリッジと第1のIOデバイスとの間で第1のバス伝送ビット・セットを交換する。   Operation 500 begins at 502 with a first bus between a first PCIe bridge and a first IO device via a first cable using a first lane set of the first PCIe bridge. Exchange transmission bit set. Bus transmission bits are typically data bits transmitted on the bus. At 504, a failure is detected in the first cable. At 506, in response to detecting a failure in the first cable, the unused portion of the second cable connecting the second PCIe bridge and the second IO device is used to Exchange the first bus transmission bit set with the first IO device.

図6は、本開示の一実施形態に従った、スイッチ・エンドのみにマルチプレクサを用いてフェイルオーバー機構を提供するためのPCIeシステム600のベース動作を示す例示的な図である。   FIG. 6 is an exemplary diagram illustrating the base operation of a PCIe system 600 for providing a failover mechanism using a multiplexer only at the switch end, according to one embodiment of the present disclosure.

図6に示すように、レーン・マルチプレクサ(MUX)(またはクロスポイント電気スイッチ)202bおよび202dによって、ケーブル134および136のスイッチ・エンド上の各バス130および132のレーン・セット間でレーン・スイッチングが可能となる。しかしながら、CPUエンドにはMUXは存在せず、レーン・セットは直接ケーブルに接続されている。いくつかの態様では、PCIeシステムのベース動作中、ケーブル134および136は双方ともアクティブである。以下は、ベース動作中のPCIeシステム600の典型的なコンフィギュレーションである。   As shown in FIG. 6, lane multiplexers (MUX) (or crosspoint electrical switches) 202b and 202d provide lane switching between the lane sets of each bus 130 and 132 on the switch ends of cables 134 and 136. It becomes possible. However, there is no MUX at the CPU end, and the lane set is directly connected to the cable. In some aspects, during the base operation of the PCIe system, cables 134 and 136 are both active. The following is a typical configuration of the PCIe system 600 during base operation.

・CPUエンドにおいて、
・PHB106については、レーン・セット110は直接CC160aに接続し、レーン・セット112は直接CC160cに接続する。
・PHB108については、レーン・セット114は直接CC160cに接続し、レーン・セット116は直接CC160aに接続する。
・スイッチ・エンドにおいて、
・MUX202bは、レーン・セット110および112をPCIeスイッチ142に接続しており、レーン・セット110および112間をスイッチするために使用可能である。
・MUX202dは、レーン・セット114および116をPCIeスイッチ144に接続しており、レーン・セット114および112間をスイッチするために使用可能である。
At the CPU end
For PHB 106, lane set 110 connects directly to CC 160a and lane set 112 connects directly to CC 160c.
For PHB 108, lane set 114 connects directly to CC 160c and lane set 116 connects directly to CC 160a.
・ At the switch end,
MUX 202b connects lane sets 110 and 112 to PCIe switch 142 and can be used to switch between lane sets 110 and 112.
MUX 202d connects lane sets 114 and 116 to PCIe switch 144 and can be used to switch between lane sets 114 and 112.

従って、ベース動作中、バス130のレーン・セット110および112はPHB116をスイッチ142に接続し、バス132のレーン・セット114および116はPHB108をスイッチ144に接続する。いくつかの態様では、CPUエンドにおいて、レーン・スワッピングを用いて全てのレーンを各PHBから双方のケーブルにルーティングすることができる。例えば、レーン・セット114をレーン・セット116とスワップし、これによってレーン・セット114は160cでなくケーブル160aを介してルーティングすることができる。同様に、レーン・セット110および112をスワップして、各レーン・セットをケーブル160aおよび160bのいずれかを介してルーティングすることができる。上の段落において示したように、スイッチ・エンドにおけるMUX202bおよび202dは、各ケーブル内のレーンのサブセットをいずれかのスイッチに再ルーティングすることができる。むろん、MUXの数およびコンフィギュレーションは例示の目的のためのものであり、この開示の様々な態様を実施するためにMUXのいかなる数またはいかなるコンフィギュレーションも使用可能であることは、当業者には認められよう。   Accordingly, during base operation, lane sets 110 and 112 of bus 130 connect PHB 116 to switch 142, and lane sets 114 and 116 of bus 132 connect PHB 108 to switch 144. In some aspects, at the CPU end, all lanes can be routed from each PHB to both cables using lane swapping. For example, lane set 114 can be swapped with lane set 116 so that lane set 114 can be routed via cable 160a instead of 160c. Similarly, lane sets 110 and 112 can be swapped and each lane set can be routed via either cable 160a and 160b. As shown in the above paragraph, MUXs 202b and 202d at the switch end can reroute a subset of the lanes in each cable to any switch. Of course, the number and configuration of MUXs are for illustrative purposes, and it will be appreciated by those skilled in the art that any number or configuration of MUXs can be used to implement various aspects of this disclosure. Let's be recognized.

いくつかの態様によると、CPUファームウェアは、CPUエンドにおけるレーン・スワッピングを制御する。すでに述べたように、CPUファームウェアはPHBの動作を制御し、MUX202bおよび202dは、例えばMUX制御デバイス204aおよび204bのような、スイッチ142および144の1つに接続された1つ以上のデバイス(またはEP)によって制御される。また、MUX制御デバイス204aおよび204bの各々は、MUX202bおよび202dの双方を制御することができる。   According to some aspects, the CPU firmware controls lane swapping at the CPU end. As already mentioned, the CPU firmware controls the operation of the PHB, and the MUXs 202b and 202d are connected to one or more devices (or to one of the switches 142 and 144, such as MUX control devices 204a and 204b, for example). EP). Also, each of the MUX control devices 204a and 204b can control both the MUXs 202b and 202d.

図7は、本開示の一実施形態に従った、図6のPCIeシステムにおけるケーブル故障の検出に応答して用いられるフェイルオーバー機構を示す例示的な図である。図6に関して上述したように、ベース動作中、PHBとIOシャーシにおける各スイッチとの間で各PCIEバス130および132の全てのレーンは接続されている。従って、2つのx8PHB106、108の各々は、バス130、132における全ての8レーンをIOシャーシにおける各スイッチに接続する。ケーブル134、136の一方が接続性を失うと、CPUファームウェアは、PCIeの「レーン・ダウンシフト」を用いて、他のPHBとその各スイッチとの間のアクティブなレーン数を減らす。例えば、それをx8バスからx4バスに減らす。これによって、スイッチに対するケーブル接続性を失ったPHBおよびI/Oバスが用いるために4レーンが解放される。いくつかの態様では、解放されたレーンは典型的にx8PCIeバスのレーン4〜7である。   FIG. 7 is an exemplary diagram illustrating a failover mechanism used in response to detection of a cable failure in the PCIe system of FIG. 6, in accordance with one embodiment of the present disclosure. As described above with respect to FIG. 6, during the base operation, all lanes of each PCIE bus 130 and 132 are connected between the PHB and each switch in the IO chassis. Thus, each of the two x8 PHBs 106, 108 connects all 8 lanes in the bus 130, 132 to each switch in the IO chassis. If one of the cables 134, 136 loses connectivity, the CPU firmware uses PCIe “lane downshift” to reduce the number of active lanes between the other PHBs and their respective switches. For example, reduce it from x8 bus to x4 bus. This frees up 4 lanes for use by PHB and I / O buses that have lost cable connectivity to the switch. In some aspects, the freed lanes are typically x8 PCIe bus lanes 4-7.

いくつかの実施形態によれば、CPUファームウェアは、ケーブルが失われたPHBをx4バスにセットする。図6のPCIEシステムのベース動作に関してすでに述べたように、レーン・スワッピングを用いて、全てのレーンを各PHBから双方のケーブルにルーティングすることができる。従ってケーブル故障状況では、フェイルオーバー機構が開始し、CPUファームウェアは、レーン・セット(典型的にはレーン0〜3)を、ケーブルが失われたPHBから他のアクティブなPHBケーブルの未使用レーン(典型的にはレーン4〜7)に再ルーティングするために、ケーブルが失われたPHBのレーン・セットをスワップする。また前述のように、スイッチ・エンドにおけるマルチプレクサにより、各ケーブル内のレーンのサブセットをいずれかのスイッチに再ルーティングすることができる。従って、フェイルオーバー機構の一部として、CPUファームウェアはアクティブなPHBケーブルを介してPCIEスイッチ上のMUXコントローラ・デバイスに対して通信を行い、マルチプレクサをセットして、アクティブなケーブルのレーン4〜7を、ケーブルが失われたPHBが元々接続されていた他のスイッチのレーン0〜3にルーティングする。これにより、アクティブに接続されたケーブルにおけるPHBのレーン4〜7を用いて、ケーブル接続を失ったPHBのレーン0〜3を元々接続されていたスイッチのレーン0〜3に接続し、一方で、PCIEダウンシフト・プロトコルとは別の中断していないケーブル上ではスイッチ・レーン0〜3に対するアクティブPHBレーン0〜3の接続性を維持する。   According to some embodiments, the CPU firmware sets the PHB with the cable lost to the x4 bus. As already mentioned with respect to the base operation of the PCIE system of FIG. 6, lane swapping can be used to route all lanes from each PHB to both cables. Thus, in a cable failure situation, the failover mechanism begins and the CPU firmware moves the lane set (typically lanes 0-3) from the PHB where the cable was lost to the unused lanes of other active PHB cables ( To reroute to lanes 4-7) typically, swap the lane set of PHBs that have lost cables. Also, as described above, a multiplexer at the switch end allows a subset of the lanes in each cable to be rerouted to any switch. Therefore, as part of the failover mechanism, the CPU firmware communicates to the MUX controller device on the PCIE switch via the active PHB cable, sets the multiplexer, and sets lanes 4-7 of the active cable. Then, the PHB with the lost cable is routed to lanes 0 to 3 of other switches to which the cable was originally connected. This uses PHB lanes 4-7 in the actively connected cable to connect PHB lanes 0-3, which have lost cable connection, to the originally connected switch lanes 0-3, Maintains connectivity of active PHB lanes 0-3 to switch lanes 0-3 on uninterrupted cables separate from the PCIE downshift protocol.

例えば、図7に示すように、ケーブル132が故障しケーブル130のみがアクティブである。CPUはケーブル132の故障を検出し、これに応じてCPUファームウェアはレーン・ダウンシフトを用いて、バス130および132のアクティブなレーン数をx8バスからx4バスに減らす。この例では、レーン・ダウンシフトによって、PHB106にレーン・セット110(レーン0〜3)のみを用いるように指示し、PHB108にレーン・セット114(レーン0〜3)のみを用いるように指示する。CPUファームウェアは、PHB108に、レーン・セット114と116との間でスワップするように支持し、レーン・セット114(レーン3〜0)が故障ケーブル136でなくアクティブなケーブル134のバス130のレーン4〜7を介してルーティングされるようにする。CPUファームウェアは同時に、アクティブなケーブル134のI/Oバス130を用いてMUX制御デバイス204aと通信を行って、MUX202dに、バス130のレーン4〜7とPCIeスイッチ144のレーン0〜3との間で接続を確立するように指示する。これによって、ケーブル・フェイルオーバー機構は、アクティブに接続されたケーブル134におけるPHB106のレーン4〜7を用いて、ケーブル接続を失ったPHB108のレーン0〜3を、PHB108が元々接続されていたPCIeスイッチ144のレーン3〜0に接続する。   For example, as shown in FIG. 7, cable 132 fails and only cable 130 is active. The CPU detects a failure of the cable 132 and in response the CPU firmware uses lane downshift to reduce the number of active lanes on the buses 130 and 132 from the x8 bus to the x4 bus. In this example, the lane downshift instructs the PHB 106 to use only the lane set 110 (lanes 0 to 3), and instructs the PHB 108 to use only the lane set 114 (lanes 0 to 3). The CPU firmware supports the PHB 108 to swap between lane sets 114 and 116, and lane set 114 (lanes 3-0) is not the failed cable 136 but lane 4 of bus 130 of the active cable 134. Be routed through ~ 7. At the same time, the CPU firmware communicates with the MUX control device 204a using the I / O bus 130 of the active cable 134 and communicates to the MUX 202d between the lanes 4-7 of the bus 130 and the lanes 0-3 of the PCIe switch 144. Instruct to establish a connection. As a result, the cable failover mechanism uses the lanes 4 to 7 of the PHB 106 in the actively connected cable 134 to use the lanes 0 to 3 of the PHB 108 that have lost the cable connection to the PCIe switch to which the PHB 108 was originally connected. Connect to 144 lanes 3-0.

いくつかの態様によれば、失われたケーブル接続性を復元するためのサービス・アクションを完了すると、CPUファームウェアに、復元したケーブル接続性について知らせ(または電子的ケーブル存在信号によって検出しても良い)、レーン・セット116および114をスワップ・バックし、フェイルオーバー機構中に実行されたMUX202bおよび202dのコンフィギュレーションに戻ることができる。   According to some aspects, upon completing a service action to restore lost cable connectivity, the CPU firmware is informed about the restored cable connectivity (or may be detected by an electronic cable presence signal). ), Lane sets 116 and 114 can be swapped back to the MUX 202b and 202d configuration performed during the failover mechanism.

図8は、本開示の一実施形態に従った、スイッチ・エンドのみにマルチプレクサを用いて図6および図7のPCIEシステムを用いてケーブル・フェイルオーバー機構を提供するための例示的なプロセス800を示すフロー図である。802において、CPUファームウェアは、PHB106および108をそれぞれスイッチ142および144に接続するケーブル134および136における故障についてチェックする。804において、CPUファームウェアが、例えばケーブル136のようなケーブルにおいて故障を検出すると、プロセス800は806に進んで、CPUファームウェアはバス130および132の双方をx8からx4にダウンシフトする。808において、ファームウェアはCPUエンドにおけるPHB108に、レーン・セット114と116との間でスワップして、アクティブなバス130のレーン4〜7を用いてレーン・セット114をルーティングするように指示する。810において、ファームウェアは、スイッチ・エンドのMUX制御デバイス204aを用いて、MUX202dに、バス130のレーン4〜7とPCIeスイッチ144のレーン3〜0との間で接続を確立するように指示する。812において、ケーブル136が全接続に復元されていない場合、プロセス800は引き続きフェイルオーバー・モードで動作し、続けて接続の復元についてケーブル136をチェックする。812において、CPUファームウェアがケーブル136の接続復元を検出した場合、PCIEシステムは図6のベース動作に復元され、バスはx8バスに復元される。   FIG. 8 illustrates an exemplary process 800 for providing a cable failover mechanism using the PCIE system of FIGS. 6 and 7 using a multiplexer at the switch end only, according to one embodiment of the present disclosure. FIG. At 802, the CPU firmware checks for failures in cables 134 and 136 that connect PHBs 106 and 108 to switches 142 and 144, respectively. If the CPU firmware detects a failure in a cable, such as cable 136, at 804, process 800 proceeds to 806, where the CPU firmware downshifts both buses 130 and 132 from x8 to x4. At 808, the firmware instructs the PHB 108 at the CPU end to swap between the lane sets 114 and 116 to route the lane set 114 using the lanes 4-7 of the active bus 130. At 810, the firmware uses the switch end MUX control device 204a to instruct the MUX 202d to establish a connection between lanes 4-7 of the bus 130 and lanes 3-0 of the PCIe switch 144. If the cable 136 has not been restored to full connection at 812, the process 800 continues to operate in failover mode and continues to check the cable 136 for connection restoration. If the CPU firmware detects that the cable 136 is restored at 812, the PCIE system is restored to the base operation of FIG. 6 and the bus is restored to the x8 bus.

図9は、本開示の一実施形態に従った、ケーブル・フェイルオーバー機構を提供するための例示的な動作900を示すフロー図である。図示のように、動作900は902において開始し、第1のPCIeブリッジの第1のレーン・セットを用いて第1のケーブルを介して、第1のPCIeブリッジと第1のIOデバイスとの間で第1のバス伝送ビット・セットを交換する。904において、第1のケーブルにおいて故障が検出される。906において、第1のケーブルで故障を検出したことに応答して、第1のPCIEブリッジの第2のレーン・セットを用いて第2のケーブル上で、第1のPCIeブリッジと第1のIOデバイスとの間で第1のバス・ビット・セットを交換する。   FIG. 9 is a flow diagram illustrating an example operation 900 for providing a cable failover mechanism in accordance with an embodiment of the present disclosure. As shown, operation 900 begins at 902 and is between a first PCIe bridge and a first IO device via a first cable using a first lane set of the first PCIe bridge. To exchange the first bus transmission bit set. At 904, a failure is detected in the first cable. At 906, in response to detecting a failure in the first cable, the first PCIe bridge and the first IO on the second cable using the second lane set of the first PCIE bridge. Exchange the first bus bit set with the device.

以下において本発明の実施形態を参照する。しかしながら、本発明は具体的な記載した実施形態に限定されないことは理解されよう。以下の特徴および要素の組み合わせは、異なる実施形態に関連するものであろうとなかろうと、本発明を実施し実行すると考えられる。例えば本発明は、ケーブルを利用しないか、または多数の物理的エンクロージャを伴わないPCIEリンクに等しく適用可能であることは、当業者には認められよう。コンピュータ回路基板に埋め込まれたワイヤを利用するか、またはミッドプレーン・コネクタを介したもの等のコンピュータ回路基板間、および同一もしくは隣接した物理エンクロージャ内のPCIEリンク等、かかる他の実施形態は、本発明によって等しく対応されて、PCIEリンクの喪失のためのフェイルオーバーを提供する。また、先に論じたフェイルオーバー機構は、IOデバイスまたはアダプタがスイッチを介して接続されるのではなく直接PHBに接続されるPCIEコンフィギュレーションに適用可能であることは認められよう。また、同様のフェイルオーバー手順を用いて、スイッチおよびMUX制御デバイスを用いてスイッチに接続されたIOデバイスの間の故障した接続を管理することも可能である。   In the following, reference is made to embodiments of the invention. It will be understood, however, that the invention is not limited to the specific embodiments described. The following features and combinations of elements are considered to implement and carry out the present invention, whether related to different embodiments or not. For example, those skilled in the art will appreciate that the present invention is equally applicable to PCIE links that do not utilize cables or do not involve multiple physical enclosures. Such other embodiments utilize wires embedded in computer circuit boards or such as PCIE links between computer circuit boards, such as through midplane connectors, and in the same or adjacent physical enclosures. Equally addressed by the invention, it provides failover for loss of PCIE links. It will also be appreciated that the failover mechanism discussed above is applicable to PCIE configurations where IO devices or adapters are connected directly to the PHB rather than being connected via a switch. A similar failover procedure can also be used to manage failed connections between IO devices connected to switches using switches and MUX control devices.

更に、本発明の実施形態は、他の可能な解決策または従来技術あるいはその両方に勝る利点を達成可能であるが、所与の実施形態によって特定の利点が達成されるか否かは本発明を限定しない。このため、以下の態様、特徴、実施形態、および利点は、単に例示的なものに過ぎず、特許請求の範囲(複数の特許請求の範囲)に明示的に述べる場合を除いて、添付の特許請求の範囲の要素または限定とは見なされない。同様に、「本発明」への言及は、本明細書に加持した本発明の主題の一般化として見なされるものではなく、特許請求の範囲(複数の特許請求の範囲)に明示的に述べる場合を除いて、添付の特許請求の範囲の要素または限定とは見なされない。   Furthermore, while embodiments of the present invention can achieve advantages over other possible solutions and / or prior art, whether a particular advantage is achieved by a given embodiment is not limited to the present invention. Is not limited. For this reason, the following aspects, features, embodiments and advantages are merely exemplary, except as expressly stated in the claims (claims). It is not considered a claim element or limitation. Similarly, references to “the present invention” are not to be construed as generalizations of the subject matter of the present invention incorporated herein, but are explicitly stated in the claims (claims). It is not considered an element or limitation of the appended claims except.

当業者には認められるであろうが、本発明の態様は、システム、方法、またはコンピュータ・プログラムとして具現化することができる。従って、本発明の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、「回路」、「モジュール」、または「システム」と一般的に称することができる。更に、本発明の態様は、具現化されたコンピュータ読み取り可能プログラム・コードを有する1つ以上のコンピュータ読み取り可能媒体において具現化されるコンピュータ・プログラムの形態を取ることも可能である。   As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program. Accordingly, aspects of the present invention are generally hardware embodiments, generally software embodiments (including firmware, resident software, microcode, etc.), or embodiments that combine software and hardware aspects. Which can all be generally referred to herein as "circuitry", "module", or "system". Further, aspects of the invention may take the form of a computer program embodied in one or more computer readable media having computer readable program code embodied therein.

1つ以上のコンピュータ読み取り可能媒体のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能記憶媒体の更に具体的な例(非網羅的な列挙)は、以下を含む。すなわち、1本以上のワイヤを含む電気的接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかのタンジブルな媒体とすることができる。   Any combination of one or more computer readable media may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or any suitable combination of the foregoing. More specific examples (non-exhaustive listing) of computer readable storage media include: Electrical connections including one or more wires, portable computer diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory) Memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. it can.

コンピュータ読み取り可能信号媒体は、例えばベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ読み取り可能プログラム・コードを有する伝播データ信号を含むことができる。かかる伝播信号は様々な形態のいずれかを取ることができ、それらは限定ではないが、電磁、光、またはそれらのいずれかの適切な組み合わせを含む。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを伝達、伝播、または転送することが可能ないずれかのコンピュータ読み取り可能媒体とすることができる。   A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such propagated signals can take any of a variety of forms, including but not limited to electromagnetic, light, or any suitable combination thereof. A computer readable signal medium is not a computer readable storage medium, but any computer readable medium capable of transmitting, propagating, or transferring a program for use by or in connection with an instruction execution system, apparatus, or device. Possible medium.

コンピュータ読み取り可能媒体上で具現化されるプログラム・コードは、限定ではないが、無線、有線、光ファイバ・ケーブル、RF等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。   Program code embodied on a computer readable medium may be any suitable medium including, but not limited to, wireless, wired, fiber optic cable, RF, etc., or any suitable combination of the foregoing. Can be transmitted.

本発明の態様の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++等のオブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む1つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的に遠隔コンピュータ上で、または全体的に遠隔コンピュータもしくはサーバ上で、実行することができる。後者の場合、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、(例えばインターネット・サービス・プロバイダを用いてインターネットを介して)外部コンピュータに対して行うことができる。   Computer program code for performing the operations of aspects of the present invention includes object oriented programming languages such as Java®, Smalltalk®, C ++, and “C” programming language or similar programming languages, etc. It can be written in any combination of one or more programming languages, including conventional procedural programming languages. The program code may be entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on the remote computer, or entirely It can be run on a remote computer or server. In the latter case, the remote computer can connect to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be , To an external computer (eg, via the Internet using an Internet service provider).

本発明の実施形態に従った方法、装置(システム)、およびコンピュータ・プログラムのフローチャート図またはブロック図あるいはその両方を参照して、本発明の態様について以下に記載する。フローチャート図またはブロック図あるいはその両方の各ブロックならびにフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するための手段を生成するようになっている。   Aspects of the invention are described below with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing device to generate a machine, thereby enabling the computer or other programmable data processing device to Instructions executed by the processor are adapted to generate means for performing the functions / acts defined in the flowcharts and / or block diagrams, or in both blocks or blocks.

また、これらのコンピュータ・プログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施する命令を含む製造品を生成するようになっている。   These computer program instructions may also be stored on a computer readable medium, thereby instructing a computer, other programmable data processing apparatus, or other device to function in a particular manner. The instructions stored on the computer readable medium can generate an article of manufacture that includes instructions to perform the functions / acts defined in the flowcharts and / or block diagrams, or in both blocks or blocks. ing.

また、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するためのプロセスを提供するようになっている。   A computer program instruction is loaded into a computer, other programmable data processing apparatus, or other device, and a series of operation steps are executed on the computer, other programmable apparatus, or other device. An implementation process can be generated whereby instructions executing on a computer or other programmable device can perform functions / acts defined in a flowchart and / or block diagram or blocks. Provide a process.

上述した図面におけるフローチャートおよびブロック図は、本発明の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラムの可能な実施のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能(複数の機能)を実施するための1つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した2つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方におけるブロックの組み合わせは、規定された機能もしくは行為を実行する特殊目的ハードウェア・ベースのシステム、または特殊目的ハードウェアおよびコンピュータ命令の組み合わせによって実施可能であることに留意すべきである。   The flowcharts and block diagrams in the above-described drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of code that includes one or more executable instructions for performing a defined logical function (s). it can. It should also be noted that in some alternative implementations, the functions specified in the blocks may occur out of the order specified in the drawings. For example, depending on the functionality involved, two blocks shown in succession may actually be executed substantially simultaneously, or the blocks may sometimes be executed in reverse order. Also, each block in the block diagram and / or flowchart, and combinations of blocks in the block diagram and / or flowchart, are special purpose hardware-based systems or special purpose hardware that perform the specified functions or acts. It should be noted that this can be implemented by a combination of computer instructions.

前述の事項は本発明の実施形態を対象とするが、本発明の基本的な範囲から逸脱することなく本発明の他の実施形態および更に別の実施形態を考案可能であり、その範囲は以下の特許請求の範囲によって決定される。   While the foregoing is directed to embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, the scope of which is In accordance with the following claims.

100 コンピュータ・システム
102 CPU
104 PCIEルート・コンプレックス
106、108 PHB
110、112、114、116 レーン/セット
130、132 バス
134、136 ケーブル
142、144 PCIEスイッチ
150 EP
160 ケーブル・コネクタ
100 Computer system 102 CPU
104 PCIE root complex 106, 108 PHB
110, 112, 114, 116 Lane / set 130, 132 Bus 134, 136 Cable 142, 144 PCIE switch 150 EP
160 Cable connector

Claims (20)

第1のPCIEブリッジと第1の入出力(IO)デバイスとの間の接続についてフェイルオーバー動作を提供するための方法であって、
前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第1のPCIEブリッジの第1のレーン・セットを用いて第1のリンクを介して第1のバス伝送ビット・セットを交換することと、
前記第1のリンクにおける故障の検出に応答して、前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第1のPCIEブリッジの第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、PCIEブリッジ・エンドにおいて、前記第1のレーン・セットの使用から前記第2のレーン・セットの使用にスワップすることであって、前記第2のリンクが第2のPCIEブリッジを第2のIOデバイスに接続する、ことと、
前記第1のリンクにおける前記故障の検出に応答して、前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第2のレーン・セットを用いて前記第2のリンクを介して前記第2のバス伝送ビット・セットを交換するために、IOデバイス・エンドにおいて、前記第1のレーン・セットの使用から前記第2のレーン・セットの使用にスイッチすることと、
を含む、方法。
A method for providing a failover operation for a connection between a first PCIE bridge and a first input / output (IO) device comprising:
A first bus transmission bit set is set between the first PCIE bridge and the first IO device via a first link using a first lane set of the first PCIE bridge. To exchange,
In response to detecting a failure in the first link, a second lane set of the first PCIE bridge is used between the first PCIE bridge and the first IO device. Swapping the use of the first lane set to the use of the second lane set at the PCIE bridge end to exchange the second bus transmission bit set over the other link. The second link connects a second PCIE bridge to a second IO device;
Responsive to detecting the failure in the first link, between the first PCIE bridge and the first IO device via the second link using the second lane set. Switching from use of the first lane set to use of the second lane set at an IO device end to exchange the second bus transmission bit set;
Including a method.
前記第1のリンクにおける前記故障の検出に応答して、前記第2のレーン・セットの使用を停止するように前記第1のPCIEブリッジをコンフィギュレーションすることを更に含む、請求項1に記載の方法。   The method of claim 1, further comprising configuring the first PCIE bridge to stop using the second lane set in response to detecting the failure on the first link. Method. 前記第1のリンクにおける前記故障の検出に応答して、前記第1のリンクを用いて前記第2のPCIEブリッジの第3のレーン・セットを用いて前記第2のIOデバイスと第3のバス伝送ビット・セットを交換する前記第2のPCIEブリッジが、前記第3のレーン・セットの使用を停止するようにコンフィギュレーションすることを更に含む、請求項1に記載の方法。   In response to detecting the failure in the first link, the second IO device and the third bus using the third lane set of the second PCIE bridge using the first link. The method of claim 1, further comprising configuring the second PCIE bridge exchanging transmission bit sets to stop using the third lane set. 前記第1および第2のPCIEブリッジの各々がPCIEホスト・ブリッジ(PHB)を含む、請求項1に記載の方法。   The method of claim 1, wherein each of the first and second PCIE bridges includes a PCIE host bridge (PHB). 前記第1および第2のIOデバイスの各々がPCIEスイッチを含む、請求項1に記載の方法。   The method of claim 1, wherein each of the first and second IO devices includes a PCIE switch. 前記第1および第2のPCIEブリッジがPCIEルート・コンプレックスに収容されている、請求項1に記載の方法。   The method of claim 1, wherein the first and second PCIE bridges are housed in a PCIE root complex. 第1のPCIEブリッジと第1の入出力(IO)デバイスとの間の接続についてフェイルオーバー動作を提供するための装置であって、
前記第1のPCIEブリッジを前記第1のIOデバイスに接続する第1のリンクであって、前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第1のPCIEブリッジの第1のレーン・セットを用いて第1のリンクを介して第1のバス伝送ビット・セットを交換するために用いられる、第1のリンクと、
第2のPCIEブリッジを第2のIOデバイスに接続する少なくとも1つの第2のリンクと、
を含み、前記第1のリンクにおける故障の検出に応答して、前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第1のPCIEブリッジの第2のレーン・セットを用いて前記第2のリンクを介して第2のバス伝送ビット・セットを交換するために、PCIEブリッジ・エンドにおいて、前記第1のPCIEブリッジが前記第1のレーン・セットの使用から前記第2のレーン・セットの使用にスワップし、
更に、前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第2のレーン・セットを用いて前記第2のリンクを介して前記第2のバス伝送ビット・セットを交換するために、IOデバイス・エンドにおいて、前記第1のレーン・セットの使用から前記第2のレーン・セットの使用にスイッチするための少なくとも1つのスイッチを含む、装置。
An apparatus for providing a failover operation for a connection between a first PCIE bridge and a first input / output (IO) device, comprising:
A first link connecting the first PCIE bridge to the first IO device, wherein the first PCIE bridge is connected between the first PCIE bridge and the first IO device; A first link used to exchange a first bus transmission bit set over a first link using a lane set;
At least one second link connecting the second PCIE bridge to the second IO device;
And using a second lane set of the first PCIE bridge between the first PCIE bridge and the first IO device in response to detecting a failure in the first link. In order to exchange a second bus transmission bit set over the second link, at the PCI bridge end, the first PCIE bridge removes the second lane set from use of the first lane set. Swap to use lane set,
Further, the second bus transmission bit set is exchanged between the first PCIE bridge and the first IO device via the second link using the second lane set. Therefore, an apparatus comprising at least one switch for switching from use of the first lane set to use of the second lane set at an IO device end.
前記第1のリンクにおける前記故障の検出に応答して、前記第2のレーン・セットの使用を停止するように前記第1のPCIEブリッジがコンフィギュレーションされている、請求項7に記載の装置。   8. The apparatus of claim 7, wherein the first PCIE bridge is configured to stop using the second lane set in response to detecting the failure on the first link. 前記第1のリンクにおける前記故障の検出に応答して、前記第1のリンクを用いて前記第2のPCIEブリッジの第3のレーン・セットを用いて前記第2のIOデバイスと第3のバス伝送ビット・セットを交換する前記第2のPCIEブリッジが、前記第3のレーン・セットの使用を停止するようにコンフィギュレーションされている、請求項7に記載の装置。   In response to detecting the failure in the first link, the second IO device and the third bus using the third lane set of the second PCIE bridge using the first link. 8. The apparatus of claim 7, wherein the second PCIE bridge exchanging transmission bit sets is configured to stop using the third lane set. 前記第1および第2のPCIEブリッジが中央演算処理装置(CPU)ファームウェアによって制御される、請求項7に記載の装置。   8. The apparatus of claim 7, wherein the first and second PCIE bridges are controlled by central processing unit (CPU) firmware. 前記スイッチを制御するために前記第2のIOデバイスに接続され、前記CPUファームウェアによって制御される制御デバイスを更に含む、請求項7に記載の装置。   8. The apparatus of claim 7, further comprising a control device connected to the second IO device to control the switch and controlled by the CPU firmware. 前記第1および第2のPCIEブリッジの各々がPCIEホスト・ブリッジ(PHB)を含む、請求項7に記載の装置。   The apparatus of claim 7, wherein each of the first and second PCIE bridges includes a PCIE host bridge (PHB). 前記第1および第2のIOデバイスの各々がPCIEスイッチを含む、請求項7に記載の装置。   The apparatus of claim 7, wherein each of the first and second IO devices includes a PCIE switch. 前記第1および第2のPCIEブリッジがPCIEルート・コンプレックスに収容されている、請求項7に記載の装置。   8. The apparatus of claim 7, wherein the first and second PCIE bridges are housed in a PCIE root complex. 第1のPCIEブリッジと第1の入出力(IO)デバイスとの間の接続についてフェイルオーバー動作を提供するためのコンピュータ・プログラムであって、
コンピュータ読み取り可能媒体であって、
前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第1のPCIEブリッジの第1のレーン・セットを用いて第1のリンクを介して第1のバス伝送ビット・セットを交換し、
前記第1のリンクにおける故障の検出に応答して、前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第1のPCIEブリッジの第2のレーン・セットを用いて第2のリンクを介して第2のバス伝送ビット・セットを交換するために、PCIEブリッジ・エンドにおいて、前記第1のレーン・セットの使用から前記第2のレーン・セットの使用にスワップし、前記第2のリンクが第2のPCIEブリッジを第2のIOデバイスに接続し、
前記第1のリンクにおける前記故障の検出に応答して、前記第1のPCIEブリッジと前記第1のIOデバイスとの間で、前記第2のレーン・セットを用いて前記第2のリンクを介して前記第2のバス伝送ビット・セットを交換するために、IOデバイス・エンドにおいて、前記第1のレーン・セットの使用から前記第2のレーン・セットの使用にスイッチする、
ためのコードを含むコンピュータ読み取り可能媒体を含む、コンピュータ・プログラム。
A computer program for providing a failover operation for a connection between a first PCIE bridge and a first input / output (IO) device,
A computer-readable medium,
A first bus transmission bit set is set between the first PCIE bridge and the first IO device via a first link using a first lane set of the first PCIE bridge. Replace
In response to detecting a failure in the first link, a second lane set of the first PCIE bridge is used between the first PCIE bridge and the first IO device. Swapping the use of the first lane set to the use of the second lane set at the PCI bridge end to exchange the second bus transmission bit set over the link Two links connect the second PCIE bridge to the second IO device;
Responsive to detecting the failure in the first link, between the first PCIE bridge and the first IO device via the second link using the second lane set. To switch from using the first lane set to using the second lane set at an IO device end to exchange the second bus transmission bit set.
A computer program comprising a computer-readable medium containing code for the use.
前記第1のリンクにおける前記故障の検出に応答して、前記第2のレーン・セットの使用を停止するように前記第1のPCIEブリッジをコンフィギュレーションすることを更に含む、請求項15に記載のコンピュータ・プログラム。   16. The method of claim 15, further comprising configuring the first PCIE bridge to cease use of the second lane set in response to detecting the failure on the first link. Computer program. 前記第1のリンクにおける前記故障の検出に応答して、前記第1のリンクを用いて前記第2のPCIEブリッジの第3のレーン・セットを用いて前記第2のIOデバイスと第3のバス伝送ビット・セットを交換する前記第2のPCIEブリッジが、前記第3のレーン・セットの使用を停止するようにコンフィギュレーションすることを更に含む、請求項15に記載のコンピュータ・プログラム。   In response to detecting the failure in the first link, the second IO device and the third bus using the third lane set of the second PCIE bridge using the first link. 16. The computer program product of claim 15, further comprising configuring the second PCIE bridge to exchange a transmission bit set to stop using the third lane set. 前記第1および第2のPCIEブリッジの各々がPCIEホスト・ブリッジ(PHB)を含む、請求項15に記載のコンピュータ・プログラム。   The computer program product of claim 15, wherein each of the first and second PCIE bridges includes a PCIE host bridge (PHB). 前記第1および第2のIOデバイスの各々がPCIEスイッチを含む、請求項15に記載のコンピュータ・プログラム。   The computer program product of claim 15, wherein each of the first and second IO devices includes a PCIE switch. 前記第1および第2のPCIEブリッジがPCIEルート・コンプレックスに収容されている、請求項15に記載のコンピュータ・プログラム。   The computer program product of claim 15, wherein the first and second PCIE bridges are housed in a PCIE root complex.
JP2011245896A 2010-12-03 2011-11-09 Method, apparatus, and computer program for failover operation Expired - Fee Related JP5739308B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/959981 2010-12-03
US12/959,981 US8677176B2 (en) 2010-12-03 2010-12-03 Cable redundancy and failover for multi-lane PCI express IO interconnections

Publications (2)

Publication Number Publication Date
JP2012118974A true JP2012118974A (en) 2012-06-21
JP5739308B2 JP5739308B2 (en) 2015-06-24

Family

ID=46163400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011245896A Expired - Fee Related JP5739308B2 (en) 2010-12-03 2011-11-09 Method, apparatus, and computer program for failover operation

Country Status (3)

Country Link
US (2) US8677176B2 (en)
JP (1) JP5739308B2 (en)
CN (1) CN102541790B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097553A (en) * 2011-10-31 2013-05-20 Fujitsu Ltd Switching control device, switching control method, information processor and switching control program
JP5859178B1 (en) * 2015-01-26 2016-02-10 三菱電機株式会社 Communication apparatus and method
JP2017201512A (en) * 2016-05-06 2017-11-09 廣達電腦股▲ふん▼有限公司 System and method for flexible hdd/ssd storage support

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677176B2 (en) * 2010-12-03 2014-03-18 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
US8645746B2 (en) 2010-12-03 2014-02-04 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
JP5966243B2 (en) * 2010-12-20 2016-08-10 富士通株式会社 Storage device and storage device control method
JP5542787B2 (en) * 2011-12-08 2014-07-09 シャープ株式会社 Image forming apparatus
GB2500410A (en) * 2012-03-21 2013-09-25 Renesas Mobile Corp Swapping an actual channel on a secondary link with a shadow channel on a primary link with when the secondary link is no longer available
JP5983744B2 (en) * 2012-06-25 2016-09-06 富士通株式会社 Information processing apparatus and failure detection method for information processing apparatus
CN103972735A (en) * 2013-01-30 2014-08-06 鸿富锦精密电子(天津)有限公司 Signal switching circuit and PCIE connector combination comprising signal switching circuit
US9135200B2 (en) 2013-06-28 2015-09-15 Futurewei Technologies, Inc. System and method for extended peripheral component interconnect express fabrics
US9141493B2 (en) 2013-07-12 2015-09-22 International Business Machines Corporation Isolating a PCI host bridge in response to an error event
KR102033112B1 (en) 2013-07-15 2019-10-16 한국전자통신연구원 Peripheral Component Interconnect Express switch apparatus and method for controlling connection using the same
US9342422B2 (en) 2013-11-07 2016-05-17 International Business Machines Corporation Selectively coupling a PCI host bridge to multiple PCI communication paths
US9400763B2 (en) * 2014-02-24 2016-07-26 Rj Intellectual Properties, Llc PCI express expansion system
EP3111334B1 (en) * 2014-02-28 2020-01-22 Hewlett-Packard Development Company, L.P. Computing system control
CN103885416B (en) * 2014-03-21 2016-11-16 上海富欣智能交通控制有限公司 Active and standby system high speed changing method based on IO interlocking
JP6331574B2 (en) * 2014-03-28 2018-05-30 富士通株式会社 Information processing apparatus, parallel computer system, and control method for parallel computer system
EP2961098B1 (en) 2014-04-02 2017-06-14 Huawei Technologies Co. Ltd. Method, device and system for processing pcie link failure
US9710341B2 (en) * 2014-12-16 2017-07-18 Dell Products L.P. Fault tolerant link width maximization in a data bus
US9740653B2 (en) * 2014-12-22 2017-08-22 Qualcomm Incorporated Dynamically assigning lanes over which signals are transmitted to mitigate electromagnetic interference (EMI)
JP6458494B2 (en) * 2014-12-26 2019-01-30 富士通株式会社 Information processing apparatus, information processing system, and communication apparatus
CN106033396A (en) * 2015-03-10 2016-10-19 鸿富锦精密工业(深圳)有限公司 A data storage device and a data transmission system with the same
US10572426B2 (en) * 2015-06-02 2020-02-25 Nxp Usa, Inc. System-level redundancy in PCI express equipment
US9859974B2 (en) 2015-06-25 2018-01-02 International Business Machines Corporation Rerouting bus data signals from faulty signal carriers to existing healthy signal carriers
US9858161B2 (en) 2015-10-27 2018-01-02 International Business Machines Corporation Implementing cable failover in multiple cable PCI express IO interconnections
TWI597953B (en) 2015-11-25 2017-09-01 財團法人工業技術研究院 Pcie network system with failover capability and operation method thereof
US10102074B2 (en) 2015-12-01 2018-10-16 International Business Machines Corporation Switching allocation of computer bus lanes
US10296484B2 (en) 2015-12-01 2019-05-21 International Business Machines Corporation Dynamic re-allocation of computer bus lanes
US10255215B2 (en) 2016-01-29 2019-04-09 Liqid Inc. Enhanced PCIe storage device form factors
US9959240B2 (en) * 2016-04-14 2018-05-01 Dell Products, L.P. Manually configurable PCIe lane count for PCIe SSD backplane
US10243803B2 (en) 2016-07-29 2019-03-26 International Business Machines Corporation Service interface topology management
US10235317B1 (en) * 2016-09-22 2019-03-19 EMC IP Holding Company LLC Fabric management system and method
US10324880B1 (en) 2016-09-22 2019-06-18 EMC IP Holding Company LLC Fabric management system and method
US10235316B1 (en) * 2016-09-22 2019-03-19 EMC IP Holding Company LLC Fabric management system and method
US10503678B1 (en) * 2016-09-22 2019-12-10 EMC IP Holding Company LLC Fabric management system and method
KR102569761B1 (en) 2016-10-05 2023-08-22 삼성전자주식회사 Semiconductor device, semiconductor system and method for operating semiconductor device
TWI683610B (en) 2016-10-07 2020-01-21 美商利魁得股份有限公司 Modular carrier form factors for computing platforms
US10372649B2 (en) * 2016-11-03 2019-08-06 International Business Machines Corporation PCIe Link Reset to Minimize Workload Impact
US10713203B2 (en) * 2017-02-28 2020-07-14 Cisco Technology, Inc. Dynamic partition of PCIe disk arrays based on software configuration / policy distribution
US10430264B2 (en) * 2017-06-02 2019-10-01 International Business Machines Corporation Monitoring correctable errors on a bus interface to determine whether to redirect input/output (I/O) traffic from a first processing unit to a second processing unit
US10528437B2 (en) 2017-06-02 2020-01-07 International Business Machines Corporation Monitoring correctable errors on a bus interface to determine whether to redirect input/output request (I/O) traffic to another bus interface
TWI662417B (en) * 2018-05-31 2019-06-11 緯創資通股份有限公司 Switch card and server
TW202005485A (en) * 2018-06-01 2020-01-16 緯穎科技服務股份有限公司 Switch board for expanding peripheral component interconnect express compatibility
CN111371582B (en) * 2018-12-26 2021-04-16 大唐移动通信设备有限公司 PCIE link fault processing method and device
WO2020240225A1 (en) * 2019-05-31 2020-12-03 Micron Technology, Inc. Embedded flash memory architecture implementing interconnection redundancy
CN110311830B (en) * 2019-06-03 2021-08-24 杭州迪普科技股份有限公司 Link health check method and device
CN111158961B (en) * 2019-12-28 2023-06-23 浪潮商用机器有限公司 Cable redundancy device and cable redundancy method
EP4116833A4 (en) * 2020-03-25 2023-04-26 Huawei Technologies Co., Ltd. Communication method and related apparatus
US11960426B2 (en) 2022-06-01 2024-04-16 International Business Machines Corporation Cable pair concurrent servicing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280237A (en) * 2006-04-11 2007-10-25 Nec Corp Pci express link, multi-host computer system and method of reconfiguring pci express link
JP2009267771A (en) * 2008-04-25 2009-11-12 Hitachi Ltd Information processor, and path control method
JP2010108211A (en) * 2008-10-30 2010-05-13 Hitachi Ltd Storage device and data path failover method for internal network of storage controller

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826066A (en) 1996-08-08 1998-10-20 Tandem Computers Incorporated Method for keeping accurate time in a computer system
US7415032B2 (en) * 2002-11-13 2008-08-19 Intel Corporation Aggregatable connectivity
US7062594B1 (en) * 2004-06-30 2006-06-13 Emc Corporation Root complex connection system
US7398427B2 (en) * 2004-07-08 2008-07-08 International Business Machines Corporation Isolation of input/output adapter error domains
US9264384B1 (en) * 2004-07-22 2016-02-16 Oracle International Corporation Resource virtualization mechanism including virtual host bus adapters
US8364829B2 (en) 2004-09-24 2013-01-29 Hewlett-Packard Development Company, L.P. System and method for ascribing resource consumption to activity in a causal path of a node of a distributed computing system
US7743197B2 (en) * 2006-05-11 2010-06-22 Emulex Design & Manufacturing Corporation System and method for virtualizing PCIe devices
US7865654B2 (en) * 2006-02-28 2011-01-04 Emulex Design And Manufacturing Corporation Programmable bridge header structures
US7660922B2 (en) 2006-05-12 2010-02-09 Intel Corporation Mechanism to flexibly support multiple device numbers on point-to-point interconnect upstream ports
US7594134B1 (en) * 2006-08-14 2009-09-22 Network Appliance, Inc. Dual access pathways to serially-connected mass data storage units
US7676625B2 (en) * 2006-08-23 2010-03-09 Sun Microsystems, Inc. Cross-coupled peripheral component interconnect express switch
US7562264B2 (en) * 2006-09-06 2009-07-14 Intel Corporation Fault tolerant soft error detection for storage subsystems
US8285893B2 (en) * 2006-10-13 2012-10-09 Dell Products L.P. System and method for adaptively setting connections to input/output hubs within an information handling system
US7574551B2 (en) * 2007-03-23 2009-08-11 International Business Machines Corporation Operating PCI express resources in a logically partitioned computing system
US8305879B2 (en) * 2007-03-30 2012-11-06 International Business Machines Corporation Peripheral component switch having automatic link failover
US20090063894A1 (en) 2007-08-29 2009-03-05 Billau Ronald L Autonomic PCI Express Hardware Detection and Failover Mechanism
US20090089464A1 (en) * 2007-09-27 2009-04-02 Sun Microsystems, Inc. Modular i/o virtualization for blade servers
US7752346B2 (en) * 2007-12-21 2010-07-06 Aprius, Inc. Universal routing in PCI-Express fabrics
US7783818B1 (en) * 2007-12-28 2010-08-24 Emc Corporation Modularized interconnect between root complexes and I/O modules
US7934033B2 (en) * 2008-03-25 2011-04-26 Aprius, Inc. PCI-express function proxy
US8151145B2 (en) 2008-04-03 2012-04-03 Oracle America, Inc. Flow control timeout mechanism to detect PCI-express forward progress blockage
WO2009139489A1 (en) 2008-05-16 2009-11-19 日本電気株式会社 Pci express switch, pci express system, and network control method
US20090292854A1 (en) 2008-05-22 2009-11-26 Khoo Ken Use of bond option to alternate between pci configuration space
US8031731B2 (en) * 2008-06-09 2011-10-04 Oracle America, Inc. System for sharing a network port of a network interface including a link for connection to another shared network interface
US8595343B2 (en) 2008-11-14 2013-11-26 Dell Products, Lp System and method for sharing storage resources
US8346997B2 (en) * 2008-12-11 2013-01-01 International Business Machines Corporation Use of peripheral component interconnect input/output virtualization devices to create redundant configurations
US8144582B2 (en) 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
US8122274B2 (en) 2009-02-27 2012-02-21 International Business Machines Corporation Method, system and computer program product for certifying a timestamp of a data processing system
US20100280855A1 (en) 2009-04-30 2010-11-04 Vinay Gupta Management of a first stand-alone system used as a subsystem within a second system
JP5074457B2 (en) * 2009-06-04 2012-11-14 株式会社日立製作所 Computer system, switch switching method, and PCI switch
US9229859B2 (en) 2009-09-25 2016-01-05 Hewlett Packard Enterprise Development Lp Mapping non-prefetchable storage locations into memory mapped input/output space
US20110246686A1 (en) * 2010-04-01 2011-10-06 Cavanagh Jr Edward T Apparatus and system having pci root port and direct memory access device functionality
US8369296B2 (en) * 2010-04-26 2013-02-05 International Business Machines Corporation Distributed link aggregation
JP5481680B2 (en) 2010-04-28 2014-04-23 三菱電機株式会社 Semiconductor device and manufacturing method of semiconductor device
US9094564B2 (en) 2010-05-07 2015-07-28 Microsoft Technology Licensing, Llc Clock synchronization for shared media playback
US8286027B2 (en) * 2010-05-25 2012-10-09 Oracle International Corporation Input/output device including a mechanism for accelerated error handling in multiple processor and multi-function systems
US8055934B1 (en) * 2010-06-22 2011-11-08 International Business Machines Corporation Error routing in a multi-root communication fabric
US8677180B2 (en) * 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8677176B2 (en) 2010-12-03 2014-03-18 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
US8645746B2 (en) * 2010-12-03 2014-02-04 International Business Machines Corporation Cable redundancy and failover for multi-lane PCI express IO interconnections
US8495252B2 (en) * 2011-01-17 2013-07-23 International Business Machines Corporation Implementing PCI-express memory domains for single root virtualized devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007280237A (en) * 2006-04-11 2007-10-25 Nec Corp Pci express link, multi-host computer system and method of reconfiguring pci express link
JP2009267771A (en) * 2008-04-25 2009-11-12 Hitachi Ltd Information processor, and path control method
JP2010108211A (en) * 2008-10-30 2010-05-13 Hitachi Ltd Storage device and data path failover method for internal network of storage controller

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097553A (en) * 2011-10-31 2013-05-20 Fujitsu Ltd Switching control device, switching control method, information processor and switching control program
JP5859178B1 (en) * 2015-01-26 2016-02-10 三菱電機株式会社 Communication apparatus and method
KR20160104079A (en) 2015-01-26 2016-09-02 미쓰비시덴키 가부시키가이샤 Communication device and method
US9787543B2 (en) 2015-01-26 2017-10-10 Mitsubishi Electric Corporation Communication apparatus and communication method
DE112015000526B4 (en) 2015-01-26 2018-12-06 Mitsubishi Electric Corporation Communication device and communication method
JP2017201512A (en) * 2016-05-06 2017-11-09 廣達電腦股▲ふん▼有限公司 System and method for flexible hdd/ssd storage support

Also Published As

Publication number Publication date
CN102541790A (en) 2012-07-04
US20120144230A1 (en) 2012-06-07
US8799702B2 (en) 2014-08-05
US20130080825A1 (en) 2013-03-28
JP5739308B2 (en) 2015-06-24
US8677176B2 (en) 2014-03-18
CN102541790B (en) 2015-04-22

Similar Documents

Publication Publication Date Title
JP5739308B2 (en) Method, apparatus, and computer program for failover operation
JP5878656B2 (en) Method, apparatus, and computer program for cable redundancy and failover for multilane PCI Express IO interconnect
TWI756488B (en) SYSTEM AND METHOD FOR SUPPORTING MULTI-MODE AND/OR MULTI-SPEED NON-VOLATILE MEMORY (NVM) EXPRESS (NVMe) OVER FABRICS (NVMe-oF) DEVICES AND STORAGE DEVICE
US20180123685A1 (en) Rerouting bus data signals from faulty signal carriers to existing healthy signal carriers
US9292460B2 (en) Versatile lane configuration using a PCIe PIE-8 interface
US20180101453A1 (en) Implementing cable failover in multiple cable pci express io interconnections
CN110737611A (en) Memory system and method of selecting operation mode of memory device
KR102147629B1 (en) Flexible server system
JP2005141739A (en) Dynamic reconfiguration of pci express link
JP2007011682A (en) Storage control device and path switching method for it
KR102033112B1 (en) Peripheral Component Interconnect Express switch apparatus and method for controlling connection using the same
US7823027B2 (en) Data processing management apparatus, mode management apparatus and mode management method
CN112000189A (en) Server mainboard based on S2500 processor
CN110660429B (en) Storage system and storage control device
CN117609123A (en) Firmware automatic switching method and system for re-timer, electronic equipment and medium
JP2014106680A (en) Information processing device, degeneration method, and degeneration program
CN116467230A (en) Computer module
JP2018156218A (en) Path switching unit and path changeover method and path changeover program and computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150311

TRDD Decision of grant or rejection written
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150331

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150423

R150 Certificate of patent or registration of utility model

Ref document number: 5739308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees