Partager via


Test de conformité SCSI 2.0 (LOGO)

Ce test automatisé vérifie qu’un périphérique de stockage de blocs (carte RAID ou cible de disque) pris en charge par le système d’exploitation est entièrement conforme aux normes SCSI (Small Computer System Interface) décrites dans les spécifications SCSI-3 Primary Commands-3 (SPC-3) ou ultérieures, et SCSI Block Commands-2 (SBC-2) ou ultérieures. Pour afficher ces spécifications, accédez au comité technique T10 Interfaces de stockage SCSI.

S’assurer que l’appareil de bloc et le système d’exploitation maintiennent la conformité à ces normes aboutit à un système plus robuste et plus fiable. Bien que certains périphériques de bloc n’utilisent pas de transport SCSI, le système d’exploitation communique avec eux à l’aide de commandes SCSI (à l’exception des lecteurs de disque ATA individuels qui ne font pas partie d’un jeu RAID).

Le test utilise des requêtes directes SCSI (IOCTL_SCSI_PASS_THROUGH) pour construire et envoyer des blocs de descripteur de commande SCSI (CDBs) à l’appareil. Le test évalue les résultats des commandes pour vérifier la conformité.

Notes

   Si vous exécutez ce test dans le cadre d’une soumission RAID (Storage Array) basée sur du matériel RAID de stockage et que votre groupe de stockage prend en charge les E/S multipath (MPIO), vous devez configurer votre MPIO pour utiliser Fail-Over stratégie uniquement et définir le disque de stockage cible pour qu’il utilise le même chemin d’accès actif pour tous les disques compatibles MPIO.

Si vous exécutez ce test dans le cadre d’une soumission RAID (Storage Array) basée sur du matériel RAID de stockage, assurez-vous que LUN0 est configuré comme numéro d’unité logique sans démarrage de taille la plus grande.

 

Détails du test

   
Spécifications
  • Device.Storage.Hd.ScsiProtocol.SpcCompliance
  • Device.Storage.Controller.Raid.BasicFunction
  • Device.Storage.Hd.ScsiProtocol.ReferenceSpec
  • Device.Storage.Hd.ScsiProtocol.SamCompliance
Plateformes
  • Windows 10, éditions clientes (x86)
  • Windows 10, éditions clientes (x64)
  • Windows Server 2016 (x64)
  • Windows 10, éditions clientes (Arm64)
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) 5
Catégorie Compatibilité
Délai d’expiration (en minutes) 300
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 exigences de test pour le type de contrôleur de stockage que vous testez. Pour plus d’informations, consultez Conditions préalables pour le test du disque dur.

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.

Pour obtenir des informations générales sur la résolution des problèmes, consultez Résolution des problèmes de test Device.Storage.

En outre, le test écrit les résultats dans les fichiers journaux Scsicompliance.wtl et Scsicompliance.wtl.txt. Vous pouvez utiliser les résultats pour déterminer :

  • Si un appareil est conforme à la spécification SCSI

  • Commandes SCSI facultatives prises en charge par un appareil

Pour réussir, l’appareil SCSI doit prendre en charge chaque commande obligatoire et doit être entièrement conforme à ces commandes. Chaque commande a un seuil différent pour réussir ou échouer, et les attentes sont spécifiées explicitement dans le test et dans le fichier journal.

Les commandes facultatives sont également testées. Si un appareil prend en charge les commandes facultatives et que les commandes sont jugées non conformes, le test échoue. Si l’appareil ne prend pas en charge les commandes facultatives, le test réussit.

Notes

   Les erreurs de ce test se produisent via des problèmes identifiés dans le fichier journal et dans les erreurs d’arrêt produites en stressant le pilote testé.

 

Pendant le test, si vous rencontrez des difficultés pour supprimer un numéro d’unité logique qui échoue ou si vous ne parvenez pas à créer un numéro d’unité logique à partir du contrôleur de stockage, procédez comme suit :

  1. Avant d’exécuter ce test, vérifiez que le périphérique de stockage fonctionne correctement. Ouvrez diskmgmt.msc, sélectionnez le disque et assurez-vous que vous pouvez mettre l’appareil en ligne et initialisé.

  2. Redémarrez l’ordinateur de test Windows HLK.

  3. Sélectionnez et réexécutez le test de conformité SCSI 2.0. N’exécutez aucun test avant celui-ci.

  4. Exécutez le test de conformité SCSI (et non le test de conformité SCSI 2.0 (LOGO)) sur le même client de test et le même périphérique de stockage de test. Si le test échoue à nouveau, vérifiez que le périphérique de stockage fonctionne correctement. Si le test échoue pendant les étapes 3 et 4, exécutez les blocs de données de commande défaillants individuels (cdbs) un par un avec le niveau de détail de journalisation défini sur 4 (le niveau le plus élevé de journalisation des tests). Cela montre quelles données ont été envoyées et quelles données ont été retournées. Un test peut échouer une fois que plusieurs cdbs sont terminées, mais réussissent en mode autonome. Si cela se produit, il y a un problème dans le microprogramme ou le test.

Si vous avez une réinitialisation de l’appareil qui entraîne la chute de l’appareil du bus et l’échec des commandes suivantes, procédez comme suit :

  1. Copiez le fichier binaire de test (Scsicompliance.exe) à partir du contrôleur Windows HLK. Ce fichier se trouve dans \\controllername\tests\[processorarchitectureofyourclient]\NTTEST\DriversTest\storage\wdk\

  2. Copiez le fichier wttlog.dll à partir du contrôleur Windows HLK. Ce fichier se trouve dans \\<controllername>\Tests\<processorarchitectureofyourclient >\wtt

  3. Placez ces deux fichiers sur l’ordinateur de test dans un dossier distinct.

  4. À partir d’une invite de commandes, dans le répertoire contenant le binaire de test, tapez la commande suivante : Scsicompliance.exe /deviceID <> /verbosity 4 /operation test /scenario </>CDB <failingcdbname>

    Notes

       Vous pouvez trouver les valeurs deviceID et scenario en vérifiant la ligne de reproduction dans le journal des tests. Vous pouvez trouver le nom_de_base_de_défaillance en exécutant le binaire de test avec l’option /?(scsicompliance.exe /?).

     

  5. Retour dans le même répertoire et passez en revue les résultats pour voir si vous pouvez déterminer la raison de l’échec du test.

  6. Si vous avez besoin d’aide supplémentaire, collectez les journaux txt et wtl et partagez les journaux avec le support technique Microsoft.

