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.
Nice Explanation. There is just a typo "LC ID is the 6 least significant bits" instead of 5.
ReplyDeleteMaybe a silly question, but I just can't get over it: 36.321 states that the retxBSR timer is to be restarted when the UE is allocated UL resources and a BSR is to be sent if the timer expires.
ReplyDeleteBut what I am missing (in the standard) is that the timer is started again, when a BSR has been triggered following the expiry of the timer.
What if the thus triggered BSR gets lost for some reason? Shouldn't the retxBSR timer be restarted directly upon expiry and triggering of BSR? Or is it implicitly clear to the "knowledgeable individual" that the timer is restarted in this case, as well?
What do you mean by Triggered BSR gets lost for some reason? could you please elaborate? I don't see any reasons/scenarios where a triggered BSR gets lost...could you please provide an example?
DeleteFYI.., The expiry of the retxBSR-Timer doesn't trigger a Regular BSR unless there is data available for transmission for any of the logical channels which belong to a LCG...
Thanks for responding.
DeleteWhat I mean is this situation:
* The retxBSR timer expires.
* So the UE sends a BSR.
* But the BSR happens to not be successfully decoded by the eNB. (It's a wireless link, so packet losses do happen.)
What then? I would expect that the UE would send the BSR again after a certain period of waiting in vain for a reaction from the network. (This could e.g. be achieved by restarting the retrxBSR timer when the last BSR was sent out.) Otherwise the UE might wait for a needlessly long time (e.g. until higher prio data arrives in its buffer) for a chance to transmit data, while the network is not even aware of the UE having data to transmit.
Hi,
DeleteSorry for the very delayed response. Referring to your original question (after you explained it a bit more), the answer is Yes, the reTxBSR-Timer is restarted which is also specified in 36.321.
Upon the expiry of retxBSR-Timer and the UE still has data available for transmission for any of the logical channels which
belong to a LCG, in which case the regular BSR is triggered. This timer is started or restarted in the TTI where the UE has UL resources allocated for new transmission...
Hi,
DeleteMy understanding as per spec.. In case for Regular BSR (sent first timer or after reTxBSR-Timer expiry), if eNB haven't granted the UL resources (and no further UL resources to send BSR in next occasion) then SR request is sent. Upon UL grant regular BSR is sent.
Correct me if am wrong...
Yes correct
DeleteHow UE report the BSR to EnodeB with PHY layer .
ReplyDeleteExample:
SR is transmitted on PUCCH format 1 similar how BSR will be send to EnodeB
BSR is sent on PUSCH when the grant becomes available
DeleteBSR needs a grant from the UE. That is why SR has been sent.
ReplyDeleteTypo
DeleteBSR needs a grant from the Network. That is why SR has been sent.
Hi Kumar, why does BSR with padding has less priority compared to those without padding? In Spec 36.321 (v12.9.0), section 5.4.3.1, indicates the same.
ReplyDeletePadding BSR is sent just to indicate the network with the current buffer status when the allocated grant allows space...Other BSRs for example Regular BSR and Periodic BSR are the main BSRs which are triggered when there is data to be sent in the UL Buffer. Hope this clarifies.
Delete"When a BSR other than Regular BSR is triggered, Scheduling Request shall not be triggered"
ReplyDeleteHere my question is , then how and at what instance other BSR are sent to eNB..It will be very useful if you can depict an diagram along with explanation .
As explained by you , regular BSR are sent on PUCCH-UCI- PUCCH format 1
regular BSR can be Short or longBSR MAC CE , can you please explain for the other BSR
Q: how and at what instance other BSR are sent to eNB
DeleteretxBSR-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.
Q: regular BSR can be Short or longBSR MAC CE , can you please explain for the other BSR
Periodic and Padding BSR can also be Long or Short. But Padding BSR can be truncated as well
Hi Sir,
DeleteHi,
My understanding as per spec.. In case for Regular BSR (sent first timer or after reTxBSR-Timer expiry), if eNB haven't granted the UL resources (and no further UL resources to send BSR in next occasion) then SR request is sent. Upon UL grant regular BSR is sent.
Correct me if am wrong...
Here you are agreeing that SR would be sent after retxBSR timer expiry...It seems contradictory to me.
I have a makeshift network I am using. In one of the setups I have, the UE is constantly sending completely empty BSR Padding messages, making the throughput of the UL always 5.99Mbps. So I have 2 questions:
ReplyDelete1. What would cause the UE to constantly send the empty padding?
2. Is this setup (where the BSR padding is constantly sent by the UE) viable/true in a real LTE network such as AT&T/Verizon?
Yes it is true in real network as well.
DeleteIt might be that, at those specific TTIs where Padding BSR indicated zero size, UL grant(s) in this TTI could accommodate all the data in the buffer in which case ZERO size padding BSR indicates not pending data in the UL buffers
DeleteCould you please explain the impact of Latency Ping LTE when we have the below 2 configuration?
ReplyDeleteperiodicBSR-Timer: 14 ( infinity)
periodicBSR-Timer: 1 ( sf10)
Based on the ping interval a regular BSR is anyway triggered.
DeleteThank you for your information.what is difference between LCG and LCID and how both are related?
ReplyDeleteMy understanding is, LCG 0 contains LCID 0, 1, 2. ( All SRB's). Higher LCID's are stored in LCG 1, 2 or 3. (stores DRB'S)
ReplyDeleteHi,
ReplyDeleteWhen does the UE sends the BSR with Size 0, is it similar to padding BSR and does enb should give UL grant for such BSR?
Kindly reply