Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
IMPROVED HANDLING OF ATM DATA
Document Type and Number:
WIPO Patent Application WO/2006/036124
Kind Code:
A1
Abstract:
There is provided an ATM (Asynchronous Transfer Mode) module for receiving ATM cells from a connection line providing a plurality of virtual channels and a method for the transmission of ATM data. The ATM module comprises a hardware module. Each ATM cell is assigned a virtual channel based on its higher layer QoS (Quality of Service) and the hardware module is arranged to map the channel of an ATM cell to its higher layer QoS. There is also provided a method and apparatus for reassembling AAL5 (ATM Adaptation Layer 5) messages for higher layer protocol. The method comprises the steps of providing an ATM SAR (Segmentation And Reassembly) module for receiving ATM cells across a plurality of channels; providing a processor connected to the ATM SAR module; the ATM SAR module detecting receipt of complete messages from the plurality of channels; the ATM SAR module distinguishing between low priority messages and high priority messages; for each low priority message: the processor reassembling the message via software control; and for each high priority message: the ATM SAR module reassembling the message via hardware control.

Inventors:
VOLKENING INGO (SG)
TAN NIAN HUANG (SG)
KRAUS JOECHEN (DE)
Application Number:
PCT/SG2004/000401
Publication Date:
April 06, 2006
Filing Date:
December 07, 2004
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INFINEON TECHNOLOGIES AG (SG)
VOLKENING INGO (SG)
TAN NIAN HUANG (SG)
KRAUS JOECHEN (DE)
International Classes:
H04L12/54; (IPC1-7): H04L12/56
Foreign References:
US20040057437A12004-03-25
EP0869695A11998-10-07
EP1333628A22003-08-06
Attorney, Agent or Firm:
Watkin, Timothy Lawrence Harvey (Tanjong Pagar P O Box 636, Singapore 6, SG)
Download PDF:
Claims:
Claims:
1. An ATM (Asynchronous Transfer Mode) module for receiving ATM cells from a connection line providing a plurality of virtual channels, the ATM module comprising a hardware module, wherein each ATM cell is assigned a virtual channel based on its higher layer QoS (Quality of Service) and wherein the hardware module is arranged to map the virtual channel of an ATM cell to the cell's higher layer QoS.
2. An ATM module according to claim 1 wherein the hardware module includes a DMA (Direct Memory Access) controller.
3. An ATM module according to claim 2 wherein each ATM cell is assigned a priority in accordance with the cell's higher layer QoS and wherein the DMA controller is arranged to receive the ATM cells in accordance with their priorities.
4. A method for the transmission of ATM (Asynchronous Transfer Mode) data, the method comprising the steps of: providing an ATM module for receiving ATM cells from a connection line providing a plurality of virtual channels, the ATM module comprising a hardware module; assigning a virtual channel to each ATM cell; assigning a QoS (Quality of Service) for higher layer protocol to each ATM cell; the hardware module mapping the virtual channel of an ATM cell received on the connection line to the cell's QoS for higher layer protocol.
5. A method according to claim 4 wherein the hardware module includes a DMA (Direct Memory Access) controller.
6. A method according to claim 5 wherein each ATM cell is assigned a priority in accordance with the cell's higher layer QoS and wherein the DMA controller is arranged to receive the ATM cells in accordance with their priorities.
7. A method for reassembling AAL5 (ATM Adaptation Layer 5) messages for higher layer protocol, the method comprising the steps of: providing an ATM SAR (Asynchronous Transfer Mode Segmentation And Reassembly) module for receiving ATM cells across a plurality of channels; providing a processor connected to the ATM SAR module; the ATM SAR module detecting receipt of complete messages from the plurality of channels; the ATM SAR module distinguishing between low priority messages and high priority messages; for each low priority message: the processor reassembling the message via software control; and for each high priority message: the ATM SAR module reassembling the message via hardware control.
8. A method according to claim 7 wherein the ATM SAR module comprises a hardware module for reassembling high priority messages.
9. A method according to claim 8 wherein the hardware module receives reassembly instructions for high priority messages from an instruction module connected to the hardware module.
10. A method according to any one of claims 7 to 9 wherein the plurality of channels comprises a plurality of xDSL channels.
11. Apparatus for reassembling AAL5 (ATM Adaptation Layer 5) messages for higher layer protocol, the apparatus comprising: an ATM SAR (Asynchronous Transfer Mode Segmentation And Reassembly) module for receiving ATM cells across a plurality of channels; and a processor connected to the ATM SAR module, wherein the ATM SAR module is arranged to detect receipt of complete messages from the plurality of channels, to distinguish between low priority messages and high priority messages and to reassemble high priority messages via hardware control; and the processor is arranged to reassemble low priority messages via software control.
12. Apparatus according to claim 11 wherein the ATM SAR module includes a hardware module for reassembling high priority messages.
13. Apparatus according to claim 12 further comprising an instruction module connected to the hardware module, the instruction module being arranged to provide reassembly instructions for the hardware module.
14. Apparatus according to any one of claims 11 to 13 wherein the plurality of channels comprises a plurality of xDSL channels.
Description:
Improvements in and relating to handling of ATM data

