3GPP TS 36.322
3GPP TS 36.322
3GPP TS 36.322
0 (2007-12)
Technical Specification
3rd Generation Partnership Project; Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA) Radio Link Control (RLC) protocol specification (Release 8)
The present document has been developed within the 3rd Generation Partnership Project (3GPP TM) and may be further elaborated for the purposes of 3GPP. The present document has not been subject to any approval process by the 3GPP Organisational Partners and shall not be implemented. This Specification is provided for future development work within 3GPP only. The Organisational Partners accept no liability for any use of this Specification. Specifications and reports for implementation of the 3GPP TM system should be obtained via the 3GPP Organisational Partners' Publications Offices.
Release 8T
Keywords
UMTS, radio
Internet
http://www.3gpp.org
Copyright Notification No part may be reproduced except as authorized by written permission. The copyright and the foregoing restriction extend to reproduction in all media.
2007, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC). All rights reserved.
3GPP
Release 8T
Contents
Foreword ............................................................................................................................................................5 1 2 3
3.1 3.2
General .....................................................................................................................................................7
Introduction........................................................................................................................................................ 7 RLC architecture................................................................................................................................................ 7 RLC entities ................................................................................................................................................. 7 TM RLC entity ....................................................................................................................................... 8 General ................................................................................................................................................... 8 Transmitting TM RLC entity.................................................................................................................. 9 Receiving TM RLC entity ...................................................................................................................... 9 UM RLC entity....................................................................................................................................... 9 General ................................................................................................................................................... 9 Transmitting UM RLC entity ............................................................................................................... 10 Receiving UM RLC entity.................................................................................................................... 10 AM RLC entity..................................................................................................................................... 11 General ................................................................................................................................................. 11 Transmitting side .................................................................................................................................. 11 Receiving side ...................................................................................................................................... 12 Services............................................................................................................................................................ 12 Services provided to upper layers .............................................................................................................. 12 Services provided from lower layers.......................................................................................................... 12 Functions.......................................................................................................................................................... 12 Data transfer procedures .................................................................................................................................. 13 TM data transfer......................................................................................................................................... 13 UM data transfer ........................................................................................................................................ 13 AM data transfer ........................................................................................................................................ 15 ARQ procedures .............................................................................................................................................. 18 Retransmission ........................................................................................................................................... 18 Polling ........................................................................................................................................................ 19 Status reporting .......................................................................................................................................... 19 SDU discard procedures .................................................................................................................................. 20 Reset procedures .............................................................................................................................................. 20 Handling of unknown, unforeseen and erroneous protocol data...................................................................... 20
4.1 4.2 4.2.1 4.2.1.1 4.2.1.1.1 4.2.1.1.2 4.2.1.1.3 4.2.1.2 4.2.1.2.1 4.2.1.2.2 4.2.1.2.3 4.2.1.3 4.2.1.3.1 4.2.1.3.2 4.2.1.3.3 4.3 4.3.1 4.3.2 4.4
5
5.1 5.1.1 5.1.2 5.1.3 5.2 5.2.1 5.2.2 5.2.3 5.3 5.4 5.5
Procedures ..............................................................................................................................................13
6
6.1 6.1.1 6.1.2 6.2 6.2.1 6.2.1.1 6.2.1.2 6.2.1.3 6.2.1.4 6.2.1.5 6.2.1.6 6.2.2 6.2.2.1 6.2.2.2 6.2.2.3 6.2.2.4
3GPP
Release 8T
6.2.2.5 6.2.2.6 6.2.2.7 6.2.2.8 6.2.2.9 6.2.2.10 6.2.2.11 6.2.2.12 6.2.2.13 6.2.2.14 6.2.2.15 6.2.2.16 6.2.2.17 6.2.2.16 6.2.2.17
Length Indicator (LI) field.................................................................................................................... 27 [Segmentation Info (SI)] field .............................................................................................................. 27 Segment Offset (SO) field .................................................................................................................... 27 Last Segment Flag (LSF) field ............................................................................................................. 27 Data/Control (D/C) field....................................................................................................................... 28 Re-segmentation Flag (RF) field .......................................................................................................... 28 Polling bit (P) field ............................................................................................................................... 28 Reserved 1 (R1) field............................................................................................................................ 28 Control PDU Type (CPT) field............................................................................................................. 28 Acknowledgement SN (ACK_SN) field............................................................................................... 29 Extension bit 1 (E1) field...................................................................................................................... 29 Negative Acknowledgement SN (NACK_SN) field ............................................................................ 29 Extension bit 2 (E2) field...................................................................................................................... 29 SO start (SOstart) field ......................................................................................................................... 30 SO end (SOend) field ........................................................................................................................... 30 State variables.................................................................................................................................................. 30 Constants.......................................................................................................................................................... 31 Timers .............................................................................................................................................................. 32
7
7.1 7.2 7.2
Annex A (informative):
3GPP
Release 8T
Foreword
This Technical Specification has been produced by the 3rd Generation Partnership Project (3GPP). The contents of the present document are subject to continuing work within the TSG and may change following formal TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an identifying change of release date and an increase in version number as follows: Version x.y.z where: x the first digit: 1 presented to TSG for information; 2 presented to TSG for approval; 3 or greater indicates TSG approved document under change control. y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections, updates, etc. z the third digit is incremented when editorial only changes have been incorporated in the document.
3GPP
Release 8T
Scope
The present document specifies the E-UTRA Radio Link Control (RLC) protocol for the UE E-UTRAN radio interface. The specification describes: E-UTRA RLC sublayer architecture; E-UTRA RLC entities; services expected from lower layers by E-UTRA RLC; services provided to upper layers by E-UTRA RLC; E-UTRA RLC functions; elements for peer-to-peer E-UTRA RLC communication including protocol data units, formats and parameters; handling of unknown, unforeseen and erroneous protocol data at E-UTRA RLC.
References
References are either specific (identified by date of publication, edition number, version number, etc.) or non-specific. For a specific reference, subsequent revisions do not apply. For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same Release as the present document. [1] [2] 3GPP TR 21.905: "Vocabulary for 3GPP Specifications". 3GPP TS 36.300: "E-UTRA and E-UTRAN Overall Description; Stage 2".
The following documents contain provisions which, through reference in this text, constitute provisions of the present document.
3
3.1
For the purposes of the present document, the terms and definitions given in TR 21.905 [x] and the following apply. A term defined in the present document takes precedence over the definition of the same term, if any, in TR 21.905 [x]. byte segment: A byte of an AMD PDU. Specifically byte segment #0 corresponds to the first byte of the Data field of an AMD PDU. Data field element: An RLC SDU or an RLC SDU segment that is mapped to the Data field. RLC SDU segment: A segment of an RLC SDU.
3.2
AM AMD ARQ BCCH BCH
Abbreviations
Acknowledged Mode AM Data Automatic Repeat reQuest Broadcast Control CHannel Broadcast CHannel
For the purposes of the present document, the following abbreviations apply:
3GPP
Release 8T
CCCH DCCH DL DL-SCH DTCH E eNB E-UTRA E-UTRAN HARQ LI LSF MAC MCCH MTCH PCCH PDU RLC RRC SAP SDU [SI] SN SO TB TM TMD UE UL UM UMD
Common Control CHannel Dedicated Control CHannel DownLink DL-Shared CHannel Dedicated Traffic CHannel Extension bit E-UTRAN Node B Evolved UMTS Terrestrial Radio Access Evolved UMTS Terrestrial Radio Access Network Hybrid ARQ Length Indicator Last Segment Flag Medium Access Control Multicast Control CHannel Multicast Traffic CHannel Paging Control CHannel Protocol Data Unit Radio Link Control Radio Resource Control Service Access Point Service Data Unit Segmentation Info Sequence Number Segment Offset Transport Block Transparent Mode TM Data User Equipment UpLink Unacknowledged Mode UM Data
4
4.1 4.2
4.2.1
General
Introduction RLC architecture
RLC entities
The objective is to describe the RLC architecture and the RLC entities from a functional point of view.
The description in this sub clause is a model and does not specify or restrict implementations. RRC is generally in control of the RLC configuration. Functions of the RLC sub layer are performed by RLC entities. For a RLC entity configured at the eNB, there is a peer RLC entity configured at the UE and vice versa. An RLC entity receives/delivers RLC SDUs from/to PDCP and sends/receives RLC PDUs to/from its peer RLC entity via lower layers (i.e. MAC and physical layer). An RLC PDU can either be a RLC data PDU (see sub clause 6.1.1) or a RLC control PDU (see sub clause 6.2.1). If an RLC entity receives RLC SDUs from PDCP, it receives them through a single SAP between RLC and PDCP, and after forming RLC data PDUs from the received RLC SDUs, the RLC entity delivers the RLC data PDUs to MAC through a single logical channel. If an RLC entity receives RLC data PDUs from MAC, it receives them through a single logical channel, and after forming RLC SDUs from the received RLC data PDUs, the RLC entity delivers the RLC SDUs to PDCP through a single SAP between RLC and PDCP. If an RLC entity delivers/receives RLC control PDUs to/from MAC, it delivers/receives them through the same logical channel it delivers/receives the RLC data PDUs through. An RLC entity can be configured to perform data transfer in one of the following three modes: Transparent Mode (TM), Unacknowledged Mode (UM) or Acknowledged Mode (AM). Consequently, an RLC entity is categorized as a TM
3GPP
Release 8T
RLC entity, an UM RLC entity or an AM RLC entity depending on the mode of data transfer that the RLC entity is configured to provide. A TM RLC entity is configured either 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 lower layers. The receiving TM RLC entity delivers RLC SDUs to PDCP and receives RLC PDUs from its peer transmitting TM RLC entity via lower layers. An UM RLC entity is configured either as a transmitting UM RLC entity or a receiving UM RLC entity. The transmitting UM RLC entity receives RLC SDUs from PDCP and sends RLC PDUs to its peer receiving UM RLC entity via lower layers. The receiving UM RLC entity delivers RLC SDUs to PDCP and receives RLC PDUs from its peer transmitting UM RLC entity via lower layers. An AM RLC entity consists of a transmitting side and a receiving side. The transmitting side of an AM RLC entity receives RLC SDUs from PDCP and sends RLC PDUs to its peer AM RLC entity via lower layers. The receiving side of an AM RLC entity delivers RLC SDUs to upper layers and receives RLC PDUs from its peer AM RLC entity via lower layers. Figure 1 illustrates the overview model of the RLC sub layer.
Figure 4.2.1-1: Overview model of the RLC sub layer The following applies to all RLC entity types (i.e. TM, UM and AM RLC entity): RLC SDUs of variable sizes which are byte aligned (i.e. multiple of 8 bits) are supported; RLC data PDUs are formed from RLC SDUs received from PDCP and delivered to MAC only when a transmission opportunity has been notified by MAC; RLC control PDUs are formed within RLC and delivered to lower MAC only when a transmission opportunity has been notified by MAC.
4.2.1.1 4.2.1.1.1
A TM RLC entity can be configured to deliver/receive RLC PDUs through the following logical channels:
3GPP
Release 8T
Transmission buffer
BCCH/PCCH/CCCH
BCCH/PCCH/CCCH
Figure 4.2.1.1.1-1: Model of two transparent mode peer entities Editor's note: Whether TM RLC entity can be configured to transmit/receive RLC PDUs through BCCH (mapped on DL-SCH) is FFS. A TM RLC entity delivers/receives the following RLC data PDU: TMD PDU.
4.2.1.1.2
When a transmitting TM RLC entity forms TMD PDUs from RLC SDUs, it shall: Not segment nor concatenate the RLC SDUs; Not include any RLC headers in the TMD PDUs.
4.2.1.1.3
When a receiving TM RLC entity receives TMD PDUs, it shall: Deliver the TMD PDUs (which are just RLC SDUs) to PDCP.
4.2.1.2 4.2.1.2.1
An UM RLC entity can be configured to deliver/receive RLC PDUs through the following logical channels: DL CCCH, DL/UL DCCH, DL/UL DTCH, MCCH or MTCH.
3GPP
Release 8T
10
Figure 4.2.1.2.1-1: Model of two unacknowledged mode peer entities Editor's note: Whether UM RLC entity can be configured to transmit/receive RLC PDUs through BCCH (mapped on DL-SCH) logical channel is FFS. An UM RLC entity delivers/receives the following RLC data PDU: UMD PDU.
4.2.1.2.2
When a transmitting UM RLC entity forms UMD PDUs from RLC SDUs, it shall: Segment and/or concatenate the RLC SDUs in accordance to the TB size selected by MAC at the particular transmission opportunity notified by MAC; Include relevant RLC headers in the UMD PDU.
4.2.1.2.3
When a receiving UM RLC entity receives UMD PDUs, it shall: Reorder the UMD PDUs if they are received out of sequence; Detect the loss of UMD PDUs at lower layers and avoid excessive reordering delays; Reassemble RLC SDUs from the UMD PDUs that are received in sequence (not accounting for RLC PDUs for which losses have been detected) and deliver them to PDCP; Discard received UMD PDUs that cannot be re-assembled into a RLC SDU due to loss at lower layers of an UMD PDU which belonged to the particular RLC SDU.
At the time of inter eNB handover, the receiving UM RLC entity shall: If possible, reassemble RLC SDUs from the UMD PDUs that are received out of sequence and deliver them to PDCP;
3GPP
Release 8T
11
Discard any remaining UMD PDUs that could not be reassembled into RLC SDUs; Initialize relevant state variables and stop relevant timers. Editor's note: Whether duplicate detection needs to be supported for UM data transfer is FFS (this depends on BCCH (mapped on DL-SCH) transmission/reception scheme).
4.2.1.3 4.2.1.3.1
An AM RLC entity can be configured to deliver/receive RLC PDUs through the following logical channels: DL/UL DCCH or DL/UL DTCH.
Figure 4.2.1.3.1-1: Model of an acknowledged mode enttiy An AM RLC entity delivers/receives the following RLC data PDUs: AMD PDU; AMD PDU segment.
An AM RLC entity delivers/receives the following RLC control PDU: STATUS PDU.
4.2.1.3.2
Transmitting side
When the transmitting side of an AM RLC entity forms AMD PDUs from RLC SDUs, it shall: Segment and/or concatenate the RLC SDUs in accordance to the TB size selected by MAC at the particular transmission opportunity notified by MAC.
3GPP
Release 8T
12
The transmitting side of an AM RLC entity supports retransmission of RLC data PDUs (ARQ): If the RLC data PDU to be retransmitted does not fit into the new TB size selected by MAC at the particular transmission opportunity notified by MAC, the AM RLC entity can re-segment the RLC data PDU into AMD PDU segments; The number of re-segmentation is not limited.
When the transmitting side of an AM RLC entity forms AMD PDUs from RLC SDUs received from PDCP or AMD PDU segments from RLC data PDUs to be retransmitted, it shall: Include relevant RLC headers in the RLC data PDU.
4.2.1.3.3
Receiving side
When the receiving side of an AM RLC entity receives RLC data PDUs, it shall: Detect whether or not the RLC data PDUs have been received in duplication, and discard duplicated RLC data PDUs; Reorder the RLC data PDUs if they are received out of sequence; Detect the loss of RLC data PDUs at lower layers and request retransmissions to its peer AM RLC entity; Reassemble RLC SDUs from the RLC data PDUs that are received in sequence and deliver them to PDCP.
At the time of inter eNB handover, the receiving side of an AM RLC entity shall: If possible, reassemble RLC SDUs from the RLC data PDUs that are received out of sequence and deliver them to PDCP; Discard any remaining RLC data PDUs that could not be reassembled into RLC SDUs; Initialize relevant state variables and stop relevant timers.
4.3
4.3.1
-
Services
Services provided to upper layers
The following services are provided by RLC to PDCP: TM data transfer; UM data transfer; AM data transfer.
4.3.2
-
The following services are expected by RLC from MAC: Data transfer; Notification of a transmission opportunity, together with the selected TB size; Notification of HARQ delivery failure from the transmitting MAC entity.
4.4
-
Functions
The following functions are supported by the RLC sub layer: Transfer of upper layer PDUs; Error correction through ARQ (only for AM data transfer); Concatenation, segmentation and reassembly of RLC SDUs (only for UM and AM data transfer);
3GPP
Release 8T
13
Re-segmentation of RLC data PDUs (only for AM data transfer); In sequence delivery of upper layer PDUs (only for UM and AM data transfer); Duplicate detection (only for AM data transfer); Editor's note: Whether duplicate detection needs to be supported for UM data transfer is FFS (this depends on BCCH (mapped on DL-SCH) transmission/reception scheme).
RLC SDU discard; Editor's note: Whether RLC SDU discard needs to be supported for TM data transfer, UM data transfer and/or AM data transfer is FFS.
Reset; Editor's note: Whether reset needs to be supported for TM data transfer, UM data transfer and/or AM data transfer is FFS. Editor's note: Currently, the term "Reset" is used to cover both what is termed as "Re-establishment" and "Reset" in Release 6 RLC. But as in Release 6 RLC, "Re-establishment" should be distinguished from "Reset" (the need for Release 6 RLC like "Reset" is FFS), and should be corrected in the future.
Protocol error detection and recovery. Editor's note: Currently it is FFS whether flow control between eNB and UE will be supported as a function of RLC.
5
5.1
5.1.1
Procedures
Data transfer procedures
TM data transfer
Editor's note: It is intended to specify details regarding RLC PDU delivery to lower layer at the transmitter and RLC SDU delivery to upper layers at the receiver in this section (if the text in sub clause 4.2.1.1 is insufficient).
5.1.2
UM data transfer
Transmit operations When delivering a new UMD PDU to MAC, the transmitting UM RLC entity shall: Set the SN of the UMD PDU to VT(US), and then increment VT(US) by one.
Receive operations The receiving UM RLC entity shall maintain a reordering window according to state variables VR(UR) and VR(UMR) as follows: A SN falls within the reordering window if VR(UR) <= SN < VR(UMR); A SN falls outside of the reordering window otherwise.
When receiving an UMD PDU with SN = x from lower layer, the receiving UM RLC entity shall: Place the received UMD PDU in the reception buffer; If x falls outside of the reordering window: Update VR(UR) to the SN of the UMD PDU which satisfies the following criteria: The SN of the UMD PDU >= x + 1 UM_Window_Size The UMD PDU has not been received yet;
3GPP
Release 8T
14
The UMD PDU with the lowest SN that satisfies the above two criteria.
If T_reordering is running: If VR(UX) falls outside of the updated reordering window; Stop and reset T_reordering;
If T_reordering was not running or stopped: If x > updated VR(UR): Update VR(UX) to x; Start T_reordering;
Else, if x = VR(UR): Update VR(UR) to the SN of the next not received UMD PDU; If T_reordering is running: If VR(UX) falls outside of the updated reordering window; Stop and reset T_reordering;
If T_reordering was stopped: If any UMD PDUs with SN > updated VR(UR) have been received already: Update VR(UX) to the SN of the UMD PDU with the highest SN among them; Start T_reordering;
Else (if x is not equal to VR(UR) but x falls within the reordering window): If T_reordering is not running: Start T_reordering; Set VR(UX) = x;
When T_reordering expires, the receiving UM RLC entity shall: Update VR(UR) to the SN of the UMD PDU which satisfies the following criteria: The SN of the UMD PDU > VR(UX); The UMD PDU has not been received yet; The UMD PDU with the lowest SN that satisfies the above two criteria;
If any UMD PDUs with SN > updated VR(UR) have been received already: Update VR(UX) to the SN of the UMD PDU with the highest SN among them; Start T_reordering;
3GPP
Release 8T
15
Whenever possible, the receiving UM RLC entity shall: Reassemble RLC SDUs from UMD PDUs with SN < VR(UR) that are in the reception buffer and in-sequence UMD PDUs with SN >= VR(UR), remove RLC headers when doing so and deliver the reassembled RLC SDUs to PDCP. Editor's note: It is intended to specify details regarding RLC PDU generation and delivery to lower layer at the transmitter and RLC PDU reordering and loss detection (and duplicate detection if needed), RLC SDU reassembly and delivery to upper layers at the receiver in this section.
5.1.3
AM data transfer
Transmit operations The transmitting side of an AM RLC entity shall maintain a transmitting window according to state variables VT(A) and VT(MS) as follows: A SN falls within the transmitting window if VT(A) <= SN < VT(MS); A SN falls outside of the transmitting window otherwise.
The transmitting side of an AM RLC entity shall maintain a STATUS receiving window according to state variables VT(A) and VT(S) as follows: A SN falls within the STATUS receiving window if VT(A) <= SN < VT(S); A SN falls outside of the STATUS receiving window otherwise.
The transmitting side of an AM RLC entity shall not deliver to MAC any RLC data PDU whose SN falls outside of the transmitting window. When delivering a new AMD PDU to MAC, the transmitting side of an AM RLC entity shall: Set the SN of the AMD PDU to VT(S), and then increment VT(S) by one.
The transmitting side of an AM RLC entity can receive a positive acknowledgement (confirmation of successful reception by its peer AM RLC entity) for a RLC data PDU by the following: STATUS PDU from its peer AM RLC entity.
When receiving a positive acknowledgement for an AMD PDU with SN = VT(A), the transmitting side of an AM RLC entity shall: If positive acknowledgements have been received for all other AMD PDUs whose SN fall within the STATUS receiving window, set VT(A) equal to VT(S); Otherwise, set VT(A) equal to the SN of the AMD PDU, which carries the oldest Data field element, whose SN falls within the STATUS receiving window and for which a positive acknowledgment has not been received yet.
Receive operations The receiving side of an AM RLC entity shall maintain a receiving window according to state variables VR(R) and VR(MR) as follows: A SN falls within the receiving window if VR(R) <= SN < VR(MR); A SN falls outside of the receiving window otherwise.
The receiving side of an AM RLC entity shall maintain a STATUS transmitting window according to state variables VR(R) and VR(MS) as follows: A SN falls within the STATUS transmitting window if VR(R) <= SN <= VR(MS); A SN falls outside of the STATUS transmitting window otherwise.
When receiving a RLC data PDU containing byte segments y to z of an AMD PDU with SN = x from lower layer, the receiving side of an AM RLC entity shall:
3GPP
Release 8T
16
If x falls outside of the receiving window: Discard the received RLC data PDU;
Else, if byte segments y to z of an AMD PDU with SN = x have been received already: Discard the received RLC data PDU;
Else, if x = VR(R) and all byte segments of the AMD PDU with SN = VR(R) are now received: Place the received RLC data PDU in the reception buffer; If some byte segments of the RLC data PDU have been received already, discard the duplicated byte segments;
If at least one byte segment for both AMD PDUs with SN = VR(MS) and SN = VR(MS) + 1 are now received: Update VR(MS) to the SN of the first AMD PDU with SN > VR(MS) for which no byte segments have been received, subtracted by one;
Update VR(R) to the SN of the next not (completely) received AMD PDU and VR(R-SO) to the lowest not received byte segment of that AMD PDU; If T_reordering is running: If VR(X) < updated VR(R); Stop and reset T_reordering;
If VR(X) = updated VR(R); Stop and reset T_reordering if byte segments 0 to VR(X-SO) of the AMD PDU with SN = VR(X) are now received;
If T_reordering was stopped: If any RLC data PDUs with SN > updated VR(R), or if any byte segments > updated VR(R-SO) of the AMD PDU with SN = updated VR(R) have been received already: Update VR(X) to the SN of the RLC data PDU with the highest SN among them and VR(X-SO) to the highest received byte segment of that AMD PDU; Start T_reordering;
Else, if x = VR(R) but not all byte segments of the AMD PDU with SN = VR(R) are yet received: Place the received AMD PDU segment in the reception buffer; If some byte segments of the AMD PDU segment have been received already, discard the duplicated byte segments;
If at least one byte segment for both AMD PDUs with SN = VR(MS) and SN = VR(MS) + 1 are now received: Update VR(MS) to the SN of the first AMD PDU with SN > VR(MS) for which no byte segments have been received, subtracted by one;
Update VR(R-SO) to the lowest not received byte segment of the AMD PDU with SN = VR(R); If T_reordering is running and VR(X) = VR(R): If byte segments 0 to VR(X-SO) of the AMD PDU with SN = VR(X) are now received: Stop and reset T_reordering;
3GPP
Release 8T
17
Else if byte segment VR(X-SO) + 1 of the AMD PDU with SN = VR(X) is now received: Update VR(X) and VR(X-SO) according to the highest in-sequence received byte segment;
If T_reordering was not running or stopped: If any RLC data PDUs with SN > VR(R), or if any byte segments > updated VR(R-SO) of the AMD PDU with SN = VR(R) are now received: Update VR(X) to the SN of the RLC data PDU with the highest SN among them and VR(X-SO) to the highest received byte segment of that AMD PDU; Start T_reordering;
Else (if x is not equal to VR(R) but x falls within the receiving window): Place the received RLC data PDU in the reception buffer; If some byte segments of the RLC data PDU have been received already, discard the duplicated byte segments;
If at least one byte segment for both AMD PDUs with SN = VR(MS) and SN = VR(MS) + 1 are now received: Update VR(MS) to the SN of the first AMD PDU with SN > VR(MS) for which no byte segments have been received, subtracted by one;
Else, if VR(X-SO) indicates the last byte segment of the AMD PDU with SN = VR(X) prior to the reception of this RLC data PDU: If x = VR(X) + 1, and y = 0: Update VR(X) to the SN of the RLC data PDU with the highest SN among the RLC data PDUs that have been received with SN > VR(X) that are in-sequence, and update VR(X-SO) to the highest received byte segment of that AMD PDU;
Else (if VR(X-SO) does not indicate the last byte segment of the AMD PDU with SN = VR(X) prior to the reception of this RLC data PDU): If x = VR(X), and byte segment VR(X-SO) + 1 of the AMD PDU with SN = VR(X) is now received: Update VR(X) to the SN of the RLC data PDU with the highest SN among the RLC data PDUs that have been received with SN >= VR(X) that are in-sequence, and update VR(X-SO) to the highest received byte segment of that AMD PDU.
When T_reordering expires, the receiving side of an AM RLC entity shall: Set VR(MS) = VR(X); Trigger a status report; If any RLC data PDUs with SN > VR(X), or any byte segments > VR(X-SO) of the AMD PDU with SN = VR(X) have been received already: Update VR(X) to the SN of the RLC data PDU with the highest SN among them and VR(X-SO) to the highest received byte segment of that AMD PDU;
3GPP
Release 8T
18
Start T_reordering.
Editor's note: With the current text, T_reordering can be triggered even for a missing AMD PDU for which a status report has already been triggered. E.g. when T_reordering expires and SN = VR(R) is detected as lost, T_reordering will be triggered again with the reception of another AMD PDU with SN > VR(R). It should be discussed if this is the desired behaviour or not. Whenever possible, the receiving side of an AM RLC entity shall: Reassemble RLC SDUs from RLC data PDUs that are in the reception buffer in-sequence, remove RLC headers when doing so and deliver the reassembled RLC SDUs to PDCP. Editor's note: It is intended to specify details regarding RLC data PDU generation and delivery to lower layer at the transmitter and RLC data PDU reassembly, duplicate detection, reordering and loss detection, and RLC SDU reassembly and delivery to upper layers at the receiver in this section.
5.2
5.2.1
ARQ procedures
Retransmission
The transmitting side of an AM RLC entity can receive a negative acknowledgement (notification of reception failure by its peer AM RLC entity) for an AMD PDU or a portion of an AMD PDU by the following: STATUS PDU from its peer AM RLC entity; HARQ delivery failure from the transmitting MAC entity. Editor's note: It is reminded that the word "can" was deliberately chosen in the past since there were some doubts on whether HARQ deliver failure from the transmitting MAC entity should really trigger a retransmission or not. This phrase will be rephrased later when agreements are reached on this issue. When receiving a negative acknowledgement for an AMD PDU or a portion of an AMD PDU, the transmitting side of the AM RLC entity should: If the SN of the corresponding AMD PDU falls within the STATUS receiving window: Consider the AMD PDU or the portion of the AMD PDU for which a negative acknowledgement was received for retransmission.
Editor's note: Conditions when the RLC data PDU should not be considered for retransmission should be specified when identified. Also, the word "consider" is not appropriate as a specification text, and will be improved once the RLC architecture model is agreed. When retransmitting an AMD PDU, the transmitting side of an AM RLC entity shall: If the AMD PDU can entirely fit into the TB of the particular transmission opportunity, deliver the AMD PDU as it is except for the P field (the P field should be set according to sub clause 5.2.2); Otherwise, segment the AMD PDU and form a new AMD PDU segment which will fit into the TB of the particular transmission opportunity, in which case:
When retransmitting a portion of an AMD PDU, the transmitting side of an AM RLC entity shall: Segment the portion of the AMD PDU as necessary and form a new AMD PDU segment which will fit into the TB of the particular transmission opportunity, in which case:
When forming a new AMD PDU segment, the transmitting side of an AM RLC entity shall: Only map the Data field of the original AMD PDU to the Data field of the new AMD PDU segment;
3GPP
Release 8T
19
Set the header of the new AMD PDU segment in accordance with the description in sub clause 6.: Editor's note: It is intended to specify more details as necessary regarding which RLC PDUs (or portions of them) should be considered for retransmission at the transmitter in this section.
5.2.2
Polling
An AM RLC entity can poll its peer AM RLC entity in order to trigger STATUS reporting at the peer AM RLC entity. RRC configures which polling triggers are to be used by an AM RLC entity. Triggers to initiate polling include: Transmission of last data in the buffer: The transmitting side of an AM RLC entity shall set the P field to "1" if the both the transmission buffer and the retransmission buffer are empty after the transmission of the RLC data PDU; AMD PDUs (or portions of them) in the retransmission buffer that are just awaiting for acknowledgments are not counted considered for this evaluation criteria;
Expiry of poll retransmit timer: The transmitting side of an AM RLC entity shall: Start T_poll_retransmit upon setting the P field for a RLC data PDU to "1", and store the SN of the corresponding RLC data PDU in memory; Stop T_poll_retransmit when it receives either a positive or negative acknowledgement for the corresponding RLC data PDU with the SN it stored in memory; Set the P field of the RLC data PDU to be transmitted in the next transmission opportunity if T_poll_retransmit expires.
Editor's note: It has been decided to support either PDU count based polling trigger or Window based polling trigger in adition to the polling triggers indicated above.
5.2.3
Status reporting
An AM RLC entity sends STATUS PDUs to its peer AM RLC entity in order to provide positive and/or negative acknowledgements of RLC PDUs (or portions of them). RRC configures whether or not the status prohibit function is to be used an AM RLC entity. Triggers to initiate STATUS reporting include: Indication from upper layers; Polling from its peer AM RLC entity: The receiving side of an AM RLC entity shall trigger a STATUS report when it receives a RLC data PDU with the P field set to "1" and the HARQ reordering of the corresponding RLC data PDU is completed.
When constructing a STATUS PDU, the AM RLC entity shall: Set ACK_SN to VR(MS); For each AMD PDU with SN which falls within the STATUS transmitting window and have not been completely received yet: If no byte segments have been received yet for an AMD PDU: Else Include in the STATUS PDU a NACK_SN which is set to the SN of the AMD PDU;
3GPP
Release 8T
20
Include in the STATUS PDU a set of NACK_SN, SOstart and SOend for each consecutive byte segments of the AMD PDU that has not been received yet.
Editor's note: The need for a status prohibit function has been agreed, but the exact mechanism is still FFS.
5.3
Editor's note: Whether SDU discard procedures are applicable to TM data transfer, UM data transfer and/or AM data transfer is FFS. Triggers to initiate SDU discard include: Indication from PDCP. Editor's note: It is intended to specify transmitter actions at RLC when SDU discard is indicated from PDCP and necessary signalling between peer RLC entities for SDU discard (it is FFS if this is needed) in this section.
5.4
Reset procedures
Editor's note: Whether reset procedures are applicable to TM data transfer, UM data transfer and/or AM data transfer is FFS. Triggers to initiate reset include: Inter eNB handover. Editor's note: It is intended to specify details regarding reset triggers, actions at reset and signalling between peer RLC entities for reset (it is FFS if this is needed) in this section. Editor's note: Currently, the term "Reset" is used to cover both what is termed as "Re-establishment" and "Reset" in Release 6 RLC. But as in Release 6 RLC, "Re-establishment" should be distinguished from "Reset" (the need for Release 6 RLC like "Reset" is FFS), and should be corrected in the future. Reset of RLC due to inter eNB handover should be considered as "Re-establishment".
5.5
Editor's note: Everything is FFS regarding this section, but it is intended to specify necessary details as discussions proceed.
6
6.1
RLC PDUs can be categorized into RLC data PDUs and RLC control PDUs. RLC data PDUs in sub clause 6.1.1 are used by TM, UM and AM RLC entities to transfer upper layer PDUs (i.e. RLC SDUs). RLC control PDUs in sub clause 6.1.2 are used by AM RLC entity to perform ARQ procedures. Editor's note: If RLC control PDUs other than that for ARQ procedures are needed, their description will be added as decisions are made.
6.1.1
a) TMD PDU TMD PDU is used to transfer upper layer PDUs by a TM RLC entity. b) UMD PDU UMD PDU is used to transfer upper layer PDUs by an UM RLC entity.
3GPP
Release 8T
21
c) AMD PDU AMD PDU is used to transfer upper layer PDUs by an AM RLC entity. It is used when the AM RLC entity transmits (part of) the RLC SDU for the first time, or when the AM RLC entity retransmits an AMD PDU without having to perform re-segmentation. d) AMD PDU segment AMD PDU segment is used to transfer upper layer PDUs by an AM RLC entity. It is used when the AM RLC entity needs to retransmit an AMD PDU (or an AMD PDU segment) with the need to perform re-segmentation.
6.1.2
a) STATUS PDU STATUS PDU is used by the receiving AM RLC entity to inform the transmitting AM RLC entity about AMD PDUs that are received successfully, and AMD PDUs that are detected to be lost by the receiving AM RLC entity. Editor's note: If RLC control PDUs other than STATUS PDUs are needed, their description will be added as decisions are made. Editor's note: Only one RLC control PDU can be mapped to a MAC SDU, but multiple RLC control PDUs may be delivered to MAC at a given transmission opportunity. This note does not make sense in the current version of the document since there is only one RLC control PDU defined so far (i.e. STATUS PDU), but should be respected if it is decided to support other RLC control PDUs in the future.
6.2
6.2.1
6.2.1.1
The formats of RLC PDUs are described in sub clause 6.2.1 and their parameters are described in sub clause 6.2.2.
RLC PDU is a bit string. In the figures in sub clause 6.2.1.2 to 6.2.1.6, bit strings are represented by tables in which the first bit is the left most bit of the first line of the table, the last bit is the rightmost bit of the last line of the table, and more generally the bit string is to be read from left to right and then in the reading order of the lines. RLC SDUs are bit strings that are byte aligned (i.e. multiple of 8 bits) in length. An RLC SDU is included into an RLC PDU from first bit onward.
6.2.1.2
TMD PDU
TMD PDU consists only of a Data field and does not consist of any RLC headers.
6.2.1.3
UMD PDU
UMD PDU consists of a Data field and an UMD PDU header. UMD PDU header consists of a fixed part (fields that are present for every UMD PDU) and an extension part (fields that are present for an UMD PDU when necessary). The fixed part of the UMD PDU header itself is byte aligned and consists of an E, a [SI] and a SN. The extension part of the UMD PDU header itself is byte aligned and consists of E(s) and LI(s).
3GPP
Release 8T
22
An UM RLC entity is configured by RRC to use either a 5 bit SN or a 10 bit SN. When the 5 bit SN is configured, the length of the fixed part of the UMD PDU header is one byte. When the 10 bit SN is configured, the fixed part of the UMD PDU header is identical to the fixed part of the AMD PDU header, except for D/C, RF and P fields all being replaced with R1 fields. The extension part of the UMD PDU header is identical to the extension part of the AMD PDU header (regardless of the configured SN size).
6.2.1.4
AMD PDU
AMD PDU consists of a Data field and an AMD PDU header. AMD PDU header consists of a fixed part (fields that are present for every AMD PDU) and an extension part (fields that are present for an AMD PDU when necessary). The fixed part of the AMD PDU header itself is byte aligned and consists of a D/C, a RF, a P, a [SI], an E and a SN. The extension part of the AMD PDU header itself is byte aligned and consists of E(s) and LI(s). An AMD PDU header consists of an extension part only when more than one Data field elements are present in the AMD PDU, in which case an E and a LI are present for every Data field element except the last. Furthermore, when an AMD PDU header consists of an odd number of LI(s), four padding bits follow after the last LI.
3GPP
Release 8T
23
LI2
LIK
Oct N
Figure 6.2.1.4-3: AMD PDU (Even number of LIs, i.e. K = 2, 4, 6, ) Editor's note: The actual order of D/C, RF, P, SI and E in the figures above is yet to be decided..
6.2.1.5
AMD PDU segment consists of a Data field and an AMD PDU segment header. AMD PDU segment header consists of a fixed part (fields that are present for every AMD PDU segment) and an extension part (fields that are present for an AMD PDU segment when necessary). The fixed part of the AMD PDU segment header itself is byte aligned and consists of a D/C, a RF, a P, a [SI], an E, a SN, a LSF and a SO. The extension part of the AMD PDU segment header itself is byte aligned and consists of E(s) and LI(s). An AMD PDU segment header consists of an extension part only when more than one Data field elements are present in the AMD PDU segment, in which case an E and a LI are present for every Data field element except the last. Furthermore, when an AMD PDU segment header consists of an odd number of LI(s), four padding bits follow after the last LI.
3GPP
Release 8T
24
Figure 6.2.1.5-1: AMD PDU segment (No LI) Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8 D/C LSF SO E LI1 LI2 Present if K >= 3 E LIK-2 E LIK Data LIK-2 E LIK-1 LIK Padding LI1 E LI2 (if K>=3) RF P [SI] SN SO E SN Oct Oct Oct Oct Oct Oct Oct 1 2 3 4 5 6 7
LIK-1
Oct [4.5+1.5*K-4] Oct [4.5+1.5*K-3] Oct [4.5+1.5*K-2] Oct [4.5+1.5*K-1] Oct [4.5+1.5*K] Oct [4.5+1.5*K+1] Oct N
3GPP
Release 8T
25
Figure 6.2.1.5-3: AMD PDU segment (Even number of LIs, i.e. K = 2, 4, 6, ) Editor's note: The actual order of D/C, RF, P, SI and E in the figures above is yet to be decided.
6.2.1.6
STATUS PDU
STATUS PDU consists of a STATUS PDU payload and a RLC control PDU header. RLC control PDU header consists of a D/C and a CPT field. The STATUS PDU payload starts from the first bit following the RLC control PDU header, and it consists of one ACK_SN and one E1, zero or more sets of a NACK_SN, an E1 and an E2, and possibly a set of a SOstart and a SOend for each NACK_SN.
Figure 6.2.1.6-1: STATUS PDU Editor's note: It has to be discussed whether padding/reserve bits are only inserted at the end of the STATUS PDU payload or if they are inserted within each NACK_SN/E1/E2 to ensure byte aligned STATUS PDUs. The figure currently assumes the former. Editor's note: Sub clauses for other RLC control PDUs will be added as decisions are made.
3GPP
Release 8T
26
6.2.2
6.2.2.1
Parameters
General
In the definition of each field in sub clauses 6.2.1.2 to 6.2.1.X, the bits in the parameters are represented in which the first and most significant bit is the left most bit and the last and least significant bit is the rightmost bit. Unless mentioned otherwise, integers are encoded in standard binary encoding for unsigned integers.
6.2.2.2
Data field
Data field elements are mapped to the Data field in the order which they arrive to the RLC entity at the transmitter. For TMD PDU, UMD PDU and AMD PDU: The granularity of the Data field size is one byte; The maximum Data field size is the maximum TB size minus the sum of minimum MAC PDU header size and minimum RLC PDU header size.
For TMD PDU: Only one RLC SDU can be mapped to the Data field of one TMD PDU.
For UMD PDU, AMD PDU and AMD PDU segment: Either of the following can be mapped to the Data field of one UMD PDU, AMD PDU or AMD PDU segment: Zero RLC SDU segments and one or more RLC SDUs; One or two RLC SDU segments and zero or more RLC SDUs;
RLC SDU segments are either mapped to the beginning or the end of the Data field; When there are two RLC SDU segments, they belong to different RLC SDUs.
6.2.2.3
Length: 10bits for AMD PDU, AMD PDU segments and STATUS PDUs. FFS bits for UMD PDU. The SN field indicates the sequence number of the corresponding UMD or AMD PDU. For an AMD PDU segment, the SN field indicates the sequence number of the original AMD PDU from which the AMD PDU segment was constructed from. The sequence number is incremented by one for every UMD or AMD PDU.
6.2.2.4
Length: 1 bit.
The E field indicates whether Data field follows or a set of E field and LI field follows. The interpretation of the E field is provided in Table 6.2.2.4-1 and Table 6.2.2.4-2. Table 6.2.2.4-1: E field interpretation (for E field in the fixed part of the header) Value 0 1 Description Data field follows from the octet following the fixed part of the header A set of E field and LI field follows from the octet following the fixed part of the header
Table 6.2.2.4-2: E field interpretation (for E field in the extension part of the header) Value 0 Description Data field follows from the octet following the LI field following this E field
3GPP
Release 8T
27
A set of E field and LI field follows from the bit following the LI field following this E field
6.2.2.5
Length: 11 bits.
The LI field indicates the length in bytes of the corresponding Data field element present in the AMD PDU. The first LI present in the AMD PDU header corresponds to the first Data field element present in the Data field of the AMD PDU, the second LI present in the AMD PDU header corresponds to the second Data field element present in the Data of the AMD PDU, and so on.
6.2.2.6
Length: 2 bits.
The [SI] field indicates whether a RLC SDU is segmented at the beginning and/or at the end of the Data field. Specifically, the [SI] field indicates whether the first byte of the Data field corresponds to the first byte of a RLC SDU, and whether the last byte of the Data field corresponds to the last byte of a RLC SDU. The interpretation of the [SI] field is provided in Table 6.2.2.6-1. Table 6.2.2.6-1: [SI] field interpretation Value 00 01 10 11 Description First byte of the Data field corresponds to the first byte of a RLC SDU. Last byte of the Data field corresponds to the last byte of a RLC SDU. First byte of the Data field corresponds to the first byte of a RLC SDU. Last byte of the Data field does not correspond to the last byte of a RLC SDU. First byte of the Data field does not correspond to the first byte of a RLC SDU. Last byte of the Data field corresponds to the last byte of a RLC SDU. First byte of the Data field does not correspond to the first byte of a RLC SDU. Last byte of the Data field does not correspond to the last byte of a RLC SDU.
6.2.2.7
Length: 15 bits.
The SO field indicates the position of the AMD PDU segment in bytes within the original AMD PDU. Specifically, the SO field indicates the position within the Data field of the original AMD PDU to which the first byte of the Data field of the AMD PDU segment corresponds to.
6.2.2.8
Length: 1 bit.
The LSF field indicates whether or not the last byte of the AMD PDU segment corresponds to the last byte of an AMD PDU. The interpretation of the LSF field is provided in Table 6.2.2.8-1. Table 6.2.2.8-1: LSF field interpretation Value 0 1 Description Last byte of the AMD PDU segment does not correspond to the last byte of an AMD PDU. Last byte of the AMD PDU segment corresponds to the last byte of an AMD PDU.
3GPP
Release 8T
28
6.2.2.9
Length: 1 bit.
The D/C field indicates whether the RLC PDU is a RLC data PDU or RLC control PDU. The interpretation of the D/C field is provided in Table 6.2.2.9-1. Table 6.2.2.9-1: D/C field interpretation Value 0 1 Description Control PDU Data PDU
6.2.2.10
Length: 1 bit.
The RF field indicates whether the RLC PDU is an AMD PDU or AMD PDU segment. The interpretation of the RF field is provided in Table 6.2.2.10-1. Table 6.2.2.10-1: RF field interpretation Value 0 1 Description AMD PDU AMD PDU segment
6.2.2.11
Length: 1 bit.
The P field indicates whether or not the transmitting side of an AM RLC entity requests a STATUS report from its peer AM RLC entity. The interpretation of the P field is provided in Table 6.2.2.11-1. Table 6.2.2.11-1: P field interpretation Value 0 1 Description Status report not requested Status report is requested
6.2.2.12
Length: 1 bit.
The R1 field is a reserved field for this release of the protocol. The transmitting entity shall set the R1 field to "0", and the receiving entity shall ignore the R1 field.
6.2.2.13
Length: 3 bits.
The CPT field indicates the type of the RLC control PDU. The interpretation of the CPT field is provided in Table 6.2.2.13-1.
3GPP
Release 8T
29
Table 6.2.2.13-1: CPT field interpretation Value 000 001-111 Description STATUS PDU Reserved (PDUs with this coding will be discarded by the receiving entity for this release of the protocol)
Editor's note: If RLC control PDUs other than STATUS PDUs are needed, their description will be added as decisions are made.
6.2.2.14
Length: 10 bits.
The ACK_SN field indicates the higher edge of the STATUS transmitting window. When the transmitting side of an AM RLC entity receives a STATUS PDU, it interprets that all AMD PDUs up to and including the AMD PDU with SN = ACK_SN have been received by its peer AM RLC entity, excluding those AMD PDUs indicated in the STATUS PDU with NACK_SN and portions of AMD PDUs indicated in the STATUS PDU with NACK_SN, SOstart and SOend.
6.2.2.15
Length: 1 bit.
The E1 field indicates whether or not a set of NACK_SN, E1 and E2 follows. The interpretation of the E1 field is provided in Table 6.2.2.15-1. Table 6.2.2.15-1: E1 field interpretation Value 0 1 Description A set of NACK_SN, E1 and E2 does not follow. A set of NACK_SN, E1 and E2 follows.
6.2.2.16
Length: 10 bits.
The NACK_SN field indicates the SN of the AMD PDU (or portions of it) within the STATUS transmitting window that has been detected as lost at the receiving side of the AM RLC entity.
6.2.2.17
Length: 1 bit.
The E2 field indicates whether or not a set of SOstart and SOend follows. The interpretation of the E2 field is provided in Table 6.2.2.15-1. Table 6.2.2.17-1: E2 field interpretation Value 0 1 Description A set of SOstart and SOend does not follow for this NACK_SN. A set of SOstart and SOend follows for this NACK_SN.
3GPP
Release 8T
30
6.2.2.16
Length: 15 bits.
The SOstart field (together with the SOend field) indicates the portion of the AMD PDU with SN = NACK_SN (the NACK_SN for which the SOstart is related to) that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOstart field indicates the position of the first byte of the portion of the AMD PDU in bytes within the Data field of the AMD PDU.
6.2.2.17
Length: 15 bits.
The SOend field (together with the SOstart field) indicates the portion of the AMD PDU with SN = NACK_SN (the NACK_SN for which the SOend is related to) that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOend field indicates the position of the last byte of the portion of the AMD PDU in bytes within the Data field of the AMD PDU. A special SOend value is used to indicate that the missing portion of the AMD PDU includes all bytes to the last byte of the AMD PDU. Editor's note: Sub clauses for other fields will be added as decisions are made.
7
7.1
This sub clause describes the state variables used in AM and UM entities in order to specify the RLC protocol. The state variables defined in this subclause are normative. All state variables (i.e. VT(A), VT(MS), VT(S), VR(R), VR(MR) and VT(US)) are non-negative integers. All state variables related to AM data transfer (i.e. VT(A), VT(MS), VT(S), VR(R) and VR(MR)) can take values from 0 to 1023. All arithmetic operations contained in the present document on state variables related to AM data transfer are affected by the AM modulus (i.e. final value = [value from arithmetic operation] modulo 1024). All state variables related to UM data transfer (i.e. VT(US)) can take values from 0 to [2[configured UM SN field length] 1]. All arithmetic operations contained in the present document on state variables related to UM data transfer are affected by the UM modulus (i.e. final value = [value from arithmetic operation] modulo 2[configured UM SN field length]). AMD PDUs and UMD PDUs are numbered integer sequence numbers (SN) cycling through the field: 0 to 1023 for AMD PDU and 0 to [2[configured UM SN field length] 1] for UMD PDU. When performing arithmetic comparisons of state variables or SN values, a modulus base shall be used. VT(A) and VR(R) shall be assumed as the modulus base at the transmitting side and receiving side of an AM RLC entity, respectively. This modulus base is subtracted from all the values involved, and then an absolute comparison is performed (e.g. VR(R) <= SN < VR(MR) is evaluated as [VR(R) VR(R)] modulo 1024 <= [SN VR(R)] modulo 1024 < [VR(MR) VR(R)] modulo 1024). The transmitting side of each AM RLC entity shall maintain the following state variables: a) VT(A) Acknowledgement state variable This state variable holds the value of the SN of the next AMD PDU for which a positive acknowledgment is to be received in-sequence, and it serves as the lower edge of the transmitting window and the STATUS receiving window). It is initially set to 0, and is updated whenever the AM RLC entity receives a positive acknowledgment for an AMD PDU with SN = VT(A). b) VT(MS) Maximum send state variable This state variable equals VT(A) + AM_Window_Size, and it serves as the higher edge of the transmitting window. c) VT(S) Send state variable
3GPP
Release 8T
31
This state variable holds the value of the SN to be assigned for the next newly generated AMD PDU, and it serves as the higher edge of the STATUS receiving window. It is initially set to 0, and is updated whenever the AM RLC entity delivers an AMD PDU with SN = VT(S). The receiving side of each AM RLC entity shall maintain the following state variables: a) VR(R) Receive state variable This state variable holds the value of the SN following the last in-sequence completely received AMD PDU, and it serves as the lower edge of the receiving window. It is initially set to 0, and is updated whenever the AM RLC entity receives an AMD PDU with SN = VR(R). b) VR(R-SO) Receive state variable (segment offset) This state variable holds the position of the lowest not received byte segment of the AMD PDU with SN = VR(R). It is initially set to 0. c) VR(MR) Maximum acceptable receive state variable This state variable equals VR(R) + AM_Window_Size, and it serves as the higher edge of the receiving window. d) VR(X) T_reordering state variable This state variable holds the value of the SN of the RLC data PDU which triggered T_reordering or those following which are received in-sequence. It is initially set to NULL. e) VR(X-SO) T_reordering state variable (segment offset) This state variable holds the position of the highest received byte segment of the AMD PDU with SN = VR(X). It is initially set to NULL. f) VR(MS) Maximum STATUS transmit state variable This state variable holds the value of the highest SN that can be included in a STATUS report, i.e. it serves as the higher edge of the STATUS transmitting window. It is initially set to 0. Each transmitting UM RLC entity shall maintain the following state variables: a) VT(US) This state variable holds the value of the SN to be assigned for the next newly generated UMD PDU. It is initially set to 0, and is updated whenever the UM RLC entity delivers an UMD PDU with SN = VT(US). Each receiving UM RLC entity shall maintain the following state variables: a) VR(UR) UM receive state variable This state variable holds the value of the SN of the earliest UMD PDU that is still considered for reordering, i.e. it serves as the lower edge of the reordering window. It is initially set to 0. b) VR(UMR) UM maximum acceptable receive state variable This state variable equals VR(UR) + UM_Window_Size, and it serves as the higher edge of the reordering window. c) VR(UX) UM T_reordering state variable This state variable holds the value of the SN of the UMD PDU which triggered T_reordering. It is initially set to NULL.
7.2
Constants
a) AM_Window_Size This constant is used by both the transmitting side and the receiving side of each AM RLC entity to calculate VT(MS) from VT(A), and VR(MR) from VR(R). AM_Window_Size = 512. b) UM_Window_Size
3GPP
Release 8T
32
This constant is used by the receiving UM RLC entity to calculate VR(UMR) from VR(UR). UM_Window_Size = 16 when a 5 bit SN is configured and UM_Window_Size = 512 when a 10 bit SN is configured.
7.2
Timers
a) T_poll_retransmit This timer is used by the transmitting side of an AM RLC entity in order to retransmit a poll. b) T_reordering This timer is used by the receiving side of an AM RLC entity and receiving UM RLC entity in order to detect loss of RLC PDUs at lower layer. Editor's note: It is intended to specify necessary details in this section as discussions proceed, but it is foreseen that at least discussions regarding transmit/receive/reordering window state variables, polling/STATUS reporting related state variables, polling/STATUS reporting/reordering/SDU discard related timers are needed.
3GPP
Release 8T
33
2007-06
0.1.1
0.1.2
2007-06
0.1.2
0.1.3
2007-08
0.1.3
0.1.4
2007-08 2007-08
0.1.4 0.2.0
0.2.0 0.2.1
2007-08
RAN2#59 R2-073868
0.2.1
0.2.2
3GPP
Release 8T
34 Change history
Date
TSG #
TSG Doc.
CR
2007-11
RAN2#60 R2-075061
2007-11
RAN2#60 R2-075154
2007-11
RAN2#60 R2-075198
2007-11
RAN2#60 R2-075430
2007-11
RAN2#60 R2-075500
Rev Subject/Comment the buffer"; Added polling trigger "poll retransmit timer" and its description; Added Editor's note that either PDU count based or window based polling trigger should be supported; Added description of the status reporting trigger "polling from its peer AM RLC entity"; Removed old Editor's note in the polling sub clause; Added status reporting trigger "detection of reception failure of an RLC data PDU" and its description; Added status prohibit function and its description; Added Editor's note that at least a 1byte fixed header for the UMD PDU should be supported; Complete AMD PDU and AMD PDU segment headers captured and 3 new figures inserted for each of them; Added Editor's note that STATUS PDU will only have 1 format; Modified description of the Data field so that it also applies to AMD PDU segment; Added description of the SN field in relation to the AMD PDU segment; Corrected description of the E field; Defined SO field length to be 15bits; Completed the description of the SO field and removed the related Editor's note; Added description of the D/C field, RF field and P field; Added 2 state variables: VT(A) and VT(MS); Added to the description of VT(S) and VR(MR); Added 1 constant: Tx_Window_Size; Added 2 timers: T_poll_prohibit and T_status_prohibit.r Cleaned up terminology related to PDUs; Editorial corrections (aligned wording, corrected Figure numbering, clarifications, etc.) Added Editor's note that exception cases when a negatively acknowledged RLC data PDU should not be transmitted will be captured when identified; Added description that the use of status prohibit function and particular polling triggers are configurable; Modified receiver operation for RLC-AM regarding AMD PDU segments (aligned with AMD PDU); Added description that DL CCCH is handled by RLC-UM and removed corresponding Editor's note; Added Editor's note that wording "considered" regarding retransmission of AMD PDU / AMD PDU segment in sub clause 5.2.1 should be improved; Added to the description of SN field that it is 10bits for AMD PDU and AMD PDU segment; Removed Editor's note regarding the need for status prohibit function; Added Editor's note that the need for [SI] field for UMD PDU can be challenged. Added an Editor's note regarding Local NACK; Modified wording in sub clause 5.2.1 on the object of retransmission (RLC data PDU changed to AMD PDU / portion of AMD PDU); Clarified that STATUS PDU is triggered after the PDU containing th poll bit is "HARQ reordered", rather than just "reordered"; Removed incorrect inclusion of a T_status_prohibit and added an Editor's which just says status prohibit function is supported. Description regarding the modulus operation involving state variables was changed in order to align with TS 25.322; Figures on PDUs were slightly modified (editorial). Text on receiver operation in sub clause 5.1.3 was revised to align the description regarding modulus operation with TS 25.322; Further cleaned up terminology related to PDUs; V1.0.4 was endorsed by RAN WG2 as v1.1.0 with the above revisions. Added RLC architecture model figures (Figures 4.2.1.1.1-1, 4.2.1.2.1-1, 4.2.1.3.1-1); Added Editor's note that the SDU discard functionality may not be specified in RLC; Added description of receive operations for RLC-UM in sub clause 5.1.2; Added to the description of receive operations for RLC-AM in sub clause 5.1.3 including: STATUS transmitting window definition, procedures for the case RLC data PDU within receiving window is received, actions at T_reordering expiry and RLC SDU reassembly;
Old
New
1.0.1
1.0.2
1.0.2
1.0.3
1.0.3
1.0.4
1.0.4
1.1.0
1.1.0
1.1.1
3GPP
Release 8T
35 Change history
Date
TSG #
TSG Doc.
CR
2007-11
RAN2#60 R2-075501
2007-11 2007-11
2007-11
RAN2#60 R2-075504
Rev Subject/Comment T_and in sub clause 5.1.3; Removed Editor's note which said that PDU loss detection should be after HARQ reordering; Clarified the description of the polling trigger "transmission of last data in the buffer"; Added description of STATUS PDU construction in sub clause 5.2.3 and removed an Editor's note in this sub clause; Modified trigger for RLC SDU discard to "indication from PDCP"; Removed Editor's note on the type of PDUs to be specified; Removed Editor's notes regarding STATUS PDU piggybacking; Complete UMD PDU headers captured and 2 new figures inserted for them, and removed Editor's note on UMD PDU; Defined one STATUS PDU format with a new figure and an Editor's note, and removed old Editor's note in sub clause 6.2.1.6; Added description of the R1 field, CPT field, ACK_SN field, E1 field, NACK_SN field, E2 field, SOstart field and SOend field. Added 7 state variables: VR(R-SO), VR(X), VR(X-SO), VR(MS), VR(UR), VR(UMR) and VR(UX); Constants Rx_Window_Size and Tx Window size were converged into one constant "Window_Size" of which the value is defined to half the SN space, and constants "AM_Window_Size" and "UM_Window_Size" were newly defined; Added 1 timer: T_reordering. Added definition for "byte segment"; Removed Editor's note which said that the SDU discard functionality may not be specified in RLC; Added missing description for RLC-UM receive operation (the case when UMD PDU with SN that falls within the reordering window but not equal to VR(R) is received); Added missing description for RLC-AM receive operation (the case when only part of the received RLC data PDU is received in duplication); Added text related to updating state variable VR(MS); Added Editor's note that it has to be decided whether T_reordering can be triggered by a missing RLC data PDU for which status reporting has already been triggered once; Editorial clarification / corrections were made. Added text related to updating state variable VR(MS); Editorial clarification / corrections were made. Modified description of VR(MS) update procedure; Modified description of VR(X) / VR(X-SO) update procedure; Editorial corrections were made. Added missing description with regards to RLC-AM receive operation; Added Editor's note on the delivery of RLC control PDUs; Editorial corrections were made. v1.1.5 was endorsed by RAN WG2 as v1.2.0. v1.2.0 was stepped to v2.0.0 and presented to RAN plenary for approval. Approved at TSG RAN-38 and placed under change control
Old
New
1.1.1
1.1.2
1.1.2 1.1.3
1.1.3 1.1.4
1.1.4
1.1.5
3GPP