Détails de conception Universal Serial Bus 4 (USB4™) et exigences générales

Outre les exigences définies par la spécification, voici quelques-unes des exigences générales en matière de conception et d’expérience utilisateur.

  • Les périphériques qui sont tunnelés sur USB4 (USB 3.x, PCIe et affichage) doivent fonctionner comme ils le feraient en mode natif. Aucune modification logicielle ne doit être requise pour les piles de protocoles, et le fait qu’ils soient tunnelés sur USB4 doit leur être transparent.

  • Les partenaires doivent s’assurer que leur matériel USB (tels que les systèmes, les hubs, les câbles et les accessoires) peut interagir avec d’autres matériels USB actuellement ou prochainement disponibles sur le marché. Nous encourageons la participation à des événements d’interopérabilité et de conformité organisés par le Universal Serial Bus-Implementers Forum (USB-IF).

  • Pour les systèmes avec plusieurs ports USB-C®, Microsoft recommande vivement qu’ils prennent tous en charge USB4 pour offrir une expérience utilisateur cohérente.

  • La compatibilité Thunderbolt™ 3 est requise par le chapitre 13 de la spécification de base USB4 et par la spécification de connecteur et de câble USB Type-C®. Le pilote du gestionnaire de connexions Windows USB4 est conçu pour prendre en charge les périphériques Thunderbolt™ 3 attachés à l’hôte USB4.

  • Pour la première version du gestionnaire de connexions USB4 sur Windows 11, les cartes de complément ne sont pas prises en charge.

  • Consultez l’ensemble complet des exigences détaillées du Hardware Lab Kit (HLK) USB4 pour le Programme de compatibilité matérielle Windows.

  • La première version du gestionnaire de connexions USB4 nécessite que les routeurs de l’hôte et du périphérique prennent en charge la spécification USB4 et soient implémentés conformément au Guide du gestionnaire de connexions USB4 Rev 1.0rc. En plus d’autres ECN, les implémenteurs matériels doivent s’assurer qu’ils ont examiné les ECN suivants, car ils sont d’une grande importance pour le gestionnaire de connexions USB4. Il ne s’agit pas d’une liste exhaustive des ECN requis. Vous trouverez ces documents dans le téléchargement USB4 Specification.

    • USB4 1.0 ECN - Change in ISC and ISS Registers Address.pdf

    • USB4 1.0 ECN - DROM Base Address.pdf

    • USB4 1.0 ECN - Router Ready Bit.pdf

    • USB4 1.0 ECN - HI memory order.pdf

    • USB4 1.0 ECN - Host Router State Machine.pdf

    • USB4 1.0 ECN - Change C3S Bit Polarity.pdf

    • USB4 1.0 ECN - Buffer Allocation Request Operation.pdf

    • USB4 1.0 ECN - DP BW Allocation.pdf*

      *L’ECN d’allocation de bande passante DP n’est pas requis dans son intégralité. Seuls l’ID du gestionnaire de connexions, le numéro d’adaptateur et les fonctionnalités TopologyID de l’ECN sont actuellement utilisés par le gestionnaire de connexions USB4 Windows dans son schéma de gestion de l’alimentation graphique. Pour plus d’informations, consultez Configuration requise pour le pilote graphique.

Notes

Certains détails d’implémentation du gestionnaire de connexions sont fournis pour faciliter le débogage. Vous ne devez pas prendre de dépendances envers les détails de l’implémentation.

Exigences USB Type-C®

Le gestionnaire de connexions Windows USB4 n’a aucune dépendance logicielle envers la pile logicielle USB Type-C®. Par exemple, UCMCx, UCSICx, etc. Le routeur hôte et les routeurs de périphériques doivent respecter les exigences décrites dans la dernière spécification du connecteur USB Type-C® pour la découverte et l’entrée USB4.

Les périphériques USB4 peuvent fournir une interface USB via une classe de périphériques Billboard USB lorsqu’ils ne peuvent pas se connecter en tant que périphériques USB4. Windows présente aux utilisateurs une notification lorsque le périphérique Billboard est découvert, indiquant que les fonctionnalités du périphérique peuvent être limitées.

Transfert du BIOS au système d’exploitation

