NVME_DEVICE_SELF_TEST_RESULT_DATA structure (nvme.h)

Contains data about the results of a Device Self-Test operation.

This structure is used in the ResultData field of the NVME_DEVICE_SELF_TEST_LOG structure.

Syntax

typedef struct {
  struct {
    UCHAR Result : 4;
    UCHAR CodeValue : 4;
  } Status;
  UCHAR     SegmentNumber;
  struct {
    UCHAR NSIDValid : 1;
    UCHAR FLBAValid : 1;
    UCHAR SCTValid : 1;
    UCHAR SCValid : 1;
    UCHAR Reserved : 4;
  } ValidDiagnostics;
  UCHAR     Reserved;
  ULONGLONG POH;
  ULONG     NSID;
  ULONGLONG FailingLBA;
  struct {
    UCHAR AdditionalInfo : 3;
    UCHAR Reserved : 5;
  } StatusCodeType;
  UCHAR     StatusCode;
  USHORT    VendorSpecific;
} NVME_DEVICE_SELF_TEST_RESULT_DATA, *PNVME_DEVICE_SELF_TEST_RESULT_DATA;

Members

Status

A Status structure containing fields that describe the status of a Device Self-Test operation.

Status.Result

Indicates the result of the Device Self-Test operation.

Status.CodeValue

Indicates the Self-Test code value that was specified in the command.

SegmentNumber

Indicates the first segment in which a failure occurred during the Device Self-Test operation.

ValidDiagnostics

A ValidDiagnostics structure containing fields that indicate the validity of certain parameters in a Device Self-Test operation.

ValidDiagnostics.NSIDValid

A ValidDiagnostics field that indicates whether the contents of the Namespace Identifier (NSID) field is valid.

When this value is set to 1, the contents of the NSID field are valid.

ValidDiagnostics.FLBAValid

A ValidDiagnostics field that indicates whether the contents of the Failing Logical Block Address (FLBA) field is valid.

When this value is set to 1, the contents of the FLBA field are valid.

ValidDiagnostics.SCTValid

A ValidDiagnostics field that indicates whether the contents of the Status Code Type (StatusCodeType) field is valid.

When this value is set to 1, the contents of the StatusCodeType field is valid.

ValidDiagnostics.SCValid

A ValidDiagnostics field that indicates whether the contents of the Status Code (StatusCode) field is valid.

When this value is set to 1, the contents of the StatusCode field is valid.

ValidDiagnostics.Reserved

A reserved field in the ValidDiagnostics structure.

Reserved

A reserved field.

POH

Indicates the number of Power On Hours (POH) when the test operation was completed or aborted.

NSID

Contains the Namespace Identifier (NSID). This field is only valid if NSIDValid is set to 1.

FailingLBA

The Logical Block Address (LBA) which caused the test to fail. This field is only valid if FLBAValid is set to 1.

StatusCodeType

A Status Code Type (StatusCodeType) structure containing fields that contain information about errors and conditions.

StatusCodeType.AdditionalInfo

A StatusCodeType field that contains additional information related to errors and conditions of the Device Self-Test operation based on the Status Code Type.

This field is only valid if SCTValid is set to 1.

StatusCodeType.Reserved

A reserved field in the StatusCodeType structure.

StatusCode

A StatusCodeType field that contains additional information related to errors and conditions of the Device Self-Test operation based on the Status Code.

This field is only valid if SCValid is set to 1.

VendorSpecific

A vendor specific field.

Requirements

Requirement Value
Minimum supported client Windows 10
Header nvme.h