Field of the Invention

The invention relates to a method and apparatus for mapping virtual channels of ATM (Asynchronous Transfer Mode) data to QoS (Quality of Service) for higher layer protocol. The invention also relates to a method and apparatus for reassembling AAL5 (ATM Adaptation Layer 5) messages for higher layer protocol.

Background of the Invention

At present, the different WAN (Wide Area Network) hardware components in a system are usually capable of supporting QoS for different data streams. However, in home access broadband modems, it is not usual that QoS is completely implemented. Nevertheless, it is important that every component handling data traffic in the different network systems is capable of effectively supporting QoS to keep the overall delay variation at a minimum.

The DMA (Direct Memory Access) controller currently used in broadband access systems transfers data from the peripheral modules to the memory (RX direction) by serving each peripheral in a round-robin fashion and from the memory to the different peripheral modules (TX direction) also serving in a round-robin fashion. The DMA controllers are not aware of the priority of the transferred data even if the peripheral itself supports QoS.

Whilst this transfer mechanism has been good enough for pure data applications, it will not fulfill the requirements of future needs in home broadband systems.

In an application in which the broadband modem has to handle data streams which belong to different priority classes, the DMA controller must know the different priority classes so it can act accordingly and guarantee low delay variation. By adding QoS capabilities to the DMA controller used in home

access broadband systems, another component in the chain will foster a smaller delay variation.

The DMA controller must get the information about the priority class of data units prior to the data transfer either from the specific peripheral module (in RX data transfer) or from the embedded processor (in TX data transfer) through the descriptor list.

In many ATM arrangements, AAL5 messages are segmented into ATM cells and the different ATM cells are sent over a set of parallel low layer channels e.g. xDSL. In the existing arrangements for handling ATM packets from a plurality of xDSL, there is no QoS linking the different low layer channels to the higher layers. The decision of mapping incoming ATM packets to the higher layers is done, as they are received, by an internal processor and with status information provided by the ATM engine. The problem with this arrangement is that the internal processor is always interrupted for mapping the received packets to the desired channels at higher layers and the process may be slow if the internal processor is busy with higher priority tasks.

In addition, in the existing arrangements for handling ATM packets, a reassembling protocol is provided that detects reception of complete AAL5 messages and initiates reassembly of the messages. The reassembly process is software based and the problem with this arrangement is that the internal processor is always interrupted for every message received. Message reassembly will be slow if the internal processor is busy with other tasks. In addition, systems like this which rely on the processor capabilities may lead to overloading situations which will influence other real-time connection activities and could lead to packet loss.

Summary of the Invention

It is an object of the invention to provide an apparatus and method for mapping virtual channels of ATM data to QoS, which mitigates or substantially overcomes the problems of known arrangements described above. It is a further object of the invention to provide a method and apparatus for reassembling ATM AAL5 messages for higher layer protocol which mitigates or substantially overcomes the problems of known arrangements described above.

In general terms, a first aspect of the invention proposes that an ATM module is arranged to map the virtual channel of ATM data to QoS for higher layer protocol. The mapping is done via hardware in the ATM module. Because the mapping is implemented in hardware, the QoS is guaranteed. In addition, because the mapping is implemented in hardware, no external processor intervention is required, so the mapping is fast and reliable.

More specifically, according to a first aspect of the invention, there is provided an ATM module for receiving ATM cells from a connection line providing a plurality of virtual channels, the ATM module comprising a hardware module, wherein each ATM cell is assigned a virtual channel based on its higher layer QoS and wherein the hardware module is arranged to map the virtual channel of an ATM cell to the cell's higher layer QoS.

