Avec l'augmentation du coût de l'énergie et la prise de conscience des considérations environnementales, l'économie d'énergie devient de plus en plus critique. L'économie d'énergie a toujours été essentielle pour les appareils mobiles, mais aujourd'hui, les appareils de centre de données tels que les serveurs, les équipements de stockage et de mise en réseau sont nécessaires pour prendre en charge les implémentations de gestion de l'alimentation.
Dans PCI Express®, Active State Power Management (ASPM) a été intégré comme méthode pour mieux gérer la consommation d'énergie de tous les composants du système. L'ASPM permet aux liaisons série individuelles dans une structure PCI Express d'avoir une puissance progressivement réduite à mesure qu'une liaison devient moins active. ASPM est défini dans la spécification de base PCI Express.
Gestion de l'alimentation à l'état actif
La spécification de base PCI Express définit deux niveaux d'ASPM, qui sont conçus pour fournir des options pour échanger une conservation d'énergie accrue avec une récupération rapide à l'état L0.
Veille L0 (L0s) : Cet état est requis par tous les périphériques PCI Express et s'applique à une seule direction sur la liaison. La latence pour revenir à L0 à partir de L0s est spécifiée comme étant très courte.
Lors de l'entrée dans L0, l'appareil passant dans cet état d'économie d'énergie enverra un ensemble commandé d'inactivité électrique (EIOS) à l'appareil récepteur, puis coupera l'alimentation de son émetteur. Lors du retour de L0 à L0, l'appareil doit d'abord générer un nombre spécifique de petits ensembles ordonnés appelés séquences d'entraînement rapides (FTS). Le nombre spécifique à répéter est défini par l'appareil récepteur et diffusé pendant les séquences d'entraînement au moment de la liaison.
Plus il y a de FTS transmis, plus il est facile d'obtenir le verrouillage du récepteur sur le signal transmis. Cependant, l'objet des L0 est de regagner le verrouillage du récepteur et de pouvoir recevoir le trafic le plus rapidement possible, de sorte que l'appareil récepteur sélectionnera le plus petit nombre possible de FTS qui assurera la récupération d'horloge en fonction de sa conception spécifique.
L1 ASPM : cet état est facultatif et peut être entré pour obtenir un degré plus élevé d'économie d'énergie. Dans cet état, les deux directions du lien sont placées dans l'état L1. Le retour à L0 nécessite que les deux appareils passent par le processus de récupération de lien. Cela entraîne une plus grande latence pour revenir à L0, de sorte que cet état d'alimentation serait généralement utilisé lorsqu'aucune activité sur la liaison n'est attendue pendant une période de temps significative.
Pour entrer dans l'état L1, l'appareil en aval doit d'abord demander l'autorisation à l'appareil en amont d'entrer dans l'état d'économie d'énergie plus profond. Après confirmation, les deux appareils éteindront leurs émetteurs et entreront en veille électrique. Le retour de L1 nécessite que les deux appareils doivent maintenant passer par le processus de récupération de lien. Le processus de récupération de liaison utilise des ensembles ordonnés TS1 et TS2 standard par opposition aux séquences d'apprentissage rapide plus petites utilisées par les L0.
Utilisation d'analyseurs de protocole avec ASPM
Lorsqu'un analyseur de protocole est utilisé pour surveiller un bus PCI Express, l'analyseur de protocole ne peut pas participer activement à la liaison. Pendant que le complexe racine et le point final négocient le lien et diffusent leurs exigences de verrouillage de récepteur individuelles (y compris le nombre de FTS), l'analyseur doit rester passif et simplement enregistrer ce trafic. Lorsque les appareils passent en mode d'économie d'énergie et éteignent leurs émetteurs, cette entrée en veille électrique entraînera la perte du verrouillage du récepteur de l'analyseur avec les appareils. Étant donné que l'analyseur ne peut pas diffuser sa propre exigence de FTS, l'analyseur doit être capable de regagner le verrouillage plus rapidement que les appareils récepteurs, sinon les données peuvent être perdues.
Évidemment, plus il y a de FTS transmis sur le bus, plus la capacité de tout appareil à verrouiller le récepteur est grande. Cela est vrai pour le dispositif de réception ainsi que pour l'analyseur de protocole. Cependant, pour répondre à l'objectif de ramener le lien PCIe® à L0 le plus rapidement possible, l'équipement récepteur utilise le plus petit nombre de FTS possible, en fonction de sa propre conception. Plus le nombre de FTS qui se produisent réellement sur le bus est petit, plus il y a de chances que l'analyseur de protocole perde du trafic avant de retrouver son propre verrouillage de signal.
La capacité à retrouver très rapidement le verrouillage du signal est donc essentielle à la conception des analyseurs de protocole PCI Express. Cette capacité varie selon les conceptions de différents fabricants et constitue donc une considération importante pour tout ingénieur envisageant l'achat d'un analyseur PCI Express.
Les informations suivantes détaillent les études réalisées par LeCroy pour identifier et détailler le nombre de FTS requis pour atteindre 100% verrouillage du récepteur à la fois par le LeCroy Summit™ Analyseur de protocole T2-16 et analyseur de protocole Agilent E2960B avec le module ASPM N5322A en option.
Méthodologie de test
L'objectif de ce test était de mesurer le temps de verrouillage des analyseurs PCI Express aux débits de données PCI Express 1.0 (2.5 GT/s) et PCI Express 2.0 (5.0 GT/s). Ce temps de verrouillage détermine le nombre minimum d'ensembles ordonnés FTS que les dispositifs sous test (DUT) doivent transmettre afin de fournir une capture propre du trafic du protocole PCI Express. Étant donné que l'exigence FTS minimale peut varier d'un appareil à l'autre, la mesure de la capacité de l'analyseur à retrouver le verrouillage avec un très petit nombre de FTS fournira une indication de la capacité de l'analyseur à capturer proprement le trafic dans des systèmes typiques.
Pour déterminer le temps de verrouillage, un environnement de test a été conçu pour créer un trafic de données contrôlé qu'un système générerait pendant que son mode de gestion de l'alimentation à l'état actif L0s (ASPM) est activé.
Pour mesurer correctement le temps de verrouillage, ce trafic devait être de nature répétable, unique et périodique afin de permettre au mieux la capacité de vérifier les erreurs. Alors que le simple enregistrement d'un système avec ASPM activé fournirait un moyen de mesurer les performances, il n'est pas aussi robuste qu'un environnement de test où les détails exacts du trafic sont connus avant la récupération des données.
Pour estimer au mieux le trafic de données PCI Express L0, le flux de données suivant a été envoyé via l'analyseur dans une boucle infinie :
- 2 μs de temps d'inactivité électrique
- "N" nombre de séquences d'entraînement rapides (ensembles ordonnés FTS)
- 1 jeu commandé SKIP
- 1 DLLP fournisseur avec une valeur incrémentée dans le champ de données fournisseur à chaque répétition
- 2 μs de trafic logique inactif (D0.0)
- 1 ou 2 ensembles commandés d'inactivité électrique (1 pour PCIe 1.0, 2 pour PCIe 2.0 comme l'exige la spécification PCIe)
Ce paquet unique (illustré à la Figure 1 ci-dessous) est un fournisseur DLLP avec une valeur de compteur incrémentielle insérée dans le champ Données du fournisseur. L'unicité de ce paquet de données est nécessaire pour déterminer si TOUTES les conditions de sortie de ralenti électrique ont été correctement récupérées. Sans ces données uniques, il est possible que l'analyseur manque un événement de sortie de ralenti électrique complet et ne soit pas détecté.
Pour générer le trafic ci-dessus, une version spéciale du Summit Z2-16 Exerciseur BusEngine™ a été compilé. Ce BusEngine a fourni la programmabilité de la durée d'inactivité électrique, du nombre d'ensembles FTS commandés et de la vitesse de liaison. Le Summit Le trafic Z2-16 a été envoyé à la plate-forme Host Emulation. Les LeCroy Summit L'analyseur T2-16 et l'analyseur Agilent E2960B ont utilisé leurs interposeurs d'emplacements actifs pour récupérer ce trafic en les insérant dans l'emplacement PCIe en haut de l'émulateur hôte.
Le trafic en aval a été rebouclé après l'interposeur d'emplacement actif, mais ce trafic en amont n'a pas été enregistré dans le cadre de ce test.
Le système Agilent E2960B utilisait le module Agilent N5322A ASPM. Ce module est une option complémentaire requise pour les tests ASPM. L'analyseur Agilent E2960B exécutait la version 6.13 du logiciel.
Le Le Croy Summit L'analyseur Z2-16 inclut la possibilité de gérer ASPM en tant que fonctionnalité standard, de sorte que le matériel standard a été utilisé et exécutait la version logicielle 5.62.
Des tests identiques ont été effectués sur les deux produits avec les paramètres suivants :
- Largeur du lien : x8
- Brouillage : Activé
- Détection automatique de la vitesse : désactivée (la vitesse de liaison a été forcée sur les deux analyseurs)
- L'analyseur a été calibré sur PCIe 2.0 x8 avec un trafic L0 avant le test.
- Durée d'inactivité électrique : 2 μs
- Durée d'inactivité logique : 2 μs
Les paramètres suivants ont été modifiés pendant le test :
- Vitesse de liaison : PCIe 1.0 et PCIe 2.0
- Nombre de FTS : Variable de 4 à 64
- Réglage RefClk : Externe et Interne
- Modulation SSC : Activé ou Désactivé
Enregistrement et analyse des données
Pour chaque test, l'analyseur a enregistré un instantané du trafic L0s avec le paramètre d'analyseur approprié pour correspondre à l'état de la liaison. La mémoire tampon d'enregistrement a été augmentée pour s'assurer qu'au moins 1000 transitions électriques inactives L0s ont été capturées dans l'enregistrement. Dans les cas Agilent et LeCroy, le trafic a été post-traité à l'aide d'un logiciel pour déterminer le taux d'échec de chaque test. Un échec est déterminé par un enregistrement incorrect de la DLLP du fournisseur avec les données de fournisseur appropriées. Ce test ne vérifie pas l'exactitude des ensembles ordonnés FTS ou du trafic logique inactif. Au lieu de cela, il suppose que le lien a été correctement verrouillé si l'analyseur a pu effectuer correctement l'alignement des symboles, le désalignement de voie à voie et la récupération appropriée du DLLP du fournisseur.
Chaque enregistrement a été exporté vers un fichier .csv, qui a été analysé à l'aide d'un script perl.
Avant d'enregistrer le fichier .csv, certaines options d'affichage ont été appliquées à la trace pour effectuer les opérations suivantes : masquer le trafic en amont, afficher uniquement les DLLP du fournisseur et masquer les champs inutiles dans l'affichage de la trace. Ceci a été réalisé simplement pour réduire la taille des fichiers .csv ainsi que la complexité du script perl.
Le script perl a compté le nombre total de DLLP récupérés. Sur la base de l'horodatage entre les DLLP et la valeur du fournisseur, il détermine si 1 ou plusieurs DLLP de fournisseur n'ont pas été correctement enregistrés. Le taux d'échec a été calculé en divisant le nombre total de paquets manquants ou corrompus par le nombre total de paquets récupérés.
Chaque enregistrement a été traité avec le moteur de script de vérification LeCroy. Un script de vérification spécifique a été créé pour déterminer combien de DLLP de fournisseur ont été enregistrées et combien ont été manquées ou enregistrées de manière incorrecte. Les algorithmes utilisés dans le script de vérification étaient essentiellement identiques aux algorithmes du script perl de traitement Agilent .csv.
Les tests ont été automatisés grâce à l'utilisation de l'application de test de conformité PCI Express afin de réduire le risque d'erreur de l'utilisateur. Les tests ont été effectués 4 fois pour déterminer la répétabilité des résultats, et les résultats ont été moyennés pour le score final.
Résultats et conclusions
Comparez <1 % de taux d'échec | Comparer 0 % de taux d'échec |
| |