NVME Back to Index page
 
Prolog 
Control Block Contents 
   NVME DSECT
   NVMEQPRM DSECT
Storage Layout 
Cross Reference (Contains links to field and bit definitions)
Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.


  NVME Prolog Top of page
 
 NAME       : HCPNVME
 DESCRIPTION: NVMe Block
 DSECT      : NVME
 FUNCTION   : The NVMe block contains information needed to manage
              a real NVMe PCIe function associated with an emulated
              device and its aliases.
 LOCATED BY : RCPINVMB  field of HCPRPCI
 CREATED BY : HCPNVMIN
 DELETED BY : HCPNVMTE
 SERIALIZED : Serialized by holding NVMELOCK
 RELOCATION CONSIDERATIONS : None
 
 
  NVME Control Block Content Top of page
 

 NVME DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure NVME NVMe Block 0000 0 Dbl-Word 8 NVMELOCK (3) NVME lock 0018 24 Signed 4 NVMEALET PCIE address space ALET 001C 28 Address 4 NVMECFGA PCIE configuration space address 0020 32 Address 4 NVMENVMR NVME register area address 0024 36 Signed 4 NVMEHNDE RPCI enabled handle 0028 40 Address 4 NVMECUIB CUIBK address 002C 44 Address 4 NVMEIOQA I/O queue parameters address 0030 48 Bitstring 1 NVMEFLG0 Flags 1... .... NVMERRIN X'80' NVMERRIN RPCIT required for invalid frames .1.. .... NVMEDEAD X'40' NVMEDEAD NVMe device removed or failed ..1. .... NVMETERM X'20' NVMETERM Termination in progress ...1 .... NVMENODS X'10' NVMENODS No device self test log 0031 49 Bitstring 1 NVMESTAT Controller status 0032 50 Bitstring 1 * (2) Reserved 0034 52 Address 4 NVMERPCI RPCI address 0038 56 Signed 4 * (2) Reserved 0040 64 Dbl-Word 8 NVMEASIT PCIE address space ASIT 0048 72 Address 8 NVMEIOTA PCIE address space Region 3 Table address 0050 80 Address 8 NVMEBASE NVMe address space base address 0058 88 Dbl-Word 8 NVMEADQL (3) Admin queue lock 0070 112 Dbl-Word 8 NVMEDNLB Device number of logical blocks 0078 120 Dbl-Word 8 NVMENLB Number of logical blocks 0080 128 Dbl-Word 8 NVMEAIBV Adapter-Interruption Bit-Vector 0088 136 Signed 2 NVMEQCNT Number of queues 008A 138 Signed 2 NVMESTRD Doorbell stride 008C 140 Signed 4 NVMEMAXB Maximum data transfer operation bytes 0090 144 Signed 2 NVMEMAXD Maximum data transfer operation pages 0092 146 Signed 2 NVMEDEVN Base EDEV device number 0094 148 Signed 2 NVMEDVCT Number of devices 0096 150 Signed 2 NVMESEGO First segment table entry offset 0098 152 Signed 2 NVMENBAS Number of base devices supported 009A 154 Signed 2 NVMEBDCT Number of base devices defined 009C 156 Signed 2 NVMEPMIO Power Management Interface Cap. Offset 009E 158 Signed 2 NVMEMSIO Message Signaled Interrupt Cap. Offset 00A0 160 Signed 2 NVMEPCIO PCI Express Capability Offset 00A2 162 Signed 2 NVMEMSXO MSI Extension Capability Offset 00A4 164 Signed 2 NVMENSQS Number of I/O Submission Queues 00A6 166 Signed 2 NVMENCQS Number of I/O Completion Queues 00A8 168 Signed 2 NVMEMAXQ Maximum number of queues 00AA 170 Signed 2 NVMEQSIZ I/O queue size 00AC 172 Signed 2 NVMEBSEX Block size exponent 00AE 174 Signed 2 NVMEBMSK Block size mask (block size - 1) 00B0 176 Dbl-Word 8 NVMEAIBL Last AIBV value 00B8 184 Signed 4 NVMERTRY Retry count 00BC 188 Signed 4 NVMERROR Error count 00C0 192 Signed 2 NVMEILMX Error Information Log entry limit 00C2 194 Signed 2 * Reserved 00C4 196 Signed 4 * (5) Reserved 00D8 216 Bitstring 8 NVMESMSK Base device segment use bitmap 00E0 224 Bitstring 16 NVMEQMSK Queue use bitmap 00F0 240 Bitstring 1 * Reserved for bitmap expansion 0100 256 Dbl-Word 8 NVMEADQP (0) Admin queue parameters 0100 256 Address 2 NVMEADSO Submission queue doorbell offset 0102 258 Address 2 NVMEADCO Completion queue doorbell offset 0104 260 Address 2 NVMEADSE Submission queue entry length 0106 262 Address 2 NVMEADCE Completion queue entry length 0108 264 Signed 2 NVMEADCI Command identifier 010A 266 Signed 2 NVMEADFI First command identifier 010C 268 Signed 2 NVMEADQN Queue number 010E 270 Bitstring 1 NVMEADPT Phase tag 010F 271 Bitstring 1 * Reserved 0110 272 Address 4 NVMEADRS Resume SVGBK address 0114 276 Signed 4 * Reserved 0118 280 Dbl-Word 8 * Reserved 0120 288 Dbl-Word 8 * Reserved 0128 296 Address 8 NVMEADQA Buffer area virtual address 0130 304 Signed 4 * Reserved 0134 308 Signed 4 * Reserved 0138 312 Signed 2 * Reserved 013A 314 Signed 2 * Reserved 013C 316 Signed 2 * Reserved 013E 318 Signed 2 * Reserved 0140 320 Signed 2 * Reserved 0142 322 Signed 2 * Reserved 0144 324 Signed 4 * Reserved 0148 328 Bitstring 16 * (0) Submssion queue entry trace data 0148 328 Signed 4 * PRP1 014C 332 Signed 4 * Starting logical block address 0150 336 Signed 2 * Command identifier 0152 338 Address 2 * Number of logical blocks 0154 340 Bitstring 1 * Opcode 0155 341 Bitstring 3 * Reserved 0158 344 Dbl-Word 8 * Start time of day 0160 352 Dbl-Word 8 * Device active time 0168 360 Signed 4 * Number of read operations 016C 364 Signed 4 * Number of blocks read 0170 368 Signed 4 * Number of write operations 0174 372 Signed 4 * Number of blocks written 0178 376 Signed 4 * Number of doorbell pushes 017C 380 Signed 4 NVMEADQM Queue size mask 00000030 NVMESIZ (*-NVME+7)/8 NVME Block Size
 NVMEQPRM DSECT Top of page
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure NVMEQPRM NVMe Queue Parameters 0000 0 Address 2 NVMQSQDO Submission queue doorbell offset 0002 2 Address 2 NVMQCQDO Completion queue doorbell offset 0004 4 Address 2 NVMQSQEL Submission queue entry length 0006 6 Address 2 NVMQCQEL Completion queue entry length 0008 8 Signed 2 NVMQCMID Command identifier 000A 10 Signed 2 NVMQFCID First command identifier 000C 12 Signed 2 NVMQNUMB Queue number 000E 14 Bitstring 1 NVMQPHAS Phase tag 000F 15 Bitstring 1 * Reserved 0010 16 Address 4 NVMQRSUM Resume SVGBK address 0014 20 Address 4 NVMQPRPA PRP List address (low order) 0018 24 Dbl-Word 8 NVMQLBNO Logical block number 0020 32 Address 8 NVMQADAD Adjacent real data area addr 0028 40 Address 8 NVMQBUFA Buffer area virtual address 0030 48 Address 4 NVMQMAPA Mapped area address (low order) 0034 52 Signed 2 NVMQPTEI Write data PTE index 0036 54 Signed 2 NVMQWABO Write accumulation buffer offset 0038 56 Signed 2 NVMQDOFF Data starting offset 003A 58 Signed 2 NVMQRESD Residual read data length 003C 60 Signed 2 NVMQRESO Residual read data offset 003E 62 Signed 2 NVMQDSTE Data buffer STE offset 0040 64 Signed 2 NVMQDPTE Data buffer PTE offset 0042 66 Signed 2 NVMQSHCT Residual count 0044 68 Signed 4 NVMQDLEN Data length 0048 72 Bitstring 16 NVMQSQTD (0) Submssion queue entry trace data 0048 72 Signed 4 NVMQSQPR PRP1 004C 76 Signed 4 NVMQSQSB Starting logical block address 0050 80 Signed 2 NVMQSQCI Command identifier 0052 82 Address 2 NVMQSQNB Number of logical blocks 0054 84 Bitstring 1 NVMQSQOP Opcode 0055 85 Bitstring 3 * Reserved 0058 88 Dbl-Word 8 NVMQSTOD Start time of day 0060 96 Dbl-Word 8 NVMQACTM Device active time 0068 104 Signed 4 NVMQRDOP Number of read operations 006C 108 Signed 4 NVMQBLRD Number of blocks read 0070 112 Signed 4 NVMQWROP Number of write operations 0074 116 Signed 4 NVMQBLWR Number of blocks written 0078 120 Signed 4 NVMQNDBP Number of doorbell pushes 007C 124 Signed 4 NVMQQMSK Queue size mask 00000080 NVMEQPLN *-NVMEQPRM Queue parameters length
 
 
  NVME Storage Layout Top of page
 
          