Si vous exécutez ce test sur Windows Server 2003, assurez-vous que les disques ou les noms d’unité logique ne sont pas des pseudo-noms MPIO. MPIO sur Windows Server 2003 n’est pas pris en charge.

Plus d’informations

Les commandes suivantes sont validées :

Notes

   Pour plus d’informations sur la référence, consultez le site web T10 SCSI Storage Interfaces du comité technique .

 

Commande : Test Unit Ready

Titre : Test de vérification de base PRÊT POUR L’UNITÉ DE TEST

Description : la commande TEST UNIT READY permet de case activée si l’unité logique est prête. Il ne s’agit pas d’une demande d’autotest. Si l’unité logique est en mesure d’accepter une commande d’accès moyen approprié sans retourner status CONDITIONCHECK, cette commande renvoie une status GOOD.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.33

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Justification : Il s’agit d’une commande SPC-3/SPC-4 obligatoire.

Commande : Sens de la demande

Titre : REQUEST SENSE (6) Test de prise en charge

Description : vérifiez si la commande Request Sense Command est prise en charge et retourne GOOD status.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.27

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Justification : cette commande est obligatoire dans SPC-3/SPC-4 et est utilisée par l’initiateur pour récupérer les données de détection d’erreur pour les commandes ayant échoué.

Titre : TEST REQUEST SENSE (6) RESPONSE CODE

Description : vérifiez que RESPONSE CODE est 0x70 ou 0x71 ou 0x72 ou 0x73

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.27

Attente : RESPONSE CODE == 0x70 or RESPONSE CODE == 0x71 or RESPONSE CODE == 0x72 or RESPONSE CODE == 0x73

Titre : REQUEST SENSE (6) Test de longueur des données sense

Description : vérifiez que la longueur des données SENSE est correcte (les données transférées correspondent à la longueur des données signalées par la réponse de commande).

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.27

Attente : Longueur <de sens supplémentaire = Taille des données d’affichage - 8.

Commande : Lecture 6

Titre : READ (6) Test de vérification de base

Description : l’appareil doit retourner correctement les status SCSI GOOD (0x0) et les deux premiers blocs de données. Ce test envoie deux commandes READ lisant deux blocs de données différents mais qui se chevauchent. Ensuite, il compare les données qui se chevauchent. Elle retourne true si les données qui se chevauchent sont identiques entre les opérations de lecture (ce qui implique que les deux commandes lisent correctement les mêmes données).

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.5

Attente : ScsiStatus == 0x0.

Justification : Certaines applications utilisent toujours Read 6 et n’ont pas été converties en lecture 10. Par conséquent, nous case activée si cette commande est implémentée et poursuivons les tests.

Titre : READ (6) Test de lecture séquentielle

Description : l’appareil doit lire correctement 1 000 blocs séquentiels de données. Ce test envoie la commande 1 000 fois, en lisant 1 024 octets de données séquentiellement à partir d’une adresse de bloc aléatoire.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.5

Attente : toutes les commandes READ (6) réussissent.

Titre : READ (6) Test de lecture aléatoire

Description : l’appareil doit lire correctement 1 000 blocs aléatoires de données. Ce test envoie la commande 1000 fois, en lisant les données à l’adresse de bloc logique aléatoire.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.5

Attente : toutes les commandes READ (6) réussissent.

Titre : READ (6) Read-with-Disk-Cache-Cleared Test

Description : l’appareil doit retourner des données correctement après avoir nettoyé le cache de disque de 12 Mo. Ce test lit d’abord les données séquentielles de 12 Mo pour une vérification ultérieure. Ensuite, il efface le cache de disque en lisant des données aléatoires de 12 Mo. Enfin, il lit les mêmes données séquentielles de 12 Mo pour voir si les données sont identiques à celles de la première lecture.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.5

Attente : les données de 12 Mo lues après l’effacement du cache sont correctes.

Commande : Écrire 6

Titre : WRITE (6) Test des fonctionnalités de base

Description : la commande écrit correctement un bloc de données sur l’appareil. Ce test compare les données que nous voulons écrire et celles retournées par read après l’opération d’écriture. Si les données sont identiques, cela implique que la commande WRITE écrit correctement les données sur le disque.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.24

Attente : ScsiStatus == 0x0.

Justification : Certaines des applications utilisent toujours l’écriture 6 et n’ont pas été converties en écriture 10. Par conséquent, nous case activée si cette commande est implémentée et poursuivons les tests.

Titre : WRITE (6) Test d’écriture séquentielle

Description : la commande écrit correctement 1 000 blocs séquentiels de données. Ce test envoie la commande 1 000 fois, en écrivant des données séquentiellement à partir d’une adresse de bloc logique aléatoire.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.24

Attente : toutes les commandes WRITE (6) réussissent.

Titre : WRITE (6) Test d’écriture aléatoire

Description : la commande écrit correctement 1 000 blocs aléatoires de données. Ce test envoie la commande WRITE 1000 fois, en écrivant des données à l’adresse de bloc logique aléatoire.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.24

Attente : toutes les commandes WRITE (6) réussissent.

Titre : WRITE (6) Write-With-Disk-Cache-Disabled Test

Description : la commande écrit correctement 12 Mo de données avec le cache désactivé. Ce test écrit 12 Mo de données sur le disque. Ensuite, il lit les mêmes données de 12 Mo qui viennent d’être écrites pour vérifier que les données que nous venons d’écrire sont correctes.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.24

Attente : les données de 12 Mo sont écrites correctement.

Titre : WRITE (6) Write-With-Disk-Cache-enabled test

Description : la commande écrit correctement 12 Mo de données avec le cache activé. Ce test écrit 12 Mo de données sur le disque. Ensuite, il envoie une commande SYNCHRONIZE CACHE (10) pour synchroniser l’adresse de bloc logique dans le cache avec celles du disque. Enfin, il lit les mêmes données de 12 Mo que celles qui viennent d’être écrites pour vérifier que les données que nous venons d’écrire sont correctes.

Référence : Spécification SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) Section 5.24

Attente : les données de 12 Mo sont écrites correctement.

Commande : Demande

Titre : Test de vérification de base INQUIRY

Description : L’appareil doit retourner des status SCSI GOOD (0x0) et des données de taille inférieure ou égale à 255 octets en réponse à la commande INQUIRY avec le champ ALLOCATION LENGTH défini sur 255 (0xFF) octets. Le champ LONGUEUR DE L’ALLOCATION spécifie le nombre maximal d’octets alloués par un client d’application pour les données retournées.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : l’appareil doit retourner des status SCSI GOOD (0x0) et des données d’une taille inférieure ou égale à 255 octets.

Title : INQUIRY Test for error when PAGE CODE field is nonero and EVPD=0.

Description : vérification qu’une erreur est retournée lorsque le champ CODE PAGE est nonzero et EVPD=0. Vérification qu’une erreur est retournée lorsque le champ CODE PAGE est nonzero et EVPD=0.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : ScsiStatus == 0x2, CONDITION DE VÉRIFICATION. ScsiStatus == 0x2, CHECK CONDITION.

Titre : ENQUÊTE Récupération des données d’enquête standard.

Description : Vérification de la possibilité de récupérer des données d’interrogation standard. Vérification de la possibilité de récupérer les données d’interrogation standard.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : ScsiStatus == 0x0, GOOD.

Titre : ENQUÊTE Vérification de la taille des données d’enquête standard.

Description : Les données INQUIRY standard doivent contenir au moins 36 octets.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : Longueur >du transfert de données = 36 octets.

Titre : Champ de type d’appareil de test INQUIRY

Description : Vérification du champ type d’appareil pour vous assurer qu’il s’agit d’un appareil à accès direct.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : Type d’appareil == 0x0, appareil à accès direct.

Titre : CHAMP DE QUALIFICATEUR PÉRIPHÉRIQUE DE TEST DE RECHERCHE.

Description : vérification du champ Qualificateur périphérique.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : Champ qualificateur périphérique == 0

Titre : INQUIRY VERSION Field Test

Description : l’appareil doit retourner un champ VERSION valide de 0x4, 0x5 ou 0x6

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : VERSION est 0x4 (SPC-2) ou version ultérieure pour le type de bus non SCSI et VERSION est 0x3 (SPC) ou version ultérieure pour le type de bus SCSI.

Titre : ENQUÊTE VÉRIFICATION DU FORMAT DES DONNÉES DE RÉPONSE.

Description : vérification de la valeur RESPONSE DATA FORMAT == 2.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : FORMAT DES DONNÉES DE RÉPONSE == 2.

Titre : ENQUÊTE Vérification de la longueur supplémentaire.

Description : La vérification du champ de longueur supplémentaire est correcte.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : Champ De longueur supplémentaire == Taille totale des données - 5

Titre : CHAMP INVESTIGATION Vérification de l’IDENTIFICATION DU FOURNISSEUR.

Description : vérification que le champ IDENTIFICATION DU FOURNISSEUR contient un ASCII valide.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : le champ IDENTIFICATION DU FOURNISSEUR contient un CODE ASCII valide.

Titre : CHAMP ENQUÊTE Vérification de l’IDENTIFICATION DU PRODUIT.

Description : vérification que le champ PRODUCT IDENTIFICATION contient un ASCII valide.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : le champ PRODUCT IDENTIFICATION contient un CODE ASCII valide.

Titre : CHAMP VÉRIFICATION DU NIVEAU DE RÉVISION DU PRODUIT.

Description : vérification que le champ NIVEAU DE RÉVISION DU PRODUIT contient un ASCII valide.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : le champ NIVEAU DE RÉVISION DU PRODUIT contient un CODE ASCII valide.

Titre : La commande INQUIRY prend en charge le test des données.

Description : l’appareil doit définir le bit HiSup dans les données d’enquête standard.

Référence : SCSI Architecture Model - 3 (SAM-3) Version 14 (ou ultérieure) section 4.9.2

Attente : Le bit HiSup est défini dans les données de demande standard.

Titre : ENQUÊTE Vérification des pages de produits vitales prises en charge.

Description : Vérification de la prise en charge des pages de produit Vitale.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4.4

Attente : la liste des pages de données de produit vitales prises en charge est retournée.

Titre : INVESTIGATION Test accès à chaque page de données de produit vitales prise en charge.

Description : Tentative d’accès à chaque page de données de produit vitales prise en charge.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4.4

Attente : chaque page prise en charge est accessible (jusqu’à 255 octets).

Title: INQUIRY Tentative de page de numéro de série d’unité 0x80.

Description : Vérifiez si la page de numéro de série d’unités 0x80 est prise en charge et si est un ASCII valide.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 7.6.10

Attente : ScsiStatus == 0x0, et le résultat est UN ASCII valide.

Titre : ENQUÊTE Tentative d’identification de la page d’identification de l’appareil 0x83.

Description : vérification de la prise en charge de la page d’identification de l’appareil 0x83.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 7.6.3

Attente : ScsiStatus == 0x0.

Titre : ENQUÊTE Vérification des descripteurs d’identification dans la page VPD 0x83.

Description : vérification que les descripteurs d’identification contiennent des données significatives.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 7.6.3

Attente : tous les descripteurs sont conformes et contiennent des données significatives.

Titre : DEscripteurs de version DESCRIPTEURS DE VÉRIFICATION DE LA REQUÊTE.

Description : vérification de la conformité des descripteurs de version.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.4

Attente : des descripteurs de version existent.

Commande : Mode Sélectionner 6

Titre : MODE SELECT (6) Test de base

Description : vérification pour voir si une commande MODE SELECT simple, avec PF et SP == 0, réussit

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Justification : notre pile de stockage utilise la page du mode de mise en cache pour activer/désactiver la mise en cache de l’appareil. Par conséquent, la possibilité d’écrire dans des pages en mode à l’aide des commandes Mode Select est requise.

Titre : MODE SELECT 6 : MODE SENSE (6) Tentative d’obtention de la page du mode mise en cache.

Description : Vérifiez si une simple commande MODE SENSE sur page 0x08 retourne good status.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Titre : MODE SELECT 6 : MODE SENSE (6) Vérification des paramètres savable (PS bit).

Description : Vérifiez si le bit savable des paramètres pour la page Mode de mise en cache est 1.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : PS == 1.

Titre : MODE SELECT 6 : MODE SENSE (6) Vérification de l’en-tête de paramètre du mode

Description : vérifiez que MediumType == 0 et BlockDescriptorLength == 0.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : MediumType == 0x0 et BlockDescriptorLength == 0x0

Titre : MODE SELECT 6 : MODE SENSE (6) Vérification de la longueur de page du mode de mise en cache.

Description : La vérification de la page du mode de mise en cache est de 20 octets.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : cachePageLength == 20 octets.

Titre : MODE SELECT 6 : MODE SENSE (6) Obtention de valeurs modifiables.

Description : enregistrement de la page Valeurs modifiables pour le mode de mise en cache

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Titre : MODE SELECT 6 : MODE SENSE (6) Obtention des valeurs par défaut.

Description : enregistrement des valeurs par défaut pour la page du mode de mise en cache.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Titre : MODE SELECT (6) Modification de WCE.

Description : Application de MODE SELECT à WCE=0 pour l’appareil.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Titre : MODE SELECT 6 : MODE SENSE (6) Vérification que WCE a été effacé.

Description : vérification que la commande MODE SELECT précédente a réellement modifié les paramètres du mode actuel.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : WCE est clair.

Titre : MODE SELECT 6 : MODE SENSE (6) Vérification de la modification des valeurs enregistrées.

Description : vérification que la commande MODE SELECT précédente a réellement modifié les paramètres du mode enregistré.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : les valeurs enregistrées ont changé.

Titre : MODE SELECT (6) paramètre WCE

Description : Application de MODE SELECT pour définir WCE.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Titre : MODE SELECT 6 : MODE SENSE (6) Vérification que WCE a été défini.

Description : vérifiez que la commande MODE SELECT précédente a réellement défini WCE.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : Les valeurs actuelles ont été définies.

Titre : MODE SELECT (6) Tentative de restauration des valeurs d’origine.

Description : le mode de test SELECT peut renvoyer les valeurs de page du mode de mise en cache à leurs valeurs d’origine.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Titre : MODE SELECT 6 : MODE SENSE (6) Vérification des valeurs ont été restaurées.

Description : vérification que les valeurs ont été restaurées dans la page Mode de mise en cache.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.7

Attente : Les valeurs actuelles sont égales aux valeurs par défaut.

Commande : Mode Sense 6

Titre : MODE SENSE (6) Test de base

Description : Vérifiez si une simple commande MODE SENSE sur page 0x3f retourne GOOD status

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Justification : La pile de stockage utilise la page du mode mise en cache pour activer/désactiver la mise en cache de l’appareil. Par conséquent, la possibilité de lire des pages en mode à l’aide des commandes Mode Sense est requise.

Titre : MODE SENSE (6) Vérification de la taille des données retournées.

Description : vérification que nous recevons une quantité minimale de données (c’est-à-dire au moins l’EN-TÊTE DE PARAMÈTRE MODE).

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : Longueur >du transfert de données = 4 octets

Titre : MODE SENSE (6) En-tête de paramètre de mode de vérification

Description : vérification de la validité des informations de longueur de l’en-tête du paramètre mode.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : ModeDataLength = Longueur du transfert de données - 1 = -1 octets.

Titre : MODE SENSE (6) Test DBD (désactiver les descripteurs de blocs).

Description : Test pour vérifier que, lorsque le bit DBD est défini, aucun descripteur de bloc n’est retourné.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : Longueur du descripteur de bloc = 0

Titre : MODE SENSE (6) Test de la longueur des nouvelles données lorsque le bit DBD est défini.

Description : Test que la nouvelle longueur des données doit être égale à la longueur des données anciennes moins la longueur du descripteur de bloc.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : Nouvelle longueur des données = ancienne longueur des données

Titre : MODE SENSE (6) Comparaison des données MODE PAGE avant et après la définition du bit DBD

Description : le test de ces données de page est identique avant et après la définition du bit DBD.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : Les données de page correspondent

Titre : MODE SENSE (6) Champ de contrôle de page de test

Description : Test de différentes valeurs du champ de contrôle Page et application de la taille des données retournées.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : la longueur des données pour chaque valeur de PC est correcte.

Titre : MODE SENSE (6) Analyse de toutes les pages en mode.

Description : vérification de la page mode 0x3f données pour examiner les pages en mode pris en charge.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : Pour rechercher les pages en mode pris en charge : page mode de contrôle d’exception d’informations et page mode mise en cache.

Titre : MODE SENSE (6) S’assurer que les pages en mode obligatoire sont prises en charge

Description : vérification que les pages de mode requises sont présentes dans MODE PAGE 0x3f

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attentes : les pages de mise en cache et d’exception d’information sont prises en charge, au minimum.

