:::warning
# <center><i class="fa fa-edit"></i> 5G/NR - RLC</center>
:::
[TOC]
### Overview / Overall Functionality
As in LTE and WCDMA, NR RLC has three different mode : TM(Transparent Mode), UM(Unacknowledge Mode) and AM(Acknowledge mode). The details of each of these mode will be described later, but the very brief summary of key features of these mode is as follows:
- TM : No RLC Header, Buffering at Tx only, No Segmentation/Reassembly, No feedback (i.e, No ACK/NACK)
- UM : RLC Header, Buffering at both Tx and Rx, Segmentation/Reassembly, No feedback(i.e, No ACK/NACK)
- AM : RLC Header, Buffering at both Tx and Rx, Segmentation/Reassembly, Feedback(i.e, ACK/NACK)
Each of these mode can both transmit and receive data. In TM and UM, separate entity is used for transmission and reception, but in AM a single RLC entity perform both transmission and reception as illustrated below.
One important thing you need to pay attention to is that each of logical channels use a specific RLC mode as shown below:
- BCCH, PCCH, CCCH use RLC TM only.
- DCCH use RLC AM only.
- DTCH use RLC UM or AM. (Which mode is used for each DTCH channel ? This is determined by RRC message).

### TM Mode / Procedure
As you see in the following illustration. TM mode would mean 'almost no processing to RLC data'. The only thing it does is to buffer data on Tx side. There is no RLC header, No reordering, no segmentation, no reassembly is happening in this layer. Because of this 'no data processing' nature of TM mode, if you compare the RLC input and RLC output data of TM mode, you would see no difference between the two.
One important thing to keep in mind is that you need to pay attention to MAC/PHY resource allocation. Even if MAC/PHY resource is allocated smaller than the RLC packet, the RLC wouldn't care. It would just forward whatever it has to MAC/PHY. So those RLC data bigger than MAC/PHY resource may be chopped off or discarded.
Again another this to be noticed is that the local channel BCCH / PCCH / CCCH data is processed by this RLC mode.

### UM Mode / Procedure
UM stands for 'Unacknowledged Mode'. 'Unacknowledged Mode' means 'it does not require any reception response from the other party'. 'Reception response' simply mean 'ACK' or 'NACK' from the other party. (UM mode is similar to TM mode in that it does not require any ACK/NACK from the other party, but it is different from TM in that I has it's own header)
Let's read the operation on transmitting side first. If you just read (verbalize) the diagram:
- Buffering the data and generate RLC Header.
- Segmetation (Split a big chunk into a multiple small chunk) and Modify RLC Header (Some field in RLC header should be changed based on the segmentation status)
- Add RLC header
Then, read the operation on recieving side. If you just read (verbalize) the diagram:
- Buffering
- Reordering (Sometimes the chunks transmitted earlier from transmitter may arrive late at the reciever. In this case you have to reorder the incoming chunks into proper order for reassembly).
- Remove the RLC header (you would remember that the transmitter put the header to each of the chunk. So you have to remove this before you reassemble the data).
- Reassembly

### AM Mode / Procedure
'AM' stands for 'Acknowledge Mode'. As it's name implies it requires ACK/NACK from the other party. It is more like TCP packet in IP world, whereas RLC UM is more like UDP in IP world.
After RLC transmitter do the segmentation/concatenation process, it adds RLC header and then it creates two identical copies and transmit the one copy of the data out to lower layer (MAC) and send another copy to Retransmission buffer.
If the RLC get Nack or does not get any response from the other party for a certain period of time, the RLC packet (we call this RLC PDU) in the retransmission buffer gets transmitted again. If the RLC get ACK, the ones in retransmission buffer would be discarded.
