5G/NR - Slot Configuration

 

 

 

Slot Configuration

How to determine the slot configuration is described in 38.213-11.1, but it is described in so complicated way and I think it will take long time for me to understand all the details.

My understanding at the very high level is as follows.

Three layers, and what each one may change

Three mechanisms set the direction of a symbol, and they arrive at very different rates. One comes in cell level configuration and changes rarely. One comes in dedicated RRC signalling. One comes in a DCI and can change every few slots.

The rule that ties them together is short, and everything else in clause 11.1 follows from it. Each layer may only touch what the layer above it left flexible. A downlink symbol stays downlink, an uplink symbol stays uplink, and only a flexible symbol is available to be decided later.

38.213 states this once for each of the two lower layers. For the dedicated configuration it says that tdd-UL-DL-ConfigurationDedicated overrides only flexible symbols. For the slot format indicator the wording is stricter, and it is worth reading closely.

A UE does not expect a DCI format 2_0 to indicate as uplink a symbol set that the semi-static configuration made downlink. It does not expect the reverse either. And it does not expect the indicator to mark those symbols as flexible. So the dynamic layer can neither reverse a semi-static decision nor undo one.

The drawing below follows one slot through all three layers. The top row is what the semi-static configuration gives, and each row below it changes only cells that were flexible in the row above.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 symbol tdd-UL-DL- ConfigurationCommon D D D D D D F F F F F F F U + tdd-UL-DL- ConfigurationDedicated D D D D D D D D F F F F F U + SFI in DCI format 2_0 D D D D D D D D F F F U U U downlink uplink flexible changed by this layer

< One slot as each of the three layers leaves it >

  • The blue block on the left never moves : symbols 0 to 5 are downlink from tdd-UL-DL-ConfigurationCommon, and no later layer may change them.
  • The green cell on the right never moves either : symbol 13 is uplink from the same source, and it is locked in the same way.
  • The dedicated layer takes two grey cells : symbols 6 and 7 become downlink, which is legal only because they were flexible.
  • The indicator takes two more : symbols 11 and 12 become uplink, joining symbol 13 which was uplink already.
  • Grey only ever shrinks : the flexible band goes from symbols 6 to 12, then 8 to 12, then 8 to 10, and it can never grow again.
  • Later layers narrow, and they never widen : each mechanism decides part of what the one above it left undecided.
  • The three layers run at different rates : cell level configuration, then dedicated RRC signalling, then a DCI.
  • Flexible is the only currency : a cell whose pattern leaves no flexible symbols gives the slot format indicator nothing to do.

The semi-static layer : tdd-UL-DL-ConfigurationCommon

Everything starts here, and a UE reads it before it has any dedicated configuration at all. This is cell level configuration rather than UE level, so every UE on the cell works from the same answer. What it supplies is a repeating pattern rather than a list of slots.

Two things come out of it. The first is a reference subcarrier spacing μref, from referenceSubcarrierSpacing. The second is pattern1, and optionally pattern2.

A pattern is five numbers. The field dl-UL-TransmissionPeriodicity gives the period P in milliseconds. Whole slots at each end come from nrofDownlinkSlots and nrofUplinkSlots. Partial slots beside them come from nrofDownlinkSymbols and nrofUplinkSymbols.

The layout inside a period follows from that ordering. A period holds S = P x 2μref slots. The first slots are downlink throughout and the last slots are uplink throughout. The downlink symbols come immediately after the downlink slots, the uplink symbols come immediately before the uplink slots, and everything that remains is flexible.

So the shape is always the same. Downlink at the start, uplink at the end, and one flexible region between them. A pattern cannot produce two separate flexible regions, and it cannot put the uplink part first.

Four of the periodicity values are restricted by the reference numerology, and the rest are not. The table below lists the four.

Value of P

Valid only for these μref

0.625 ms

3, 5, 6

1.25 ms

2, 3, 5, 6

2.5 ms

1, 2, 3, 5, 6

10 ms

0, 1, 2, 3, 5

 

pattern2 exists because one period is often the wrong length. When both are present the configuration repeats over P + P2 milliseconds, and the UE expects P + P2 to divide 20 ms. Each pattern lays out its own slots by the rule above.

One constraint links μref to the bandwidth parts. The UE expects μref to be no larger than the numerology of any configured DL or UL BWP. Each reference slot then covers 2μ-μref consecutive slots at the BWP numerology, and each reference symbol covers the same number of symbols.

  • The pattern has one shape : downlink first, uplink last, flexible between them, and never any other order.
  • The reference numerology is not the BWP numerology : it is usually coarser, and one reference slot expands to 2μ-μref real slots.
  • Two patterns exist for one reason : a single period rarely divides 20 ms in a way that suits the traffic, so P + P2 is allowed to do it instead.
  • Every UE on the cell sees the same pattern : nothing here is per UE, which is why the next layer exists at all.

The dedicated layer : tdd-UL-DL-ConfigurationDedicated

One pattern for a whole cell cannot suit every UE. This layer is the per UE correction, and it works on individual slots rather than on a repeating shape. What it may correct is limited to the flexible region the pattern left behind.

The configuration is a list. The field slotSpecificConfigurationsToAddModList holds one entry per slot that needs changing, and every slot it does not mention keeps what the common pattern gave it.

