summaryrefslogtreecommitdiffstats
path: root/doc/man/nvme_id_ns.2
blob: 830525273777009da7638e9257d2883433e83734 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
.TH "libnvme" 9 "struct nvme_id_ns" "January 2023" "API Manual" LINUX
.SH NAME
struct nvme_id_ns \- Identify Namespace data structure
.SH SYNOPSIS
struct nvme_id_ns {
.br
.BI "    __le64 nsze;"
.br
.BI "    __le64 ncap;"
.br
.BI "    __le64 nuse;"
.br
.BI "    __u8 nsfeat;"
.br
.BI "    __u8 nlbaf;"
.br
.BI "    __u8 flbas;"
.br
.BI "    __u8 mc;"
.br
.BI "    __u8 dpc;"
.br
.BI "    __u8 dps;"
.br
.BI "    __u8 nmic;"
.br
.BI "    __u8 rescap;"
.br
.BI "    __u8 fpi;"
.br
.BI "    __u8 dlfeat;"
.br
.BI "    __le16 nawun;"
.br
.BI "    __le16 nawupf;"
.br
.BI "    __le16 nacwu;"
.br
.BI "    __le16 nabsn;"
.br
.BI "    __le16 nabo;"
.br
.BI "    __le16 nabspf;"
.br
.BI "    __le16 noiob;"
.br
.BI "    __u8 nvmcap[16];"
.br
.BI "    __le16 npwg;"
.br
.BI "    __le16 npwa;"
.br
.BI "    __le16 npdg;"
.br
.BI "    __le16 npda;"
.br
.BI "    __le16 nows;"
.br
.BI "    __le16 mssrl;"
.br
.BI "    __le32 mcl;"
.br
.BI "    __u8 msrc;"
.br
.BI "    __u8 rsvd81;"
.br
.BI "    __u8 nulbaf;"
.br
.BI "    __u8 rsvd83[9];"
.br
.BI "    __le32 anagrpid;"
.br
.BI "    __u8 rsvd96[3];"
.br
.BI "    __u8 nsattr;"
.br
.BI "    __le16 nvmsetid;"
.br
.BI "    __le16 endgid;"
.br
.BI "    __u8 nguid[16];"
.br
.BI "    __u8 eui64[8];"
.br
.BI "    struct nvme_lbaf        lbaf[64];"
.br
.BI "    __le64 lbstm;"
.br
.BI "    __u8 vs[3704];"
.br
.BI "
};
.br

.SH Members
.IP "nsze" 12
Namespace Size indicates the total size of the namespace in
logical blocks. The number of logical blocks is based on the
formatted LBA size.
.IP "ncap" 12
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.
.IP "nuse" 12
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.
.IP "nsfeat" 12
Namespace Features, see \fIenum nvme_id_nsfeat\fP.
.IP "nlbaf" 12
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 \fIstruct nvme_id_ns\fP.lbaf.
.IP "flbas" 12
Formatted LBA Size, see \fIenum nvme_id_ns_flbas\fP.
.IP "mc" 12
Metadata Capabilities, see \fIenum nvme_id_ns_mc\fP.
.IP "dpc" 12
End-to-end Data Protection Capabilities, see
\fIenum nvme_id_ns_dpc\fP.
.IP "dps" 12
End-to-end Data Protection Type Settings, see
\fIenum nvme_id_ns_dps\fP.
.IP "nmic" 12
Namespace Multi-path I/O and Namespace Sharing Capabilities, see
\fIenum nvme_id_ns_nmic\fP.
.IP "rescap" 12
Reservation Capabilities, see \fIenum nvme_id_ns_rescap\fP.
.IP "fpi" 12
Format Progress Indicator, see \fIenum nvme_nd_ns_fpi\fP.
.IP "dlfeat" 12
Deallocate Logical Block Features, see \fIenum nvme_id_ns_dlfeat\fP.
.IP "nawun" 12
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.
.IP "nawupf" 12
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.
.IP "nacwu" 12
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.
.IP "nabsn" 12
Namespace Atomic Boundary Size Normal indicates the atomic
boundary size for this namespace for the NAWUN value. This field
is specified in logical blocks.
.IP "nabo" 12
Namespace Atomic Boundary Offset indicates the LBA on this
namespace where the first atomic boundary starts.
.IP "nabspf" 12
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.
.IP "noiob" 12
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.
.IP "nvmcap" 12
NVM Capacity indicates the total size of the NVM allocated to
this namespace. The value is in bytes.
.IP "npwg" 12
Namespace Preferred Write Granularity indicates the smallest
recommended write granularity in logical blocks for this
namespace. This is a 0's based value.
.IP "npwa" 12
Namespace Preferred Write Alignment indicates the recommended
write alignment in logical blocks for this namespace. This is a
0's based value.
.IP "npdg" 12
Namespace Preferred Deallocate Granularity indicates the
recommended granularity in logical blocks for the Dataset
Management command with the Attribute - Deallocate bit.
.IP "npda" 12
Namespace Preferred Deallocate Alignment indicates the
recommended alignment in logical blocks for the Dataset
Management command with the Attribute - Deallocate bit
.IP "nows" 12
Namespace Optimal Write Size indicates the size in logical blocks
for optimal write performance for this namespace. This is a 0's
based value.
.IP "mssrl" 12
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.
.IP "mcl" 12
Maximum Copy Length indicates the maximum number of logical
blocks that may be specified in a Copy command.
.IP "msrc" 12
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.
.IP "rsvd81" 12
Reserved
.IP "nulbaf" 12
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.
.IP "rsvd83" 12
Reserved
.IP "anagrpid" 12
ANA Group Identifier indicates the ANA Group Identifier of the
ANA group of which the namespace is a member.
.IP "rsvd96" 12
Reserved
.IP "nsattr" 12
Namespace Attributes, see \fIenum nvme_id_ns_attr\fP.
.IP "nvmsetid" 12
NVM Set Identifier indicates the NVM Set with which this
namespace is associated.
.IP "endgid" 12
Endurance Group Identifier indicates the Endurance Group with
which this namespace is associated.
.IP "nguid" 12
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
.IP "eui64" 12
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
.IP "lbaf" 12
LBA Format, see \fIstruct nvme_lbaf\fP.
.IP "lbstm" 12
Logical Block Storage Tag Mask for end-to-end protection
.IP "vs" 12
Vendor Specific