estructura NVME_ERROR_INFO_LOG (nvme.h)

Contiene campos que especifican la información en una página de registro de información de error.

La página Registro de información de errores contiene información de error extendida para un comando que se completó con un error o notificó un error que no es específico de un comando determinado. La información de error extendida se proporciona cuando Se establece 1Más (M) en en el campo Estado de la entrada de cola de finalización asociada al comando que se completó con un error o como parte de un evento asincrónico con un tipo de estado Error.

La página Registro de información de errores es global para el controlador. Este registro de errores puede devolver los últimos n errores. Si el software host especifica una transferencia de datos del tamaño de n registros de errores, se devuelven los registros de errores para los últimos n errores. La ordenación de las entradas se basa en la hora en que se produjo el error, con el error más reciente que se devuelve como primer registro.

La página Registro de información de errores es un conjunto de 64 entradas de bytes; El número de entradas admitidas se indica en la estructura de datos del controlador de identificación .

El comando Obtener página de registro devuelve esta estructura. Para obtener más información, consulte NVME_CDW10_GET_LOG_PAGE.

Sintaxis

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;

Miembros

ErrorCount

Un recuento de errores de 64 bits, que incrementa el número de errores, que indica un identificador único para este error.

El recuento de errores se inicia en 1h, se incrementa para cada entrada única del registro de errores y se conserva en condiciones de apagado. Un valor de 0h indica una entrada no válida; este valor se puede usar cuando se pierden entradas o cuando hay menos errores que el número máximo de entradas que admite el controlador.

SQID

Indica el identificador de cola de envío (SQID) del comando al que está asociada la información de error. Si el error no es específico de un comando determinado, este campo se establece en FFFFh.

CMDID

Indica el identificador de comando (CMDID) del comando al que está asociado el error. Si el error no es específico de un comando determinado, se establece en FFFFh.

Status

Indica el campo de estado del comando que se completó.

El campo de estado se encuentra en bits 01:15. Bit 0 corresponde a la etiqueta de fase (P) publicada para el comando. Si el error no es específico de un comando determinado, este campo notifica el valor de estado más aplicable.

ParameterErrorLocation

Estructura ParameterErrorLocation que contiene campos que indican el byte y bit del parámetro de comando al que está asociado el error, si procede.

Si el parámetro abarca varios bytes o bits, la ubicación indica el primer byte y bit del parámetro. Si el error no es específico de un comando determinado, este campo se establece en FFFFh.

ParameterErrorLocation.Byte

Indica el byte en el comando que contenía el error.

Este valor se encuentra en bits 0:7 de la estructura ParameterErrorLocation . Los valores válidos son de 0 a 63.

ParameterErrorLocation.Bit

Indica el bit en el comando que contenía el error.

Este valor se encuentra en bits 8:10 de la estructura ParameterErrorLocation . Los valores válidos son de 0 a 7.

ParameterErrorLocation.Reserved

Se reservan los bits 11:15 de la estructura ParameterErrorLocation .

Lba

Indica la primera dirección de bloque lógico (LBA) que experimentó la condición de error, si procede.

NameSpace

Indica el espacio de nombres al que está asociado el error, si procede.

VendorInfoAvailable

Cuando hay información de error específica del proveedor adicional disponible, este campo proporciona el identificador de página de registro asociado a esa página.

Un valor de 00h indica que no hay información adicional disponible. Los valores válidos están en el intervalo de 80h a FFh.

Reserved0[3]

Campo reservado.

CommandSpecificInfo

Contiene información específica del comando. Si se usa, la definición de comando especifica la información devuelta.

Reserved1[24]

Campo reservado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Encabezado nvme.h