NR RLC(1) overview

I have more or less summarized the PHY, MAC and PDCP parts before, and now I am starting to summarize the study notes of the NR RLC part. RLC is a very important layer. In the actual UE problem handling, I often check the sending and receiving of RLC. The situation, while NR RLC corresponds to 38.322, the whole spec is not much (more than 30 pages), and I studied it as early as 2019, and now I will review the past and learn new things (I almost forgot about it).....

In this article, I will look at RLC from the perspective of general functions, and I will talk about the specific details later. Let’s first look at the NR user plane DL protocol architecture, and roughly look at the role of RLC. As shown in the figure below, many sub layers are similar to LTE, but there are differences. One of the differences is the QoS processing in NR. When connected to the 5G core network, SDAP The layer will receive the configuration of one or more QoS flows, and then receive the corresponding IP packet. In the NSA scenario, the UE will connect to the user plane of the EPC, and SDAP will not be used at this time. In NR, not all scenarios will use every function in the figure below, for example, encryption will not be used for system messages. The NR user plane UL protocol architecture is similar to DL, but there are more or less differences...

0ac9814f357746d49532318f8a94ed81.png

 

 

The functions of each layer are briefly summarized as follows.

SDAP: This protocol layer is newly added in NR. It is responsible for mapping the QoS flow to the corresponding DRB and marking the QoS flow ID in the DL and UL packets.

PDCP: Performs IP header compression, encryption, and integrity protection. It also handles retransmissions, in-order delivery, and deduplication on handover. For DC scenarios, PDCP can also provide the duplication function to improve transmission reliability.

RLC: Responsible for segment and retransmission processing. RLC provides services to PDCP in the form of RLC channel. Each RLC channel is configured with one RLC entity. Compared with LTE, NR RLC does not support the function of sequentially transmitting data to PDCP. This change is mainly considered from the perspective of reducing delay.

MAC: handles multiplexing of logical channels, HARQ retransmission, and scheduling and scheduling-related functions. MAC provides services to RLC in the form of logical channels.

PHY: Handles encoding/decoding, modulation/demodulation, multi-antenna mapping, and other typical physical layer functions. The physical layer provides services to the MAC layer through different transport channels.

Let's focus on NR RLC.

1b5a7f7e624d4350a3325ab8b91cf955.png

In the 5G system, in order to meet different service requirements and meet the characteristics of service transmission, RLC supports three transmission modes: TM, UM and AM modes. The configuration of the RLC is performed based on the granularity of the logical channel, independent of the underlying SCS and the length of the Transmission Time Interval (Transmission Time Interval, TTI). RLC can process data packets with arbitrary SCS and TTI lengths configured on logical channels. The TM mode is mainly used for the transmission of paging messages, system information broadcast, and SRB0 signaling; other SRB signaling is transmitted in AM mode; the DRB used to transmit user data can be transmitted in AM mode or UM mode according to the service type, such as voice DRB generally uses UM mode to reduce latency.

c82e09ae0ee6422a8fb6d8dd41e83260.png

 The main services and functions of RLC are related to the transmission mode, including: transmission of PDCP PDUs; independent of PDCP for its own sequence number (UM and AM); AM can perform error correction through ARQ; AM and UM support RLC SDU segmentation, AM also supports re-segmentation; AM and UM can reassemble SDU; AM supports duplicate detection; AM and UM can discard RLC SDU; RLC reconstruction; AM supports Protocol error detection.

35bf997c3b434ff2802d19f9f4627cb4.png

 Among them, ARQ of RLC has the following characteristics: (1) ARQ will retransmit RLC SDU or RLC SDU segments according to RLC status reports; (2) trigger RLC status report for polling according to the scene; (3) RLC receiver detects some The RLC status report can also be triggered after the RLC SDU or RLC SDU segements are lost.

 

RLC entities

