---
name: "nvme_id_ns-libnvme3"
section: "2"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/nvme_id_ns-libnvme3"
---

# nvme\_id\_ns-libnvme3(2)

Identify Namespace data structure

## NAME

struct nvme\_id\_ns - Identify Namespace data structure

## SYNOPSIS

struct nvme\_id\_ns {\
     **\_\_le64 nsze;**\
     **\_\_le64 ncap;**\
     **\_\_le64 nuse;**\
     **\_\_u8 nsfeat;**\
     **\_\_u8 nlbaf;**\
     **\_\_u8 flbas;**\
     **\_\_u8 mc;**\
     **\_\_u8 dpc;**\
     **\_\_u8 dps;**\
     **\_\_u8 nmic;**\
     **\_\_u8 rescap;**\
     **\_\_u8 fpi;**\
     **\_\_u8 dlfeat;**\
     **\_\_le16 nawun;**\
     **\_\_le16 nawupf;**\
     **\_\_le16 nacwu;**\
     **\_\_le16 nabsn;**\
     **\_\_le16 nabo;**\
     **\_\_le16 nabspf;**\
     **\_\_le16 noiob;**\
     **\_\_u8 nvmcap\[16\];**\
     **\_\_le16 npwg;**\
     **\_\_le16 npwa;**\
     **\_\_le16 npdg;**\
     **\_\_le16 npda;**\
     **\_\_le16 nows;**\
     **\_\_le16 mssrl;**\
     **\_\_le32 mcl;**\
     **\_\_u8 msrc;**\
     **\_\_u8 kpios;**\
     **\_\_u8 nulbaf;**\
     **\_\_u8 rsvd83;**\
     **\_\_le32 kpiodaag;**\
     **\_\_u8 rsvd88\[4\];**\
     **\_\_le32 anagrpid;**\
     **\_\_u8 rsvd96\[3\];**\
     **\_\_u8 nsattr;**\
     **\_\_le16 nvmsetid;**\
     **\_\_le16 endgid;**\
     **\_\_u8 nguid\[16\];**\
     **\_\_u8 eui64\[8\];**\
     **struct nvme\_lbaf        lbaf\[64\];**\
     **\_\_u8 vs\[3712\];**\
 };\

## Members

- nsze

  Namespace Size indicates the total size of the namespace in logical blocks. The number of logical blocks is based on the formatted LBA size.

- ncap

  Namespace Capacity indicates the maximum number of logical blocks that may be allocated in the namespace at any point in time. The number of logical blocks is based on the formatted LBA size.

- nuse

  Namespace Utilization indicates the current number of logical blocks allocated in the namespace. This field is smaller than or equal to the Namespace Capacity. The number of logical blocks is based on the formatted LBA size.

- nsfeat

  Namespace Features, see *enum nvme\_id\_nsfeat*.

- nlbaf

  Number of LBA Formats defines the number of supported LBA data size and metadata size combinations supported by the namespace and the highest possible index to *struct nvme\_id\_ns*.lbaf.

- flbas

  Formatted LBA Size, see *enum nvme\_id\_ns\_flbas*.

- mc

  Metadata Capabilities, see *enum nvme\_id\_ns\_mc*.

- dpc

  End-to-end Data Protection Capabilities, see *enum nvme\_id\_ns\_dpc*.

- dps

  End-to-end Data Protection Type Settings, see *enum nvme\_id\_ns\_dps*.

- nmic

  Namespace Multi-path I/O and Namespace Sharing Capabilities, see *enum nvme\_id\_ns\_nmic*.

- rescap

  Reservation Capabilities, see *enum nvme\_id\_ns\_rescap*.

- fpi

  Format Progress Indicator, see *enum nvme\_nd\_ns\_fpi*.

- dlfeat

  Deallocate Logical Block Features, see *enum nvme\_id\_ns\_dlfeat*.

