struttura NVME_ERROR_INFO_LOG (nvme.h)

Contiene campi che specificano le informazioni in una pagina del log delle informazioni sugli errori.

La pagina Log delle informazioni sugli errori contiene informazioni estese sull'errore per un comando completato con un errore o un errore che non è specifico di un comando specifico. Le informazioni sull'errore estese vengono fornite quando More (M) è impostato su 1 nel campo Stato per la voce della coda di completamento associata al comando completato con un errore o come parte di un evento asincrono con un tipo di stato Errore.

La pagina Log delle informazioni sugli errori è globale per il controller. Questo log degli errori può restituire gli ultimi n errori. Se il software host specifica un trasferimento dei dati delle dimensioni di n log degli errori, vengono restituiti i log degli errori per gli ultimi n errori. L'ordinamento delle voci è basato sull'ora in cui si è verificato l'errore, con l'errore più recente restituito come primo log.

La pagina Log delle informazioni sugli errori è un set di 64 voci di byte; il numero di voci supportate è indicato nella struttura dei dati Del controller di identificazione .

Questa struttura viene restituita dal comando Get Log Page .This structure is returned by the Get Log Page command. Per altre informazioni, vedere NVME_CDW10_GET_LOG_PAGE.

Sintassi

typedef struct {
  ULONGLONG           ErrorCount;
  USHORT              SQID;
  USHORT              CMDID;
  NVME_COMMAND_STATUS Status;
  struct {
    USHORT Byte : 8;
    USHORT Bit : 3;
    USHORT Reserved : 5;
  } ParameterErrorLocation;
  ULONGLONG           Lba;
  ULONG               NameSpace;
  UCHAR               VendorInfoAvailable;
  UCHAR               Reserved0[3];
  ULONGLONG           CommandSpecificInfo;
  UCHAR               Reserved1[24];
} NVME_ERROR_INFO_LOG, *PNVME_ERROR_INFO_LOG;

Members

ErrorCount

Numero di errori a 64 bit che indica un identificatore univoco per questo errore.

Il conteggio degli errori inizia da 1h, viene incrementato per ogni voce univoca del log degli errori e viene mantenuta tra le condizioni di spegnimento. Un valore 0h indica una voce non valida. Questo valore può essere usato quando sono presenti voci perse o quando sono presenti meno errori rispetto al numero massimo di voci supportate dal controller.

SQID

Indica l'identificatore della coda di invio (SQID) del comando a cui sono associate le informazioni sull'errore. Se l'errore non è specifico di un comando specifico, questo campo viene impostato su FFFFh.

CMDID

Indica l'identificatore del comando (CMDID) del comando a cui è associato l'errore. Se l'errore non è specifico di un comando specifico, questa proprietà viene impostata su FFFFh.

Status

Indica il campo di stato per il comando completato.

Il campo stato si trova in bit 01:15. Bit 0 corrisponde al tag fase (P) inserito per il comando. Se l'errore non è specifico di un comando specifico, questo campo segnala il valore di stato più applicabile.

ParameterErrorLocation

Struttura ParameterErrorLocation contenente campi che indicano il byte e il bit del parametro di comando a cui è associato l'errore, se applicabile.

Se il parametro si estende su più byte o bit, il percorso indica il primo byte e il bit del parametro. Se l'errore non è specifico di un comando specifico, questo campo viene impostato su FFFFh.

ParameterErrorLocation.Byte

Indica il byte nel comando che contiene l'errore.

Questo valore è contenuto in bit 0:7 della struttura ParameterErrorLocation . I valori validi sono da 0 a 63.

ParameterErrorLocation.Bit

Indica il bit nel comando che contiene l'errore.

Questo valore è contenuto in bit 8:10 della struttura ParameterErrorLocation . I valori validi sono da 0 a 7.

ParameterErrorLocation.Reserved

I bit 11:15 della struttura ParameterErrorLocation sono riservati.

Lba

Indica il primo indirizzo di blocco logico (LBA) che ha riscontrato la condizione di errore, se applicabile.

NameSpace

Indica lo spazio dei nomi a cui è associato l'errore, se applicabile.

VendorInfoAvailable

Quando sono disponibili informazioni aggiuntive sull'errore specifiche del fornitore, questo campo fornisce l'identificatore della pagina di log associato a tale pagina.

Il valore 00h indica che non sono disponibili informazioni aggiuntive. I valori validi sono compresi nell'intervallo di 80h da a FFh.

Reserved0[3]

Un campo riservato.

CommandSpecificInfo

Contiene informazioni specifiche sul comando. Se utilizzata, la definizione del comando specifica le informazioni restituite.

Reserved1[24]

Un campo riservato.

Requisiti

   
Client minimo supportato Windows 10
Intestazione nvme.h