IP Library Granted Patent US 10,572,426
Granted Patent B2
US 10,572,426 · App. 14/728,462 · Granted Feb 25, 2020

System-level redundancy in PCI express equipment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,572,426
App. No.
14/728,462
Granted
Feb 25, 2020
Kind
B2
Abstract

A data processing system is implemented with a backup PCI Express system, which is able to take over as the primary PCI Express system for ensuring that the endpoint devices continue to function in a desired manner when the initial primary root complex is no longer functioning correctly. Each of the endpoint devices is coupled to the initial primary root complex and a backup root complex through a multiplexer. When a failure of the initial primary root complex is detected, the backup root complex signals each multiplexer to switch the communication of data from occurring between the initial primary root complex and the endpoint devices to then occur between the backup root complex and the endpoint devices.

Claims (43)

1. A data processing system comprising:

a first PCI Express root complex;

a first PCI Express endpoint device;

a second PCI Express root complex; and

a first multiplexer coupling the first PCI Express root complex to the first PCI Express endpoint device for communication of data between the first PCI Express root complex and the first PCI Express endpoint device, wherein the first multiplexer includes circuitry configured to switch the communication of the data to occur between the PCI Express endpoint device and the second PCI Express root complex, wherein the circuitry configured to switch the communication of the data to occur between the first PCI Express endpoint device and the second PCI Express root complex includes circuitry configured to terminate the communication of the data between the first PCI Express root complex and the first PCI Express endpoint device, wherein the circuitry configured to switch the communication of the data to occur between the first PCI Express endpoint device and the second PCI Express root complex is configured to perform the switch in response to receipt by the first multiplexer of a switch signal generated in response to a failure of the first PCI Express root complex to function correctly.

2. The system as recited in claim 1 , wherein the first multiplexer further comprises circuitry configured to switch the communication of the data to occur between the first PCI Express endpoint device and the second PCI Express root complex instead of between the first PCI Express endpoint device and the first PCI Express root complex.

3. The system as recited in claim 2 , further comprising a first PCI Express switching device coupled between the second PCI Express root complex and the first PCI Express endpoint device.

4. The system as recited in claim 1 , further comprising:

a first processor coupled to the first PCI Express root complex;

a first memory system coupled to the first PCI Express root complex;

a second processor coupled to the second PCI Express root complex; and

a second memory system coupled to the second PCI Express root complex, wherein during communication of data to occur between the PCI Express endpoint device and the second PCI Express root complex, the data is communicated between the second processor and the PCI Express endpoint device.

5. The system a recited in claim 1 , further comprising:

a second PCI Express endpoint device; and

a second multiplexer coupling the second PCI Express endpoint device to the first PCI Express root complex, wherein the second multiplexer includes circuitry configured to switch the communication of the data to occur between the second PCI Express root complex and the second PCI Express endpoint device, wherein the second multiplexer further includes circuitry configured to terminate the communication of the data between the first PCI Express root complex and the second PCI Express endpoint device.

6. The system as recited in claim 1 , further comprising a PCI Express Link between the first and second PCI Express root complexes.

7. The system as recited in claim 1 , further comprising:

circuitry configured to communicate a fault signal from the first PCI Express root complex to the second PCI Express root complex; and

circuitry configured to generate the switch signal in response to receipt of the fault signal.

8. The system as recited in claim 1 , wherein the first multiplexer is a SERDES multiplexer.

9. A method comprising:

communicating data between a hierarchy of N endpoint devices, where N is greater than or equal to 1, and a first PCI Express root complex device, wherein each of the N endpoint devices is coupled to the first PCI Express root complex via a multiplexer; and

signaling the multiplexer to switch communication of the data to occur between the hierarchy of N endpoint devices and a second PCI Express root complex device, wherein the signaling the multiplexer to switch communication of the data to occur between the hierarchy of N endpoint devices and the second PCI Express root complex device is performed in response to a failure of the first PCI Express root complex to satisfactorily communicate the data between the first PCI Express root complex and at least one of the N endpoint devices.

10. The method as recited in claim 9 , wherein the signaling the multiplexer to switch communication of the data to occur between the hierarchy of N endpoint devices and the second PCI Express root complex device is performed in response to a failure of the first PCI Express root complex to function correctly.

11. The method as recited in claim 9 , further comprising communicating the data between the hierarchy of N endpoint devices and the second PCI Express root complex while terminating the communication of the data between the hierarchy of N endpoint devices and the first PCI Express root complex subsequent to the multiplexer switching communication of the data to occur between the hierarchy of N endpoint devices and the second PCI Express root complex device.

12. The method as recited in claim 11 , further comprising communicating the failure from the first PCI Express root complex to the second PCI Express root complex, wherein the signaling the multiplexer to switch communication of the data to occur between the hierarchy of N endpoint devices and the second PCI Express root complex device further comprises sending a selection signal from the second PCI Express root complex to the multiplexer, wherein the communicating the data between the hierarchy of N endpoint devices and the second PCI Express root complex while terminating the communication of the data between the hierarchy of N endpoint devices and the first PCI Express root complex is performed by the multiplexer in response to receipt of the selection signal.

13. The method as recited in claim 12 , further comprising:

signaling the multiplexer to switch communication of the data to occur between the hierarchy of N endpoint devices and the first PCI Express root complex device; and

communicating the data between the hierarchy of N endpoint devices and the first PCI Express root complex while terminating the communication of the data between the hierarchy of N endpoint devices and the second PCI Express root complex subsequent to the multiplexer switching communication of the data to occur between the hierarchy of N endpoint devices and the first PCI Express root complex device.

14. A data processing system comprising:

a first PCI Express root complex;

a PCI Express endpoint device;

a first processor coupled to the first PCI Express root complex;

a second PCI Express root complex;

a second processor coupled to the second PCI Express root complex; and

a multiplexer coupled between the first PCI Express root complex and the PCI Express endpoint device,

wherein the multiplexer further comprises:

a first data path operable for communication of data between the first PCI Express root complex and the PCI Express endpoint device;

a second data path operable for communication of data between the second PCI Express root complex and the PCI Express endpoint device; and

circuitry configured to switch between enablement of the first data path and the second data path, wherein the circuitry configured to switch between enablement of the first data path and the second data path includes circuitry configured to perform the switch in response to receipt by the multiplexer of a signal generated in response to a failure of the first PCI Express root complex to communicate data between the PCI Express endpoint device and the first processor.

15. The system as recited in claim 14 , wherein the multiplexer is configured to communicate the data over the second data path and not communicate the data over the first data path subsequent to the enablement of the second data path.

16. The system as recited in claim 14 , wherein the multiplexer is operably connected to the first PCI Express root complex via a first Link comprising one or more first Lanes, wherein the multiplexer is connected to the PCI Express endpoint device via a second Link comprising one or more second Lanes, and wherein the multiplexer is operably connected to the second PCI Express root complex via a third Link comprising one or more third Lanes.

17. The system as recited in claim 8 , wherein the SERDES multiplexer has a first set of I/O lines coupled to the first PCI Express endpoint device, a second set of I/O lines coupled to the first PCI Express root complex, and a third set of I/O lines coupled to the second PCI Express root complex, wherein the SERDES multiplexer has a selection line for receiving a selection signal instructing the SERDES multiplexer to switch the communication of the data to occur between the first PCI Express endpoint device and the second PCI Express root complex.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →