4 General

25.3223GPPRadio Link Control (RLC) protocol specificationRelease 17TS

4.1 Objective

This subclause describes the architecture of the RLC sublayer.

4.2 Overview of the RLC sublayer architecture

The model presented in this subclause is intended to support the definition of the RLC sublayer only, and is not meant to specify or constrain the implementation of the protocol. The RLC sublayer consists of RLC entities, of which there are three types: Transparent Mode (TM), Unacknowledged Mode (UM), and Acknowledged Mode (AM) RLC entities.

4.2.1 Model of the RLC sublayer

Figure 4.1 illustrates different RLC entities in the RLC model.

An UM and a TM RLC entity can be configured to be a transmitting RLC entity or a receiving RLC entity. The transmitting RLC entity transmits RLC PDUs and the receiving RLC entity receives RLC PDUs. An AM RLC entity consists of a transmitting side, and a receiving side, where the transmitting side of the AM RLC entity transmits RLC PDUs and the receiving side of the AM RLC entity receives RLC PDUs.

Elementary procedures (see clause 11) are defined between a "Sender" and a "Receiver". In UM and TM, the transmitting RLC entity acts as a Sender and the peer RLC entity acts as a Receiver. An AM RLC entity acts either as a Sender or as a Receiver depending on the elementary procedure. The Sender is the transmitter of AMD PDUs and the Receiver is the receiver of AMD PDUs. A Sender or a Receiver can reside at either the UE or the UTRAN.

There is one transmitting and one receiving RLC entity for each transparent mode (TM) and unacknowledged mode (UM) service. There is one combined, transmitting and receiving entity for the acknowledged mode (AM) service.

In the present document, "transmitted" is equivalent to "submitted to the lower layer" unless otherwise explicitly stated. Each RLC UM, and TM entity uses one logical channel to send or receive data PDUs. An AM RLC entity can be configured to use one or two logical channels to send or receive data and control PDUs. If two logical channels are configured, they are of the same type (DCCH or DTCH). In figure 4.1, the dashed lines between the AM-Entities illustrate the possibility to send and receive RLC PDUs on separate logical channels, e.g. control PDUs on one and data PDUs on the other. A more detailed description of the different entities is given in subclauses 4.2.1.1, 4.2.1.2 and 4.2.1.3.

Figure 4.1: Overview model of the RLC sublayer

4.2.1.1 Transparent mode (TM) RLC entities

Figure 4.2 below shows the model of two transparent mode peer RLC entities. The logical channels used to communicate with the lower layer are described in the figure below.

Figure 4.2: Model of two transparent mode peer entities

4.2.1.1.1 Transmitting TM RLC entity

The transmitting TM-RLC entity receives RLC SDUs from upper layers through the TM-SAP.

All received RLC SDUs must be of a length that is a multiple of one of the valid TMD PDU lengths.

If segmentation has been configured by upper layers and a RLC SDU is larger than the TMD PDU size used by the lower layer for that TTI, the transmitting TM RLC entity segments RLC SDUs to fit the TMD PDUs size without adding RLC headers. All the TMD PDUs carrying one RLC SDU are sent in the same TTI, and no segment from another RLC SDU are sent in this TTI.

If segmentation has not been configured by upper layers, then more than one RLC SDU can be sent in one TTI by placing one RLC SDU in one TMD PDU. All TMD PDUs in one TTI must be of equal length.

When the processing of a RLC SDU is complete, the resulting one or more TMD PDU(s) are/is submitted to the lower layer through either a BCCH, DCCH, PCCH, CCCH, SHCCH or a DTCH logical channel.

4.2.1.1.2 Receiving TM RLC entity

The receiving TM-RLC entity receives TMD PDUs through the configured logical channels from the lower layer. If segmentation is configured by upper layers, all TMD PDUs received within one TTI are reassembled to form the RLC SDU.

If segmentation is not configured by upper layers, each TMD PDU is treated as a RLC SDU.

The receiving TM RLC entity delivers RLC SDUs to upper layers through the TM-SAP.

4.2.1.2 Unacknowledged mode (UM) RLC entities

Figure 4.3 below shows the model of two unacknowledged mode peer RLC entities when duplicate avoidance and reordering is not configured. The different functions shown in Figure 4.3 below apply to different logical channel types as described in subclause 6.1.

Figure 4.3: Model of two unacknowledged mode peer entities configured for use without duplicate avoidance and reordering

Figure 4.3a below shows the model of two unacknowledged mode peer RLC entities configured for duplicate avoidance and reordering. Because duplicate avoidance and reordering is only specified for MTCH/CCCH in this release, ciphering/ deciphering is omitted.

Figure 4.3a: Model of two unacknowledged mode peer entities configured for use with duplicate avoidance and reordering

