Compartilhar via


estrutura NVME_ERROR_INFO_LOG (nvme.h)

Contém campos que especificam as informações em uma página de log de Informações de Erro.

A página de log informações de erro contém informações de erro estendidas para um comando que foi concluído com um erro ou relatou um erro que não é específico de um comando específico. Informações de erro estendidas são fornecidas quando Mais (M) é definido 1 como no campo Status da Entrada de Fila de Conclusão associada ao comando que foi concluído com um erro ou como parte de um evento assíncrono com um tipo de status de erro.

A página de log informações de erro é global para o controlador. Esse log de erros pode retornar os últimos n erros. Se o software host especificar uma transferência de dados do tamanho de n logs de erros, os logs de erro dos últimos n erros serão retornados. A ordenação das entradas baseia-se na hora em que o erro ocorreu, com o erro mais recente sendo retornado como o primeiro log.

A página de log informações de erro é um conjunto de 64 entradas de bytes; o número de entradas com suporte é indicado na estrutura de dados Identificar Controlador .

Essa estrutura é retornada pelo comando Obter Página de Log. Para obter mais informações, consulte NVME_CDW10_GET_LOG_PAGE.

Sintaxe

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;

Membros

ErrorCount

Uma contagem de erros de incremento de 64 bits que indica um identificador exclusivo para esse erro.

A contagem de erros começa em 1h, é incrementada para cada entrada de log de erros exclusiva e é mantida entre as condições de desligar. Um valor de 0h indica uma entrada inválida; esse valor pode ser usado quando há entradas perdidas ou quando há menos erros do que o número máximo de entradas compatíveis com o controlador.

SQID

Indica o SQID (Identificador de Fila de Envio) do comando ao qual as informações de erro estão associadas. Se o erro não for específico para um comando específico, esse campo será definido como FFFFh.

CMDID

Indica o CMDID (Identificador de Comando) do comando ao qual o erro está associado. Se o erro não for específico para um comando específico, isso será definido como FFFFh.

Status

Indica o Campo de Status para o comando que foi concluído.

O Campo de Status está localizado em bits 01:15. O bit 0 corresponde à Marca de Fase (P) postada para o comando . Se o erro não for específico a um comando específico, esse campo relatará o valor de status mais aplicável.

ParameterErrorLocation

Uma estrutura ParameterErrorLocation que contém campos que indicam o Byte e o Bit do parâmetro de comando ao qual o erro está associado, se aplicável.

Se o parâmetro abranger vários bytes ou bits, o local indicará o primeiro byte e o bit do parâmetro. Se o erro não for específico para um comando específico, esse campo será definido como FFFFh.

ParameterErrorLocation.Byte

Indica o Byte no comando que continha o erro.

Esse valor está contido nos bits 0:7 da estrutura ParameterErrorLocation . Os valores válidos são de 0 a 63.

ParameterErrorLocation.Bit

Indica o Bit no comando que continha o erro.

Esse valor está contido nos bits 8:10 da estrutura ParameterErrorLocation . Os valores válidos são de 0 a 7.

ParameterErrorLocation.Reserved

Os bits 11:15 da estrutura ParameterErrorLocation são reservados.

Lba

Indica o primeiro LBA (Endereço de Bloco Lógico) que experimentou a condição de erro, se aplicável.

NameSpace

Indica o namespace ao qual o erro está associado, se aplicável.

VendorInfoAvailable

Quando há informações de erro específicas do fornecedor adicionais disponíveis, esse campo fornece o identificador de página de log associado a essa página.

Um valor de 00h indica que nenhuma informação adicional está disponível. Os valores válidos estão no intervalo de 80h para FFh.

Reserved0[3]

Um campo reservado.

CommandSpecificInfo

Contém informações específicas do comando. Se usada, a definição de comando especifica as informações retornadas.

Reserved1[24]

Um campo reservado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10
Cabeçalho nvme.h