9.0 Reset and Initialization
(Continued)
9. Once this symbol stream completes its route around
the ring, node 0 begins to transmit null symbols whose
frame bits are reset to 0.
10. As soon as each node, including node 0, detects an up
stream symbol with the frame bit equal to zero, its ini-
tialization sequence is completed, and it may begin to
transmit vouchers, tickets and packets.
11. During this sequence, the controller forwards the node
ID and eventually the MaxID on the ring to the receive
port.
9.5 Sequence for All Other Nodes on the Ring
1. While RESET remains asserted all other nodes (other
then node 0) transmit all ones at the down stream port.
2. Release of RESET from a node causes that node to be-
gin monitoring its up stream port. While the up stream
type field is
[
1,1
]
, the node transmits all 1’s at the down
stream port.
3. When the upstream type field changes to
[
0,1
]
, the ac-
companying symbol field is interpreted as the node ID of
the upstream neighbor.
4. The node increments the symbol field value, stores the
new value internally, and then forwards the incremental
value including the new
[
0,1
]
type code at its down
stream port. The stored value becomes the local node
ID. This node ID number is propagated to the node’s
receive port so the client interface can learn its ID num-
ber.
5. Some time later, a new stream of symbols arrives at the
up stream port accompanied by the type code
[
1,0
]
. The
value of this symbol is stored internally and represents
the numerically greatest node ID residing on the ring.
The node forwards this symbol stream to its down
stream port. This value is also forwarded to the receive
port, so the client can learn the number of nodes on the
ring.
6. Throughout this sequence, the node transmits symbols
with the frame bit set to 1. Eventually, a stream of null
symbols is received at the up stream port with the frame
bit reset to 0. As soon as this symbol is forwarded to the
down stream port, the node may commence normal ring
operation. If at any point there is a node ID detected
whose value is greater than the greatest ID residing on
the ring, an abort symbol is sent and it is considered as a
failure. For the client interface, the first 2 non-null sym-
bols that appear at the receive port are the node ID num-
ber and the largest ID on the ring.
10.0 QR0001 Operation Flow
10.1 Ring Traffic Flow Priorities for
DnSS Port Transmission
After the initialization process is complete, all nodes on the
QuickRing are ready to transfer packets on the ring. Data
streams can be queued/de-queued into/from the QR0001
through the Client Interface on all nodes. As traffic builds on
the ring, the QR0001 prioritizes the information flow through
the node that goes onto the ring. Following is the list, in
descending order, of the paths inside the QR0001 that pro-
cess information to be sent out onto the ring through the
downstream (DnSS) port. Refer to the QR0001 block dia-
gram.
1. The highest priority is given to tickets/vouchers to/from
other nodes. This QR0001 is simply forwarding the ac-
cess symbols on the ring that are destined for other
nodes.
2. LB Target Handler: Sends out low bandwidth tickets gen-
erated by this node. (Includes voucher rejects when ex-
ceeding storage capacity.)
3. Target Handler: Sends out normal tickets generated by
this node. (Includes voucher rejects when exceeding
storage capacity.)
4. Local sourced vouchers launched by this node.
LB FIFO: Generates a voucher when the LBW symbol gets
to the head of the FIFO.
X or Y FIFO: Generates a voucher as soon as the first sym-
bol is loaded into the FIFO. Also, generates another vouch-
er as soon as the 21st symbol (associated with the same
head) is loaded into the FIFO. Further, continues to gener-
ate a voucher for each packet (maximum bundle of 20 sym-
bols).
5. Ring FIFO: This QR0001 is forwarding data destined to
other nodes.
6. Sends out locally generated packets from this node’s X,
Y, or LB FIFO. At the beginning of each packet, the traf-
fic flow priorities are checked. (The source (X, Y, or LB)
FIFO can transmit when the Ring FIFO has at least 28
empty positions. Locally sourced packets will be held un-
til the Ring FIRO has no more than 12 data symbols.)
10.2 Inside the Source Node (Device Transmitting Data)
At the source node, as soon as QR0001 latches a head and
a payload symbol, in the X or Y FIFO, it sends a voucher to
the target node. The source node waits until the target node
sends a ticket back before transmitting a packet. During this
time the client interface can write payloads into the control-
ler.
When QR0001 detects that a single packet will not be
enough to transmit all data in FIFO X or Y, another voucher
is sent to the target node. Additional vouchers are sent as
soon as the controller deems it necessary to complete the
transmission. This action is intended to hide the latency be-
tween the transmission of vouchers and the receipt of tick-
ets. A maximum of 7 (3X, 3Y and 1 LB) vouchers can be
outstanding from the source node. Vouchers have higher
priority than payloads, and they can be launched interleaved
in current outgoing packets.
At the source node, only when a ticket is received is a pack-
et sent. A packet is formed by 1 head and anywhere from 1
to 20 payload symbols. The largest packet is 21 symbols, 1
head symbol and 20 payload symbols. The last payload
symbol of a packet is always identified as a tail. This is
encoded in the type field.
The QuickRing controller does not wait for any specific
number of data symbols to send a packet. If the client inter-
face is slow in writing data at the transmit port, QR0001
could send packets with less than 21 symbols. The same
will occur in transmissions where the total number of pay-
loads is not a multiple of 20. The QuickRing controller is
designed to transmit the data in the transmit pipeline as
soon as possible.
10.3 Summary of Source Node Actions
QR0001 sends a voucher from the source node to the tar-
get node as soon as it has at least one payload to transmit.
(In the X or Y FIFOs.)
26