*** NVME - NVMe Block
*
*     +-------------------------------------------------------+
*   0 |                                                       |
*     =                       NVMELOCK                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  18 |         NVMEALET          |         NVMECFGA          |
*     +---------------------------+---------------------------+
*  20 |         NVMENVMR          |         NVMEHNDE          |
*     +---------------------------+---------------------------+
*  28 |         NVMECUIB          |         NVMEIOQA          |
*     +------+------+-------------+---------------------------+
*  30 |:EFLG0|:ESTAT|/////////////|         NVMERPCI          |
*     +------+------+-------------+---------------------------+
*  38 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  40 |                       NVMEASIT                        |
*     +-------------------------------------------------------+
*  48 |                       NVMEIOTA                        |
*     +-------------------------------------------------------+
*  50 |                       NVMEBASE                        |
*     +-------------------------------------------------------+
*  58 |                                                       |
*     =                       NVMEADQL                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  70 |                       NVMEDNLB                        |
*     +-------------------------------------------------------+
*  78 |                       NVMENLB                         |
*     +-------------------------------------------------------+
*  80 |                       NVMEAIBV                        |
*     +-------------+-------------+---------------------------+
*  88 |  NVMEQCNT   |  NVMESTRD   |         NVMEMAXB          |
*     +-------------+-------------+-------------+-------------+
*  90 |  NVMEMAXD   |  NVMEDEVN   |  NVMEDVCT   |  NVMESEGO   |
*     +-------------+-------------+-------------+-------------+
*  98 |  NVMENBAS   |  NVMEBDCT   |  NVMEPMIO   |  NVMEMSIO   |
*     +-------------+-------------+-------------+-------------+
*  A0 |  NVMEPCIO   |  NVMEMSXO   |  NVMENSQS   |  NVMENCQS   |
*     +-------------+-------------+-------------+-------------+
*  A8 |  NVMEMAXQ   |  NVMEQSIZ   |  NVMEBSEX   |  NVMEBMSK   |
*     +-------------+-------------+-------------+-------------+
*  B0 |                       NVMEAIBL                        |
*     +---------------------------+---------------------------+
*  B8 |         NVMERTRY          |         NVMERROR          |
*     +-------------+-------------+---------------------------+
*  C0 |  NVMEILMX   |/////////////|///////////////////////////|
*     +-------------+-------------+///////////////////////////|
*     |///////////////////////////////////////////////////////|
*     |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
*  D8 |                       NVMESMSK                        |
*     +-------------------------------------------------------+
*  E0 |                       NVMEQMSK                        |
*     |                                                       |
*     +------+------------------------------------------------+
*  F0 |//////|////////////////////////////////////////////////|
*     +------+////////////////////////////////////////////////|
*     |///////////////////////////////////////////////////////|
*     +-------------+-------------+-------------+-------------+
* 100 |  NVMEADSO   |  NVMEADCO   |  NVMEADSE   |  NVMEADCE   |
*     +-------------+-------------+-------------+------+------+
* 108 |  NVMEADCI   |  NVMEADFI   |  NVMEADQN   |:EADPT|//////|
*     +-------------+-------------+-------------+------+------+
* 110 |         NVMEADRS          |///////////////////////////|
*     +---------------------------+---------------------------+
* 118 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 120 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 128 |                       NVMEADQA                        |
*     +---------------------------+---------------------------+
* 130 |///////////////////////////|///////////////////////////|
*     +-------------+-------------+-------------+-------------+
* 138 |/////////////|/////////////|/////////////|/////////////|
*     +-------------+-------------+-------------+-------------+
* 140 |/////////////|/////////////|///////////////////////////|
*     +-------------+-------------+---------------------------+
* 148 |///////////////////////////|///////////////////////////|
*     +-------------+-------------+------+--------------------+
* 150 |/////////////|/////////////|//////|////////////////////|
*     +-------------+-------------+------+--------------------+
* 158 |///////////////////////////////////////////////////////|
*     +-------------------------------------------------------+
* 160 |///////////////////////////////////////////////////////|
*     +---------------------------+---------------------------+
* 168 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
* 170 |///////////////////////////|///////////////////////////|
*     +---------------------------+---------------------------+
* 178 |///////////////////////////|         NVMEADQM          |
*     +---------------------------+---------------------------+
* 180
*
*** NVME - NVMe Block
          
