USB 3.1 uses two block types: a control block with the header set to 1100, and a data block with the header set to 0011. With four bits, if one of the bits gets flipped, the design can actually correct that flip. A 1-bit-error situation is self-correctable and does not go to recovery. However, if 2 bits flip, the design can detect that problem and go to recovery.
One interesting note is that other protocols such as PCI Express use 128/130 encoding. If USB 3.1 had used the same encoding, the error rates due to 1-bit error would go all the way to 1.4^-14, which is about 2.6X worse than SuperSpeed.
The SuperSpeedPlus packet structure starts with the data packet header. The data packet header has two different encodings, depending on whether it's a deferred or non-deferred packet. In all of these data packet headers, the length field is actually replicated to create two copies of the same length field. The data packet payload cannot be truncated.
In SuperSpeed, 8b/10b encoding enabled designers to detect framing symbols very easily because every byte had four different possibilities. However, in 128b/132b, there are no distinctive symbols for the framing ordered sets. To avoid detecting these framing ordered sets within a packet, the payload length must match the size mentioned in the packet header. If the transmitter cannot provide all of the data, it is required to pad the rest with Logical Idle symbols (0x5A in SSP) until it matches that length field.