IP Library Granted Patent US 9,665,513
Granted Patent B2
US 9,665,513 · App. 14/144,353 · Granted May 30, 2017

Systems and methods for automatic root port to non-transparent bridge switching for a PCI express interconnect architecture

Inventor: Paul S. Levy (Chandler, AZ)
Assignee: INTEL CORPORATION
G06F13/287G06F13/28
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 9,665,513
App. No.
14/144,353
Granted
May 30, 2017
Kind
B2
Abstract

Systems and methods consistent with the present disclosure include techniques for automatically switching a non-transparent bridge enabled root port (NeRP) device from a non-transparent bridge configuration state and a root port configuration state. A NeRP agent consistent with the present consistent includes a root port agent within a computing fabric network coupled to a first multiplexer and to a second multiplexer. The root port agent includes training circuitry to initiate a root port configuration state upon detection of a root port. Furthermore, the training circuitry also initiates a device configuration state upon detection of an endpoint port. A non-transparent bridge device is coupled to the first multiplexer and second multiplexer. In addition, an input/output (I/O) connector is coupled to the root port agent during the root port configuration state and coupled to the local NTB device and root port agent during the device configuration state.

Claims (37)

1. A device, comprising:

a root port agent within a computing fabric network to be coupled to a first selection device and to a second selection device;

wherein the root port agent includes training circuitry to detect a root port and an endpoint port connected to the computing fabric network;

a non-transparent bridge (NTB) device to be coupled to the first selection device and to the second selection device;

wherein the NTB device includes a translation table and configuration space notification functionality to define control message signaled interrupts and mailbox status; and

an input/output (I/O) connector to be coupled to the root port agent when the training circuitry detects an endpoint port attempting to connect to the computing fabric network whereas the I/O connector is to be coupled to the NTB device when the training circuitry detects a root port attempting to connect to the computing fabric network.

2. The device of claim 1 , wherein the first selection device and the second selection device are multiplexers.

3. The device of claim 1 , wherein when the training circuitry detects an endpoint port, the first selection device and the second selection device are configured in a first state.

4. The device of claim 1 , wherein when the training circuitry detects a root port, the first selection device and the second selection device are configured in a second state.

5. The device of claim 1 , wherein the NTB device includes a direct memory access (DMA) controller.

6. The device of claim 1 , wherein the training circuitry includes a delay timer component to determine whether a port device attempting to connect to the computing fabric network transitions from a Polling substate to a Configuration substate.

7. The device of claim 6 , wherein the computing fabric network hosts a root port and endpoint port connect thereto.

8. The device of claim 1 , wherein the computing fabric network is compliant with a Peripheral Compliant Interconnect Express (PCIe) protocol.

9. The device of claim 1 , wherein the NTB device includes a north port and the root port agent includes a south port.

10. A method, comprising:

coupling a root port agent within a computing fabric network to a first selection device and to a second selection device;

wherein the root port agent includes training circuitry to detect a root port and an endpoint port connected to the computing fabric network;

coupling a non-transparent bridge (NTB) device to the first selection device and to the second selection device;

wherein the NTB device includes a translation table and configuration space notification functionality to define control message signaled interrupts and mailbox status;

utilizing the training circuitry to detect a root port and an endpoint port connected to the computing fabric network; and

coupling an input/output (I/O) connector to the root port agent when the training circuitry detects an endpoint port connected to the computing fabric network and coupling the I/O connector to the NTB device when the training circuitry detects a root port connected to the computing fabric network.

11. The method of claim 10 further comprising hiding the NTB device when the training circuitry detects an endpoint port connected to the computing fabric network.

12. The method of claim 10 further comprising coupling the NTB device with the root port agent and I/O connector when the training circuitry detects a root port connected to the computing fabric network.

13. The method of claim 10 further comprising hiding the NTB device and the root port agent when the I/O connect is neither connected to an external system hierarchy nor a peripheral device.

14. The method of claim 10 , wherein the root port agent and the NTB device are coupled to the computing fabric network by a PCIe compliant link.

15. The method of claim 10 , wherein detecting a root port includes sensing a device transition to a configuration training mode.

16. A non-transparent bridge enabled root port (NeRP) agent, comprising:

a root port agent within a computing fabric network to be coupled to a first multiplexer and to a second multiplexer;

wherein the root port agent includes training circuitry to initiate a root port configuration state upon detection of a root port or otherwise initiate a device configuration state upon detection of an endpoint port;

wherein the training circuitry includes a random timer such that the training circuitry has enough time to determine a type of port device connected to the computing fabric network;

a non-transparent bridge (NTB) device to be coupled to the first multiplexer and to the second multiplexer;

wherein the NTB device includes a translation table and configuration space notification functionality to define control message signaled interrupts and mailbox status; and

an input/output (I/O) connector to be coupled to the root port agent during the root port configuration state and to be coupled to the NTB device during the device configuration state.

17. The NeRP agent of claim 16 , wherein the training circuitry determines the type of device port connected to the computing fabric network by waiting for the port device to transition from a Polling substate to a Configuration substate.

18. The NeRP agent of claim 16 , wherein the NeRP agent configures to a port that is the opposite of a port configuration of an external NeRP agent coupled thereto.

19. The NeRP agent of claim 16 , wherein the NeRP agent is configured to transition from a Polling substate to a Configuration substate at a delayed time upon detection of an external NeRP agent coupled thereto.

20. The NeRP agent of claim 19 , wherein the random timer is to extend transition from a Polling substate to a Configuration substate to any random time between 0.5 ms and 1.7 ms.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2014
From: LEVY, PAUL S.
To: INTEL CORPORATION
Reel/Frame 032753/0383 →
Continuity (1)
Related Publication 20150186310A1 · Jul 2, 2015