En l’absence d’interface matérielle pour la réinitialisation du routeur hôte USB4, le gestionnaire de connexions USB4 Windows implémente un nettoyage de l’espace de configuration du routeur hôte qui émule une réinitialisation du routeur hôte lancée par le matériel. L’objectif du nettoyage de l’espace de configuration du routeur hôte est de rétablir les valeurs d’espace de configuration par défaut au cas où un gestionnaire de connexions UEFI (UEFI CM) s’exécuterait avant l’exécution du gestionnaire de connexions USB4 Windows. Cela est possible si un gestionnaire de connexions UEFI s’exécute avant le démarrage à froid ou la reprise à partir de la mise en veille prolongée (S4).

Stratégie de partage de bande passante

Le gestionnaire de connexions Windows USB4 fournit des fonctionnalités de gestion de la bande passante pour empêcher le surabonnement d’une liaison USB4. Un maximum de 90 % de la bande passante de liaison USB4 peut être alloué explicitement pour le trafic USB 3.x (isochrone), PCIe et DisplayPort™, divisé en fonction de la stratégie de partage de bande passante implémentée par le gestionnaire de connexions.

Lorsqu’un routeur de périphérique est énuméré, la capacité de la liaison USB4 dans les directions amont et aval est déterminée après la liaison de voie, ce qui entraîne un taux de liaison calculé de 10 Gbits/s, 20 Gbits/s ou 40 Gbits/s, par exemple. La capacité disponible de la liaison est ensuite calculée comme étant 90 % de cette valeur. Dans l’exemple, 90 % correspondrait respectivement à 9 Gbits/s, 18 Gbits/s ou 36 Gbits/s.

Notes

Pour les liaisons Thunderbolt™ 3, les descriptions suivantes des calculs USB 3.x & PCIe ne s’appliquent pas. La bande passante complète est disponible pour les tunnels DisplayPort™.

La bande passante de liaison est initialement affectée à la fois à USB 3.x & PCIe. Cette bande passante combinée USB 3.x & PCIe est répartie comme suit : 2/3 à USB 3.x et 1/3 à PCIe. La partie USB 3.x de cette bande passante est programmée sur le contrôleur hôte USB 3.x pour une utilisation isochrone, par le biais d’un processus d’établissement de liaison où le bit CMR dans l’espace de configuration de l’adaptateur USB 3.x est défini, et le gestionnaire de connexions USB4 attend un accusé de réception du contrôleur hôte USB 3.x avant de programmer la bande passante disponible. La bande passante maximale USB 3.x sera probablement limitée au taux de la liaison USB 3.x (10 Gbits/s/20 Gbits/s), pris en compte lors du calcul de la bande passante à attribuer.

Mode d’allocation de bande passante DisplayPort™ (DP BW)

À partir de Windows 11 build 22621.1344 (KB5022913), et sur les systèmes prenant en charge le mode d’allocation de bande passante DisplayPort™ (DP BW) défini dans la spécification USB4, le gestionnaire de connexions USB4 autorise l’allocation dynamique de bande passante pour les tunnels DisplayPort™ (DP). Cette fonctionnalité permet une utilisation plus efficace et plus dynamique de la bande passante disponible pour les tunnels DP. Pour y parvenir, elle répartit de manière optimale la bande passante entre tous les tunnels en coordination avec la pile graphique du système.

Lors de la création d’un tunnel DP, le gestionnaire de connexions USB4 tente initialement de réserver la bande passante pour le tunnel en fonction des capacités indiquées sur les adaptateurs DP IN et DP OUT formant le tunnel. Si une bande passante suffisante n’est pas disponible, la réservation initiale est réduite, comme avec les tunnels en mode d’allocation non-DP BW.

Le gestionnaire de connexions vérifie ensuite la prise en charge du mode d’allocation DP BW pour l’adaptateur DP lors de la création du tunnel. Si le mode d’allocation DP BW est pris en charge, il est activé pour l’adaptateur DP IN. La bande passante totale disponible (y compris celle précédemment réservée) est écrite dans le registre « ESTIMATED_BW » de l’adaptateur, et la bande passante allouée est écrite dans le registre « ALLOCATED_BW » de l’adaptateur comme étant égale à 0.

Une fois le tunnel DP créé, si la bande passante disponible change (en raison d’autres tunnels DP ou d’autres opérations de bande passante), le gestionnaire de connexions USB4 met à jour le registre « ESTIMATED_BW » de l’adaptateur DP IN pour informer le tunnel de la bande passante supplémentaire ou réduite à sa disposition.

Une fois le tunnel créé, le pilote graphique envoie une notification pour demander la quantité exacte de bande passante nécessaire afin de prendre en charge la résolution sélectionnée, le taux d’actualisation, la profondeur de bits, etc. du moniteur tunnelisé à partir du gestionnaire de connexions USB4.