Each entry names a slot and a format. The slot comes from slotIndex, and what to do with it comes from symbols. That second field takes one of three forms.

  • allDownlink : every symbol in the slot becomes downlink.
  • allUplink : every symbol in the slot becomes uplink.
  • explicit : nrofDownlinkSymbols counts downlink symbols from the start of the slot, and nrofUplinkSymbols counts uplink symbols from the end. What remains between them stays flexible. Either number may be absent, which means none of that kind.

The limit is the rule from the first section. The UE does not expect this layer to mark as uplink a symbol that the common configuration made downlink, or to do the reverse. So allDownlink on a slot the common pattern made uplink is not a valid configuration.

Two smaller points are easy to overlook. The reference subcarrier spacing is not repeated here, and this layer uses the μref that the common configuration supplied. And the result is common to every configured BWP, so switching bandwidth part does not change which symbols are uplink.

  • It is a list of exceptions : slots the list does not name keep whatever the common pattern gave them.
  • explicit is the only partial form : allDownlink and allUplink take the whole slot, so a mixed slot needs the third form.
  • The numerology comes from the layer above : nothing in this configuration restates μref.
  • The answer is the same on every BWP : slot configuration and bandwidth part switching are independent of each other.

The dynamic layer : SFI in DCI format 2_0

The two layers above change on the timescale of RRC signalling. Traffic does not. The slot format indicator exists so that the flexible region can be assigned per slot, and it travels on a DCI that a group of UEs reads together.

The configuration comes first. SlotFormatIndicator gives the UE an sfi-RNTI and a payload size through dci-PayloadSize. It also gives a search space set and a CORESET for monitoring DCI format 2_0.

Per serving cell the UE is told where to look inside that DCI. The field positionInDCI gives the offset of the SFI-index field for that cell. One DCI format 2_0 therefore carries indications for several cells at once, each at its own offset.

The field value is an index rather than a format. RRC maps each slotFormatCombinationId to a list of formats, through slotFormatCombinations and slotFormats. The SFI-index field carries the combination id, and the UE expands it into one format per slot.

A slot format is a row of Table 11.1.1-1 in 38.213. Formats 0 to 55 are defined, and each gives 14 letters drawn from D, U and F. Format 0 is all downlink and format 1 is all uplink. Values 56 to 254 are reserved.

Format 255 is the interesting one. It tells the UE to determine the slot format from tdd-UL-DL-ConfigurationCommon or tdd-UL-DL-ConfigurationDedicated instead, and from any DCI it has detected. So the dynamic layer has a way of saying nothing for a particular slot.

The override rule is stricter here than for the dedicated layer. A UE does not expect an SFI-index field value to mark as uplink a symbol set the semi-static configuration made downlink, nor as downlink one it made uplink. It does not expect the value to mark them as flexible either.

That last clause is the one to remember. Both lower layers may turn flexible into downlink or uplink, and neither may turn a decided symbol back into a flexible one. The flexible region only ever shrinks, which is what the drawing in the first section shows.

  • The SFI is group signalling : it is scrambled with an sfi-RNTI, and one DCI serves several UEs and several cells.
  • The field carries an index, not a format : the mapping from combination id to a list of formats is configured by RRC beforehand.
  • Format 255 defers to the layers above : it is how a combination declines to say anything about a slot.
  • The indicator cannot loosen anything : it may not reverse a semi-static symbol, and it may not return one to flexible.

When the UE expects an SFI and does not get one

Monitoring for DCI format 2_0 changes how a UE treats a flexible symbol, and it changes it even when no DCI arrives. The asymmetry is easy to overlook. The same slot behaves differently depending on whether the indicator machinery is configured at all.

Take a UE that is not configured to monitor DCI format 2_0. On a flexible symbol set it receives PDSCH or CSI-RS whenever a DCI schedules them. It transmits PUSCH, PUCCH, PRACH or SRS whenever a DCI, a RAR uplink grant, a fallbackRAR grant or a successRAR tells it to. Flexible symbols are available to dynamic scheduling.

Now take a UE that is configured to monitor DCI format 2_0 but detects none for that slot. Dynamic scheduling still works the same way, so a scheduled PDSCH is still received and a scheduled PUSCH is still transmitted. What changes is everything arranged by higher layers.

Three consequences follow. A PDSCH configured by higher layers is not received. A configured CSI-RS is not received either, unless the symbols fall inside a remaining channel occupancy duration. A configured SRS, PUCCH, PUSCH or PRACH is cancelled, unless the UE is provided enableConfiguredUL.

DL PRS is the exception in that list. The UE receives DL PRS in those symbols whether or not an indicator arrived.

The pattern behind the list is consistent. A dynamic grant is a fresh instruction, so the gNB has just confirmed what the symbols are for. A configured transmission was arranged earlier, and a missing indicator leaves the UE unable to confirm that the direction still holds.

  • Configuring the indicator changes the default : a flexible symbol stops being freely usable once the UE is expected to be told about it.
  • Dynamic scheduling is unaffected : a DCI that schedules a PDSCH or a PUSCH is obeyed in either case.
  • Configured transmissions are what stop : SRS, PUCCH, PUSCH and PRACH are cancelled unless enableConfiguredUL is provided.
  • DL PRS is exempt : it is the one configured reception that survives a missing indicator.

Reference

[1] 38.213 v19.4.0 : NR - Physical layer procedures for control. Clause 11.1 was read for the two semi-static layers, and clause 11.1.1 for the slot format indicator, Table 11.1.1-1 and the behaviour when no DCI format 2_0 is detected.