4.3.8 bwp-InactivityTimer的设计
与其他Timer类似,bwp-InactivityTimer的具体设计包括如何配置这个Timer,以及它的启动、重启、中止条件等问题。
1.bwp-InactivityTimer的配置方法
第一个问题是配置计时器的单位。MAC层运行的Timer一般以ms为单位,如drx-InactivityTimer就是以ms为单位配置的。bwp-InactivityTimer是否需要采用更小的单位进行配置呢?如4.3.9节所述,BWP Switching时延是以“时隙”为单位计的,因此bwp-InactivityTimer采用过小的配置颗粒度(如符号级别)的必要性不大,因此bwp-InactivityTimer仍然是以ms为单位配置的,且最小值为2 ms。bwp-InactivityTimer的最大配置值可达2 560 ms,与drx-InactivityTimer的最大值一致。可以看到,通过配置不同的bwp-InactivityTimer长度,基站可以控制DL BWP Switching的频度,如果希望通过较频繁的DL BWP回落获得更好的终端省电效果,则可以配置较短的bwp-InactivityTimer,如果希望避免频繁的DL BWP Switching,实现比较简单的BWP操作,则可以配置较长的bwp-InactivityTimer。
需要说明的是,如果配置了多个DL BWP,则这个bwp-InactivityTimer是适用于各个DL BWP的,不能针对不同DL BWP配置不同的bwp-InactivityTimer。这是一种简化的设计。如果所有的DL BWP具有相同的子载波间隔,则采用相同的bwp-InactivityTimer完全合理。但具有不同子载波间隔的DL BWP,由于其时隙长度不同,1 ms内包含的时隙数量不同,如果想使不同DL BWP的持续时间包含相同数量的时隙,似乎应该允许为不同DL BWP配置不同的bwp-InactivityTimer(以ms为单位)。但从简单设计考虑,最终采用了BWP-common(BWP公共)的bwp-InactivityTimer配置方法。
另外,bwp-InactivityTimer不适用于Default DL BWP,因为这个Timer本身就是用来控制回落到Default DL BWP的时间的,如果终端本身正处在Default DL BWP,则不存在回落到Default DL BWP的问题。
2.bwp-InactivityTimer的启动/重启条件
显而易见,bwp-InactivityTimer的启动条件应该是DL BWP的激活。如图4-39所示,当一个DL BWP(除Default DL BWP)被激活后,马上启动bwp-InactivityTimer。
bwp-InactivityTimer的重启主要受数据调度的情况影响。如4.3.4节、4.3.5节所述,bwp-InactivityTimer的主要功能是在终端长时间没有数据调度的情况下回落到Default DL BWP,以达到省电效果。与DRX操作相似,当终端收到调度其数据的PDCCH时,应该预计可能还有后续的数据调度,因此无论现在正在运行的bwp-InactivityTimer的运行情况如何,都应该回到零点,从头开始Timer的运行,即重启bwp-InactivityTimer。如图4-39所示,当收到一个新的PDCCH时,bwp-InactivityTimer被重启,重新开始计时,实际上延长了终端停留在宽带DL BWP的时间,如果在bwp-InactivityTimer到期之前,终端没有收到新的调度数据的PDCCH,则终端回落到Default DL BWP。
图4-39 bwp-InactivityTimer的启动与重启
3.bwp-InactivityTimer的中止条件
如上所述,由于收到调度数据的PDCCH可能预示着后续有更多的数据将被调度,所以应该重启bwp-InactivityTimer。但还有一些其他的物理过程,并不预示有后续数据调度,但需要保证在该过程中不发生DL BWP Switching,则bwp-InactivityTimer需要暂时中止,等该过程结束后再继续运行完剩下的时间。在NR标准的研究中,主要讨论了两种可能需要中止bwp-InactivityTimer的过程:一是PDSCH接收;二是随机接入。
如果终端被PDCCH调度了一个长度较长的PDSCH[比如多时隙PDSCH(Multi-slot PDSCH)],距离PDCCH距离又较远,而配置的bwp-InactivityTimer长度却较小,可能出现终端尚未完成PDSCH的接收,bwp-InactivityTimer就已经过期的情况,如图4-40所示。在这种情况下,根据bwp-InactivityTimer的运行规则,终端就会中止在激活DL BWP中的PDSCH接收,回落到Default DL BWP,这显然是不合理的操作。
图4-40 由于PDSCH持续接收造成的bwp-InactivityTimer过早到期的情况
对于这种场景,一种解决方案是在开始接收PDSCH时暂时中止bwp-InactivityTimer的运行,如图4-41所示,在完成PDSCH接收后恢复bwp-InactivityTimer的运行,直至bwp-InactivityTimer到期。
图4-41 在PDSCH接收过程中中止bwp-InactivityTimer的方案
但是经过研究,认为上述方案的应用场景(即bwp-InactivityTimer配置较短,而PDSCH结束接收的时间点距离PDCCH较远)是一种不常见的场景,gNB可以比较容易地避免这种情况的发生,因此最终R15 NR bwp-InactivityTimer的中止条件没有采纳这种方案。
R15 NR bwp-InactivityTimer采用的中止条件主要是与随机接入(RACH)过程有关。如图4-42所示,当终端启动RACH过程时暂时中止bwp-InactivityTimer的运行,在完成RACH过程后恢复bwp-InactivityTimer的运行,直至bwp-InactivityTimer到期。之所以要在RACH过程中避免DL BWP Switching,是因为RACH过程需要在成对配置的DL BWP和ULBWP上完成(原因在4.3.11节具体介绍)。因此,要在RACH过程未完成前,避免由于bwp-InactivityTimer到期,终端向Default DL BWP回落(如果当前的激活DL BWP并非Default DL BWP),造成DL BWP和UL BWP不匹配。
图4-42 在RACH过程中中止bwp-InactivityTimer的方案