Loading...
Searching...
No Matches
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: