Teď jste offline a čekáte, až se znova připojí internet.

Informace o ID události 51

Souhrn
Při zápisu informací na fyzický disk může protokol událostí systému zaznamenat následující zprávu o události:

ID události: 51
Typ události: Upozornění
Zdroj události: Disk
Popis: Během operace stránkování byla zjištěna chyba zařízení \Device\Harddisk3\DR3.
Data:
0000: 04 00 22 00 01 00 72 00
0008: 00 00 00 00 33 00 04 80
0010: 2d 01 00 00 00 00 00 00
0018: 00 00 00 00 00 00 00 00
0020: 00 52 ea 04 15 00 00 00
0028: 01 00 00 00 04 00 00 00
0030: 03 00 00 00 2a 00 00 00
0038: 02 84 00 00 00 29 06 00
0040: 2a 60 0a 82 75 29 00 00
0048: 80 00

Poznámka: Zařízení a šestnáctková data uvedená v popisu se mohou lišit.
Další informace
Když počítač stránkuje informace na disk nebo z disku, zaznamená se při výskytu obecné chyby zpráva o události s ID události 51. Operační systém při operaci stránkování buď odloží stránku paměti z paměti na disk, nebo načte stránku paměti z disku do paměti. Je to součást správy paměti systému Microsoft Windows.

Počítač však může tuto zprávu o události zaznamenat, když načítá obrázky z paměťového zařízení, čte nebo zapisuje do místně mapovaných souborů nebo do jakéhokoli souboru (za předpokladu, že jde vstupně-výstupní operace s vyrovnávací pamětí). Tuto zprávu o události počítač nezaznamená, pokud provádí vstupně-výstupní operace bez vyrovnávací paměti. Při řešení potíží po záznamu zprávy o události s ID události 51 lze postupovat stejně jako u zpráv o události s ID události 9 nebo 11.