d3a035e646164defba63a417e8b4315f.png

 RLC configuration parameters are brought down through RRC layer signaling, and are usually included in RRC setup and RRC Reconfig.

The function of RLC sub layer is performed by RLC entities. The RLC entity configured by the gNB will be paired with the RLC entity on the UE side. For example, the gNB side is the UL sending RLC entity, and the UE side corresponds to the DL receiving RLC entity, and vice versa. RLC SDUs will be exchanged between the RLC entity and PDCP, and RLC will also exchange RLC PDUs with the peer RLC through the bottom layer.

5a4a3a6e9cfc492e9da1b73298dd5f3f.png

 The above figure is an example of the DL data flow of all protocol layers, which contains three IP packets, two on one RB x and one on another RB y. The RLC SDU on the right is fragmented and transmitted in two different TBs. SDAP maps IP packets to different RBs; in this example IP packets n and n+1 are mapped to RB x, and IP packet m is mapped to RB y. Usually data from or passed to a higher protocol layer is called an SDU, and correspondingly data from or passed to a lower protocol layer is called a PDU. Therefore, the output of PDCP is a PDCP PDU, which is equivalent to RLC SDU.

After the IP packet enters the SDAP, the SDAP header is added, and the SDAP PDU is generated. This PDU is the PDCP SDU. After PDCP processing, the PDCP header is added, and the PDCP PDU is generated. This PDU is an RLC SDU. After RLC processing, the RLC header is added to generate an RLC PDU. The RLC corresponding to RB Y on the right segmented the PDCP PDU and generated two RLC SDUs. The RLC PDUs of multiple RBs are processed at the MAC layer, and then multiple MAC PDUs are put into the same TB for transmission.

d8d9bdefb77c4fc0a114b0e86449c3fa.png

 The RLC protocol will segment the PDCP PDU when necessary, and add an RLC header containing a sequence number for handling retransmissions. Unlike LTE, NR RLC does not provide in-order delivery of packets to PDCP due to the additional delay caused by the reordering mechanism, which is not good for services that require very low latency. For example, when LTE RLC performs in-sequence delivery, unless all previous RLC SDUs have been received correctly, the SDUs cannot be forwarded to the PDCP. Due to the instantaneous interference burst, a single lost SDU will cause the receiving window to be stuck. Even if these SDUs are very useful to the upper layer, this situation will cause the subsequent SDUs to be unable to be transmitted to the PDCP in time for a period of time. Therefore, NR removes in-order transmission from RLC to help reduce the overall delay, so that subsequent data packets do not have to wait for the previously lost data packets to be received like LTE before they can be uploaded to PDCP. NR receives the RLC corresponding to SN After the SDU can be uploaded to PDCP immediately.

However, if sequential transmission is required, NR can provide the function of sequential transmission by the PDCP layer. After the RLC PDU is forwarded to the MAC layer, the MAC layer attaches the MAC header to multiple RLC PDUs and transmits them in the same transmission block. As shown in the figure above, the MAC header is distributed in the MAC PDU, so that a certain RLC PDU related to the MAC header will be immediately before another RLC PDU. 

This is also different from LTE. LTE will perform concatenation operation at the RLC layer, generate a header, and then pass it to the LTE MAC layer. Referring to the structure in NR, NR RLC will not perform concatenation, and MAC PDU can be "instantly" Assembling does not require concatenation of the RLC, but directly generates the corresponding MAC header for the RLC PDU, which will greatly reduce the processing time and overall delay.

6073c9f04d8c473cb0ed9311b0e2d3b5.png

RLC PDU is divided into RLC data PDU or RLC control PDU. If the RLC entity receives the RLC SDU from the PDCP, it is received through a single RLC channel between RLC and PDCP. After forming the RLC data PDU from the received RLC SDU, the RLC entity transmits the RLC data PDUs to the MAC through a single logical channel. . If the RLC entity receives the RLC data PDUs from the MAC, it is also received through a single logical channel here. After forming the RLC SDU from the received RLC data PDUs, the RLC entity then passes the RLC SDU to the PDCP through the single RLC channel. If the RLC and MAC layers transmit RLC control PDUs, they must use the same logical channel as the RLC data PDU.

