структура NVME_ERROR_INFO_LOG (nvme.h)
Содержит поля, указывающие сведения на странице журнала сведений об ошибках.
Страница журнала сведений об ошибках содержит расширенные сведения об ошибках для команды, которая завершилась ошибкой или сообщила об ошибке, которая не связана с конкретной командой. Расширенные сведения об ошибке предоставляются, если1
в поле Состояние для записи очереди завершения, связанной с командой, завершив ее ошибкой, или как часть асинхронного события с типом состояния Ошибка.
Страница журнала сведений об ошибках является глобальной для контроллера. Этот журнал ошибок может возвращать последние n ошибок. Если ведущее программное обеспечение указывает передачу данных размера n журналов ошибок, возвращаются журналы ошибок для последних n ошибок. Порядок записей основан на времени возникновения ошибки, при этом последняя ошибка возвращается в качестве первого журнала.
Страница журнала сведений об ошибках — это набор записей 64 байта; Число поддерживаемых записей указывается в структуре данных Идентификация контроллера .
Эта структура возвращается командой Получить страницу журнала. Дополнительные сведения см. в разделе NVME_CDW10_GET_LOG_PAGE.
Синтаксис
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;
Члены
ErrorCount
64-разрядное число ошибок с увеличением, указывающее уникальный идентификатор для этой ошибки.
Число ошибок начинается с 1h
, увеличивается для каждой уникальной записи журнала ошибок и сохраняется в условиях выключения питания. Значение 0h
указывает на недопустимую запись. Это значение может использоваться при потере записей или при меньшем количестве ошибок, чем максимальное количество записей, поддерживаемых контроллером.
SQID
Указывает идентификатор очереди отправки (SQID) команды, с которой связаны сведения об ошибке. Если ошибка не связана с конкретной командой, для этого поля устанавливается значение FFFFh
.
CMDID
Указывает идентификатор команды (CMDID), с которой связана ошибка. Если ошибка не связана с конкретной командой, для нее устанавливается значение FFFFh
.
Status
Указывает поле состояния для завершенной команды.
Поле состояния находится в битах 01:15. Бит 0 соответствует тегу phase (P), размещенного для команды. Если ошибка не относится к определенной команде, в этом поле отображается наиболее применимое значение состояния.
ParameterErrorLocation
Структура ParameterErrorLocation , содержащая поля, указывающие байт и бит параметра команды, с которым связана ошибка, если применимо.
Если параметр охватывает несколько байтов или битов, расположение указывает первый байт и бит параметра. Если ошибка не связана с конкретной командой, для этого поля устанавливается значение FFFFh
.
ParameterErrorLocation.Byte
Указывает byte в команде, содержащей ошибку.
Это значение содержится в битах 0:7 структуры ParameterErrorLocation . Допустимые значения: от 0 до 63.
ParameterErrorLocation.Bit
Указывает бит в команде, содержащей ошибку.
Это значение содержится в битах 8:10 структуры ParameterErrorLocation . Допустимые значения: от 0 до 7.
ParameterErrorLocation.Reserved
Биты 11:15 структуры ParameterErrorLocation зарезервированы.
Lba
Указывает первый адрес логического блока (LBA), по которому возникла ошибка, если применимо.
NameSpace
Указывает пространство имен, с которым связана ошибка, если применимо.
VendorInfoAvailable
При наличии дополнительных сведений об ошибках поставщика это поле предоставляет идентификатор страницы журнала, связанной с этой страницей.
Значение 00h
указывает, что дополнительные сведения недоступны. Допустимые значения находятся в диапазоне от 80h
до FFh
.
Reserved0[3]
Зарезервированное поле.
CommandSpecificInfo
Содержит сведения о команде. Если используется, определение команды указывает возвращаемые сведения.
Reserved1[24]
Зарезервированное поле.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Верхняя часть | nvme.h |