- nawun

  Namespace Atomic Write Unit Normal indicates the namespace specific size of the write operation guaranteed to be written atomically to the NVM during normal operation.

- nawupf

  Namespace Atomic Write Unit Power Fail indicates the namespace specific size of the write operation guaranteed to be written atomically to the NVM during a power fail or error condition.

- nacwu

  Namespace Atomic Compare & Write Unit indicates the namespace specific size of the write operation guaranteed to be written atomically to the NVM for a Compare and Write fused command.

- nabsn

  Namespace Atomic Boundary Size Normal indicates the atomic boundary size for this namespace for the NAWUN value. This field is specified in logical blocks.

- nabo

  Namespace Atomic Boundary Offset indicates the LBA on this namespace where the first atomic boundary starts.

- nabspf

  Namespace Atomic Boundary Size Power Fail indicates the atomic boundary size for this namespace specific to the Namespace Atomic Write Unit Power Fail value. This field is specified in logical blocks.

- noiob

  Namespace Optimal I/O Boundary indicates the optimal I/O boundary for this namespace. This field is specified in logical blocks. The host should construct Read and Write commands that do not cross the I/O boundary to achieve optimal performance.

- nvmcap

  NVM Capacity indicates the total size of the NVM allocated to this namespace. The value is in bytes.

- npwg

  Namespace Preferred Write Granularity indicates the smallest recommended write granularity in logical blocks for this namespace. This is a 0's based value.

- npwa

  Namespace Preferred Write Alignment indicates the recommended write alignment in logical blocks for this namespace. This is a 0's based value.

- npdg

  Namespace Preferred Deallocate Granularity indicates the recommended granularity in logical blocks for the Dataset Management command with the Attribute - Deallocate bit.

- npda

  Namespace Preferred Deallocate Alignment indicates the recommended alignment in logical blocks for the Dataset Management command with the Attribute - Deallocate bit

- nows

  Namespace Optimal Write Size indicates the size in logical blocks for optimal write performance for this namespace. This is a 0's based value.

- mssrl

  Maximum Single Source Range Length indicates the maximum number of logical blocks that may be specified in each valid Source Range field of a Copy command.

- mcl

  Maximum Copy Length indicates the maximum number of logical blocks that may be specified in a Copy command.

- msrc

  Maximum Source Range Count indicates the maximum number of Source Range entries that may be used to specify source data in a Copy command. This is a 0’s based value.

- kpios

  Key Per I/O Status indicates namespace Key Per I/O capability status.

- nulbaf

  Number of Unique Capability LBA Formats defines the number of supported user data size and metadata size combinations supported by the namespace that may not share the same capabilities. LBA formats shall be allocated in order and packed sequentially.

- rsvd83

  Reserved

- kpiodaag

  Key Per I/O Data Access Alignment and Granularity indicates the alignment and granularity in logical blocks that is required for commands that support a KPIOTAG value in the CETYPE field.

- rsvd88

  Reserved

- anagrpid

  ANA Group Identifier indicates the ANA Group Identifier of the ANA group of which the namespace is a member.

- rsvd96

  Reserved

- nsattr

  Namespace Attributes, see *enum nvme\_id\_ns\_attr*.

- nvmsetid

  NVM Set Identifier indicates the NVM Set with which this namespace is associated.

- endgid

  Endurance Group Identifier indicates the Endurance Group with which this namespace is associated.

- nguid

  Namespace Globally Unique Identifier contains a 128-bit value that is globally unique and assigned to the namespace when the namespace is created. This field remains fixed throughout the life of the namespace and is preserved across namespace and controller operations

- eui64

  IEEE Extended Unique Identifier contains a 64-bit IEEE Extended Unique Identifier (EUI-64) that is globally unique and assigned to the namespace when the namespace is created. This field remains fixed throughout the life of the namespace and is preserved across namespace and controller operations

- lbaf

  LBA Format, see *struct nvme\_lbaf*.

- vs

  Vendor Specific
