NR PDCP duplication

Posted modem协议笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NR PDCP duplication相关的知识,希望对你有一定的参考价值。

欢迎关注同名微信公众号“modem协议笔记”。

PDCP duplication 是PDCP 的一个功能,主要是为满足URLLC 场景的可靠性/延迟要求,而产生的一种提高传输可靠性的机制,具体就是在信号状况比较差的情况下,网络侧通过配置PDCP duplication,可以将相同的PDCP data PDU通过多个RLC 进行发送,通过重复发送的方式实现。R15 版本协议,PDCP duplication 可以将PDCP PDU 复制并通过 2 个 RLC bearer进行传输,PDCP duplication功能可以关联到2个RLC entity;R16有进行一系列的增强,可以将PDCP PDU关联到多于2个RLC bearers上 进行duplication 发送;R17 为保证configured grant场景的传输可靠性,对DRB增加一个参数survivalTimeSupport,以便UE在重传场景,收到UL grant(NDI=1且CS-RNTI加扰的DCI)后,激活相关DRB的PDCP duplication。

因为后面的笔记难免涉及PDCP duplication,为保证完整性,这篇就对这块进行一个简单的整理总结。 

PDCP duplication 有两种场景,分别是CA和DC场景,其实就是PDCP duplication,可以在CA 和DC场景应用。在CA场景下,MAC中配置的限制(allowedServingCells)确保重复数据通过不同的CC传输(在相同的Cell Group中)。在DC场景下,RLC bearer要映射到不同的cell group(即 MCG 和 SCG),即相同的packet会通过两个cell group进行传输,下图是RWS-180010中CA/DC duplication的示意图。

 另外在MR-DC场景还有一个Split bearer的结构需要和DC duplication区分,可以看到DC duplication和Split SRB都是一个PDCP 关联两个RLC,UL data可能会通过不同的cell group 发送,两者的区别就是DC duplication的定义,DC duplication场景下,相同的packet会分别通过两个RLC,最后通过两个cell group进行传输;而Split operation场景,并不存在相同packet传输的情况,根据38.323 5.2.1中的描述,PDCP PDU 最终只会送到一个RLC 去发送。

 上图对应的是PDCP duplication应用场景的示意图,网络侧主要通过UE上报的MR,对 PDCP duplication的active及deactive进行调度。

上面的内容算是概述,下面看看相关spec中的具体描述,先从38.300 16.1.3中相关描述开始:

 当RRC为radio bearer配置duplication时,radio bearer至少要添加一个secondary RLC entity 来处理duplicated PDCP PDU,如下图所示,其中 primary RLC entity对应的逻辑信道称为primary logical channel,secondary RLC entity(ies)对应的逻辑信道称为secondary logical channel(s)。相比于R15的描述,R16 中的secondary RLC entity(ies) 有变成复数的可能,因而R16 版本,并不局限于上面的配置2个RLC场景,最多可以对一个DRB配置4个RLC entities。 但是整体原则是没有变化的,PDCP duplicaiton场景中所有RLC entity要具有相同的 RLC mode。一旦radio bearer 对应的RLC entity激活后,duplicated PDCP PDU就会多次传输。UE可以通过多个独立的传输路径传输duplicated packet,进而提高了可靠性并减少了延迟,特别适用于URLLC service。值得注意的是duplication 的是PDCP Data PDU,而 PDCP control PDUs不会被复制且只会传到primary RLC entity。

R15 moreThanOneRLC

当DRB有配置duplication时,RRC 还会在(re)configuration时设置 PDCP duplication的状态(active或deactive)。配置后,PDCP duplication状态可以通过 MAC CE动态控制;在 DC场景中,UE只要收到相关的MAC CE,就要按照MAC CE进行对应的动作 (不管MAC CE是来源MCG 或 SCG)。当为SRB配置duplication时,PDCP duplication状态是始终处于active(不能动态控制)。