Thus, the ATM module is able to map the virtual channel of an ATM cell to its QoS for higher layer protocol. In the downstream direction, the ATM module maps the virtual channel to the QoS and serves the ATM data to higher protocol layers according to that QoS. Because the mapping is performed by the hardware module, virtual channels may be mapped to QoS without intervention of any processor. Since no outside intervention is required for mapping, the mapping may be performed quickly and QoS to higher layers is guaranteed because it is implemented in hardware.

The term "virtual channel" should be taken to comprise ATM virtual channels or virtual paths.

In one embodiment, the hardware module includes a DMA controller. In that embodiment, each ATM cell may be assigned a priority in accordance with the cell's higher layer QoS and the DMA controller may be arranged to receive the ATM cells in accordance with their priorities. The DMA controller may be arranged to prioritise traffic over a single port using a plurality of channels.

According to the first aspect of the invention, there is also provided a method for the transmission of ATM data, the method comprising the steps of: providing an ATM module for receiving ATM cells from a connection line providing a plurality of virtual channels, the ATM module comprising a hardware module; assigning a virtual channel to each ATM cell; assigning a QoS for higher layer protocol to each ATM cell; the hardware module mapping the virtual channel of an ATM cell received on the connection line to the cell's QoS for higher layer protocol.

Thus, the method allows the ATM module to map the virtual channel of an ATM cell to its QoS for higher layer protocol. In the downstream direction, the hardware module maps the virtual channel to the QoS and serves the ATM data to higher protocol layers according to that QoS. Because the mapping is performed by the hardware module, virtual channels may be mapped to QoS without intervention of any processor. Since no outside intervention is required for mapping, the mapping may be performed quickly and QoS to higher layers is guaranteed because it is implemented in hardware.

In one embodiment, the hardware module includes a DMA controller. In that embodiment of the invention, each ATM cell may be assigned a priority in accordance with the cell's higher layer QoS and the DMA controller may be arranged to receive the ATM cells in accordance with their priorities. The DMA

controller may be arranged to prioritise traffic over a single port using a plurality of channels.

In general terms, a second aspect of the invention proposes that the handling of incoming AAL5 messages be dealt with in one of two ways. An ATM SAR (Segmentation And Reassembly) module is able to detect receipt of complete messages and distinguish between the two types of traffic. Low priority messages are dealt with in the conventional way by the processor, via software control. The processor may be busy with other tasks, so these messages may be subject to delays. High priority messages (for instance real-time data e.g. video) are dealt with in the ATM SAR module itself, without intervention from the processor. Because the reassembly instructions for these messages are in the hardware itself, these high priority messages will be dealt with quickly.

More specifically, according to a second aspect of the invention, there is provided a method for reassembling AAL5 messages for higher layer protocol, the method comprising the steps of: providing a ATM SAR module for receiving ATM cells across a plurality of channels; providing a processor connected to the ATM SAR module; the ATM SAR module detecting receipt of complete messages from the plurality of channels; the ATM SAR module distinguishing between low priority messages and high priority messages; for each low priority message: the processor reassembling the message via software control; and for each high priority message: the ATM SAR module reassembling the message via hardware control.

Thus, the method supports dual-mode handling of incoming messages. For low priority messages, the message is reassembled in the conventional way, using software control in the adjoining processor. For high priority messages, the

message is reassembled in the ATM SAR module itself, without processor intervention, using hardware control.

High priority messages may include real-time messages, comprising for example video or voice data. Thus, the method is able to accord these messages a high priority and reassemble them first in the ATM SAR module itself. The high priority messages will not be delayed as the reassembly control information is in the hardware itself. Low priority messages are reassembled by the processor, which may be busy with other tasks.

In one embodiment, the ATM SAR module comprises a hardware module for reassembling high priority messages. The hardware module reassembles the high priority messages without intervention from the processor. In that embodiment, there may be provided an instruction module connected to the hardware module, the instruction module providing reassembly instructions for the hardware module. Thus, the hardware module receives reassembly instructions for high priority messages from the instruction module.

The plurality of channels may comprise a plurality of xDSL channels.

According to the second aspect of the invention, there is provided apparatus for reassembling AAL5 messages for higher layer protocol, the apparatus comprising: an ATM SAR module for receiving ATM cells across a plurality of channels; and a processor connected to the ATM SAR module, wherein the ATM SAR module is arranged to detect receipt of complete messages from the plurality of channels, to distinguish between low priority messages and high priority messages and to reassemble high priority messages via hardware control; and