4.2.1.2.1 Transmitting UM RLC entity

The transmitting UM-RLC entity receives RLC SDUs from upper layers through the UM-SAP.

The transmitting UM RLC entity segments the RLC SDU into UMD PDUs of appropriate size, if the RLC SDU is larger than the length of available space in the UMD PDU. The size of the UMD PDUs after segmentation and/or concatenation shall be smaller than or equal to the largest UL UMD PDU size. If MAC-i/is has been configured and the RLC PDU size is set to "flexible size", the size of the UMD PDUs after segmentation and/or concatenation shall be larger than or equal to the Minimum UL RLC PDU size. If data to be transmitted is not enough to create a UMD PDU of the minimum size, it is allowed to create a UMD PDU including all data to be transmitted, even if the resulting size is smaller than the Minimum UL RLC PDU size. The UMD PDU may contain segmented and/or concatenated RLC SDUs. UMD PDU may also contain padding to ensure that it is of a valid length. Length Indicators are used to define boundaries between RLC SDUs within UMD PDUs unless the "Extension bit" already indicates that a UMD PDU contains exactly one complete SDU. Length Indicators are also used to define whether Padding is included in the UMD PDU.

If ciphering is configured and started, an UMD PDU is ciphered (except for the UMD PDU header) before it is submitted to the lower layer.

The transmitting UM RLC entity submits UMD PDUs to the lower layer through either a CCCH, SHCCH, DCCH, CTCH, DTCH, MCCH, MSCH or an MTCH logical channel.

4.2.1.2.2 Receiving UM RLC entity

The receiving UM-RLC entity receives UMD PDUs through the configured logical channels from the lower layer. When duplicate avoidance and reordering is configured there may be one or more than one input from the lower layer. Inputs can be added or removed without changing the buffer contents, state variables or timers within the receiving UM RLC entity. Where duplicate avoidance and reordering is not configured there is only one input from the lower layer and it is not reconfigured.

When configured, duplicate avoidance and reordering is the first receive function that is applied to the input UMD PDU streams in the receiving UM RLC entity. It can only be configured in a UE, it is not used in UTRAN. It completes duplicate detection and re-ordering of the UMD PDUs that are received from the one or more inputs to produce a single ordered sequence of PDUs that is passed to the next in sequence RLC receiver function.

The receiving UM RLC entity deciphers (if ciphering is configured and started) the received UMD PDUs (except for the UMD PDU header). It removes RLC headers from received UMD PDUs, and reassembles RLC SDUs (if segmentation and/or concatenation has been performed by the transmitting UM RLC entity).

If a receiving UM RLC entity is configured for out of sequence SDU delivery, it will reassemble SDUs and transfer them to the upper layers as soon as all PDUs that contain the SDU have been received even if earlier PDUs have not yet been received. It will store PDUs pending the retransmission of missing PDUs by the transmitting UM RLC. PDUs are removed from storage after recovery of all of its associated SDUs, or by a sequence number window function or a storage timer. Out of sequence SDU delivery is configured only in the UE and is only used with MCCH.

RLC SDUs are delivered by the receiving UM RLC entity to the upper layers through the UM-SAP. If SN_Delivery is configured, the sequence number of RLC PDU in which RLC SDU is mapped to is also delivered to the upper layers through the UM-SAP.

4.2.1.3 Acknowledged mode (AM) RLC entity

Figure 4.4 below shows the model of an acknowledged mode RLC entity.

The AM RLC entity can be configured to utilise one or two logical channels. The figure 4.4 shows the model of the AM RLC entity when one logical channel (shown as a solid line) and when two logical channels (shown as dashed lines) are used.

If one logical channel is configured, the transmitting side of the AM RLC entity submits AMD and Control PDUs to the lower layer on that logical channel. If fixed RLC PDU size is configured the RLC PDU size shall be the same for AMD PDUs and control PDUs. If flexible RLC PDU size is configured the AMD PDU size is variable up to a maximum RLC PDU size.

In case two logical channels are configured in the uplink, AMD PDUs and control PDUs except acknowledgement status report, MRW ACK SUFI and WINDOW SUFI shall be transmitted on the first logical channel, and acknowledgement status reports, MRW ACK SUFI and WINDOW SUFI shall be transmitted on the second logical channel. In case two logical channels are configured in the downlink, AMD and Control PDUs can be transmitted on any of the two logical channels.

Figure 4.4: Model of an acknowledged mode entity

4.2.1.3.1 Transmitting side

The transmitting side of the AM-RLC entity receives RLC SDUs from upper layers through the AM-SAP.

If fixed RLC PDU size is configured, RLC SDUs are segmented and/or concatenated into AMD PDUs of a fixed length. The segmentation is performed if the received RLC SDU is larger than the length of available space in the AMD PDU. The uplink AMD PDU size is a semi-static value that is configured by upper layers and can only be changed through re-establishment of the AM RLC entity by upper layers.

