US11044196B2 - Multi-protocol I/O interconnect including a switching fabric - Google Patents
Multi-protocol I/O interconnect including a switching fabric Download PDFInfo
- Publication number
- US11044196B2 US11044196B2 US16/138,612 US201816138612A US11044196B2 US 11044196 B2 US11044196 B2 US 11044196B2 US 201816138612 A US201816138612 A US 201816138612A US 11044196 B2 US11044196 B2 US 11044196B2
- Authority
- US
- United States
- Prior art keywords
- protocol
- data
- data flow
- specific controller
- fabric
- 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.)
- Active
Links
- 239000004744 fabric Substances 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000002093 peripheral effect Effects 0.000 claims description 42
- 238000012545 processing Methods 0.000 claims description 19
- 238000004891 communication Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 2
- 230000005641 tunneling Effects 0.000 abstract description 21
- 238000011144 upstream manufacturing Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- WDQKVWDSAIJUTF-GPENDAJRSA-N via protocol Chemical compound ClCCNP1(=O)OCCCN1CCCl.O([C@H]1C[C@@](O)(CC=2C(O)=C3C(=O)C=4C=CC=C(C=4C(=O)C3=C(O)C=21)OC)C(=O)CO)[C@H]1C[C@H](N)[C@H](O)[C@H](C)O1.C([C@H](C[C@]1(C(=O)OC)C=2C(=C3C([C@]45[C@H]([C@@]([C@H](OC(C)=O)[C@]6(CC)C=CCN([C@H]56)CC4)(O)C(=O)OC)N3C=O)=CC=2)OC)C[C@@](C2)(O)CC)N2CCC2=C1NC1=CC=CC=C21 WDQKVWDSAIJUTF-GPENDAJRSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/52—Multiprotocol routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/111—Switch interfaces, e.g. port details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
- H04L49/1553—Interconnection of ATM switching modules, e.g. ATM switching fabrics
- H04L49/1576—Crossbar or matrix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
Definitions
- Embodiments of the present disclosure relate generally to multi-protocol tunneling across a multi-protocol I/O interconnect of a computer apparatus.
- a computer may include one or more of a USB-specific controller that connects to a peripheral device via a USB-specific connection interface, a display-specific controller (e.g., DisplayPort) that connects to a peripheral device via a display-specific connection interface, a PCI Express®-controller that connects to a peripheral device via a PCI Express®-specific connection interface, and so on.
- a USB-specific controller that connects to a peripheral device via a USB-specific connection interface
- a display-specific controller e.g., DisplayPort
- PCI Express®-controller that connects to a peripheral device via a PCI Express®-specific connection interface
- FIG. 1 describes a computer apparatus including a multi-protocol tunneling I/O interconnect, in accordance with various embodiments of the present disclosure.
- FIG. 2 describes a computer system including a multi-protocol tunneling I/O interconnect, in accordance with various embodiments of the present disclosure.
- FIG. 3 describes a switching fabric of a multi-protocol tunneling I/O interconnect, in accordance with various embodiments of the present disclosure.
- FIG. 4 describes a protocol stack for a multi-protocol interconnect architecture of an I/O complex, in accordance with various embodiments of the present disclosure.
- FIG. 5 describes an implementation of a protocol stack for a multi-protocol interconnect architecture of an I/O complex, in accordance with various embodiments of the present disclosure.
- FIG. 6A describes a physical topology of a domain of switches
- FIG. 6B describes a spanning tree for managing the domain of FIG. 6A , in accordance with various embodiments of the present disclosure.
- FIG. 7 describes a spanning tree in a domain, in accordance with various embodiments of the present disclosure.
- FIG. 8 describes a format of a route string for routing configuration packets in a domain, in accordance with various embodiments of the present disclosure.
- FIG. 9 describes a format of a topology ID configuration register, in accordance with various embodiments of the present disclosure.
- FIG. 10 describes connections that may be established between multiple domains, in accordance with various embodiments of the present disclosure.
- FIG. 11 describes a multi-protocol tunneling I/O complex and interconnect, in accordance with various embodiments of the present disclosure.
- FIG. 12 describes a multi-protocol tunneling I/O complex and interconnect, in accordance with various embodiments of the present disclosure.
- FIG. 13 describes a device (e.g., a peripheral device) including a multi-protocol tunneling I/O interconnect connected with a multi-protocol tunneling I/O interconnect, both in accordance with various embodiments of the present disclosure.
- FIG. 14 is a flow diagram of a method for configuring a multi-protocol tunneling I/O interconnect, in accordance with various embodiments of the present disclosure.
- FIG. 15 is a flow diagram of a method for operating a computer apparatus including a multi-protocol tunneling I/O interconnect, in accordance with various embodiments of the present disclosure.
- FIG. 16 describes an article of manufacture having programming instructions configured to cause an apparatus to practice some or all aspects of multi-protocol tunneling (of the methods of FIG. 15 and FIG. 16 , for example), in accordance with embodiments of the present disclosure.
- the phrase “in some embodiments” is used repeatedly. The phrase generally does not refer to the same embodiments; however, it may.
- the terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise.
- the phrase “A and/or B” means (A), (B), or (A and B).
- the phrase “A/B” means (A), (B), or (A and B), similar to the phrase “A and/or B”.
- the phrase “at least one of A, B and C” means (A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C).
- the phrase “(A) B” means (B) or (A and B), that is, A is optional.
- FIG. 1 describes a computer apparatus 100 including a multi-protocol tunneling I/O interconnect 108 in accordance with various embodiments.
- the computer apparatus 100 may include one or more processors 102 .
- the one or more processors 102 may include one core or multiple cores.
- the apparatus 100 may be a multiprocessor system (not shown) where each of the processors has one core or multiple cores.
- the one or more processors 102 may be operatively coupled to system memory 104 through one or more links (e.g., interconnects, buses, etc).
- System memory 104 may be capable of storing information that the one or more processors 100 utilize to operate and execute programs and operating systems.
- system memory 104 may be any usable type of readable and writeable memory such as a form of dynamic random access memory (DRAM).
- DRAM dynamic random access memory
- an I/O link connecting a peripheral device to a computer system is protocol-specific with a protocol-specific connector port that allows a compatible peripheral device to be attached to the protocol-specific connector port (i.e., a USB keyboard device would be plugged into a USB port, a router device would be plugged into a LAN/Ethernet port, etc.) with a protocol-specific cable.
- a compatible peripheral device i.e., a USB keyboard device would be plugged into a USB port, a router device would be plugged into a LAN/Ethernet port, etc.
- Any single connector port would be limited to peripheral devices with a compatible plug and compatible protocol. Once a compatible peripheral device is plugged into the connector port, a communication link would be established between the peripheral device and a protocol-specific controller.
- the one or more processors 102 may be operatively coupled to an I/O complex 106 , which may house one or more multi-protocol I/O interconnects 108 configured to control one or more I/O links that allow the one or more processors 102 to communicate with one or more I/O peripheral devices 110 .
- the I/O interconnect 108 may include a multi-protocol switching fabric 114 configured to carry multiple I/O protocols.
- the multi-protocol switching fabric 114 may comprise a plurality of cross-bar switches.
- I/O peripheral devices 110 may include a display device, a keyboard device, an expansion port, a desktop or mobile computer system, or a router, among other devices.
- a non-protocol-specific connector port 112 may be configured to couple the I/O interconnect 108 with a connector port (not shown) of the device 110 , allowing multiple device types to attach to the computer system 100 through a single physical connector port 112 .
- the I/O link between the device 110 and the I/O complex 106 may be configured to carry multiple I/O protocols (e.g., PCI Express®, USB, DisplayPort, HDMI®, etc.) simultaneously.
- the connector port 112 may be capable of providing the full bandwidth of the link in both directions with no sharing of bandwidth between ports or between upstream and downstream directions.
- the connection between the I/O interconnect 108 and the device 110 may support electrical connections, optical connections, or both.
- the apparatus 100 may be a stand-alone device or may be incorporated into various systems including, but not limited to, various computing and/or consumer electronic devices/appliances, such as desktop computing device, a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet, a netbook, etc.), mobile phones, smart phones, personal digital assistants, servers, workstations, set-top boxes, digital reorders, game consoles, digital media players, and digital cameras.
- a block diagram of an example system 200 is illustrated in FIG. 2 .
- the system 200 may comprise one or more processor(s) 202 , system memory 204 , and an I/O complex 206 , all operatively coupled by a bus 115 .
- the I/O complex 206 may include one or more multi-protocol I/O interconnects 208 , each of which include a switching fabric 214 and control one or more I/O links that allow the one or more processors 202 to communicate with one or more I/O peripheral devices 210 .
- the system 200 may have more or fewer components, and/or different architectures.
- the system 200 may include communications interface(s) 217 operatively coupled to the bus 215 to provide an interface for system 200 to communicate over one or more networks and/or with any other suitable device.
- the communications interface(s) 217 may include any suitable hardware and/or firmware.
- the communications interface(s) 217 for one embodiment may include, for example, a network adapter, a wireless network adapter, a telephone modem, and/or a wireless modem.
- the communications interface(s) 217 for one embodiment may include a wireless network interface controller 219 having one or more antennae 221 to establish and maintain a wireless communication link with one or more components of a wireless network.
- the system 200 may wirelessly communicate with the one or more components of the wireless network in accordance with any of one or more wireless network standards and/or protocols.
- the system 100 may include a display device 223 , such as, for example, a cathode ray tube (CRT), liquid crystal display (LCD), light emitting diode (LED), or other suitable display device, operatively coupled to the bus 215 for displaying information.
- the display device 223 may be a peripheral device interconnected with the system 200 .
- such a peripheral display device may be interconnected with the I/O complex 206 by way of the multi-protocol port 212 .
- one or more of the various I/O interconnects described herein may include, among other things, a multi-protocol switching fabric 314 comprising a plurality of cross-bar switches, as shown in FIG. 3 .
- the multi-protocol switching fabric 314 may be similar to other multi-protocol switching fabrics described herein.
- the switches 316 a , 316 b are devices comprising multiple ports 320 s , 320 b , 322 a with the ability to route a packet from any input port to any output port.
- the switches 316 a , 316 b may comprise any number of ports 320 s , 320 b , 322 a , with each additionally including an internal control port 326 a , 326 b .
- the switches 316 a , 316 b may each optionally include a time management unit 330 a , 330 b for use in distributing and synchronizing time throughout the multi-protocol switching fabric 314 , as described more fully herein.
- Switch 316 a may represent a first type of switch including null ports 320 a configured to connect to a single optical or electrical link, while adapter ports 322 a may be configured to connect to one or more mapped I/O protocol links.
- the adapter ports 322 a may be used to connect mapped I/O protocol entities to the multi-protocol switching fabric 314 .
- the term “adapter” may be used to refer to the protocol adaptation function that may be built into the switch port to encapsulate the mapped I/O protocol packets into I/O packets that flow over the multi-protocol switching fabric 314 .
- Switch 316 b may represent a second type of switch including only null ports 320 b (like null ports 320 a ) configured to connect to a single optical or electrical link.
- switches 316 a , 316 b depicted in FIG. 3 each include four adapter ports 322 a and four null ports 320 a , 320 b , the actual number of ports 320 a , 320 b , 322 a may be fewer or more than that shown.
- a switch implementation In order to provide connectivity between switches 316 a , 316 b , a switch implementation generally minimally includes either at least one null port and at least one adapter port, or at least two null ports.
- the multi-protocol switching fabric 314 may comprise one or more of the first type of switches 316 a and one or more of the second type of switches 316 b.
- connection manager (not illustrated) may be provided.
- the connection manager may be implemented in software, firmware, as logic within an I/O complex, as part of a system BIOS, or within an operating system running on a computer apparatus or system in which the I/O complex is included.
- the electrical and optical sublayers, the logical sublayer, the transport layer, and the frame layer may define the base multi-protocol interconnect architecture of the I/O complex, in which the physical layer comprises the electrical, optical, and logical sublayers.
- the mapped protocol layers may describe the mapping of the specific I/O protocols onto the multi-protocol interconnect architecture.
- the transport layer may be implemented by all ports 320 a , 320 b , 322 a of the switches 316 a , 316 b of the multi-protocol switching fabric 314
- the physical layer may be implemented by all null ports 320 a , 320 b
- the adapter ports 322 a may implement a single mapped protocol layer or the frame layer.
- FIG. 5 An example implementation of the protocol layering is shown in FIG. 5 .
- two protocols are implemented using switches 516 a , 516 b , 516 c , 516 d .
- Each of the switches 516 a , 516 b , 516 c , 516 d include control ports 526 a , 526 b , 526 c , 526 d , and time management units 530 a , 530 b , 530 c , 530 d.
- the adapter ports 522 a 1 , 522 c implement a first protocol layer (or frame layer) “protocol 1 ,” and adapter ports 522 a 2 , 522 d implement a second protocol layer (or frame layer) “protocol 2 .” All ports implement the transport layer, while the physical layer is implemented by all null ports 520 a , 520 b , 520 c , 520 d.
- a link (e.g., link 532 ) between ports of switches may effectively be shared by multiple paths traversing the fabric between adapter ports of the multi-protocol switching fabric.
- the multi-protocol interconnect architecture may be connection-oriented such that a path is configured end-to-end before data transfer takes place.
- the path may traverse one or more links through the multi-protocol switching fabric, and each hop, the path may be assigned a locally unique identifier that may be carried in the header of all the packets that are associated with the path.
- packets belonging to the path may not be reordered within the multi-protocol switching fabric. Buffer allocation (flow control) and Quality of Service may be implemented on a per-path basis.
- a path may provide virtual-wire semantics for a mapped I/O protocol across the multi-protocol switching fabric.
- the physical topology of a collection of switches may be an arbitrarily interconnected graph.
- FIG. 6A shows an example of a physical topology of a domain of switches 1 - 6 .
- a domain is a management concept rather than an operational one.
- a connection manager as described earlier, may configure the domains of a switching fabric.
- a multi-protocol apparatus may be configured to create a spanning tree (by way of the connection manager, for example).
- FIG. 6B shows an example spanning tree created for managing the domain of FIG. 6A in which the switch 1 at the top of the spanning tree may be referred to as the root switch.
- a spanning tree may include any suitable number of levels. In various embodiments, the maximum number of levels of the spanning tree may be seven.
- FIG. 7 shows an example of a spanning tree in a domain. Also shown are example assignments of unique topology IDs to each of the switches in the domain.
- switch J has a topology ID of 0,4,1,1,2,1,8.
- unique topology IDs may be assigned to every switch of a domain and each topology ID may represent the position of the switch within the spanning tree of the domain.
- the assignment of the topology IDs may be done by the connection manager during initialization in which the domains may be created by enumerating the switches that are reachable and the topology IDs may be assigned for each switch.
- the domain includes seven levels (levels 0-6), and the topology IDs of each of the switches are sequences of seven port numbers representing the egress ports at each level of the tree on the path, from the root switch to itself.
- the topology ID of a switch at a depth of X may contain a non-zero port number for levels 0 to X ⁇ 1.
- the port number at depth X may be 0 denoting the control port of the switch at depth X.
- the port numbers from depth X+1 to 6 may be treated as “don't care” and may be set at 0.
- the control port at the root switch has a topology ID of 0,0,0,0,0,0.
- the routing of configuration packets flowing downstream may be based on the topology ID of the target switch.
- the configuration packets may be routed in the transport layer packet header.
- configuration packets flowing upstream may not use the topology ID and may simply be forwarded over the upstream port of each switch.
- every configuration packet carries a route string included in its payload.
- An example format of the route string is shown in FIG. 8 .
- the route string may essentially be the topology ID of the switch to which the configuration request is sent or from which the configuration response originates.
- the MSB bit (CM bit) of the route string may be set to 0 when the configuration message is flowing downstream (from the connection manager to the switch) and set to 1 if the message is flowing in the upstream direction.
- each switch may be configured with its topology ID and its level in the spanning tree by the connection manager. Each switch may also be configured with the port number that points upstream to the connection manager of the domain either through hardware strapping or other similar mechanisms.
- the topology ID, depth (in the tree), and upstream facing port may be configuration registers in the switch configuration space of every switch that are initialized by the connection manager during enumeration.
- An example format of the topology ID configuration register is shown in FIG. 9 .
- the MSB of the topology ID may be a valid flag, which may be set to 0 on reset and set to 1 by the connection manager when the topology ID is initialized.
- the reserved bits of the topology ID may be set to 0.
- Configuration packets flowing down the tree may be routed by the control port of a switch in accordance with one or more rules.
- the control port of the switch may be required to extract the port from the route string that corresponds to its configured level in the tree.
- the control port may be required to consume the packet.
- the control port may be required to forward the packet over the switch port that matches the port extracted from the route string.
- configuration packets flowing up the spanning tree may simply be forwarded over the configured upstream facing port.
- FIG. 10 shows example connections that may be established between multiple domains. As shown, switches 1 - 6 of Domain 1 may be interconnected with switches A-E of Domain 2.
- inter-domain links may be discovered either when the connection manager performs the initial discovery of the topology following power-on or by processing a hot-plug event.
- a link may be designated to be an inter-domain link when a read of the switch configuration space of the switch across the link results in an ERROR packet being sent that shows that the topology ID field has been previously assigned.
- the connection manager may notify system software. The mechanism used to deliver the notification may be implementation-defined.
- the transport layer may only define the routing of inter-domain configuration packets between the two connection managers of the domains that are connected by an inter-domain link. Routing of configuration packets across multiple domains may be controlled by system software. When domains are daisy-chained, configuration packets passing from the originating domain may be delivered to the connection managers of every domain along the path to the target domain. The connection managers of the intermediate domains may pass the configuration packets to the system software which may be responsible for relaying the packet across the inter-domain link towards the target domain.
- the routing of inter-domain REQUEST packets may be in accordance with one or more rules.
- system software on the originating domain may form REQUEST packet with a route string that points to the egress port of the domain that connects to the inter-domain link over which the packet must be forwarded and the CM bit may be set to 0.
- the packet may be required to be routed based on the route string at each hop within the domain and forwarded over the egress port across the inter-domain link.
- the control port may remap the route string to point to the ingress port over which the packet was received and the CM bit may be set to 1.
- the packet may then be required to be routed to the connection manager of the receiving domain like other intra-domain configuration packets.
- the packet may be required to be delivered by the connection manager of the receiving domain to system software.
- system software that constructs the RESPONSE packet may use the route string in the corresponding REQUEST packet with the CM bit set to 0.
- the transport layer may employ a hierarchical, credit-based flow control scheme with respect to flow through the multi-protocol switching fabric to prevent or minimize overflow of receive buffers due to congestion.
- the flow control scheme may allow a receiver to implement various buffer allocation strategies ranging from dedicated buffers per-path to shared buffer pools that are dynamically shared by multiple paths.
- flow control may be turned off on a per-path basis. When flow control is turned off for a path, the path may be required to be provisioned with a receive buffer that can hold at least one maximum sized transport layer packet at each link.
- FIG. 11 shows an example I/O complex 1106 in accordance with various embodiments.
- I/O complex 1106 may be similar to the I/O complex 106 of FIG. 1 , including an I/O interconnect 1108 configured to couple with a device 1110 .
- the device 1110 may be configured with one or more I/O protocols (e.g., PCI Express®, USB, DisplayPort, HDMI®, etc.).
- the I/O complex 1106 may be configured to connect the device 1110 with one or more protocol-specific controllers 1109 a , 1109 b , . . . 1109 n via the I/O interconnect 1108 in order to tunnel multiple I/O protocols over a common link in a manner that is transparent to the OS software stacks of tunneled I/O protocols.
- the protocol-specific controllers 1109 a , 1109 b , . . . 1109 n may be configured to then communicate with respective protocol-specific drivers in the OS for configuring the device 1110 as if the device 1110 was directly connected with the protocol-specific controller 1109 a , 1109 b , . . . 1109 n.
- FIG. 12 shows an example hardware and software implementation of a multi-protocol apparatus (such as apparatus 100 of FIG. 1 , for example) configured to tunnel multiple I/O protocols over a common link in a manner that is transparent to operating system software stacks of tunneled I/O protocols.
- a multi-protocol apparatus may employ a multi-level hot-plug signaling scheme to support the tunneling of multiple I/O protocols over a common interconnect in a software-transparent manner.
- an I/O hot-plug indication may be sent by the I/O interconnect 1208 to the I/O driver in the OS (or to embedded I/O firmware) when the device 1210 is plugged into the non-protocol-specific connector port 1212 of the apparatus 1200 .
- the hot-plug indication may then be processed by the I/O driver 1213 in the OS/firmware, resulting in communication path(s) being established between the I/O interconnect 1208 and the device 1210 .
- establishing communication path(s) may include configuring one or more paths between a source adapter and a destination adapter in a domain (described more fully elsewhere).
- mapped I/O protocol-specific configuration may be performed in which a protocol-specific hot-plug indication may be sent by the associated protocol-specific controller 1209 a , 1209 b , . . . 1209 n to the respective protocol-specific driver 1211 a , 1211 b , . . . 1211 n in the OS/firmware.
- the protocol-specific driver 1211 a , 1211 b , . . . 1211 n may then configure the associated protocol-specific controller 1209 a , 1209 b , . . . 1209 n as if the device 1210 was directly connected with the protocol-specific controller 1209 a , 1209 b , . . . 1209 n .
- the peripheral device 1210 may be visible to system software and configured to be used by applications.
- the apparatus 1200 may be configured such that when the device 1210 is disconnected from the port 1212 , a reverse sequence of events may occur.
- the protocol-specific drivers 1211 a , 1211 b , . . . 1211 n may process the protocol-specific unplug event, and then after the protocol-specific processing, the I/O driver 1213 may process the I/O unplug event.
- Peripheral devices described herein may be any one of various types of devices, as noted earlier.
- the peripheral device may be an expansion port (or other multi-protocol peripheral device) with which one or more other devices, with one or more I/O protocols, may be coupled.
- the peripheral device may be simultaneously coupled with a PCI Express® device and a DisplayPort device, which may be coupled with an I/O complex through the expansion port device.
- the peripheral device may be a mobile or desktop computer system and one or more other devices may be coupled with the mobile or desktop computer system and with the I/O complex through the device.
- multiple peripheral devices may be coupled together by daisy chaining the devices together.
- the peripheral device and/or the other devices coupled with the peripheral device may also include an I/O interconnect similar to one or more of the I/O interconnects 108 , 208 , 1108 , 1208 described herein.
- a device 1310 including a multi-protocol interconnect 1301 which in turn includes a multi-protocol switching fabric 1303 , may be configured to be interconnected with a multi-protocol apparatus 1300 which also includes a multi-protocol interconnect 1308 and switching fabric 1314 .
- One or more other peripheral devices 1305 a , 1305 b , . . . 1305 n may be interconnected with the I/O interconnect 1301 via one or more corresponding non-protocol-specific ports 1312 .
- FIG. 14 is a flow diagram of an example method 1400 for configuring a multi-protocol tunneling I/O interconnect, in accordance with various embodiments of the present disclosure.
- the method 1400 may include one or more functions, operations, or actions as is illustrated by blocks 1402 - 1410 .
- Processing for the method 1400 may start with block 1402 by identifying a plurality of switches of a switching fabric of a multi-protocol interconnect.
- the method 1400 may proceed to block 1404 by creating a spanning tree representation of the plurality of switches.
- the method 1400 may proceed to block 1406 by assigning unique identifications (IDs) to the switches of plurality of switches of the spanning tree.
- IDs may represent the relative positions of the switches within the spanning tree.
- the method 1400 may proceed to block 1408 by storing the IDs and depth of the switches (in the spanning tree) in one or more registers of each of the switches.
- the method 1400 may proceed to block 1410 by routing configuration packets through the spanning tree to the switches based at least in part on their respective IDs.
- FIG. 15 illustrates an example method for operating a computer apparatus including a multi-protocol tunneling I/O interconnect, in accordance with various embodiments of the present disclosure.
- the method 1500 may include one or more functions, operations, or actions as is illustrated by blocks 1502 - 1522 .
- Processing for the method 1500 may start with block 1502 by determining whether a peripheral device has been plugged into a non-protocol-specific port of a computer apparatus including a multi-protocol tunneling I/O interconnect. Plugging may refer to a peripheral device being directly coupled with the non-protocol-specific port and/or a target peripheral device being directly coupled to some other peripheral device directly coupled with the non-protocol-specific port. In the latter embodiments, one or more other peripheral devices may be operatively disposed between the target peripheral device and the non-protocol-specific port. If no peripheral device has been plugged, then processing in block 1502 may repeat. In various embodiments, the computer apparatus may be configured to issue an interrupt signal indicating when a peripheral device has been plugged (e.g., hot-plugged).
- Processing for the method 1500 may proceed to block 1504 by determining whether a data packet has been received. If no data packet has been received, then processing in block 1504 may repeat.
- a data packet may be received from the peripheral device or from within the computer apparatus.
- data packets within the computer apparatus may be received by the multi-protocol tunneling I/O interconnect from a protocol-specific controller (“host protocol-specific controller”) of the computer apparatus.
- Processing for the method 1500 may proceed to block 1506 by determining whether the data packet was received from the peripheral device or from a host protocol-specific controller. If no data packet has been received, then processing in block 1506 may repeat.
- processing for the method 1500 may proceed to block 1508 by encapsulating packets of a first protocol into first transport layer packets configured to be routed through the switching fabric of the I/O interconnect.
- packets of a second protocol may also be encapsulated into second transport layer packets for routing through the switching fabric.
- Processing for the method 1500 may proceed to block 1510 by simultaneously routing the first and second transport layer packets through the switching fabric of the I/O interconnect.
- Processing for the method 1500 may proceed to block 1512 by decapsulating the transport layer packets.
- decapsulation may be performed an adapter port of a switch of the switching fabric.
- Processing for the method 1500 may proceed to block 1514 by routing the decapsulated packets to different host protocol-specific controllers of the computer apparatus.
- processing for the method 1500 may proceed from block 1506 to block 1516 by encapsulating packets of a first protocol into first transport layer packets configured to be routed through the switching fabric of the I/O interconnect.
- packets of a second protocol may also be encapsulated into second transport layer packets for routing through the switching fabric.
- Processing for the method 1500 may proceed to block 1518 by simultaneously routing the first and second transport layer packets through the switching fabric of the I/O interconnect.
- Processing for the method 1500 may proceed to block 1520 by decapsulating the transport layer packets.
- decapsulation may be performed an adapter port of a switch of the switching fabric.
- Processing for the method 1500 may proceed to block 1522 by routing the decapsulated packets to a peripheral device via a non-protocol-specific port of the computer apparatus.
- FIG. 16 describes an example article of manufacture 1600 .
- the article of manufacture 1600 may include a computer-readable non-transitory storage medium 1602 and a storage medium 1602 .
- the storage medium 1602 may include programming instructions 1604 configured to cause an apparatus to practice some or all aspects of multi-protocol tunneling, in accordance with embodiments of the present disclosure.
- the storage medium 1602 may represent a broad range of persistent storage medium known in the art, including but not limited to flash memory, optical disks or magnetic disks.
- the programming instructions 1604 may enable an apparatus, in response to their execution by the apparatus, to perform various operations described herein.
- the storage medium 1602 may include programming instructions 1604 configured to cause an apparatus to practice some or all aspects of multi-protocol tunneling of the methods of FIG. 14 and FIG. 15 , for example, in accordance with embodiments of the present disclosure.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims (21)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/138,612 US11044196B2 (en) | 2011-12-27 | 2018-09-21 | Multi-protocol I/O interconnect including a switching fabric |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/338,220 US9565132B2 (en) | 2011-12-27 | 2011-12-27 | Multi-protocol I/O interconnect including a switching fabric |
| US15/407,946 US10110480B2 (en) | 2011-12-27 | 2017-01-17 | Multi-protocol I/O interconnect including a switching fabric |
| US16/138,612 US11044196B2 (en) | 2011-12-27 | 2018-09-21 | Multi-protocol I/O interconnect including a switching fabric |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/407,946 Continuation US10110480B2 (en) | 2011-12-27 | 2017-01-17 | Multi-protocol I/O interconnect including a switching fabric |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20190166046A1 US20190166046A1 (en) | 2019-05-30 |
| US11044196B2 true US11044196B2 (en) | 2021-06-22 |
Family
ID=48654508
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/338,220 Active 2032-10-09 US9565132B2 (en) | 2011-12-27 | 2011-12-27 | Multi-protocol I/O interconnect including a switching fabric |
| US15/407,946 Active US10110480B2 (en) | 2011-12-27 | 2017-01-17 | Multi-protocol I/O interconnect including a switching fabric |
| US16/138,612 Active US11044196B2 (en) | 2011-12-27 | 2018-09-21 | Multi-protocol I/O interconnect including a switching fabric |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/338,220 Active 2032-10-09 US9565132B2 (en) | 2011-12-27 | 2011-12-27 | Multi-protocol I/O interconnect including a switching fabric |
| US15/407,946 Active US10110480B2 (en) | 2011-12-27 | 2017-01-17 | Multi-protocol I/O interconnect including a switching fabric |
Country Status (1)
| Country | Link |
|---|---|
| US (3) | US9565132B2 (en) |
Families Citing this family (39)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005089240A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing multi-resource management support in a compute environment |
| US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
| US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
| US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
| WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
| US8631130B2 (en) | 2005-03-16 | 2014-01-14 | Adaptive Computing Enterprises, Inc. | Reserving resources in an on-demand compute environment from a local compute environment |
| US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
| US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
| CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
| US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
| US20130107444A1 (en) | 2011-10-28 | 2013-05-02 | Calxeda, Inc. | System and method for flexible storage and networking provisioning in large scalable processor installations |
| US9876735B2 (en) | 2009-10-30 | 2018-01-23 | Iii Holdings 2, Llc | Performance and power optimized computer system architectures and methods leveraging power optimized tree fabric interconnect |
| US8599863B2 (en) | 2009-10-30 | 2013-12-03 | Calxeda, Inc. | System and method for using a multi-protocol fabric module across a distributed server interconnect fabric |
| US9054990B2 (en) | 2009-10-30 | 2015-06-09 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging server SOCs or server fabrics |
| US9465771B2 (en) | 2009-09-24 | 2016-10-11 | Iii Holdings 2, Llc | Server on a chip and node cards comprising one or more of same |
| US9077654B2 (en) | 2009-10-30 | 2015-07-07 | Iii Holdings 2, Llc | System and method for data center security enhancements leveraging managed server SOCs |
| US20110103391A1 (en) | 2009-10-30 | 2011-05-05 | Smooth-Stone, Inc. C/O Barry Evans | System and method for high-performance, low-power data center interconnect fabric |
| US9311269B2 (en) | 2009-10-30 | 2016-04-12 | Iii Holdings 2, Llc | Network proxy for high-performance, low-power data center interconnect fabric |
| US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
| US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
| US9680770B2 (en) | 2009-10-30 | 2017-06-13 | Iii Holdings 2, Llc | System and method for using a multi-protocol fabric module across a distributed server interconnect fabric |
| US9648102B1 (en) | 2012-12-27 | 2017-05-09 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
| US9092594B2 (en) | 2011-10-31 | 2015-07-28 | Iii Holdings 2, Llc | Node card management in a modular and large scalable server system |
| US8856420B2 (en) * | 2011-12-27 | 2014-10-07 | Intel Corporation | Multi-protocol I/O interconnect flow control |
| DE112013007842B3 (en) | 2013-12-26 | 2023-04-06 | Intel Corporation | SYSTEM, DEVICE AND METHOD FOR GENERATION AND TRANSMISSION FLITS OF DIFFERENT PROTOCOLS IN DIFFERENT MODES |
| JP6311174B2 (en) | 2013-12-26 | 2018-04-18 | インテル・コーポレーション | Shared memory and I/O services between nodes |
| DE112013007841B3 (en) | 2013-12-26 | 2023-08-17 | Intel Corporation | SYSTEM, APPARATUS AND METHOD FOR RECEIVING A SYNC HEADER AND LOG IDENTIFICATION DATA |
| US9853916B2 (en) | 2016-04-01 | 2017-12-26 | Intel Corporation | Modular fabric internal datapath |
| US10390114B2 (en) * | 2016-07-22 | 2019-08-20 | Intel Corporation | Memory sharing for physical accelerator resources in a data center |
| US11095556B2 (en) * | 2017-06-30 | 2021-08-17 | Intel Corporation | Techniques to support multiple protocols between computer system interconnects |
| US11249808B2 (en) | 2017-08-22 | 2022-02-15 | Intel Corporation | Connecting accelerator resources using a switch |
| US20190332558A1 (en) * | 2018-04-25 | 2019-10-31 | Qualcomm Incorporated | Low-power states in a multi-protocol tunneling environment |
| DE102019116510A1 (en) * | 2019-06-18 | 2020-12-24 | Beckhoff Automation Gmbh | Network participants and automation network |
| CN110505168B (en) * | 2019-08-22 | 2020-12-29 | 合肥工业大学 | A kind of NI interface controller and data transmission method |
| US12524358B2 (en) * | 2020-04-27 | 2026-01-13 | Intel Corporation | Bandwidth management allocation for displayport tunneling |
| US11809247B2 (en) * | 2021-11-11 | 2023-11-07 | Getac Technology Corporation | Electronic device with connector supporting multiple connection standards and signal switching method and power supply method thereof |
| CN114338640B (en) * | 2021-12-31 | 2024-03-26 | 北京华宇信息技术有限公司 | Remote operation and maintenance method and system |
| TWI820993B (en) | 2022-11-01 | 2023-11-01 | 創惟科技股份有限公司 | Interface conversion device |
| TWI838270B (en) * | 2022-11-01 | 2024-04-01 | 創惟科技股份有限公司 | Interface conversion device and operating method thereof |
Citations (72)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5242315A (en) | 1992-05-21 | 1993-09-07 | Puritan-Bennett Corporation | Electrical-optical hybrid connector plug |
| US5251205A (en) | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
| US5267337A (en) | 1991-06-03 | 1993-11-30 | Deutsche Aerospace Airbus Gmbh | Combined connector for coupling electrical conductors and optical conductors respectively |
| US5419717A (en) | 1994-08-15 | 1995-05-30 | The Whitaker Corporation | Hybrid connector between optics and edge card |
| US5535036A (en) | 1995-01-18 | 1996-07-09 | Lighthouse Digital Systems, Inc. | Input/output module providing mixed optical and electrical signal connectivity in data communications equipment |
| JPH10233820A (en) | 1997-02-20 | 1998-09-02 | Hitachi Inf Technol:Kk | Data transmission method |
| US5938736A (en) | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
| US6014380A (en) | 1997-06-30 | 2000-01-11 | Sun Microsystems, Inc. | Mechanism for packet field replacement in a multi-layer distributed network element |
| US6108782A (en) | 1996-12-13 | 2000-08-22 | 3Com Corporation | Distributed remote monitoring (dRMON) for networks |
| KR20010076079A (en) | 2000-01-25 | 2001-08-11 | 오길록 | Layer3 packet forwarding handling method and apparatus in gigabit Ethernet based router |
| JP2001358733A (en) | 2000-04-13 | 2001-12-26 | Hewlett Packard Co <Hp> | Using Universal Serial Bus (USB) as a peer-to-peer network |
| US20020049862A1 (en) | 2000-10-23 | 2002-04-25 | Gladney Glenn A. | Method and apparatus for providing optical internetworking to wide area networks, metropolitan area networks, and local area networks using modular components |
| US20020116564A1 (en) * | 2000-12-20 | 2002-08-22 | Inrange Technologies Corporation | Fibre channel port adapter |
| US6478625B2 (en) | 2000-07-11 | 2002-11-12 | Bernard R. Tolmie | Electrical-optical hybrid connector |
| US6536670B1 (en) | 1994-04-29 | 2003-03-25 | Psc Scanning, Inc. | PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers |
| US6549966B1 (en) | 1999-02-09 | 2003-04-15 | Adder Technology Limited | Data routing device and system |
| US6588938B1 (en) | 2000-10-18 | 2003-07-08 | Fitel Usa Corp. | Optical/electrical plug connector |
| US6697379B1 (en) | 1998-05-18 | 2004-02-24 | Inria Institut National De Recherche En Informatique Et En Automatique | System for transmitting messages to improved stations, and corresponding processing |
| US20040081158A1 (en) | 2002-05-15 | 2004-04-29 | Broadcom Corporation | Centralized switching fabric scheduler supporting simultaneous updates |
| US6783283B2 (en) | 2001-04-27 | 2004-08-31 | The Furukawa Electric Co., Ltd. | Optical connector for coupling optical signals to optical devices |
| US20040230735A1 (en) | 2003-05-15 | 2004-11-18 | Moll Laurent R. | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
| US20050210177A1 (en) | 2004-03-16 | 2005-09-22 | Norden Hahn V | Switch configurable for a plurality of communication protocols |
| US20050238052A1 (en) | 2004-04-22 | 2005-10-27 | Sony Computer Entertainment Inc. | Method and apparatus for providing an interconnection network function |
| US20060050652A1 (en) * | 2004-09-03 | 2006-03-09 | Chappell Christopher L | Packet processing in switched fabric networks |
| US20060126612A1 (en) | 2004-11-23 | 2006-06-15 | Sandy Douglas L | Method of transporting a PCI express packet over an IP packet network |
| US7081023B2 (en) | 2003-07-25 | 2006-07-25 | Hon Hai Precision Ind. Co., Ltd. | Multi-function jack connector |
| US20060184711A1 (en) | 2003-01-21 | 2006-08-17 | Nextio Inc. | Switching apparatus and method for providing shared i/o within a load-store fabric |
| US7095927B2 (en) | 2002-10-04 | 2006-08-22 | Fuji Xerox Co., Ltd. | Optical distributor and optical distributing system |
| US20060203851A1 (en) * | 2005-03-14 | 2006-09-14 | Eidson John C | Applications of multiple time synchronization domains |
| US20070005867A1 (en) | 2005-06-30 | 2007-01-04 | Nimrod Diamant | Virtual peripheral device interface and protocol for use in peripheral device redirection communication |
| US7171505B2 (en) | 2002-05-02 | 2007-01-30 | International Business Machines Corporation | Universal network interface connection |
| US20070171917A1 (en) * | 2006-01-26 | 2007-07-26 | Broadcom Corporation | Apparatus and method for implementing multiple high speed switching fabrics in an ethernet ring topology |
| US20070233916A1 (en) | 2003-12-18 | 2007-10-04 | Pak-Lung Seto | Multiple interfaces in a storage enclosure |
| US7283481B2 (en) | 2002-03-21 | 2007-10-16 | Broadcom Corporation | Auto detection of copper and fiber mode |
| US20070249193A1 (en) | 2006-04-04 | 2007-10-25 | Applied Optical Systems, Inc. | Universal hybrid electrical/fiber optic insert cap and hybrid connector and methods |
| US20080013569A1 (en) | 2006-07-14 | 2008-01-17 | Boren Gary W | Universal controller and signal monitor |
| US7330468B1 (en) | 2002-11-18 | 2008-02-12 | At&T Corp. | Scalable, reconfigurable routers |
| US7412544B2 (en) | 2004-06-18 | 2008-08-12 | International Business Machines Corporation | Reconfigurable USB I/O device persona |
| US7437738B2 (en) | 2003-11-12 | 2008-10-14 | Intel Corporation | Method, system, and program for interfacing with a network adaptor supporting a plurality of devices |
| US7453892B2 (en) * | 2001-05-04 | 2008-11-18 | Slt Logic, Llc | System and method for policing multiple data flows and multi-protocol data flows |
| US20090010152A1 (en) | 1999-11-09 | 2009-01-08 | Yoram Ofek | Interface system and methodology having scheduled connection responsive to common time reference |
| US20090066704A1 (en) | 2007-09-11 | 2009-03-12 | Wiquest Communications, Inc. | Wireless graphics card |
| US20090080428A1 (en) | 2007-09-25 | 2009-03-26 | Maxxan Systems, Inc. | System and method for scalable switch fabric for computer network |
| US20090172185A1 (en) | 2007-12-26 | 2009-07-02 | Chandra Prashant R | Unified connector architecture |
| US20090198958A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Lakshminarayana B | System and Method for Performing Dynamic Request Routing Based on Broadcast Source Request Information |
| US7587536B2 (en) | 2006-07-28 | 2009-09-08 | Icron Technologies Corporation | Method and apparatus for distributing USB hub functions across a network |
| US20090274162A1 (en) | 2005-08-19 | 2009-11-05 | Brocade Communications Systems, Inc. | Port expander for fibre channel fabrics in storage area networks |
| US7646981B2 (en) | 2004-03-01 | 2010-01-12 | Adc Telecommunications, Inc. | WDM systems and methods |
| WO2010021844A2 (en) | 2008-08-22 | 2010-02-25 | Intel Corporation | Unified multi-transport medium connector architecture |
| US7673080B1 (en) | 2004-02-12 | 2010-03-02 | Super Talent Electronics, Inc. | Differential data transfer for flash memory card |
| US7677813B2 (en) | 2007-06-15 | 2010-03-16 | Trumpf Laser Marking Systems Ag | Electro-optical hybrid connection assembly |
| US20100091775A1 (en) | 2007-06-04 | 2010-04-15 | Fujitsu Limited | Packet switching system |
| US7734172B2 (en) | 2002-11-18 | 2010-06-08 | At&T Corp. | Router having dual propagation paths for packets |
| US20100274907A1 (en) | 2009-04-22 | 2010-10-28 | Fujitsu Limited | Communication apparatus for transmitting data through a plurality of data-paths |
| US7860119B1 (en) * | 2003-12-05 | 2010-12-28 | Meriton Networks Us Inc. | SONET/SDH ring aggregation |
| US20110035529A1 (en) | 2009-08-06 | 2011-02-10 | Qualcomm Incorporated | Partitioning a Crossbar Interconnect in a Multi-Channel Memory System |
| US20110055433A1 (en) | 2009-08-18 | 2011-03-03 | Kishore Karagada R | Communicating Between Host Computers and Peripheral Resources in an Input/Output (I/O) Virtualization System |
| US20110090916A1 (en) | 2007-10-22 | 2011-04-21 | Verizon Patent And Licensing, Inc. | Label and exp field based mpls network device |
| US20110090797A1 (en) | 2008-06-27 | 2011-04-21 | Gnodal Limited | Method of data delivery across a network |
| US20110202701A1 (en) | 2009-11-05 | 2011-08-18 | Jayanta Kumar Maitra | Unified system area network and switch |
| US20110219164A1 (en) | 2007-08-23 | 2011-09-08 | Jun Suzuki | I/o system and i/o control method |
| US20110228789A1 (en) | 2010-03-22 | 2011-09-22 | International Business Machines Corporation | Contention free pipelined broadcasting within a constant bisection bandwidth network topology |
| US20110228767A1 (en) | 2010-03-19 | 2011-09-22 | Juniper Networks, Inc. | Virtual link aggregation of network traffic in an aggregation switch |
| US20110255533A1 (en) | 2010-04-14 | 2011-10-20 | Brocade Communications Systems, Inc. | Remote F_Ports |
| US8051217B2 (en) | 2007-01-12 | 2011-11-01 | Dell Products L.P. | System and method for providing PCIe over displayport |
| US20110283017A1 (en) | 2010-05-14 | 2011-11-17 | Microsoft Corporation | Interconnecting Members of a Virtual Network |
| US8121139B2 (en) | 2006-09-08 | 2012-02-21 | Hitachi Cable, Ltd. | Communication module and communication apparatus |
| US20120284434A1 (en) | 2011-05-02 | 2012-11-08 | Warren Niel D | Methods and apparatus for transporting data through network tunnels |
| US20130042240A1 (en) | 2011-08-12 | 2013-02-14 | International Business Machines Corporation | Optimized Virtual Function Translation Entry Memory Caching |
| US20130089097A1 (en) | 2011-10-05 | 2013-04-11 | Cisco Technology, Inc., A Corporation Of California | Forwarding IPv6 Packets based on Shorter Addresses Derived from Their IPv6 Destination Addresses |
| US20130151840A1 (en) * | 2010-08-19 | 2013-06-13 | India Systems Pvt. Ltd | Multi-processor electronic systems |
| US8949471B2 (en) * | 2000-11-02 | 2015-02-03 | Oracle America, Inc. | TCP/UDP acceleration |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5920566A (en) * | 1997-06-30 | 1999-07-06 | Sun Microsystems, Inc. | Routing in a multi-layer distributed network element |
| JP3808647B2 (en) * | 1998-12-09 | 2006-08-16 | 富士通株式会社 | Cell switching module, transmission apparatus, and active / preliminary switching method in transmission apparatus |
| US7421488B2 (en) * | 2003-08-14 | 2008-09-02 | International Business Machines Corporation | System, method, and computer program product for centralized management of an infiniband distributed system area network |
| US7747836B2 (en) * | 2005-03-08 | 2010-06-29 | Netapp, Inc. | Integrated storage virtualization and switch system |
| US20060271706A1 (en) * | 2005-05-24 | 2006-11-30 | Dugan Robert J | Method, apparatus, and computer program product for requesting deterministic virtual address identifiers for nodes in a fibre channel network |
| US9800495B2 (en) * | 2009-09-30 | 2017-10-24 | Infinera Corporation | Fast protection path activation using control plane messages |
| US8717895B2 (en) * | 2010-07-06 | 2014-05-06 | Nicira, Inc. | Network virtualization apparatus and method with a table mapping engine |
| US8417867B2 (en) * | 2010-11-17 | 2013-04-09 | Xilinx, Inc. | Multichip module for communications |
| US20120254462A1 (en) * | 2011-03-31 | 2012-10-04 | Dhishankar Sengupta | Remote data mirroring using a virtualized io path in a sas switch |
| US8732520B2 (en) * | 2011-04-06 | 2014-05-20 | Lsi Corporation | Clustered array controller for global redundancy in a SAN |
| US8837499B2 (en) * | 2011-05-14 | 2014-09-16 | International Business Machines Corporation | Distributed fabric protocol (DFP) switching network architecture |
| US8560647B2 (en) * | 2011-07-19 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Controller placement for split architecture networks |
| US8719480B2 (en) * | 2011-11-30 | 2014-05-06 | International Business Machines Corporation | Automated network configuration in a dynamic virtual environment |
-
2011
- 2011-12-27 US US13/338,220 patent/US9565132B2/en active Active
-
2017
- 2017-01-17 US US15/407,946 patent/US10110480B2/en active Active
-
2018
- 2018-09-21 US US16/138,612 patent/US11044196B2/en active Active
Patent Citations (76)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5251205A (en) | 1990-09-04 | 1993-10-05 | Digital Equipment Corporation | Multiple protocol routing |
| US5267337A (en) | 1991-06-03 | 1993-11-30 | Deutsche Aerospace Airbus Gmbh | Combined connector for coupling electrical conductors and optical conductors respectively |
| US5242315A (en) | 1992-05-21 | 1993-09-07 | Puritan-Bennett Corporation | Electrical-optical hybrid connector plug |
| US6536670B1 (en) | 1994-04-29 | 2003-03-25 | Psc Scanning, Inc. | PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers |
| US5419717A (en) | 1994-08-15 | 1995-05-30 | The Whitaker Corporation | Hybrid connector between optics and edge card |
| US5535036A (en) | 1995-01-18 | 1996-07-09 | Lighthouse Digital Systems, Inc. | Input/output module providing mixed optical and electrical signal connectivity in data communications equipment |
| US6108782A (en) | 1996-12-13 | 2000-08-22 | 3Com Corporation | Distributed remote monitoring (dRMON) for networks |
| JPH10233820A (en) | 1997-02-20 | 1998-09-02 | Hitachi Inf Technol:Kk | Data transmission method |
| US5938736A (en) | 1997-06-30 | 1999-08-17 | Sun Microsystems, Inc. | Search engine architecture for a high performance multi-layer switch element |
| US6014380A (en) | 1997-06-30 | 2000-01-11 | Sun Microsystems, Inc. | Mechanism for packet field replacement in a multi-layer distributed network element |
| US6697379B1 (en) | 1998-05-18 | 2004-02-24 | Inria Institut National De Recherche En Informatique Et En Automatique | System for transmitting messages to improved stations, and corresponding processing |
| US6549966B1 (en) | 1999-02-09 | 2003-04-15 | Adder Technology Limited | Data routing device and system |
| US20090010152A1 (en) | 1999-11-09 | 2009-01-08 | Yoram Ofek | Interface system and methodology having scheduled connection responsive to common time reference |
| KR20010076079A (en) | 2000-01-25 | 2001-08-11 | 오길록 | Layer3 packet forwarding handling method and apparatus in gigabit Ethernet based router |
| JP2001358733A (en) | 2000-04-13 | 2001-12-26 | Hewlett Packard Co <Hp> | Using Universal Serial Bus (USB) as a peer-to-peer network |
| US6839771B1 (en) | 2000-04-13 | 2005-01-04 | Hewlett-Packard Development Company, L.P. | Method and system for using a universal serial bus (USB) as a peer-to-peer network |
| US6478625B2 (en) | 2000-07-11 | 2002-11-12 | Bernard R. Tolmie | Electrical-optical hybrid connector |
| US6588938B1 (en) | 2000-10-18 | 2003-07-08 | Fitel Usa Corp. | Optical/electrical plug connector |
| US20020049862A1 (en) | 2000-10-23 | 2002-04-25 | Gladney Glenn A. | Method and apparatus for providing optical internetworking to wide area networks, metropolitan area networks, and local area networks using modular components |
| US8949471B2 (en) * | 2000-11-02 | 2015-02-03 | Oracle America, Inc. | TCP/UDP acceleration |
| US20020116564A1 (en) * | 2000-12-20 | 2002-08-22 | Inrange Technologies Corporation | Fibre channel port adapter |
| US6783283B2 (en) | 2001-04-27 | 2004-08-31 | The Furukawa Electric Co., Ltd. | Optical connector for coupling optical signals to optical devices |
| US7453892B2 (en) * | 2001-05-04 | 2008-11-18 | Slt Logic, Llc | System and method for policing multiple data flows and multi-protocol data flows |
| US7283481B2 (en) | 2002-03-21 | 2007-10-16 | Broadcom Corporation | Auto detection of copper and fiber mode |
| US7171505B2 (en) | 2002-05-02 | 2007-01-30 | International Business Machines Corporation | Universal network interface connection |
| US20040081158A1 (en) | 2002-05-15 | 2004-04-29 | Broadcom Corporation | Centralized switching fabric scheduler supporting simultaneous updates |
| US7095927B2 (en) | 2002-10-04 | 2006-08-22 | Fuji Xerox Co., Ltd. | Optical distributor and optical distributing system |
| US7734172B2 (en) | 2002-11-18 | 2010-06-08 | At&T Corp. | Router having dual propagation paths for packets |
| US7330468B1 (en) | 2002-11-18 | 2008-02-12 | At&T Corp. | Scalable, reconfigurable routers |
| US20060184711A1 (en) | 2003-01-21 | 2006-08-17 | Nextio Inc. | Switching apparatus and method for providing shared i/o within a load-store fabric |
| US20040230735A1 (en) | 2003-05-15 | 2004-11-18 | Moll Laurent R. | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
| US7081023B2 (en) | 2003-07-25 | 2006-07-25 | Hon Hai Precision Ind. Co., Ltd. | Multi-function jack connector |
| US7437738B2 (en) | 2003-11-12 | 2008-10-14 | Intel Corporation | Method, system, and program for interfacing with a network adaptor supporting a plurality of devices |
| US7860119B1 (en) * | 2003-12-05 | 2010-12-28 | Meriton Networks Us Inc. | SONET/SDH ring aggregation |
| US20070233916A1 (en) | 2003-12-18 | 2007-10-04 | Pak-Lung Seto | Multiple interfaces in a storage enclosure |
| US7673080B1 (en) | 2004-02-12 | 2010-03-02 | Super Talent Electronics, Inc. | Differential data transfer for flash memory card |
| US7646981B2 (en) | 2004-03-01 | 2010-01-12 | Adc Telecommunications, Inc. | WDM systems and methods |
| US7096310B2 (en) | 2004-03-16 | 2006-08-22 | Hewlett-Packard Development, L.P. | Switch configurable for a plurality of communication protocols |
| US20050210177A1 (en) | 2004-03-16 | 2005-09-22 | Norden Hahn V | Switch configurable for a plurality of communication protocols |
| US20050238052A1 (en) | 2004-04-22 | 2005-10-27 | Sony Computer Entertainment Inc. | Method and apparatus for providing an interconnection network function |
| US7412544B2 (en) | 2004-06-18 | 2008-08-12 | International Business Machines Corporation | Reconfigurable USB I/O device persona |
| US20060050652A1 (en) * | 2004-09-03 | 2006-03-09 | Chappell Christopher L | Packet processing in switched fabric networks |
| US20060126612A1 (en) | 2004-11-23 | 2006-06-15 | Sandy Douglas L | Method of transporting a PCI express packet over an IP packet network |
| US20060203851A1 (en) * | 2005-03-14 | 2006-09-14 | Eidson John C | Applications of multiple time synchronization domains |
| US20070005867A1 (en) | 2005-06-30 | 2007-01-04 | Nimrod Diamant | Virtual peripheral device interface and protocol for use in peripheral device redirection communication |
| US20090274162A1 (en) | 2005-08-19 | 2009-11-05 | Brocade Communications Systems, Inc. | Port expander for fibre channel fabrics in storage area networks |
| US20070171917A1 (en) * | 2006-01-26 | 2007-07-26 | Broadcom Corporation | Apparatus and method for implementing multiple high speed switching fabrics in an ethernet ring topology |
| US20070249193A1 (en) | 2006-04-04 | 2007-10-25 | Applied Optical Systems, Inc. | Universal hybrid electrical/fiber optic insert cap and hybrid connector and methods |
| US20080013569A1 (en) | 2006-07-14 | 2008-01-17 | Boren Gary W | Universal controller and signal monitor |
| US7587536B2 (en) | 2006-07-28 | 2009-09-08 | Icron Technologies Corporation | Method and apparatus for distributing USB hub functions across a network |
| US8121139B2 (en) | 2006-09-08 | 2012-02-21 | Hitachi Cable, Ltd. | Communication module and communication apparatus |
| US8051217B2 (en) | 2007-01-12 | 2011-11-01 | Dell Products L.P. | System and method for providing PCIe over displayport |
| US20100091775A1 (en) | 2007-06-04 | 2010-04-15 | Fujitsu Limited | Packet switching system |
| US7677813B2 (en) | 2007-06-15 | 2010-03-16 | Trumpf Laser Marking Systems Ag | Electro-optical hybrid connection assembly |
| US20110219164A1 (en) | 2007-08-23 | 2011-09-08 | Jun Suzuki | I/o system and i/o control method |
| US20090066704A1 (en) | 2007-09-11 | 2009-03-12 | Wiquest Communications, Inc. | Wireless graphics card |
| US20090080428A1 (en) | 2007-09-25 | 2009-03-26 | Maxxan Systems, Inc. | System and method for scalable switch fabric for computer network |
| US20110090916A1 (en) | 2007-10-22 | 2011-04-21 | Verizon Patent And Licensing, Inc. | Label and exp field based mpls network device |
| US20090172185A1 (en) | 2007-12-26 | 2009-07-02 | Chandra Prashant R | Unified connector architecture |
| WO2009085494A1 (en) | 2007-12-26 | 2009-07-09 | Intel Corporation | Unified connector architecture |
| US20090198958A1 (en) * | 2008-02-01 | 2009-08-06 | Arimilli Lakshminarayana B | System and Method for Performing Dynamic Request Routing Based on Broadcast Source Request Information |
| US20110090797A1 (en) | 2008-06-27 | 2011-04-21 | Gnodal Limited | Method of data delivery across a network |
| WO2010021844A2 (en) | 2008-08-22 | 2010-02-25 | Intel Corporation | Unified multi-transport medium connector architecture |
| US20100049885A1 (en) | 2008-08-22 | 2010-02-25 | Chandra Prashant R | Unified multi-transport medium connector architecture |
| US20100274907A1 (en) | 2009-04-22 | 2010-10-28 | Fujitsu Limited | Communication apparatus for transmitting data through a plurality of data-paths |
| US20110035529A1 (en) | 2009-08-06 | 2011-02-10 | Qualcomm Incorporated | Partitioning a Crossbar Interconnect in a Multi-Channel Memory System |
| US20110055433A1 (en) | 2009-08-18 | 2011-03-03 | Kishore Karagada R | Communicating Between Host Computers and Peripheral Resources in an Input/Output (I/O) Virtualization System |
| US20110202701A1 (en) | 2009-11-05 | 2011-08-18 | Jayanta Kumar Maitra | Unified system area network and switch |
| US20110228767A1 (en) | 2010-03-19 | 2011-09-22 | Juniper Networks, Inc. | Virtual link aggregation of network traffic in an aggregation switch |
| US20110228789A1 (en) | 2010-03-22 | 2011-09-22 | International Business Machines Corporation | Contention free pipelined broadcasting within a constant bisection bandwidth network topology |
| US20110255533A1 (en) | 2010-04-14 | 2011-10-20 | Brocade Communications Systems, Inc. | Remote F_Ports |
| US20110283017A1 (en) | 2010-05-14 | 2011-11-17 | Microsoft Corporation | Interconnecting Members of a Virtual Network |
| US20130151840A1 (en) * | 2010-08-19 | 2013-06-13 | India Systems Pvt. Ltd | Multi-processor electronic systems |
| US20120284434A1 (en) | 2011-05-02 | 2012-11-08 | Warren Niel D | Methods and apparatus for transporting data through network tunnels |
| US20130042240A1 (en) | 2011-08-12 | 2013-02-14 | International Business Machines Corporation | Optimized Virtual Function Translation Entry Memory Caching |
| US20130089097A1 (en) | 2011-10-05 | 2013-04-11 | Cisco Technology, Inc., A Corporation Of California | Forwarding IPv6 Packets based on Shorter Addresses Derived from Their IPv6 Destination Addresses |
Non-Patent Citations (17)
| Title |
|---|
| Final Offce Action for U.S. Appl. No. 13/338,220, dated Jun. 17, 2014, 21 pages. |
| Final Office Action for U.S. Appl. No. 13/338,220, dated Feb. 12, 2016, 24pages. |
| International Preliminary Report on Patentability and Written Opinion received for International Application No. PCT/US2009/052831, dated Mar. 3, 2011. |
| International Preliminary Report on Patentability for International Application No. PCT/US2008/084621, dated Jul. 8, 2010. |
| International Search Report and Written Opinion received for International Application No. PCT/US2008/084621, dated May 18, 2009. |
| International Search Report/Written Opinion for International Application No. PCT/US2009/052831, dated Mar. 15, 2010. |
| Office Action for Chinese Application No. 200880122959.5, dated Mar. 19, 2012. |
| Office Action for European Application No. 08868735.5, dated Sep. 29, 2011. |
| Office Action for European Application No. 09808593.9, dated Sep. 13, 2011. |
| Office Action for Japanese Application No. 2010-540703, dated Nov. 22. 2011. |
| Office Action for Korean Application No. 10-2010-7016587, dated Apr. 26, 2012. |
| Office Action for Korean Application No. 10-2010-7016587, dated Jul. 11, 2011. |
| Office Action for Taiwan Application No. 97147418, dated Jun. 14, 2012. |
| Office Action for U.S. Appl. No. 13/338,220, dated Jun. 5, 2015, 24pages. |
| Office Action for U.S. Appl. No. 13/338,220, dated Oct. 9, 2013, 24 pages. |
| Search Report for European Application No. 08868735.5, dated Sep. 2, 2011. |
| Search Report for European Application No. 09808593.9, dated Aug. 19, 2011. |
Also Published As
| Publication number | Publication date |
|---|---|
| US10110480B2 (en) | 2018-10-23 |
| US20190166046A1 (en) | 2019-05-30 |
| US20170126553A1 (en) | 2017-05-04 |
| US9565132B2 (en) | 2017-02-07 |
| US20130163605A1 (en) | 2013-06-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11044196B2 (en) | Multi-protocol I/O interconnect including a switching fabric | |
| US9430435B2 (en) | Multi-protocol tunneling over an I/O interconnect | |
| US8856420B2 (en) | Multi-protocol I/O interconnect flow control | |
| US10884965B2 (en) | PCI express tunneling over a multi-protocol I/O interconnect | |
| US9252970B2 (en) | Multi-protocol I/O interconnect architecture | |
| JP5867765B2 (en) | Time Synchronization of Multiprotocol I/O Interconnects | |
| JP5792894B2 (en) | Port expansion topology information acquisition method, system, control bridge, and uplink port processing method and system | |
| EP2798506B1 (en) | Multi-protocol i/o interconnect time synchronization | |
| US20140056152A1 (en) | Port mirroring in distributed switching systems | |
| CN102160341A (en) | Unified multi-transport medium connector architecture | |
| US11233692B2 (en) | Out-of-band-management systems and methods for integrated serial console and ethernet access |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: AWAITING TC RESP, ISSUE FEE PAYMENT VERIFIED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: MEDIATEK INC., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:059828/0105 Effective date: 20220427 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |