Numéro d'article: 244780 - Dernière mise à jour: mardi 22 novembre 2005 - Version: 14.1 Informations sur l'ID d'événement 51Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites). SommaireRésuméLorsque vous écrivez des informations sur le disque physique, le journal des événements système peut enregistrer le message d'événement suivant : ID événement : 51 Plus d'informations Lorsque votre ordinateur pagine des informations vers ou à partir du disque, si une erreur générique se produit, il enregistre un message d'événement de l'ID d'événement 51. Au cours d'une opération de pagination, le système d'exploitation échange une page de mémoire à partir de la mémoire vers le disque ou récupère une page de mémoire à partir du disque vers la mémoire. Cette opération s'inscrit dans le processus de gestion de la mémoire de Microsoft Windows. Cependant, l'ordinateur peut enregistrer ce message d'événement lorsqu'il charge des images à partir d'un dispositif de stockage, lorsqu'il lit des fichiers mappés en local ou tout autre fichier (tant qu'il s'agit d'E/S en mémoire tampon) et lorsqu'il écrit dans ces fichiers. L'ordinateur n'enregistre pas ce message d'événement lorsqu'il exécute une E/S non mise en mémoire tampon. Vous pouvez résoudre le problème d'un message d'événement de l'ID d'événement 51 de la même façon que pour les messages d'événement de l'ID d'événement 9 ou 11. Pour plus d'informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft. 154690
(http://support.microsoft.com/kb/154690/
)
Procédures de dépannage en cas d'erreur ID d'événement 9, 11 et 15
259237
(http://support.microsoft.com/kb/259237/
)
Résolution des ID d'événements 9, 11 et 15 sur les serveurs de clusters
Vous pouvez utiliser les données binaires associées à toute erreur « DISQUE » (ID d'événements 9, 11, 51 et autres) pour vous aider à identifier le problème en décodant la section des données.
Pour plus d'informations sur la façon de décoder la section des données, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
182335
(http://support.microsoft.com/kb/182335/
)
Format des données du journal d'événements créées par ScsiPortLogError
Comme un ID d'événement 51 dispose d'une zone de bloc de description de commande (CDB) supplémentaire, vous devez prendre en compte les informations suivantes lorsque vous examinez la section des données d'un message d'erreur de l'ID d'événement 51. Comment faire pour décoder la section des données d'un message de l'ID d'événement 51Lorsque vous décodez la section des données dans l'exemple décrit dans la section « Résumé », vous pouvez voir qu'une tentative d'écriture sur LUN 3 démarrant à 0x2975820a pour les secteurs 0x0080 a échoué car le bus a été réinitialisé, mais qu'une nouvelle tentative aura lieu. Cet article répertorie ensuite les étapes spécifiques pour le décodage de cet exemple.Le tableau suivant décrit chaque décalage. Windows Server 2003 et Windows XPRéduire ce tableau
Windows 2000Réduire ce tableau
Sections-clés à décoderCode d'erreurDans l'exemple décrit dans la section « Résumé », le code d'erreur est répertorié à la deuxième ligne. Cette ligne débute par "0008:" et comprend dans la ligne les quatre derniers octets. 0008: 00 00 00 00 33 00 04 80 ErrorCode = 0x80040033 C'est le code de l'erreur 51. Ce code est le même pour tous les messages d'événement de l'ID d'événement 51 : IO_WARNING_PAGING_FAILURE Remarque Lorsque vous interprétez les données hexadécimales de l'ID d'événement en code d'état, gardez à l'esprit que les valeurs sont représentées sous le format « little endian » (ordre de primauté des bits de poids faible). Code d'état finalDans l'exemple décrit dans la section « Résumé », le code d'état final est répertorié sur 0x14 (à la troisième ligne), débute par "0010:" et comprend dans cette ligne les quatre derniers octets. 0010: 2d 01 00 00 00 00 00 00 ÉtatFinal = 0x00000000 Il mappe sur STATUS_SUCCESS et implique une nouvelle tentative de la requête. Remarque Lorsque vous interprétez les données hexadécimales de l'ID d'événement en code d'état, gardez à l'esprit que les valeurs sont représentées sous le format « little endian » (ordre de primauté des bits de poids faible). Disque de destinationVous pouvez utiliser ces données pour déterminer sur quel disque le problème est survenu : 0028: 01 00 00 00 04 00 00 00 ID chemin d'accès = 0x0000001, ID cible = 0x0000004 0030: 03 00 00 00 2a 00 00 00 LUN = 0x0000003Il est peut-être plus facile d'identifier le volume à l'aide du lien symbolique au lecteur répertorié dans la description de l'ID d'événement. Par exemple : \Device\Harddisk3\DR3. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft. 159865
(http://support.microsoft.com/kb/159865/
)
Comment faire pour identifier un périphérique disque physique à partir d'un message d'événement
Remarque Les informations du disque de destination sont les données telles qu'elles sont fournies au système d'exploitation. Les logiciels de virtualisation du stockage et de MPIO (multi-path I/O) peuvent masquer ce qui est présenté au système d'exploitation. Ces informations peuvent ne pas correspondre directement aux mappages physiques.Paramètres de bloc de requête SCSI (SRB, SCSI Request Block)Dans l'exemple décrit dans la section « Résumé », l'état Scsi est 0x02 (premier octet de la ligne "0038") et l'état Srb est 0x84 (second octet de la ligne "0038"). Il fournit les informations suivantes :0038: 02 84 00 00 00 29 06 00 ÉtatScsi de 0x02:SCSISTAT_CHECK_CONDITION Codes d'état SCSI : (de SCSI.H) 0x00 = SCSISTAT_GOOD 0x02 = SCSISTAT_CHECK_CONDITION 0x04 = SCSISTAT_CONDITION_MET 0x08 = SCSISTAT_BUSY 0x10 = SCSISTAT_INTERMEDIATE 0x14 = SCSISTAT_INTERMEDIATE_COND_MET 0x18 = SCSISTAT_RESERVATION_CONFLICT 0x22 = SCSISTAT_COMMAND_TERMINATED 0x28 = SCSISTAT_QUEUE_FULL SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_ERROR 0x00 = SRB_STATUS_PENDING 0x01 = SRB_STATUS_SUCCESS 0x02 = SRB_STATUS_ABORTED 0x03 = SRB_STATUS_ABORT_FAILED 0x04 = SRB_STATUS_ERROR 0x05 = SRB_STATUS_BUSY 0x06 = SRB_STATUS_INVALID_REQUEST 0x07 = SRB_STATUS_INVALID_PATH_ID 0x08 = SRB_STATUS_NO_DEVICE 0x09 = SRB_STATUS_TIMEOUT 0x0A = SRB_STATUS_SELECTION_TIMEOUT 0x0B = SRB_STATUS_COMMAND_TIMEOUT 0x0D = SRB_STATUS_MESSAGE_REJECTED 0x0E = SRB_STATUS_BUS_RESET 0x0F = SRB_STATUS_PARITY_ERROR 0x10 = SRB_STATUS_REQUEST_SENSE_FAILED 0x11 = SRB_STATUS_NO_HBA 0x12 = SRB_STATUS_DATA_OVERRUN 0x13 = SRB_STATUS_UNEXPECTED_BUS_FREE 0x14 = SRB_STATUS_PHASE_SEQUENCE_FAILURE 0x15 = SRB_STATUS_BAD_SRB_BLOCK_LENGTH 0x16 = SRB_STATUS_REQUEST_FLUSHED 0x20 = SRB_STATUS_INVALID_LUN 0x21 = SRB_STATUS_INVALID_TARGET_ID 0x22 = SRB_STATUS_BAD_FUNCTION 0x23 = SRB_STATUS_ERROR_RECOVERY 0x24 = SRB_STATUS_NOT_POWERED 0x30 = SRB_STATUS_INTERNAL_ERROR (Utilisé par le pilote de port pour indiquer qu'une erreur qui n'est pas relative à l'interface SCSI s'est produite.) 0x38 - 0x3f = les valeurs d'état Srb sont réservées pour une utilisation du pilote de port interne. 0x80 = SRB_STATUS_AUTOSENSE_VALID 0x40 = SRB_STATUS_QUEUE_FROZEN Dans l'exemple précédent 0x84, 0x8_ est un masque d'état. Par conséquent, SRB_STATUS_AUTOSENSE_VALID et 0x04 constituent le code d'état SRB. Ce qui signifie SRB_STATUS_ERROR. Code de détectionSi l'état SRB indique que la détection automatique est valide, les codes de détection fournissent des informations supplémentaires. Dans l'exemple décrit dans la section "Résumé", le code de détection est 0x06 (septième octet de la ligne "0038") et le code de détection supplémentaire est 0x29 (sixième octet de la ligne "0038"). Il fournit les informations suivantes :0038: 02 84 00 00 00 29 06 00 Clé de détection de 0x06 :L'octet au décalage 003e est la clé de détection qui mappe sur : 0x06 = SCSI_SENSE_UNIT_ATTENTION Codes de détection : (de SCSI.H) 0x00 = SCSI_SENSE_NO_SENSE 0x01 = SCSI_SENSE_RECOVERED_ERROR 0x02 = SCSI_SENSE_NOT_READY 0x03 = SCSI_SENSE_MEDIUM_ERROR 0x04 = SCSI_SENSE_HARDWARE_ERROR 0x05 = SCSI_SENSE_ILLEGAL_REQUEST 0x06 = SCSI_SENSE_UNIT_ATTENTION 0x07 = SCSI_SENSE_DATA_PROTECT 0x08 = SCSI_SENSE_BLANK_CHECK 0x09 = SCSI_SENSE_UNIQUE 0x0A = SCSI_SENSE_COPY_ABORTED 0x0B = SCSI_SENSE_ABORTED_COMMAND 0x0C = SCSI_SENSE_EQUAL 0x0D = SCSI_SENSE_VOL_OVERFLOW 0x0E = SCSI_SENSE_MISCOMPARE 0x0F = SCSI_SENSE_RESERVED Le code de détection supplémentaire est situé au sixième octet de la ligne "0038" au décalage 003d et sa valeur s'élève à 29. Pour la clé de détection spécifiée, il mappe sur : 0x29 = SCSI_ADSENSE_BUS_RESET Codes de détection supplémentaires : (de SCSI.H) 0x00 = SCSI_ADSENSE_NO_SENSE 0x02 = SCSI_ADSENSE_NO_SEEK_COMPLETE 0x04 = SCSI_ADSENSE_LUN_NOT_READY 0x0C = SCSI_ADSENSE_WRITE_ERROR 0x14 = SCSI_ADSENSE_TRACK_ERROR 0x15 = SCSI_ADSENSE_SEEK_ERROR 0x17 = SCSI_ADSENSE_REC_DATA_NOECC 0x18 = SCSI_ADSENSE_REC_DATA_ECC 0x20 = SCSI_ADSENSE_ILLEGAL_COMMAND 0x21 = SCSI_ADSENSE_ILLEGAL_BLOCK 0x24 = SCSI_ADSENSE_INVALID_CDB 0x25 = SCSI_ADSENSE_INVALID_LUN 0x27 = SCSI_ADSENSE_WRITE_PROTECT 0x28 = SCSI_ADSENSE_MEDIUM_CHANGED 0x29 = SCSI_ADSENSE_BUS_RESET 0x2E = SCSI_ADSENSE_INSUFFICIENT_TIME_FOR_OPERATION 0x30 = SCSI_ADSENSE_INVALID_MEDIA 0x3a = SCSI_ADSENSE_NO_MEDIA_IN_DEVICE 0x3b = SCSI_ADSENSE_POSITION_ERROR 0x5a = SCSI_ADSENSE_OPERATOR_REQUEST 0x5d = SCSI_ADSENSE_FAILURE_PREDICTION_THRESHOLD_EXCEEDED 0x64 = SCSI_ADSENSE_ILLEGAL_MODE_FOR_THIS_TRACK 0x6f = SCSI_ADSENSE_COPY_PROTECTION_FAILURE 0x73 = SCSI_ADSENSE_POWER_CALIBRATION_ERROR 0x80 = SCSI_ADSENSE_VENDOR_UNIQUE 0xA0 = SCSI_ADSENSE_MUSIC_AREA 0xA1 = SCSI_ADSENSE_DATA_AREA 0xA7 = SCSI_ADSENSE_VOLUME_OVERFLOW Le qualificateur du code de détection supplémentaire est situé au cinquième octet de la ligne "0038" au décalage 003C et sa valeur s'élève à 00. Elle est égale à 00 dans cet exemple, pour ne pas s'appliquer à l'ASC spécifié. La liste des qualificateurs de code de détection supplémentaire de chaque code de détection est trop longue pour être fournie dans cet article. Affichez SCSI.H dans le DDK pour obtenir des informations supplémentaires. Remarque Toutes les valeurs ASC et ASCQ supérieures à 0x80 sont spécifiques au fournisseur et ne sont pas documentées dans la spécification SCSI ou Microsoft DDK. Consultez le fournisseur de votre matériel. Paramètres du bloc de description de commande (CDB)Le CDB démarre à la ligne assortie du décalage ?0040?: 0040: 2a 60 0a 82 75 29 00 00 Les octets du décalage 0x40 représentent le code CDB, les octets du décalage 0x43 à 0x46 représentent le secteur initial et les octets du décalage 0x47 à 0x49 représentent le nombre de secteurs impliqués dans l'opération.0048: 80 00 Remarque La section de données CDB n'est pas au format « little endian » ; par conséquent, les octets ne devraient pas être retournés. Prenez garde lorsque vous décodez cette section car le format est différent des formats antérieurs. 0x2a = Requête d'écriture 0x0a827529 = Secteur initial 0x0080 = Nombre de secteurs Codes CDB SCSI : (de SCSI.H) 0x00 = SCSIOP_TEST_UNIT_READY 0x01 = SCSIOP_REZERO_UNIT 0x01 = SCSIOP_REWIND 0x02 = SCSIOP_REQUEST_BLOCK_ADDR 0x03 = SCSIOP_REQUEST_SENSE 0x04 = SCSIOP_FORMAT_UNIT 0x05 = SCSIOP_READ_BLOCK_LIMITS 0x07 = SCSIOP_REASSIGN_BLOCKS 0x07 = SCSIOP_INIT_ELEMENT_STATUS 0x08 = SCSIOP_READ6 0x08 = SCSIOP_RECEIVE 0x0A = SCSIOP_WRITE6 0x0A = SCSIOP_PRINT 0x0A = SCSIOP_SEND 0x0B = SCSIOP_SEEK6 0x0B = SCSIOP_TRACK_SELECT 0x0B = SCSIOP_SLEW_PRINT 0x0C = SCSIOP_SEEK_BLOCK 0x0D = SCSIOP_PARTITION 0x0F = SCSIOP_READ_REVERSE 0x10 = SCSIOP_WRITE_FILEMARKS 0x10 = SCSIOP_FLUSH_BUFFER 0x11 = SCSIOP_SPACE 0x12 = SCSIOP_INQUIRY 0x13 = SCSIOP_VERIFY6 0x14 = SCSIOP_RECOVER_BUF_DATA 0x15 = SCSIOP_MODE_SELECT 0x16 = SCSIOP_RESERVE_UNIT 0x17 = SCSIOP_RELEASE_UNIT 0x18 = SCSIOP_COPY 0x19 = SCSIOP_ERASE 0x1A = SCSIOP_MODE_SENSE 0x1B = SCSIOP_START_STOP_UNIT 0x1B = SCSIOP_STOP_PRINT 0x1B = SCSIOP_LOAD_UNLOAD 0x1C = SCSIOP_RECEIVE_DIAGNOSTIC 0x1D = SCSIOP_SEND_DIAGNOSTIC 0x1E = SCSIOP_MEDIUM_REMOVAL 0x23 = SCSIOP_READ_FORMATTED_CAPACITY 0x25 = SCSIOP_READ_CAPACITY 0x28 = SCSIOP_READ 0x2A = SCSIOP_WRITE 0x2B = SCSIOP_SEEK 0x2B = SCSIOP_LOCATE 0x2B = SCSIOP_POSITION_TO_ELEMENT 0x2E = SCSIOP_WRITE_VERIFY 0x2F = SCSIOP_VERIFY 0x30 = SCSIOP_SEARCH_DATA_HIGH 0x31 = SCSIOP_SEARCH_DATA_EQUAL 0x32 = SCSIOP_SEARCH_DATA_LOW 0x33 = SCSIOP_SET_LIMITS 0x34 = SCSIOP_READ_POSITION 0x35 = SCSIOP_SYNCHRONIZE_CACHE 0x39 = SCSIOP_COMPARE 0x3A = SCSIOP_COPY_COMPARE 0x3B = SCSIOP_WRITE_DATA_BUFF 0x3C = SCSIOP_READ_DATA_BUFF 0x40 = SCSIOP_CHANGE_DEFINITION 0x42 = SCSIOP_READ_SUB_CHANNEL 0x43 = SCSIOP_READ_TOC 0x44 = SCSIOP_READ_HEADER 0x45 = SCSIOP_PLAY_AUDIO 0x46 = SCSIOP_GET_CONFIGURATION 0x47 = SCSIOP_PLAY_AUDIO_MSF 0x48 = SCSIOP_PLAY_TRACK_INDEX 0x49 = SCSIOP_PLAY_TRACK_RELATIVE 0x4A = SCSIOP_GET_EVENT_STATUS 0x4B = SCSIOP_PAUSE_RESUME 0x4C = SCSIOP_LOG_SELECT 0x4D = SCSIOP_LOG_SENSE 0x4E = SCSIOP_STOP_PLAY_SCAN 0x51 = SCSIOP_READ_DISK_INFORMATION 0x52 = SCSIOP_READ_TRACK_INFORMATION 0x53 = SCSIOP_RESERVE_TRACK_RZONE 0x54 = SCSIOP_SEND_OPC_INFORMATION 0x55 = SCSIOP_MODE_SELECT10 0x5A = SCSIOP_MODE_SENSE10 0x5B = SCSIOP_CLOSE_TRACK_SESSION 0x5C = SCSIOP_READ_BUFFER_CAPACITY 0x5D = SCSIOP_SEND_CUE_SHEET 0x5E = SCSIOP_PERSISTENT_RESERVE_IN 0x5F = SCSIOP_PERSISTENT_RESERVE_OUT 0xA0 = SCSIOP_REPORT_LUNS 0xA1 = SCSIOP_BLANK 0xA3 = SCSIOP_SEND_KEY 0xA4 = SCSIOP_REPORT_KEY 0xA5 = SCSIOP_MOVE_MEDIUM 0xA6 = SCSIOP_LOAD_UNLOAD_SLOT 0xA6 = SCSIOP_EXCHANGE_MEDIUM 0xA7 = SCSIOP_SET_READ_AHEAD 0xAD = SCSIOP_READ_DVD_STRUCTURE 0xB5 = SCSIOP_REQUEST_VOL_ELEMENT 0xB6 = SCSIOP_SEND_VOLUME_TAG 0xB8 = SCSIOP_READ_ELEMENT_STATUS 0xB9 = SCSIOP_READ_CD_MSF 0xBA = SCSIOP_SCAN_CD 0xBB = SCSIOP_SET_CD_SPEED 0xBC = SCSIOP_PLAY_CD 0xBD = SCSIOP_MECHANISM_STATUS 0xBE = SCSIOP_READ_CD 0xBF = SCSIOP_SEND_DVD_STRUCTURE 0xE7 = SCSIOP_INIT_ELEMENT_RANGE Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT. | Traductions disponibles
|
Retour au début