the processor is arranged to reassemble low priority messages via software control.

Thus, the apparatus supports dual-mode handling of incoming messages. Low priority messages are reassembled in the conventional way by the processor, using software control. High priority messages are reassembled by the ATM SAR module itself, without processor intervention, using hardware control.

High priority messages may include real-time messages, comprising for example video or voice data. Thus, the apparatus is able to accord these messages a high priority and reassemble them first in the ATM SAR module itself. The high priority messages will not be delayed as the reassembly control information is in the hardware itself. The processor (which may be busy with other tasks) is arranged to reassemble low priority messages.

In one embodiment, the ATM SAR module includes a hardware module for reassembling high priority messages. The hardware module is arranged to reassemble the high priority messages without intervention from the processor. In that embodiment, the apparatus may further comprise an instruction module connected to the hardware module, the instruction module being arranged to provide reassembly instructions for the hardware module.

The plurality of channels may comprise a plurality of xDSL channels.

Brief Description of the Drawings

An embodiment of the invention will now be described with reference to accompanying drawings, which are illustrative examples only, of which:

Figure 1 is a schematic illustration of a DMA controller; Figure 2 is a schematic illustration showing operation of the DMA controller of Figure 1 ;

Figure 3 is a schematic illustration of RX transfer; Figure 4 is a schematic illustration of TX transfer;

Figure 5 is a block diagram of the DMA manager;

Figure 6 is a flow chart showing operation of the Descriptor manager;

Figure 7 is a schematic illustration of an embodiment of the invention, showing its two functions; Figure 8 is a detailed illustration of the first function of the embodiment of

Figure 7; and Figure 9 is a detailed illustration of the second function of the embodiment of Figure 7.

Detailed Description of the Preferred Embodiment

Figure 1 shows a DMA (Direct Memory Access) Controller 101. The DMA module 103 is divided into two main sections, the RX (receive) block 105 and the TX (transmit) block 107. Also within the DMA module 103 is an arbiter block 109, a DMA manager 111 and a descriptor manager 113. There is also shown a memory (SDRAM) 115, 1 to N peripheral modules 117(1 ) to 117(N) and an embedded processor 119.

The general operation of the DMA Controller 101 is as follows. The DMA Controller constantly scans the peripherals for new data and the descriptor list for new, unused data descriptors. The DMA controller starts to transfer the specific data unit that has the highest priority. When, during a TX or RX transfer, new data appears that has a higher priority , the current transfer will be stopped and the data with higher priority will be transferred. If two sets of data have the same priority, the transfer will be switched between the two data units. The more detailed operation is described below.

Full duplex functionality is supported and the operations of the RX block 105 and the TX block 107 are independent from one other but only one of them at a time has access to the SDRAM 115. (The operations of the RX and TX blocks are described in more detail below.) Access to the SDRAM 115 is controlled by the arbiter block 109. The priority transfer mechanism described above is accomplished by implementing priority arbitration scheme modules within the

DMA controller in both RX and TX directions. RX priority arbitration is done after every data burst into the memory and TX priority arbitration is done after every data burst into a specific peripheral. The burst transfer size is programmable for each direction. Thus, the maximum delay for a packet with the highest priority class to be served is the burst transfer time. Other priority classes are served accordingly.

Data transfers are done with the use of multiple logical channels which are assigned to certain peripheral modules 117(1) to 117(N) and certain priority classes. Four different priority classes can be support by a peripheral per direction and the different classes represent the following type of data:

Priority Class 0 Management Data

Priority Class 1 Voice Data Priority Class 2 Video Data

Priority Class 3 User Data

The amount of supported priority classes depends on the kind of peripheral, so the number of supported priority classes of a peripheral can vary from one down to four priorities in each direction. When a peripheral only supports one priority class in a specific direction, any priority class can be chosen for the specific data of this peripheral and direction.

The logical channels only exist in the control logic and in the specific assigned descriptor; the data transfer is really done within the Physical TX channel and the Physical RX channel. Thus, the DMA Controller is able to prioritise traffic on a single port by use of the priority arbitration mechanism and the logical channels.

Consider now the functions of the RX and TX blocks. The RX block is responsible for transferring data from a designated source peripheral 117(1 ) to 117(N) to the memory 115 (i.e. in the receive direction) using a specific logical

