summaryrefslogtreecommitdiffstats
path: root/doc/man/nvme_id_ctrl.2
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/nvme_id_ctrl.2')
-rw-r--r--doc/man/nvme_id_ctrl.2505
1 files changed, 505 insertions, 0 deletions
diff --git a/doc/man/nvme_id_ctrl.2 b/doc/man/nvme_id_ctrl.2
new file mode 100644
index 0000000..f3b3164
--- /dev/null
+++ b/doc/man/nvme_id_ctrl.2
@@ -0,0 +1,505 @@
+.TH "libnvme" 9 "struct nvme_id_ctrl" "January 2023" "API Manual" LINUX
+.SH NAME
+struct nvme_id_ctrl \- Identify Controller data structure
+.SH SYNOPSIS
+struct nvme_id_ctrl {
+.br
+.BI " __le16 vid;"
+.br
+.BI " __le16 ssvid;"
+.br
+.BI " char sn[20];"
+.br
+.BI " char mn[40];"
+.br
+.BI " char fr[8];"
+.br
+.BI " __u8 rab;"
+.br
+.BI " __u8 ieee[3];"
+.br
+.BI " __u8 cmic;"
+.br
+.BI " __u8 mdts;"
+.br
+.BI " __le16 cntlid;"
+.br
+.BI " __le32 ver;"
+.br
+.BI " __le32 rtd3r;"
+.br
+.BI " __le32 rtd3e;"
+.br
+.BI " __le32 oaes;"
+.br
+.BI " __le32 ctratt;"
+.br
+.BI " __le16 rrls;"
+.br
+.BI " __u8 rsvd102[9];"
+.br
+.BI " __u8 cntrltype;"
+.br
+.BI " __u8 fguid[16];"
+.br
+.BI " __le16 crdt1;"
+.br
+.BI " __le16 crdt2;"
+.br
+.BI " __le16 crdt3;"
+.br
+.BI " __u8 rsvd134[119];"
+.br
+.BI " __u8 nvmsr;"
+.br
+.BI " __u8 vwci;"
+.br
+.BI " __u8 mec;"
+.br
+.BI " __le16 oacs;"
+.br
+.BI " __u8 acl;"
+.br
+.BI " __u8 aerl;"
+.br
+.BI " __u8 frmw;"
+.br
+.BI " __u8 lpa;"
+.br
+.BI " __u8 elpe;"
+.br
+.BI " __u8 npss;"
+.br
+.BI " __u8 avscc;"
+.br
+.BI " __u8 apsta;"
+.br
+.BI " __le16 wctemp;"
+.br
+.BI " __le16 cctemp;"
+.br
+.BI " __le16 mtfa;"
+.br
+.BI " __le32 hmpre;"
+.br
+.BI " __le32 hmmin;"
+.br
+.BI " __u8 tnvmcap[16];"
+.br
+.BI " __u8 unvmcap[16];"
+.br
+.BI " __le32 rpmbs;"
+.br
+.BI " __le16 edstt;"
+.br
+.BI " __u8 dsto;"
+.br
+.BI " __u8 fwug;"
+.br
+.BI " __le16 kas;"
+.br
+.BI " __le16 hctma;"
+.br
+.BI " __le16 mntmt;"
+.br
+.BI " __le16 mxtmt;"
+.br
+.BI " __le32 sanicap;"
+.br
+.BI " __le32 hmminds;"
+.br
+.BI " __le16 hmmaxd;"
+.br
+.BI " __le16 nsetidmax;"
+.br
+.BI " __le16 endgidmax;"
+.br
+.BI " __u8 anatt;"
+.br
+.BI " __u8 anacap;"
+.br
+.BI " __le32 anagrpmax;"
+.br
+.BI " __le32 nanagrpid;"
+.br
+.BI " __le32 pels;"
+.br
+.BI " __le16 domainid;"
+.br
+.BI " __u8 rsvd358[10];"
+.br
+.BI " __u8 megcap[16];"
+.br
+.BI " __u8 rsvd384[128];"
+.br
+.BI " __u8 sqes;"
+.br
+.BI " __u8 cqes;"
+.br
+.BI " __le16 maxcmd;"
+.br
+.BI " __le32 nn;"
+.br
+.BI " __le16 oncs;"
+.br
+.BI " __le16 fuses;"
+.br
+.BI " __u8 fna;"
+.br
+.BI " __u8 vwc;"
+.br
+.BI " __le16 awun;"
+.br
+.BI " __le16 awupf;"
+.br
+.BI " __u8 icsvscc;"
+.br
+.BI " __u8 nwpc;"
+.br
+.BI " __le16 acwu;"
+.br
+.BI " __le16 ocfs;"
+.br
+.BI " __le32 sgls;"
+.br
+.BI " __le32 mnan;"
+.br
+.BI " __u8 maxdna[16];"
+.br
+.BI " __le32 maxcna;"
+.br
+.BI " __u8 rsvd564[204];"
+.br
+.BI " char subnqn[NVME_NQN_LENGTH];"
+.br
+.BI " __u8 rsvd1024[768];"
+.br
+.BI " __le32 ioccsz;"
+.br
+.BI " __le32 iorcsz;"
+.br
+.BI " __le16 icdoff;"
+.br
+.BI " __u8 fcatt;"
+.br
+.BI " __u8 msdbd;"
+.br
+.BI " __le16 ofcs;"
+.br
+.BI " __u8 dctype;"
+.br
+.BI " __u8 rsvd1807[241];"
+.br
+.BI " struct nvme_id_psd psd[32];"
+.br
+.BI " __u8 vs[1024];"
+.br
+.BI "
+};
+.br
+
+.SH Members
+.IP "vid" 12
+PCI Vendor ID, the company vendor identifier that is assigned by
+the PCI SIG.
+.IP "ssvid" 12
+PCI Subsystem Vendor ID, the company vendor identifier that is
+assigned by the PCI SIG for the subsystem.
+.IP "sn" 12
+Serial Number in ASCII
+.IP "mn" 12
+Model Number in ASCII
+.IP "fr" 12
+Firmware Revision in ASCII, the currently active firmware
+revision for the NVM subsystem
+.IP "rab" 12
+Recommended Arbitration Burst, reported as a power of two
+.IP "ieee" 12
+IEEE assigned Organization Unique Identifier
+.IP "cmic" 12
+Controller Multipath IO and Namespace Sharing Capabilities of
+the controller and NVM subsystem. See \fIenum nvme_id_ctrl_cmic\fP.
+.IP "mdts" 12
+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
+.IP "cntlid" 12
+Controller ID, the NVM subsystem unique controller identifier
+associated with the controller.
+.IP "ver" 12
+Version, this field contains the value reported in the Version
+register, or property (see \fIenum nvme_registers\fP NVME_REG_VS).
+.IP "rtd3r" 12
+RTD3 Resume Latency, the expected latency in microseconds to resume
+from Runtime D3
+.IP "rtd3e" 12
+RTD3 Exit Latency, the typical latency in microseconds to enter
+Runtime D3.
+.IP "oaes" 12
+Optional Async Events Supported, see \fIenum\fP nvme_id_ctrl_oaes.
+.IP "ctratt" 12
+Controller Attributes, see \fIenum\fP nvme_id_ctrl_ctratt.
+.IP "rrls" 12
+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.
+.IP "rsvd102" 12
+Reserved
+.IP "cntrltype" 12
+Controller Type, see \fIenum nvme_id_ctrl_cntrltype\fP
+.IP "fguid" 12
+FRU GUID, a 128-bit value that is globally unique for a given
+Field Replaceable Unit
+.IP "crdt1" 12
+Controller Retry Delay time in 100 millisecond units if CQE CRD
+field is 1
+.IP "crdt2" 12
+Controller Retry Delay time in 100 millisecond units if CQE CRD
+field is 2
+.IP "crdt3" 12
+Controller Retry Delay time in 100 millisecond units if CQE CRD
+field is 3
+.IP "rsvd134" 12
+Reserved
+.IP "nvmsr" 12
+NVM Subsystem Report, see \fIenum nvme_id_ctrl_nvmsr\fP
+.IP "vwci" 12
+VPD Write Cycle Information, see \fIenum nvme_id_ctrl_vwci\fP
+.IP "mec" 12
+Management Endpoint Capabilities, see \fIenum nvme_id_ctrl_mec\fP
+.IP "oacs" 12
+Optional Admin Command Support,the optional Admin commands and
+features supported by the controller, see \fIenum nvme_id_ctrl_oacs\fP.
+.IP "acl" 12
+Abort Command Limit, the maximum number of concurrently
+executing Abort commands supported by the controller. This is a
+0's based value.
+.IP "aerl" 12
+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.
+.IP "frmw" 12
+Firmware Updates indicates capabilities regarding firmware
+updates. See \fIenum nvme_id_ctrl_frmw\fP.
+.IP "lpa" 12
+Log Page Attributes, see \fIenum nvme_id_ctrl_lpa\fP.
+.IP "elpe" 12
+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.
+.IP "npss" 12
+Number of Power States Supported, the number of NVM Express
+power states supported by the controller, indicating the number
+of valid entries in \fIstruct nvme_id_ctrl\fP.psd. This is a 0's
+based value.
+.IP "avscc" 12
+Admin Vendor Specific Command Configuration, see
+\fIenum nvme_id_ctrl_avscc\fP.
+.IP "apsta" 12
+Autonomous Power State Transition Attributes, see
+\fIenum nvme_id_ctrl_apsta\fP.
+.IP "wctemp" 12
+Warning Composite Temperature Threshold indicates
+the minimum Composite Temperature field value (see \fIstruct
+nvme_smart_log\fP.critical_comp_time) that indicates an overheating
+condition during which controller operation continues.
+.IP "cctemp" 12
+Critical Composite Temperature Threshold, field indicates the
+minimum Composite Temperature field value (see \fIstruct
+nvme_smart_log\fP.critical_comp_time) that indicates a critical
+overheating condition.
+.IP "mtfa" 12
+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.
+.IP "hmpre" 12
+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.
+.IP "hmmin" 12
+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.
+.IP "tnvmcap" 12
+Total NVM Capacity, the total NVM capacity in the NVM subsystem.
+The value is in bytes.
+.IP "unvmcap" 12
+Unallocated NVM Capacity, the unallocated NVM capacity in the
+NVM subsystem. The value is in bytes.
+.IP "rpmbs" 12
+Replay Protected Memory Block Support, see
+\fIenum nvme_id_ctrl_rpmbs\fP.
+.IP "edstt" 12
+Extended Device Self-test Time, if Device Self-test command is
+supported (see \fIstruct nvme_id_ctrl\fP.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.
+.IP "dsto" 12
+Device Self-test Options, see \fIenum nvme_id_ctrl_dsto\fP.
+.IP "fwug" 12
+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
+.IP "kas" 12
+Keep Alive Support indicates the granularity of the Keep Alive
+Timer in 100 millisecond units.
+.IP "hctma" 12
+Host Controlled Thermal Management Attributes, see
+\fIenum nvme_id_ctrl_hctm\fP.
+.IP "mntmt" 12
+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.
+.IP "mxtmt" 12
+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.
+.IP "sanicap" 12
+Sanitize Capabilities, see \fIenum nvme_id_ctrl_sanicap\fP
+.IP "hmminds" 12
+Host Memory Buffer Minimum Descriptor Entry Size indicates the
+minimum usable size of a Host Memory Buffer Descriptor Entry in
+4 KiB units.
+.IP "hmmaxd" 12
+Host Memory Maximum Descriptors Entries indicates the number of
+usable Host Memory Buffer Descriptor Entries.
+.IP "nsetidmax" 12
+NVM Set Identifier Maximum, defines the maximum value of a valid
+NVM Set Identifier for any controller in the NVM subsystem.
+.IP "endgidmax" 12
+Endurance Group Identifier Maximum, defines the maximum value of
+a valid Endurance Group Identifier for any controller in the NVM
+subsystem.
+.IP "anatt" 12
+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.
+.IP "anacap" 12
+Asymmetric Namespace Access Capabilities, see
+\fIenum nvme_id_ctrl_anacap\fP.
+.IP "anagrpmax" 12
+ANA Group Identifier Maximum indicates the maximum value of a
+valid ANA Group Identifier for any controller in the NVM
+subsystem.
+.IP "nanagrpid" 12
+Number of ANA Group Identifiers indicates the number of ANA
+groups supported by this controller.
+.IP "pels" 12
+Persistent Event Log Size indicates the maximum reportable size
+for the Persistent Event Log.
+.IP "domainid" 12
+Domain Identifier indicates the identifier of the domain
+that contains this controller.
+.IP "rsvd358" 12
+Reserved
+.IP "megcap" 12
+Max Endurance Group Capacity indicates the maximum capacity
+of a single Endurance Group.
+.IP "rsvd384" 12
+Reserved
+.IP "sqes" 12
+Submission Queue Entry Size, see \fIenum nvme_id_ctrl_sqes\fP.
+.IP "cqes" 12
+Completion Queue Entry Size, see \fIenum nvme_id_ctrl_cqes\fP.
+.IP "maxcmd" 12
+Maximum Outstanding Commands indicates the maximum number of
+commands that the controller processes at one time for a
+particular queue.
+.IP "nn" 12
+Number of Namespaces indicates the maximum value of a valid
+nsid for the NVM subsystem. If the MNAN (\fIstruct nvme_id_ctrl\fP.mnan
+field is cleared to 0h, then this field also indicates the
+maximum number of namespaces supported by the NVM subsystem.
+.IP "oncs" 12
+Optional NVM Command Support, see \fIenum nvme_id_ctrl_oncs\fP.
+.IP "fuses" 12
+Fused Operation Support, see \fIenum nvme_id_ctrl_fuses\fP.
+.IP "fna" 12
+Format NVM Attributes, see \fIenum nvme_id_ctrl_fna\fP.
+.IP "vwc" 12
+Volatile Write Cache, see \fIenum nvme_id_ctrl_vwc\fP.
+.IP "awun" 12
+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.
+.IP "awupf" 12
+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.
+.IP "icsvscc" 12
+NVM Vendor Specific Command Configuration, see
+\fIenum nvme_id_ctrl_nvscc\fP.
+.IP "nwpc" 12
+Namespace Write Protection Capabilities, see
+\fIenum nvme_id_ctrl_nwpc\fP.
+.IP "acwu" 12
+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.
+.IP "ocfs" 12
+Optional Copy Formats Supported, each bit n means controller
+supports Copy Format n.
+.IP "sgls" 12
+SGL Support, see \fIenum nvme_id_ctrl_sgls\fP
+.IP "mnan" 12
+Maximum Number of Allowed Namespaces indicates the maximum
+number of namespaces supported by the NVM subsystem.
+.IP "maxdna" 12
+Maximum Domain Namespace Attachments indicates the maximum
+of the sum of the number of namespaces attached to each I/O
+controller in the Domain.
+.IP "maxcna" 12
+Maximum I/O Controller Namespace Attachments indicates the
+maximum number of namespaces that are allowed to be attached to
+this I/O controller.
+.IP "rsvd564" 12
+Reserved
+.IP "subnqn" 12
+NVM Subsystem NVMe Qualified Name, UTF-8 null terminated string
+.IP "rsvd1024" 12
+Reserved
+.IP "ioccsz" 12
+I/O Queue Command Capsule Supported Size, defines the maximum
+I/O command capsule size in 16 byte units.
+.IP "iorcsz" 12
+I/O Queue Response Capsule Supported Size, defines the maximum
+I/O response capsule size in 16 byte units.
+.IP "icdoff" 12
+In Capsule Data Offset, defines the offset where data starts
+within a capsule. This value is applicable to I/O Queues only.
+.IP "fcatt" 12
+Fabrics Controller Attributes, see \fIenum nvme_id_ctrl_fcatt\fP.
+.IP "msdbd" 12
+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.
+.IP "ofcs" 12
+Optional Fabric Commands Support, see \fIenum nvme_id_ctrl_ofcs\fP.
+.IP "dctype" 12
+Discovery Controller Type (DCTYPE). This field indicates what
+type of Discovery controller the controller is (see enum
+nvme_id_ctrl_dctype)
+.IP "rsvd1807" 12
+Reserved
+.IP "psd" 12
+Power State Descriptors, see \fIstruct nvme_id_psd\fP.
+.IP "vs" 12
+Vendor Specific