CA2315052A1 - An atm cell processor - Google Patents

An atm cell processor Download PDF

Info

Publication number
CA2315052A1
CA2315052A1 CA002315052A CA2315052A CA2315052A1 CA 2315052 A1 CA2315052 A1 CA 2315052A1 CA 002315052 A CA002315052 A CA 002315052A CA 2315052 A CA2315052 A CA 2315052A CA 2315052 A1 CA2315052 A1 CA 2315052A1
Authority
CA
Canada
Prior art keywords
atm cell
function
cell processor
cells
queueing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002315052A
Other languages
French (fr)
Inventor
Brendan O'dowd
Gavin Brebner
Kevin Dewar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tellabs Research Ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2315052A1 publication Critical patent/CA2315052A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/255Control mechanisms for ATM switching fabrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • H04L2012/5653Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL]
    • H04L2012/5658Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly using the ATM adaptation layer [AAL] using the AAL5
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

An ATM cell processor (10) has a backplane interface (11), a line interface (15), and various processing functions between the interfaces. Cells directed to the line interface (15) are controlled by a queueing function (12) which uses external cell memory via a controller (13) and external control memory via a controller (14). Cells from the backplane are identified and routed by a mapping function (16).

Description

"An ATM Cell Processor' INTRODUCTION
S Field of the Invention The invention relates to a processor for handling asynchronous transfer mode (ATM) cells.
Prior Art Discussion The ATM technique supports many different services such as voice, frame relay, or circuit emulation. Also, the throughput rates are quite high, in the order of hundreds of thousands of cells per second.
The general approach has been to provide extensive circuitry to handle the many cell processing functions required. For example, European Patent Specification No.
EP614324 (Nippon) describes circuitry having cell assembly and disassembly control circuits and memory access control circuits.
Such circuits tend to be limited in their functionality and to be complex.
Objects of the Invention An object of the invention is to provide for efficient handling of cells by a processor.
Another object is that the processor has flexibility in the manner in which it operates so that it may be used in different environments with relatively simple configuration.
A still further object is to provide a cell processor which may be controlled in a comprehensive manner with relatively simple control circuits.

_7_ SUMMARY OF THE INVENTION
According to the invention, there is provided an ATM cell processor comprising a line interface, a backplane interface, and processing means for identifying cells according to their headers and processing the identified cells.
Thus the processor may be integrated in a flexible manner in a system having multiple cell streams.
In one embodiment, the line and backplane interfaces are bi-directional. This provides .
excellent versatility for cell processing.
In one embodiment, the processing means comprises a mapping function. This allows mapping of received cells according to the VPI/VCI.
Preferably, the mapping function comprises means for changing the cell headers according to mapped cell destinations.
In one embodiment, the mapping function comprises means for adding an additional header to a cell for internal control signalling.
In another embodiment, the processing means further comprises a policing function for monitoring traffic characteristics. This allows integration in a system connected to multiple client systems and is particularly useful for monitoring contracts.
In a further embodiment, the processing means comprises a queueing function connected between the interfaces for controlling transfer of cells to the line interface. This provides for effective cell traffic management.
In another embodiment, the queueing function comprises means for interfacing with a cell memory for storage of cell queues, and with a control memory for storing queueing WO 99131928 PCTIIE98l00106 parameter values. This enhances flexibility in the manner in which cells are queued. It also provides for simple queueing control.
In one embodiment, the queueing firnction is connected to a memory controller for interfacing with the cell and control memories.
Preferably, the queueing function comprises means for managing path descriptor tables in the control memory.
In another embodiment, the queueing function comprises means for managing queue descriptor tables, each relating to individual queues in the control memory.
In one embodiment, the cell processor further comprises a segmentation and reassembly (SAR) interface for routing of cells to an external SAR device. This allows connection of the cell processor to a control processor in an efficient manner using cells for control signalling.
Preferably, the SAR interface is connected to the queueing function.
In one embodiment, the cell processor comprises a control processor interface for connection to a memory controller to allow initial set-up co~guration.
DETAILED DESCRIPTION OF THE INVENTION
Brief Description of the Drawin s The invention will be more clearly understood from the following description of some embodiments thereof, given by way of example only with reference to the accompanying drawings in which:-Fig. 1 is a schematic representation of a cell processor of the invention;

Fig. 2 is a diagram illustrating operation of a queue server matrix; and Fig. 3 is a diagram illustrating a UTOPIA interface of the cell processor.
Description of Embodiments Referring to Fig. 1, there is shown a cell processor 10 of the invention. The processor 10 is an application specific integrated circuit (ASIC), the application being processing of ATM cells.
The main components of the ASIC 10 are now briefly described briefly with reference to general signal flows through the processor. The cell rate handled is 373 K
cells per second, which represents a bit rate of greater than 155 Mpps. The ASIC 10 has a backplane interface 11 for interfacing according to the CUBITTM protocol via a backplane.
A queueing function I2 performs extensive buffering operations using DRAM or SRAM
external to the ASIC 10 and is accessed via a CeIIRAM controller I3. It also uses an SRAM controller 14 for access to additional off chip SRAM. The off chip memory is used in general for such things as manipulating link lists, and storing cells awaiting transfer. More specifically, the SRAM accessed by the SRAM controller 14 is used effectively as an external register and to store queue parameters including the queue sizes. On the other hand, the DRAM or SRAM accessed via the CelIRAM controller is used for storing actual cells. When dequeueing from the Cell RAM, the SRAM
is used to track the cells using pointer information.
Cells received in the direction A at the backplane interface I 1 are passed to the queueing function 12, and may be routed to CelIRAM. Continuing on the path A indicated in Fig.
l, the cells are , then transferred to a mufti-PHY line interface I ~. This is a master interface which supports many ports, in this embodiment eight. Again, the UTOPIA
protocol is used.
Thus, in the path A, the ASIC 10 does not change the cells, but does manage output to the line by using queueing mechanisms and external memory.
In the opposite direction, cells are received as indicated by the arrow B at the line interface 15 and are transferred to a mapping function 16. The mapping function 1 b changes the VCI/VPI headers according to the destination of the cells and by doing this, it re-directs them to the correct destination. It does not "know" what the different cell streams represent, but it identifies the streams by their headers. The cells are passed to a policing function I7 which operates according to algorithms to evaluate certain policing parameters such as the cell rate for a particular contract. Varinilc nara",Pto,.~ ~..e ..,,_.._ Into account such as the temporary nature of any usage of excessive bandwidth for a particular contract. The SRAM accessed via the SRAM controller I4 is used for some of these functions. After the policing functions, the cells are transferred to the backplane interface 11.
The ASIC 10 also comprises a processor interface 20 and a configuration and status function 21, which are connected to the queueing function I2 and the SRAM
controller 14. This allows a microprocessor to access the ASIC 10 and perform a limited set of functions including initial setup and configuration and subsequent status monitoring. An important initial setup function is configuzation of the SRAM 14.
Subsequently, the processor can access the SRAM locations via the controller 14 and the interface 20 to monitor parameters such as the count of dropped cells.
An important aspect of the ASIC 10 is that it can use control signals communicated in the ATM format. To do this, it uses a segmentation and reassembly (SAR) interface ?5 which is connected to a SAR device which performs AALS segmentation and reassembly of ATM messages. This interface is used for communication of ATM messages with a SAR device. The SAR device interfaces with another device such as a microprocessor (possibly the same microprocessor as is connected to the interface 20) for comprehensive control communication. The ATM nature of the communication is transparent to the microprocessor because of operation of the SAR device. Thus, a single microprocessor may have access to the ASIC 10 in two different manners, one being a direct access for initial setup and monitoring of parameters, the other being for comprehensive control communication.
Refernng again to the direction A of Fig. 1 the cells which are received at the backplane interface 11 are queued in one of the multiple queues depending on their VPI/VCI. The ;.
queues are serviced on a pre-programmed basis to implement a priority queueing system. -Queues that grow too large may have cells discarded on a configured basis.
Statistics are kept on the number of cells received, the number of cells transmitted, the number of bad cells, and the number of cells dropped due to congestion.
Queueing is initialised by a microprocessor using the configuration and status function 21. This function has registers, in which there is a notional split of registers related to queueing and those related to dequeueing. The queueing function I2 uses a significant number of tables to control the buffering and congestion management functions.
One such table is a path descriptor, the start address of which is provided by a configuration register. The VPI of an incoming cell is used to form an offset into this table. In addition there are special path descriptors for mapping, for the SAR, and for the processor, the addresses again being provided by configuration registers.
Another table is a queue descriptor, which contains information about an individual queue. All queues are identical, however, they may appear to have different priorities depending on programming of a queue server matrix. Queues are irrevocably tied to target output ports and each of the eight line ports has eight queues associated with it. In addition, a single queue is maintained for each of the processor, SAR, and mappin, entities. Mapping between queues and targets is specified in two tables, one for each of aggregate and tributary modes. Each queue has a four-word descriptor, and the offset from the value of the configuration register holding the start location is simply the queue number multiplied by four.
A queue server matrix 30 is shown in Fig. 2. It controls the order in which queues are serviced. Its location and maximum size (1024 elements) are indicated by configuration registers. Each element (31 ) of the matrix holds eleven used fields. Each field is associated with a queue. The queues are checked in ascending order, i.e. the first queue checked is the most significant byte of the first word. Within each byte, only the least significant seven bits are meaningful, i.e. bits 6 to 0. The value in a field indicates the priority Level for the associated queue.
Storage pools of the queues are referred to as heaps, and consist of stacks of DRAM
addresses. There are twenty heaps maintained. The heap structure is implemented as a set of pointers kept internally and also the DRAM addresses which are stored in the SRAM. Initialisation of the heap involves programming up the pointers into SRAM for the top-of stack and start-of stack for each used heap, and then initialisation of the SRAM location between those two pointer values with a unique and valid set of DRAM
Locations. Configuration registers are used for programming the heap pointers.
These features provide excellent flexibility in the manner in which queues are set up and dynamically managed.
As shown in Fig. 1, the output cells of the queueing function are transferred to the line interface 1 S or the SAR interface 25.
In the opposite direction, cells received at the Line interface 1 ~ are passed to the mapping and policing functions 16 and 17. The cells are passed to the backplane interface 11. to the queueing function 1?. or are dropped. Again, the configuration registers store the initialisation information. SRAM tables are maintained by the functions 16 and 17.
There are five tables associated with the mapping function 16 as follows:

