PROPRIETARY AND CONFIDENTIAL TO P MC-SIERRA, INC.,AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 2
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
This document is the proprietaryand confidential information of PMC-Sierra Inc. Access to this information
does not transfer or grant any right or license to use this intellectual property. PMC-Sierra will grant such
rights only under a separate written license agreement.
Any product, process or technology described in this document is subject to intellectual property rights
reserved by PMC-Sierra, Inc.and are not licensed hereunder. Nothing contained herein shall be construed
as conferring by implication, estoppel or otherwise any license or right under any patent or trademark of
PMC-Sierra, Inc.or any third party. Except as expressly provided for herein, nothing contained herein shall
be construed as conferring any license or right under any PMC-Sierra, Inc.copyright.
Each individual document published by PMC-Sierra, Inc. may contain additional or other proprietary
notices and/or copyright information relating to that individual document.
THE DOCUMENT MAYCONTA IN TE CHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS.
CHANGES ARE REGULARLY MADE TO THE INFORMATION CONTAINED IN THE DOCUMENTS.
CHANGES MAYOR MAY NOT BE INCLUDED IN FUTURE EDITIONS OF THE DOCUMENT.
PMC-SIERRA, INC.OR ITS SUPPLIERS MAY MAKE IMPROVEMENTS AND/OR CHANGES IN THE
PRODUCTS(S), PROCESS(ES), TECHNOLOGY, DESCRIPTION(S), AND/OR PROGRAM(S)
DESCRIBED IN THE DOCUMENT AT ANY TIME.
THE DOCUMENT IS PROVI DED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTY OR MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
ETT1, Enhanced TT1, TT1, and LCS are trademarks of PMC-Sierra, Inc.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 4
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Revision History
Issue NumberIssue DateDetails Of Change
1March 2000Creation of document
2July 2000Added HSTL Power Dissipation values, corrected programming
constraints for EPP, added OOB, JTAG and PLL blocks to device
dataflow diagrams, added heat sink information to Characteristics
section, corrected EPP register section, corrected Frame Format
tables, added correct bit definition for EPP Interrupt register,
corrected diagram in Appendix C, added send and receive
procedure for control packets, added ESOBLCP register
explanation, corrected conditions in Table 57, corrected Scheduler
Refresh Procedure, added new drawing for Crossbar data flow,
corrected token explanation, corrected Figures 36 and 37,
corrected spelling and formatting errors throughout document.
3August 2001Removed bit 17 from Scheduler Status Register, updated BP_FIFO
information in Scheduler Control and Reset Register, corrected
bottom view drawings for Scheduler and Crossbar, corrected signal
description section in Scheduler and Crossbar for power pins,
corrected tper3, and tpl3 in AC Electrical, added memory address
information in EPP registers, corrected mechanical drawings,
updated state diagram in Scheduler, added information about
Scheduler PLL timing, updated initialization sequence for all chips,
corrected DatasliceSignal Descriptionfor ibpen0, added bit 14(13th
and 14th Dataslice enable) to EPP Control register, updated TDM
constraints, added Output TDM Queue Overflow to the EPP’s
Interrupt register, updated EPP Output Backpressure /
Unbackpressure Threshold register, updated LCS2 link
synchronization in appendix, modified EPP Egress Control Packet
Data Format table, Modified ETT1 usage of LCS2 protocol section
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USExiii
Page 18
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
xivPROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 19
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1Functional Description
1.1OVERVIEW
The ETT1TMChip Set provides a crossbar-based switch core which is capable of switching cells between
32 ports with each port operating at data rates up to 10 Gbit/s. This section describes the main features of
the switch core and how cells flow through a complete system that is based on the ETT1 Chip Set.
This document often refers to port rates of OC-192c or OC-48c. The ETT1 Chip Set itself operates at a
fixed cell rate of 25M cells per second per port and thus is unaware of the actual data rate of the attached
link. So a switchmight be 32 port sof OC-192c, or it could be 32 ports of 10 Gbit/sEthernet; itis the internal
cell rate that is determined by the ETT1 Chip Set, not the link technology.
1.1.1E TT1 Switch Core Features
The ETT1 switch core provides the following features:
•320 Gbit/s aggregate bandwidth- up to 32 ports of 10 Gbit/s bandwidth each
•Each port can be configured as 4 x OC-48c or 1 x OC-192c
•Both port configurations support four priorities of best-ef fort traffic for unicast and multicast data
traffic
•TDM support for guaranteed bandwidth and zero delay variation with 10 Mbit/s channel resolution
•LCS
TM
protocol supports a physical separation of switch core and linecards up to 200 feet (70 m)
•Virtual output queues to eliminate head-of-line blocking on unicast cells
•Internal speedup to provide near-output-queued performance
•Cells are transferred using a credit mechanism to avoid cell losses due to buffer overrun
•In-band management and control via Control Packets
•Out-of-band management and control via a dedicated CPU interface
•Optional redundancy of all shared components for fault tolerance
•Efficient support for multicast with cell replication performed within the switch core
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE15
Page 20
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.1.2The Switch Core Model
The ETT1Chip Set is designed to provide a switch core, not a complete packet switch system.A complete
switch consists of one or more switch cores, together with a number of linecards. Each linecard connects
to one port in the core. The linecard includes a physical interface (fiber, co-axial cable) to a transmission
system suchas SONET/SDH or Ethernet. The linecardanalyzes incoming cells or packets and determines
the appropriate egress port and priority. The linecard contains any cell/packet queues that are needed to
allow for transient congestion through the switch.
The ETT1 switch core operates on fixed sizecells. If the linecard transmissionsystem uses variablelength
packets, or cells of a size different from those used in the core, then the linecard is responsible for
performing any segmentation and reassembly that is needed. Figure 1 illustrates this generic
configuration.
Figure 1. The Basic Components of a Switch Built Around the ETT1 Chip Set.
ETT1 Switch Core
port 0
Linecard 0
SONET/SDH
Ethernet....
Linecard 31
SONET/SDH
Ethernet....
port 0
LCS Protocol
ETT1 Chip Set
OOB Bus
CPU
The ETT1 Chip Set has been designed to allow for up to 200 feet (70 meters) of physical separation
between the ETT1 core and the linecard. The LCS
TM
(Linecard to Switch) protocol is used between the
ETT1 core and the linecard to ensure lossless transfer of cells between the two entities. However, while
the LCS protocol must be implemented,the physical separation is not mandatory; the linecard could reside
on the same physical board as the ETT1 port devices.
The switch core has two main interfaces. One is the interface between the linecard and the core port,
described in the LCS Protocol section.
16PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 21
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The secondinterface is between the ETT1 devices and the local CPU. TheETT1 ChipSet requires a local
CPU for configuration,diagnostics and maintenance purposes. A singleCPU can control a completeETT1
core via a common Out-Of-Band (OOB) bus. All of the ETT1 devices have an interface to the OOB bus.
The OOB bus is described in Section 1.1.4 “The OOB (Out-Of-Band) Bus” on page 18.
1.1.3The LCS Protocol
The Linecard-to-Switch (LCSTM) protocol provides a simple, clearly defined interface between the linecard
and the core. In this section we introduce LCS. There are two aspects to LCS:
•a per-queue, credit-based flow control protocol
•a physical interface
The LCS protocol provides per-queue, credit-based flow control from the ETT1 core to the linecard, which
ensures that queues are not overrun.The ETT1core has shallow (64 cells)queues in both the ingressand
egress directions. These queues compensate for the latency between the linecard and the core. One way
to think of these queues is simply as extensions of the queues within the linecards. The queues
themselves are described further in Section 1.3 “Prioritized Best-Effort Queue Model” on page 30.
The LCS protocol is asymmetrical; it uses different flow control mechanisms for the ingress and egress
flows. For the ingress flow LCS uses credits to manage the flow of cells between the linecards and the
ETT1 core. The core provides the linecard with a certain number of creditsfor each ingress queue in the
core. These credits correspond to the number of cell requests that the linecard cansend to the core. For
each cell request that is forwardedto a given queuein the core the linecardmust decrementthe number of
credits for that queue. The core sends a grant (which is also a new credit) to the linecard whenever the
core is ready to accept a cell in responseto the cell request. At some later time, which is dependent on the
complete traffic load, the cell will be forwarded through the ETT1 core to the egress port. In the egress
direction a linecard can send hole requests, requesting that the ETT1 core does not forward a cell for one
celltime. The linecard can issue a hole request for each of the four besteffort unicastor multicast priorities.
If the linecard continually issued hole requestsat all four priorities then the ETT1 core would not forward
any best effort traffic to the linecard.
The LCS protocol information is contained within an eight byte header that is added to every cell.
The physical interface that has been implemented in the ETT1 Chip Set is based on a faster version of the
Gigabit EthernetSerdes interface,enabling theuse of off-the-shelf parts for the physical link. This interface
provides a
1.5 Gbit/sserial link that uses 8b/10b encoded data. Twelve of these links are combined to provide a single
LCS link operating at 18Gbaud, providing an effective databandwidth that is in excessof an OC-192clink.
NOTE: The LCS protocol is defined in the “LCS Protocol Specification -- Protocol Version 2”,
available from PMC-Sierra,Inc. This version of LCS supersedes LCS Version 1. Version 2
is first supported in the TT1 Chip Set with the Enhanced Port Processor device (also
referred to as the ETT1 Chip Set) and will be supported in future PMC-Sierra products.
The ETT1 implementation of the LCS protocol is described further in Section 1.6 “ETT1
Usage of the LCS Protocol” on page 64.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE17
Page 22
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.1.4The OOB (Out-Of-Band) Bus
The ETT1 Chip Set requires a local CPU to perform initialization and configuration after the Chip Set is
reset or if the core configuration is changed - perhaps new ports are added or removed, for example. The
OOB bus provides a simple mechanism whereby a local CPU can configure each device.
Logically, the OOB bus provides a 32 bit address/data bus with read/write, valid and ready signals. The
purpose of the OOB bus is for maintenance and diagnostics; the CPU is not involved in any per-cell
operations.
1.2ARCHITECTURE AND FEATURES
1.2.1ETT1 Switch Core
An ETT1 switch core consists of four types of entities: Port, Crossbar, Scheduler, and CPU/Clock. There
may be one or more instances of each entity within a switch. For example, each entity might be
implemented as a separate PCB, with each PCB interconnected via a single midplane PCB. Figure 2
illustrates the logical relationship between these entities.
Linecard
Figure 2. ETT1 Switch Core Logical Interconnec ts
Crossbar
Port
Flow Control
Crossbar
Scheduler
CPU/clock
Linecard
Port
18PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 23
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Each ETT1 port is attached to one or more linecards. The port contains the shallow cell queues and
implements the LCS protocol. The port and Scheduler exchange information about cells that are waiting to
be forwarded through the Crossbar core.
The Scheduler maintains local information on the number of cells that are waiting in all of the ingress and
egress queues. It arbitrates amongst all cells in the ingress queues, and instructs all of the ports as to
which cell they can forward through the Crossbar at each cell time.
Two Crossbars are used. The first, referred to as simply ‘the Crossbar’, interconnects all of the ports with
all of the other ports, enabling cells to be forwardedfrom the ingress port queues to theegressport queues
(in a different port). The Crossbaris reconfigured at every celltime to provide any non-blocking one-to-one
or one-to-many mapping from input ports to output ports. Each Crossbar port receives its configuration
information from its attached port; the Crossbars do not communicate directly with the Scheduler. The
second Crossbar is the flow-control Crossbar. It passes output queue occupancy information from every
egress port to every ingress port. The ingress ports use this information to determine when requests
should and should not be made to the Scheduler.
The CPU/clock provides clocks and cell boundary information to every ETT1 device. It also has a local
CPU which can read and write state information in every ETT1 device via the OOB bus. The CPU/clock
entity is a necessary element of the ETT1 switch core, but does not contain any of the ETT1 devices.
1.2.2Basic Cell Flow
The ETT1 Chip Set consists of four devices. Their names (abbreviations) are:
•Dataslice(DS)
•Enhanced Port Processor (EPP)
•Scheduler (Sched)
•Crossbar (Xbar)
This section describes how cells flow through these four devices.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE19
Page 24
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
Figure 3. Two P ort Conf igu ration of a ETT1 Switch
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1,3
2
1,3
Input Data Slice
2,3
5
5
7
Input EPP
Crossbar
Flow Control
Crossbar
6
5
7
Output Data Slice
6
5,7
Output EPP
7
44
Scheduler
data cell flow
control flow
3
6,7
Figure 3 shows a two-port configuration of a ETT1 switch. Only the ingress queues of the left hand port
and theegress queues of the right hand port are shown. The port has one EPP and eithersix or seven DS
devices. The DS contains the cell queue memory and also has the Serdes interface to the linecard. A
single cell is “sliced” across all of the Dataslice devices, each of which can manage two slices. The EPP is
the port controller, and determines where cells should be stored in the DS memories. Multiple Crossbar
devices make up a full Crossbar. A single Scheduler device can arbitrate for the entire core.
A cell traverses the switch core in the following sequence of events:
1. A cell request arrives at the ingress port, and is passed to the EPP. The EPP adds the request to
any other outstanding cell requests for the same queue.
2. At some later time, the EPP issues a grant/credit to the source linecard, requesting an actual cell
for a specific queue. The linecard must respond with the cell within a short period of time.
3. The cell arrives at the ingress port and the LCS header is passed to the EPP. The EPP
determines the destination queue from the LCS header, and then tells the Dataslices where to
store the cell (each Dataslice stores part of the cell). The EPP also informs the Scheduler that a
new cell has arrived and so the Scheduler should add it to the list of cells waiting to be forwarded
through the Crossbar. The EPP modifies the LCS label by replacing the destination port with the
source port, so the egress port and linecard can see which port sent the cell.
4. The Scheduler arbitrates among all queuedcells and sends a granttothose ports that can forward
a cell. The Scheduler also sends a routing tag to each of the destination (egress) ports; this tag
20PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 25
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
tells the ports which of the many source ports will be sending it a cell.
5. The source EPP sends a read command to the Dataslices, which then reads the cell from the
appropriate queue and sends it to the Crossbar. At the same time, the destination ports send the
routing tag information to the Crossbar. This routing tag information is used to configure the
internal connections within the Crossbar for the duration of one cell time. The cell then flows
through the Crossbar from the source port to the destination port.
6. The cell arrives at the destination port, and the EPP receives the LCS header of the cell. It uses
this information to decide in which egress queue the cell should be stored. If this was a multicast
cell which caused the egress multicast to reach its occupancy limit, then the EPP would send a
congestion notification to the Scheduler.
7. At some later time, the EPP decides to forward the cell to the linecard. The EPP sends a read
command to the Dataslices which read the cell from memory and forward the cell out to the
linecard. The egress EPP also sends flow control to the ingress EPP, informing it that there now
exists free space in one or more of the egress EPP’s output queues. Also, if the transmitted cell
was a multicast cell then this may cause the egress queue to go from full to not full, in which case
the EPP notifies the Scheduler that it (the EPP) can once again accept multicast cells.
The above description does not account for all of the interactions that can take place between ETT1
devices, but it describes the most frequent events. In general, users do not need to be aware of the
detailed interactions, however knowledge of the main information flows will assist in gaining an
understanding of some of the more complicated sections.
1.2.3Prioritized Best-effort Service
An ETT1 switch core provides two types of service. The first is a prioritized,best-effort service. The second
provides guaranteed bandwidth and is described later.
The best-effort service is very simple. Linecards forward best-effort cells to the ETT1 core where they will
be queued. The Scheduler arbitrates among the various cells; the arbitration algorithm has the dual goals
of maximizing throughput while providing fair access to all ports. If more than one cell is destined for the
same egress port then the Scheduler will grant one of the cells and the others will remain in their ingress
queues awaitinganother round of arbitration. The serviceis best-effort in that the Scheduler tries its best to
satisfy all queued cells, but in the case of contention then some cells will be delayed.
The Scheduler support s four levels of strict priority for best effort traffic. Level 0 cells have the highest
priority, and level 3 cells have the lowest priority. A level 0 cell destined for a given port will always be
granted before a cell of a different priority level, in the same ingress port, that is destined for the same
egress port.
A ‘flow’ is a sequence of cells from the same ingress port to the same egress port(s) at a given priority.
Best-effort flows are either unicast flows (cells in the flow go to only one egress port), or multicast flows (in
whichcasecellscangotomany,evenall,oftheegressports).
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE21
Page 26
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.2.4End-to-End Flow Control
The full queueing and flow control model is shown in Figure 4.
NOTE: Creditsor backpressure are used at every transfer point to ensure that cells cannot be lost
due to lack of buffer space.
Figure 4. Queueing and Flow Control
ETT1 core
r
a
Linecard
Ingress queues
ETT1 port
Ingress
queues
b
s
s
o
r
C
1
T
T
E
ETT1 port
Egress
queues
Linecard
Egress queues
LCS credits
cell flow
backpressure/credits
hole requestsETT1 backpressure
1.2.5TDM Service
The ETT1 TDM service provides guaranteed bandwidth and zero cell delay variation. These properties,
which are not available from the best-effort service, mean that the TDM service might be used to provide
an ATM CBR service, for example. The ETT1 core provides the TDM service at the same time as the best
effort service, and TDM cells integrate smoothly with the flow of best-effort traffic. In effect, the TDM cells
appear to the Scheduler to be cells of the highest precedence, even greater than level zero best-effort
multicast traffic.
The TDM service operates by enabling a ETT1 port (and linecard) to reserve the crossbar fabric at some
specified cell time in the future. The Scheduler is notified of this reservation and will not schedule any
best-effort cells from the ingress port or to the egress port during that one cell time. Each port can make
separate reservations according to whether it will send and/or receive a cell at each cell time.
Several egress ports may receive the same cell from a given ingress port; therefore, the TDM service is
inherently a multicast service.
In order to provide a guaranteed bandwidth over a long period of time, an ingress port will want to repeat
the reservations on a regular basis. To support this the ETT1 core uses an internal construct called a TDM
22PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 27
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Frame. A TDM Frame is simplya sequence of ingressand egressreservations. The length (number of cell
times) of a TDM Frame is configurable up to a maximum of 1024 cells. The TDM Frame repeat s after a
certain fixed time. All ports are synchronized to the start of the TDM Frame, and operate
cell-synchronouslywith respectto each other. Thus, atany cell time, everyETT1 port knows whether ithas
made a reservation to send or receive a TDM cell. See the application note “LCS-2 TDM Service in the
ETT1 and TTX Switch Core”, available from PMC-Sierra, Inc.
Figure 5 illustrates the idea of a TDM Frame. The TDM Frame has N slots(N is 1024 or less) where each
slot is one 40ns cell time. The TDM Frame is repeated continuously, but adjacent TDM Frames are
separated by a guard band of at least 144 cells.
Figure 5. The TDM Fr ame Concept
40ns
1
One TDM Frame
N
Guard band
All of the ETT1 ports must be synchronized with respect to the start of the TDM Frame. This
synchronization information is distributed via the Scheduler. The Scheduler can generate the
synchronization pulses itself, or it can receive “Suggested Sync” pulses from a ETT1 port which can in turn
receive synchronization signals from a linecard. The linecards do not need to be exactly synchronized to
either the ETT1 core or the other linecards. The LCSprotocol willcompensate forthe asynchrony between
the linecard and the ETT1 core.
1.2.6S ubport Mode (2.5 Gbit/s Linecards)
An ETT1 switch core can have up to 32 ports. Each port supports a linecard bandwidth in excess of
10 Gbit/s.Thisbandwidth mightbe used by a single linecard (for example, OC-192c), or the ETT1port can
be configured to share this bandwidth among up to four ports, each of 2.5 Gbit/s. This latter mode,
specifically four 2.5 Gbit/s linecards, is referred to as subport mode, or sometimes as quad OC-48c mode.
A single ETT1 switch can have some ports in ‘normal’ mode, and some in subport mode; there is no
restriction. The four levels of prioritized best-effort traffic are available in all configurations. However, there
are some important differences between the two modes. One difference is that the LCS header must now
identify the subport associated with each cell. Two bits in the LCS label fields are used for this purpose, as
described below.
A second difference is that the EPP must carefully manage the output rate of each subport, so as not to
overflow the buffers at the destination linecard, and this is also described below.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE23
Page 28
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
A thirddifference is thatthe EPP must maintainseparate LCS request counters for each of the subports. It
must also maintain separate egress queues. So the number of queues can increase four-fold in order to
preserve the independence of each subport. Section 1.3 “Prioritized Best-EffortQueue Model” on page 30
describes the various queuing models in great detail.
1.2.6.1
Identifying th e Source Subport
The EPP manages a single physical stream of cells at 25M cells/second. In subport mode the EPP must
look at each incoming cell and determine which subport has sent the cell. The LCS label field is used to
achieve this. Two bitswithin the label(referred toin the LCS Specification as MUX bits) are used to denote
the source subport, numbered 0 through 3. The MUX bits must be inserted in the LCS label before the cell
arrives at the EPP. The MUX bits might be inserted at the source linecards themselves. Alternatively, they
might be inserted by a four-to-one multiplexer device placed between the subport linecards and the EPP.
In this latter case, the multiplexer device might not be able to re-calculate the LCS CRC. For maximum
flexibility, the EPP can be configured to calculate the LCS CRC either with or without the MUX bits.
1.2.6.2
Egress Cell Rate
Within the EPP is an Output Scheduler process which is different from, and should not be confused with,
the ETT1 Scheduler device. At every OC-192 cell time, the Output Scheduler looks at the egress queues
and decides which cell should be forwarded to the attached egress linecard(s). In subport mode, the
Output Scheduler will constrain the egress cell rate so as not to overflow any of the 2.5 Gbit/s links. It does
this by operating in a strict round-robin mode, so that at any OC-192 cell time it will only try to send a cell
for one of the subports. The four 2.5 Gbit/s subports are labeled as 0 through 3 ; at some cell time the
Output Scheduler will only try to send a cell from the egress queues associated with subport 0. In the next
time, it will only consider cells destined for subport 1, etc. If, at any cell time, there are nocells to be sent to
the selected subport, then an Idle (empty) cell is sent. For example, if subports 0 and 3 are connected to
linecards but subports 2 and 4 are disconnected, then the Output Scheduler will send a cell to 0, then an
empty cell, then a cell to 3, then an empty cell, and then repeat the sequence. The effective cell rate
transmitted to each subport will not exceed 6.25 M cells per second.
1.2.7LCS Control Packets
The LCS protocol provides in-band control packets. These packets (cells) are distinct from normal cell
traffic in that they do not pass through the fabric to an egress linecard, but are intended to cause some
effect within the switch.
There are two classes of Control Packets. The first class, referred to as CPU Control Packets, are
exchanged between the linecard and the ETT1 CPU (via the EPP and Dataslices). The intention is that
CPU Control Packets form the basic mechanism through which the linecard CPU and ETT1 CPU can
exchange information. This simple mechanism is subject to cell loss, and so should be supplemented by
some form of reliable transport protocol that would operate within the ETT1 CPU and the linecards.
The second class, referred to as LCS Control Packets, are used to manage the link between the linecard
and the ETT1 port. These LCS Control Packets can be used to start and stop the flow of cells on the link,
24PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 29
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
to provide TDM synchronizationevent information,and can recover from any grant/credit information that
is lost if cells are corrupted in transmission.
1.2.7.1
Sending a Control Packet f rom the OOB to the Linecard
Before sendinga CPU (OOB to linecard) control packet,the OOB must first write the controlpacketheader
and payload data intothe appropriatelocations in the Dataslice. (See Section3.3 “OutputDataslice Queue
Memory Allocation with EPP”, Table 23, on page 164.) The header for customer-specific CPU control
packets should be written into the Dataslices as shown, but the payload data is completely up to the
customer.
To send the CPU control packet which has been written into Dataslice queue memory, the OOB writes the
ESOBLCP register with the control packet type select in bits [5:4] (see the bit-breakout), and a linecard
fanout in bits [3:0]. If the port is connected to 4 subport linecards, then bits [3:0] are a subport-bitmap. If
the port is connected to one OC-192c linecard, then bit 0 must be set when the OOB wishes to send a CP.
When the CP has been sent to the linecard(s) indicated in bits [3:0], bits [3:0] will read back as 0. Since
control packets have higher priority than any other traffic type, they will be sent immediately, unless the
EPPisprogrammedtosendonlyidlecells.
1.2.7.2
Sending a Control Packet F rom the Linecard to the OOB
The linecard sends control packets to OOB using the regular LCS request/grant/cell mechanism. A CPU
(linecard to OOB) control packet must have the CPU bit set in its request label (See Section 1.1.3 “The
LCS Protocol” on page 17.) When the EPPreceives the cellpayload for a CPU control packet, it stores the
cell in the Dataslices’ Input Queue memories and raises the “Received LC2OOB/CPU Control Packet from
Linecard...” interrupt. (In OC-192c mode, it will always be Linecard 0.)
The input queue for CPU control packets from each linecard is only 8 cells deep, so as soon as the OOB
sees a “Received LC2OOB...” interrupt, it should read the appropriate “Subport* to OOB FIFO Status”
register (0x80..0x8c). Bit [3:0] of that register will tell how many control packet cells are currently in the
input queue; bits 6:4 will tell the offset of the head the 8-cell CPU CP input queue. That queue offset
should be used to form addresses for the Dataslices’ Input Queue memories. See Section 3.2 “Input
Dataslice Queue Memory Allocation with EPP” on page 162, for Dataslice Input Queue memory
addressing. Then the OOB should read those addresses to obtain the CPU CP payload data. When the
OOB has read the CPU CP payload data, it should write the appropriate “Linecard * to OOB FIFO Status”
register (any value). A write to that register, regardless of the write data, will cause the head of the queue
to be dequeued, freeing up that space in the CPU CP input queue.
See Section 1.6.3 “Control Packets” on page 69 for more details.
1.2.8Redundancy
An ETT1 core can be configured with certain redundant (duplicated) elements. A fully redundant core is
capable of sustaining single errors within any shared device without losing or re-ordering any cells. This
section describes the main aspects of a redundant core. A complete switch may have two ETT1 cores,
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE25
Page 30
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
with linecards dual-homed to both cores, and while this is a valid configuration the ETT1 core does not
provide any specific support for such a configuration.
Figure 6 shows a fully redundant core. The Crossbars and Scheduler are fully replicated, as are the links
connecting those devices. The port devices (EPP and Dataslices) are not replicated. It is important to
understand that if an EPP or Dataslice fails (or incurs a transient internal error), then data may be lost, but
only within that port.
Figure 6. Fully R edu ndan t Core
Crossbar 0
Port
Dataslice
EPP
Dataslice
Crossbar 1
EPP
Flow Control
Crossbar 0
Port
Flow Control
Crossbar 1
Scheduler 0
Scheduler- 1
Fault tolerant region
A fully redundant core operates in exactly the same way as a non-redundant core. Consider the EPP: it
sends new request information to bothSchedulers. The two Schedulers operate synchronously, producing
identical outputs, and the information (grants) received by the EPP will be the same. The Dataslices
operate in exactly the same way with their two Crossbar devices.
26PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 31
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The information carried on the links is protected by checksums. For example, if the EPP receives
information with a checksum error onone link, then it simply ignores thatlink and uses the information from
the other link. All errors are reported to the local CPU via interrupts.
The redundantcore is tolerant of such single errors, provided that they are detectable. In general,all errors
that occur on the links or within the Scheduler or Crossbar will be detectable.
It should be clear from Figure 6 that only the Dataslice and EPP have the redundant connections. An
individual Crossbar or Scheduler cannot compensate for information that is received with a checksum
error. The following discussion reviewshow thesetwo types of devices are affected by receiving corrupted
information.
If a Crossbardetects a checksumerror then it simply marks the cell as being corrupted.This informationis
passed to the egress Dataslice which will ignore that link and use the information from the other Crossbar.
The Scheduler is more complicated because it must maintainaccurate state information on the occupancy
of all queues as well as the backpressure status of some of the egress queues. If a Scheduler receives a
checksum error then it must effectively remove itself from the system.
Consider the simple configuration illustrated in Figure 7. Scheduler 0 sees a checksum error on
information it receives from EPP 1. Scheduler 0 now has incorrect state information. It immediately
disables all of its outbound links so that EPP 1 and EPP 2 know that Scheduler 0 should be ignored. The
EPPs now only accept information from Scheduler 1.
Figure 7. Simple Redundant Scheduler Config ur atio n
EPP 1EPP 2
Scheduler 0
Scheduler 1
If a new Scheduler-0 board is inserted in the system, then it must have its internal state updated to match
that of Scheduler-1. This is done using a sequence of actions that are controlled by the ETT1 CPU. In
essence, the linecards are temporarily stopped from sending new cells, and the state within each EPP is
downloaded into the Schedulers, and then the linecards are restarted. The entire process is very rapid
(much less than 1ms), but does cause best-effort traffic to be suspended for a brief time.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE27
Page 32
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.2.9System Co nfiguration Options
Most of the previous sections have assumed a particular switch configuration consisting of 32 ports of
OC-192c, with 64 byte payload cells and full redundancy. The ETT1 Chip Set has four aspects that can be
configured according to the user’s requirements. Two of these aspects have been described: quad OC48c
versus single OC-192c port, and a redundant system versus a non-redundant system. The other two
aspects are described in this section.
NOTE: All four aspects are orthogonal and so the choice of any one particular aspect does not
limit the choices for the other three aspects.
1.2.9.1
Payload: 64 bytes or 76 bytes
The ETT1 core and LCS protocol are designed to forward fixed length cells. Each LCS cell consists of an
LCS header (8 bytes) and a payload. The size of this payload can be either 64 bytes or 76 bytes. The
choice of payload size is a function of the linecard traffic: 53-byte ATM cells can probably use a 64 byte
payload; fragmented IP packets might obtain greater efficiency with a 76 byte payload.
This flexibility in cell size is due to the way the ETT1 Chip Set slices the cells. Figure 8 shows how an LCS
cell is sliced across the Dataslices and Crossbars.
28PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 33
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 8. LCS Cell Sliced Across Dataslices and Crossbars
LCS Cell
LCS Header
(8 Bytes)
Payload
(64 Bytes)
Extra 12 bytes
(6 bytes per slice)
ETT1 Port
Dataslice
Slices 0,1
Dataslice
Slices 2,3
Dataslice
Slices 10,11
Dataslice
Slices 12,13
Crossbar 0
Crossbar 1
Crossbar 2
Crossbar 3
Crossbar 10
Crossbar 11
Crossbar 12
Crossbar 13
ETT1 Port
Dataslice
Slices 0,1
Dataslice
Slices 2,3
Dataslice
Slices 10,11
Dataslice
Slices 12,13
The 64 byte payload cell requires six Dataslices per port and 12 Crossbars (32 port, non-redundant). The
76 byte payload cell requires seven Dataslices per port and 14 Crossbars. The EPP is capable of
supporting the seventh Dataslice.
Because the extra data is obtained by slicing the cell then this does not affect the clock frequency of the
Chip Set. The onlyeffect is thatthe link between the ETT1 port and the linecard must go up from18 Gbaud
to 21 Gbaud. This is done by making the link wider, not faster.
1.2.9.2
8, 16, or 32 ports
The ETT1 core can supporta maximum of 32 ports. Smaller configurations can be supportedby simply not
using some of the ports. However, if the maximum system is an eight or 16 port configuration, then some
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE29
Page 34
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
cost savings can be achieved by using fewer Crossbar devices. A Crossbar can be configured to be in an
8- 16- or 32-port core, as shown in Table 1.
Table 1. Crossbar Configurations
Number of OC-192c ports
Number of Crossbars required
(non redundant)
Number of Crossbars required
(redundant)
1 to 83 + 1 Flow Control6 + 2 Flow Control
9 to 166 + 1 Flow Control12 + 2 Flow Control
17 to 3212 + 2 Flow Control24 + 4 Flow Control
The reduction in the number of crossbars is achieved by having a single port use more than one
connection on each Crossbar. In a 32 port system, each port will use one connection to each Crossbar
device; in an 8 port system,each port will use four connections on each Crossbar. (This DOES NOT apply
to Flow Control Crossbars; each port will always use only one connection.)
1.3PRIORITIZED BEST-EFFORT QUEUE MODEL
The ETT1 switch core has been designed to maximize cell throughput while keeping latency small and
providing “fair” throughput among all ports. The ETT1 core supports four levels of strict priority. Level 0 is
the highest priority and level 3 the lowest. All conditions being equal, the core will always forward a higher
priority cell before a lower priority cell. Furthermore, the core will be fair to all inputs. This fairness is very
difficult to quantify and is onlymeaningful over time periods of many cells. Over short time periods (tens or
perhaps hundreds of cells) there may be temporary unfairness between ports.
A cell of a lower priority may pass a cell of a higher priority under certain conditions:
1. Since the scheduling pipeline is shorter for lower priorities, a cell of a lower priority may emerge
from the switch sooner than a cell of a higher priority if the lower-priority cell is sent immediately
after the higher-priority cell.
2. Hole requests for a higher priority can allow cells of a lower priority to pass cells of the higher
priority.
3. If the linecard responds to LCS grants faster than required to meet the system round trip time
constraint, then multicast cells of a lower priority may pass unicast cells of a higher priority, due to
a (programmable) delay in the EPP’s “Internal Delay Matching Adjustments” register.
4. In subport mode only: multicast output queues (VIQs) are shared by subports, so when a subport
is oversubscribed for an extended period of time, blocking may result on all subports . This
blocking of multicast can allow unicast cells of the same priority to pass.
In this section we describe the queueing model provided by the ETT1 switch core for this prioritized
best-effort traffic. We start by considering only OC-192c ports. The following sections describe how the
model differs for OC-48c ports.
30PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 35
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.3.1Unicast Traffic (OC-192)
Every ETT1 port has a separate request counter and ingress queue for each (output port, priority)
combination to which it can send unicast cells. In a full configuration, an ETT1 port can send to 32 ETT1
ports (including itself), at four priorities, and so willhave 128 unicast request counters and ingress queues.
All of these counters and queues are independent so that the switch does not suffer from head-of-line
blocking
Figure 9 illustrates the unicast ingress queueing model for one port.
The ingress queues are referred to as Virtual Output Queues (VOQs). This name indicates that each
queue holds cells going to just one output port.
Every ETT1 port also has the same number of unicast egress queues; one queue for every (input port,
priority) combination that can send cells to the port. Every port will have 128 unicast egress queues. It is
not acceptable to have a single egress queue per priority, as this can lead to gross unfairness between
ports. These egress unicast ports are called Virtual Input Queues (VIQs) as each queue only holds cells
that have come from a single input port. A useful model is to think of a VOQ as being directly connected
through the Crossbar to a single VIQ. The cell at the head of the VOQ is waiting to be scheduled in such a
way that it can move to the tail of the VIQ in the egress port.
1
.
Figure 9. The U nicas t Ingress Queueing Model for One Port
The associated ingress EPP is informed whenever an egress queue is full. In this case, the ingress port
will not issueany new requests to the Scheduler until sufficient cell spacebecomes available at the egress
queue. The transfer of cells from ingress to egress queues is lossless from a queueing perspective.
The best effort unicast ingress and egress queues can store up to 64 cells.
1.3.2Multicast Traffic (OC-192)
The ETT1 core also supports multicast cells. Multicast cells are cells that must be forwarded to one or
more egress ports. The LCS header will indicate that a cell is multicast, and it will also contain a multicast
group identifier. The ETT1 port uses this identifier to determine the list of ports to which the cell should go.
This list of ports is called the multicast fanout. Different multicast groups will probably have different
fanouts.
The Scheduler arbitrates among unicast and multicast cells. A multicast cell of a given priority will always
have priority over a unicast cell of the same priority, all else being equal. Physical cell replication takes
place within the Crossbar.
1. Head -of-line blocking is a phenomenon encountered by input queued switches in thecase where a cell destined for one output port is delayed becaus e the cell at the head of the same FIFO queue is destined for some other output which is currently
congested.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE31
Page 36
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The Scheduler will not necessarily schedule all ports in a fanout at the same cell time. In other words, the
same multicast cell might pass through the Crossbar on several occasions before all egress ports have
received their copy of the cell.
Every ETT1 port has a single ingress queue and a single egress queue for multicast traffic at each priority,
as shown in Figure 10. (There are also request counters, as for unicast cells, but these are not shown.)
32PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 37
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
Figure 10. Ingress and Egress Queue for Multi cast Traff ic
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The Scheduler maintains information on the occupancy of the multicast ingress queues, and receives
backpressure/unbackpressure signals for the multicast egress queues. If an egress multicast queue is
backpressured then there is a question as to whathappens to the cell at the head of an ingress queue that
is trying to send to that backpressured egress queue (as well as other ports). If the Scheduler blocks the
ingress queue, then the system will experience head-of-line blocking for multicast cells at that priority.
Every ETT1 port can select how it wants to handle multicast cells that are sent to it. For each of the four
multicast egress queues, the local ETT1 CPU can either enable or disable a backpressure signal from
being sent to the Scheduler.
NOTE: This selection is at the egress queues, not the ingress queues.
If a port is set so that multicast backpressure is disabled, then that port will never cause head-of-line
blocking to occur in any ingress multicast queue that will send to it.
If a port is set so that multicast backpressure is enabled, then that port can assert a backpressure signal if
the egress queue gets too full. Consequently, this might cause head-of-line blocking at multicast ingress
queues that send cells to this port.
Therefore, head-of-line blocking is only guaranteed not to occur if allof the ports that can receive multicast
cells have their multicast backpressure signals disabled. If at least one port has backpressure enabled,
then head-of-line blocking might occur.
1.3.3Unicast Traffic (Subport Mode)
The EPP can operate in one of two modes. The first mode uses the queueing model described previously,
and corresponds to a single channel of approximately 10 Gbit/s. The secondmode is called subport mode.
In subport mode an EPP can manage four channels of 2.5 Gbit/s each. The physical interface at the
Dataslice is always a single channel; in subport mode the four 2.5 Gbit/s channels are time multiplexed
onto the single 10 Gbit/s channel. More precisely, given that the ETT1 Chip Set always operates at 25M
cells per second, the subport mode correspond to four channels each of up to 6.25M cells per second.
Figure 11. shows the block diagram of an ETT1 port card. The six (or seven) Dataslices provide a single
interface. A separate MUX device is required to manage the four OC-48c channels and merge them so
they appear as a single channel to the EPP/DS.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE33
Page 38
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 11. An ETT1 Port O perat ing in Subport Mode with Four OC-48c Linecards
OC-48c 0
OC-48c 1
OC-48c 2
OC-48c 3
MUX
ETT1 Port board
25M cell/s
interface
Dataslice 0/1
Dataslice0/1
Dataslice0/1
Dataslice0/1
Dataslice0/1
Dataslice0/1
EPP
Crossbar
Crossbar
Crossbar
Crossbar
Crossbar
Crossbar
Scheduler
Flow Control
Crossbar
ETT1 Port board
The EPP can support all four best-effort priorities when operating in subport mode. This is the primary
feature that differentiates the EPPfromthe PP. Furthermore, the EPP can operate in a mixedmode switch,
so an ETT1 switch can have some ports operating in subport mode (quad OC-48c), while other ports
operate in normal mode (OC-192c).
NOTE: The EPP has been designed to operatewith the same Dataslicedevice as the PP, and this
has certain limitations that the designer should be aware of. The following sections on
subporting explain these limitations.
Ports are numbered 0 through 31and each port has one EPP. Subports are denoted as 0 through 3. Ports
with subports are shown as a (port, subport) pair; for example, port 4, subport 3 would be shown as (4,3)
Ports without subports (OC-192c) are simply numbered. The following queueing description assumes an
ETT1 core configured with all 32 ports in subport mode, supporting 128 OC-48c linecards.
First, consider a single priority. Figure 12 shows the 128 counters needed by one OC-48c linecard. There
are currently two requests outstanding for output (0,0). The ETT1 Chip Set uses virtual output queues to
avoid head-of-line blocking issues, therefore, the EPP needs to keep track of unicast requests going to
each one of the 128 possible output channels (0,0) through (31,3). Consequently, 128 counters are
needed. These counters reflect the outstanding requests that this one OC-48c ingress linecard has made
to the switch.
34PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 39
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 12. The Input Request Counters
EPP
0,0
2
request
OC-48c linecard
grant
0,1
0
0,2
3
0,3
7
31,3
0
The EPP can support up to four OC-48c channels, and each channel must have its own set of request
counters for each of the 128 OC-48c output channels. Figure 13 shows the full set of counters for a single
priority.
Within the EPP an LCS Grant Manager process issues grants to the linecards in response to the received
requests. Onceper cell time theLCS Grant Manager selects one request counter to grant,given that many
may qualify. A request counter qualifies to receive a grant if the counter is non-zero and if there is at least
one empty cell buffer in the VOQ that is used for cells going to that particular output. Once the LCS Grant
Manager hasselected a particularVOQ, it decrements the corresponding counter and sends a grant to the
appropriate linecard.
The grant indicates a specific VOQ within the linecard. When the linecard receives the grant it does two
things. First, it sendsto theEPP the cell body that is currently at the head of the granted queue. Second, it
increments a local credit counter that is used to determine whether a new request for that queue can be
sent.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE35
Page 40
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 13. Full Set of Counters for a Single Priority
OC-48c linecard
OC-48c linecard
OC-48c linecard
request
grant
request
grant
request
EPP
OC-48c 0
OC-48c 1
OC-48c 2
0,0
2
0,1
0
0,2
3
0,3
7
31,3
0
0,0
5
0,1
2
31,3
2
0,0
0
0,1
12
grant
31,3
0,0
15
0,1
31,3
OC-48c linecard
request
OC-48c 3
grant
36PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
7
8
3
Page 41
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.3.3.1 Virtual Output Queues
Ideally, the EPP/DS would have a separate VOQ which would correspond to each of the request counters.
This would mean that congestion on one VOQ would not impact any other VOQ on the same OC-48c or
any VOQs on different OC-48c channels.
In practice, the EPP is constrained by the amount of cell buffering available in the ETT1 Dataslice device
(which contains the actual cell buffers). Consequently, all four request counters that correspond to a single
output channel share a single queue, as shown in Figure 14.
The EPP only manages a single queue for each of the output channels (whether the output channel is
OC-48c or OC-192c). If the EPP is connected to four OC-48c inputs, then those four OC-48c linecards
must share the single queue used for each output. The four dotted arrows in Figure 14 show that the four
request counters for output (0,0) all map to the same VOQ for output (0,0).
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE37
Page 42
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 14. All R equ est Count ers for a Single Output Share a Sing le Queue
OC-48c
linecard
OC-48c
linecard
OC-48c
linecard
EPP
OC-48c 0
OC-48c 1
OC-48c 2
0,0
2
0,1
0
0,2
3
0,3
7
31,3
0
0,0
5
0,1
2
31,0
2
0,1
0
0,2
12
EPP
Virtual Output Queues (in the Dataslices)
(1 per output channel)
0,0
(This is for cells going
to output OC-48c
channel 0 on port 0)
0,1
0,2
0,3
1,0
1,1
1,2
1,3
31,0
31,1
31,2
31,3
OC-48c
linecard
31,3
7
0,0
15
0,1
8
OC-48c 3
31,3
3
38PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 43
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The complete sequence of events at the input side is shown in Figure 15.
1. Linecard a issues a request to the EPP to send a cell to output channel (0,1). The initial request
count is zero, so the arrival of the request then increments the request count to one.
2. The LCS GrantManager sees that thereis at leastone empty cell buffer in the virtual output queue
for output (0,1), and that the request counter for (0,1) is non-zeroand so it decrements the request
counter (back to zero) and issues a grant to the linecard.
3. The linecard then forwards the actual cell body to the EPP which stores the cell in the virtual
output queue. The EPP also issues a request to the Scheduler, indicating that there is a cell
waitingtobetransferredtooutput(0).
4. Later the Scheduler issues a grant to the EPP which can forward the cell through the Crossbar to
the output channel (the EPP at port 0).
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE39
Page 44
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 15. Sequence of Events at the Input Side
OC-48c
linecard
OC-48c
linecard
Request (0,1)
EPP
Initial state. Subport 0 has no outstanding requests for output (0,1)
EPP
OC-48c 0
0,0
2
0,1
0
0,2
3
0.3
7
OC-48c 0
0,0
2
0,1
1
0,2
3
0.3
7
Virtual Output Queues
0,0
0,1
0,2
0,3
Virtual Output Queues
0,0
0,1
0,2
0,3
Crossbar
Scheduler
Crossbar
Scheduler
Subport 0 issues a request to send a cell to output (0,1).
The request count for output (0,1) is incremented.
OC-48c
linecard
EPP
Grant (0,1)
The LCS Grant Manager issues a grant for queue (0,1) to subport 0.
OC-48c 0
0,0
2
0,1
1
0,2
Manager
3
0.3
7
Virtual Output Queues
LCS
Grant
0,0
0,1
0,2
0,3
40PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Crossbar
Scheduler
Page 45
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 15. (Continued)
OC-48c
linecard
OC-48c
linecard
EPP
Linecard a receives the grant and forwards ce ll body to go to output (0,1).
EPP
OC-48c a
0,0
2
0,1
0
0,2
3
0.3
7
A request is made to the Scheduler.
OC-48c a
0,0
2
0,1
1
0,2
3
0.3
7
Virtual Output Queues
0.0
0,1
0,2
0,3
Virtual Output Queues
0,0
0,1
0,2
0,3
Request (0)
Grant (0
Crossbar
Scheduler
Crossbar
Scheduler
The EPP then sends the cell through the crossbar to the output queue of port 0
The Scheduler issues a grant to queue (0,1).
.
The departure of a cell from the VOQ will mean that there is now space for at least one more cell in that
VOQ, and that could trigger the LCS Grant Manager to issue a new grant, assuming that a new request
had come in for that queue.
1.3.3.2
The Output Process
Each EPP consists of an input (i)EPP and an output (o)EPP. The request counters and virtual output
queues described above all reside in the iEPP . The oEPP has virtual input queues that receive the cells
forwarded via the Crossbar.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE41
Page 46
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
In the ideal scenario, each oEPP would have a separate virtual input queue for every (possibly 128) input
channel. However, the same restriction applies, limiting the oEPP to just 32 queues per output OC-48c
(and per priority). Figure 16 shows the virtual input queues in each oEPP when attached to four OC-48c
ports.
Each virtual input queue maps back to a single virtual output queue in one of the iEPPs. In abstract terms,
the virtual input queue is simply an extension of the appropriate virtual output queue.
Each output OC-48c channel within the oEPP has its own set of unicast virtual input queues. If an output
queue (virtual input queue) is backpressured, then this will push back to the appropriate virtual output
queue. However, each virtual output queue is shared by the four input OC-48c channels within that iEPP,
so backpressuring a virtual output queue has the effect of asserting backpressure to all four OC-48c’s on
thesameiEPP.
The oEPP has an Output Scheduler process which determines which cell should be forwarded to the
egress linecards.
42PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 47
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 16. Virtual Input Queues
iEPP port 0
iEPP port 1
VOQ 0,0
VOQ 0,1
VOQ 0,2
VOQ 0,3
VOQ 31,3
VOQ 0,0
VOQ 0,1
VOQ 0,2
VOQ 0,3
0
31
oEPP port 0Virtual Input Queues
0
1
output
OC-48c 0
31
0
1
output
OC-48c 1
iEPP port 31
VOQ 31,3
VOQ 0,0
VOQ 0,1
VOQ 0,2
VOQ 0,3
VOQ 31,3
1
31
0
1
31
output
OC-48c 2
output
OC-48c 3
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE43
Page 48
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.3.3.3 Four P rioritie s
The description in the preceding sections only considered a single priority. The EPP supports four
priorities. Therefore, there are four times as many counters and queues as have been described so far ,
and this is only for unicast traffic. The four priorities can be modeled as separate planes; the input and
output queue figures shown earlier can be considered as 2-D planes. The four priorities are then four
copies of these planes, stacked next to each other in a third dimension. Figure 17illustrates this model for
the reference counters and virtual output queues. The virtual input queues at the oEPP are not shown.
Consequently, each iEPP has 2048 request counters (4 OC-48c input channels * 128 output channels * 4
priorities) and 512 virtual output queues (128 outputs * 4 priorities). Each oEPP has 512 virtual input
queues (4 output channels * 32 ports * 4 priorities). Remember, this calculation is for the configuration of
128 ports of OC-48c. Later on we describe how the number of queues and request counters differs for
some other possible configurations.
44PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 49
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 17. The Four Priorities
OC-48c 0
OC-48c 1
OC-48c 2
OC-48c 3
OC-48a
OC-48a
31,3
OC-48b
OC-48b
31,3
OC-48c
OC-48c
12
32d
OC-48d
15
OC-48d
32d
0,0
OC-48ca
2
0,1
0
0,2
3
0,3
7
32d
0
OC-48cb
0,0
5
0,1
2
32d
2
OC-48cc
1a
0
1b
32d
7
OC-48cd
1a
1b
8
32d
3
12
15
0,0
2
1b
0
1c
3
1d
7
0
1a
5
1b
2
2
1a
0
1b
7
1a1b
8
3
0,0
2
1b01c31d7
32d
0
1a51b2
32d
2
1a01b
12
32d
7
1a
15
1b8
32d
3
0,0
2
1b01c31d7
32d
0
1a51b2
32d
2
1a01b
12
32d
7
1a
15
1b8
32d
3
1,1
1,2
1,3
31,0
31,1
31,2
31,3
0,0
0,1
0,2
0,3
1,0
32a32b
32c32d
1a1b1c1d
2a2b2c2d
Priority 0
1a1b1c1d
2a2b2c2d
32a32b
32c32d
Priority 3
Priority 2
Priority1
1a1b
1c1d
2a2b2c2d
32a32b
32c32d
1.3.3.4 Multiplexing Scheduler Requests and Grants.
Figure 16 and Figure 17 imply that the ETT1 Scheduler can accept requests from each of the 32 ports
where a request specifies one of 128 output channels. This is not the case; the Scheduler only maintains
information on a port basis, not a subport basis.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE45
Page 50
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Consequently, the requests associated with cells going to subports (0,0), (0,1), (0,2) and (0,3) are
amalgamated to become requests for port 0.
NOTE: The channel information is not lost; a cell going to channel (0,1) will still be delivered to
channel 1, port 0. However, the four queues have their requests multiplexed over a single
request/grant connection. Figure 18 illustrates this concept.
Figure 18. Scheduler Requests/Grants are Multiplexed at a Port Level
VOQs in iEPP
cells for output subport (0,0)
cells for output subport (0,1)
cells for output subport (0, 2)
cells for output subport (0,3)
Request to send to port 0
Scheduler
Grant to send to port 0
The EPP has two decisions to make: which request to issue, and which of the four queues to grant.
At any cell time, the iEPP may have several possible new requests which it must communicate to the
Scheduler. The iEPP has a Scheduler Request Modulator which makes this decision. See Section 3.1.3
“Scheduler Request Modulator” on page 158 for a discussion of this algorithm.
When the iEPP receives a grant from the Scheduler it must decide which of the four VOQs should be
serviced. A simple round-robin algorithm is used (across non-empty queues).
1.3.4Multicast Traffic (subport mode)
Multicast cells are handled at a port level, not a subport level. There is a single cell queue within the iEPP,
for each priority of multicast cells. EachOC-48c channel has its own requestcounter, but, likethe unicasts,
these four request counters map to a single virtual output queue (per priority), as shown in Figure 19.
46PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 51
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 19. Each iEPP has a Sin gle Vi rt ual Output Que ue for Multicas t Cells
OC-48c 0
OC-48c 1
OC-48c 2
OC-48c 3
OC-48c 0
OC-48c 1
OC-48c 2
OC-48c 3
m
2
m
5
m
0
m
4
iEPP
Priority 0
multicast cells
As before, this single queue is nota limitation unless backpressure is asserted to thequeue, in which case
all four OC-48c subports are backpressured for all multicast cells from this port at this priority.
ETT1 uses a multicast tag in the LCS header to identify the multicast group that this cell should go to. The
iEPP then maps the tag into a port vector with one bit per port. This port vector is then passed to the
Scheduler to indicate the list of portsthat should receive this multicast cell. Again, the Scheduler only
recognizes 32 ports and not 128 OC-48c subports;at the input side,a multicast cell destined for any one of
output ports (0,0), (0,1), (0,2) or (0,3) would simply be forwarded to the oEPP at port 0.
The oEPP receives the multicast cell, together with its tag. It then maps the (tag, source_port) into a new
4-bit vector that identifies what combination of the four subports should receive this multicast cell.
Figure 20 shows the entire process.
multicast
tag
12
iEPP
Input Multicast
Fanout Table
Figure 20. Multicast Cell Processing
Crossbar
Scheduler
32
multicast
src
tag
prt
17
Output Scheduler
oEPP
Output Multicast
Fanout Table
4
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE47
Page 52
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
In order to reduce the blocking effects of one OC-48c channel over another channel on the same port,
there is a special multicast output queue for each priority. The multicast cells forwarded through the
Crossbar are still queued in the order they arrive. This special queue enables cells to be sent out-of-order,
but will always be sent in-order for a given egress subport. Therefore, a multicast cell waiting in the output
queue memory can only be blocked by cells destined to the same egress subport. Additional output queue
memory becomes available whenever a cell is dequeued.
If backpressureis assertedby one of the OC-48c channels to theoutput multicast queue, thensubsequent
cells going to other channels on the same port may be blocked if the entire queue is occupied by cells
destined to the blocked OC-48c channel. This is a consequence of sharing the output queue memory
allocation for multicast cells at a given priority. This can cause multicast backpressure to the central
Scheduler which can block multicast cells destined to other ports at the same priority if multicast
backpressure is enabled.
1.3.4.1
Multicast Tables (OC-192c and Quad OC-48c Modes)
The input multicast fanout table (EITIBM in the EPP) is always used for multicast cells. Every EPP has its
own EITIBM table with 4096 entries. The EPP uses the 12-bit multicast tag field from the LCS label field to
determine which entry in the table should be used for each multicast cell, as shown in Figure 21. Each
entry is simply a 32 bit vector where a 1 means that the cell should go to thatport. So if an entry has a 1 at
bit 12, for example, then a multicast cell that uses that entry will be sent to port 12 (as well as any other
ports that have their bit set to 1).
Figure 21. EITIBM structure
iEPP
Input Multicast
Fanout Table EITIBM
0
Multicast tag [11:0]
12
4095
To Scheduler
32
31
1 bit for each output OC-192c port
0
48PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 53
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The output multicast fanout table (EOTIBM in the EPP) is only used if the port is in quad OC-48c mode. In
quad OC-48c mode a multicast cell arrives at the oEPP via the crossbar. The oEPP must determine what
combination of the four OC-48c ports that this multicast cell should be forwarded to (15 possible
combinations assuming it goes to at least one of the ports). The oEPP has the multicast tag (12 bits) from
the label, but that is not sufficient. It is not sufficient because the multicast tags are managed
independently across all ports: each iEPP has its own EITIBM and so a given 12 bit multicast tag might be
used to specify different multicast fanouts for two differentiEPPs. To resolve the ambiguity,the oEPPmust
also include the source port number with the 12 bit multicast tag, and combines the 5 bit source port with
the 12 bit multicast tag to produce a 17 bit tag thatis unique across the entire fabric. This can then be used
to index into a table of 4-bit entries as shown in Figure 22.
Figure 22. OITIBM structure
oEPP
Output Multicast
Fanout Table EOTIBM
0
Multicast tag [11:0]
Source port[4:0]
17
3
1 bit for each o f the four local OC-48c ports
0
131071
4
To Output
Scheduler
The index is the combination of {Multicast_tag, source_port}, so that the source port forms the least
significant bits of the address (index). Each entry has fourbits such that bit 0 corresponds to subport 0 and
bit 3 corresponds to subport 3.
1.3.5Combinations of OC-192c andQuadOC-48c Linecards
A switch might contain both OC-192c ports and quad OC-48c ports. Each port card must be configured
with information about all of the cards. The number of ingress queues is a function of this mix of ports:
given n quad OC-48c ports and m OC-192c ports, then each port will have U unicast queues, where:
U = 4 priorities * n * 4 egress subports + 4 priorities * m
So if n = 32 and m = 0 then U = 512.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE49
Page 54
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
If a port is operating in OC-192c mode then it will also have U unicast request counters. If a port is
operating in quad OC-48c mode then it will have 4 * U unicast request counters - a separate set of request
counters for each of the OC-48c linecards.
Each port always has four multicast ingress queues.
The number of egress queues is a function of the mode of the port itself, not the other ports: a port in
OC-192c mode will have one queue for each input port and priority, or 4 * 32 = 128 egress queues. A port
in quad OC-48c mode will have four times as many queues, or 512 queues.
Each port always has four multicast egress queues.
The size and depth of all request counters and queues are defined in Section 3.2 “Input Dataslice Queue
Memory Allocation with EPP” on page 162 and Section 3.3 “Output Dataslice Queue Memory Allocation
with EPP” on page 162.
1.3.6Summary
Every ETT1 port has a number of ingress request counters and queues as well as egress queues. Given
support for 32 ports, four subports per port, and four priorities, then there are up to 512 unicast ingress
queues and four multicast ingress queues, and the same number of egress queues.
At every cell time, the Scheduler arbitrates among all of the ingress queues that are eligible to forward a
cell through the Crossbar. An ingress queue iseligible if it is non-empty and its destination egress queue is
not backpressured. The Scheduler makes its decision using absolute priorities, with multicast requests
having precedence over unicast requests at the same level, as shown in Figure 23.
50PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 55
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.3.7The LCS Protocol
In this section, we describe the LCS protocol from a functional perspective and explain how it works with
the queueing model that was described in the previous section.
NOTE: The LCS protocol is defined in the “LCS Protocol Specification -- Protocol Version 2”,
available from PMC-Sierra,Inc. This version of LCS supersedes LCS Version 1. Version 2
is first supported in the TT1 Chip Set with the Enhanced Port Processor device (also
referred to as the ETT1 Chip Set) and will be supported in future PMC-Sierra products. A
comparison of the two versions of the LCS protocol is in the same document.
The primary role of the LCS protocol is as a credit-based flow control mechanism that ensures that cells
are transferred between the linecard and the switch core only when sufficient buffer space is available. In
order to do this, the linecard must have knowledge of the queues that exist in the ETT1 core. The LCS
protocol is an asymmetrical protocol; we will first consider the ingress direction. Figure 24 shows the 132
best effortingress queues inan ETT1 port (this assumes an all-OC-192c switch). The linecard may have a
very different number of queues (typically many more), and thus must map its own internal queues to the
physical queues present in the ETT1 core.
Figure 24. ETT1 Port Ingress Queues
LCS Header
ETT1 Port
128 unicast
4multicast
linecard
ingress
queues
Linecard
Mapping
128 unicast
4multicast
Payload
Cell requests and payloads
Credit Information
For example, the linecard might provide an ATM interface which can manage many thousands of virtual
circuit flows, and might have a separate internal queue for each flow. The linecard must map its own
ingress queues to the 132 ingress queues present in theETT1 port.The 132 queues shown in the linecard
do not have to be physically implemented provided that the linecard can perform the requisite mapping
from linecard queues to ETT1 queues on-the-fly. The ETT1 ingress queues areVirtual Output Queues; the
mapping function simply has to map each linecard queue to the desired egress port within the ETT1 core.
The mapping function must also select the appropriate priority if more than a single priority is required.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE51
Page 56
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 24 shows ingress cell requests and data cells being forwarded to the ETT1 port. These cells are of
a fixed size and format: an LCS cell consists of an eight byte LCS header followed by a fixed length
payload. The payload can be 64or 76 bytes (dependingon the numberof Dataslices and Crossbarsused),
but all ports in the switch must use the same size payload. The TT1 Chip Set never examines or modifies
the cell payload unless the cell is used for internal control purposes.
The linecard can send a new cell request whenever a new cell arrives at the linecard and the linecard has
at least one request credit remaining for the appropriate queue. So the linecard must keep track of the
number of outstanding requests that it can send, and must not issue a request unless it has a
corresponding credit.
The ETT1 port returns grant/credit information to the linecard. This grant/credit information reflects the
occupancy of the ingress queues in the ETT1 port. The linecard can only send a cell to a given ingress
queue within the ETT1 port when it receives a grant from the ETT1 port. The linecard increments its
corresponding credit counter when it receives a grant/credit.
In order to sustain the maximum possible throughput, the linecardmust beable tosend a new cell within a
short time of receiving a grant/credit from the ETT1 port. If the linecard cannot do this then the VOQ at the
ingress ETT1port may become empty which might, in turn, affectthe throughput of the switch.The system
designer must be aware of the time budget that is really available to the linecard devices.
The grant/credit mechanism is notused in the egress direction. Rather, a simpler Xon/Xoff-like mechanism
is used. The oEPP will forward cells to the egress linecard whenever it has cells waiting in its output
queues. The linecard can request the EPP to not send a cell of a given priority, or any combination of
priorities, by asserting the hole request bits in the LCS header. If a hole request bit is asserted at a given
priority, then it is a request from the linecard to the EPP that the EPP should not forward a cell of that
priority at one cell time in the future. The time between theEPP receiving the hole request and observing it
is guaranteedtobeno more than 64 cell times.Future LCS compliant productswill have different response
times. Linecard designs requiring backpressure features should accommodate all LCS products to which
they will attach.
If a linecard has nearly exhausted its egress buffers for priority 2 cells, then it might continuously assert
hole request for priority 2 until it can recover some additional buffers.
NOTE: The hole request mechanism operates per-priority and not per-source port.
Refer to the “LCS Protocol Specification - Protocol Version 2”, available from PMC-Sierra, Inc., for further
details on the LCS protocol and the definition of the various fields used within the LCS header in each
direction.
1.4EXPLICIT BACKPRESSURE FROM OEPP TO IEPP
The iEPP does not make a unicast request to the Scheduler unless the destination VIQ has a sufficient
number of empty buffers. For each unicast egress VIQ there is one corresponding ingress VOQ. Every
iEPP maintains state information on the occupancy of the relevant egress VIQs in all of the EPPs
(including itself) in order to ensure that it does not forward a cell to a full VIQ.
52PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 57
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The actual occupancy of a VIQ is dynamic: the number of free cell locations will increment whenever a cell
is forwarded to the attached linecard,and the number of free cell locations will decrement whenever a new
cell enters the VIQ from the crossbar. The iEPP knows the latter information - it is the iEPP that forwards
the cellto the VIQ. But the iEPP does not know when a cell getssentout to the linecard.SotheoEPP must
tell each iEPP how many cells have been sent from each relevant VIQ, and this information must be sent
with sufficient frequency that the throughput of a single flow is not adversely affected.
In the ETT1 fabric, this update information is transmitted from the oEPPs to the iEPPs via a second
Crossbar, referred to as the Flow Control Crossbar. Figure 25 shows the cell flow from left to right and the
reverse flow of the update information.
Figure 25. A S eparate Cross bar is Used to Convey Backpressure Informati on to the iEPPs
Virtual Output Queues
iEPP
0,0
0,1
0,2
0,3
Cell
Crossbar
Req/Gnt
Scheduler
sync
Flow Control
Crossbar
Virtual Input Queues
0,0
0,1
0,2
0,3
oEPP
Every iEPP maintains a set of counters (Output Queue Debit Counters) that track the number of cells in
each of the relevant VIQs of every oEPP. At reset, these counters are all set to zero. A counter is
incremented whenever the iEPP makes a request to forward a cell to the appropriate VIQ. If the counter
reaches a pre-determined maximum, then the iEPP will not issue further requests. Once some cells are
forwarded from the VIQ, the iEPP will reduce the counter and resume issuing requests for that flow.
In general, the user does not need to be aware of the details of this mechanism except for the case when
update information is lost,perhaps due to a noise-induced error on one ormore of the links attached to the
Flow Control Crossbar. The details of this error recovery mechanism are described in Section “Enhanced
Port Processor - Flow Control Crossbar” on page 94.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE53
Page 58
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.4.1Flow C ontrol Crossbar Synchronization
The Flow ControlCrossbars interconnect every EPP with every other EPP. During each cell time, the Flow
Control Crossbar sets the crosspoints such that every iEPP receives update information from one other
oEPP. Further, no two iEPPs receive the same update information from the same oEPP. In the next cell
time the crosspoints must be re-organized so that every iEPP receives update information from a different
oEPP.
The system must ensure that theFlow Control Crossbars and the EPPsareall synchronized, so that every
iEPP knows from which oEPP it is receiving information at any given time. This synchronization
information is generated by the Scheduler using the FCCSYN register to send a periodic pulse out to all
EPPs. Further, if a redundant Scheduler is used then the two Schedulers must be synchronized. This
Scheduler-to-Scheduler synchronization occurs after a Scheduler Refresh operation. Refer to Section
1.9.4 “Scheduler Refresh Procedure” on page 98.
1.5TDM SERVICE
The TDM service enables linecards to periodically reserve bandwidth within the ETT1 core. Cells that are
switched via this service will have a fixed latency through the switch and will not be delayed due to best
effort contention for an output port. 1-in-N idle cells and egress control packets may cause temporary
delays, but these should be absorbed by the guardband and speedup.
The TDM service is implemented within the ETT1 core using:
•dedicated queues in the ETT1 ports
•a table-based reservation mechanism in the ETT1 ports
•a flexible synchronization mechanism
1.5.1TDM Queues
The linecard uses the normal LCS request-grant mechanism for TDM cells. When TDM cells arrive at an
ETT1 ingress port, they are queued in a single TDM queue which can buffer up to 96 cells. The cells are
stored in the ingress queue until their reservation time occurs, at which time they are forwarded through
the crossbar to the appropriate egress TDM queue. Given that there can be no contention for TDM cells
then a TDM queue might seem unnecessary. The queue is present so that the linecard does not need to
be closely synchronized with the ETT1 fabric.
If the port is operating in subport mode then four ingress queues are used, one for each subport. Each
ETT1 port has a single egress TDMqueue, evenwhen theport is in subport mode. The ETT1 can transmit
cells out-of-order between the subports, and so a single shared TDM queue does not cause a problem.
Figure 26 illustrates the queueing structure.
54PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 59
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 26. The Queueing Structure
ETT1 Core
Linecard
Ingress
TDM
queue
LCS credits
ETT1 port
Ingress
TDM
queues
ETT1 port
r
a
b
s
s
o
r
C
1
T
T
E
Egress
TDM
queue
Linecard
Egress
TDM
queue
Figure 26 also highlights some important points with respect to the TDM service:
•The linecard may also require a TDM ingress and egress queue. Unless the arrivalof TDM cells at
the linecard is synchronized with the start of the TDM Frame, the linecard will need to buffer those
cells until the appropriate time.
•There is no backpressurefrom the ETT1 egressTDM queue. Backpressureisnot meaningful for a
TDM service within the ETT1 core. The egress linecard must accept TDM cells that are sent to it
(or else discard them).
•The normal LCS credit mechanism is used for ingress TDM cells.
1.5.2TDM Reservation Tables
The TDM service operates by enabling ports to reserve bandwidth through the ETT1 crossbar at specific
times. Each port has two logically separate tables; one for sending and one for receiving TDM cells. The
Send and Receive tables are physically implemented in a single table called the TDM table. This TDM
table has 1,024 entries, although fewer entries can be used if the Frame length is less than 1024. Each
entry is of the form shown in Table 2.
Table 2. TDM Reservation Table
FieldSize (bits)Meaning
Input VLD11 if the input side TDM entry is valid
Input Tag10Tag for incoming cells (TDM flow ID)
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE55
Page 60
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
Table 2. TDM Reservation Table (Continued)
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
FieldSize (bits)Meaning
Subport2Identifies the source subport (if in subport mode, else 0)
Output
VLD
11 if the output side TDM entry is valid
Input Port5Input port that the output expects to receive from
Output
vector
4
A four-bit vector which defines the fanout of the subports that should receive
aTDMcell.
The EPPcontains two TDM tables so that one table can be usedby the fabric while the system software is
configuring the other table. All EPPs must use the same table at the same time. A TDM LCS Control
Packet is used to specify which of the two tables is being used at any given time.
At thestart of the Frame, a TDM pointer in each port begins at entry 0 in the table and advances one entry
every cell time. During everycell time,if the “current” TDM table Send entry is valid, the EPP checks to see
if the cell at the head of the appropriate TDM queue has a TDM flow ID (tag) that matches the entry in the
table. If not, then nothing special is done. If they do match then the EPP informs the Scheduler that it will
be sendinga TDM cell at some fixed time in the future.Thisprevents the Scheduler fromtryingto schedule
a best-effort cell from that port at the same time. Figure 27 shows the logic at the ingress port.
56PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 61
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 27. Ingress Port Logic
TDM Cell Queues
OC-48c 0
OC-48c 1
OC-48c 2
OC-48c 3
=?
“Send”Table
OC-48c Select
TDM Identifier
0
Current TDM Slot Time
991
The egress side of the port also looks at the TDM table. If the Output Valid bit in the current entry is set,
then the port tells the Scheduler that it expects to receive a TDM cell at some fixed time in the future. This
prevents the Scheduler from trying to schedule a best-effort cell to that port at the same time.
If the Scheduler doesn’t receive the input TDM request bit from the specified input port, then it assumes
that there is no TDM cell ready to be transmitted, and thus any egress port that expected to receive that
cell will now become available for best-effort cell scheduling.
When the TDM cell enters the egress port, it is placed in a separate, 96-entry, egress queue dedicated for
TDM traffic. Whenever this queue is non-empty, the cell at the head of the queue is sent immediately to the
linecard (provided that the Output Scheduler is not frozen).
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE57
Page 62
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The TDM service is inherently a multicastservice. Theegress ETT1must thereforesupport the ability for a
TDM cell to go to any combination of the four subports within a port. A four-bit field in every TDM table
entry provides the multicast fanout for each TDM cell that is received at the egress port. The EPP keeps
track of this fanout information and sends the TDM cell to each subport that is a member of the fanout.
Figure 28 illustrates how the EPP uses the TDM table to determine the source port of a TDM cell, as well
as the local subport multicast fanout.
Figure 28. The oE PP Must Treat the Transfer red TDM Cell as a Multicast Cell
Cell from Crossbar
To S cheduler
TDM Reservation Table
0991
Current TDM Slot Time
Inputport=12
output vector
= 0101
(multicast fanout)
Output TDM Cell Queue
000101110101
The output TDM cell queue does not need to be large as TDM cells are always forwarded to the output
linecards at the highest priority, and the TDM queue is never backpressured. The size of this queue does,
however, restrict the possible TDM table configuration. The following constraints are required to prevent
dropped TDM cells:
•In a TDM table time slot, an input port cannot send more than one cell and an output port can not
receive more than one cell.
•Subport mode:The TDM ReservationTable can specify thesame ingress subport only once every
four time slots.
•Subport mode: The TDM Reservation Table can not specify the same egress subport more than
48 time slots within a moving window of 192 time slots. This constraint is caused by the TDM
output queue.
58PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 63
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.5.3TDM Frame Timing
A single TDM table is shown in Figure 29. In addition to the 1,024 entry portion, there is an additional
“guard band” of G entries preceding the table. These G entries are unusable and are explained below. An
additional 16 time slots (plus uncertainty/jitter in TDM sync timing) are unusable following the last valid
entry in any of the TDM tables due to pipeline latency through the Scheduler and EPP. These 16 entries
cannot be used for TDM traffic.
Figure 29. Single TDM Table
TDM_Sync
Guard BandMain TDM Frame
G Entries
(128 cells)
TDM_Period
NEntries
0 ≤ N ≤ 1024
Unusable
16 entries
+ uncertainty
TDM_Sync
The time between TDM Sync signals is referred to as the TDM period. This period is set to the sum of G
plus the length of table N plus the final latency allowance of 16 + uncertainty. In the EPP chapter, G is
referredto as the “TDM offset value”.
1.5.4TDM Synchronization
There are several different levelsof synchronization required for the TDM service to work properly.First, all
EPPs must point to the same entry in their TDM tables in order for the Send and Receive reservations to
match up in the Scheduler. Second, each linecard must be synchronized(approximately) withits ETT1 port
so that it can send TDM cells at the right time and third, so that the linecard will switch TDM tables
synchronously with the ETT1 port.
The first level of synchronization, between ETT1 ports, is handled automatically by the ETT1 Chip Set. All
of the ETT1 devices operate cell synchronously.
The second and third levels of synchronization, between the linecard and ETT1, are handled by the TDM
Sync mechanism. The Scheduler is configured in one of three ways, described below, to periodically send
out a TDM_Sync to all ports. All of the ETT1 ports receive the TDM_Sync signal from the Scheduler at the
same cell time. Upon receiving the TDM_Sync from the Scheduler, every port then (1) flushes any cells
currently in the TDM input queue, (2) transmits a TDM Control Packet to the linecard and (3) starts a
counter which increments every cell time. When this counter reaches the value of the TDM offset
(guardband), the EPP begins comparing the tag of the cell at the head of the TDM FIFO with the entry in
TDM table location 0, and normal TDM processing commences.
The TDM_Sync and TDM Control Packet both include a Frame Select bit to tell the ports and linecards
which TDM table to use. This allows all ports and linecards to switch TDM tables synchronously.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE59
Page 64
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
TDM_Sync signals do not arrive at the linecards at exactly the same cell time. There may be several cell
times between the first linecard receiving TDM_Sync and the last. The variation is due to variations in link
lengths and also due to timing uncertainties when signals cross asynchronous clock domains. The guard
band absorbs these variations, so the linecard does not need to be aware of the link delays or clock
domain issues.
As soon as the linecard receives the TDM_Sync signal it starts to forward TDM requests to the ETT1 port.
The port has an ingress queue for these cells and so can buffer them until they are required. The ingress
queue is 96 cells deep, and is controlled by the normal LCS request-grant flow-control mechanism. The
linecard must forward TDM cells in the correct order (corresponding to its entries in its TDM Send table),
but itdoes not need to be closely synchronized to the ETT1 core. The linecard can skip TDM cells (i.e. not
send them), but must not re-order cells relative to the TDM tables.
The ETT1 core waits for 128 cell times (the TDM offset) after it has sent TDM_Sync before the new TDM
Frame is started. This provides all linecards with sufficient time to receive the TDM_Sync signal and to
request and send in the first TDM cells. Figure 30 shows the sequence of events in more detail.
Figure 30. TDM S ynch ro nization
Last usable
slot in previous
Frame
16 slots
+uncertainty
unusable
TDM_Sync
arrives
at all EPPs
TDM_Sync
arrives at the
linecards at
different times.
TDM cells arrive
at ETT1 ports from
linecards
New Frame
starts
The Scheduler can be configured to send the TDM_Sync in three ways. Each way is driven by one of
these three sources:
1. A Suggested_TDM_Sync from a counter in the EPP.
2. A counter in the Scheduler.
3. A Suggested_TDM_Sync from a designated linecard (through the EPP).
There are pros and cons to each of these methods. Each method is described in more detail below.
60PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 65
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.5.4.1 TDM Sync D riven by the EPP
The EPP can be programmed to send a Suggested_TDM_Sync to the Scheduler once everyN+1 celltimes
by writing N to the EPP’s TDM Sync Generation Control register and writing 1 to the Enable TDM Sync
Generation register. The TDM table select is also a fieldof theTDM SyncGeneration Control register. The
Scheduler is programmed to listen to the Suggested_TDM_Sync from a designated port.
The advantage of this method over the third method is that the only exposure to jitter (uncertainties in
delay) on the TDM_Sync is after the EPP sends the TDM Control Packet to the linecard, due to crossing
asynchronous clock domains (and subport-ordering delay in subport mode). The advantageof this method
over the second method is that when using two Schedulersfor fault tolerance, the secondmethod requires
synchronous OOB writes to program the Schedulers at exactly the same time; this method provides a
synchronous Suggested_TDM_Sync to the two Schedulers instead.
A possible disadvantage of this method is that TDM Sync is synchronous to the ETT1’s core clock, not to
the linecard’s clock or any other external synchronization signal.
1.5.4.2
TDM Sync Driven by the Scheduler
The Schedulercan be programmed to generate its own TDM_Sync signals once every N+1 celltimes using
the Scheduler’sTDM Controlregister. The TDM table selectis also controlled via the TDM Controlregister.
The Scheduler ignores Suggested_TDM_Sync from all ports.
The advantages of this method are simplicity and low jitter, similar to the first method.
The disadvantage of this method is that when using two Schedulers for fault tolerance, this method
requires synchronous OOB writes to program the Schedulers at exactly the same time; if the Schedulers’
TDM Control registers are enabled to send TDM Sync at different times, then all EPPs will report
mismatching frames fromthe two Schedulers. Scheduler refresh will not synchronize Scheduler-generated
TDM Syncs.
1.5.4.3
TDM Sync Driven by a Designated Linecard
Any linecard can send a Suggested_TDM_Sync to its ETT1 port, using a LCS TDM Control Packet, every
TDM_Period cells. The TDM Control Packet also specifies which of the two TDM tables should be used.
When the EPP receives a TDM Control Packet it sends a Suggested_TDM_Sync signal to the Scheduler.
The Scheduler is programmed to listen to the Suggested_TDM_Sync from a designated port.
The advantage of this method is that an external synchronization source can be used.
The disadvantageof this method is that there is muchmore exposure to jitter in TDM_Sync. Asynchronous
clock domain crossings (and subport-ordering delays in subport mode) will cause delay variations at
multiple stages: the LCS request for the Suggested_TDM_Sync Control Packet, the LCS grant, the
delivery of the Suggested_TDM_Sync Control Packet payload, and finally the delivery of the TDM_Sync
Control Packetfrom the ETT1 to the linecards.Additionally, the Scheduler’s internal digital TDM_Sync PLL
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE61
Page 66
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
(described below) adds jitter. See the “TDM Service in the ETT1 and TTX Switch Cores” App Note
for a more thorough discussion of TDM_Sync jitter and its consequences.
On receiving a Suggested_TDM_Sync signal, the Scheduler computes the period at which the
Suggested_TDM_Sync signals are arriving. The Scheduler then uses this period to determine the next
period at which it sends a TDM_Sync to all ETT1 ports. The period of the TDM_Sync signals will track the
period of the incoming Suggested_TDM_Sync signals. However the phase of the TDM_Sync signals may
be shifted relative to the Suggested_TDM_Sync signals. Internally the Scheduler has a digital PLL which
will gradually cause the transmitted TDM_Sync signal to have a fixed phase offset relative to the incoming
Suggested_TDM_Sync signal. Figure 31 shows the passage of signals.
Figure 31. Signal Flow
ETT1 core
Linecard
Designated
Linecard
Linecard
TDM Control Packet
TDM Control Packet
TDM Control Packet
TDM Control Packet
ETT1 Port
Suggested_TDM_Sync
ETT1 Port
ETT1 Port
TDM_Sync
ETT1 Scheduler
TDM_Sync
TDM_Sync
After a count of TDM_Period cell times, the designated line card willsend anotherSuggested_TDM_Sync,
the line card TDM period counter will re-initialize and the process will repeat. If the Scheduler sees three
TDM periods go by without receiving another Suggested TDM sync, it will trigger an interrupt and continue
to send TDM_Syncs to the ports a t the current period.
1.5.5Configuring the TDM Service
Before TDM cells can flow the system must be configured. This involves the following:
1. Configure the TDM tables in all ports that will send or receive TDM cells.
2. Configure the Scheduler in the appropriate mode for TDM synchronization.
3. Enable TDM cells.
62PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 67
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Configuring the tables is straightforward, as described in Section 1.5.2 “TDM Reservation Tables”. The
rules for the tables are:
(a) No port can source more than one TDM cell at any cell time.
(b) No port can receive more than one cell at any cell time.
(c) The linecard must send the cells to the EPP:
- in order, and
- before the current TDM slot reaches the slot reserved for that cell.
(d) Subport mode: The TDM Reservation Table can specifythe same ingress subport onlyonceevery four
time slots.
(e) Subport mode: The TDM Reservation Table can not specify the same egress subport more than 48
time slots within a moving window of 192 time slots. This constraint is caused by the TDM output
queue.
Item (c) above is important to understand: the EPP will buffer all ingress TDM cells before they are sent
through the ETT1 fabric. The EPP can only buffer 96 TDM cells at the ingress. The linecard must be able
to send TDM cells to meet the average and the burst rate that are implied by the TDM table configuration.
So, if the linecard is operating at 20M cells/sec, for example, while the ETT1 fabric operates at 25M
cells/sec then the linecard must not reserve a contiguous burst of 128 TDM slots because it would be
unable to supply the last few cells in time for their reservations.
The next step is to configure the Scheduler. The Scheduler TDM service is controlled via its TDM Control
register. The first aspect to configure is the source of the Suggested_TDM_sync signal. If a linecard or
EPP will supply the Suggested_TDM_sync signal then configure the TDM Control register with the
selected port and set the Current Port valid bit. If a linecard or EPP does not supply the Suggested_TDM_
sync signal then the Scheduler must be configured with the desired TDM_Period: write the desired period
into the Initial Period field and toggle (0 to 1 to 0) the Load Initial Period control bit. In all cases the Enable
bit (bit 31) of the Scheduler’s TDM Control register should be set to 1.
The final stage of configuring the Scheduler is to write the desired value to the Enable TDM traffic register.
Each of the 32 bits should be set to 1 for those ports that will send or receive TDM traffic.
1.5.6Changing the Source of the Suggested Sync
If the Scheduler is configured to use an external (port or linecard) source for the Suggested_TDM_sync,
then you can change the source port by writing a new value into the port field of the TDM Control register.
Once the new port starts to supply the Suggested_TDM_sync signal then the Scheduler will adjust the
frequency and phase of the transmitted TDM_Sync signal to match that of the new incoming signal. The
Scheduler will change the frequency of the outgoing sync signal once it has seen three Suggested_TDM_
sync signals, but it will only gradually adjust the phase. The phase of the outgoing TDM_Sync will be
adjusted by one cell time in every TDM_period.
NOTE: The phase reference for the Scheduler is the received Suggested_TDM_sync signal,
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE63
Page 68
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
which will be several cell times after the linecard has sent the Suggested_TDM_sync to
the ETT1 port.
If the Scheduler does not see an incoming Suggested_TDM_sync signal for three TDM_periods then it will
issue an interrupt indicating that the sync source has failed. However it will continue to operate with the
current values of frequency and phase.
1.6ETT1 USAGE OF THE LCS PROTOCOL
This sectionprovides detailsof how the LCSheader is used in an ETT1 system.Further information on the
operation of the LCS protocol is in the “LCS Protocol Specification -- Protocol Version 2”, available from
PMC-Sierra, Inc.
1.6.1LCS Protocol Prepend
LCS segments are 72 or 84 bytes in length. The line to switch format is shown in Table 3, while Table 5
shows the field definitions of this format. Likewise, Tables 3 and 4 show the switch to line format and field
definitions, respectively.
64PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 69
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Table 3. LCS Format from Linecard to Switch
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
Byte 0
Byte 1
Request
Req
Valid
Label_1 [6:0]Type_1
Field
Byte 2
Byte 3
Payload
Type_1 [2:0]Rsvd
Valid
Payload
Byte 4
Field
Byte 5Hole Field
Seq_Number[2:0]Rsvd
Payload_Hole_Request[3:0]Rsvd
Byte 6
CRC Field
Byte 7
Bytes8-71 or
8-83
Payload
Table 4. Definitions of LCS Fields from Linecard to Switch
FieldSize (bit s)Definition
Label_1 [13:7]
[3]
Seq_Number[9:3]
CRC-16[15:8]
CRC-16 [7:0]
Payload Data
Req Valid1Indicates that request field is valid (Request Label_1).
Label_114Label that is being requested (e.g. unicast-QID/multicast-label/TDM-label).
Type_14Segment type that is being requested (e.g. Control Packet).
Payload Valid1Indicates that the Payload Data field contains a valid payload.
Seq_Number10A sequence number for synchronizing grants with payloads.
Payload_Hole_
Request
4Request for a “hole” in the payload stream from switch to linecard. (Priorit y 3,2,1,0 for bits
[3:0], respectively.) (See Section 1.2.4 “End-t o -End Flow Control” on page 22 for
explanation).
CRC-1616
Payload Data64 or 76
16-bit CRC calculated over complete 64-bit prepend.
Payload Data
a
bytes
a. See Section 1.6.4.1 “Use of CRC-16 Field” on page 73 for details of CRC calculation and Section 3.4.2.2 “Reset and
Control” on page 169, bit 4.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE65
Page 70
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Table 5. LCS Format from Switch to Linecard
Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Bytes8-71 or
8-83
Grant Field
Payload
Field
CRC Field
Payload
Grnt
Valid
Label_1 [6:0]Type_1
Type_1 [2:0]Seq_Num [9:5]
Seq_Num [4:0]
Label_2 [3:0]Type_2 [3:0]
Table 6. Definitions of LCS Fields from Switch to Linecard
FieldSize (bits)Definition
Label_1 [13:7]
Label_2 [11:4]
CRC-16 [15:8]
CRC-16 [7:0]
Payload Data
Payload
Valid
[3]
Label_2 [13:12]
Grnt Valid1Indicates that grant field is valid (Grant Label_1 and SequenceNumber).
Label_114Label for credit (e.g. QID/mcast-label/TDM-label).
Type_14Segment type for credit (e.g. TDM).
Seq_Num10Sequence Number associated withgrant.
Payload Valid1Indicates whether the egress payload is valid (Payload Label_2 and Payload Data).
Label_214Label for egress payload (e.g. ingress port identifier).
Type_24Segment type for egress payload (e.g. Control Packet).
CRC-1616
Payload Data64 or 76
bytes
a. See Section 1.6.4.1 “Use of CRC-16 Field”on page 73 for details of CRC calculation and Section 3.4.2.2 “Reset and
Control” on page 169, bit 4.
16-bit CRC calculated over complete 64-bit prepend.
Payload Data
a
66PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 71
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.6.2Use of Label and Type Fields
This section provides detail about the generic 14-bit labels and 4-bit types defined in Table 7, Table 8,
Table 9, and Table 10. In all cases, in multi-bit fields, the MSB is transmitted first. For each segment, the
“Type Field” and “Label Field” are encoded as follows:
Table 7. Encoding of 4-bit Type Fields
Type[3:0]Segment TypeUse
0000Control PacketProvides for inband control inform at ion between the
linecard and the switch core.
0001,...,0110Reserved for future useCurrently not defined for use.
0111TDMTDM service provides preallocated bandwidth at a
1000,...,1011Unicast Best-Effort (Priority 0,1,2,3)Prioritizedunicast servicewhere priority 0 is the
1100,...,1111Multicast Best-Effort (Priority 0,1,2,3)Prioritized multicast service where priority 0 is the
regular time interval.
highest priority.
highest priority.
Table 8. Usage of the Ingress Request Label_1
Segment TypeType_1Encoding of Request Label_1[13:0]
Control Packet0000
TDM0111
Unicast Best-Effort
(Priority 0,1,2,3)
Multicast Best-Effort
(Priority 0,1,2,3)
a. Reserved. All bits labeled Rsvd must be set to zero.
b. The MU X[1:0] field is placed at the beginning of the Request Label_1 field in all segments (i.e. both data traffic and con-
trol packets). If this field is not usedfor a MUX function, it can be used as additional bits for expansion. If not used, it
must be set to zero.
c. TDM Expansion field used in products if the number of TDM slots is increased. If this f ield is used, the “TDM Tag” field
will increase contiguously. If not used, must be set to zero.
d. Unicast Expansion field used in products if t he number of ports is increased. If this field is used, the “Destination Port”
field will increase contiguously. If not used, must be set to zero.
e. If the port has no subports (i.e. if it is connected to a single linecard without multiplexing), this field must be set to zero.
10xx
11xx
a
Rsvd
(13), CP-category (1). CP-category = 0 for LCS Control Packe ts;
CP-category = 1 for CPU Control Packets.
b
MUX (2)
MUX (2)
b
, Expansiond(5), Destination Port (5), Destinationsubporte(2)
, Expansionc(2), TDM Tag (10)
b
MUX (2)
, Multicast Tag (12)
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE67
Page 72
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Table 9. Usage of the Egress Grant Label_1
Segment TypeType_1Encoding of Grant Label_1[13:0]
Control Packet0000
a
Rsvd
(13), CP-category (1). CP-category = 0 for LCS Control Packe ts;
CP-category = 1 for CPU Control Packets.
TDM0111
Unicast Best-Effort
(Priority 0,1,2,3)
Multicast Best-Effort
(Priority 0,1,2,3)
10xx
11xx
MUX (2)
b
, Expansiond(5), Destination Port (5), Destinationsubporte(2)
MUX (2)
b
, Expansionc(2), TDM Tag (10)
b
MUX (2)
, Multicast Tag (12)
a. Reserved. All bits labeled Rsvd must be set to zero.
b. The MUX[1:0] fie ld is placed at the beginning of the Grant Label_1 field in all segm ents (i.e. both data traffic and control
packets). If this field is not used for a MUX function, it can be used as additional bits for expansion. If not used, it must be
set to zero.
c. TDM Expansion field used in products if the number of TDM slots is increased. If this f ield is used, the “TDM Tag” field
will increase contiguously. If not used, must be set to zero.
d. Unicast Expansion field used in products if t he number of ports is increased. If this field is used, the “Destination Port”
field will increase contiguously. If not used, must be set to zero.
e. If the port has no subports (i.e. if it is connected to a single linecard without multiplexing), this field must be set to zero.
Table 10. Usage of the Egress Payload Label_2
Segment TypeType_2Encoding of Payload Label_2[13:0]
Control Packet0000
TDM0111
Unicast Best-Effort
(Priority 0,1,2,3)
Multicast Best-Effort
(Priority 0,1,2,3)
10xx
11xx
a
Rsvd
(13), CP-category (1). CP-category = 0 for LCS Control Packe ts;
CP-category = 1 for CPU Control Packets.
Expansion
Expansion
Expansion
b
(7), Source Po rt (5), Source subportc(2)
d
(7), Source Po rt (5), Source subportc(2)
e
(7), Source Po rt (5), Source subportc(2)
a. Reserved. All bits labeled Rsvd must be set to zero.
b. TDM Expansion field used in products if the number of ports is increased. If this field is used, the “Source Port” field will
increase contiguously. If not used, must be set to zero.
c. If the source port has no subports (i.e. if it is connected to a single linecard without multiplexing ), this field will be zero.
d. Unicast Expansion field used in products if the number of ports is increased. If this field is used, the “Source Port” field
will increase contiguously. If not used, must be set to zero.
e. Multicast Expansion field used in products if the number of ports is increased. If this field is used, the “Source Port” field
will increase contiguously. If not used, must be set to zero.
68PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 73
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.6.2.1 Subport Mode Label and MUX Fields
Label fields are arranged such that port addresses can be subdivided into four multiplexed, subport
addresses. Each segment type with a subport field utilizes bits [1:0] for the subport addresses. When
subports are not utilized, these bits will be set to zero.
Subport multiplexing shares a common physical connection to carry segments to/from each subported
linecard to a switch port. The time multiplexing between subports may be done on a quad linecard, or may
be done at an intermediate stage. When time-multiplexed, segment transmissions are sequencedbetween
each of the four subports through the use of a MUX field.
When a port of an LCS device uses the time-multiplexed subport mode, two bits in the Request Label_1
field of ingress and Grant Label_1 field of egress segments are used to multiplex/demultiplex each of four
subport channels. The 2-bit field is called the MUX[1:0] field. For ingress segments, the MUX[1:0] bits are
carried in the Request Label_1 field; for egress segments, the MUX[1:0] bits are carried in the Grant
Label_1 (but not the Payload Label_2). Note that for ingress traffic, this field is used to designate the
source subport of the ingress segment and is independent of the Request Label_1 subport field. Likewise
for egress traffic, the MUX field is used to designate the destination subport of the egress segment and is
independent of the Grant Label_1 and Payload Label_2 subport fields.
Segments entering the switch core must have the MUX[1:0] field correctly set. The MUX[1:0] field in
arriving segments must follow the sequence 00,01,10,11,00,... in consecutive segments. The MUX[1:0]
field in departing segments must also follow the sequence 00,01,10,11,00,... in consecutive segments.
When the MUX subport sequence must be interrupted by the need to send an Idle frame, the sequence
should continue with the next subport in sequence following the previously sent subport. The MUX[1:0]
field is placed at the beginning of the Request Label_1 orGrant Label_1 field in all segments (i.e. both data
traffic and control packets).
Segments dep artingor arriving at the subportedline card may have the MUX[1:0] field set to correspond to
the linecard’sdesignated subport. Optionally, the linecard may set the MUX[1:0] field to zero, relyingon an
intermediary multiplexer device to correctly set the MUX[1:0] field. In such a configuration, the LCS
prepend CRC is generated and checked masking the MUX[1:0] field to zero, enabling the intermediary
multiplexer device to independently set the MUX[1:0] fieldwithout terminationand regenerationofthe CRC
field. Note that without the requirement of setting the MUX[1:0] field, the linecard’s framing function does
not have to be subport aware in a system with an intermediary, time-multiplexed data stream.
1.6.3Control Packets
The LCS link is controlled by Control Packets (CPs) that are generated by the linecard or the switch core.
When the switch core sends a CP to the linecard, it marks the correct Payload Label_2 and Type_2 fields
as a Control Packet and sends the control information in the payload data. When the linecard wishes to
send a CP to the switch core, it goes through the normal three phase request/grant/transmit process.
Control Packets have a higher priority over other traffic; therefore, grants will be returned in response to
CP request prior to other outstanding requests.
There are three categories of CPs: (1) LCS Control Packets that are used to perform low-level functions
such as link-synchronization, (2) CPU Control Packets which are used for communication between the
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE69
Page 74
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
linecard and the switch core CPU, and (3) Single Phase Control Packets which are used as a special form
of LCS Control packets for timing sensitive information.
1.6.3.1
LCS Control Packets
LCS CPs are specified by setting the Label_1/Label_2 Field to 14’h0000 (CP-category for LCS Control
Packets) and associated Type Field to 4’h0 (Type for Control Packets). Table 11 describes the contentsof
the first 10-bytes of the LCS segment payload for an LCS CP format.
Table 11. LCS Control Packet Format
Field
CP_Type8Indicates the type of LCS Contro l Packet (e.g. TDM)
CP_Type Extension56Indicates the information carried with this type of c ontrol packet. Unused bits
CRC-1616
a. See Section 1.6.4.1 “Use of CRC-16 Field”on page 73 for details of CRC calculation.
Size
(bits)
16-bit CRC calculated over 10-byte control packet payload.
Definition
must be set to zero.
a
Because there is no flow control mechanism for LCS CPs sentto the switch fabric, and a CP request/grant
does not distinguish the CP_Type, care must be taken so as not to overflow the receiving CP queues. At
most, only one request for each CP_Type should be outstanding.
In what follows, the three CP_Types of currently defined LCS CPs are described.
NOTE: The actual LCS headers for Switch-to-Linecard ControlPackets are not built in to theEPP.
Instead, the EPP expects to find the headers, preconfigured at specific queue locations
within the Dataslices. Thus, part of the initialization sequence of a new ETT1 port card is
to write the values of the Control Packets into the Dataslice queues. Section 3.3 “Output
Dataslice Queue Memory Allocation with EPP” on page 162, provides details of these
locations.
70PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 75
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
TDM Control Packets
The format of TDM CPs is described in Table 12.
Table 12. TDM Control Packet Format
Field
CP_Type800000000
TDM Frame Sel1Indicates which TDM f rame to use.
Unused55Set to zero.
CRC-161616-bit CRC calculated over 10- byte control packet payload.
Size
(bits)
Definition
Note that when a TDM CP is sent from the linecard to the switch core, no reply is generated by the switch
core.
Request Count Control Packets
Request Count CPs are only sent from the linecard to the switch, and are used to keep request counter
values consistent between the linecard and the switch core. When the switch core receives this CP, it
updates the corresponding request counter (specified by Label_1 and Type_1) with the count field. This
control packet can be sent periodically or when the linecard suspects that the linecard and switch core
have different values (e.g. following a CRC error).
Request Count CPs are required for unicast traffic and also required for multicast and TDM requested
traffic when supported. For unicast traffic, the Label_1 field is set as described in Table 8. For multicast
traffic, the Label_1 field is undefined and should be set to zero. The format of the Request Count CP is
described in Table 13
Table 13. Request Count Control Packet Format
Field
CP_Type800000001
Label_114Label for request counter.
Type_1410xx unicast 11xx multicast
Count14Update counter value, always set tozero for multicast.
Unused24Set to zero.
CRC-161616-bit CRC calculated over 10- byte control packet payload.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE71
Size
(bits)
Definition
Page 76
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Start/Stop Control Packets
Start/Stop Control Packets are used to toggle the flow of data traffic over the link (here, data traffic is
defined to be TDM, best-effort unicast and multicast segment payloads and associated requests and
grants. i.e. all non-Control Packet segments). Start/Stop Control Packets can be sent over an LCS link in
either direction.
If a linecard sends a Stop Control Packet to the switch core, the switch core will stop sending grants to the
linecard for ingress data traffic, and will stop sending egress data traffic to the linecard. When a Start
Control Packet is sent, grants and egress data traffic resume.
If the switch coresends a Stop Control Packetto a linecard, thelinecard must stop sending new data traffic
requests into the switch core until a Start Control Packet is sent.
Note that when either end has received a Stop Control Packet, it can continue to request, grant, send and
receive all categories of Control Packets.
When an LCS link powers-up, it will be in Stop mode: i.e. it will act as if a Stop Control Packet has been
sent in both directions.
Table 14. Start/Stop Control Packet Format
1.6.3.2
Field
CP_Type800000010
Start/Stop11=Start, 0=Stop.
Unused55Set to zero.
CRC-161616-bit CRC calculated over 10- byte control packet payload.
Size
(bits)
CPU Control Packets
Definition
CPU Control Packets are specified by setting the Label_1/Label_2 Field to 14’h0001 (CP-category for
CPU Control Packets) and associated Type Field to 4’h0 (Type for Control Packets).
When the linecard sends a CPU CP to the switch core CPU, the complete payload data is passed to the
switch core CPU. Likewise, when t he switch core sends a CPU CP to the linecard, the complete payload
data is passed to the linecard.
No flow control mechanism is explicitly implemented for CPU CPs, and will be implementation dependent.
72PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 77
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.6.4Use of CRC Fields
1.6.4.1 Use of CRC-16 F iel d
Control Packets and LCS protocol segment prepends use the CRC-16 polynomial:.
16x12x5
x
1+++
ThisisthesamepolynomialusedinX.25.
1. Prior to starting the calculation, the remainder is set to 0xffff.
2. In all cases, theCRC-16 is calculated over all bits (80-bits of the CP or 64-bits of the prepend) with
the CRC field set to all zeroes.
3. Transmission of the CRC-16 is done with the most significant bit sent first.
Note that the use of the CRC-16 option in the ETT1 Switch to Linecard LCS protocol segment prepend
requires that the first byte of the CRC-16 be masked when the CRC-16 is checked (see example).
The following are some sample CPs and prepends,showing the CRC-16 generated for each. The CRC-16
field is always the last 16 bits.
LCS Start CP:
0x0280000000000000C566
Request Count CP:
0x01037280240000006FDB
LCS Prepend from Switch to Linecard:
0x8719362C09DCxxC7
0xE719362C09DCxxC7
1
(subport = 0)
1
(subport = 3, MUX masked to 0 for CRC)
0xE719362C09DCxxDF (subport = 3, MUX included in CRC)
The useof the CRC-16 polynomial in an ETT1 system is the same as above, however only the
last eight bits of the 16-bit CRC are valid from the Switch to the Linecard. Therefore, the
receiving linecard should calculate the CRC for the entire prepend with the CRC field set to all
0’s and compare the last eight bits to those of the received CRC as shown here. “xx” means
these eight bits should be masked from the compare.
LCS Prepend from Linecard to Switch:
0x81B9409D00106039
1. Note the MUX[1:0] field is assumed equal to “00”in these CRC-8calculations.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE73
1
(subport = 0)
Page 78
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
0xE1B9409D001060391(subport = 3, MUX masked to 0 for CRC)
0xE1B9409D00103F21 (subport = 3, MUX included in CRC)
The CRC-16 from the Linecard to the Switch is the same as the standard CRC-16.
1.6.4.2
Use of CRC-8 Option
Optionally, an ETT1 based system can use LCS segment prepends with the CRC-8 polynomial:
x8x2x1+++
.
1. Prior to starting the calculation, the remainder is set to 0xff.
2. In all cases,the CRC-8 is calculated over all bits (64-bits of the prepend) with the CRC field set to
all zeroes.
3. Transmission of the CRC-8 is done with the most significant bit sent first.
The following are some sample prepends, showing the CRC-8 generated for each. The CRC-8 field is
always the last 8 bits.
LCS Prepend from Switch to Linecard:
0x8719362C09DCxxFD
0xE719362C09DCxxFD
1
(subport = 0)
1
(subport = 3, MUX masked to 0 for CRC)
0xE719362C09DCxx19 (subport = 3, MUX included in CRC)
The CRC-8 polynomial in an ETT1 system uses only the last eight bits of the 16-bit CRC field.
Therefore, the receiving linecard should calculate the CRC for the entire prepend with the
entire CRC field set to all 0’s and compare the calculated CRC-8 to those of the received
CRC-8 as shown here. “xx” means these eight bits should be masked from the compare.
LCS Prepend from Linecard to Switch:
0x81B9409D00100096
0xE1B9409D00100096
1
(subport = 0)
1
(subport = 3, MUX masked to 0 for CRC)
0xE1B9409D00100072 (subport = 3, MUX included in CRC)
The CRC-8 from the Linecard to the Switch is sent with the leading eight bits of the CRC-16
field set to zero.
1. Note the MUX[1:0] field is assumed equal to “00”in these CRC-8calculations.
74PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 79
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.6.5LCS PHY Layer
The LCS PHY provides a high-speed parallel transfer of data in the form of framed, fixed-sized segments
that have been channelized across multiple media connections. Higher segment rates are also supported
through trunking options, while lower segment rates are supported through multiplexing options.
The channelization, framing, and transmission functions of the LCS PHY have been specified to allow use
of a variety of availableSerdes (serialization/deserialization) and parallelfiberoptics components.Portions
of this specification will refer to examples of media types. The LCS PHY specification does not preclude
other compatible options.
Channelization requirements include the mapping of segments to multiple channelized frames, channel
skew specifications, and interchannel (segment) alignment operation.
Frame alignment, encapsulation, retiming and the required code-points for a parallel, full-duplex interface
are included in the framing function.
Transmission requirements include the clocking requirements and electrical characteristics of the parallel
interface.
The parallel interface used by the LCS PHY is based on widely available Serdes implementations that
include their own endec (encoder/decoder) functionality. These components also fit well with the available
and emerging parallel fiber optics components. Optionally, an LCS device can include the Serdes and
8B/10B Endec functions, but these are not strictly required by the LCS specification. In fact, LCS
implementations that forego the use of optical transceivers or Serdes and endecs altogether for single
board design are also compliant with the LCS specification.
1.6.5.1
Link Speed
The LCS PHY for ETT1 supports one in link speed option, 1.5 Gbaud. This link speed has various
requirements that affect channelization and framing functions, discussed here and in the LCS
specification. Serdes and optical transceiver components are available to support the 1.5 Gbaud links.
1.6.5.2
Segment Payload Options
The LCS Protocol for ETT1 uses an eight byte prepend and supports two segment payload sizes, a
64-byte payload with an eight byte LCS prepend (8+64 byte segment) and a 76-byte payload with aneight
byte LCS prepend (8+76 byte segment). Discussion of these options is also covered in the channelization
and framing sections here and in the LCS specification.
1.6.5.3
Segment Channelization
The LCS Physical Layer includes the external interface for receiving and transmitting LCS segments from
and to the linecard. The interface consists of parallel “ganged” interfaces that each carry a serialized
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE75
Page 80
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
portion of a segment called a frame. An LCS linecard or switch should therefore state the number of
channels in a gang and the bytes per channel utilized for its particular implementation.
In the receive direction each channelreceives a serial stream of 8B/10B coded data which can be decoded
into a parallel byte stream plus two additional bits - one to indicate a control code-point and one for an
errored code-point. In the transmit direction, an eight bit byte of parallel dataplus one bitto indicatecontrol
word is sent through each channel as serialized 8B/10B encoded data.
The optional parallel interface has separate ingress and egress 10-bit parallel buses. The busses operate
in source synchronous mode and so carry a clock with them to latch the data. A source synchronous
transmit clock is driven from the LCS device interface to the Serdes devices. For data arriving from the
remote LCS device, each Serdes device recovers the receive clock from the bit stream and provides it to
the local LCS device’s parallel bus receiver interface.
Table 15 shows the different external interface configurations supported by the ETT1. When utilizing the
parallel interface, a Serdes device is used to convert between the byte-stream and the 8B/10B encoded
serial stream. This Serdes will be a Single Dat a Rate (SDR) interface for the 1.5 Gbit/s interface.
Table 15. Fiber 1.5 Gbit/s per Channel Interface Configurations
An LCS segment consists of an eight byte prepend and either a 64- or 76-byte payload. The start of the
prepend is senton the first channel,any remainder of the prepend is sent on the next channel, followed by
the start of the payload. The remaining channels carry the subsequent bytes of the payload. The exact
mapping of bytes to channels is shown T able 16.
An 8+64 byte segment is not explicitly supported when using the 2.5 Gbaud links. However, any smaller
segment payload than 76 bytes can be supported by padding the fixed length segments to the full 76-byte
payload.
76PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 81
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.6.5.4 Alignment, Framing, and Transmission Functions
Details of the alignment, framing, and transmission function of the LCS Protocol are covered in the “LCS
Protocol Specification -- Protocol Version 2”, available from PMC-Sierra, Inc.
1.7THE OUT-OF-BAND (OOB) BUS INTERFACE
The Out-of-Band (OOB) bus provides a mechanism for a local CPU to control some or all ETT1 devices
within a switch fabric. The OOB bus provides about1Mbyte/sec of bandwidthwhich should be sufficient for
the intended task. The OOB is a “local” bus in the sense that it only interconnects devices that are
co-located on the same printed circuit board. A complete fabric will consist of many boards and therefore
many separate OOB buses. The multiple OOB buses could be extended into a single logical bus via the
use of a “satellite” bus controller on each board as shown in Figure 32. Alternatively, each OOB bus could
be controlled by a local CPU and the CPUs could then communicate with the other CPUs via some other
mechanism such as an Ethernet network. This document describes only the “local” OOB bus.
All of the ETT1 devices have an OOB interface. The ETT1 devices are slave devices and so theremust be
a local master device, such as a satellite controller, that initiates bus transactions.
Figure 32. One I mple menta tio n: The OOB Bus Consists of Both Local and Global Buses
local
OOB
bus
local
OOB
bus
PCB
PCB
Satellite
Controller
(master)
Satellite
Controller
(master)
global
OOB
bus
Central
Controller
PCB
CPU
ETT1
ASIC
ETT1
ASIC
ETT1
ASIC
ETT1
ASIC
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE77
Page 82
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.7.1The OOB Bus
The OOB bus is an eight-bit, tri-state, multiplexed address/data bus with separate control and interrupt
signals.
1.7.1.1
OOB Bus Signals
Thirteen signals are used:
Table 17. OOB Control Bus Signals
Signal
Name
AD[7:0]8 bit address/data bus.
AD[7] indicates the type of cycle (1 = Write, 0 = Read)
during the first address cycle, and is used for for
address/data during other cycles.
A[6:0] must provide the board select address when
VALID_L is high.
DescriptionDriven by M(aster) or S(lave)
Both.
Addressdrivenbymaster.
Data supplied by master for a
write cycle.
Data supplied by Slave for a
read cycle.
VALID_LBus cycle is valid. Active low.Master.
WAIT_LWait. Active low.
Initially asserted to indicate slave will respond.
Then asserted, if necessary, to allow slave extra cycles
Slave
to respond to current transaction.
CLKClock.Clock source.
INT_HIHigh priority interruptSlave
INT_LOLow priority interruptSlave
NOTE: Active low signals are indicated by “_L”.
All signals are point to point except for the AD bus which is a multipoint bus. In particular,
WAIT_L and the interrupt signals are not open collector/gate drivers.
1.7.1.2
Address Space
The OOB bus provides 31 bits of address - A[30:0]. Of these, bits A[1] and A[0] are always 0 as the bus
does not support 8- or 16-bit accesses: all accesses are 32-bits wide, and must be aligned on quad byte
boundaries.
78PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 83
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Bit A[31] is used to indicate the cycle type: Write or Read.
The remaining 31 bits are divided into a device select block and a sub-address block.
Global Device Select (11b)Sub-address (20b)
2430162381507
00
The global device select block is 11 bits andis used to identify a target device.The sub-address is used by
the target device to identify a register or memory location within the device.
The device select block is divided into three categories as follows:
0x7FFBroadcast Write. All devices should respond to this device select value but will
choose to ignore the write if they do not support a broadcast write to the specified
sub-address. All devices assert WAIT_L until their localwrite operation completes.
0x7F0 to 0x7FEMulticast device selects. (15 multicast groups). See Table 18 below for groups.
0x0 to 0x7EFIndividual device selects. See Table 19 for details of one possible address
scheme.
The current multicast groups are shown in Table 18.
Table 18. Multicast Group Selects
GroupDevice select value (11bits)
All EPPs0x7FE
All Dataslices0x7FD
All Schedulers0x7FC
All Crossbars0x7FB
All Satellites (Not part of the ETT1 Chip Set)0x7F0
1.7.1.3
Individual Device Selects
The individual device selects (30:20) are hierarchical: the most significant seven bits (30:24) are the board
address and identify a single board (PCB) in the system; the four least significant bits (23:20) determine
which particular device on a board is being selected. In addition, the two most significant bits (30:29)
indicate a board type: Port board, Crossbar board or Scheduler board. Figure 33 shows this organization.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE79
Page 84
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
Figure 33. The G lo bal Device Sele ct Defines the Board Number and the Device on Each Board
At power-on the ETT1 devices do not know which board they are on. They learn the board address (bits
30:24) by continuously observing the OOB bus itself: every board must have an OOB controller which
must drive the uniqueboard address on AD[6:0]whenever VALID_L is not active. The OOB controller must
continue to do this while the system is active. Each port board (and EPP) obtains its port number by
looking at AD[4:0] when VALID_L is not active, which is why AD[6:0] must be valid whenever VALID_L is
inactive.
Each device obtains its own local device select(bits 23:20) either from static pinson the device, or through
a preset address. For the Enhanced Port Processor, Crossbar, and Scheduler devices, four dev_sel pins
(oobdev_sel[3:0]), are tied to logical 1 or 0 to provide the four least significant bits of the unique device
address. For the Dataslice device, three dev_sel pins (oobdev_sel[2:0]) are tied to logical 1 or 0 to provide
three of the four least significant bits of the unique device address. Since there are two logical Dataslices
within each package, the fourth implied bit is used to select which of the two logical Dataslices is
addressed.
80PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 85
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The combinations of permissible board addresses and device addresses are shown in Table 19.
NOTE: If the satellite OOB controller needs its own address within the OOB space then it can use
0xPPe (i.e. local device select = 0x00e).
Table 19. Unicast Group Selects
DevicesAddress Format (bin)Address range allocated
EPP on port P (P=0..31){00P_PPPP_1111}0x00f, 0x01f, ... 0x1ff
Dataslice D (D=0..13) on port P (P=0..31)
{00P_PPPP_DDDD}
a
0x000-0x00d,..0x1f0-0x1fd
Scheduler S (S=0,1){100_000S_0000}0x400 or 0x410
Crossbar C (C=0..31)
a. In the ETT1reference system design, P_PPPP corresponds to the port number (0-1f hex) and DDDD corresponds to the
Dataslice number (0-d hex)
b. In the ETT1 reference system design, the first four bits of the CCCC_000Cdesignation correspond to the crossbar board
number, and the last bit of the CCCC_000C designation specifies which of the t wo crossbar chips on that board is being
addressed. Note that in the reference design, logical crossbars 0 and 6 are on the board with CCCC=0000, logical crossbars 1 and 7 are on the board with CCCC=0001, etc.
1.7.1.4
Port Board Assignment
{010_CCCC_000C}
b
0x200, 0x201, 0x210...0x2f1
The port boards must have unique board select addresses in the range 0 to 31. These addresses identify
the logical port number of a port for LCS purposes. The assignment of port addresses is not random and
must reflect the physical connections made between the port boards and the crossbar boards. For
example, one port board will have connections to port 6 on every Crossbar device and port 6 on every
Scheduler. That port board must then have a board address of 6.
1.7.1.5 Bus Cycles
Two types of bus cycles are supported: write and read. Each type may have any number of wait states
before the cycle completes.
1.7.1.6
A Write Cycle - No Wait
A simple 32-bit write. The master drives out a 31-bit address, 8 bits at a time, most significant bits first;
AD[7] is high to indicate a write operation. VALID_L is asserted by the master to indicate the new cycle.
NOTE: The target slaveasserts WAIT_L during the final address cycle toindicate that the target is
active. The target then de-asserts WAIT_L with the first data cycle. The master must
de-assert VALID_L for at least one cycle before re-asserting it for the next cycle.
Whenever VALID_L is de-asserted the master must drive the local board address onto AD[6:0].
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE81
Page 86
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 34. Write Cycle - No Wait
A0A1A2A3D0
CLK
AD[7]d31d23d15d7
AD[6:0]
VALID_L
WAIT_L
board
address
W/R
a23a15a7
d30:24d22:16d14:8d6:0a30:24a22:16a14:8a6:0
D1D2
D3RecIdl e
board address
Addresses are presented during cycles A0-A3. The write data is presented during D0-D3. There is then a
recover cycle during which the target performs the write.
1.7.1.7
A Write Cycle - One Wait
If, during D3, the target decides that it may not be able to complete the write immediately, then it must
assert WAIT_L. It continues to assertWAIT_L until the write is completedorWAIT_L has been asserted for
256 cycles, at which time WAIT_L is de-asserted. (If WAIT_L isasserted for 256 cycles then the master will
consider this to be a bus error).
Figure 35. shows a write cycle with the target forcing a one cycle wait. The target slave asserts WAIT_L
during A3 to indicate that the target is active. The target then de-asserts WAIT_L and re-asserts it during
D3. The master must maintain d7:0 until WAIT_L is de-asserted.
Figure35.WriteCycle-OneWait
A0A1A2A3D0
CLK
AD[7]d31d23d15d7
AD[6:0]
board
address
VALID_L
WAIT_L
W/R
a23a15a7
d30:24d22:16d14:8d6:0a30:24a22:16a14:8a6:0
D1D2
D3
Wt
Rec
board
address
1.7.1.8 A Read Cycle - One Wait
A simple 32-bit read. The master drives out a 31-bit address, 8 bits at a time, most significant bits first;
AD[7] is driven low in the first cycle to indicate a read cycle. VALID_L is asserted by the master to indicate
the new cycle. The target slave asserts WAIT_L during A3 to indicate that the target is active. The target
82PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 87
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
keeps WAIT_L asserted through bus turn-around cycle (effectively a wait cycle). The target de-asserts
WAIT_L once the first valid data byte is on the bus. VALID_L must be high for at least two rising clocks
before the next cycle. There is an additional bus turn-around cycle during the Recover cycle. This is the
fastest read cycle: there is always at least one bus turn-around cycle whenever AD is tri-stated. The
master must drive the AD signals before the next rising edge of the clock after the VALID_L is deasserted.
Figure 36. Read Cycle - One Wait
A0A1A2A3
CLK
AD[7]d31d23d15d7
AD[6:0]
VALID_L
WAIT_L
board
address
W/R
a23a15a7
D0D1D2D3
d30:24d22:16d14:8d6:0a30:24a22:16a14:8a6:0
RecWtIdle
board
address
1.7.1.9 A Read Cycle - Two Waits
This isthe same as a singlewait readcycle except that there is an extra wait cycle before D31:24 arevalid
and WAIT_L is de-asserted.
Figure 37. Read Cycle - Two Waits
CLK
A0A1A2A3
Wt
Wt
D0
D1D2
D3
Rec
Idle
AD[7]d31d23d15d7
board
AD[6:0]
address
VALID_L
WAIT_L
W/R
a23a15a7
d30:24d22:16 d14:8d6:0a30:24a22:16 a14:8a6:0
board
address
1.7.1.10 Interrupts
Two active high interrupt lines are provided. INT_HI is for “emergency” interrupts such as a card failing.
INT_LO is for non-emergency interrupts such as a device requesting to be polled for some reason.
Interrupts are asserted and de-asserted synchronously with respect to the clock. Interrupts can be
asserted at any time, even during an access.
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE83
Page 88
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
The bus master must clear an interrupt by reading an appropriate register within the device that has
asserted the interrupt.
Figure 38. Interrupts are Active Hi gh and Synchron ous
CLK
INT_HI
INT_LO
Bus Rules
1. The target slave must assert WAIT_L during the final address cycle. If the master does not see
WAIT_L asserted during the final address cycle then it concludes that there is no device at that
address and terminates the cycle (takes VALID_L high).
2. VALID_L must be de-asserted (high) for at least one clock cycle between accesses. The master
must drive the board address on AD[6:0] during a positive clock edge while VALID_L is
de-asserted (high).
3. A slave may insert up to 255 wait states before it must de-assert WAIT_L. Failure to de-assert
WAIT_L within that time will result in a Bus Error. (The master will terminate the cycle by
de-asserting VALID_L)
1.8INITIALIZATION PROCEDURE
Every ETT1 component must be correctly initialized before being used within a switch system. In general,
the process of initialization depends on whether the whole switch is being initialized (initial power-on
sequence) or whether a component is being added to a switch system that is already operating. However,
to simplify the process, this document describes an initialization sequencethat canbe used in either case,
but does incur some redundant operations when used at system initialization.
The initialization sequence is also a function of the physical organization of the ETT1 devices. The
sequence described here assumes the physical configuration that has been used in the ETT1 Reference
System: each port board has one Enhanced Port Processor and six or seven Dataslice devices; each
Crossbar board has two Crossbar devices; each Scheduler board has one Scheduler device. The system
has redundant Crossbars and Schedulers. The link between the linecards and the ETT1 ports uses
industry standard Serdes devices.
NOTE: For more information on the link synchronizationinvolving the Serdes and the fiber optics,
see Appendix C, Section 2 “The 8b/10b Interface to the Dataslice” on page 328.
84PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 89
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
1.8.1Initial Power-on:
•Wait for voltage ramp-up
•Suggested:
•Initialize the OOB satellite FPGA
•Reset Enhanced Port Processor
•Reset Dataslices
•Reset Scheduler
•Reset Crossbar
•Enable PLLs on all devices (turn off PLL reset)
•Program Dataslices' DINBY and DOUTBY to 3
•Set interrupt masks (disable all except AIB ready up and external link interrupts) on EPP & DSs
•Set primary Crossbar in DSs to one that exists
•Program 8b10b tables of DSs
•Program pre-defined switch to Linecard Control Packets location in all DSs. ( See section 3.3,
table 28)
•EPP Waiting Scheduler Request Count Memory EWSRCT address offset 1C000-1DFFCh: After
resetting anEPP,write 00000000hto address offsets 1D000hthrough 1D7FCh in that EPP(a total
of 512 OOB writes). Whan all EPPs are resetsimultaneously (using a broadcast OOB write to the
EPP Reset and Control register), 512 broadcast OOB writes can be used to reset those locations
in all EPPs.
•Release VCSEL and PIN diode resets on DSs
•Suggested:
•enable clock phase shifting on Serdes,
•configure Serdes loopback controls for normal operation,
•enable Serdes synchronization,
•send idle-not-rdy from linecard
•Enable DS 8b10b encoder
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE85
Page 90
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
•Enable DS 8b10b decoder
•Suggested:
•disable Serdes clock phase shifting when sync is established
•Set Scheduler BP depth field of Control register to 0x14.
•Set Scheduler action bits (Configuration dependent. See "Enhanced Port Processor - Scheduler"
on page 83)
•Enable the Flow Control Crossbar sync from the Scheduler
•Reset DS AIB (for all ports present)
•Reset Crossbar AIB (for all ports present)(includes Flow Control Crossbars)
•Reset EPP AIB (for all portspresent)
•Reset Scheduler AIB (for all ports present)
•Enable DS AIB (for all ports present)
•Enable Crossbar AIB (for all ports present)(includes Flow Control Crossbars)
•Release reset on DS AIB
•Release reset on Crossbar AIB
•Release reset on EPP AIB
•Release reset on Scheduler AIB
These sequences should complete with only the "ready up" interrupts enabled. When these interrupts
occur (which may be during later parts of the above sequences) then perform the following:
When DS AIB ready up:
•Inform local processes that the DS is operational
•Enable all interrupts on DS, except for Transceiver Comma Detect and 8b10b Decoder Comma
Detect which are set every time an idle is received.
When EPP AIB ready up for at least one Scheduler and at least one set of Flow Control Crossbars:
•Inform local processes that the EPP is operational
•Enable all interrupts on EPP
86PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 91
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
•Set Fault Tolerance Control
•Enable Port Processor
•Define 1-in-N Idle Count value
•Take EPP out of LCS Stop mode
When Crossbar AIB ready up:
•Inform local processes that the Crossbar is operational
•Enable all interruptson Crossbar
When Scheduler AIB ready up:
•Inform local processes that the Scheduler is operational
•Enable all interrupts on Scheduler
•Enable ports that are present and up
•Enable non-TDM traffic
•If TDM traffic, define TDM control and Enable TDM traffic
In a system with redundant Schedulers, it is essential to perform a refresh operation as the final step, once
ports are configured and operational. This synchronizes the two Schedulers. Refresh schedulers if
necessary (do not refresh if only one in system)
1.8.2Port Board being added:
•Wait for voltage ramp-up
•Suggested:
•Initialize the OOB satellite FPGA
•If a Scheduler is present and has its Control register's CRC Action bit set, save and clear the CRC
Action bit.
•Reset Enhanced Port Processor
•Reset Dataslices
•Enable PLLs on EPP and DSs (turn off PLL reset)
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE87
Page 92
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
•Program Dataslices' DINBY and DOUTBY to 3
•Set interrupt masks (disable all except AIB ready up and external link interrupts) on EPP & DSs
•Set primary Crossbar in DSs to one that exists
•Program 8b10b tables of DSs
•Program pre-defined switch to Linecard Control Packets location in all DSs. ( See section 3.3,
table 28)
•EPP Waiting Scheduler Request Count Memory EWSRCT address offset 1C000-1DFFCh: After
resetting anEPP,write 00000000hto address offsets 1D000hthrough 1D7FCh in that EPP(a total
of 512 OOB writes). Whan all EPPs are resetsimultaneously (using a broadcast OOB write to the
EPP Reset and Control register), 512 broadcast OOB writes can be used to reset those locations
in all EPPs.
•Release VCSEL and PIN diode resets on DSs
•Suggested:
•enable clock phase shifting on Serdes,
•configure Serdes loopback controls for normal operation,
•enable Serdes synchronization,
•send idle-not-rdy from linecard
•Enable DS 8b10b encoder
•Enable DS 8b10b decoder
•Suggested:
•disable Serdes clock phase shifting when sync is established
If neighboring Crossbar cards are present:
•Reset DS AIB and Crossbar AIB
•Enable DS AIB and Crossbar AIB
•Release reset on DS AIB and Crossbar AIB
If neighboring Flow Control Crossbar cards are present:
•Reset EPP AIB and Flow Control Crossbar AIB
88PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 93
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
•Enable EPP AIB and Flow Control Crossbar AIB
•Release reset on EPP AIB and Flow Control Crossbar AIB
If neighboring Scheduler cards are present:
•Reset EPP AIB and Scheduler AIB
•Enable EPP AIB and Scheduler AIB
•Release reset on EPP AIB and Scheduler AIB
•Restore the Scheduler Control register CRC Action bit if it was set before initializing this Port
Board.
These sequences should complete with only the "ready up" interrupts enabled. When these interrupts
occur (which may be during later parts of the above sequences) then perform the following:
When DS AIB ready up:
•Inform local processes that the DS is operational
•Enable all interrupts on DS, except for Transceiver Comma Detect and 8b10b Decoder Comma
Detect which are set every time an idle is received.
When EPP AIB ready up for at least one Scheduler and at least one set of Flow Control Crossbars:
•Inform local processes that the EPP is operational
•Enable all interrupts on EPP
•Set Fault Tolerance Control
•Enable Port Processor
•Define 1-in-N Idle Count value
•Take EPP out of LCS Stop mode
1.8.3Scheduler Board being added:
•Wait for voltage ramp-up
•Suggested:
•Initialize the OOB satellite FPGA
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE89
Page 94
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
•Reset Scheduler
•Enable PLLs on SCH (turn off PLL reset)
•Set BP depth field of Control register to 0x14.
•Set Scheduler action bits (Configuration dependent. See "Enhanced Port Processor - Scheduler"
on page 83)
•Enable the Flow Control Crossbar sync
•Set interrupt masks (disable all expect ready up)
If neighboring Port cards are present:
•Reset EPP AIB and Scheduler AIB (for all ports present)
•Enable EPP AIB and Scheduler AIB (for all ports present)
•Release reset on EPP AIB and Scheduler AIB (for all ports present)
•Reset ports on Scheduler
These sequences should complete with only the "ready up" interrupts enabled. When these interrupts
occur (which may be during later parts of the above sequences) then perform the following:
When Scheduler AIB ready up:
•Inform local processes that the Scheduler is operational
•Enable all interrupts on Scheduler
•Enable ports that are present and up
•Enable non-TDM traffic
•If TDM traffic, define TDM control and Enable TDM traffic
In a system with redundant Schedulers, it is essential to perform a refresh operation as the final step, once
ports are configured and operational. This synchronizes the two Schedulers. Refresh schedulers if
necessary (do not refresh if only one in system)
1.8.4Crossbar Board being added:
•Wait for voltage ramp-up
•Suggested:
90PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 95
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
•Initialize the OOB satellite FPGA
•Reset Crossbar
•Enable PLLs on Crossbar (turn off PLL reset)
•Set interrupt masks (disable all except ready up)
If neighboring Port cards are present and this is a Flow Control Crossbar:
•Reset EPP AIB and Flow Control Crossbar AIB (for all ports present)
•Enable EPP AIB and Flow Control Crossbar AIB (for all ports present)
•Release reset on EPP AIB and Flow Control Crossbar AIB (for all ports present)
If neighboring Port cards are present and this is a data Crossbar:
•Reset DS AIB and Crossbar AIB (for all ports present)
•Enable DS AIB and Crossbar AIB (for all ports present)
•Release reset on DS AIB and Crossbar AIB (for all ports present)
These sequences should complete with only the "ready up" interrupts enabled. When these interrupts
occur (which may be during later parts of the above sequences) then perform the following:
When Crossbar AIB ready up:
•Inform local processes that the Crossbar is operational
•Enable all interruptson Crossbar
1.9FAULT TOLERANCE
A ETT1 fabric can optionally be configured with redundant elements. When the ETT1 system contains
redundant Schedulers and Crossbars, it is capable of sustaining certain faults and yet not lose or corrupt
any of the cells within the fabric.
1.9.1Fault Tolerance Model
The fault tolerance model assumes that any failure within a redundant element will manifest itself as a link
error, and thus will be observable by the local CPU. The redundant elements are the Scheduler and
Crossbar which are connected via AIB links to the Enhanced Port Processor and Dataslice, as shown in
Figure 39. These AIB links are protected by a CRC such that a failure in a device will likely result in a CRC
error, which can be detected by the local CPU through interrupts. Furthermore, even if a CRC error is not
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE91
Page 96
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
generated, the Enhanced Port Processor and Dataslice will detect any difference in the information
received from the two, supposedly identical elements and will act as though an error had occurred.
Figure 39. Redundant Connections
Crossbar 0
Port
Dataslice
EPP
Dataslice
Crossbar 1
EPP
Flow Control
Crossbar 0
Port
Flow Control
Crossbar 1
Scheduler 0
Scheduler 1
Fault tolerant region
In this section, we consider two types of errors that may occur: soft errors and hard errors. Soft errors are
transient errors that do not require replacement of any of the boards. Hard errors are caused by a device
failure resulting in a defective board which should be replaced. On the AIB links a soft error would appear
as a transient CRC error; a hard error would be indicated by the link ready signal going inactive (see
Section 1.10.3 “AIB Links (A)” on page 103).
The significance of this fault model is that all faults associated with redundant elements will appear as a
link error of some form. So the fault detection and recovery procedures for any ETT1 fabric can be
92PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 97
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
specified by considering the various AIB links. The following sections explain these procedures for
redundant and non-redundant configurations.
1.9.2Soft/Transient Errors
Intermittent CRC errors between the Dataslice and Crossbar and the Enhanced Port Processor and
Scheduler are consideredin this section. The corrective action that needsto take place dueto these errors
are different for non-redundant and redundant configurations.
1.9.2.1
Non-Redundant Configurations
Dataslice - Crossbar
In a non-redundant Crossbar configuration, CRC errors that occur between the Dataslice and Crossbar
imply that part of a cell has been corrupted. In Figure 40, Dataslice 1 and Dataslice 2 are connected to
Crossbar 0.
If a CRC erroroccurs from Dataslice 1 to Crossbar- 0 when valid datais to be transferred,then that slice of
information for that cell has been corrupted. As a result, Dataslice 2 will receive an invalid cell. Crossbar 0
will indicate to the CPU that a CRC error has occurred.
If Dataslice 2 receives a CRC error from Crossbar-0 when valid data is to be transferred, then the cell has
been corrupted. Dataslice 2 will indicate to the CPU that a CRC error has occurred.
In both of the above, if the corrupted cell did contain cell data (as opposed to being an empty cell)
Dataslice 2 will store the corrupted information in its local memory and forward it to the egress linecard.
The ETT1 fabric will not make the decision to discard the cell; the linecard must detect the error and
discard the cell. The linecard would detect such an error with it’s own payload error detection scheme.
If the CRC error occurred in an empty cell then no information is lost. However the occurrence of a CRC
error is always indicated to the local CPU via a maskable interrupt.
Figure 40. Simple Non-Redundant Crossbar Confi gur ation
Crossbar 0
Dataslice 1
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE93
Dataslice 2
Page 98
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Enhanced Port Processor - Flow Control Crossbar
If CRC errors occur between the Flow Control Crossbar device and the EPP, the input EPP will not have
the correct view of the available space in the egress queues of the output EPP. Thus, a refresh of the
output queuecreditsmust be performed. The invalidincremental creditinterrupt registeris used to indicate
which input port to output port flow has lost output queue credits. For example, if port 5’s invalid
incremental credit interrupt register has a value of 0x400, then there are lost credits for all Unicast flows
from input port 5 to output port 10. See Section 1.9.3 “Flow Control Refresh Procedure” on page 97.
Enhanced Port Processor - Scheduler
In a non-redundant Scheduler configuration, CRC errors thatoccur betweenthe EnhancedPort Processor
and Scheduler might result in inconsistent state information. The Scheduler must have accurate
information on the number of outstanding requests as well as the backpressure state of all VIQs. A lost
request or grant cancausea discrepancy between the EnhancedPort Processor and Scheduler. Figure 41
describes a simple non-redundant Scheduler configuration where Enhanced Port Processor 1 and
Enhanced Port Processor 2 are connected to Scheduler 0.
If Enhanced Port Processor 1 receives a CRC error on information from Scheduler 0, then Enhanced Port
Processor 1 does not know if that information contained a validgrant. If the corrupted grant was for unicast
traffic, then the Enhanced Port Processor would have one more request than the Scheduler; this might
delay the forwarding of one cell. However, if the corrupted grant was for multicast traffic, then the next
multicast grant might cause a celltobe sent to the wrong destination port. Thisis consideredunacceptable
and so a CRC error from Scheduler-0 makes Enhanced Port Processor 1 ignore all subsequent Scheduler
grants until the state information can be restored. As always, the CRC error is indicated to the local CPU
which must refresh Scheduler 0 before traffic can continue to flow to/from this port. The Enhanced Port
Processor continues to receive routing tags from the Scheduler, and will forward cells received from other
ports.
If Scheduler 0 receivesa CRC erroron information from EnhancedPort Processor-, then Scheduler0 may
have lost a new request or backpressure information. If the lost information was a unicast request, then the
Scheduler would have one less request than the Enhanced Port Processor. This might delay the
forwarding of one cell. If the lost information was a multicast request, the Scheduler might send a cell to
the wrong destination port. If back pressure assertion was lost, the Scheduler could possibly overflow the
output queues. These behaviors are considered unaccept able. Thus, when Scheduler 0 detects a CRC
error it disables traffic to/from Enhanced Port Processor 1 until the CPU refreshes Scheduler 0’s state
information. Traffic to/from other ports continues to flow. The CRC error isindicated to the CPU which must
then refresh the state information in Scheduler 0. See Section 1.9.4 “Scheduler Refresh Procedure” on
page 98.
94PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Page 99
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Figure 41. Simple Non-Redundant Scheduler Configu ra tion
Enhanced
Port Processor 1
Scheduler 0
Enhanced
Port Processor 2
1.9.2.2 Redundant Configurations
For a redundant Crossbar configuration, the redundant connection provides the uncorrupted information
between the Dataslice and Crossbar. In Figure 42, Dataslice 1 and Dataslice 2 are connected to both
Crossbar 0 and Crossbar 1. The same information is sent from the Dataslices to each of the Crossbars,
and therefore, the same information is received by the Dataslices from each of the Crossbars.
Consider when a CRC error occurs from Dataslice 1 to Crossbar 0, and no CRC error occurs from
Dataslice 1 to Crossbar 1. In this situation,Dataslice 2 will receive invalid informationfrom Crossbar 0, but
will receive valid information from Crossbar 1. Dataslice 2 uses the valid information and no cells are
corrupted. Crossbar 0 will indicate to the CPU that a CRC error has occurred.
If a CRC error occurs from Crossbar 0 to Dataslice 2, Dataslice 2 would not receive valid information from
Crossbar-0.Since Crossbar 1 receives the same information as Crossbar 0, Dataslice 2 will get the valid
information from Crossbar 1. Dataslice-2 uses the validinformation and no cellsare corrupted. Dataslice 2
will indicate to the CPU that a CRC error has occurred.
In both situations, the simple redundant Crossbar configuration has prevented cell loss in the event of a
single CRC error. The occurrence of a CRC error betweenthe Dataslice and Crossbar is alwaysnoted, but
no corrective action is required.
Figure 42. Simple Redundant Crossbar Confi gur ation
Crossbar 0
Dataslice 1Dataslice 2
Crossbar 1
PROPRIETARY AND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE95
Page 100
Released
Data Sheet
PMC-2000164ISSUE 3ENHANCED TT1™ SWITCH FABRIC
PMC-Sierra, Inc.
PM9311/2/3/5 ETT1™ CHIP SET
Enhanced Port Processor - Flow Control Crossbar
The redundant configuration is equivalent to that of the Dataslice to Crossbar configuration: A single CRC
error on one of the links can be ignored because the EPP will automatically use the valid information from
the other link. However, if the EPP receives four consecutive CRC errors on its primary FC crossbar link
then it will consider the link to have failed, and will make the other link the new primary link. See the
EFTCTRL register in the EPP for more details.
If CRC errors occur on both links during the same cell time then informationwill be lost, and the recovery
process described in the non-redundant configurationmust beused to restore the correct state in the input
EPP.
Enhanced Port Processor - Scheduler
In a redundant Scheduler configuration, the redundant connection provides the uncorrupted information
between the Enhanced Port Processor andScheduler. Figure 43 describes a simple redundant Scheduler
configuration where Enhanced Port Processor 1 and Enhanced Port Processor 2 are connected to both
Scheduler 0 and Scheduler 1. In this example, Scheduler 0 is the primary Scheduler and Scheduler 1 is
the secondary Scheduler.
If, due to an error, the two Schedulers send different information to theEPPs then it is clearly essential that
all of the EPPs must use the information from the same Scheduler. Therefore, all of the Enhanced Port
Processors must use a consistent setting for their primary/secondary Scheduler, which is defined in the
EFTCTRL register in the EPP. The corrective action taken is different for CRC errors to/from the primary
Scheduler and CRC errors to/from the secondary Scheduler. These are described below.
If Enhanced Port Processor 1 receivesa CRC error on information from Scheduler 0 (primary),then it uses
the uncorrupted grant information from Scheduler 1. Similarly, if Enhanced Port Processor 1 receives a
CRC error on information from Scheduler 1, then it uses the information from Scheduler 0. In both these
case, the CPU is notified of the error, but no corrective action is required by the CPU since the state
information remains consistent. However if the EPP sees four consecutive CRC errors on the link from its
96PROPRIETARYAND CONFIDENTIAL TO PMC-SIERRA, INC., AND FOR ITS CUSTOMERS’ INTERNAL USE
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.