The
Buffer Status reporting procedure is used to provide the serving eNB with the information about the amount of data available for transmission in the UL
buffers of the UE
Trigger for BSR and the types of
BSRs
There
are three types of BSRs; Regular BSR,
Periodic BSR, and Padding BSR
Before
we learn about how BSR is triggered, it is important to know about RRC parameters
which control BSR reporting. RRC configures two timers periodicBSR-Timer and retxBSR-Timer
and optionally allocates a Logical Channel Group (LCG) to each logical channel.
Logical
Channel Group is signalled under LogicalChannelConfig
of each RB. The mapping of a RB (or logical channel) to a LCG is done at the
time when RB is setup by the eNB which may be based on the corresponding QoS attributes of
the radio bearers such as QCI. There are 4 LCGs numbered from 0 to 3. For SRB1
and SRB2, LCG is 0 by default
A
Buffer Status Report (BSR) shall be triggered if any of the following events
occur:
- When UL data, for a logical channel which belongs to a LCG, becomes available for transmission in the RLC entity or in the PDCP entity and there is no data available for transmission for any of the logical channels which belong to any LCG (This is called as Regular BSR)
- When UL data, for a logical channel which belongs to a LCG, becomes available for transmission in the RLC entity or in the PDCP entity and the data belongs to a logical channel with higher priority than the priorities of the logical channels whose buffers are not empty (This is also called as Regular BSR)
- retxBSR-Timer expires and the UE has data available for transmission for any of the logical channels which belong to a LCG (Even this is also called as Regular BSR)
- UE has UL resources allocated and number of padding bits is equal to or larger than the size of the BSR MAC CE + its subheader (This is referred to as Padding BSR)
- When periodicBSR-Timer expires, the triggered BSR is called as Periodic BSR
retxBSR-Timer and periodicBSR-Timer
retxBSR-Timer
is introduced to improve the robustness of UE’s buffer status reporting behavior.
This avoids deadlock situation such as the case where the UE has transmitted
BSR but never received an uplink grant. This could be for example; eNodeB has erroneously
decoded data on PUSCH and transmitted NACK but UE detected NACK as ACK.
The
UE starts/restarts retxBSR-Timer upon
indication of a grant for transmission of new data on UL-SCH. Upon the expiry of
this timer, regular BSR is triggered. This timer is configured by RRC and can vary
from 320ms till 10.24 seconds
periodicBSR-Timer triggers
Periodic BSR. Periodic BSR is used to
provide the eNodeB with the updated buffer status report. Unlike retxBSR-Timer, periodicBSR-Timer is
optional and can be set to Infinity
to disable this timer. Its’ values
vary from 5ms to 2.56 seconds.
BSR Formats
BSR
is UE’s MAC procedure and the BSR is sent as ‘Buffer Status Report MAC Control
Element’
BSR
MAC CE consists of either Short BSR/Truncated BSR or Long BSR.
Short
BSR/Truncated BSR is 1-byte MAC CE, so it requires two bytes (including 1-byte
subheader) for reporting using this format.
Long BSR requires 4-bytes (3-bytes of Long BSR MAC CE + 1-byte subheader)
LCID
value of 11100 indicates Truncated BSR, 11101 indicates Short BSR and 11110
indicates Long BSR
Short/Truncated
BSR and Long BSR formats are presented below.