_g, - per port statistics table, - VCC connection table, - dequeue connection table, and - secondary mapping descriptor table.
Storage of these tables is set by the configuration registers. The per port statistics table I O stores information including the numbers of cells with invalid and disabled VPI/VCIs and with unsupported PTIs. It also includes the VPI/VCIs of the last disabled and invalid cells.
The VCC connection table contains the following information on a per connection basis:-mapping descriptor, received cell count, dropped cell count, and GCR.A words 1- 4.
The VPC connection table is identical, except that VPIs are used in place of VCIs.
The dequeue connection table has a maximum of 1024 entries and consists of 1024 32 bit mapping descriptors.
The secondary mapping descriptor table consists of 4096 32 bit entries. Each secondary mapping descriptor is 14 bits long, as set out below.

_g_ Field Name Size Bit Position Reserved I 8 14-31 map vpi 1 13 cell routing 3 1 0-12 vci,map 10. 0_9 Referring now to the three UTOPIA interfaces 11, 15, and 25, Fig. 3 shows an overview.
AlI of the interfaces use the appropriate Start-of Cell (SOC) signal to initialise cell reception from an external source. Each interface counts octets and an error indication is given when a SOC is activated at an unexpected time. This gives a warning of malformed cells entering the ASIC whilst providing a mechanism to recover at the next cell boundary. Short cells are discarded, whilst long cells are truncated and passed on.
Both cause an error indication. Before cells are transferred internally, they are synchronised to the internal common system clock "sys clk". A phase locked loop (PLL) 1 S 40 provides the internal clock signal from an external microprocessor 42.
A SAR device 43 is shown connected to the SAR interface 2~. Also, line and backplane devices 44 and 45 are shown connected to their respective interfaces.
It will be appreciated that the invention provides for very efficient processing of ATM
cells between a line and a backplane. Varying rates of cell transfer are .handled effectively by the queueing mechanism. The circuit also supports many different services by efficiently routing cell streams. The circuit also allows policing functions to be implemented very efficiently with little effect on cell transfer rates.
2~ The invention is not limited to the embodiments described, but may be varied in construction and detail within the scope of the claims.