*** NVMEQPRM - NVMe Queue Parameters
*
*     +-------------+-------------+-------------+-------------+
*   0 |  NVMQSQDO   |  NVMQCQDO   |  NVMQSQEL   |  NVMQCQEL   |
*     +-------------+-------------+-------------+------+------+
*   8 |  NVMQCMID   |  NVMQFCID   |  NVMQNUMB   |:QPHAS|//////|
*     +-------------+-------------+-------------+------+------+
*  10 |         NVMQRSUM          |         NVMQPRPA          |
*     +---------------------------+---------------------------+
*  18 |                       NVMQLBNO                        |
*     +-------------------------------------------------------+
*  20 |                       NVMQADAD                        |
*     +-------------------------------------------------------+
*  28 |                       NVMQBUFA                        |
*     +---------------------------+-------------+-------------+
*  30 |         NVMQMAPA          |  NVMQPTEI   |  NVMQWABO   |
*     +-------------+-------------+-------------+-------------+
*  38 |  NVMQDOFF   |  NVMQRESD   |  NVMQRESO   |  NVMQDSTE   |
*     +-------------+-------------+-------------+-------------+
*  40 |  NVMQDPTE   |  NVMQSHCT   |         NVMQDLEN          |
*     +-------------+-------------+---------------------------+
*  48 |         NVMQSQPR          |         NVMQSQSB          |
*     +-------------+-------------+------+--------------------+
*  50 |  NVMQSQCI   |  NVMQSQNB   |:QSQOP|////////////////////|
*     +-------------+-------------+------+--------------------+
*  58 |                       NVMQSTOD                        |
*     +-------------------------------------------------------+
*  60 |                       NVMQACTM                        |
*     +---------------------------+---------------------------+
*  68 |         NVMQRDOP          |         NVMQBLRD          |
*     +---------------------------+---------------------------+
*  70 |         NVMQWROP          |         NVMQBLWR          |
*     +---------------------------+---------------------------+
*  78 |         NVMQNDBP          |         NVMQQMSK          |
*     +---------------------------+---------------------------+
*  80
*
*** NVMEQPRM - NVMe Queue Parameters
 
 
  NVME Cross Reference Top of page
 
 
