Packet-based dynamic de-skewing for network switch with local or central clock
First Claim
1. A network switch comprising:
- a switch core having a plurality of input ports and a plurality of output ports, the switch core for establishing a plurality of temporary connections, each temporary connection between an input port and an output port;
a plurality of media-access-controller (MAC) modules, including source MAC modules and destination MAC modules;
each source MAC module in the plurality of MAC modules connected to an external network node for receiving data packets from the external network node, the source MAC module connected to an input port on the switch core;
a packet framer in each source MAC module for adding a start flag to a beginning of a data packet before the data packet with the start flag is transmitted to the switch core;
each destination MAC module in the plurality of MAC modules connected to an external network node for transmitting data packets to the external network node from the network switch, the destination MAC module connected to an output port on the switch core;
packet de-skew means in each destination MAC module for measuring a skew in the start flag of each packet received from the switch core and compensating the data packet for the measured skew;
whereby each data packet transmitted through the switch core is compensated for skew by measuring the skew of the start flag transmitted with the data packet.
2 Assignments
0 Petitions
Accused Products
Abstract
A network switch uses a simple switch core of analog MOS transistor switches. The switch core is surrounded by many media-access controllers (MAC'"'"'s) which buffer the data through the switch core. Multiple connections through the switch core may be made between different pairs of MAC'"'"'s. Just one signal path through the switch core is needed per connection as a second path through the switch core for the clock is not needed. The clock is not encoded with the data, so PLL'"'"'s are not needed for clock recovery. Data skew is instead measured for each packet transmitted through the switch core. A start flag is added to the packet by a source MAC as a packet header before being transmitted through the switch core. The start flag is a unique sequence which is detected by the destination MAC and triggers measurement of the data skew of the received start flag to the local clock. The measured data skew is then used to compensate for the rest of the packet. Because dynamic de-skewing is performed for each packet, any packet from any source MAC can be received. This allows freedom in MAC placement and enables construction of larger switches. The switch may have the MAC'"'"'s physically separated from each other by greater distances since clocks can be locally generated. The clocks are independent from each other except for having the same frequency.
-
Citations
21 Claims
-
1. A network switch comprising:
-
a switch core having a plurality of input ports and a plurality of output ports, the switch core for establishing a plurality of temporary connections, each temporary connection between an input port and an output port; a plurality of media-access-controller (MAC) modules, including source MAC modules and destination MAC modules; each source MAC module in the plurality of MAC modules connected to an external network node for receiving data packets from the external network node, the source MAC module connected to an input port on the switch core; a packet framer in each source MAC module for adding a start flag to a beginning of a data packet before the data packet with the start flag is transmitted to the switch core; each destination MAC module in the plurality of MAC modules connected to an external network node for transmitting data packets to the external network node from the network switch, the destination MAC module connected to an output port on the switch core; packet de-skew means in each destination MAC module for measuring a skew in the start flag of each packet received from the switch core and compensating the data packet for the measured skew; whereby each data packet transmitted through the switch core is compensated for skew by measuring the skew of the start flag transmitted with the data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A switch for making multiple, simultaneous connections between nodes on a network, the switch comprising:
-
a switch-matrix core having a plurality of ports, the switch-matrix core establishing connections between the ports for analog transmission of data packets; a plurality of framers, coupled to ports on the switch-matrix core, each framer for transmitting a flag header immediately before each data packet transmitted to a port of the switch-matrix; a skew detector, coupled to a port of the switch-matrix core, for determining an amount of clock skew of a data packet transmitted through the switch-matrix core; a skew compensator, coupled to the skew detector and coupled to the port of the switch-matrix core, for adding a delay to the data packet transmitted through the switch core, the delay being determined by the skew detector; a plurality of media-access controllers (MAC'"'"'s), each MAC connected to a node on the network for driving and receiving physical signals of a data packet; each MAC including means for transmitting the data packet received from the node on the network to the framer and means for receiving a data packet from the skew compensator and re-transmitting the data packet to the node on the network, whereby skew is detected and compensated for. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A network switcher for connecting nodes on a network, the network switcher comprising:
-
a switch core comprising a plurality of transistors and a plurality of ports, a transistor in the plurality of transistors forming a connection path from a first port to a second port when a gate electrode of the transistor is activated, the connection path being formed by the transistor conducting current from the first port to the second port when the gate electrode is activated; a path decoder, receiving a source port identifier for indicating a source port and a destination port identifier for indicating a destination port, for determining which single transistor in the plurality of transistors forms a connection path between the source port and the destination port, the path decoder activating the gate electrode for the single transistor to form the connection path; a start-flag generator, for generating a unique sequence of serial bits as a start flag; buffer means, coupled to a node on the network, for receiving a serial data stream from the node and storing the serial data stream; request means, coupled to the buffer means, for sending the source port identifier and the destination port identifier to the path decoder when a serial data stream is received by the buffer means; frame means, receiving the serial data stream from the buffer means, for transmitting the start flag followed by the serial data stream to the source port of the switch core in a serial format; flag detect means, coupled to the destination port, for detecting the start flag transmitted through the switch core to the destination port; skew measurement means, responsive to the flag detect means, for comparing a phase of a local clock to a phase of bit-transitions in the start flag and indicating a selected delay of the start flag causing the phase of the local clock to match the phase of the bit-transitions in the start flag; delay means, receiving the serial data stream from the destination port, for adding the selected delay to each bit-transition in the serial data stream to generate a compensated data stream; output means, for transmitting the compensated data stream to a destination node on the network, whereby skew of the start flag transmitted through the switch core is measured and used to compensate the serial data stream. - View Dependent Claims (20, 21)
-
Specification