PDA

View Full Version : ID evento:51-Errore nella perif.\Device\Harddisk1\D durante un'operaz. di paginazione


MrMM
10-02-2005, 11:36
E' sostanzialmente un problema hardware nel settore che parte dal controller sino al harddisk.

Affligge principalmente le unità ad alte prestazioni, quindi alcune SCSI e UltraDMA, collegate a controller non idonee.

Per tentare di risolvere bisogna:
- controllare che l'unità di memorizzazione di massa sia efficiente;
- che sia correttamente collegata e settata nei jumper;
- che il cavo sia idoneo e funzionante (ad esempio per gli UltraDMA: 80 fili, lunghezza 18")
- semplificare e/o modificare la catena SCSI/IDE sponstando la periferica ad un altro controller;
- controllare e/o aggiornare il BIOS;
- VERIFICARE LA VERSIONE DEL DRIVER SCSI/IDE e AGP.

Quello che segue è un esempio sotto Windows2000 Pro:

Tipo evento: Avviso
Origine evento: Disk
Categoria evento: Nessuno
ID evento: 51
Data:
Ora:
Utente: N/D
Computer:
Descrizione:
Errore nella periferica \Device\Harddisk1\DR1 durante un'operazione di paginazione.
Dati:
0000: 04 00 22 00 01 00 72 00 .."...r.
0008: 00 00 00 00 33 00 04 80 ....3..?
0010: 2d 01 00 00 00 00 00 00 -.......
0018: 00 00 00 00 00 00 00 00 ........
0020: 00 00 00 00 00 00 00 00 ........
0028: 00 00 00 00 00 00 00 00 ........
0030: 00 00 00 00 2a 00 00 00 ....*...
0038: 00 12 00 00 00 00 00 00 ........
0040: 2a 00 05 36 a9 1f 00 00 *..6©...
0048: 80 00 ?.

I dati forniscono molte informazioni sull'errore:

Offset Lunghezza Valori
0x00 1 Tipo di operazione: 0x03 = Lettura, 0x04 = Scrittura, 0x0F = Ioctl
0x01 1 Numero di tentativi rimasti
0x02 2 Dimensione file di dettagli 0x0022
0x04 2 Numero di stringhe 0x0001
0x06 2 Offset del nome della periferica
0x08 2 Non utilizzato
0x0a 2 Byte di riempimento
0x0c 4 Codice di errore NTSTATUS
0x10 4 Valore di errore univoco
0x14 4 Stato finale NTSTATUS 0x00000000 = la richiesta verrà recuperata
0x18 4 Numero sequenziale non utilizzato
0x1c 4 Codice di controllo I/O (non si applica a questo evento)
0x20 8 Offset di byte nel settore danneggiato, se presente
0x28 4 ID percorso
0x2c 4 ID destinazione
0x30 4 LUN
0x34 4 Tipo di operazione: 0x0028 = Lettura, 0x002a = Scrittura
0x38 1 Stato SCSI
0x39 1 Stato SRB
0x3a 1 Non utilizzato
0x3b 1 Non utilizzato
0x3c 1 Chiave di rilevamento
0x3d 1 ASC (Additional Sense Code, codice di rilevamento ulteriore)
0x3e 1 ASCQ (Additional Sense Code Qualifier, qualificatore codice di rilevamento ulteriore)
0x3f 1 Non utilizzato
0x40 10 CDB (Command Descriptor Block)

Particolare importanza rivestono i 4 bytes all'offset 0x14 per verificare se la stringa è stata recuperata e il byte all'offset 0x39 relativo allo stato SRB:
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 (utilizzato dal driver della porta per indicare che si è verificato un errore non correlato a SCSI)
0x38 - 0x3f = valori di stato SRB riservati per uso di driver di porta interno.

Quindi nel caso sopra esposto, si tratta di un errore di sovraccarico (overrun) in scrittura, completamente recuperato dal sistema.

Purtroppo non sempre è così, creandosi delle trasmissioni "sporche", che se interessano l'unità di sistema, possono causare l'instabilità dello stesso.

Simili all'ID 51, ci sono i più gravi ID 9 e 11.

Per chi fosse interessato ad approfondire l'argomento consiglio la lettura dei seguenti articoli Microsoft:

244780 (http://support.microsoft.com/default.aspx?scid=kb;it;244780)
325606 (http://support.microsoft.com/default.aspx?scid=kb;it;325606)
154690 (http://support.microsoft.com/default.aspx?scid=kb;it;154690)
314093 (http://support.microsoft.com/default.aspx?scid=kb;it;314093)

MM
11-02-2005, 10:45
Qualche link invece dei numeri...? ;)

MrMM
11-02-2005, 11:09
Originariamente inviato da MM
Qualche link invece dei numeri...? ;)

Agli Ordini CAPO! :)

Ho editato il 3rd iniziale.

MrMM
28-02-2005, 07:27
Per chi fosse interessato, un link in lingua inglese:

http://www.hardwareanalysis.com/content/topic/12946/?o=0

CYRANO
22-03-2005, 01:47
Ho scoperto che sono afflitto anche io da sto errore 51.
ma solo da oggi... o meglio , me ne sono accorto oggi , son sicuro che tempo fa non lo faceva.
Ho 2 hd sata Wd da 160gb l'uno , che sono andati benissimo finora.
che può essere successo? e , soprattutto, come risolvo??
grassie.





Ciaozzz