OpenSSD Cosmos+ Platform Firmware  0.0.2
The firmware of Cosmos+ OpenSSD Platform for TOSHIBA nand flash module.
_NVME_IO_COMMAND Struct Reference

#include <nvme.h>

Data Fields

union {
   unsigned int   dword [16]
 
   struct {
      struct {
         unsigned char   OPC
 
         unsigned char   FUSE: 2
 
         unsigned char   reserved0: 5
 
         unsigned char   PSDT: 1
 
         unsigned short   CID
 
      } 
 
      unsigned int   NSID
 
      unsigned int   reserved1 [2]
 
      unsigned int   MPTR [2]
 
      unsigned int   PRP1 [2]
 
      unsigned int   PRP2 [2]
 
      unsigned int   dword10
 
      unsigned int   dword11
 
      unsigned int   dword12
 
      unsigned int   dword13
 
      unsigned int   dword14
 
      unsigned int   dword15
 
   } 
 
}; 
 

Detailed Description

The structure of a I/O queue entry for I/O commands, has the same structure as admin command. Check the NVME_COMMAND and command specified structs for detailed info.

Definition at line 287 of file nvme.h.

Field Documentation

◆ 

union { ... } _NVME_IO_COMMAND::@67

◆ CID

unsigned short _NVME_IO_COMMAND::CID

Definition at line 300 of file nvme.h.

◆ dword

unsigned int _NVME_IO_COMMAND::dword[16]

Definition at line 291 of file nvme.h.

◆ dword10

unsigned int _NVME_IO_COMMAND::dword10
Todo:
For read and write commands, CDW[10, 11] were used for:
  • SLBA (Starting LBA): specifying the first LBA to be read

Definition at line 332 of file nvme.h.

◆ dword11

unsigned int _NVME_IO_COMMAND::dword11

Definition at line 333 of file nvme.h.

◆ dword12

unsigned int _NVME_IO_COMMAND::dword12

Definition at line 334 of file nvme.h.

◆ dword13

unsigned int _NVME_IO_COMMAND::dword13

Definition at line 335 of file nvme.h.

◆ dword14

unsigned int _NVME_IO_COMMAND::dword14

Definition at line 336 of file nvme.h.

◆ dword15

unsigned int _NVME_IO_COMMAND::dword15

Definition at line 337 of file nvme.h.

◆ FUSE

unsigned char _NVME_IO_COMMAND::FUSE

Definition at line 297 of file nvme.h.

◆ MPTR

unsigned int _NVME_IO_COMMAND::MPTR[2]

The pointer to metadata.

Todo:
For write command:

Definition at line 323 of file nvme.h.

◆ NSID

unsigned int _NVME_IO_COMMAND::NSID

Definition at line 302 of file nvme.h.

◆ OPC

unsigned char _NVME_IO_COMMAND::OPC

Definition at line 296 of file nvme.h.

◆ PRP1

unsigned int _NVME_IO_COMMAND::PRP1[2]

Definition at line 324 of file nvme.h.

◆ PRP2

unsigned int _NVME_IO_COMMAND::PRP2[2]

Definition at line 325 of file nvme.h.

◆ PSDT

unsigned char _NVME_IO_COMMAND::PSDT

Definition at line 299 of file nvme.h.

◆ reserved0

unsigned char _NVME_IO_COMMAND::reserved0

Definition at line 298 of file nvme.h.

◆ reserved1

unsigned int _NVME_IO_COMMAND::reserved1[2]

For read command, CDW[02,03] were used for:

  • ELBST (Expected Logical Block Storage Tag):
  • EILBRT (Expected Initial Logical Block Reference Tag):

For write command, CDW[02,03] and CDW[14] were used for:

  • LBST (Logical Block Storage Tag):
  • ILBRT (Initial Logical Block Reference Tag):

Definition at line 315 of file nvme.h.


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