Titre : MODE SENSE (6) Vérification des pages en mode individuel

Description : Test pour vérifier que nous pouvons accéder à chaque page de mode individuelle et que les paremètres sont corrects

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : les pages doivent être retournées et les en-têtes doivent être conformes

Titre : MODE SENSE (6) Page vérification du mode d’exception informationnelle

Description : Vérification de la conformité de la page mode d’exception informationnelle

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : La page Mode Condition d’alimentation est prise en charge

Titre : MODE SENSE (6) Page vérification du mode d’exception informationnelle

Description : Vérification de la conformité de la page mode d’exception informationnelle

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : La page Mode Condition d’alimentation est prise en charge

Titre : MODE SENSE (6) Vérification de la page mode État de l’alimentation.

Description : Vérification de la conformité de la page mode Condition d’alimentation

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : La page mode d’exception informationnelle est prise en charge

Titre : MODE SENSE (6) Vérification de la page du mode de mise en cache.

Description : Vérifiez que la page du mode de mise en cache est conforme.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : La page du mode de mise en cache est prise en charge.

Titre : MODE SENSE (6) Vérification des paramètres spécifiques de l’appareil

Description : ce test permet de vérifier si les paramètres spécifiques de l’appareil sont pris en charge.

Référence : Spécification SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) Section 6.9

Attente : Rien.

Commande : Capacité de lecture 10

Titre : READ CAPACITY (10) Test de vérification de base

Description : l’appareil doit retourner le status SCSI GOOD (0x0) et 8 octets de données de paramètre décrivant la capacité et le format moyen de l’appareil de bloc à la mémoire tampon de données entrantes.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.10

Attente : l’appareil doit retourner une status SCSI GOOD (0x0)

Justification : cette commande est requise pour la mise en forme des opérations et l’initialisation.

Commande : Lecture 10

Titre : READ (10) Test des fonctionnalités de base

Description : la commande lit correctement les deux premiers blocs de données. Ce test envoie deux commandes READ lisant deux blocs de données différents mais qui se chevauchent. Ensuite, il compare les données qui se chevauchent. Elle retourne true si les données qui se chevauchent sont identiques entre les opérations de lecture (ce qui implique que les deux commandes lisent correctement les mêmes données).

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.6

Attente : État SCSI == 0x0.

Justification : utilisé pour lire les données de l’appareil.

Titre : READ (10) Test de lecture séquentielle

Description : la commande lit correctement 1 000 blocs séquentiels de données. Ce test envoie la commande 1 000 fois, en lisant les données séquentiellement à partir d’une adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.6

Attente : Toutes les commandes READ (10) réussissent.

Titre : READ (10) Test de lecture aléatoire

Description : la commande lit correctement 1 000 blocs aléatoires de données. Ce test envoie la commande 1000 fois, en lisant les données à l’adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.6

Attente : Toutes les commandes READ (10) réussissent.

Titre : READ (10) Read-With-Disk-Cache-Cleared Test

Description : la commande lit correctement 12 Mo de données avec le cache de disque effacé. Ce test lit d’abord les données séquentielles de 12 Mo pour une vérification ultérieure. Ensuite, il efface le cache de disque en lisant des données aléatoires de 12 Mo. Enfin, il lit les mêmes données séquentielles de 12 Mo pour voir si les données sont identiques à celles de la première lecture.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.6

Attente : les données de 12 Mo lues après l’effacement du cache sont correctes.

Commande : Écrire 10

Titre : WRITE (10) Test des fonctionnalités de base

Description : la commande écrit correctement un bloc de données sur l’appareil. Ce test compare les données que nous voulons écrire et celles retournées par l’opération READ après l’opération d’écriture. Si les données sont identiques, cela implique que la commande WRITE écrit correctement les données sur le disque.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.25

Attente : ScsiStatus == 0x0.

Justification : utilisé pour écrire des données sur l’appareil.

Titre : WRITE (10) Test d’écriture séquentielle

Description : la commande écrit correctement 1 000 blocs séquentiels de données. Ce test envoie la commande 1 000 fois, en écrivant des données séquentiellement à partir d’une adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.25

Attente : toutes les commandes WRITE (10) réussissent.

Titre : WRITE (10) Test d’écriture aléatoire

Description : la commande écrit correctement 1 000 blocs aléatoires de données. Ce test envoie la commande WRITE 1000 fois, en écrivant des données à une adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.25

Attente : toutes les commandes WRITE (10) réussissent.

Titre : WRITE (10) Write-with-Disk-Cache-Disabled Test

Description : la commande écrit correctement 12 Mo de données avec le cache désactivé. Ce test écrit 12 Mo de données sur le disque. Ensuite, il lit les mêmes données de 12 Mo que celles qui viennent d’être écrites pour vérifier que les données que nous venons d’écrire sont correctes.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.25

Attente : Les données de 12 Mo sont écrites correctement

Titre : WRITE (10) Test write-with-disk-cache-enabled

Description : la commande écrit correctement 12 Mo de données avec le cache activé. Ce test écrit 12 Mo de données sur le disque. Ensuite, il envoie une commande SYNCHRONIZE CACHE (10) pour synchroniser l’adresse de bloc logique dans le cache avec celles du disque. Enfin, il lira les mêmes données de 12 Mo que celles qui viennent d’être écrites pour vérifier que les données que nous venons d’écrire sont correctes.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.25

Attente : les données de 12 Mo sont écrites correctement.

Titre : TEST FUA WRITE (10)

Description : la commande écrit correctement les données sur le disque avec le cache et le FUA (Force Unit Access) activés.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.25.

Attente : Les données sont écrites correctement sur le disque avec FUA activé. Les sommes de contrôle de toutes les écritures (10) sont correctes.

Titre : TEST DE SUPPORT VERIFY (10)

Description : vérifiez que l’appareil prend en charge la commande VERIFY (10). Ce test émet une simple commande VERIFY (10) et vérifie si le code de retour est 0x2 (c’est-à-dire non pris en charge).

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.28.

Attente : l’état Scsi est 0x0 (GOOD).

Titre : VERIFY (10) Test de longueur nulle

Description : le test envoie la commande VERIFY (10) avec à la fois LOGICAL BLOCK ADDRESS et VERIFICATION LENGTH définies sur 0. En fonction de la spécification, le champ LONGUEUR DE VÉRIFICATION défini sur zéro spécifie qu’aucun bloc logique ne doit être vérifié. Cette condition ne doit pas être considérée comme une erreur.

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.28.

Attente : l’état Scsi est 0x0 (GOOD).

Titre : VERIFY (10) Test LBA aléatoire

Description : le test envoie la commande VEIRFY (10) avec LA LONGUEUR DE VÉRIFICATION = 1 et l’ADRESSE DE BLOC LOGIQUE aléatoire (aléatoire entre 0 et dernier LBA).

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.28.

Attente : l’état Scsi est 0x0 (GOOD).

Titre : VERIFY (10) Dépassement du test de capacité

Description : le test envoie la commande VEIRFY (10) avec VERIFICATION LENGTH = 2 et LOGICAL BLOCK ADDRESS défini sur le dernier LBA.

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.28.

Attente : l’état Scsi est 0x2 (CONDITION CHECK).

Commande : Mode Sélectionner 10

Titre : MODE SELECT (10) Test de base

Description : vérification pour voir si une commande MODE SELECT simple, avec PF et SP == 0, réussit

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Justification : Mode La sélection 6 est obligatoire et la sélection de mode 10 est facultative et serait testée en cas d’implémentation.

Titre : MODE SELECT 10 : MODE SENSE (10) Tentative d’obtention de la page du mode de mise en cache.

Description : vérifiez si une simple commande MODE SENSE sur page 0x08 renvoie good status.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : MODE SELECT 10 : MODE SENSE (10) Vérification des paramètres savable (bit PS).

Description : Vérification de la valeur 1 pour le bit savable des paramètres de la page Mode de mise en cache.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : PS == 1.

Titre : MODE SELECT 10 : MODE SENSE (10) En-tête de paramètre du mode de vérification

Description : vérifiez que MediumType == 0 et BlockDescriptorLength == 0.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : MediumType == 0x0 and BlockDescriptorLength == 0x0

Titre : MODE SELECT 10 : MODE SENSE (10) Vérification de la longueur de page du mode de mise en cache.

Description : la vérification de la page Mode de mise en cache est de 20 octets.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : cachePageLength == 20 octets.

Titre : MODE SELECT 10 : MODE SENSE (10) Obtention de valeurs modifiables.

Description : Enregistrement des valeurs modifiables pour la page Mode de mise en cache

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : MODE SELECT 10 : MODE SENSE (10) Obtention des valeurs par défaut.

Description : Enregistrement des valeurs par défaut pour la page Mode de mise en cache.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : l’appareil doit retourner une statu SCSI GOOD (0x0)

Titre : MODE SELECT (10) Modification WCE.

Description : application de MODE SELECT à WCE=0 pour l’appareil.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : MODE SELECT 10 : MODE SENSE (10) Vérification que WCE a été effacé.

Description : vérification que la commande MODE SELECT précédente a réellement modifié les paramètres du mode actuel.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : WCE est clair.

Titre : MODE SELECT 10 : MODE SENSE (10) Vérification que les valeurs enregistrées ont changé.

Description : vérification que la commande MODE SELECT précédente a réellement modifié les paramètres du mode enregistré.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : Les valeurs enregistrées ont changé.

Titre : mode select (10) paramètre WCE

Description : application de MODE SELECT pour définir WCE.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : MODE SELECT 10 : MODE SENSE (10) Vérification que WCE a été défini.

Description : vérification que la commande MODE SELECT précédente a réellement défini WCE.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : Les valeurs actuelles ont été définies.

Titre : MODE SELECT (10) Tentative de restauration des valeurs d’origine.

Description : Test MODE SELECT peut renvoyer les valeurs de la page mode de mise en cache à leurs valeurs d’origine

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : MODE SELECT 10 : MODE SENSE (10) Vérification des valeurs ont été restaurées.

Description : vérification que les valeurs ont été restaurées dans la page Mode de mise en cache.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.8

Attente : Les valeurs actuelles sont égales aux valeurs par défaut.

Commande : Mode Sense 10

Titre : MODE SENSE (10) Test de base

Description : vérifier si une commande MODE SENSE10 simple sur page 0x3f renvoie GOOD status

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.10

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Justification : Le mode Sense 6 est obligatoire et le mode Sense 10 est facultatif et serait testé en cas d’implémentation.

Titre : MODE SENSE (10) Vérification de la taille des données retournées.

Description : vérification que nous recevons une quantité minimale de données (c’est-à-dire au moins l’EN-TÊTE DE PARAMÈTRE MODE).

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.10

Attente : Longueur >de transfert de données = 8 octets

Titre : SENS DU MODE (10) VÉRIFICATION DE L’EN-TÊTE DU PARAMÈTRE

Description : vérification de la validité des informations de longueur de l’en-tête du paramètre MODE.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.10

Attente : ModeDataLength = Longueur de transfert de données - 2 = -2 octets.

Titre : MODE SENSE (10) Test DBD (désactiver les descripteurs de blocs) bit.

Description : test pour vérifier que, lorsque le bit DBD est défini, aucun descripteur de bloc n’est retourné.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.10

Attente : Longueur du descripteur de bloc = 0

Titre : MODE SENSE (10) Comparaison des données MODE PAGE avant et après la définition du bit DBD

Description : test que les données de page sont identiques avant et après la définition du bit DBD.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.10

Attentes : Les données de page correspondent

Titre : MODE SENSE (10) Test du champ de contrôle de page

Description : Test des différentes valeurs du champ Contrôle page et application de la taille des données retournées.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.10

Attente : la longueur des données pour chaque valeur de PC est correcte et PC=0 et PC=2 retournent de bonnes status.

Commande : Lecture 16

Titre : READ (16) Test de support

Description : vérifiez que l’appareil prend en charge la commande READ (16). Ce test émet une commande READ (16) simple et vérifie si le code de retour est 0x2 (c’est-à-dire non pris en charge).

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.8

Attente : l’état SCSI est 0x0.

Titre : READ (16) Test des fonctionnalités de base

Description : la commande lit correctement les deux premiers blocs de données. Ce test envoie deux commandes READ qui lisent deux blocs de données différents mais qui se chevauchent. Ensuite, il compare les données qui se chevauchent. Elle retourne true si les données qui se chevauchent sont identiques entre les opérations de lecture (ce qui implique que les deux commandes lisent correctement les mêmes données).

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.8

Attente : l’état SCSI est 0x0.

Justification : Si l’appareil est un LBA 64 bits, la lecture 16 est obligatoire pour lire le disque entier. Sinon, sa si implémentée.

Titre : READ (16) Test de lecture séquentiel

Description : l’appareil doit lire correctement 1 000 blocs séquentiels de données. Ce test envoie la commande 1 000 fois, en lisant les données séquentiellement à partir d’une adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.8

Attente : toutes les commandes READ (16) réussissent.

Titre : READ (16) Test de lecture aléatoire

Description : la commande lit correctement 1 000 blocs aléatoires de données. Ce test envoie la commande READ (16) 1000 fois, en lisant les données à l’adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.8

Attente : toutes les commandes READ (16) réussissent.

Titre : READ (16) Read-with-Disk-Cache-Cleared Test

Description : la commande lit correctement 12 Mo de données avec le cache du disque effacé. Ce test lit d’abord les données séquentielles de 12 Mo pour une vérification ultérieure. Ensuite, il efface le cache du disque en lisant des données aléatoires de 12 Mo. Enfin, il lit les mêmes données séquentielles de 12 Mo pour voir si les données sont identiques à celles de la première lecture.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.8

Attente : les données de 12 Mo lues après l’effacement du cache sont correctes.

Commande : Écrire 16

Titre : WRITE (16) Test de support

Description : vérifiez que l’appareil prend en charge la commande . Ce test émet une simple commande WRITE (16) et vérifie si le code de retour est 0x2 (Condition de vérification).

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.27

Attente : ScsiStatus == 0x0.

Titre : WRITE (16) Test des fonctionnalités de base

Description : la commande écrit correctement un bloc de données sur l’appareil. Ce test compare les données que nous voulons écrire et celles retournées par l’opération READ après l’opération d’écriture. Si les données sont identiques, cela implique que la commande WRITE écrit correctement les données sur le disque.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.27

Attente : : ScsiStatus == 0x0.

Justification : Si l’appareil est 64 bits LBA, l’écriture 16 est obligatoire pour écrire le disque entier. Sinon, sa si implémentée.

Titre : WRITE (16) Test d’écriture séquentielle

Description : la commande écrit correctement 1 000 blocs séquentiels de données. Ce test envoie la commande 1 000 fois, en écrivant des données séquentiellement à partir d’une adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.27

Attente : toutes les commandes WRITE (16) réussissent.

Titre : WRITE (16) Test d’écriture aléatoire

Description : la commande écrit correctement 1 000 blocs aléatoires de données. Ce test envoie la commande WRITE 1000 fois, en écrivant des données à une adresse de bloc logique aléatoire.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.27

Attente : toutes les commandes WRITE (16) réussissent.

Titre : WRITE (16) Write-with-Disk-Cache-Disabled Test

Description : la commande écrit correctement 12 Mo de données avec le cache désactivé. Ce test écrit 12 Mo de données sur le disque. Ensuite, il lit les mêmes données de 12 Mo que celles qui viennent d’être écrites pour vérifier que les données que nous venons d’écrire sont correctes.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.27

Attente : les données de 12 Mo sont écrites correctement.

Titre : WRITE (16) Test write-with-disk-cache-enabled

Description : la commande écrit correctement 12 Mo de données avec le cache activé. Ce test écrit 12 Mo de données sur le disque. Ensuite, il envoie une commande SYNCHRONIZE CACHE (10) pour synchroniser l’adresse de bloc logique dans le cache avec celles du disque. Enfin, il lira les mêmes données de 12 Mo que celles qui viennent d’être écrites pour vérifier que les données que nous venons d’écrire sont correctes.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.27

Attente : les données de 12 Mo retournées par les WRITEs sont correctes.

Titre : TEST de support VERIFY (16)

Description : vérifiez que l’appareil prend en charge la commande VERIFY (16). Ce test émet une simple commande VERIFY (16) et vérifie si le code de retour est 0x2 (c’est-à-dire non pris en charge).

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.30.

Attente : l’état Scsi est 0x0 (GOOD).

Titre : VERIFY (16) Test de longueur nulle

Description : le test envoie la commande VERIFY (16) avec à la fois LOGICAL BLOCK ADDRESS et VERIFICATION LENGTH définies sur 0. En fonction de la spécification, le champ LONGUEUR DE VÉRIFICATION défini sur zéro spécifie qu’aucun bloc logique ne doit être vérifié. Cette condition ne doit pas être considérée comme une erreur.

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.30.

Attente : l’état Scsi est 0x0 (GOOD).

Titre : VERIFY (16) Test LBA aléatoire

Description : le test envoie la commande VERIFY (16) avec LA LONGUEUR DE VÉRIFICATION = 1 et l’ADRESSE LOGIQUE BLOCK aléatoire (aléatoire entre 0 et dernier LBA).

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.30.

Attente : l’état Scsi est 0x0 (GOOD).

Titre : VERIFY (16) Dépassement du test de capacité

