KS8995M
Micrel
M9999-120403
24
December 2003
Functional Overview: Switch Core
Address Look-Up
The internal look-up table stores MAC addresses and their associated information. It contains a 1K unicast address table plus
switching information. The KS8995M is guaranteed to learn 1K addresses and distinguishes itself from hash-based look-up
tables which, depending on the operating environment and probabilities, may not guarantee the absolute number of addresses
it can learn.
Learning
The internal look-up engine will update its table with a new entry if the following conditions are met:
The received packet’s SA (Source Address) does not exist in the look-up table.
The received packet is good; the packet has no receiving errors, and is of legal length.
The look-up engine will insert the qualified SA into the table, along with the port number, time stamp. If the table is full, the
last entry of the table will be deleted first to make room for the new entry.
Migration
The internal look-up engine also monitors whether a station is moved. If it happens, it will update the table accordingly.
Migration happens when the following conditions are met:
The received packet’s SA is in the table but the associated source port information is different.
The received packet is good; the packet has no receiving errors, and is of legal length.
The look-up engine will update the existing record in the table with the new source port information.
Aging
The look-up engine will update the time stamp information of a record whenever the corresponding SA appears. The time stamp
is used in the aging process. If a record is not updated for a period of time, the look-up engine will remove the record from
the table. The look-up engine constantly performs the aging process and will continuously remove aging records. The aging
period is 300 + 75 seconds. This feature can be enabled or disabled through Register 3 or by external pull-up or pull-down
resistors on LED[5][2]. See
“Register 3” section.
Forwarding
The KS8995M will forward packets using an algorithm that is depicted in the following flowcharts. Figure 5 shows stage one
of the forwarding algorithm where the search engine looks up the VLAN ID, static table, and dynamic table for the destination
address, and comes up with “port to forward 1” (PTF1). PTF1 is then further modified by the spanning tree, IGMP snooping,
port mirroring, and port VLAN processes to come up with “port to forward 2” (PTF2) as shown in Figure 6. This is where the
packet will be sent.
The KS8995M will not forward the following packets:
Error packets. These include framing errors, FCS errors, alignment errors, and illegal size packet errors.
802.3x pause frames. The KS8995M will intercept these packets and perform the appropriate actions.
“Local” packets. Based on DA (Destination Address) look-up. If the destination port from the look-up table matches
the port where the packet was from, the packet is defined as “l(fā)ocal.”
Switching Engine
The KS8995M features a high-performance switching engine to move data to and from the MAC’s packet buffers. It operates
in store and forward mode, while the efficient switching mechanism reduces overall latency.
The KS8995M has a 64kB internal frame buffer. This resource is shared between all five ports. The buffer sharing mode can
be programmed through Register 2. See
“Register 2.” 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 1/5 of the total buffer pool. There are a total of 512 buffers available. Each
buffer is sized at 128B.
MAC (Media Access Controller) Operation
The KS8995M strictly abides by IEEE 802.3 standards to maximize compatibility.
Inter-Packet Gap (IPG)
If a frame is successfully transmitted, the 96-bit time IPG is measured between the two consecutive MTXEN. If the current
packet is experiencing collision, the 96-bit time IPG is measured from MCRS and the next MTXEN.
Backoff Algorithm
The KS8995M implements the IEEE Std 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 register 3. See
“Register
3.”