In
Short/Truncated BSR, buffer status is reported for only one LCG. LCG ID
identifies the LCG (0 to 3) for which buffer status is being reported. Since
there are 4 LCGs, 2-bits are required to identity LCG.
Using
Long BSR, the UE can report buffer status of all LCGs (0 to 3). So the Long BSR
consists of four Buffer Size fields, corresponding to LCG IDs #0 through #3
In
either Short/Truncated BSR or Long BSR, the buffer size field is of 6-bits size
which indicates the total amount of data available across all logical channels
of a LCG after the MAC PDU has been built. The amount of data is indicated in
number of bytes. It shall include all data that is available for transmission
in the RLC layer and in the PDCP layer. The size of the RLC and MAC headers are
not considered in the buffer size computation.
The
Buffer status is reported as one of the ‘Index’ shown in the below table which
is based on the buffer size. The ‘Index’ value varies from 0 to 63 which requires
exactly 6 bits
Relationship
between BSR types and BSR formats
For Regular and
Periodic BSR:
- if more than one LCG has data available for
transmission in the TTI where the BSR
is transmitted: report Long BSR;
- else report Short BSR.
For Padding BSR:
- if the number of padding bits is equal to or
larger than the size of the Short BSR
plus its subheader but smaller than the
size of the Long BSR plus its subheader:
- if more than one LCG has data available for
transmission in the TTI where
the BSR is transmitted: report Truncated BSR of
the LCG with the highest
priority logical channel with data available for
transmission;
- else report Short BSR.
- else if the number of padding bits is equal
to or larger than the size of the Long
BSR plus its subheader, report Long BSR.
If a Regular BSR is
triggered, MAC triggers Scheduling Request procedure. If the UE has a valid
PUCCH resource for transmission of SR, then SR is transmitted, otherwise,
Random Access procedure is triggered
When a BSR other than
Regular BSR is triggered, Scheduling Request shall not be triggered
In Release-9, a new
IE logicalChannelSR-Mask-r9 under LogicalChannelConfig is introduced.
This controls SR triggering on a logical channel basis when an uplink grant has
been configured (UL SPS). For example, logical channel ID - 2 has IE logicalChannelSR-Mask setup, and if uplink
has been configured (UL SPS), then the UE doesn’t trigger SR procedure. The UE
may anyway use the configured grant to transmit data available on this logical
channel so triggering SR would be unnecessary.
A MAC PDU shall
contain at most one MAC BSR control element, even when multiple events trigger
a BSR by the time a BSR can be transmitted in which case the Regular BSR and
the Periodic BSR shall have precedence over the padding BSR
All triggered BSRs
shall be cancelled in case the UL grant can accommodate all pending data
available for transmission but is not sufficient to additionally accommodate
the BSR MAC control element plus its subheader
All triggered BSRs shall
be cancelled when a BSR is included in a MAC PDU for transmission
Long BSR example: Let
us consider an example in which only Long BSR is being transmitted (the grant
size is such that there is no padding also)
MAC PDU: 1E 2C 31 3F
Subheader: 1E ⇨
00011110 ⇨ LC ID is the 5 least significant
bits ⇨
11110
⇨
Long
BSR MAC CE
Remaining 3 octets
(24 bits) will carry Long BSR MAC CE which contains BSR for LCG ID#0 through
LCG ID#3, where each LCG occupies 6 bits. Binary format of hex 2C 31 3F = 001011000011000100111111
BSR index for LCG
ID#0 = 001011= 11 ⇨ Buffer Size of LCG
ID#0 is more than 42 bytes and less than or equal to 49 bytes.
BSR index for LCG
ID#1 = 000011= 3 ⇨ (12 < Buffer Size (in
bytes) <= 14)
BSR index for LCG ID#2
= 000100= 4 ⇨ (14 < Buffer Size (in bytes)
<= 17)
BSR index for LCG ID#3
= 001100 = 63 ⇨ (Buffer Size (in bytes) > 150000)
Short BSR example:
Let us consider an example in which only Short BSR is being transmitted (the
grant size is such that there is no padding also)
MAC PDU: 1D 2C
Subheader: 1D ⇨
00011101 ⇨ LCD ID is the 5 least significant
bits ⇨
11101
⇨
Short
BSR MAC CE
Second octet (2C) will
carry Short BSR MAC CE. Binary format of 2C = 00101100. Two MSBs carry LCG ID,
in this case, LCG ID = 0. Remaining 6-bits (101100) carry Buffer Size Index for
LCG ID #0.
BSR index for LCG
ID#0 = 101100= 44 ⇨ Buffer Size of LCG
ID#0 is more than 7505 bytes and less than or equal to 8787 bytes.