Claims (17)

Claims
1. An ATM cell processor comprising a line interface, a backplane interface, and a processing means between the interfaces fox processing cells according to their headers, characterised in that:-the processing means comprises a segmentation and reassembly (SAR) interface (25);

the processing means comprises a queueing function (12) comprising means for controlling transfer of cells to the line interface (15) and to the SAR
interface (25) according to the cell headers; and the processing means further comprises a mapping function (16) comprising means for changing cell headers during transfer from the line interface (15) to the backplane interface (11) according to mapped cell destinations.
2. An ATM cell processor as claimed in claim 1, wherein the queueing function (12) comprises means for receiving control cells from the SAR interface (25).
3. An ATM cell processor as claimed in claims 1 or 2, wherein the processing means further comprises a cell memory controller (13) for interfacing with an external cell memory, and the queueing function (12) comprises means for accessing a cell memory via said controller (13).
4. An ATM cell processor as claimed in any preceding claim, wherein the processing means further comprises a control memory controller (14) for interfacing with an external control memory, and the queueing function (12) comprises means for accessing a control memory via said controller (14).
5. An ATM cell processor as claimed in claims 3 or 4, wherein the queueing function (12) comprises means for dequeueing from a cell memory and for tracking the cells using pointer information retrieved from a control memory.
6. An ATM cell processor as claimed in claims 4 or 5, wherein the processing means further comprises a configuration and status function (21) connected to the queueing function (12) and to the control memory controller (14), and means (20) for allowing an external microprocessor access said control memory for initial setup and configuration and subsequent status monitoring.
7. An ATM cell processor as claimed in any preceding claim, wherein the queueing function (12) comprises means for managing path descriptor tables (30) in a control memory.
8. An ATM cell processor as claimed in claim 7, wherein the queueing function comprises means for using the VPI of an incoming cell to form an offset into the path descriptor table.
9. An ATM cell processor as claimed in any preceding claim, wherein the queueing function (12) comprises means for managing queue description tables, each relating to individual queues, in the control memory.
10. An ATM cell processor as claimed in any preceding claim, wherein the queueing function (12) comprises means for managing a queue server matrix, the location and size of which is indicated by configuration registers, and in which each element of the matrix stores a plurality of fields and each field is associated with a queue.
11. An ATM cell processor as claimed in claim 10, wherein the queueing function (12) comprises means for checking queues in ascending order in an element by starting with a most significant byte in the fields of each element.
12. An ATM cell processor as claimed in any preceding claim, wherein the queueing function (12) comprises means for maintaining a plurality of queue storage pool heaps by maintaining a set of pointers programmed using configuration registers.
13. An ATM cell processor as Claimed in any preceding claim, wherein the mapping function (16) comprises means for adding an additional header to a cell for internal control signalling.
14. An ATM cell processor as claimed in claim 13, wherein the mapping function (16) comprises means for passing cells to the queueing, function (12), for passing cells to the backplane interface (11), and for dropping cells.
15. An ATM cell processor as claimed in claim 14, wherein the mapping function (16) comprises means for maintaining tables in a control memory.
16. An ATM cell processor as claimed in claim 15, wherein the tables comprise a per port statistics table storing data indicating the numbers of cells with invalid and disabled VPI/VCIs and with unsupported PTIs.
17. An ATM cell processor as claimed in claim 15 or 16, wherein the tables comprise a VCC connection table containing the following information on a per connection basis:

