UE有UL data時,會發送BSR的告知網絡側自己詳細的請求,期望網絡能夠如期下發UL grant,正常情況下網絡側會給UE足夠的UL grant去發送UL data,整個過程都會比較順利。UE收到UL grant后,欣喜若狂,接下來要分配UL grant,但是很快就有一個難題擺在眼前,有時候UE側會有很多邏輯信道有UL data發送,也就是UE需要將多個邏輯信道復用到一個MAC PDU中,這么多邏輯信道,手心手背都是肉,那怎么分?毫無疑問spec上給出了解決方式,答案在38.321 5.4.3.1Logical channel prioritization (LCP),這部分算是很久的內容了,整體邏輯和LTE一樣。在配置之初,網絡側會為每個邏輯信道分配一個priority,進而可以決定多個邏輯信道的復用順序。擁有最高priority的邏輯信道的data會被優先處理,高優先級邏輯信道的data會優先包含在MAC PDU中,接著是第二高priority的邏輯信道的data,直到分配的UL grant被全部用完或沒有UL data要發送。
但是又有一個難題出現了,如果高priority的邏輯信道一直有UL data要發,那這個邏輯信道就會一直占用UL grant,其他邏輯信道無法發送自己的data,從而出現問題。和LTE一樣,NR引入了Prioritized Bit Ratio(PBR)和Bucket Size Duration(BSD)的概念,即通過RRC信令配置各個邏輯信道參數時,提前為每個邏輯信道配置好各自的PBR及BSD,這樣使得當前邏輯信道的的發送UL data增長到PBR×BSD時,其他待傳輸數據就不能再繼續用UL grant,剩下的UL grant就要分配給其他低優先級的邏輯信道,PBR*BSD對應的就是每個邏輯信道的最小數據速率保證,從而保證了其他低優先級邏輯信道的QoS。由于這部分R17和R15相比,基本沒有什么變化,只是多了幾個參數,就直接看看R17 spec是怎么寫的,都有哪些規定。
相關參數
logical channel prioritization過程中UL data調度的相關參數如下
priority: 邏輯信道的優先級,value對應1~16,value越小 優先級越高。
bucketSizeDuration(BSD): 單位是ms, ms5代表 5 ms, ms10代表 10 ms。
prioritisedBiteRate(PBR): 單位是kiloBytes/s,kBps0代表 0 kiloBytes/s ,kBps8代表 8 kiloBytes/s 依次類推,對于SRB,該值只能設置為infinity,如下,是實網環境下各個RB和邏輯信道之間的配置關系,SRB1的優先級通常是最高的,一般對應邏輯信道 id 1,只有有UL data 要發,所有的UL grant都會先分配給該邏輯信道,畢竟其他邏輯信道都是弟弟。
LCP 過程的控制參數如下
allowedServingCells 可以限制邏輯信道能夠應用的服務小區。
allowedCG-List 用于限制可以configured grant的傳輸,具體看下面的RRC層參數的具體意義。
allowedPHY-PriorityIndex用于設定動態 grant傳輸 允許的PHY priority index。
allowedHARQ-mode:R17新增參數,對應uplinkHARQ-mode,可以用于控制允許的HARQ mode;uplinkHARQ-mode 可以控制enable/disable HARQ feedback,分別對應HARQmodeA/HARQmodeB。
allowedSCS-List規定了允許傳輸的SCS,maxPUSCH-Duration規定了傳輸的最大PUSCH duration,兩個參數的設定與業務時延要求有關系,如果業務時延要求較短,可以將allowedSCS-List配置為較大SCS或將maxPUSCH-Duration配置為較小duration。
configuredGrantType1Allowed用于控制configured grant type 1是否可以用于上行傳輸。
allowedSCS-List、maxPUSCH-Duration 和 configuredGrantType1Allowed還與UE 能力掛鉤,如下。
lcp-Restriction:指示 UE 是否支持根據 RRC 配置限制,使用 RRC 參數 allowedSCS-List、maxPUSCH-Duration 和 configuredGrantType1Allowed為每個 UL grant選擇邏輯信道。
上述幾個參數在RRC層具體描述如下:
maxPUSCH-Duration: 某個邏輯信道配置該參數的情況下,則對應的UL MAC SDU 只能使用PUSCH持續時間小于等于該字段指示時間的UL grant進行傳輸;不配置時,沒有限制。
configuredGrantType1Allowed:針對URLLC業務,引入這個可以避免其他業務搶占URLLC業務的Configured Grant參數,配置的話 只能是True;如果有配置這個IE或UE不支持lcp-Restriction 能力,來自該邏輯信道的 UL MAC SDU 可以用configured grant type 1 傳輸。否則,來自該邏輯信道的 UL MAC SDU 不能用configured frant type 1 傳輸。
allowedCG-List:僅適用于 Configured UL grant場景,Configured grant場景會配置對應的ConfiguredGrantConfigIndexMAC。如果有配置該IE,則來自該邏輯信道的 UL MAC SDU 只能映射到該IE指示的Configred grant的配置。如果有配置該IE 但是沒有配置任何ConfiguredGrantConfigIndexMAC,則來自該邏輯信道的 UL MAC SDU 不能映射到任何已配置的configured grant 配置上 。如果該字段不存在,來自該邏輯信道的 UL MAC SDU 可以映射到任何已配置的configured grant 配置上。如果字段 configuredGrantType1Allowed 存在,則只有在該List中有指示已配置configured grant type 1 才允許由該邏輯通道使用;否則,該list不應包括任何已配置的configured grant type 1配置。
allowedServingCells:針對重復傳輸(Duplication),引入了這個參數,用于限制重復內容在相同的小區傳輸,后面,allowedServingCells也被應用來限制邏輯信道能夠應用的服務小區。所以這個參數配置時需要注意,如果與邏輯信道關聯的 DRB/SRB有配置PDCP CA duplication (即PDCP entity與屬于相同Cell group的多個RLC entity相關聯),則該字段是強制存在的,其他情況該字段是可選配置的。如果有配置該參數,則來自該邏輯信道的 UL MAC SDU 只能映射到該列表中指示的服務小區。否則,該邏輯信道的 UL MAC SDU 可以映射到對應cell group中的任何已配置服務小區。
allowedPHY-PriorityIndex:此限制僅適用于動態grant 場景。R16 可以通過配置priorityIndicatorDCI =enable,使得DCI 0_1/0_2 帶有1 bit的Prority indicator field,進而告知UE 該動態調度對應的priority,priority index 非0即1,具體如下圖示;如果該字段存在并且動態grant具有對應的PHY priority index,則來自該邏輯信道的 UL MAC SDU 只能映射到指示PHY priority index等于該字段配置的值的動態grant。如果該字段存在并且動態grant沒有 PHY priority index(即對應priority index 0),則如果該字段的值為p0,則來自該邏輯信道的 UL MAC SDU 只能映射到該動態 grant. 如果該字段不存在,則來自該邏輯信道的 UL MAC SDU 可以映射到任何動態 grant。
下面看下38.321 中UL grant的分配規則
UE為每個邏輯信道j 維護一個參數Bj,當某個logical channel j建立時,對應的Bj初始化為0。
在每次LCP 過程時,Bj增加PBRT,其中T代表上次Bj增長后經過的時間;如果Bj>bucket size(PBRBSD),則Bj=bucket size(PRB*BSD)。
這個bucket size(PBR*BSD)對應的是每一輪資源分配時,每個邏輯信道可以得到的最大的UL grant量。
Selection of logical channels
當UE有新傳要執行時,要同時滿足下面的條件的前提下才能為UL grant選擇邏輯信道:
1 有配置allowedSCS-List時,allowedSCS-List 中允許的SCS index包括與 UL grant關聯的SCS;
2 有配置maxPUSCH-Duration時,UL grant 的PUSCH 傳輸duration 要小于等于maxPUSCH-Duration配置的值;
3 confiuredGrantType1Allowed=true時,UL grant要對應Configured grant type 1;
4 allowedCG-List 包含對應UL grant的configured grant index;
5 allowedPHY-PriotityIndex 包含動態 UL grant 的priority index;
6 allowedServingCells 對應的是允許使用UL grant的cell info(這個參數不會用于CA duplication deactive的情況);
7 符合allowedHARQ-mode的要求。
上面七個條件是and的關系,對應參數有配置時才要考慮。
Allocation of resources
邏輯信道資源分配步驟如下。
step1:對于所有Bj>0的邏輯信道,按照優先級遞減順序排序。當某個邏輯信道的PBR配置成無窮大時,只有當這個邏輯信道的資源得到滿足后,才會考慮比它優先級低的邏輯信道;其他情況每個邏輯信道每次可以分的的最大UL grant只能是bucket size=PRB*BSD。
step2:Bj減去邏輯信道j在步驟1中用到MAC PDU的所有MAC SDU的大小。
step3:如果前兩步執行后仍有上行資源剩余,則把剩余的資源按照邏輯信道優先級分配給各個邏輯信道,而不再比較Bj的大小。只有當所有高優先級的邏輯信道的數據都發送完畢且UL grant還未耗盡時,低優先級的邏輯信道才能得到服務。兩個邏輯信道優先級相同時,就要同等服務。
舉個例子如上圖,假如只有兩個邏輯信道要有UL data要發送,對應的bucket size(BSD*PBR)分別為橘黃色部分和藍色部分。第一種情況,UL grant只能滿足邏輯信道1 的bucket size,就先把邏輯信道1 對應量的data 送出去,剩余的UL grant全部給邏輯信道2;第二種情況,UL grant 正好可以滿足兩個邏輯信道的bucket size 要求,就按照優先級高低,都裝進去;第三種情況,UL grant 裝滿兩個邏輯信道的bucket size后,還有剩余,這時候,只考慮優先級的高低,優先級高的先用,優先級低的后用,直到用完或者邏輯信道沒有UL data 發時為止,所以先上邏輯信道1 的其他UL data,裝走邏輯信道1的剩余UL data后,UL grant還有余量 再裝邏輯信道2。
UE在UL調度時要遵守以下規定:
1 一個完整的RLC SDU(或分段傳輸的RLC SDU或重傳的RLC PDU),如果剩余UL grant足以發送,UE就不能對它執行segment,這樣也可以減輕網絡側接收的處理負擔;
2 如果UE需要對RLC SDU執行分段,則要按照ul grant的余量,最大化segment 的size,以便達到盡可能減少RLC SDU segment的目的;
3 UE盡可能傳輸數據量大的RLC SDU;
4 如果UE MAC entity收到的UL grant >=8Bytes,且有UL data要傳輸,則MAC entity不能只傳輸Padding BSR和/或Padding,也應該包含相應的上行數據。
具體到邏輯信道,要按照以下順序執行優先級過程,優先級順序由高到底排列。
某些場景,網絡側和能力比較強的UE會達成共識,這樣的UE收到 UL grant但是沒有data發送時,就可以不發任何東西了,這樣可以減輕UE的負擔,網絡側也能省去一些麻煩,具體如下。
不生成MAC PDU的情況
SkipUplinkTxDynamic: UE沒有UL data要傳輸時,如果支持該功能,UE就可以在這個UL grant的資源上不發任何data
enhancedSkipUplinkTxDynamic:如果UE沒有UL data和UCI要發送時,如果支持該功能,UE就可以在這個UL grant的資源上不發任何data。
簡單的說就是UE 沒有UL data發,網絡開了skip功能,UE也支持,那UE就可以skip;不支持的話UE就要在UL grant上加padding。
如果MAC配置了enhancedSkipUplinkTxDynamic=ture,同時UL grant是通過C-RNTI加擾的DCI 收到的,或對應的是configured UL grant,那HARQ entity滿足以下條件,MAC entity就不會生成對應的MAC PDU:
1 此次PUSCH傳輸不需要發送aperiodic CSI;
2 MAC PDU沒有MAC SDU,就是沒有data要發;
3 MAC PDU只包括 periodic BSR,同時任何邏輯信道組(LCG)都沒有可發送的數據,或MAC PDU只包括Padding BSR。
4 PUSSH 傳輸不存在UCI復用的情況
除了上面的情況,如果HARQ entity滿足以下條件,MAC entity就不會生成對應的MAC PDU:
1 MAC配置了skipUplinkTxDynamic=ture,同時UL grant是通過C-RNTI加擾的DCI 收到的,或對應的是configured UL grant;
2 此次PUSCH傳輸不需要發送aperiodic CSI;
3 MAC PDU沒有MAC SDU;
4 MAC PDU只包括 periodic BSR,同時任何邏輯信道組(LCG)都沒有可發送的數據,或MAC PDU只包括Padding BSR。
這部分至此就結束了。回到最初的異常場景BSR->no UL grant->SR->no UL grant->trigger RACH->RAfail->RLF->RRC reestablishment,UE 收到UL grant后,要按照這篇中的規則辦事,保證各個邏輯信道可以正常工作。但是BSR送出去后沒有收到UL grant,最后觸發了SR,如果又沒有收到UL grant,這時候UE的內心或許無奈,或許又有點生氣著急..... 那UE具體該怎么做?
-
RRC
+關注
關注
0文章
28瀏覽量
11149 -
SCS
+關注
關注
0文章
19瀏覽量
10556 -
PDU
+關注
關注
0文章
94瀏覽量
16990 -
RLC
+關注
關注
1文章
116瀏覽量
38939
發布評論請先 登錄
相關推薦
評論