Data Fields | |
uint16_t | vid |
pci vendor id | |
uint16_t | ssvid |
pci subsystem vendor id | |
int8_t | sn [SPDK_NVME_CTRLR_SN_LEN] |
serial number | |
int8_t | mn [SPDK_NVME_CTRLR_MN_LEN] |
model number | |
uint8_t | fr [SPDK_NVME_CTRLR_FR_LEN] |
firmware revision | |
uint8_t | rab |
recommended arbitration burst | |
uint8_t | ieee [3] |
ieee oui identifier | |
struct { | |
uint8_t multi_port: 1 | |
uint8_t multi_ctrlr: 1 | |
uint8_t sr_iov: 1 | |
uint8_t ana_reporting: 1 | |
uint8_t reserved: 4 | |
} | cmic |
controller multi-path I/O and namespace sharing capabilities | |
uint8_t | mdts |
maximum data transfer size | |
uint16_t | cntlid |
controller id | |
union spdk_nvme_vs_register | ver |
version | |
uint32_t | rtd3r |
RTD3 resume latency. | |
uint32_t | rtd3e |
RTD3 entry latency. | |
struct spdk_nvme_cdata_oaes | oaes |
optional asynchronous events supported | |
union spdk_nvme_cdata_ctratt | ctratt |
controller attributes | |
uint16_t | rrls |
Read Recovery Levels Supported. | |
uint8_t | reserved_102 [9] |
uint8_t | cntrltype |
Controller Type. | |
uint8_t | fguid [16] |
FRU globally unique identifier. | |
uint16_t | crdt [3] |
Command Retry Delay Time 1, 2 and 3. | |
uint8_t | reserved_134 [119] |
struct { | |
uint8_t nvmesd: 1 | |
uint8_t nvmee: 1 | |
uint8_t nvmsr_rsvd: 6 | |
} | nvmsr |
NVM Subsystem Report. | |
struct { | |
uint8_t vwcr: 7 | |
uint8_t vwcrv: 1 | |
} | vwci |
VPD Write Cycle Information. | |
struct { | |
uint8_t smbusme: 1 | |
uint8_t pcieme: 1 | |
uint8_t mec_rsvd: 6 | |
} | mec |
Management Endpoint Capabilities. | |
struct spdk_nvme_cdata_oacs | oacs |
optional admin command support | |
uint8_t | acl |
abort command limit | |
uint8_t | aerl |
asynchronous event request limit | |
struct { | |
uint8_t slot1_ro: 1 | |
uint8_t num_slots: 3 | |
uint8_t activation_without_reset: 1 | |
uint8_t multiple_update_detection: 1 | |
uint8_t frmw_rsvd: 2 | |
} | frmw |
firmware updates | |
struct { | |
uint8_t ns_smart: 1 | |
uint8_t celp: 1 | |
uint8_t edlp: 1 | |
uint8_t telemetry: 1 | |
uint8_t pelp: 1 | |
uint8_t lplp: 1 | |
uint8_t da4_telemetry: 1 | |
uint8_t lpa_rsvd: 1 | |
} | lpa |
log page attributes | |
uint8_t | elpe |
error log page entries | |
uint8_t | npss |
number of power states supported | |
struct { | |
uint8_t spec_format: 1 | |
uint8_t avscc_rsvd: 7 | |
} | avscc |
admin vendor specific command configuration | |
struct { | |
uint8_t supported: 1 | |
controller supports autonomous power state transitions | |
uint8_t apsta_rsvd: 7 | |
} | apsta |
autonomous power state transition attributes | |
uint16_t | wctemp |
warning composite temperature threshold | |
uint16_t | cctemp |
critical composite temperature threshold | |
uint16_t | mtfa |
maximum time for firmware activation | |
uint32_t | hmpre |
host memory buffer preferred size | |
uint32_t | hmmin |
host memory buffer minimum size | |
uint64_t | tnvmcap [2] |
total NVM capacity | |
uint64_t | unvmcap [2] |
unallocated NVM capacity | |
struct { | |
uint8_t num_rpmb_units: 3 | |
uint8_t auth_method: 3 | |
uint8_t reserved1: 2 | |
uint8_t reserved2 | |
uint8_t total_size | |
uint8_t access_size | |
} | rpmbs |
replay protected memory block support | |
uint16_t | edstt |
extended device self-test time (in minutes) | |
union { | |
uint8_t raw | |
struct { | |
uint8_t one_only: 1 | |
Device supports only one device self-test operation at a time. | |
uint8_t reserved: 7 | |
} bits | |
} | dsto |
device self-test options | |
uint8_t | fwug |
Firmware update granularity. More... | |
uint16_t | kas |
Keep Alive Support. More... | |
union { | |
uint16_t raw | |
struct { | |
uint16_t supported: 1 | |
uint16_t reserved: 15 | |
} bits | |
} | hctma |
Host controlled thermal management attributes. | |
uint16_t | mntmt |
Minimum thermal management temperature. | |
uint16_t | mxtmt |
Maximum thermal management temperature. | |
union { | |
uint32_t raw | |
struct { | |
uint32_t crypto_erase: 1 | |
uint32_t block_erase: 1 | |
uint32_t overwrite: 1 | |
uint32_t reserved: 29 | |
} bits | |
} | sanicap |
Sanitize capabilities. | |
uint32_t | hmminds |
Host memory buffer minimum descriptor entry size. | |
uint16_t | hmmaxd |
Host memory maximum descriptor entries. | |
uint16_t | nsetidmax |
NVM set identifier maximum. | |
uint16_t | endgidmax |
Endurance group identifier maximum. | |
uint8_t | anatt |
ANA transition time. | |
struct { | |
uint8_t ana_optimized_state: 1 | |
uint8_t ana_non_optimized_state: 1 | |
uint8_t ana_inaccessible_state: 1 | |
uint8_t ana_persistent_loss_state: 1 | |
uint8_t ana_change_state: 1 | |
uint8_t reserved: 1 | |
uint8_t no_change_anagrpid: 1 | |
uint8_t non_zero_anagrpid: 1 | |
} | anacap |
uint32_t | anagrpmax |
uint32_t | nanagrpid |
uint32_t | pels |
uint16_t | domain_identifier |
uint8_t | reserved3 [10] |
uint8_t | megcap [SPDK_NVME_CTRLR_MEGCAP_LEN] |
uint8_t | reserved384 [128] |
struct { | |
uint8_t min: 4 | |
uint8_t max: 4 | |
} | sqes |
submission queue entry size | |
struct { | |
uint8_t min: 4 | |
uint8_t max: 4 | |
} | cqes |
completion queue entry size | |
uint16_t | maxcmd |
uint32_t | nn |
number of namespaces | |
struct spdk_nvme_cdata_oncs | oncs |
optional nvm command support | |
struct spdk_nvme_cdata_fuses | fuses |
fused operation support | |
struct { | |
uint8_t format_all_ns: 1 | |
uint8_t erase_all_ns: 1 | |
uint8_t crypto_erase_supported: 1 | |
uint8_t reserved: 5 | |
} | fna |
format nvm attributes | |
struct { | |
uint8_t present: 1 | |
uint8_t flush_broadcast: 2 | |
uint8_t reserved: 5 | |
} | vwc |
volatile write cache | |
uint16_t | awun |
atomic write unit normal | |
uint16_t | awupf |
atomic write unit power fail | |
uint8_t | nvscc |
NVM vendor specific command configuration. | |
uint8_t | nwpc |
Namespace Write Protection Capabilities. | |
uint16_t | acwu |
atomic compare & write unit | |
struct { | |
uint16_t copy_format0: 1 | |
uint16_t reserved1: 15 | |
} | ocfs |
optional copy formats supported | |
struct spdk_nvme_cdata_sgls | sgls |
uint32_t | mnan |
uint8_t | maxdna [SPDK_NVME_MAXDNA_FIELD_SIZE] |
uint32_t | maxcna |
uint8_t | reserved4 [204] |
uint8_t | subnqn [SPDK_NVME_NQN_FIELD_SIZE] |
uint8_t | reserved5 [768] |
struct spdk_nvme_cdata_nvmf_specific | nvmf_specific |
struct spdk_nvme_power_state | psd [32] |
uint8_t | vs [1024] |
uint8_t spdk_nvme_ctrlr_data::fwug |
Firmware update granularity.
4KB units 0x00 = no information provided 0xFF = no restriction
uint16_t spdk_nvme_ctrlr_data::kas |
Keep Alive Support.
Granularity of keep alive timer in 100 ms units 0 = keep alive not supported