struct nvme_id_ctrl - Identify Controller data structure
Contents
Members
vid PCI Vendor ID, the company vendor identifier that is assigned by the PCI SIG.
ssvid PCI Subsystem Vendor ID, the company vendor identifier that is assigned by the PCI SIG for
the subsystem.
sn Serial Number in ASCII
mn Model Number in ASCII
fr Firmware Revision in ASCII, the currently active firmware revision for the NVM subsystem
rab Recommended Arbitration Burst, reported as a power of two
ieee IEEE assigned Organization Unique Identifier
cmic Controller Multipath IO and Namespace Sharing Capabilities of the controller and NVM
subsystem. See enumnvme_id_ctrl_cmic.
mdts Max Data Transfer Size is the largest data transfer size. The host should not submit a
command that exceeds this maximum data transfer size. The value is in units of the minimum
memory page size (CAP.MPSMIN) and is reported as a power of two
cntlid Controller ID, the NVM subsystem unique controller identifier associated with the controller.
ver Version, this field contains the value reported in the Version register, or property (see
enumnvme_registers NVME_REG_VS).
rtd3r RTD3 Resume Latency, the expected latency in microseconds to resume from Runtime D3
rtd3e RTD3 Exit Latency, the typical latency in microseconds to enter Runtime D3.
oaes Optional Async Events Supported, see enum nvme_id_ctrl_oaes.
ctratt Controller Attributes, see enum nvme_id_ctrl_ctratt.
rrls Read Recovery Levels. If a bit is set, then the corresponding Read Recovery Level is
supported. If a bit is cleared, then the corresponding Read Recovery Level is not supported.
bpcap Boot Partition Capabilities, see enumnvme_id_ctrl_bpcap.
rsvd103 Reserved
nssl NVM Subsystem Shutdown Latency (NSSL). This field indicates the typical latency in
microseconds for an NVM Subsystem Shutdown to complete.
rsvd108 Reserved
plsi Power Loss Signaling Information (PLSI), see enumnvme_id_ctrl_plsi
cntrltype Controller Type, see enumnvme_id_ctrl_cntrltype
fguid FRU GUID, a 128-bit value that is globally unique for a given Field Replaceable Unit
crdt1 Controller Retry Delay time in 100 millisecond units if CQE CRD field is 1
crdt2 Controller Retry Delay time in 100 millisecond units if CQE CRD field is 2
crdt3 Controller Retry Delay time in 100 millisecond units if CQE CRD field is 3
crcap Controller Reachability Capabilities (CRCAP), see enumnvme_id_ctrl_crcap
rsvd135 Reserved
nvmsr NVM Subsystem Report, see enumnvme_id_ctrl_nvmsr
vwci VPD Write Cycle Information, see enumnvme_id_ctrl_vwci
mec Management Endpoint Capabilities, see enumnvme_id_ctrl_mec
oacs Optional Admin Command Support,the optional Admin commands and features supported by the
controller, see enumnvme_id_ctrl_oacs.
acl Abort Command Limit, the maximum number of concurrently executing Abort commands supported by
the controller. This is a 0's based value.
aerl Async Event Request Limit, the maximum number of concurrently outstanding Asynchronous Event
Request commands supported by the controller This is a 0's based value.
frmw Firmware Updates indicates capabilities regarding firmware updates. See enumnvme_id_ctrl_frmw.
lpa Log Page Attributes, see enumnvme_id_ctrl_lpa.
elpe Error Log Page Entries, the maximum number of Error Information log entries that are stored
by the controller. This field is a 0's based value.
npss Number of Power States Supported, the number of NVM Express power states supported by the
controller, indicating the number of valid entries in structnvme_id_ctrl.psd. This is a 0's
based value.
avscc Admin Vendor Specific Command Configuration, see enumnvme_id_ctrl_avscc.
apsta Autonomous Power State Transition Attributes, see enumnvme_id_ctrl_apsta.
wctemp Warning Composite Temperature Threshold indicates the minimum Composite Temperature field
value (see structnvme_smart_log.critical_comp_time) that indicates an overheating condition
during which controller operation continues.
cctemp Critical Composite Temperature Threshold, field indicates the minimum Composite Temperature
field value (see structnvme_smart_log.critical_comp_time) that indicates a critical
overheating condition.
mtfa Maximum Time for Firmware Activation indicates the maximum time the controller temporarily
stops processing commands to activate the firmware image, specified in 100 millisecond units.
This field is always valid if the controller supports firmware activation without a reset.
hmpre Host Memory Buffer Preferred Size indicates the preferred size that the host is requested to
allocate for the Host Memory Buffer feature in 4 KiB units.
hmmin Host Memory Buffer Minimum Size indicates the minimum size that the host is requested to
allocate for the Host Memory Buffer feature in 4 KiB units.
tnvmcap Total NVM Capacity, the total NVM capacity in the NVM subsystem. The value is in bytes.
unvmcap Unallocated NVM Capacity, the unallocated NVM capacity in the NVM subsystem. The value is in
bytes.
rpmbs Replay Protected Memory Block Support, see enumnvme_id_ctrl_rpmbs.
edstt Extended Device Self-test Time, if Device Self-test command is supported (see structnvme_id_ctrl.oacs, NVME_CTRL_OACS_SELF_TEST), then this field indicates the nominal amount of
time in one minute units that the controller takes to complete an extended device self-test
operation when in power state 0.
dsto Device Self-test Options, see enumnvme_id_ctrl_dsto.
fwug Firmware Update Granularity indicates the granularity and alignment requirement of the
firmware image being updated by the Firmware Image Download command. The value is reported in
4 KiB units. A value of 0h indicates no information on granularity is provided. A value of
FFh indicates no restriction
kas Keep Alive Support indicates the granularity of the Keep Alive Timer in 100 millisecond
units.
hctma Host Controlled Thermal Management Attributes, see enumnvme_id_ctrl_hctm.
mntmt Minimum Thermal Management Temperature indicates the minimum temperature, in degrees Kelvin,
that the host may request in the Thermal Management Temperature 1 field and Thermal
Management Temperature 2 field of a Set Features command with the Feature Identifier field
set to NVME_FEAT_FID_HCTM.
mxtmt Maximum Thermal Management Temperature indicates the maximum temperature, in degrees Kelvin,
that the host may request in the Thermal Management Temperature 1 field and Thermal
Management Temperature 2 field of the Set Features command with the Feature Identifier set to
NVME_FEAT_FID_HCTM.
sanicap Sanitize Capabilities, see enumnvme_id_ctrl_sanicap
hmminds Host Memory Buffer Minimum Descriptor Entry Size indicates the minimum usable size of a Host
Memory Buffer Descriptor Entry in 4 KiB units.
hmmaxd Host Memory Maximum Descriptors Entries indicates the number of usable Host Memory Buffer
Descriptor Entries.
nsetidmax NVM Set Identifier Maximum, defines the maximum value of a valid NVM Set Identifier for any
controller in the NVM subsystem.
endgidmax Endurance Group Identifier Maximum, defines the maximum value of a valid Endurance Group
Identifier for any controller in the NVM subsystem.
anatt ANA Transition Time indicates the maximum amount of time, in seconds, for a transition
between ANA states or the maximum amount of time, in seconds, that the controller reports the
ANA change state.
anacap Asymmetric Namespace Access Capabilities, see enumnvme_id_ctrl_anacap.
anagrpmax ANA Group Identifier Maximum indicates the maximum value of a valid ANA Group Identifier for
any controller in the NVM subsystem.
nanagrpid Number of ANA Group Identifiers indicates the number of ANA groups supported by this
controller.
pels Persistent Event Log Size indicates the maximum reportable size for the Persistent Event Log.
domainid Domain Identifier indicates the identifier of the domain that contains this controller.
kpioc Key Per I/O Capabilities (KPIOC), see enumnvme_id_ctrl_kpioc
rsvd359 Reserved
mptfawr Maximum Processing Time for Firmware Activation Without Reset (MPTFAWR). This field shall
indicate the estimated maximum time in 100 ms units required by the controller to process a
Firmware Commit command that specifies a value of 011b in the Commit Action field
rsvd362 Reserved
megcap Max Endurance Group Capacity indicates the maximum capacity of a single Endurance Group.
tmpthha Temperature Threshold Hysteresis Attributes
rsvd385 Reserved
cqt Command Quiesce Time (CQT). his field indicates the expected worst-case time in 1 millisecond
units for the controller to quiesce all outstanding commands after a Keep Alive Timeout or
other communication loss.
rsvd388 Reserved
sqes Submission Queue Entry Size, see enumnvme_id_ctrl_sqes.
cqes Completion Queue Entry Size, see enumnvme_id_ctrl_cqes.
maxcmd Maximum Outstanding Commands indicates the maximum number of commands that the controller
processes at one time for a particular queue.
nn Number of Namespaces indicates the maximum value of a valid nsid for the NVM subsystem. If
the MNAN (structnvme_id_ctrl.mnan field is cleared to 0h, then this field also indicates the
maximum number of namespaces supported by the NVM subsystem.
oncs Optional NVM Command Support, see enumnvme_id_ctrl_oncs.
fuses Fused Operation Support, see enumnvme_id_ctrl_fuses.
fna Format NVM Attributes, see enumnvme_id_ctrl_fna.
vwc Volatile Write Cache, see enumnvme_id_ctrl_vwc.
awun Atomic Write Unit Normal indicates the size of the write operation guaranteed to be written
atomically to the NVM across all namespaces with any supported namespace format during normal
operation. This field is specified in logical blocks and is a 0's based value.
awupf Atomic Write Unit Power Fail indicates the size of the write operation guaranteed to be
written atomically to the NVM across all namespaces with any supported namespace format
during a power fail or error condition. This field is specified in logical blocks and is a
0’s based value.
icsvscc NVM Vendor Specific Command Configuration, see enumnvme_id_ctrl_nvscc.
nwpc Namespace Write Protection Capabilities, see enumnvme_id_ctrl_nwpc.
acwu Atomic Compare & Write Unit indicates the size of the write operation guaranteed to be
written atomically to the NVM across all namespaces with any supported namespace format for a
Compare and Write fused operation. This field is specified in logical blocks and is a 0’s
based value.
ocfs Optional Copy Formats Supported, each bit n means controller supports Copy Format n.
sgls SGL Support, see enumnvme_id_ctrl_sgls
mnan Maximum Number of Allowed Namespaces indicates the maximum number of namespaces supported by
the NVM subsystem.
maxdna Maximum Domain Namespace Attachments indicates the maximum of the sum of the number of
namespaces attached to each I/O controller in the Domain.
maxcna Maximum I/O Controller Namespace Attachments indicates the maximum number of namespaces that
are allowed to be attached to this I/O controller.
oaqd Optimal Aggregated Queue Depth indicates the recommended maximum total number of outstanding
I/O commands across all I/O queues on the controller for optimal operation.
rhiri Recommended Host-Initiated Refresh Interval (RHIRI). If the Host-Initiated Refresh capability
is supported, then this field indicates the recommended time interval in days from last power
down to the time at which the host should initiate the Host-Initiated Refresh operation. If
this field is cleared to 0h, then this field is not reported.
hirt Host-Initiated Refresh Time (HIRT). If the Host-Initiated Refresh capability is supported,
then this field indicates the nominal amount of time in minutes that the controller takes to
complete the Host-Initiated Refresh operation. If this field is cleared to 0h, then this
field is not reported.
cmmrtd Controller Maximum Memory Range Tracking Descriptors indicates the maximum number of Memory
Range Tracking Descriptors the controller supports.
nmmrtd NVM Subsystem Maximum Memory Range Tracking Descriptors indicates the maximum number of
Memory Range Tracking Descriptors the NVM subsystem supports.
minmrtg Minimum Memory Range Tracking Granularity indicates the minimum value supported in the
Requested Memory Range Tracking Granularity (RMRTG) field of the Track Memory Ranges data
structure.
maxmrtg Maximum Memory Range Tracking Granularity indicates the maximum value supported in the
Requested Memory Range Tracking Granularity (RMRTG) field of the Track Memory Ranges data
structure.
trattr Tracking Attributes indicates supported attributes for the Track Send command and Track
Receive command. see enumnvme_id_ctrl_trattr
rsvd577 Reserved
mcudmq Maximum Controller User Data Migration Queues indicates the maximum number of User Data
Migration Queues supported by the controller.
mnsudmq Maximum NVM Subsystem User Data Migration Queues indicates the maximum number of User Data
Migration Queues supported by the NVM subsystem.
mcmr Maximum CDQ Memory Ranges indicates the maximum number of memory ranges allowed to be
specified by the PRP1 field of a Controller Data Queue command.
nmcmr NVM Subsystem Maximum CDQ Memory Ranges indicates the maximum number of memory ranges for all
Controller Data Queues in the NVM subsystem.
mcdqpc Maximum Controller Data Queue PRP Count indicates the maximum number of PRPs allowed to be
specified in the PRP list in the Controller Data Queue command.
rsvd588 Reserved
subnqn NVM Subsystem NVMe Qualified Name, UTF-8 null terminated string
rsvd1024 Reserved
ioccsz I/O Queue Command Capsule Supported Size, defines the maximum I/O command capsule size in 16
byte units.
iorcsz I/O Queue Response Capsule Supported Size, defines the maximum I/O response capsule size in
16 byte units.
icdoff In Capsule Data Offset, defines the offset where data starts within a capsule. This value is
applicable to I/O Queues only.
fcatt Fabrics Controller Attributes, see enumnvme_id_ctrl_fcatt.
msdbd Maximum SGL Data Block Descriptors indicates the maximum number of SGL Data Block or Keyed
SGL Data Block descriptors that a host is allowed to place in a capsule. A value of 0h
indicates no limit.
ofcs Optional Fabric Commands Support, see enumnvme_id_ctrl_ofcs.
dctype Discovery Controller Type (DCTYPE). This field indicates what type of Discovery controller
the controller is (see enum nvme_id_ctrl_dctype)
rsvd1807 Reserved
psd Power State Descriptors, see structnvme_id_psd.
vs Vendor Specific
May 2025 struct nvme_id_ctrl libnvme(2)
Name
struct nvme_id_ctrl - Identify Controller data structure
Synopsis
struct nvme_id_ctrl {
__le16vid;__le16ssvid;charsn[20];charmn[40];charfr[8];__u8rab;__u8ieee[3];__u8cmic;__u8mdts;__le16cntlid;__le32ver;__le32rtd3r;__le32rtd3e;__le32oaes;__le32ctratt;__le16rrls;__u8bpcap;__u8rsvd103;__le32nssl;__u8rsvd108[2];__u8plsi;__u8cntrltype;__u8fguid[16];__le16crdt1;__le16crdt2;__le16crdt3;__u8crcap;__u8rsvd135[118];__u8nvmsr;__u8vwci;__u8mec;__le16oacs;__u8acl;__u8aerl;__u8frmw;__u8lpa;__u8elpe;__u8npss;__u8avscc;__u8apsta;__le16wctemp;__le16cctemp;__le16mtfa;__le32hmpre;__le32hmmin;__u8tnvmcap[16];__u8unvmcap[16];__le32rpmbs;__le16edstt;__u8dsto;__u8fwug;__le16kas;__le16hctma;__le16mntmt;__le16mxtmt;__le32sanicap;__le32hmminds;__le16hmmaxd;__le16nsetidmax;__le16endgidmax;__u8anatt;__u8anacap;__le32anagrpmax;__le32nanagrpid;__le32pels;__le16domainid;__u8kpioc;__u8rsvd359;__le16mptfawr;__u8rsvd362[6];__u8megcap[16];__u8tmpthha;__u8rsvd385;__le16cqt;__u8rsvd388[124];__u8sqes;__u8cqes;__le16maxcmd;__le32nn;__le16oncs;__le16fuses;__u8fna;__u8vwc;__le16awun;__le16awupf;__u8icsvscc;__u8nwpc;__le16acwu;__le16ocfs;__le32sgls;__le32mnan;__u8maxdna[16];__le32maxcna;__le32oaqd;__u8rhiri;__u8hirt;__le16cmmrtd;__le16nmmrtd;__u8minmrtg;__u8maxmrtg;__u8trattr;__u8rsvd577;__le16mcudmq;__le16mnsudmq;__le16mcmr;__le16nmcmr;__le16mcdqpc;__u8rsvd588[180];charsubnqn[NVME_NQN_LENGTH];__u8rsvd1024[768];__le32ioccsz;__le32iorcsz;__le16icdoff;__u8fcatt;__u8msdbd;__le16ofcs;__u8dctype;__u8rsvd1807[241];structnvme_id_psdpsd[32];__u8vs[1024];
};
