IP Library Granted Patent US 10,387,348
Granted Patent B2
US 10,387,348 · App. 15/942,922 · Granted Aug 20, 2019

PCI express tunneling over a multi-protocol I/O interconnect

Inventors: David J. Harriman (Portland, OR); Maxim Dan (Haifa, IL)
Assignee: Intel Corporation
G06F13/4022G06F13/387G06F13/4295G06F2213/0026
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,387,348
App. No.
15/942,922
Granted
Aug 20, 2019
Kind
B2
Abstract

Described are embodiments of methods, apparatuses, and systems for PCIe tunneling across a multi-protocol I/O interconnect of a computer apparatus. A method for PCIe tunneling across the multi-protocol I/O interconnect may include establishing a first communication path between ports of a switching fabric of a multi-protocol I/O interconnect of a computer apparatus in response to a peripheral component interconnect express (PCIe) device being connected to the computer apparatus, and establishing a second communication path between the switching fabric and a PCIe controller. The method may further include routing, by the multi-protocol I/O interconnect, PCIe protocol packets of the PCIe device from the PCIe device to the PCIe controller over the first and second communication paths. Other embodiments may be described and claimed.

Claims (33)

1. An apparatus, comprising:

a processor comprising one or more cores;

a data switching fabric coupled to the processor, to encode and communicate data from the processor, according to at least a first input/output (I/O) protocol or a second I/O protocol, wherein to encode the data, the data switching fabric encapsulates the data into data packets according to the first I/O protocol or the second I/O protocol; and

a multi-protocol port coupled to the data switching fabric, to forward the encoded data to a device capable of being coupled to the multi-protocol port, according to the first I/O protocol or the second I/O protocol, wherein the multi-protocol port supports a plurality of I/O protocols, including the first and the second I/O protocols, wherein the data packets comprise a packet header, wherein the packet header comprises a protocol defined field to maintain synchronization between the multi-protocol port and a corresponding port of the device capable of being coupled to the multi-protocol port.

2. The apparatus of claim 1 , wherein the data is first data, wherein the data switching fabric is further to decode and communicate second data to the processor, wherein the second data is provided by the device via the multi-protocol port, according to the first I/O protocol or the second I/O protocol.

3. The apparatus of claim 2 , wherein to decode the second data, the data switching fabric extracts the second data from data packets formed according to the first I/O protocol or the second I/O protocol.

4. The apparatus of claim 1 , wherein the device is a memory device.

5. The apparatus of claim 1 , wherein one of the first I/O protocol or the second I/O protocol is PCIe protocol.

6. The apparatus of claim 1 , wherein the apparatus comprises a desktop computer.

7. A method, comprising:

encoding and communicating data, by a data switching fabric of an apparatus coupled to a processor of the apparatus, comprising one or more cores, from the processor, according to at least a first or second input/output (I/O) protocol, wherein the encoding of the data includes encapsulating, by the data switching fabric, the data into data packets according to the first I/O protocol or the second I/O protocol; and

forwarding the encoded data, by a multi-protocol port of the apparatus coupled to the data switching fabric of the apparatus, to a device coupled to the multi-protocol port, according to the first I/O protocol or the second I/O protocol, wherein the multi-protocol port supports a plurality of I/O protocols, including the first and the second I/O protocols, wherein the data packets comprise a packet header, the packet header comprising a protocol defined field to maintain synchronization between the multi-protocol port of the apparatus and a corresponding port of the device coupled to the multi-protocol port.

8. The method of claim 7 , wherein the data is first data, wherein the method further comprises:

forwarding, by the multi-protocol port, second data provided by the device; and

decoding and communicating the second data, by the data switching fabric, to the processor, according to the first I/O protocol or the second I/O protocol.

9. The method of claim 8 , wherein decoding the second data includes extracting, by the data switching fabric, the second data from data packets formed according to the first I/O protocol or the second I/O protocol.

10. A server, comprising:

a processor comprising one or more cores;

a data switching fabric coupled to the processor, to encode and communicate data from the processor, according to at least a first input/output (I/O) protocol or a second I/O protocol;

a multi-protocol port coupled to the data switching fabric, to forward the encoded data according to the first I/O protocol or the second I/O protocol, wherein the multi-protocol port supports a plurality of I/O protocols, including the first and the second I/O protocols, wherein to encode the data, the data switching fabric encapsulates the data into data packets according to the first I/O protocol or the second I/O protocol; and

an expansion port coupled to the multi-protocol port, to provide for connection of at least first and second devices to the processor, wherein the first device is to communicate with the processor according to one of the first or second I/O protocols, and the second device is to communicate with the processor according to another one of the first or second I/O protocols, wherein the packets comprise a packet header, wherein the packet header comprises a protocol defined field to maintain synchronization between the multi-protocol port and a corresponding port of the first or second device.

11. The server of claim 10 , wherein the data is first data, wherein the data switching fabric is further to decode and communicate second data to the processor, wherein the second data is provided by the device via the multi-protocol port, according to the first I/O protocol or the second I/O protocol.

12. The server of claim 11 , wherein to decode the second data, the data switching fabric extracts the second data from data packets formed according to the first I/O protocol or the second I/O protocol.

13. The server of claim 10 , wherein one of the first I/O protocol or the second I/O protocol is PCIe protocol.

14. A mobile device, comprising:

a processor comprising one or more cores;

a data switching fabric coupled to the processor, to encode and communicate data from the processor, according to at least a first input/output (I/O) protocol or a second I/O protocol, wherein to encode the data, the data switching fabric encapsulates the data into data packets according to the first I/O protocol or the second I/O protocol;

a multi-protocol port coupled to the data switching fabric, to forward the encoded data according to the first I/O protocol or the second I/O protocol, wherein the multi-protocol port supports a plurality of I/O protocols, including the first and the second I/O protocols; and

a device coupled to the multi-protocol port to communicate with the processor according to the first I/O protocol or the second I/O protocol, wherein the data packets comprise a packet header, wherein the packet header comprises a protocol defined field to maintain synchronization between the multi-protocol port and a corresponding port of the device coupled to the multi-protocol port.

15. The mobile device of claim 14 , wherein the data is first data, wherein the data switching fabric is further to decode and communicate second data to the processor, wherein the second data is provided by the device via the multi-protocol port, according to the first I/O protocol or the second I/O protocol.

16. The mobile device of claim 15 , wherein to decode the second data, the data switching fabric extracts the second data from data packets formed according to the first I/O protocol or the second I/O protocol.

17. The mobile device of claim 15 , wherein the device comprises a display device.

18. The mobile device of claim 15 , further comprising communication circuitry coupled with the processor, to provide data communications for the mobile device in accordance with one or more wireless communication protocols.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →
Continuity (4)
Continuation 15005279 · Jan 25, 2016
Continuation 14301100 · Jun 10, 2014
Continuation 13369140 · Feb 8, 2012
Related Publication 20180357195A1 · Dec 13, 2018
Cited By (1)
US 12,411,787