Links having flexible lane allocation
First Claim
Patent Images
1. A device comprising:
- a plurality of ports comprising a first port, a second port, a third port, and a fourth port to serially transmit symbols over lanes of a plurality of links and to serially receive symbols from lanes of the plurality of links,a mapping table coupled to the plurality of ports, wherein the mapping table is to provide control information including port mappings and lane order to support assignment of any combination of the plurality of ports to any link of the plurality of links, anda plurality of agents coupled to the plurality of ports, a first agent of the plurality of agents further comprises,a first scatter engine to provide symbols for serial transmission to the plurality of ports associated with lanes of a first link in a first lane order indicated by the mapping table, anda first gather engine to reorder symbols serially received over the plurality of ports based upon port mappings indicated by the mapping table and,wherein the plurality of agents are to control the plurality of links and support assignment of any combination of the plurality of ports to any link of the plurality of links.
1 Assignment
0 Petitions
Accused Products
Abstract
Machine-readable media, methods, and apparatus are described for flexibly establishing lanes of links. In some embodiments, any port of a device may be connected to another port of another device. Further, the device may determine interconnections of its ports to ports of other devices by issuing requests on its ports.
-
Citations
30 Claims
-
1. A device comprising:
-
a plurality of ports comprising a first port, a second port, a third port, and a fourth port to serially transmit symbols over lanes of a plurality of links and to serially receive symbols from lanes of the plurality of links, a mapping table coupled to the plurality of ports, wherein the mapping table is to provide control information including port mappings and lane order to support assignment of any combination of the plurality of ports to any link of the plurality of links, and a plurality of agents coupled to the plurality of ports, a first agent of the plurality of agents further comprises, a first scatter engine to provide symbols for serial transmission to the plurality of ports associated with lanes of a first link in a first lane order indicated by the mapping table, and a first gather engine to reorder symbols serially received over the plurality of ports based upon port mappings indicated by the mapping table and, wherein the plurality of agents are to control the plurality of links and support assignment of any combination of the plurality of ports to any link of the plurality of links. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A device comprising
a plurality of ports comprising a first port, a second port, a third port and a fourth port to serially transmit and receive data over links to other devices, a mapping table to associate any permutation of the plurality of ports to the links, a first scatter engine to provide data units to ports associated with lanes of a first link in a first lane order indicated by the mapping table, and a second scatter engine to provide data units to ports associated with lanes of a second link in a second lane order indicated by the mapping table.
-
13. A machine readable medium comprising a plurality of instructions that, in response to being executing, result in a computing device,
issuing a first request on a first port of a first device that identifies the first device and the first port of the first device, receiving the first request on a first port of a second device, issuing, on the first port of the second device, a first response to the first request that identifies the second device and the first port of the second device, receiving, on the first port of the first device, the first response to the first request, updating a mapping table to indicate that a first lane exists between the first port of the first device and the first port of the second device in response to the first device receiving the first response, issuing a bridge request on the first port of the first device, receiving the bridge request on the first port of the second device, issuing a second request on a second port of the second device that identifies the second device and the second port of the second device in response to the second device receiving the bridge request, receiving the second request on a first port of a third device, issuing, on the first port of the third device, a second response to the second request that identifies the third device and the first port of the third device, receiving, on the second port of the second device, the second response to the second request, and issuing, on the first port of the second device, a bridge response to the bridge request that identifies second port of the second device is connected to the first port of the third device, and updating the mapping table to indicate that the second lane exists between the second port of the second device and the first port of the third device in response to the first device receiving the bridge request.
-
16. A system comprising
a first device comprising at least a first port, a second port, a third port and a fourth port to transfer data units, a second device comprising ports to transfer data units, a third device comprising ports to transfer data units, first lanes interconnecting one or more ports of the first device with ports of the second device to form a first link between the first device and the second device, and second lanes interconnecting one or more ports of the first device with ports of the third device to form a second link between the first device and the third device, the first device further comprises, a mapping table to associate any permutation of a first plurality of ports to the first link and any permutation of a second plurality of ports to the second link, a first scatter engine to provide data units to the first plurality of ports associated with the first lanes of the first link in a first lane order indicated by the mapping table, and a second scatter engine to provide data units to the second plurality of ports associated with second lanes of the second link in a second lane order indicated by the mapping table.
-
20. A method in a network device, comprising:
-
storing control information including port mappings and lane order in a mapping table to support assignment of any combination of a plurality of ports to any link of a plurality of links, serially transmitting symbols over lanes of the plurality of links, wherein symbols are transmitted over the plurality of ports associated with the lanes of a first link in a first lane order indicated by the port mappings, serially receiving symbols from lanes of the plurality of links and reordering the symbols received over the lanes coupled to a plurality of ports based upon port mappings indicated by the port mappings, and controlling the plurality of links and supporting assignment of any combination of the plurality of ports to any link of the plurality of links; wherein the mapping table is coupled to the plurality of ports, wherein the mapping table is to provide control information including port mappings and lane order to support assignment of any combination of the plurality of ports to any link of the plurality of links, and a plurality of agents coupled to the plurality of ports, a first agent of the plurality of agents further comprises, a first scatter engine to provide symbols for serial transmission to the plurality of ports associated with lanes of a first link in a first lane order indicated by the mapping table, and a first, gather engine to reorder symbols serially received over the plurality of ports based upon port mappings indicated by the mapping table. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A method in a network device, comprising:
-
storing mappings that indicate associations of any permutation of the plurality of ports to the links, serially transmitting data units over a link from a plurality of ports of the network device to other devices, receiving data units over links from the other devices over the plurality of ports of the network device, wherein the plurality of ports are coupled to the links, and wherein the data units are provided by a first scatter engine to the plurality of ports associated with lanes of a first link in a first lane order indicated by the mappings, and wherein the data units are provided by a second scatter engine to the plurality of ports associated with lanes of a second link in a second lane order indicated by the mapping table; wherein the mapping table is coupled to the plurality of ports, wherein the mapping table is to provide control information including port mappings and lane order to support assignment of any combination of the plurality of ports to any link of the plurality of links, and a plurality of agents coupled to the plurality of ports, a first agent of the plurality of agents further comprises, a first scatter engine to provide symbols for serial transmission to the plurality of ports associated with lanes of a first link in a first lane order indicated by the mapping table, and a first, gather engine to reorder symbols serially received over the plurality of ports based upon port mappings indicated by the mapping table. - View Dependent Claims (27, 28, 29, 30)
-
Specification