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 { | ||
| union { | ||
| struct { | ||
| uint8_t smarts: 1 | ||
| uint8_t cses: 1 | ||
| uint8_t lpeds: 1 | ||
| uint8_t ts: 1 | ||
| uint8_t pes: 1 | ||
| uint8_t mlps: 1 | ||
| uint8_t da4s: 1 | ||
| uint8_t rsvd: 1 | ||
| } | ||
| 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 | ||
| } | ||
| Old bit names are deprecated and will be removed in 26.05 release. | ||
| } | ||
| } | 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