在一个PDCP entity关联2个RLC entity时,网络侧会通过PDCP-Config配置moreThanOneRLC用于告知UE primaryPath,以便PDCP duplication deavtive在进行38.323 5.2.1 Transmit operation时,根据具体的配置将packet送到不同的path,简单看下RRC层参数配置。 

 pdcp-Duplication:指示UE在收到这个IE时,UL duplication的状态。该字段的存在表示配置了duplication。 当该字段存在时,该字段的值表示接收到该 IE 时的duplication status。如果设置为 true,则duplication被激活。当为 SRB配置时,此字段的值始终为true。对于具有两个以上用于 UL 传输的关联 RLC entity的 PDCP entity,此字段始终存在。如果存在 moreThanTwoRLC-DRB 字段,则忽略该字段的值,此时的duplication status由 duplicationState 指示。对于具有两个以上关联 RLC entity的 PDCP entity,只有 NR RLC bearer支持该功能。这里有段话PDCP duplication不能用于LTE RLC bearer 的CA packet duplication,结合下面37.340 6.3中的描述,ENDC中CA duplication只能用于E-UTRAN PDCP且split bearer 没有配置DC duplication的情况,也就是说这里的LTE RLC bearer对应的不是ENDC场景,可能是NGEN-DC或NE-DC场景。

 morethanOneRLC:当超过一个 RLC entity与 PDCP entity相关联时,该字段配置UL 数据传输。如果承载配置为 DAPS 承载,则该字段不存在。该参数用于MRDC场景时,会在这个IE下有一个primaryPath的参数(由CellGroupID和LogicalChannelIdentity组成),用于告知UE哪个RLC是Primary RLC entity。

PrimaryPath:当超过一个 RLC entity与 PDCP entity相关联时,这个IE用于指示primary RLC entity的group ID 和 LCID;SRB只支持MCG对应的cell group ID,对于SRB, primary RLC entity 就是与MCG 相关联的cell group ID 的RLC 实体,因为SRB1和SRB2一定在MN 上; 对于split bearer,网络就需要cell group id+logical channle id来告诉UE哪个是 primary RLC entity; 对于CA 的PDCP dupliaction场景,网络通过logical channel 来告知UE哪个是Primary RLC entity,因为CA duplication场景,logical channel是在同一个cell group中,所以并不需要cell group id。

cellgroupId 目前只支持 0和1 ,0代表MCG,1代表SCG。

primary RLC entity用途比如在pdcp Duplicaiton 激活时,pdcp control pdu不进行复制,只送到primary RLC entity即可,pdcp data pdu 才要进行复制,送到所有关联的RLC等,其他场景详见38.323 5.2.1 transmit operation。

对于DRB duplication的动态控制是通过38.321 6.1.3.11 中的Duplication Activation/Deactivation MAC CE,具体如下。

 Duplication Activation/Deactivation MAC CE通过LCID 56区分,只能用于DRB配置有2 个RLC entities的场景;可以控制8个DRB的duplication status,DRBi=1时代表PDCP duplication 要处于active;DRBi=0时代表PDCP duplocatio要处于deactive。

R16 moreThanTwoRLC-DRB

在一个DRB有配置不止2个RLC entity时,对应的是另一种场景,具体如下。

 当与DRB关联secondary RLC entity 多于1个时(也就是RLC entity 多于2个的场景),此时这个DRB 有配置duplication,RRC会设置每个RLC entity的duplication状态(即active/deactive);类似的网络侧可以通过MAC CE 动态控制 secondary RLC entity DRB 相关的Dupliaction(active或deactive),也就是具体哪些 secondary RLC entity需要进行dupliacte传输。值得注意的是primary RLC entity不能被deactive。当DRB的duplication 被deactive时,与该 DRB 关联的所有secondary RLC entity都将deactive。当secondary RLC entity被deactive时,它不会被重新建立,HARQ buffer不会被刷新,发送端的PDCP entity应该指示secondary RLC entity 丢弃所有duplicated的 PDCP PDU。RRC层参数配置如下。

 moreThanTwoRLC-DRB:当超过两个 RLC entity与 DRB 的 PDCP entity关联时,会配置这个IE。

duplicationState:该字段指示在UE接收到该 IE 时关联的 secondary RLC entity 的UL PDCP duplication status。如果设置为true,则为关联的 RLC entity激活 PDCP duplicaiton status。指示的index由所有 RLC entity的逻辑信道 ID 的升序确定,该IE对应3bit,对应的是3个secondary RLC entity;除 primary RLC entity之外的关联 secondary RLC entity的数量为两个,则UE忽略该字段中最大index中的值。如果该字段不存在,则所有关联的 RLC entity的 PDCP duplication将被deactive。