mapping descriptor,
CA002315052A 1997-12-15 1998-12-15 An atm cell processor Abandoned CA2315052A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IE970888 1997-12-15
IE970888 1997-12-15
IE980712A IES980712A2 (en) 1997-12-15 1998-08-31 An ATM cell processor
IES980712 1998-08-31
PCT/IE1998/000106 WO1999031928A2 (en) 1997-12-15 1998-12-15 An atm cell processor

Publications (1)

Publication Number Publication Date
CA2315052A1 true CA2315052A1 (en) 1999-06-24

Family

ID=26320137

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002315052A Abandoned CA2315052A1 (en) 1997-12-15 1998-12-15 An atm cell processor

Country Status (6)

Country Link
EP (1) EP1040707A2 (en)
JP (1) JP2002509412A (en)
AU (1) AU1680499A (en)
CA (1) CA2315052A1 (en)
IE (1) IES980712A2 (en)
WO (1) WO1999031928A2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030067874A1 (en) * 2001-10-10 2003-04-10 See Michael B. Central policy based traffic management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3599392B2 (en) * 1994-12-15 2004-12-08 富士通株式会社 switch
EP0719065A1 (en) * 1994-12-20 1996-06-26 International Business Machines Corporation Multipurpose packet switching node for a data communication network
US5664116A (en) * 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
US6128303A (en) * 1996-05-09 2000-10-03 Maker Communications, Inc. Asynchronous transfer mode cell processing system with scoreboard scheduling

Also Published As

Publication number Publication date
AU1680499A (en) 1999-07-05
IES80918B2 (en) 1999-06-30
WO1999031928A2 (en) 1999-06-24
IES980712A2 (en) 1999-06-30
JP2002509412A (en) 2002-03-26
WO1999031928A3 (en) 1999-10-28
EP1040707A2 (en) 2000-10-04

Similar Documents

Publication Publication Date Title
US6724767B1 (en) Two-dimensional queuing/de-queuing methods and systems for implementing the same
US6483839B1 (en) Apparatus and method for scheduling multiple and simultaneous traffic in guaranteed frame rate in ATM communication system
US6414963B1 (en) Apparatus and method for proving multiple and simultaneous quality of service connects in a tunnel mode
US5889779A (en) Scheduler utilizing dynamic schedule table
US5724358A (en) High speed packet-switched digital switch and method
EP0785698B1 (en) Buffering of multicast cells in switching networks
EP0652685B1 (en) Asynchronous transfer mode switching device
EP1364552B1 (en) Switching arrangement and method with separated output buffers
EP0886454B1 (en) Method and apparatus to expand an on-chip FIFO into a local memory
US5991295A (en) Digital switch
US5600820A (en) Method for partitioning memory in a high speed network based on the type of service
US6262989B1 (en) Apparatus and method for providing different quality of service connections in a tunnel mode
US20030081624A1 (en) Methods and apparatus for packet routing with improved traffic management and scheduling
WO2000052858A1 (en) Method and apparatus for managing multiple atm cell queues
EP0864215A1 (en) Cell queuing in atm switches
JPH07297842A (en) Method and equipment for rearranging incoming-call interleaving asynchronous transfer-mode cell
US6310875B1 (en) Method and apparatus for port memory multicast common memory switches
US5495478A (en) Apparatus and method for processing asynchronous transfer mode cells
US6463485B1 (en) System for providing cell bus management in a switch platform including a write port cell count in each of a plurality of unidirectional FIFO for indicating which FIFO be able to accept more cell
CA2315052A1 (en) An atm cell processor
IE981056A1 (en) An ATM Cell Processor
US7039057B1 (en) Arrangement for converting ATM cells to infiniband packets
US20020027909A1 (en) Multientity queue pointer chain technique
US6967961B1 (en) Method and apparatus for providing programmable memory functions for bi-directional traffic in a switch platform
JPH05336153A (en) Cell transfer queue configuration system and cell transfer queue circuit

Legal Events

Date Code Title Description
FZDE Discontinued