RX channel. Similarly the TX block is responsible for transferring data from the memory 115 to the designated peripheral 117(1 ) to 117(N) (i.e. in the transmit direction) using a specific TX channel. Activating logical channels and setting up specific logical channel descriptors is done by the embedded processor 119. The descriptor lists for the active logical channels are stored in the external memory.

The RX block is divided into three main blocks: the RX DMA SAI controller 121 , the RX FIFO 123 and the RX PA (Priority Arbitration) controller 125. The RX PA controller 125 is responsible for performing the priority arbitration between different data units (packets/cells) coming from the peripherals 117(1) to 117(N) and transferring the data from the selected peripheral to the RX FIFO 123. The RX DMA SAI controller 121 is responsible for transferring data from the RX FIFO 123 to the memory 115.

The TX block is divided into four main blocks: the TX DMA SAI controller 127, the TX PA controller 129, the TX FIFO 131 and the TX TXFER (Transfer) controller 133. The TX PA controller 129 is responsible for arbitrating between different data units (packets/cells) residing in the memory 115 and choosing a data unit to transfer. The TX DMA SAI controller 127 transfers the data units from the memory 115 into TX FIFO 131. Finally, the TX TXFER controller 133 is responsible for transferring the data units from TX FIFO 131 to the appropriate peripheral 117(1 ) to 117(N).

Thus, the DMA controller 101 is capable of moving data from peripheral modules 117(1 ) to 117(N) into the memory 115 (RX direction) and from the memory 115 into the peripheral modules 117(1 ) to 117(N) (TX direction) at burst length boundary and starting with data which has the highest priority. Figure 2 is a schematic illustration of the basic mechanism.

Figure 3 illustrates RX transfer in more detail. The upper portion of Figure 3 depicts RX data which is available at the peripherals 117(1 ) to 117(N) and is

ready to be transferred into the memory 115 (RX direction). The lower portion of Figure 3 shows schematically the memory as time progresses.

Initially, video data (priority 2) is being transferred to a certain memory location from peripheral X. Suddenly, new data is available from a different peripheral

(Y) and with a higher priority (priority 1 ) than the video data currently being transferred. So, the video data transfer is terminated after the ongoing burst and the data with the higher priority is started to be transferred. Once the priority 1 data from peripheral Y has been completely transferred, the transfer of the video data from peripheral X is completed.

Figure 4 illustrates TX transfer in more detail. The upper portion of Figure 4 depicts TX data which is available in the memory 115 and is ready to be transferred into one or more peripherals 117(1 ) to 117(N) (TX direction). The lower portion of Figure 4 shows schematically the memory as time progresses.

Initially, video data (priority 2) is being transferred from the memory to peripheral X. Suddenly, new data with a higher priority (priority 1) is available in the memory to be transferred into peripheral Y. So, the video data transfer is terminated after the ongoing burst and the data with the higher priority is started to be transferred. Once the priority 1 data has been completely transferred from the memory into peripheral Y, the transfer of the video data into peripheral X is completed.

Thus, it can be seen that having this priority arbitration mechanism in the RX direction allows the embedded processor to process the data units with higher priority earlier. The DMA controller informs the embedded processor about every complete transferred data unit into the memory with an interrupt.

In the TX direction, the embedded processor can activate new descriptor list entries without considering the status of ongoing DMA TX transfers. The QoS

feature of the DMA guarantees that the data unit of an enabled descriptor list entry, which has the highest priority will be served first.

The operation of the DMA manager 111 and of the Descriptor manager 113 will now be described in more detail.

Figure 5 shows a block diagram of the DMA manager 111. The DMA manager 111 includes a register block 501 , an interrupt block 503 and a bus adapter block 505. The DMA manager provides the control, configuration and status functions of the DMA module. The DMA manager interfaces with the embedded processor 119 through the bus adapter block 505. The interrupt block 503 generates various types of interrupts to the embedded processor. The register block includes interfaces to the RX block (specifically to the RX DMA SAI controller 121 and the RX PA controller 125) and to the TX block (specifically to the TX DMA SAI controller 127 and the TX PA controller 129) and to the descriptor manager 113.