61950f9a49f547a8a3a04446b3371227.png

 The RLC entity can configure one of the three modes of AM/TM/UM for data transmission. Therefore, according to the RLC entity configuration transmission mode, the RLC entity is classified into TM RLC entity, UM RLC entity or AM RLC entity.

The TM RLC entity is configured as a transmitting TM RLC entity or a receiving TM RLC entity. The transmitting TM RLC entity receives RLC SDUs from PDCP and sends RLC PDUs to its peer receiving TM RLC entity via MAC. The receiving TM RLC entity transmits RLC SDUs to PDCP and receives RLC PDUs from its peer transmitting TM RLC entity via MAC.

The UM RLC entity has the same content as the above TM RLC entity.

ba94dfb137c94069bc059e2ac5da1207.png

 AM RLC entity consists of transmitting side and receiving side. The transmitting side of the AM RLC entity receives the RLC SDU from PDCP and sends the RLC PDU to its peer AM RLC entity via MAC. The receiving side of the AM RLC entity transmits RLC SDUs to PDCP and receives RLC PDUs from its peer AM RLC entity via MAC. The above figure corresponds to a simplified diagram of the three transmission modes of the RLC sub layer.

In fact, the description of TM AM UM in the above section of the spec is an approximate process without involving details, so the content is basically the same, and it is somewhat repetitive.

238021adccc54a20b03572fcd012a256.png

The size of RLC SDUs is variable, but the size needs to be a multiple of 8 bits, and all RLC entity types (TM, UM, and AM RLC entities) support variable-sized RLC SDUs.

Each RLC SDU can construct an RLC PDU without waiting for the notification from the UL grant of the MAC. If the UL grant is not enough to send the generated RLC PDU, for UM and AM RLC entities, the RLC SDU can be segmented, and the RLC SDU can be transmitted with 2 or more RLC PDUs according to the ul grant from the MAC; only when the MAC notifies that there is When the UL grant is issued, the RLC PDU will be submitted to the MAC. When generating multiple MAC PDUs, the UE should avoid the situation that one MAC PDU contains too many discontinuous RLC PDUs.

Let's take a look at the description of the specific functions of each RLC entity.

TM RLC entity

28d7fa1294e3456291d5b906cd197d77.png

 TM RLC entity can send or receive RLC PDUs through logical channels such as BCCH, DL/UL CCCH, PCCH and SBCCH; the RLC data PDU sent or received by TM RLC entity is TMD PDU. The above figure corresponds to the two TM peer entity models, and corresponds to the description that the initial TM mode is mainly used for paging messages, system information broadcast and SRB0 signaling transmission.

9df93087ef2d40168d80d5b8e96596ab.png

When the transmitting TM RLC entity constructs RLC SDUs into TMD PDUs, it will not segment the RLC SDUs; it will not include any RLC headers in the TMD PDUs, it just does nothing and directly forwards the RLC SDUs. When the receiving TM RLC entity receives the TMD PDU, it will transmit the TMD PDU (RLC SDU) to the PDCP.

 

UM RLC entity

8a10a98f38c64af387456a4ac187b3ee.png

 UM RLC entity can send/receive RLC PDU through logical channels such as DL/UL DTCH, SCCH and STCH. SCCH and STCH correspond to V2X, and DTCH corresponds to mobile phones, which can be services such as voice or video; UM RLC entity The RLC data PDU sent and received corresponds to the UMD PDU.

A UMD PDU can contain a complete RLC SDU or an RLC SDU segment. The above figure corresponds to the models of two UM peer entities.