Description : le test envoie la commande VEIRFY (16) avec VERIFICATION LENGTH = 2 et LOGICAL BLOCK ADDRESS défini sur le dernier LBA.

Référence : SCSI Block Commands - 3 (SBC-3) Revision 27 (ou publiée) specification Section 5.30.

Attente : l’état SCSI est 0x2 (CONDITION CHECK).

Commande : LUN de rapport

Titre : Test de vérification de base DES LUNS REPORT

Description : tente de trouver le numéro d’unité logique 0 correspondant à D.U.T. et d’exécuter la commande REPORT LUNS. Ce test envoie uniquement les LUN DE RAPPORT au LUN 0 à l’adresse cible actuelle par SAM-3. Ce test émet uniquement une requête avec SELECT REPORT défini sur zéro par SPC-3.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.21

Attente : l’appareil doit retourner des status SCSI GOOD (0x0) et des données de taille inférieure ou égale à 255 octets.

Justification : Les LUN de rapport sont utilisés pour découvrir les numéros d’unité logique présents sur l’appareil. Il est obligatoire pour UAS. BOT utilise la commande GetMaxLun USB spécifique à la classe à la place. Cette option est donc facultative pour les appareils BOT. Bien que nous case activée pour l’implémentation de cette CDB et tester cette commande si elle est implémentée.

Titre : REPORT LUNS LUN0 Test

Description : ce test envoie uniquement les NUMÉROS d’unité logique de rapport au numéro d’unité logique 0 à l’adresse cible actuelle par SAM-3. Ce test émet uniquement une requête avec SELECT REPORT défini sur zéro par SPC-3.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.21

Attente : l’appareil doit retourner des status SCSI GOOD (0x0) et des données de taille inférieure ou égale à 255 octets.

Titre : Test valide des données LUNS REPORT

Description : ce test envoie uniquement les NUMÉROS d’unité logique de rapport au numéro d’unité logique 0 à l’adresse cible actuelle par SAM-3. Ce test émet uniquement une requête avec SELECT REPORT défini sur zéro par SPC-3.

Référence : SCSI Primary Commands - 3 (SPC-3) Revision 23 (ou publiée) specification Section 6.21

Attente : chaque numéro d’unité logique signalé utilise des nombres de niveau unique limités à <= 255.

Commande : Capacité de lecture 16

Titre : READ CAPACITY (16) Test de longueur d’allocation

Description : l’appareil doit retourner un status SCSI GOOD (0x0), même si la longueur d’allocation est définie sur 0.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.11

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Justification : cette commande est requise pour les opérations de mise en forme et l’initialisation.

Titre : READ CAPACITY (16) Test de vérification de base

Description : l’appareil doit retourner un status SCSI GOOD (0x0) et 8 octets de données de paramètre décrivant la capacité et le format moyen de l’appareil de bloc dans la mémoire tampon des données entrantes.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.11

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : READ CAPACITY (16) Test de capacité

Description : envoyez une commande READ CAPACITY pour case activée l’adresse de bloc signalée. Si l’adresse de bloc est supérieure à la limite READ CAPACITY 10, vérifiez que l’adresse de bloc READ CAPACITY 10 est définie sur 0xFFFF_FFFF.

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.11

Attente : Pour les adresses de bloc supérieures à read CAPACITY 10 peut décrire, l’adresse de bloc READ CAPACITY 10 est définie sur 0xFFFF_FFFF.

Commande : Start Stop Unit

Titre : START STOP UNIT Basic Test 1

Description : Envoi de StartStopUnit avec IMMED=0, LOEJ=0, START=0, spin down drive

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.17

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Justification : cette commande est nécessaire pour garantir l’intégrité des données en cas de changements d’état d’alimentation et de déconnexion du bus.

Titre : START STOP UNIT Basic Test 2

Description : Envoi de StartStopUnit avec IMMED=0, LOEJ=0, START=1, spin up drive

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.17

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : START STOP UNIT Basic Test 3

Description : Envoi de StartStopUnit avec IMMED=1, LOEJ=0, START=0, spin down drive

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.17

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Titre : START STOP UNIT Basic Test 4

Description : Envoi de StartStopUnit avec IMMED=1, LOEJ=0, START=1, spin up drive

Référence : SCSI Block Commands - 2 (SBC-2) Revision 16 (ou publiée) specification Section 5.17

Attente : l’appareil doit retourner un status SCSI GOOD (0x0)

Syntaxe de commande

Commande Description

Scsicompliance.exe

Les options du test sont répertoriées ci-dessous.

/Appareil

L’appareil sur lequel le test doit s’exécuter

Exemple : /Chemin d’accès <de l’appareil physique>

/Opération

Opération à exécuter.

Exemple : /Operation Test

/Scénario

Fonctionnalité à tester.

Exemple : /Scenario Common

/Verbosité

Niveau de détail de journalisation. Les valeurs plus grandes entraînent une sortie plus détaillée.

Exemple : /Verbosity 4

Notes

   Pour obtenir de l’aide sur la ligne de commande pour ce fichier binaire de test, tapez /?.

 

Liste de fichiers

File Emplacement

Scsicompliance.exe

<[testbinroot]>\nttest\driverstest\storage\wdk\nttest\

 

Paramètres

Nom du paramètre Description des paramètres
DiskDeviceObjLink Chemin d’accès de l’appareil du disque pour tester EX : \\.\disk0
WDKDeviceID Chemin d’accès de l’instance de l’appareil à tester
LoggingVerbosity LoggingVerbosity : détail de la journalisation. Les niveaux sont cumulatifs. 0 = Assertions et résultats. 1 = Détails (par défaut). 2 = CDB, données et informations de sens. 3 = Informations sur la page Debug et mode détaillé. 4 = Utilisation de la mémoire
ScenarioId Nom du test du scénario.
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.
OperationId
Destructrice (0,1) 0=Passif, 1=Destructeur