NR PDCP duplication

news2024/11/17 14:35:08

欢迎关注同名微信公众号“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的示意图。

e8bddf957f6b4db58eab87e11c61e3d2.png

 另外在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 去发送。

f16cd6c7744b472bbb26139d4f713f72.png

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

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

5f4b225ed5bc4586ad0dc2ebe70056f5.png

 当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。

f50d1da6efd74787b1df8eb1edc73dfa.png

R15 moreThanOneRLC

b7814d970b944042a1724f165ff311b0.png

当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层参数配置。 

08387f54c35d4e1ab0ae7fe6cb25441d.png

 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场景。

1866fcbac9ac48ca94182681c1fb6e8e.png

 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。

a3b06f0a519c4905baf22da112483c97.png

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,具体如下。

740f795393d2477289591e127df78f78.png

 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时,对应的是另一种场景,具体如下。

f6990e55ea844fc1be00845fb82bc17c.png

 当与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层参数配置如下。

cb0b324379b14909b26895a40433d539.png

 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,具体如下。

7713eb0378b847b3943cfee3b17b7102.png

 根据上面的描述,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状态。

 

其他规定

7234fc1c29164aafaf59ee8fad53a8a4.png

 当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 。

1c634b3ac5164717a58825c31e2365da.png

 4ff469a77a1344e9866e53fded62a64c.png

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

b5494b61376c4adb81a4efcce43cbcbd.png

当 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 。

56592d910ec74a8fa8fa9e73a03635b0.png

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

026c3024c168458f80a795eb58027d99.png

 上报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发送。

3c74db4fe05644dba74eec8e705b36b7.png

 

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

a1f7fcc7451f48b6baf6691511853388.png

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

9a9aa2a07a814e38a0c853ad27ab4587.png

 对于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

5d9949b2f3d245db9c67921ea81b5594.png

 根据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 也是同样的原则,不再赘述。

469f445d9f8c49a99fa0d432adda260b.png

 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激活方式,其他相关内容和上面一样。

1216229207ab4ece90a141e4230311ca.png

为了支持具有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。

5f2ac36b61014584b9b3db047fc0492d.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/350118.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集中式存储和分布式存储

分布式存储是相对于集中式存储来说的,在介绍分布式存储之前,我们先看看什么是集中式存储。不久之前,企业级的存储设备都是集中式存储。所谓集中式存储,从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系…

Zynq非Video Mixer方案实现视频叠加输出,无需SDK配置,提供工程源码和技术支持

目录1、前言2、Video Mixer的不便之处3、FDMA取代Video Mixer实现视频叠加输出4、Vivado工程详解5、上板调试验证并演示6、福利:工程代码的获取1、前言 关于Zynq使用Video Mixer方案实现视频叠加输出方案请参考点击查看:Video Mixer方案 对于Zynq和Micr…

Elasticsearch:Security API 介绍

在我之前的文章 “Elasticsearch:运用 API 创建 roles 及 users” ,我展示了如何使用 Security API 来创建用户及角色来控制访问 Elasticsearch 中的索引。在今天的文章中,我将展示一个使用 Security API 来创建一个用户及角色来访问一个索引…

双指针【灵神基础精讲】

来源0x3f:https://space.bilibili.com/206214 文章目录同向双指针[209. 长度最小的子数组](https://leetcode.cn/problems/minimum-size-subarray-sum/)[713. 乘积小于 K 的子数组](https://leetcode.cn/problems/subarray-product-less-than-k/)[3. 无重复字符的最…

计算机相关专业毕业论文选题推荐

计算机科学以下是我推荐的20个计算机科学专业的本科论文选题:基于机器学习的推荐算法研究与实现基于区块链技术的数字身份认证方案设计与实现基于深度学习的图像识别技术研究与应用基于虚拟现实技术的教育培训平台设计与实现基于物联网技术的智能家居系统研究与开发…

Dubbo与Spring Cloud优缺点分析(文档学习个人理解)

文章目录核心部件1、总体框架1.1 Dubbo 核心部件如下1.2 Spring Cloud 总体架构2、微服务架构核心要素3、通讯协议3.1 Dubbo3.2 Spring Cloud3.3 性能比较4、服务依赖方式4.1 Dubbo4.2 Spring Cloud5、组件运行流程5.1 Dubbo5.2 Dubbo 运行组件5.3 Spring Cloud5.4 Spring Clou…

