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 { | |
uint32_t reserved1: 8 | |
uint32_t ns_attribute_notices: 1 | |
Supports sending Namespace Attribute Notices. | |
uint32_t fw_activation_notices: 1 | |
Supports sending Firmware Activation Notices. | |
uint32_t reserved2: 1 | |
uint32_t ana_change_notices: 1 | |
Supports Asymmetric Namespace Access Change Notices. | |
uint32_t reserved3: 19 | |
uint32_t discovery_log_change_notices: 1 | |
Supports Discovery log change notices (refer to the NVMe over Fabrics specification) | |
} | oaes |
optional asynchronous events supported | |
struct { | |
uint32_t host_id_exhid_supported: 1 | |
Supports 128-bit host identifier. | |
uint32_t non_operational_power_state_permissive_mode: 1 | |
Supports non-operational power state permissive mode. | |
uint32_t reserved: 30 | |
} | ctratt |
controller attributes | |
uint8_t | reserved_100 [12] |
uint8_t | fguid [16] |
FRU globally unique identifier. | |
uint16_t | crdt [3] |
Command Retry Delay Time 1, 2 and 3. | |
uint8_t | reserved_122 [122] |
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 frmw_rsvd: 3 | |
} | frmw |
firmware updates | |
struct { | |
uint8_t ns_smart: 1 | |
uint8_t celp: 1 | |
uint8_t edlp: 1 | |
uint8_t telemetry: 1 | |
telemetry log pages and notices | |
uint8_t lpa_rsvd: 4 | |
} | 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. | |
uint8_t | reserved3 [10] |
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 |
uint8_t | reserved352 [160] |
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 { | |
uint16_t compare_and_write: 1 | |
uint16_t reserved: 15 | |
} | 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 | reserved531 |
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 | reserved4 [224] |
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