spdk_nvme_ns_data Struct Reference

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 {
   uint8_t   can_share: 1
 
   uint8_t   reserved: 7
 
nmic
 namespace multi-path I/O and namespace sharing capabilities
 
union {
   struct {
      uint8_t   persist: 1
 supports persist through power loss
 
      uint8_t   write_exclusive: 1
 supports write exclusive
 
      uint8_t   exclusive_access: 1
 supports exclusive access
 
      uint8_t   write_exclusive_reg_only: 1
 supports write exclusive - registrants only
 
      uint8_t   exclusive_access_reg_only: 1
 supports exclusive access - registrants only
 
      uint8_t   write_exclusive_all_reg: 1
 supports write exclusive - all registrants
 
      uint8_t   exclusive_access_all_reg: 1
 supports exclusive access - all registrants
 
      uint8_t   ignore_existing_key: 1
 supports ignore existing key
 
   }   rescap
 
   uint8_t   raw
 
nsrescap
 reservation capabilities
 
struct {
   uint8_t   percentage_remaining: 7
 
   uint8_t   fpi_supported: 1
 
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 {
   uint8_t   write_protected: 1
 Namespace write protected.
 
   uint8_t   reserved: 7
 
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]
 

Field Documentation

◆ md_start

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

◆ read_value

uint8_t spdk_nvme_ns_data::read_value

Value read from deallocated blocks.

000b = not reported 001b = all bytes 0x00 010b = all bytes 0xFF

spdk_nvme_dealloc_logical_block_read_value


The documentation for this struct was generated from the following file: