While studying the MAC specification today, I thought it would be a good idea to check the MAC Buffer Status Report (BSR) control element details.
I had following questions in my mind about Buffer Status Report:
- Why is this control element used in LTE?
- What are different BSR CE formats?
To start the discussion let’s check why BSR is used in LTE and why it is important.
MAC Buffer Status Report Control Element (BSR CE)
Information regarding how much data is accumulated in the UE’s buffer is delivered from the UE to the eNB using this MAC CE. Simple and straight.
When there is data in MAC buffer and it does not have enough UL resources, it asks network to allocate some grant to send the data. After getting this request network allocates a minimum amount of grant (PUSCH), so UE MAC can send the data packets. This is useful because using this mechanism eNodeB can make sure that the UL network resources are used properly.
So in summary this mechanism helps in:
- Allocate UL resources only when a particular UE has something to transmit.
- Avoid allocating resources when UE has nothing to transmit to save network resources.
As we are now clear why BSR is useful, let’s check this MAC control element format.
There are two main types of BSR in MAC, short BSR and long BSR.
- Short BSR is used to report UL buffer only for one logical channel group
- Long BSR is used to report UL buffer for all logical channel groups. So there is no LCG ID (Logical channel id) information in Long BSR. Each Buffer Size field represents one logical channel group.
The Buffer Size field itself is 6 bit long. That means only 64 different combination can be possible. For this reason in LTE MAC there is a mapping from this field value to actual buffer size value in bytes.
Which table to be used when depends on an optional parameter: extendedBSR-Sizes. If extendedBSR-Sizes is not configured, the values taken by the Buffer Size field are shown in Table 184.108.40.206-1. If extendedBSR-Sizes is configured, the values taken by the Buffer Size field are shown in Table 220.127.116.11-2.
Table 18.104.22.168-1: Buffer size levels for BSR
Table 22.214.171.124-2: Extended Buffer size levels for BSR
How BSR is configured in RRC message?
If you are checking a log search for these two parameters in RRC messages: