
IBM2520L8767
IBM Processor for ATM Resources
atmrm.chapt01.01
08/27/99
Data Flows
Page 15 of 553
Data Flows
This section describes the data and control flow to and through the IBM Processor for ATM Resources. In
order for cell traffic to flow through an ATM interface, the cells require that Logical Channels be allocated. For
information on Logical Channels, please see
Data Structures
on page 35.
Feature Summary
Virtual memory
Memory pools
Register read/write interface for memory allocation
Transmit path scheduling
Receive path demultiplexing
Event Queues
Operation Summary
Basic Assurance Tests (BATs)
Initialize and cConfigure
Test Path to Switch
Permanent Virtual Circuit Setup
Identify LAN Servers
Initialize SVCs
Run, initializing circuits (Q.93B) and transmitting data.
Transmit Path
A typical transmit operation begins with the software requesting a buffer from POOLS and filling it with data
via slave DMA, master DMA, or processor writes. If virtual buffers are being used, the data write operation
can fail due to lack of physical buffers. In the event of a failure, the header of the packet is updated to indicate
the failure. The software can audit the header after the buffer has been completely transferred, and either
take action to recover the data immediately, or allow CSKED to generate an event later in the transmit cycle
for any buffers that have had a data write failure.
Before the data can be transmitted, the buffer header must be updated to contain information required for cor-
rect transmission. Information such as data length, starting offset, and Logical Channel (LC) address are just
a few of the fields that must be correctly reflected in the buffer header. For a complete list of the fields in the
buffer header refer to
Packet Header
on page 35.
In addition to the fields in the buffer header, the scheduling and segmentation sections of the Logical Channel
Descriptor (LCD) such as peak rate, average rate, and AAL type must also be set up correctly prior to trans-
mission. For a complete list of the fields in the LCD, refer to
Transmit Descriptor Data Structures
on page 39.
After the data has been transferred into packet storage and both the buffer header and the LCD structure
have been correctly initialized, the buffer address is queued to CSKED. When it receives a buffer, CSKED
checks the buffer header (packet memory) to make sure that the data transfer operation that filled the buffer
completed without error. If it finds an error, CSKED posts an event to software and does nothing further with
this buffer. If it does not find an error, CSKED fetches several fields from the LCD (control memory) indicated
in the buffer header to determine the current state of that LCD. If the LCD is busy sending another buffer, the
new buffer is queued to this LCD and will be processed when all previously enqueued buffers have been
transmitted. If the LCD is not busy, CSKED updates the LCD based on several fields in the buffer header and
queues the LCD to the next time slot on the time wheel (control memory).