Symbol         Dspl Value
-------------- ---- -----
NVMEADCE       0106
NVMEADCI       0108
NVMEADCO       0102
NVMEADFI       010A
NVMEADPT       010E
NVMEADQA       0128
NVMEADQL       0058
NVMEADQM       017C
NVMEADQN       010C
NVMEADQP       0100
NVMEADRS       0110
NVMEADSE       0104
NVMEADSO       0100
NVMEAIBL       00B0
NVMEAIBV       0080
NVMEALET       0018
NVMEASIT       0040
NVMEBASE       0050
NVMEBDCT       009A
NVMEBMSK       00AE
NVMEBSEX       00AC
NVMECFGA       001C
NVMECUIB       0028
NVMEDEAD       0030 40
NVMEDEVN       0092
NVMEDNLB       0070
NVMEDVCT       0094
NVMEFLG0       0030
NVMEHNDE       0024
NVMEILMX       00C0
NVMEIOQA       002C
NVMEIOTA       0048
NVMELOCK       0000
NVMEMAXB       008C
NVMEMAXD       0090
NVMEMAXQ       00A8
NVMEMSIO       009E
NVMEMSXO       00A2
NVMENBAS       0098
NVMENCQS       00A6
NVMENLB        0078
NVMENODS       0030 10
NVMENSQS       00A4
NVMENVMR       0020
NVMEPCIO       00A0
NVMEPMIO       009C
NVMEQCNT       0088
NVMEQMSK       00E0
NVMEQPLN       007C 00000080
NVMEQSIZ       00AA
NVMERPCI       0034
NVMERRIN       0030 80
NVMERROR       00BC
NVMERTRY       00B8
NVMESEGO       0096
NVMESIZ        017C 00000030
NVMESMSK       00D8
NVMESTAT       0031
NVMESTRD       008A
NVMETERM       0030 20
NVMQACTM       0060
NVMQADAD       0020
NVMQBLRD       006C
NVMQBLWR       0074
NVMQBUFA       0028
NVMQCMID       0008
NVMQCQDO       0002
NVMQCQEL       0006
NVMQDLEN       0044
NVMQDOFF       0038
NVMQDPTE       0040
NVMQDSTE       003E
NVMQFCID       000A
NVMQLBNO       0018
NVMQMAPA       0030
NVMQNDBP       0078
NVMQNUMB       000C
NVMQPHAS       000E
NVMQPRPA       0014
NVMQPTEI       0034
NVMQQMSK       007C
NVMQRDOP       0068
NVMQRESD       003A
NVMQRESO       003C
NVMQRSUM       0010
NVMQSHCT       0042
NVMQSQCI       0050
NVMQSQDO       0000
NVMQSQEL       0004
NVMQSQNB       0052
NVMQSQOP       0054
NVMQSQPR       0048
NVMQSQSB       004C
NVMQSQTD       0048
NVMQSTOD       0058
NVMQWABO       0036
NVMQWROP       0070
 
This information is based on z/VM 7.3.0 Last updated on 22 Jun 2022 at 15:53:11 EDT.
Copyright IBM Corporation, 1990, 2022