636ce4574a334f56b26dfbe8e92399e1.png

 The Transmitting UM RLC entity generates a UMD PDU for each RLC SDU; relevant RLC headers should be included in the UMD PDU. When the MAC notifies that there is a UL grant, the transmitting UM RLC entity should segment the RLC SDU as needed, and also need to update the RLC headers so that the corresponding UMD PDU can meet the size of the corresponding UL grant of the RLC PDU.

When a receiving UM RLC entity receives a UMD PDU, the RLC needs to detect whether the RLC SDU segment of the MAC layer is lost; reassemble the RLC SDU according to the received UMD PDU, and transmit the RLC SDU to the PDCP at an appropriate time; when the MAC When the layer loses UMD PDUs belonging to a specific RLC SDU and cannot be reassembled, such UMD PDUs must be discarded. UM pays more attention to real-time performance, such as voice services. Losing one or two packets will not have a particularly large impact on voice. Of course, the premise is that there will not be a large amount of packet loss. If there is a large amount of packet loss, there must be a problem in the transmission, and specific problems need to be analyzed in detail.

 

AM RLC entity

e3ec3ff8816b413f8d2d4ec69df9afea.png

 AM RLC entity can send and receive RLC PDU through DL/UL DCCH, DL/UL DTCH, SCCH and STCH logical channels. The RLC data PDU sent and received by AM RLC entity is AMD PDU; an AMD PDU contains a complete RLC SDU or an RLC SDU segment.

The AM RLC entity can also send and receive RLC control PDU, that is, STATUS PDU.

81560e6a54ea484bbc40f0ccb6a15e94.png

 The transmitting side of the AM RLC entity generates AMD PDUs for each RLC SDU. When the MAC notifies that there is a UL grant, the transmitting AM RLC entity will segment the RLC SDU when necessary, and update the RLC header as needed, so that the corresponding AMD PDU can meet the size of the corresponding UL grant of the RLC PDU.

The transmitting side of AM RLC entity supports retransmission of RLC SDU or RLC SDU segment through ARQ. If the RLC SDU or RLC SDU segment (including RLC header) to be retransmitted is larger than the UL grant size notified by MAC, AM RLC entity will send the RLC SDU Or the RLC SDU segment is re-segmented, and the number of re-segments is unlimited.

When the transmitting side of the AM RLC entity wants to generate an AMD PDU from the RLC SDU or RLC SDU segment, it should also include the relevant RLC header in the AMD PDU.

19aae57b529d48238f7b0da3e9266311.png

 When the receiving side of the AM RLC entity receives the AMD PDU, it must detect whether the same AMD PDU has been received repeatedly, and if so, discard the duplicate AMD PDU; it must also detect the loss of the AMD PDU of the MAC and request its peer AM RLC The entity is retransmitted; the received AMD PDU is also reassembled into the RLC SDU, and then the RLC SDU is sent to the PDCP after the conditions are met.

 

Services

0c4cf423634345ad9f01decc9b829479.png

 RLC can provide PDCP with TM/UM/AM data transmission, wherein AM transmission also includes an indication of successful PDCP PDU transmission.

RLC can also transmit data through MAC; when MAC has UL grant, it will notify RLC and inform the corresponding UL grant size, so that RLC can determine whether to perform segment operation.

c0930266cd5c4cdeaefd8352081fb83b.png

 Finally, the functions supported by RLC are summarized as follows: RLC can transmit PDCP PDU; in AM transmission, it can correct errors through ARQ; it can also segment and reassemble RLC SDU in UM and AM scenarios; in AM transmission scenarios, it can also perform RLC SDU For re-segmentation of the SDU segment, duplicate detection is also required. For duplicate AMD PDUs, discard processing is required, and Protocol error detection is also required. In UM transmission scenarios, the operation of RLC SDU discard can also be performed; RLC re-establishment is also required.

How to do the above functions will be explained slowly in the next article.

 

 

 

Guess you like

Origin blog.csdn.net/asd199086/article/details/130498576