
Micrel, Inc.
KSZ8893FQL
October 2007
37
M9999-101607-1.3
Switching Engine
The KSZ8893FQL features a high-performance switching engine that moves data to and from the MACs’ packet
buffers. It operates in store and forward mode, while the efficient switching mechanism reduces overall latency.
The switching engine has a 32kB internal frame buffer. This buffer pool is shared between all three ports. There are a
total of 256 buffers available. Each buffer is sized at 128 bytes.
MAC Operation
The KSZ8893FQL strictly abides by IEEE 802.3 standards to maximize compatibility.
Inter Packet Gap (IPG)
If a frame is successfully transmitted, the 96 bits time IPG is measured between the two consecutive MTXEN. If the
current packet is experiencing collision, the 96 bits time IPG is measured from MCRS and the next MTXEN.
Back-Off Algorithm
The KSZ8893FQL implements the IEEE 802.3 standard for the binary exponential back-off algorithm, and optional
"aggressive mode" back-off. After 16 collisions, the packet is optionally dropped depending upon the switch
configuration for register 4 (0x04) bit [3].
Late Collision
If a transmit packet experiences collisions after 512 bit times of the transmission, the packet is dropped.
Illegal Frames
The KSZ8893FQL discards frames less than 64 bytes, and can be programmed to accept frames up to 1518 bytes,
1536 bytes or 1916 bytes. These maximum frame size settings are programmed in register 4 (0x04). Since the
KSZ8893FQL supports VLAN tags, the maximum sizing is adjusted when these tags are present.
Full Duplex Flow Control
The KSZ8893FQL supports standard IEEE 802.3x flow control frames on both the transmit and the receive sides.
On the receive side, if the KSZ8893FQL receives a pause control frame, then the KSZ8893FQL will not transmit the
next normal frame until the timer, specified in the pause control frame, expires. If another pause frame is received
before the current timer expires, then the timer will be updated with the new value in the second pause frame. During
this period (while it is flow controlled), only flow control packets from the KSZ8893FQL are transmitted.
On the transmit side, the KSZ8893FQL has intelligent and efficient ways to determine when to invoke flow control. The
flow control is based upon availability of the system resources, including available buffers, available transmit queues
and available receive queues.
The KSZ8893FQL will flow control a port that has just received a packet if the destination port resource is busy. The
KSZ8893FQL issues a flow control frame (XOFF), containing the maximum pause time defined by the IEEE 802.3x
standard. Once the resource is freed up, the KSZ8893FQL then sends out the other flow control frame (XON) with zero
pause time to turn off the flow control (turn on transmission to the port). A hysteresis feature is provided to prevent the
flow control mechanism from being constantly activated and deactivated.
The KSZ8893FQL flow controls all ports if the receive queue becomes full.
Half-Duplex Backpressure
A half-duplex backpressure option (not in IEEE 802.3 standards) is also provided. The activation and deactivation
conditions are the same as full duplex flow control. If backpressure is required, then the KSZ8893FQL sends preambles
to defer the other stations' transmission (carrier sense deference).
To avoid jabber and excessive deference (as defined in the 802.3 standard), after a certain time, the KSZ8893FQL
discontinues the carrier sense and then raises it again quickly. This short silent time (no carrier sense) prevents other
stations from sending out packets thereby keeping other stations in a ‘carrier sense’ deferred state. If the port has
packets to send during a backpressure situation, then the carrier sense type backpressure is interrupted and those
packets are transmitted instead. If there are no additional packets to send, carrier sense type backpressure is
reactivated again until switch resources free up. If a collision occurs, the binary exponential back-off algorithm is