If flexible RLC PDU size is configured, RLC SDUs are segmented and/or concatenated to create RLC PDUs larger than or equal to the Minimum UL RLC PDU size and smaller than or equal to the largest UL AMD PDU size. If data to be transmitted is not enough to create an AMD PDU of the minimum size, it is allowed to create an AMD PDU including all data to be transmitted, even if the resulting size is smaller than the Minimum UL RLC PDU size.

NOTE: In downlink, if flexible RLC PDU size is configured, RLC SDUs are segmented if the SDU is larger than the maximum RLC PDU size. Concatenation may be performed up to the maximum RLC PDU size.

The AMD PDU may contain segmented and/or concatenated RLC SDUs. The AMD PDU may also contain Padding to ensure that it is of a valid size. If fixed RLC PDU size is configured, Length Indicators or a special value of the HE field can be used to define boundaries between RLC SDUs within AMD PDUs. Length Indicators are also used to define whether Padding or Piggybacked STATUS PDU is included in the AMD PDU. If flexible RLC PDU size is configured, the Length Indicator size is configured by upper layers. The use of the special value of the HE field is configured by higher layers.

After the segmentation and/or concatenation are performed, the AMD PDUs are placed in the Retransmission buffer and at the MUX.

AMD PDUs buffered in the Retransmission buffer are deleted or retransmitted based on the status report found within a STATUS PDU or Piggybacked STATUS PDU sent by the peer AM RLC entity. This status report may contain positive or negative acknowledgements of individual AMD PDUs received by the peer AM RLC entity.

The MUX multiplexes AMD PDUs from the Retransmission buffer that need to be retransmitted, and the newly generated AMD PDUs delivered from the Segmentation/Concatenation function.

The PDUs are delivered to the function that completes the AMD PDU header and potentially replaces padding with piggybacked status information. A Piggybacked STATUS PDUs can be of variable size in order to match the amount of free space in the AMD PDU. The AMD PDU header is completed based on the input from the RLC Control Unit that indicates the values to set in various fields (e.g. Polling Bit). The function also multiplexes, if required, Control PDUs received from the RLC Control Unit (RESET and RESET ACK PDUs), and from the Reception buffer (Piggybacked STATUS and STATUS PDUs), with AMD PDUs.

The ciphering (if configured) is then applied to the AMD PDUs. The AMD PDU header is not ciphered. Piggybacked STATUS PDU and Padding in AMD PDU (when present) are ciphered. Control PDUs (i.e. STATUS PDU, RESET PDU, and RESET ACK PDU) are not ciphered.

The transmitting side of the AM RLC entity submits AMD PDUs to the lower layer through either one or two DCCH or DTCH logical channels.

4.2.1.3.2 Receiving side

The receiving side of the AM-RLC entity receives AMD and Control PDUs through the configured logical channels from the lower layer.

If fixed RLC PDU size is configured, the AMD PDU size is a semi-static value that is configured by upper layers and can only be changed through re-establishment of the AM RLC entity by upper layers. In the case where the AMD PDU size is not configured, it is determined based on the first PDU received. The downlink and uplink AMD PDU sizes need not be the same.

If flexible RLC PDU size is configured, the AMD PDU size is variable up to the maximum RLC PDU size, and the Length Indicator size is configured by upper layers.

AMD PDUs are routed to the Deciphering Unit, where AMD PDUs (minus the AMD PDU header) are deciphered (if ciphering is configured and started), and then delivered to the Reception buffer.

The AMD PDUs are placed in the Reception buffer until a complete RLC SDU has been received. The Receiver acknowledges successful reception or requests retransmission of the missing AMD PDUs by sending one or more STATUS PDUs to the AM RLC peer entity, through its transmitting side. If a Piggybacked STATUS PDU is found in an AMD PDU, it is delivered to the Retransmission buffer & Management Unit at the transmitting side of the AM RLC entity, in order to purge the buffer of positively acknowledged AMD PDUs, and to indicate which AMD PDUs need to be retransmitted.

Once a complete RLC SDU has been received, the associated AMD PDUs are reassembled by the Reassembly Unit and delivered to upper layers through the AM-SAP.

RESET and RESET ACK PDUs are delivered to the RLC Control Unit for processing. If a response to the peer AM RLC entity is needed, an appropriate Control PDU is delivered, by the RLC Control Unit to the transmitting side of the AM RLC entity. The received STATUS PDUs are delivered to the Retransmission buffer and Management Unit at the transmitting side of the AM RLC entity, in order to purge the buffer of positively acknowledged AMD PDUs, and to indicate which AMD PDUs need to be retransmitted.