Partager via


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
  • Device.Storage.ControllerDrive.NVMe.BasicFunction
Plateformes
  • Windows 10, éditions clientes (x86)
  • Windows 10, éditions clientes (x64)
  • Windows Server 2016 (x64)
Versions prises en charge
  • Windows 10
  • Windows 10, version 1511
  • Windows 10, version 1607
  • Windows 10 version 1703
  • Windows 10, version 1709
  • Windows 10 version 1803
  • Windows 10, version 1809
  • Windows 10 version 1903
  • Prochaine mise à jour de Windows 10
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