1.2 Parameters

The following table contains the receiver lane margining parameters as defined in the PCIe Gen5 Specification and the corresponding values used in the NVMe 5016 design. It is recommended not to deviate from the following values.

Table 1-1. PCIe RX Lane Margining Parameters
Parameter NameDescriptionNVMe 5016 DesignNVMe 5016 PCM FW Settings
MinMaxCapacity Values
MNumTimingStep

Number of time steps from default (to either left or right), range is ± 0.2 UI.

Timing offset must increase monotonically.

The number of steps in both positive (toward the end of the unit interval) and negative (toward the beginning of the unit interval) must be identical.

86316 steps
MMaxTimingOffset

Offset from default at maximum step value as percentage of a nominal UI at 16.0 GT/s.

A zero value might be reported if the vendor chooses not to report the offset.

20%50%40% (0.40UI)
MNumVoltageSteps

Number of voltage steps from default (either up or down), minimum range ± 50 mV as measured by 16.0 GT/s reference equalizer.

Voltage offset must increase monotonically.

The number of steps in both positive and negative direction from the default sample location must be identical. This value is undefined if MVoltageSupported is 0b.

3212764 steps
MMaxVoltageOffset

Offset from default at maximum step value as percentage of one volt.

A zero value might be reported if the vendor chooses not to report the offset when MVoltageSupported is 1b.

This value is undefined if MVoltageSupported is 0b.

550%12% (120 mV)
MSamplingRateVoltageThe ratio of bits tested to bits received during voltage margining. A value of zero is a ratio of 1:64 (1 bit of every 64 bits received), and a value of 63 is a ratio of 64:64 (all bits received).06331
MSamplingRateTimingThe ratio of bits tested to bits received during voltage margining. A value of zero is a ratio of 1:64 (1 bit of every 64 bits received), and a value of 63 is a ratio of 64:64 (all bits received).06331
MVoltageSupported1b indicates that voltage margining is supported.011
MIndLeftRightTiming1b indicates independent left or right timing margin supported.011
MIndUpDownVoltage1b independent up and down voltage margining supported.011
MIndErrorSampler1b margining does not produce errors (change in the error rate) in data stream (that is, the error sampler is independent) 0b margining might produce errors in the data stream.011
MMaxLanesMaximum number of lanes minus one that can be margined at the same time. It is recommended that this value be greater than or equal to the number of lanes in the link minus one. Encoding behavior is undefined if software attempts to margin more than MMaxLanes+1 at the same time.10Device dependentMax Lanes -1 (3)
MSampleReportingMethodIndicates whether sampling rates (MSamplingRateVoltage and MSamplingRateTiming) are supported (1) or a sample count is supported (0). One of the two methods is supported by each device.011
MErrorCount

If MIndErrorSampler is 1b this is a count of the actual bit errors since margining started.

If MIndErrorSampler is 0b this is the actual count of the logical errors since margining started.

The count saturates at 63.

0Returned from measurementNumber of errors detected by current capture is reported as part of the Margin Step command results.
MSampleCount

Value = 3*log2 (number of bits margined).

Where number of bits margined is a count of the actual number of bits tested during margining. The count stops when margining stops. The count saturates at 127 (after approximately 5.54 × 10^12 bits).

The count resets to zero when a new margin command is received.

0Returned from measurementNumber of samples collected is modified to fit in the status register after a Report Sample Count command is issued (see description).

Note: 1. This value is permitted to exceed the number of lanes in the link minus one.