[数据治理-02]一个例子搞懂元数据、参考数据、主数据、交易数据...的关系

杜威说过“所有知识都是分类”!很好理解,分类是认知经济,任何有效分类,都可以极大地节省我们的认知精力。谈到数据就必须做个分类,谈到数据分类可以从多个维度出发,比如按业务维度、这是财务数据、那是人力…

C++ ——多态 下 (图解多态原理、虚函数的再认知)

目录 一、抽象类 1)抽象类定义 2)抽象类的继承 3)抽象类实现多态 4)抽象类的好处 二、多态的实现原理 1)虚函数的存储方式 2)子类中虚函数的存储方式 ① 子类将基类中的虚表原封不动的拷贝到自己的…

【原创】java+swing+mysql教师管理系统设计与实现

教师管理系统主要是方便学校对教师进行管理,本文主要介绍如何使用java的swing窗体控件和mysql数据库去设计一个简单的教师管理系统。 功能分析: 本系统为javaswingmysql的教师管理系统,管理员、教师 功能如下: 管理员&#xff…

Quartz入门教程

本文参考文章编写 Quartz 官网 Quartz 是 OpenSymphony 开源组织在 Job Scheduling 领域又一个开源项目,是完全由 Java 开发的一个开源任务日程管理系统,“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时&#xff…

2022——寒假总结

文章目录背景报名摸索结果总结背景 大一上学期,刚上大学没有尽快适应,什么都没有学到。 因为疫情,所以平时的测试以及期末都是线上进行的,就没怎么认真学,网课直接划水。 我的生活与学习很不平衡,还热衷于参…

搭建hadoop高可用集群(二)

搭建hadoop高可用集群(一)配置hadoophadoop-env.shworkerscore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml/etc/profile拷贝集群首次启动1、先启动zk集群(自动化脚本)2、在hadoop151,hadoop152,hadoop153启动JournalNode…

【Kubernetes】【八】Namespace和Pod

第四章 实战入门 本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问。 Namespace ​ Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 ​ 默认情况下&…

java ssm自习室选座预约系统开发springmvc

人工管理显然已无法应对时代的变化,而自习室选座预约系统开发能很好地解决这一问题,既能提高人力物力,又能提高预约选座的知名度,取代人工管理是必然趋势。 本自习室选座预约系统开发以SSM作为框架,JSP技术&#xff0c…

昇腾CANN算子开发揭秘

开发者在利用昇腾硬件进行神经网络模型训练或者推理的过程中,可能会遇到以下场景:1、训练场景下,将第三方框架(例如TensorFlow、PyTorch等)的网络训练脚本迁移到昇腾AI处理器时遇到了不支持的算子。2、推理场景下&…

buu [WUSTCTF2020]大数计算 1

题目描述: 题目分析: part1:直接用 阶乘计算器,得出答案38609695part2:python代码,得出答案:67358675 print(520**13142333**666)part3:直接搜索宇宙终极问题,得到以下知识: 题目就是要我们给…

德赛西威NAV75*-SV731*导航升级(凯立德J30)实战

一、前言:升级导航德赛西威(2015年买的)地图几年没升级过了(之前自己折腾了一个)之前的启动是DSA2013(电子G已经无法升级数据文件了,本次只升级地图J30图资-凯立德)主程序版本&#…

超实用的小红书内容营销策略分享!纯干货

抓住小红书内容流量密码就是掌握了财富,越来越多的品牌方和商家都在小红书上收获了相当可观的用户流量,如果你的小红书营销没有什么起色,那绝对是没有走对方向。 小红书是一个内容为王的平台,如果你还不懂下面这些小红书内容营销…

VSCode设置eslint自动缩进和自动格式化代码

文章目录VSCode设置eslint自动缩进和自动格式化代码1、找到VS Code的settings.json文件2、修改settings.json文件内容为如下内容3、打开项目根文件夹下的 .eslintrc.js文件4、在rules 下配置“缩进几个空格”5、配置完保存,结束配置。VSCode设置eslint自动缩进和自动…

Linux——操作系统安装

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。个人爱好: 编程,打篮球,计算机知识个人名言:海不辞水,故能成其大;山不辞石…