TEST DE DÉSallouer NVMe (LOGO)
Ce test vérifie la conformité aux spécifications de la commande désallouer sur les lecteurs de contrôleur NVMe.
Détails du test
Spécifications |
|
Plateformes |
|
Versions prises en charge |
|
Durée d’exécution attendue (en minutes) | 2 |
Catégorie | Développement |
Délai d’expiration (en minutes) | 120 |
Nécessite un redémarrage | false |
Nécessite une configuration spéciale | false |
Type | automatique |
Documentation supplémentaire
Les tests de cette zone de fonctionnalité peuvent avoir une documentation supplémentaire, y compris les conditions préalables, l’installation et les informations de résolution des problèmes, que vous trouverez dans les rubriques suivantes :
Exécution du test
Avant d’exécuter le test, effectuez la configuration du test comme décrit dans les conditions requises pour le test : Conditions préalables pour le test du lecteur de disque dur.
Le test nécessite qu’un lecteur de contrôleur NVMe soit connecté. Le lecteur doit également satisfaire aux exigences suivantes :
Le lecteur doit être un lecteur sans démarrage. Le test est destructeur. Il prépare le disque avec une partition et une mise en forme correctes pour le test.
Le lecteur doit prendre en charge la commande Libérer (Trim/Unmap/Discard). Le test envoie des commandes Désallouer vers le bas à l’aide de la commande Trim DATA SET MANAGEMENT.
Assurez-vous qu’un lecteur distinct est disponible pour être utilisé comme lecteur d’enregistreur d’événements. Le test sélectionne automatiquement le lecteur de journalisation. Il est important de réduire la quantité d’activité qui se produit sur le lecteur en dehors du test de logo. Étant donné qu’il s’agit d’un test de performances, une activité externe peut affecter les résultats.
Dépannage
Pour la résolution des problèmes génériques des échecs de test HLK, consultez Résolution des échecs de test HLK Windows.
Vérifier la trace WTT
Affichez le journal des tâches de l’exécution du test de performances de découpage.
Ouvrez le fichier journal TrimPerf.wtl.
Recherchez les messages susceptibles de résoudre le problème.
Copiez le fichier journal .wtl. Il s’agit de la trace WTT décrite dans la section Trace WTT.
Vérifier les résultats de la commande lancée
Parcourez les journaux des travaux du test de performances de découpage (LOGO).
Ouvrez launchCommand.result.
Si l’erreur est liée au lancement d’un processus, déterminez pourquoi logman ou tracerpt a échoué.
Aucune métrique trouvée
Le test dépend de l’activation du suivi Storport ETW pour obtenir les métriques d’achèvement de la commande. Pour plus d’informations sur l’activation de ce suivi, consultez la section Trace ETW.
Vérifiez qu’aucune autre trace ETW Storport n’est actuellement journalisation. Une seule trace Storport ETW peut être active à la fois.
Si vous obtenez le message d’erreur « La version d’évaluation ne prend pas en charge trim/unmap/deallocate/discard », essayez ce qui suit :
Vérifiez le lecteur NVMe pour vous assurer que le bit LBPU de la page VPD B2h est défini sur un.
Essayez d’envoyer une commande Désallouer via la commande Trim de DATA SET MANAGEMENT.
Réexécutez le test.
Échec du test avec des erreurs « Incompatibilité »
Le test envoie les commandes Désallouer vers le bas et vérifie le contenu dans la région désallouée. Il vérifie les trois scénarios suivants. Si tous ont échoué, il signale une erreur.
Données précédentes : La commande Désallouer n’a rien fait sur cette région.
Tous les 0x00s : la commande Libérer a écrit tous les 0x00 dans la région.
Tous les 0xFF : la commande Libérer a écrit tous les 0xFf dans la région.
Le test imprime l’emplacement d’une violation. Lorsque vous vérifiez le décalage de la violation, utilisez le décalage imprimé dans le fichier journal plus le décalage d’octets de la violation.
Par exemple, dans le fichier journal, il imprime :
Vérification des données précédentes : Incompatibilité à l’octet X ; Attendu : 0x3D, Réel : 0xFF
Échec de la validation de l’case activée au décalage Y, longueur Z
Ensuite, le décalage de l’octet de violation est X + Y (en octets).
Échec du test avec « événement de réinitialisation trouvé »
Les commandes de désallouer ne doivent pas provoquer d’événement de réinitialisation de disque. Si une telle erreur se produit, case activée l’implémentation de la commande de désallouer NVMe.
Si vous souhaitez déboguer l’échec en exécutant des cas de test particuliers, vous pouvez essayer les options de ligne de commande suivantes :
Afficher tous les cas de test avec des nombres : TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /DeviceType NVMe /Scenario Compliance /PrintTestCaseName
Exécuter un cas de test particulier par numéro de cas de test : TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter]: /Scenario Compliance /Precondition F /TestCase [TestCaseNumber]
Si vous souhaitez déboguer l’échec plus rapidement, essayez de désactiver la condition préalable (remplir le lecteur à 90 %, ce qui prend beaucoup de temps) en ajoutant le paramètre F /Condition préalable comme suit :
- TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LoggerDriveLetter] : /DeviceType NVMe /Scenario Complaince /DiskSize 0 /Cooldown 2 /Precondition F
Pour plus d’informations sur la résolution des problèmes, consultez Résolution des problèmes de test Device.Storage.
Plus d’informations
Le test évalue les métriques suivantes :
Libérer la commande
Toutes les commandes Libérer doivent écrire toutes les 0x00, toutes les 0xFF ou les données précédentes sur les régions désallouées.
Les commandes de désallouer ne doivent pas déclencher d’événements de réinitialisation de disque.
Commandes d’E/S (avec Libérer l’envoi simultané dans différentes régions)
- Les commandes de désallouer ne doivent pas affecter l’exactitude des opérations de lecture/écriture.
Étapes de reproduction manuelle
Ouvrez l’Éditeur du Registre et accédez au chemin d’accès suivant : HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Enum -> SCSI -> Disk&Ven_[nom du lecteur NVMe (pas de contrôleur) en cours de test] -> [chemin d’accès instance d’appareil] -> Paramètres de l’appareil -> Storport
Cliquez avec le bouton droit sur Storport, cliquez sur Nouveau, puis sur Valeur DWORD (32 bits).
Nommez la clé EnableLogoETW et définissez la valeur sur 1.
Reconnectez le lecteur en cours de test au système ou redémarrez l’ordinateur pour activer la clé de Registre.
Copiez les fichiers TrimPerf.exe, EtwProcessor.dll, Wex.Common.dll et Wex.Communication.dll sur l’ordinateur local.
Exécuter la ligne de commande.
Syntaxe de commande
Commande | Description |
---|---|
TrimPerf.exe /DriveNumber [StorageDriveNumber] /LogDriveLetter [LogDriveLetter]: /DeviceType StorConsumer /Scenario Performance /DiskSize 0 /Cooldown 2 |
|
Exécute le test. |
Notes
Pour obtenir de l’aide en ligne de commande pour ce binaire de test, tapez /h.
Liste de fichiers
File | Emplacement |
---|---|
TrimPerf.exe |
<[testbinroot]>\nttest\driverstest\storage\wdk\ |
Etwprocessor.dll |
<[taefbinroot]>\ |
Wex.common.dll |
<[taefbinroot]>\ |
Wex.communication.dll |
<[taefbinroot]>\ |
Paramètres
Nom du paramètre | Description des paramètres |
---|---|
WDKDeviceID | Chemin d’instance de l’appareil à tester. |
LLU_NetAccessOnly | Compte d’utilisateur pour accéder au partage de fichiers de test. |
LLU_LclAdminUsr | Compte d’utilisateur pour l’exécution du test. |
Destructrice | (0,1) 0=Passif, 1=Destructeur |
StorageDriveNumber | Numéro de lecteur de stockage |