The Descriptor manager 113 maintains the descriptor lists for all multiple logical channels, supported by the DMA. The descriptor list for any logical channel is organised as a set of descriptor list entries arranged in a circular buffer fashion and stored in the memory. Each logical channel will have one descriptor list. Each descriptor list entry is 64 bits long and contains a data pointer, a data length field and several control/status bits.

The data pointer points to the data section in the memory. The data length field in a TX descriptor indicates the number of bytes to be transmitted. The data length field in a RX descriptor serves two purposes: 1 ) while setting up the descriptor, the embedded processor writes the available space into the data length field and 2) when the descriptor is used up by the DMA, the DMA updates this field with the number of valid bytes written to the data section.

One important status/control bit of the descriptor list entry is the OWN bit which indicates ownership. When the descriptor list entry is not owned by the embedded processor, it cannot write or update the status in the descriptor but it can read the descriptor for checking the status. Similarly, when the descriptor list entry is not owned by the DMA module, it can only read the descriptor entry but not write or update it.

A major task of the Descriptor manager is servicing the descriptor requests from the RX DMA SAI controller 121 and the TX DMA SAI controller 127. The Descriptor manager must also process look-ahead descriptor list entry fetches and poll fetches of descriptor list entries which had earlier a descriptor-under- run.

In case the DMA controller 101 stops an ongoing transfer and starts a new transfer of data with higher priority, the Descriptor manager 113 must store the intermediate status of the serviced logical channel descriptor entry in the internal DMA Status Memory and must get the descriptor entry for the new serviced logical channel. The Descriptor manager 113 serves as the communication agent between the DMA module and the embedded processor, and provides the descriptor list entries when requested by the RX DMA SAI controller 121 and the TX DMA SAI controller 127.

Figure 6 is a flow chart showing operation of the Descriptor manager 113. Referring to Figure 6, the RX DMA SAI controller 121 and the TX DMA SAI controller 127 request descriptors for the logical channels that they are currently servicing (step 601 ). The Descriptor manager 113 arbitrates between the RX DMA SAI and the TX DMA SAI requests using a simple round robin arbitration scheme. Once the Descriptor manager 113 chooses a request to service, it checks whether the current descriptor list entry of the logical channel is currently used by the DMA (step 603). If it is already in use, then the Descriptor manager reads the descriptor from the internal DMA Status Memory (step 605) and the descriptor entry is returned to the requesting agent (step 607). If it is

not in use, the Descriptor manager 113 fetches the descriptor list entry from the memory (step 609) and waits for the descriptor (step 611 ). Once the descriptor list entry is read from the memory, the Descriptor manager 113 checks the ownership of the descriptor (step 613). If the descriptor is owned by the DMA, it returns the descriptor entry to the requesting agent (step 615). If the descriptor is not owned by the DMA i.e. is owned by the embedded processor, no descriptor status is given to the requesting agent and a Descriptor-Under-Run interrupt is generated to the embedded processor (step 617). The Descriptor- Under-Run status for the logical channels is given to the RX DMA SAI controller 121 and the TX DMA SAI controller 127. Hence, the RX DMA SAI and TX DMA SAI controllers are not supposed to request again for the descriptors until the Descriptor-Under-Run status is cleared by the embedded processor.

When the RX DMA SAI and the TX DMA SAI controllers have finished using the current descriptor list entry, they request the Descriptor manager 113 to do a

Status Update. The Descriptor manager 113 provides a round robin arbitration scheme between two status update requests. Once the status update request is chosen, the Descriptor manager checks the status (step 619). If the ongoing transfer has been completely finished (complete packet/cell), the Descriptor manager updates the descriptor list entry in the memory and generates the interrupt status signals to the Interrupt Module in the DMA Manager (step 621 ) .

If the ongoing transfer has not been finished, the Descriptor manager updates the intermediate status for the descriptor list entry in the internal DMA Status

Memory (step 623). The Descriptor Manager arbiter gives higher priority to the descriptor requests than the status update requests.

Thus, through the description of the DMA controller above, it can be seen that the DMA controller supports handling of QoS channels within a port. Thus, traffic through a single port can be prioritised.

Figure 7 is a schematic illustration of an embodiment of the invention. The arrangement provides two functions. Firstly, the arrangement allows the

mapping of higher layer QoS to the QoS channels provided by the DMA. This is performed by the QoS aware mapping hardware module 701. Secondly, the arrangement allows automatic reassembly of incoming AAL5 messages to higher layer protocol. This is performed by the auto-reassembly hardware module 703 in conjunction with the packets ID stack 705. The two functions will be described in more detail with reference to Figures 8 and 9.