splitSecondaryPath指示split secondary RLC entity的 LCID,用于当具有两个以上 RLC entities的 UL data传输与 PDCP entity关联时回退到split bearer operation时使用。针对split bearer场景是必须配置的,该RLC entity所属的cell group 要与primaryPath 中的cellGroup不同,详细用途见38.323 5.2.1 transmit operation 。

对于这个场景的DRB duplication的动态控制是通过38.321 6.1.3.32 中的Duplication RLC Activation/Deactivation MAC CE,具体如下。

 根据上面的描述,DRB 关联的primary RLC entity不能被deactive,而Duplication RLC Activation/Deactivation MAC CE 可以控制3个RLC entities,也就是说R16 版本 的PDCP duplication场景,将DRB关联的RLC entity 扩展到了4个,其中secondary RLC entity 最多可以配置3个,正如上图中的描述。Duplication RLC Activation/Deactivation MAC CE通过LCID 251区分,其中DRB ID 对应的是要应用MAC CE 的DRB,RLCi对应的是secondary RLC entity i,RLCi=1代表对应的RLC entity i的PDCP duplication是active状态,反过来就是deactive状态。

 

其他规定

 当DRB duplication处于active时,NG-RAN应确保与DRB的 active RLC entity相关联的每个逻辑信道至少有一个active服务小区;当deactive SCells 后,会导致对应逻辑信息的DRB没有active serving cell时,那NG-RAN也要将对应RLC entity 的duplication deactive。

当DRB duplication处于active时,原始的 PDCP PDU 和相应的副本不得在同一carrier上传输。配置duplication的radio bearer的逻辑信道既可以属于同一个MAC实体(即CA duplication场景),也可以属于不同的MAC实体(即DC duplication)。在CA duplication中,MAC entity中会使用逻辑信道映射限制来保证MAC entity中无线承载的不同逻辑信道不在同一个载波上发送。当为 SRB 配置 CA duplication时,与 SRB 关联的其中一个逻辑信道要映射到 SpCell。当为radio bearer配置超过两个RLC entity duplication时,CA duplication也可以在DC duplication中一个或两个 MAC entity中一起配置,结合开头的DC 和CA duplication示例图,个人理解这里的情况应该是如下结构,这段话是R16新增的,另外结合R15/R16 37.340 6.3中的描述,这里的DC应该指的是NR-DC 。

 

 37.340 6.3中的描述如上,考虑到不同的架构,这里对于CA duplication的应用场景进行了约束。

当 MAC entity中 DRB 的 CA duplication 被deactive时(即 DRB关联的RLC entity duplication 都被deactive或只有一个保持激活),只要MAC entity 对应DRB的CA duplication 保持deactive状态,那DRB 的逻辑信道的逻辑信道映射限制被解除,就是PDCP PDU不需要再像Duplication active时,要通过不同的CC 发送,按照当时的场景及规则发送即可 。

当RLC entity收到PDCP PDU 发送出去的ack时(即PDCP PDU成功送出),PDCP entity应指示其他 RLC entity丢掉对应的PDCP PDU,即网络侧收到对应的PDCP PDU后,UE侧就停止所有对应PDCP PDU的发送。此外,在 CA duplication场景下,仅限于SCell的RLC entity达到 最大重传次数时,UE要通知 gNB 但不会触发RLF,这里CA duplication场景下,SCell RLC entity达到最大重传次数场景的描述 在38.331 5.3.10.3 。

如黄色字体所述,MCG/SCG RLC 达到最大重传次数,有配置CA duplication且处于激活时,对于相应的逻辑信道,allowedServingCells仅包括 SCell:UE要通过FailureInformation上报rlc-failure,通知网络侧。allowedServingCells 代表的是当前逻辑信道能够应用的服务小区,即当前逻辑信道只能通过SCell进行发送,这时候RLC 达到最大重传次数后,通过FailureInformation告知gNB,也就是上面的场景。

 上报FailureInformation时,IE结构如下图,logicalChannelIdentity代表failing RLC bearer 逻辑信道的ID,cellGruopId对应的是failing RLC bearer cellGroupId,然后将failureType设置为rlc-failure。

