
52 of 162
October 20, 2006
IDT IDT88K8483
Packet Fragment Processor (PFP)
Overview
Figure 20 PFP Block Diagram
The Packet Segment Pool (PFP) is an internal block which is used for queuing and scheduling. There are four PFPs in the device - one for each
SPI-4 tributary port and direction: PFP module A tributary to main (PFP-A-MT), PFP module A main to tributary (PFP-A-MT), PFP module B tributary
to main (PFP-B-MT) and PFP module B main to tributary PFP-B-MT. The PFP includes the ingress server, queues and egress server as described in
. The queues include two types of buffers: data buffer and context buffer. The data buffer stores the payload
and the context buffer stores the payload location in the data buffer. For each PFP, the content buffer has 4K entries which are equal assigned
between the LIDs. For each PFP, the data buffer has 127K bytes, which are divided into 508 segments of 256 bytes. M field in the
PFP Buffer(p. 123). In non over-booking mode, the segments allocation is static, and the data buffer space is not shared between the LIDs, so the maximum
number of segments for each LID is M. In over booking mode, the segment allocation is dynamic, and the data buffer space can be overlapped
between the LIDs, so the maximum number of segments for each LID is up to 8 times the value of M segments, depending on how much the other
LIDs are occupied. In over- booking mode, it is recommended that back-pressure is not used at the PFP egress in order to avoid deadlock. When
The ingress server transfer data from the ingress port buffers to the data buffers. The ingress server sequence is: read ingress port buffer, request
data buffer segment, move data to data buffer and put the payload location information in the context buffer. The ingress server checks the SOP/EOP
sequence. If the ingress server detects SOP-EOP-EOP sequence or EOP-SOP-SOP sequence, then it sends illegal sequence event to PMON. If the
ingress server detects buffer overflow, then it sends over flow event to PMON. If the ingress server detects a too-long packet, then it truncates the
packets, adds SOP/EOP and error tag accordingly, and sends cut-down event to PMON. The packet length is programed in the MAX_LEN field in the
The egress server is responsible for ensuring that per port quality of service is maintained, and it includes the scheduler which has both round
robin priority mode and high/low priority mode. The scheduler schedules segments, or complete packets spanning several segments, from the data
buffer to egress port buffer. The device can be programed to priority mode by setting to 1 the WEIGHT_E field in the
PFP Queue Weighting Enable(p. 122). When the priority mode is enabled, the scheduler serves first the high priority segments before the low priority segments. When the priority
mode is enabled, if high priority LID receives starving or hungry status from the egress interface, then the device sets the internal LID status to
enabled, if low priority LID receives starving or hungry status from the egress interface, then the device sets the internal status to hungry and it uses
The egress has four directions: SPI-4 tributary to SPI-4 main or SPI-4 main to SPI-4 tributary, redirect or loopback, extract and discard. The egress
programmed on-the-fly, as long as traffic is not present.
Ingress
Server
Egress
Server
SPI-4
Ingress
Port
Buffer
SPI-4
Egress
Port
Buffer
PFP
SPI-4
Egress
Interface
SPI-4
Ingress
Interface
Data Buffer
Context Buffer
Queues