De acuerdo con la sección 4.2.4.10.1 de la Especificación Base de PCIe 3.0:
El soporte para la inversión de carril es opcional.
• Si se implementa, se debe realizar una reversión de carril tanto para el transmisor como para el receptor de un puerto dado para un enlace de varios carriles.
• Un ejemplo de inversión de carril consiste en el carril 0 de un puerto ascendente conectado al carril N-1 de un puerto descendente donde el dispositivo descendente o ascendente puede invertir el orden del carril para configurar un enlace xN.
Entonces, de acuerdo con el segundo punto, cualquiera de las dos , el dispositivo en sentido descendente de Upstream puede revertir el orden de los carriles.
Más adelante, en la sección 4.2.6.3.2.2, se analizan casos de ejemplo para la inversión de carril. En el ejemplo principal, está escrito:
A un puerto ascendente x8 se le presentan números de carril que están hacia atrás desde la numeración preferida. Si el puerto de flujo ascendente admite el comportamiento opcional de la inversión de carril, el puerto de flujo ascendente transmite los mismos números de carril al puerto de flujo descendente.
De lo contrario, los números de Carril opuestos se transmiten de nuevo al Puerto de flujo descendente, y será hasta el Puerto de flujo descendente para arreglar opcionalmente el orden del Carril o salir de la Configuración.
Interpretando esto aún más, siempre que al menos uno de los dispositivos admita la inversión de carril, se puede establecer un enlace.
Si se necesita una inversión de carril, y el dispositivo en sentido ascendente (el más cercano al RC) es capaz de hacerlo, entonces siempre será el único en hacer la inversión sin importar si el dispositivo en sentido descendente lo admite o no.
El proceso de enlace es algo así como:
-
El puerto de flujo descendente le indica al puerto de flujo ascendente su orden de preferido .
-
El puerto de subida intentará coincidir con esa solicitud
- Si el flujo ascendente pudo cumplir los requisitos de los carriles, ya sea utilizando su diseño preferido o invirtiendo los carriles. Se devolverá al puerto posterior la asignación correspondiente.
- De lo contrario, si el pedido no se puede lograr (es decir, el flujo ascendente no es compatible con la inversión de carril), entonces se deja al puerto descendente para intentar revertir los carriles. El puerto en sentido ascendente devolverá una asignación inversa.
-
El puerto descendente verificará en qué carril se está haciendo eco la asignación del puerto ascendente.
- Si el eco coincide con la asignación preferida, se establece un enlace.
- De lo contrario, ahora depende del puerto descendente para revertir la asignación de carril. Si es compatible con la inversión de carril, ahora indicará al puerto ascendente una asignación de carril invertida y se establecerá un enlace.
- Si el flujo descendente no puede revertir los carriles, no se puede establecer un enlace.