Figure 8 shows the first function of Figure 7 in more detail. The DMA controller supports handling of different QoS channels within a port and this aspect of the invention makes use of this by mapping higher layer QoS to the QoS channels provided by the DMA. The DMA can prioritize traffic from a single port; this aspect of the invention takes advantage of this and also combines the work of the ATM Engine and internal processor into a single layer so that internal . processor intervention is not required for mapping.

In Figure 8, there are a plurality of xDSL channels 801 connected to the ATM module in the form ATM Engine 803. The ATM Engine 803 includes a hardware module 805 for QoS aware mapping to higher layers. The ATM Engine 803 is connected to internal processor 807.

The hardware module 805 is configurable to link the QoS required for higher layer protocol based on the ATM packets' VPs/VCs (Virtual Paths/Virtual Connections). The ATM Engine 803 is pre-configured to be QoS aware based on connection. This allows for direct mapping to upper layer protocol without the intervention of the internal processor.

Thus, the ATM packets' QoS are configurable based on the ATM VPs/VCs to upper layer protocol. The particular ATM packet's VC/VP across the lower layer channels allows the ATM Engine to determine the QoS required for higher layer protocol by mapping the VC/VP to the higher layer protocol QoS. It allows a fast and reliable mapping that does not require the intervention of the internal processor on the packets' arrival. The invention may be implemented on an

AMAZON-D chip, AMAZON-D being a trade mark of the assignee of the present invention.

Thus, it will be seen that the internal processor is not interrupted for mapping the packets to higher layer protocol as they arrive. The QoS to the higher layers is guaranteed for each of the VCs as it is pre-configured in hardware. The mapping is fast and re-mapping to different QoS is possible.

Figure 9 shows the second function of Figure 7 in more detail. There are a plurality of xDSL channels 901 connected to the ATM SAR module in the form of an ATM SAR Engine 903. The ATM SAR Engine 903 includes a hardware module 905 for auto re-assembly of incoming messages. The hardware module 905 has access to packets IDs in instruction module in the form of a packets ID stack 907. The ATM SAR Engine 903 is connected to processor 909.

AAL5 messages are segmented into ATM cells and transferred through the xDSL channels 901. As the ATM cells are received by the ATM SAR Engine 903, the hardware module 905 can automatically detect a complete message and start to reassemble the AAL5 message, without any intervention from the processor.

The ATM SAR Engine distinguishes between two types of traffic: software controlled reassembly (SCR) traffic which is accorded a low priority and hardware controlled re-assembly (HCR) traffic which is accorded a higher priority. Low priority, SCR traffic is reassembled by processor controlled reĀ¬ assembly in the conventional way. Higher priority, HCR traffic (e.g. real time traffic) is detected and automatically reassembled by the hardware module, the reassembly process instructions for the HCR traffic being stored in packets ID stack 907.

Thus, the hardware module in the ATM SAR Engine supports two modes (i.e. software and hardware controlled reassembly) of handling AAL5 messages. As

well as the conventional processor controlled re-assembly (SCR), the hardware module is provided to detect and automatically reassemble incoming messages, without any processor intervention (HCR). Incoming messages from different ATM Virtual Paths/Virtual Channels (VPs/VCs) can be configured for either mode of operation. The invention may be implemented on an AMAZON-D, M2361 chip, AMAZON-D being a trade mark of the assignee of the present invention.

Thus, it will be seen that dual-mode handling of messages is supported so that the internal processor is not interrupted for every AAL5 message. There is no packet loss for auto-reassembly traffic and the arrangement is capable of handling consecutive short self-reassembled AAL5 messages. The reassembly protocol is easy to implement and the arrangement is capable of switching quickly between modes on the fly.

Referring once again to Figure 7, it will be seen that the two aspects of the invention, as illustrated in Figures 8 and 9 respectively, may work alongside one another or independently. In the arrangement of Figure 7, on the one hand, the QoS aware mapping hardware module 701 is being mapped to the. ATM VCs/VPs and, on the other hand, the auto-reassembly hardware module 703 is automatically reassembling AAL5 messages. The AAL5 message reassembly will be taking place all the time and the auto-reassembly hardware module 703 does not care on which channel it sends out data. Thus, the second aspect of the invention can work independently from or in conjunction with the first aspect of the invention.