Par la suite, le pilote graphique peut demander une bande passante supplémentaire ou réduite en fonction des changements affectant les exigences du moniteur en matière de performances. Si une quantité supplémentaire de bande passante est demandée auprès du gestionnaire de connexions USB4, ce dernier peut tenter de récupérer la bande passante allouée à USB3 sur les liens partagés avec le tunnel. Le gestionnaire de connexions USB4 met ensuite l’espace de configuration de l’adaptateur DP IN à jour avec les résultats de l’opération et les éventuelles modifications apportées à la bande passante disponible et/ou qui lui est affectée.

Systèmes sans prise en charge du mode d’allocation de bande passante DisplayPort™

Sur les systèmes qui ne prennent pas en charge le mode d’allocation de bande passante DisplayPort™ défini dans la spécification USB4, la bande passante DisplayPort™ (DP) est affectée sur la base du premier arrivé, premier servi. Quand un tunnel DP est créé, le gestionnaire de connexions USB4 examine la bande passante en cours d’utilisation pour d’autres tunnels DP, et interroge le contrôleur hôte USB 3.x pour déterminer la quantité de bande passante actuellement utilisée pour le trafic isochrone, à l’aide du processus d’établissement d'une liaison décrit. Si la bande passante est disponible, elle est récupérée en quantité suffisante pour le tunnel DP, ce qui est déterminé en fonction des capacités des adaptateurs DP IN et DP OUT formant le tunnel.

S’il n’y a pas suffisamment de bande passante pour satisfaire les capacités de la paire d’adaptateurs DP IN/OUT, les capacités DP sont masquées de façon à correspondre à la bande passante disponible, ce qui peut entraîner une résolution maximale inférieure à la résolution native pour le tunnel DP. Si la bande passante disponible n’est pas suffisante pour satisfaire la configuration DP la plus faible, le tunnel DP échoue. Si la bande passante est insuffisante pour la configuration courante la plus élevée, et qu’il existe des tunnels DP créés précédemment pour lesquels la bande passante n’a pas été libérée après l’interrogation, la création d’un nouveau tunnel est interrompue jusqu’à ce que la bande passante soit potentiellement libérée par le tunnel précédent.

Une fois qu’un tunnel a été créé, le gestionnaire de connexions interroge l’espace de configuration de l’adaptateur DP IN jusqu’à ce que les capacités communes (reflétant la bande passante réelle requise pour le périphérique de sortie) soient disponibles. À ce stade, si l’excédent de bande passante est alloué, il est remis dans le pool de bande passante USB 3.x & PCIe combiné, et reprogrammé sur le contrôleur hôte USB 3.x.

Considérations relatives à la sécurité

Désactivation du tunneling PCIe

En guise de fonctionnalité de sécurité, vous pouvez offrir la capacité à désactiver le tunneling PCIe à l’aide d’_OSC pour USB. Le gestionnaire de connexions Windows USB4 ne crée pas de tunnels PCIe lorsque le tunneling PCIe est désactivé. En outre, l’énumération des routeurs de périphériques Thunderbolt™ 3 peut échouer, car en l’absence de tunneling PCIe dans Thunderbolt™ 3, la fonctionnalité USB offerte à partir du contrôleur hôte USB énuméré PCIe est également affectée.

Envisagez de désactiver le mode alternatif Thunderbolt™ 3 lorsque le tunneling PCIe est désactivé. Cela permettra à un routeur ou à une station d’accueil Thunderbolt™ 3 de revenir au fonctionnement USB 3.x et au fonctionnement alt-mode (DP).

Stratégie de remappage DMA pour le routeur hôte USB4

Pour limiter l’impact des accès DMA non valides, le remappage DMA est activé pour le périphérique routeur hôte USB4. Le paramètre DmaRemappingCompatible est défini sur 1 afin que la stratégie de remappage DMA soit toujours activée pour le routeur hôte.

Exigences USB4 HLK

Vous trouverez ci-dessous une liste complète des exigences USB4 :

Exigences Device.BusController USB4

Exigences System.Fundamentals USB4

Voir aussi

Thunderbolt est une marque commerciale d’Intel Corporation ou de ses filiales.

« USB4™ » est une marque commerciale de USB Implementers Forum et est uniquement destiné à être utilisé avec des produits basés sur et conformes à la spécification USB4™.