Další informace naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
154690 Jak odstranit události ID 9 a ID 11
259237 Řešení potíží při události s ID události 9, 11 nebo 15 na clusterových serverech (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Ke snazší identifikaci problému lze využít binární data přiřazená k jakékoli chybě typu DISK (ID události 7, 9, 11, 51 a další), která lze dekódovat. Další informace o dekódování datové oblasti naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
182335 Formát dat protokolu událostí vytvořených rutinou ScsiPortLogError (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Zpráva s ID události 51 obsahuje další pole pro blok CDB, a proto je třeba při studování datové oblasti v této zprávě o události vzít v úvahu následující informace.

Jak dekódovat datovou oblast ve zprávě o události s ID události 51

Při dekódování datové oblasti v příkladu uvedeném v části Souhrn lze vidět, že pokus o provedení operace zápisu na logickou jednotku (LUN) 3 od sektoru 0x2975820a po sektory 0x0080 se nezdařil, protože sběrnice byla resetována, ale požadavek bude opakován. V další části tohoto článku budou uvedeny jednotlivé kroky při dekódování tohoto příkladu.

V následujících tabulkách je popsáno, co jednotlivé posuny (offsety) reprezentují.

Systémy Windows Server 2003 a Windows XP

PosunDélkaHodnoty
0x001Typ operace: 0x03 = čtení, 0x04 = zápis, 0x0F = IOCTL
0x011Počet zbývajících opakování
0x022Velikost výpisu dat 0x0068
0x042Počet řetězců 0x0001
0x062Posun k názvu zařízení
0x082Nevyužito
0x0a2Vyplňující bajty
0x0c4Kód chyby NTSTATUS
0x104Jedinečná hodnota chyby
0x144Konečný stav NTSTATUS 0x00000000 = požadavek bude opakován
0x184Pořadové číslo – Nevyužito
0x1c4Řídící kód IO (netýká se této události)
0x208Posun v bajtech do chybného sektoru (pokud je nějaký)
0x288Počet směrování při výskytu chyby
0x304Číslo portu – Nevyužito
0x341Chybové příznaky
0x353Nevyužito
0x3864Struktura bloku požadavku rozhraní SCSI
0x7818Struktura dat rozpoznávání

Systém Windows 2000

PosunDélkaHodnoty
0x001Typ operace: 0x03 = čtení, 0x04 = zápis, 0x0F = IOCTL
0x011Počet zbývajících opakování
0x022Velikost výpisu dat 0x0022
0x042Počet řetězců 0x0001
0x062Posun k názvu zařízení
0x082Nevyužito
0x0a2Vyplňující bajty
0x0c4Kód chyby NTSTATUS
0x104Jedinečná hodnota chyby
0x144Konečný stav NTSTATUS 0x00000000 = požadavek bude opakován
0x184Pořadové číslo – Nevyužito
0x1c4Řídící kód IO (netýká se této události)
0x208Posun v bajtech do chybného sektoru (pokud je nějaký)
0x284ID cesty
0x2c4ID cíle
0x304LUN
0x344Typ operace: 0x0028 = čtení, 0x002a = zápis
0x381Stav rozhraní SCSI
0x391Stav přemosťování SRB
0x3a1Nevyužito
0x3b1Nevyužito
0x3c1Kvalifikátor dodatečného kódu rozpoznávání (ASCQ)
0x3d1Dodatečný kód rozpoznávání (ASC)
0x3e1Klíč rozpoznávání
0x3f1Nevyužito
0x4010Blok CDB (Command Descriptor Block)

Klíčové oblasti k dekódování

Kód chyby
V příkladu uvedeném v části Souhrn je kód chyby uvedený na druhém řádku. Tento řádek začíná „0008:“ a zahrnuje poslední 4 bajty na řádku.
0008: 00 00 00 00 33 00 04 80
ErrorCode = 0x80040033

Toto je kód pro chybu 51. Je stejný pro všechny zprávy o události s ID události 51:
IO_WARNING_PAGING_FAILURE
Poznámka: Při překladu šestnáctkových dat ve zprávě o události s ID události 51 na kód stavu je třeba pamatovat na to, že hodnoty jsou zobrazeny ve formátu Little Endian.
Kód konečného stavu
V příkladu v části Souhrn je kód konečného stavu uvedený na posunu 0x14 (na třetím řádku) začínajícím „0010:“ a zahrnuje poslední 4 oktety na tomto řádku.
0010: 2d 01 00 00 00 00 00 00
FinalStatus = 0x00000000

To odpovídá kódu STATUS_SUCCESS a znamená, že požadavek bude opakován.

Poznámka: Při překladu šestnáctkových dat ve zprávě o události s ID události 51 na kód stavu je třeba pamatovat na to, že hodnoty jsou zobrazeny ve formátu Little Endian.
Cílový disk
Tato data lze použít k určení, na kterém disku došlo k problému:
0028: 01 00 00 00 04 00 00 00
Path ID = 0x0000001, Target ID = 0x0000004
0030: 03 00 00 00 2a 00 00 00
LUN = 0x0000003

Svazek může být snazší identifikovat podle symbolického odkazu přiřazeného k jednotce v popisu ID události. Například: \Device\Harddisk3\DR3. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
159865 Jak rozeznat zařízení fyzického disku ve zprávě o události (Tento článek může obsahovat odkazy na anglický obsah (dosud nepřeložený).)
Poznámka: Informace o cílovém disku jsou tu tak, jak se jeví operačnímu systému. Při virtualizaci úložiště nebo používání vícecestného vstupně-výstupního softwaru mohou být údaje prezentované operačnímu systému maskovány. Tyto informace nemusí přímo odpovídat fyzickému mapování.
Parametry bloku požadavku rozhraní SCSI (SRB)
V příkladu uvedeném v části Souhrn má parametr ScsiStatus hodnotu 0x02 (první bajt na řádku 0038) a parametr SrbStatus hodnotu 0x84 (druhý bajt na řádku 0038). Z toho vyplývají následující informace:
0038: 02 84 00 00 00 29 06 00
ScsiStatus = 0x02:
SCSISTAT_CHECK_CONDITION

Kódy stavu rozhraní SCSI: (ze souboru 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					
SrbStatus = 0x84:
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_POWERED0x30 = SRB_STATUS_INTERNAL_ERROR	(používáno ovladačem portu k označení chyby nesouvisející s rozhraním SCSI)0x38 - 0x3f = hodnoty stavu SRB rezervované pro užití interním ovladačem portu.					
Masky stavu SRB:
0x80 = SRB_STATUS_AUTOSENSE_VALID0x40 = SRB_STATUS_QUEUE_FROZEN					
Masky stavu SRB je třeba rozdělit, protože jde o dílčí stav. Jsou kombinovány s kódy stavu SRB.

V předchozím příkladu s hodnotou 0x84 je maska stavu 0x8_. Kód stavu SRB je proto SRB_STATUS_AUTOSENSE_VALID a 0x04. To znamená SRB_STATUS_ERROR.
Kód rozpoznávání
Pokud stav SRB značí, že platí automatické rozpoznávání, kódy rozpoznávání poskytují dodatečné informace. V příkladu uvedeném v části Souhrn je kód rozpoznávání 0x06 (sedmý bajt na řádku 0038) a dodatečný kód rozpoznávání je 0x29 (šestý oktet na řádku 0038). Z toho vyplývají následující informace:
0038: 02 84 00 00 00 29 06 00
Klíč rozpoznávání = 0x06:

Klíčem rozpoznávání je bajt na posunu 003e. To se mapuje na:
0x06 = SCSI_SENSE_UNIT_ATTENTION

Kódy rozpoznávání: (ze souboru 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         					
Dodatečný kód rozpoznávání (ASC) = 0x29:

Dodatečný kód rozpoznávání je umístěný v šestém bajtu na řádku 0038 na posunu 003d a má hodnotu 29. To se pro zadaný klíč rozpoznávání mapuje na:
0x29 = SCSI_ADSENSE_BUS_RESET

Dodatečné kódy rozpoznávání: (ze souboru 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                       					
Kvalifikátor dodatečného kódu rozpoznávání (ASCQ) = 0x00:

Kvalifikátor dodatečného kódu rozpoznávání je umístěný v pátém bajtu na řádku 0038 na posunu 003C a má hodnotu 00. V tomto příkladu je jeho hodnota 00, takže se netýká daného dodatečného kódu rozpoznávání (ASC). Seznam kvalifikátorů dodatečných kódů rozpoznávání pro všechny kódy rozpoznávání je příliš rozsáhlý, než aby mohl být zahrnut do tohoto článku. Další informace naleznete v souboru SCSI.h v sadě Driver Development Kit (DKK).

Poznámka: Všechny hodnoty ASC a ASCQ nad 0x80 jsou specifické pro dodavatele a nejsou popsány v dokumentaci k rozhraní SCSI ani v sadě Microsoft DDK. Obraťte se prosím na dodavatele hardwaru.
Parametry bloku CDB
Blok CDB začíná na řádku s posunem 0040:
0040: 2a 60 0a 82 75 29 00 00
0048: 80 00
Bajty na posunu 0x40 reprezentují kód bloku CDB, bajty z posunů 0x43 až 0x46 reprezentují počáteční sektor a posuny 0x47 až 0x49 reprezentují počet sektorů zahrnutých v operaci.

Poznámka: Datová oblast bloku CDB není ve formátu Little Endian, proto by tyto bajty neměly být převrácené. Při dekódování této oblasti je nutná opatrnost, protože tento formát se liší od starších formátů.

0x2a = Požadavek na zápis
0x0a827529 = Počáteční sektor
0x0080 = Počet sektorů

Kódy bloku CDB rozhraní SCSI: (ze souboru 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       					
pagefile sys
Vlastnosti

ID článku: 244780 - Poslední kontrola: 06/22/2011 01:16:00 - Revize: 14.3

, , , , , , , ,

  • kbenv kberrmsg kbinfo KB244780
Váš názor
1&t=">