FailureInformation由哪部分发送也有规定,具体的如果要通知网络的failure是和MCG RLC bearer相关就通过SRB1发送。

如果是与SCG RLC bearer相关,有配置SRB3就通过SRB3发送;没有配置SRB3,对应(NG)EN-DC场景的话,要将FailureInformation包在E-UTRA中的ULInformationTransferMRDC消息中通过E-UTRA 侧的SRB1发送;

如果是NR-DC场景,要将FailureInformation包在NR RRC中的ULInformationTransferMRDC消息中通过SRB1发送。

 

Activation/Deactivation of PDCP duplication

下面看看PDCP duplication active/deactive时 ,UE应该怎么做,具体在38.323 5.11和38.321 5.10中描述,这块主要是因为R16增加了一个Duplication RLC Activation/Deactivation MAC CE,因而多了些判断内容。

MAC 38.321 5.10

 如果不止一个DRBs有配置PDCP duplication时,网络侧会通过两个MAC CE deactive/active及通过RRC 层的配置控制对应DRB 的PDCP duplication status。

 对于DRB 相关的RLC entities subset可以通过Duplication RLC Activation/Deactivation MAC CE 或RRC层参数 deactive/active DRB关联的某个RLC entity PDCP duplication。MAC 层收到相关的MAC CE后,要向upper layer 上报对应的情况。

 

PDCP 38.323 5.11

 根据38.331中的描述当为 SRB 配置pdcp-Duplicaiton时,此字段的值始终为true,所以UE收到SRB 的pdcp-Duplicaiton配置,就active SRB的PDCP duplication。

对于DRB:如果收到的是针对DRB的PDCP duplication active indication(例如通过RRC 层的配置),就激活该DRB的PDCP duplication;如果收到的是相关RLC entities的PDCP duplication active indication(例如通过MAC CE),就激活对应RLC 和这个DRB 的PDCP duplication。对于deactive PDCP duplication 也是同样的原则,不再赘述。

 pdcp-duplication处于激活状态,某个AM RLC entity确认一个PDCP Data PDU成功发送出去时,要通知其他传输相同PDCP Data PDU的AM RLC entities discard这个PDU;如果收到的是针对DRB的PDCP duplication deactive indication,就通知除primary RLC entity的其他RLC discard duplication PDCP data PDU;如果收到的是某个RLC entities的PDCP duplication deactive indication,就通知对应的RLC discard 所有的duplication PDCP data PDUs。

 

R17 survivalTimeSupport

R17这部分目前看,只是增加了一种与survivalTimeStateSupport相关的PDCP duplication激活方式,其他相关内容和上面一样。

为了支持具有servival time requirement的UL periodic traffics(例如voice业务),网络侧可以通过为UE配置configured grant资源,以便 gNB 和 UE 两者都知道相关业务和configured grant之间的映射关系,从而允许gNB使用configured grant重传调度(通过 CS-RNTI)触发相应DRB的survival time。 在进入survival time state后,UE将对应DRB关联的所有RLC entity 激活duplication,以防止后续消息发送失败,从而满足servival time要求。 如果 DRB 的 CA 或 DC duplication已经激活,那当UE的任何active逻辑信道 收到任何重传grant时,相关的DRB也要进入survival time state.。

具体的说当UE收到CS-RNTI加扰的DCI(NDI=1) 指示的UL grant,该逻辑信道相关的DRB在RRC层有配置survivalTimeStateSupport时,UE就要对相关的RLC entities激活PDCP duplication,以提高随后data发送的可靠性,至于这种情况下何时deactive PDCP duplication,需要gNB下发相应的指示,例如通过上述的MAC CE deactive的方式。 R17这部分有参考R2-2203460/R2-2110444等等相关的文档。

 

最后是一些相关的capability IE。

以上是关于NR PDCP duplication的主要内容,如果未能解决你的问题,请参考以下文章

5G NR — 基站(Base Station)

5G安全系列AS层PDCP完整性保护与加密流程

5G安全系列AS层PDCP完整性保护与加密流程

PDCP 功能与基本概念

PDCP 功能与基本概念

PDCP 功能与基本概念