Micrel, Inc.
KSZ8993M/ML
October 2008
30
M9999-020606
Switching Engine
The KSZ8993M features a high-performance switching engine to move data to and from the MACs’ packet
buffers. It operates in store and forward mode, while the efficient switching mechanism reduces overall latency.
The KSZ8993M has a 32kB internal frame buffer. This resource is shared between all three ports. The buffer-
sharing mode can be programmed through Global Register 2 (0x02). In one mode, ports are allowed to use any
free buffers in the buffer pool. In the second mode, each port is only allowed to use one third of the total buffer
pool. There are a total of 250 buffers available. Each buffer is sized at 128B.
MAC Operation
The KSZ8993M 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 KSZ8993M implements the IEEE standard 802.3 binary exponential back-off algorithm, and optional
"aggressive mode" back-off. After 16 collisions, the packet will be optionally dropped depending on the chip
configuration in Global Register 3 (0x03)
Late Collision
If a transmit packet experiences collisions after 512 bit times of the transmission, the packet will be dropped.
Illegal Frames
The KSZ8993M discards frames less than 64 bytes and can be programmed to accept frames up to 1536 bytes in
Global Register 4 (0x04). For special applications, the KSZ8993M can also be programmed to accept frames up
to 1916 bytes in the same global register. Since the KSZ8993M supports VLAN tags, the maximum sizing is
adjusted when these tags are present. See the EEPROM section for programming options.
Flow Control
The KSZ8993M supports standard 802.3x flow control frames on both transmit and receive sides.
On the receive side, if the KSZ8993M receives a pause control frame, the KSZ8993M 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, the timer will be updated with the new value in the second pause frame. During
this period (being flow controlled), only flow control packets from the KSZ8993M will be transmitted.
On the transmit side, the KSZ8993M has intelligent and efficient ways to determine when to invoke flow control.
The flow control is based on availability of the system resources, including available buffers, available transmit
queues and available receive queues.
The KSZ8993M will flow control a port, which just received a packet, if the destination port resource is being used
up. The KSZ8993M will issue a flow control frame (XOFF), containing the maximum pause time defined in IEEE
standard 802.3x. Once the resource is freed up, the KSZ8993M will send 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 activated and deactivated too many times.
The KSZ8993M will flow control all ports if the receive queue becomes full.
Half-Duplex Backpressure
A half-duplex backpressure option (Note: not in IEEE 802.3 standards) is also provided. The activation and
deactivation conditions are the same as the above in full duplex mode. If backpressure is required, the
KSZ8993M will send preambles to defer the other stations' transmission (carrier sense deference). To avoid
jabber and excessive deference defined in 802.3 standard, after a certain time it will discontinue the carrier sense
but it will raise the carrier sense quickly. This short silent time (no carrier sense) is to prevent other stations from