Medium Access Control (MAC) in 3G/UMTS Protocol Stack
By Zahid Ghadialy
|
Introduction
MAC is a Layer 2 protocol and it
resides between Physical Layer (L1) and RLC. The internal configuration of
MAC is done by the RRC layer (L3). The interface between PHY and MAC are the
transport channels where as the interface between RLC and MAC are the logical
channels. MAC provides services to both User plane as well as Control plane.
MAC takes care of circuit switched as well as packet switch traffic and
signalling traffic as well.
Fig 1: Radio Interface Protocol Architecture
(Taken from 25.301, figure 2)
One important thing to remember is
that the MAC is not symmetrical protocol. It is different in UL and DL.
MAC Services
MAC sublayer provides following
services to the upper layers:
- Data Transfer: This service
provides unacknowledged transfer of MAC SDU's between peer MAC entities.
- Reallocation of radio
resources and MAC parameters: On request by RRC, MAC can change the
identity of the UE, change the transport format set, change the
transport channel type, etc.
- Reporting of Measurements:
Traffic volume measurements are performed in MAC and reported to RRC
MAC Functions
MAC Functions include:
- Mapping between logical
channels and transport channels
- Selection of appropriate
Transport Format for each Transport channel depending on instantaneous
source rate. Given the Transport Format Combination Set assigned by RRC,
MAC selects the appropriate transport format within an assigned
transport format set for each active transport channel depending on
source rate. The control of transport formats ensures efficient use of
transport channels.
- Priority handling between
data flows of one UE. When selecting between the Transport Format
Combinations in the given Transport Format Combination Set, priorities
of the data flows to be mapped onto the corresponding Transport Channels
can be taken into account.
- Priority handling between UEs
by means of dynamic scheduling. In order to utilise the spectrum
resources efficiently for bursty transfer, a dynamic scheduling function
may be applied. MAC realises priority handling on common and shared
transport channels.
- Identification of UEs on
common transport channels. When a particular UE is addressed on a common
downlink channel, or when a UE is using the RACH, there is a need for
inband identification of the UE. Since the MAC layer handles the access
to, and multiplexing onto, the transport channels, the identification
functionality is naturally also placed in MAC.
- Multiplexing/demultiplexing
of upper layer PDUs into/from transport blocks delivered to/from the
physical layer on common transport channels. MAC should support service
multiplexing for common transport channels, since the physical layer
does not support multiplexing of these channels.
- Multiplexing/demultiplexing
of upper layer PDUs into/from transport block sets delivered to/from the
physical layer on dedicated transport channels. The MAC allows service
multiplexing for dedicated transport channels. This function can be
utilised when several upper layer services (e.g. RLC instances) can be
mapped efficiently on the same transport channel. In this case the
identification of multiplexing is contained in the MAC protocol control
information.
- Traffic volume measurement.
Measurement of traffic volume on logical channels and reporting to RRC.
Based on the reported traffic volume information, RRC performs transport
channel switching decisions.
- Transport Channel type
switching. Execution of the switching between common and dedicated
transport channels based on a switching decision derived by RRC.
- Ciphering. This function
prevents unauthorised acquisition of data. Ciphering is performed in the
MAC layer for transparent RLC mode.
- Access Service Class
selection for RACH and CPCH transmission. The RACH resources (i.e.
access slots and preamble signatures for FDD, timeslot and channelisation
code for TDD) and CPCH resources (i.e. access slots and preamble
signatures for FDD only) may be divided between different Access Service
Classes in order to provide different priorities of RACH and CPCH usage.
In addition it is possible for more than one ASC or for all ASCs to be
assigned to the same access slot/signature space. Each access service
class will also have a set of back-off parameters associated with it,
some or all of which may be broadcast by the network. The MAC function
applies the appropriate back-off and indicates to the PHY layer the RACH
and CPCH partition associated to a given MAC PDU transfer.
Channel Structure
Before discussing anything
further, we should look at the channel structures for Layer 1, MAC and RLC.
The Transport Channels are interface between MAC and Layer 1, while Logical
Channels are interface between MAC and RLC.
Transport channels can be further
subdivided into Common Transport Channels (where there is need for inband
identification of the UEs when particular UEs are addressed); and dedicated
transport channels (where the UEs are identified by the physical channel,
i.e. code and frequency for FDD and code, time slot and frequency for TDD).
Common transport channel types
are:
- Random Access Channel (RACH):
A contention based uplink channel used for transmission of relatively
small amounts of data, e.g. for initial access or non-real-time
dedicated control or traffic data.
- Common Packet Channel (CPCH):
A contention based channel used for transmission of bursty data traffic.
This channel only exists in FDD mode and only in the uplink direction.
The common packet channel is shared by the UEs in a cell and therefore,
it is a common resource. The CPCH is fast power controlled.
- Forward Access Channel
(FACH): Common downlink channel without closed-loop power control used
for transmission of relatively small amount of data.
- Downlink Shared Channel
(DSCH): A downlink channel shared by several UEs carrying dedicated
control or traffic data.
- Uplink Shared Channel (USCH):
An uplink channel shared by several UEs carrying dedicated control or
traffic data, used in TDD mode only.
- Broadcast Channel (BCH): A
downlink channel used for broadcast of system information into an entire
cell.
- Paging Channel (PCH): A
downlink channel used for broadcast of control information into an
entire cell allowing efficient UE sleep mode procedures. Currently
identified information types are paging and notification. Another use
could be UTRAN notification of change of BCCH information.
- High Speed Downlink Shared
Channel (HS-DSCH): A downlink channel shared between UEs by allocation
of individual codes, from a common pool of codes assigned for the
channel.
Dedicated transport channel types
are:
- Dedicated Channel (DCH): A
channel dedicated to one UE used in uplink or downlink.
A general classification of
logical channels is into two groups; Control Channels (for the transfer of
control plane information) and Traffic Channels (for the transfer of user
plane information).
Control Channels:
- Broadcast Control Channel
(BCCH): A downlink channel for broadcasting system control information.
- Paging Control Channel
(PCCH): A downlink channel that transfers paging information. This
channel is used when the network does not know the location cell of the
UE, or, the UE is in the cell connected state (utilising UE sleep mode
procedures).
- Common Control Channel
(CCCH): Bi-directional channel for transmitting control information
between network and UEs. This channel is commonly used by the UEs having
no RRC connection with the network and by the UEs using common transport
channels when accessing a new cell after cell reselection.
- Dedicated Control Channel
(DCCH): A point-to-point bi-directional channel that transmits dedicated
control information between a UE and the network. This channel is
established through RRC connection setup procedure.
- Shared Channel Control
Channel (SHCCH): Bi-directional channel that transmits control
information for uplink and downlink shared channels between network and
UEs. This channel is for TDD only.
Traffic Channels:
- Dedicated Traffic Channel
(DTCH): A Dedicated Traffic Channel (DTCH) is a point-to-point channel,
dedicated to one UE, for the transfer of user information. A DTCH can
exist in both uplink and downlink.
- Common Traffic Channel
(CTCH): A point-to-multipoint unidirectional channel for transfer of
dedicated user information for all or a group of specified UEs.
The mappings of Logical channels
to transport channels is shown in the diagram below.
Fig. 2: Logical channels mapped onto transport channels, seen from the UE
side
(Taken from 25.301, figure 4)
Fig. 3: Logical channels mapped onto transport channels, seen from the UTRAN
side
(Taken from 25.301, figure 5)
MAC Entities
As mentioned earlier, the MAC
protocol is not symmetrical in UL and DL. The MAC entities might be present
in the UL and/or DL. The functional entities are as follows:
- MAC-b: Mac-b represents the
control entity for the broadcast channel (BCH). There is one (current
cell) or multiple (current cell plus neighbouring cells) MAC-b entities
in each UE and one MAC_b in the UTRAN for each cell. The MAC Control SAP
is used to transfer Control information to MAC-b.
- MAC-c/sh: MAC-c/sh handles
the paging channel (PCH), the forward access channel (FACH), the random
access channel (RACH), common packet channel (UL CPCH) that exists in
FDD mode, the downlink shared channel (DSCH) and the uplink shared
channel that exists in TDD mode. There is one MAC-c/sh entity in each UE
and one in UTRAN for each cell.
- MAC-d: MAC-d handles the
dedicated transport channel (DCH). There is one MAC-d entity in the UE
and one MAC-d entity in the UTRAN for each UE that has one or more
dedicated logical channels to or from the UTRAN.
- MAC-hs: MAC-hs handles the
high speed downlink shared channel (HS-DSCH). There is one MAC-hs entity
in the UTRAN for each cell that supports HS-DSCH transmission.
Discussion of Functions of MAC
1. Ciphering of Transparent Mode
Radio Bearers
In case of TM RBs, RLC acts like a
pipe that transfers the data to the MAC layer without adding any headers.
Thus in this case Ciphering has to be performed in the MAC layer. In all
other cases (AM and UM RBs), Ciphering is performed in the RLC layer. The part
of MAC PDU that is ciphered is the MAC SDU as shown in the fig below.
Fig. 4: Ciphered part of MAC PDU
(Taken from 25.321, figure 11.5.1)
2. Traffic Volume Measurement for
Dynamic RB Control
Dynamic radio bearer control is
performed by RRC, based on the traffic volume measurements reported by MAC.
Traffic volume information is measured in MAC layer and the results are
reported from MAC layer to RRC layer. This concept can be explained with the
help of the diagram below.
UE-RRC
UE-RLC
UE-MAC UTRAN
-------
--------
----------
-------
| | | |
| Measurement Control
Message (Traffic Volume Meas) |
|<-------------------------------------------------------------------------- o:p="">-------------------------------------------------------------------------->
|
| | | |
| CMAC-Measure-REQ | | |
|------------------------------------------------->| |
| | MAC-Data-REQ | |
| |------------------------->| |
| | MAC-Data-REQ | |
|
|------------------------->| |
| CMAC-Measure-IND | |
|<------------------------------------------------- nbsp="" o:p="">------------------------------------------------->
| | | |
| Measurement Report (Traffic VOlume
Meas) | |
|-------------------------------------------------------------------------->|
| | | |
| | | |
At least every TTI, the MAC layer
shall receive from each RLC entity the value of its Buffer Occupancy (BO),
expressed in bytes. RRC can configure MAC to keep track of statistics (i.e.
raw BO, average of BO and variance of BO) on the BO values of all Radio
Bearers mapped onto a given transport channel. When the average or variance
are requested, an averaging interval duration will also be provided.
Every time the BO values are
reported to MAC, the UE shall verify whether an event was triggered or if a
periodic report is required. If reporting is required (multiple reports may
be triggered in a single TTI), the MAC shall deliver to RRC the reporting
quantities required for the corresponding RBs. In the case of average and
variance of BO, the averaging should be performed for the interval with the
configured duration ending at the time when the event was triggered.
3. Access Service Class Selection
for RACH Transmission
The physical RACH resources (i.e.
access slots and preamble signatures for FDD) may be divided between
different Access Service Classes in order to provide different priorities of
RACH usage. It is possible for more than one ASC or for all ASCs to be
assigned to the same access slot/signature space.
Access Service Classes are
numbered in the range 0 £ i £ NumASC £ 7 (i.e. the maximum number of ASCs is
8). An ASC is defined by an identifier i that defines a certain partition of
the PRACH resources and an associated persistence value Pi. A set of ASC
parameters consists of NumASC+1 such parameters (i, Pi), i = 0, …, NumASC.
The PRACH partitions and the persistence values Pi are derived by the RRC
protocol from system information. The set of ASC parameters is provided to
MAC with the CMAC-Config-REQ primitive. The ASC enumeration is such that it
corresponds to the order of priority (ASC 0 = highest priority, ASC 7 =
lowest priority). ASC 0 shall be used in case of Emergency Call or for
reasons with equivalent priority.
At radio bearer
setup/reconfiguration each involved logical channel is assigned a MAC Logical
channel Priority (MLP) in the range 1,…,8. When the MAC sublayer is
configured for RACH transmission in the UE, these MLP levels shall be
employed for ASC selection on MAC.
The following ASC selection scheme
shall be applied, where NumASC is the highest available ASC number and MinMLP
the highest logical channel priority assigned to one logical channel:
- in case all TBs in the TB set
have the same MLP, select ASC = min(NumASC, MLP);
- in case TBs in a TB set have
different priority, determine the highest priority level MinMLP and
select ASC = min(NumASC, MinMLP).
When an RRC CONNECTION REQUEST
message is sent RRC determines ASC by means of the access class. The ASC to
be used in these circumstances is signalled to MAC by means of the
CMAC-CONFIG-REQ message.
If MAC has knowledge of a U-RNTI
then the ASC is determined in the MAC entity. If no U-RNTI has been indicated
to MAC then MAC will use the ASC indicated in the CMAC-CONFIG-REQ
primitive.
4. Transport format combination
selection in UE
RRC can control the scheduling of
uplink data by giving each logical channel a priority between 1 and 8, where
1 is the highest priority and 8 the lowest. TFC selection in the UE shall be
done in accordance with the priorities indicated by RRC. Logical channels
have absolute priority, i.e. the UE shall maximise the transmission of higher
priority data. Hence higher priority data flows will be given higher bit rate
combinations while lower priority data flows will have to use low bit rate
combinations. Note that zero bit rate is a special case of low bit rate
combination.
MAC has to derive the priority
parameters from two sources:
- The buffer occupancy
parameter received from RLC
- MAC logical channel priority
received from RRC
A given TFC can be in any of the
following states:
- Supported state;
- Excess-power state;
- Blocked state.
Fig. 5. State transitions for the state of a given TFC
(Taken from [1], fig. 11.4.1)
UEs in CELL_FACH state may
estimate the channel path loss and set to excess power state all the TFCs
requiring more power than the Maximum UE transmitter power. All other TFCs
shall be set to Supported state.
Every time the set of supported
TFCs changes, the available bitrate shall be indicated to upper layers for
each logical channel in order to facilitate the adaptation of codec data
rates when codecs supporting variable-rate operation are used. The details of
the computation of the available bitrate and the interaction with the
application layer are not further specified.
At Radio Bearer Setup (or
Reconfiguration), each logical channel is assigned MAC logical channel
prioroty (MLP) in rage 1-8 by RRC. MAC has to then select a TFC that can
transmit as much as and as high priority data as possible. In a noisy cell, a
high priority TFC can be blocked if its use would cause the UE to transmit
more power than the UEs current maximum transmitter power.
References:
[1] 3GPP TS 25.321: Medium Access
Control (MAC) protocol specification
[2] 3GPP TS 25.301: Radio
Interface Protocol Architecture
[3] 3GPP TS 23.110: UMTS Access
Stratum; Services and Functions
[4] 3GPP TS 25.401: RAN Overall
Description