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. | ||
uint16_t | kas | |
Keep Alive Support. | ||
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