
69
3.0 Functional Description
3.5 Reassembly Coprocessor
Bt8230
ATM Segmentation and Reassembly Controller—SAR
N8230DS1F
3.5 Reassembly Coprocessor
The reassembly coprocessor is responsible for processing 52-octet cells from the
receive ATM physical interface. It controls the writing of the CPCS payload to
host memory and performs all necessary SAR and CPCS checks. The reassembly
coprocessor maintains a hash table, hash bucket chains, and VCC tables in local
memory to operate on the various CPCS connections. The hash function quickly
locates the appropriate reassembly VCC table based on the received VPI/VCI
value in the ATM cell header. The hashing process also allows complete freedom
in assignment of VCI/VPI values.
The reassembly coprocessor uses an intelligent scatter method to write the
payload portion of the ATM cell to host memory. It maintains a free-buffer queue
and status queue in local memory to control the scatter operation. The free-buffer
queue is updated by the host processor to point to available cell buffers in host
memory. The status queue is updated by the reassembly coprocessor with infor-
mation about how the cell buffers are used. A duplicate structure may be main-
tained to write cell payload data to local memory. This diverts OAM, ILMI, and
signaling messages to the local memory. The local processor can then process
these messages without affecting the host system or being affected by host system
faults. The local processor updates the local free buffer queue to point to local cell
buffers, and reads the local status queue to access the local cell buffers.
The reassembly coprocessor can perform reassembly checks on AAL5,
AAL3/4, AAL0, and OAM cells. For each type of cell, specific SAR and CPCS
checks are performed and the results are signaled to the appropriate processor. For
an AAL5 connection, only CPCS checks, including the CRC32 check, are per-
formed. For an OAM cell, only the CRC10 check is performed. AAL3/4 traffic is
checked for various SAR and CPCS protocols, including CRC10. AAL0 traffic
has no checks.
The reassembly coprocessor consists of the following subunits:
VPI/VCI Hash Function—Quickly locates connection information stored
in local memory. This method uses less memory than a straight index
approach while still supporting the complete VPI/VCI address space.
AAL Reassembly Processor—Performs required SAR-PDU and CPCS-
PDU checks. SAR-PDU checks are performed on AAL3/4 and OAM cells
and CPCS-PDU checks are performed for AAL3/4 and AAL5 connec-
tions.
Transfer cell—Scatters cell payload data to host memory cell buffers
through the DMA block or to local memory cell buffers. Separate free
buffer queues are maintained to allocate cell buffers in host and local
memory.
Status Processing Unit—Assembles the appropriate status entry and writes
it to local memory. Separate status queues are maintained to correspond
with cell buffers in host and local memory.
64-word Receive Cell FIFO—Accepts and buffers incoming cells from the
ATM physical interface prior to processing by the reassembly coprocessor.