5G/NR - MAC CE |
||
MAC CE - Buffer Status Report MAC CEs
The functionality of BSR in NR is exactly sa the LTE BSR. For the BSR functionality, refer to LTE BSR page. The dfference is the structure of MAC CE and the length of Buffer Size Bit field. It is understandable that the length of the BSR bit field in NR would be longer than LTE BSR. Another difference is that NR BSR has explcit bit field for LCG as shown below whereas LTE BSR specifies LCG implcitely.
Simply put, Buffer Status Report (BSR) is a message from UE to eNB (MAC layer command) saying 'I have this amount of data to send would you give grants big enough to transmit all of these data ?"
As a formal definition, 38.321-5.4.5 states as follows : The Buffer Status reporting (BSR) procedure is used to provide the serving gNB with information about UL data volume in the MAC entity.
Parameters for BSR and Overall Operation
In order to send BSR, the first thing UE has to do is to estimate how much data it has to transmit. This process is called 'Data Volumn Calculation'. The data volumn to transmit is based on how much data is in RLC and PDCP. Regarding RLC layer data volumn calculation, there are several factors to be used to calculate the data volumn as listed below (based on 38.322-5.5)
Regarding PDCP layer data volumn calculation, there are also factors to be used to calculate the data volumn as listed below (based on 38.322-5.5)
Once Data Volumn Calculation is done, UE need to determine exactly when it needs to send BSR and for which logical channel it wants to send. There are multiple parameters affecting this decision making. According to 38.321-5.4.5, those parameters are as follows :
These parameters can be configured by Rrc message.
< 38.321-Figure 6.1.3.1-1: Short BSR and Short Truncated BSR MAC CE >
< 38.321-Figure 6.1.3.1-2: Long BSR and Long Truncated BSR MAC CE >
< 38.321-Table 6.1.3.1-1: Buffer size levels (in bytes) for 5-bit Buffer Size field >
< 38.321-Table 6.1.3.1-2: Buffer size levels (in bytes) for 8-bit Buffer Size field >
MAC-CellGroupConfig ::= SEQUENCE { drx-Config SetupRelease { DRX-Config } OPTIONAL, -- Need M schedulingRequestConfig SchedulingRequestConfig OPTIONAL, -- Need M bsr-Config BSR-Config OPTIONAL, -- Need M tag-Config TAG-Config OPTIONAL, -- Need M phr-Config SetupRelease { PHR-Config } OPTIONAL, -- Need M skipUplinkTxDynamic BOOLEAN, ..., [[ csi-Mask-v1530 BOOLEAN OPTIONAL , -- Need M dataInactivityTimer-v1530 SetupRelease { DataInactivityTimer } OPTIONAL -- Need PCellOnly ]] }
BSR-Config ::= SEQUENCE { periodicBSR-Timer ENUMERATED { sf1, sf5, sf10, sf16, sf20, sf32, sf40, sf64, sf80, sf128, sf160, sf320, sf640, sf1280, sf2560, infinity }, retxBSR-Timer ENUMERATED { sf10, sf20, sf40, sf80, sf160, sf320, sf640, sf1280, sf2560,sf5120, sf10240, spare5, spare4, spare3, spare2, spare1}, logicalChannelSR-DelayTimer ENUMERATED { sf20, sf40, sf64, sf128, sf512, sf1024, sf2560, spare1} OPTIONAL, -- Need R ... }
Reference
[1]
|
||