以一個實網(wǎng)中的異常場景開始,大概流程是有UL data要發(fā)送,UE觸發(fā)BSR->no UL grant->SR->no UL grant->trigger RACH->RACH fail->RLF->RRC reestablishment:簡單描述就是UE觸發(fā)BSR,此時沒有UL grant,之后觸發(fā)SR,仍然沒有 UL grant,之后觸發(fā)RACH,RACH fail引起RLF,引起RRC reestablishment;這個異常場景在弱信號情況下比較常見,其中涉及的具體內(nèi)容其實是比較多的,這篇就看下BSR的內(nèi)容,BSR 的內(nèi)容主要在38.321 5.4.5章節(jié)。
開始之前簡單看下BSR和SR的區(qū)別:UE通過SR向gNB請求上行資源時,只指明了UE有上行數(shù)據(jù)需要發(fā)送,并沒有指明需要發(fā)送的上行數(shù)據(jù)數(shù)量。而BSR的作用是將UE當前buffer中待發(fā)送的數(shù)據(jù)情況通知給gNB,gNB可根據(jù)BSR上報的UE buffer的數(shù)據(jù)量,給UE分配上行資源;換個角度看,UE發(fā)BSR時,是通過BSR MAC CE,既然能發(fā)BSR,肯定是有UL grant,足夠發(fā)BSR,如果沒有UL grant,UE要通過SR向gNB要UL grant,進而UE就要發(fā)送SR。接下來看看協(xié)議中是如何描述BSR的。
BSR相關(guān)的RRC層參數(shù)如下
logicalChannelSR-Mask:在配置configured uplink grant of type1 or type2 時用于控制SR 的觸發(fā)。True代表對應(yīng)logical channel有配置SR masking。
logicalChannelSR-DelayTimerApplied:用于指示是否對logical channel 應(yīng)用SR 傳輸?shù)膁elay timer;設(shè)置為false的話,BSR-Config中就不會包含logicalChannelSR-DelayTimer。
logicalChannelSR-DelayTimer:單位是subframe數(shù),Value sf20 代表20 subframes, sf40 代表40 subframes,以此類推;該timer的作用顧名思義,就是在run期間不能觸發(fā)SR。
periodicBSR-Timer:單位是subframe數(shù), Value sf1 代表1 subframes, sf5 代表5 subframes,以此類推。
retxBSR-Timer:單位是subframe數(shù), Value sf10 代表10 subframes, sf20 代表20 subframes,以此類推。
logicalChannelGroup:logical channel group的ID, 代表logical channel 對應(yīng)的LCG ID。
說到參數(shù)LCG ID,那就順帶看下LC 和LCG的關(guān)系。實網(wǎng)下根據(jù)業(yè)務(wù)的不同,UE可能建立很多RB,如果為每一個邏輯信道(LC)上報一個BSR,會帶來大量的信令開銷。為了減少這種開銷,和LTE相同,NR引入了邏輯信道組(LCG)的概念,不同的是,NR將LCG個數(shù)由LTE的4個擴展到了8個,以滿足NR系統(tǒng)更多樣的業(yè)務(wù)場景。所以UE是基于LCG上報BSR,而不是為每個邏輯信道上報一個BSR。而邏輯信道的分組是gNB的算法,邏輯信道分組也是為了提供更好的BSR上報機制,一般會將有相似調(diào)度需求的邏輯信道放入同一LCG中。例如將相同QCI/priority的邏輯信道放入同一LCG。如下圖logical channel 4/2 分別對應(yīng)的是LCG 7/0。
既然UE的LCG和邏輯信道的配置是由gNB控制的,那gNB就知道每個LCG包含哪些邏輯信道以及這些邏輯信道的優(yōu)先級。雖然gNB無法知道一個單獨的邏輯信道的緩存狀態(tài),但由于同一LCG中的邏輯信道有著類似的QoS/priority需求,所以基于LCG上報BSR也可以在一定程度上滿足業(yè)務(wù)的QoS需求。
下面是38.321中BSR的內(nèi)容。
BSR是用于向serving gNB 提供 MAC entity中的 UL data volume信息的過程,之后gNB根據(jù)BSR 中的UL data volume及自身loading,向UE下發(fā)對應(yīng)的UL grant,用于UE UL 傳輸。
與BSR相關(guān)的幾個RRC層參數(shù)分別是periodicBSR-Timer;retxBSR-Timer;logicalChannelSR-DelayTimerApplied;logicalChannelSR-DelayTimer;logicalChannelSR-Mask;logicalChannelGroup。
每個logical channel 可以使用 logicalChannelGroup 分配到一個 LCG。LCG 的最大數(shù)量為八個。更具體的,MAC entity是根據(jù) RLC和 PDCP中的data volume計算過程確定logical channel可用的 UL 數(shù)據(jù)量,用于BSR的上報。
BSR 觸發(fā)場景(BSR的分類)
(1)屬于某個LCG的邏輯信道的有UL data要發(fā)送 ,并且該 UL data對應(yīng)邏輯信道的優(yōu)先級高于任何其他LCG有UL data要發(fā)送的邏輯信道的優(yōu)先級或
當所有LCG 邏輯信道都沒有UL data要發(fā)送時,某個LCG的邏輯信道有UL data要發(fā)送,在這種情況下觸發(fā)的BSR叫做 regular BSR;
(2)為了避免UE發(fā)送了BSR卻一直沒有收到UL grant的情況,gNodeB為UE配置了一個retxBSR-Timer定時器,當retxBSR-Timer 超時并且某個LCG的至少一個邏輯信道有UL data要發(fā)送,在這種情況下觸發(fā)的BSR也稱為Regular BSR,目的是使得UE周期性地向gNB更新Buffer Status;
(3)考慮到當regular BSR、padding BSR的觸發(fā)條件都不滿足時,網(wǎng)絡(luò)側(cè)也能知道UE的buffer status,以便后續(xù)為UE分配適當UL grant,定義了在periodicBSR-Timer 超時,在這種情況下觸發(fā)的BSR稱為Periodic BSR。
(4)UL grant給多了,UL數(shù)據(jù)組包接收后,還有剩余bits沒用完,就要在對應(yīng)的資源上加padding(MAC需要用 0 來填充),那padding bits數(shù)大于等于BSR MAC CE 加上其subheader的大小時,觸發(fā)的BSR叫做 padding BSR;
當多個邏輯信道同時觸發(fā)Regular BSR時,每個邏輯通道各自觸發(fā)一個獨立的Regular BSR,最后UE根據(jù)LCG 確定具體的buffer上報BSR。接下來看下BSR MAC CE的結(jié)構(gòu)。
BSR MAC CE
如開頭所述,為提高空口效率,BSR并不是為每個LC綁定一個BSR,而是為每個LCG綁定一個BSR,上報時以LCG為單位上報,如上圖的LCG ID用于區(qū)分BSR。
BSR MAC CE包含的類型分別是Short BSR/Long BSR/Short Truncated BSR/Long Truncated BSR,分別通過LCID 59~62進行區(qū)分。Pre-emptive BSR MAC CE用于IAB場景,不在本篇內(nèi)容之內(nèi)。
四種BSR MAC CE的發(fā)送與BSR的類型優(yōu)先序,padding BSR 根據(jù)場景的不同可以上報上述四種BSR MAC CE;而Regular BSR和Periodic BSR 只能上報Short BSR/Long BSR MAC CE,具體內(nèi)容后面再說。
short BSR/short Truncated BSR MAC CE
short BSR和short Truncated BSR MAC CE的結(jié)構(gòu)如上,分別由3 bits的LCG ID及5 bits的Buffer size組成,其中LCG ID對應(yīng)的是BSR 上報的LCG id;
Buffer size代表PDCP和RLC的data volume 單位是bytes,其中RLC header和MAC subheader不在buffer size的計算范圍內(nèi)。
short BSR和short Truncated BSR MAC CE的Buffer size為5bits,對應(yīng)0~31個value,分別代表不同的buffer size value,對應(yīng)如下。
例如上報的Buffer size index 為18 ,就代表buffer size 實際value在(2014,2806]bytes之間,之后網(wǎng)絡(luò)側(cè)根據(jù)實際loading,下發(fā)對應(yīng)的UL grant即可。
long BSR/long Truncated BSR MAC CE
從MAC CE的結(jié)構(gòu)看LCGi 對應(yīng)LCG0~LCG7;對于long BSR,當LCGi=1時,代表LCG i的Buffer size field 會上報,也就是BSR MAC CE中會包含其Buffer size field, 當LCGi=0時,代表LCG i 不會有Buffer size field上報,即BSR MAC CE中不會有其Buffer size field。對于Long Truncated BSR,當LCGi=1時,代表LCG i 有pending size要發(fā)送, 當LCGi=0時,代表LCG i 沒有pending size要發(fā)送,其實功能和long BSR類似。
long BSR/long Truncated BSR的Buffer size對應(yīng)8bits,其Buffer size index范圍是0254(255 reserved),代表不同的bytes值。Buffer size field 以LCG i升序排列(LCG 07) 。對于long Truncated BSR,Buffer size的大小有限制,不能超過padding bits數(shù)。
由于NR可配置8個LCG,如果將8個LCG緩存數(shù)據(jù)的大小全部上報給gNB,即使一些LCG中沒有緩存數(shù)據(jù),也會造成資源浪費,因此在NR中設(shè)計了可變大小的BSR格式。結(jié)合上面的描述可以看出,short 和long BSR 的區(qū)別就是short BSR的大小是固定的,long BSR 大小可變;其中,Truncated BSR是在上行資源不足以上報 normal BSR時,向網(wǎng)絡(luò)側(cè)上報部分LCG的信息。
BSR 上報流程
Regulat BSR 和Periodic BSR
對于Regular BSR,如果有l(wèi)ogical channel 觸發(fā)了BSR且有配置logicalChannelSR-DelayTimerApplied=true,那MAC entity要start/restart logicalChannelSR-DelayTimer;其他情況,不需要開啟logicalChannelSR-DelayTimer,logicalChannelSR-DelayTimer有在running就要停止。
對于Regular BSR和Periodic BSR,當多于一個LCG有UL data 要傳輸時,對于有UL data傳輸?shù)乃蠰CGs要上報Long BSR;否則,只有一個LCG有UL data要傳輸, 就上報Short BSR。
Padding BSR
對于Padding BSR,對應(yīng)padding bits大于等于short BSR+subheader的size但是小于long BSR+subheader的size時,
1 恰巧當前不止一個LCG有UL data傳輸時
1.1如果當前padding bits等于Short BSR+subheader,就report 有UL data要傳輸?shù)淖罡邇?yōu)先級LC 的short Truncated BSR;
1.2 當padding bits大于short BSR+subheader的size但是小于long BSR+subheader的size,就根據(jù)LCG 中LC的優(yōu)先級降序的順序上報Long Truncated BSR(如果出現(xiàn)優(yōu)先級相同的情況,就根據(jù)LCGID升序的順序上報)。
2 如果只有一個LCG有UL data傳輸時,就上報Short BSR。
padding bits大于等于long BSR+subheader的size時,就上報包含所有有UL data傳輸?shù)腖CG long BSR。
BSR cancel
當UL grant 足以用于傳輸所有pending的data但不夠額外容納 BSR MAC CE 及其subheader時,可以取消所有觸發(fā)的 BSR。當傳輸?shù)腗AC PDU包括long或short BSR MAC CE 時,應(yīng)取消在 MAC PDU 組裝之前觸發(fā)的所有 BSR,因為此時的long或short BSR MAC CE對應(yīng)的buffer status包含MAC PDU assembly之間觸發(fā)的BSR內(nèi)容。
其他規(guī)定
當前至少一個BSR被觸發(fā)且還沒有取消時,如果當前的UL grant足夠發(fā)送BSR MAC CE+subheader,就發(fā)送當前的生成功的BSR MAC CE,啟動或重啟 periodicBSR-Timer(所有生成的 BSR 都是long或 short Truncated BSR時 不需要開啟periodicBSR-Timer),也要開啟retxBSR-Timer。
當前至少一個BSR被觸發(fā)且還沒有取消時,logicalChannelSR-DelayTimer沒有run且觸發(fā)了Regualer BSR:
1 當前沒有UL grant進行傳輸;
2 對于configured ul grant的場景,在logicalChannelSR-Mask=false時觸發(fā)了regular BSR(比如configured ul grant場景配置的UL grant 不夠了,也要通過SR去要UL grant);
3 可用于新傳輸?shù)?UL-SCH 資源不滿足發(fā)送 經(jīng)過LCP映射限制過程后的觸發(fā)的BSR,意思就是觸發(fā)BSR后得到的UL grant還是不夠新傳(LCP 過程其他篇再說);
上述情況就要觸發(fā)SR,向網(wǎng)絡(luò)側(cè)要UL grant。
這里就是開篇 UE發(fā)送BSR后,沒有收到UL grant 之后觸發(fā)SR的理論依據(jù)。
即使多個事件已觸發(fā) BSR,一個MAC PDU最多應(yīng)只能包含一個 BSR MAC CE。
Regular BSR 和Periodic BSR 的優(yōu)先級高于padding BSR,對于由retxBSR-Timer超時觸發(fā)的BSR,MAC entity 認為觸發(fā)BSR的LC 的優(yōu)先級是最高的。即retxBSR-Timer超時引起的BSR的LC要優(yōu)先處理。
MAC entity應(yīng)在收到在任何 UL-SCH上傳輸新數(shù)據(jù)的UL grant后重新啟動retxBSR-Timer。
上面這段描述并沒有特別強制的問題,就描述了下對應(yīng)情況允許的做法,就列在這里做記錄。
最后各個timer的匯總?cè)缦?/p>
-
RRC
+關(guān)注
關(guān)注
0文章
28瀏覽量
11096 -
定時器
+關(guān)注
關(guān)注
23文章
3234瀏覽量
114358 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1995瀏覽量
61014 -
PDU
+關(guān)注
關(guān)注
0文章
93瀏覽量
16952 -
LCP
+關(guān)注
關(guān)注
2文章
61瀏覽量
22898
發(fā)布評論請先 登錄
相關(guān)推薦
評論