Data Fields | ||
| uint64_t | nsze | |
| namespace size | ||
| uint64_t | ncap | |
| namespace capacity | ||
| uint64_t | nuse | |
| namespace utilization | ||
| struct { | ||
| uint8_t thin_prov: 1 | ||
| thin provisioning | ||
| uint8_t ns_atomic_write_unit: 1 | ||
| NAWUN, NAWUPF, and NACWU are defined for this namespace. | ||
| uint8_t dealloc_or_unwritten_error: 1 | ||
| Supports Deallocated or Unwritten LBA error for this namespace. | ||
| uint8_t guid_never_reused: 1 | ||
| Non-zero NGUID and EUI64 for namespace are never reused. | ||
| uint8_t optperf: 1 | ||
| Optimal Performance field. | ||
| uint8_t reserved1: 3 | ||
| } | nsfeat | |
| namespace features | ||
| uint8_t | nlbaf | |
| number of lba formats | ||
| struct { | ||
| uint8_t format: 4 | ||
| LSB for Format index. | ||
| uint8_t extended: 1 | ||
| uint8_t msb_format: 2 | ||
| MSB for Format index, to be ignored if nlbaf <= 16. | ||
| uint8_t reserved2: 1 | ||
| } | flbas | |
| formatted lba size | ||
| struct { | ||
| uint8_t extended: 1 | ||
| metadata can be transferred as part of data prp list | ||
| uint8_t pointer: 1 | ||
| metadata can be transferred with separate metadata pointer | ||
| uint8_t reserved3: 6 | ||
| reserved | ||
| } | mc | |
| metadata capabilities | ||
| struct { | ||
| uint8_t pit1: 1 | ||
| protection information type 1 | ||
| uint8_t pit2: 1 | ||
| protection information type 2 | ||
| uint8_t pit3: 1 | ||
| protection information type 3 | ||
| uint8_t md_start: 1 | ||
| first eight bytes of metadata | ||
| uint8_t md_end: 1 | ||
| last eight bytes of metadata | ||
| } | dpc | |
| end-to-end data protection capabilities | ||
| struct { | ||
| uint8_t pit: 3 | ||
| protection information type | ||
| uint8_t md_start: 1 | ||
| 1 == protection info transferred at start of metadata More... | ||
| uint8_t reserved4: 4 | ||
| } | dps | |
| end-to-end data protection type settings | ||
| struct spdk_nvme_nmic | nmic | |
| namespace multi-path I/O and namespace sharing capabilities | ||
| union { | ||
| struct spdk_nvme_rescap rescap | ||
| uint8_t raw | ||
| } | nsrescap | |
| reservation capabilities | ||
| struct spdk_nvme_fpi | fpi | |
| format progress indicator | ||
| union { | ||
| uint8_t raw | ||
| struct { | ||
| uint8_t read_value: 3 | ||
| Value read from deallocated blocks. More... | ||
| uint8_t write_zero_deallocate: 1 | ||
| Supports Deallocate bit in Write Zeroes. | ||
| uint8_t guard_value: 1 | ||
| Guard field behavior for deallocated logical blocks 0: contains 0xFFFF 1: contains CRC for read value. | ||
| uint8_t reserved: 3 | ||
| } bits | ||
| } | dlfeat | |
| deallocate logical features | ||
| uint16_t | nawun | |
| namespace atomic write unit normal | ||
| uint16_t | nawupf | |
| namespace atomic write unit power fail | ||
| uint16_t | nacwu | |
| namespace atomic compare & write unit | ||
| uint16_t | nabsn | |
| namespace atomic boundary size normal | ||
| uint16_t | nabo | |
| namespace atomic boundary offset | ||
| uint16_t | nabspf | |
| namespace atomic boundary size power fail | ||
| uint16_t | noiob | |
| namespace optimal I/O boundary in logical blocks | ||
| uint64_t | nvmcap [2] | |
| NVM capacity. | ||
| uint16_t | npwg | |
| Namespace Preferred Write Granularity. | ||
| uint16_t | npwa | |
| Namespace Preferred Write Alignment. | ||
| uint16_t | npdg | |
| Namespace Preferred Deallocate Granularity. | ||
| uint16_t | npda | |
| Namespace Preferred Deallocate Alignment. | ||
| uint16_t | nows | |
| Namespace Optimal Write Size. | ||
| uint16_t | mssrl | |
| Maximum Single Source Range Length. | ||
| uint32_t | mcl | |
| Maximum Copy Length. | ||
| uint8_t | msrc | |
| Maximum Source Range Count. | ||
| uint8_t | reserved81 [11] | |
| uint32_t | anagrpid | |
| ANA group identifier. | ||
| uint8_t | reserved96 [3] | |
| struct spdk_nvme_nsattr | nsattr | |
| namespace attributes | ||
| uint16_t | nvmsetid | |
| NVM Set Identifier. | ||
| uint16_t | endgid | |
| Endurance group identifier. | ||
| uint8_t | nguid [16] | |
| namespace globally unique identifier | ||
| uint64_t | eui64 | |
| IEEE extended unique identifier. | ||
| struct { | ||
| uint32_t ms: 16 | ||
| metadata size | ||
| uint32_t lbads: 8 | ||
| lba data size | ||
| uint32_t rp: 2 | ||
| relative performance | ||
| uint32_t reserved6: 6 | ||
| } | lbaf [64] | |
| lba format support | ||
| uint8_t | vendor_specific [3712] | |
| uint8_t spdk_nvme_ns_data::md_start |
first eight bytes of metadata
1 == protection info transferred at start of metadata
0 == protection info transferred at end of metadata
| uint8_t spdk_nvme_ns_data::read_value |
Value read from deallocated blocks.
000b = not reported 001b = all bytes 0x00 010b = all bytes 0xFF