devb-nvme

Updated: April 19, 2023

Driver for SSD devices that support NVMe (Non-Volatile Memory Express)

Note: In order to start this driver, you must be logged in as root or have the right abilities.

Syntax:

devb-nvme [cam option[,option]...]
          [mem option[,option]...]
          [nvme options[,option]...]
          [fs_type options]

Runs on:

QNX Neutrino

Options:

Note: Use commas (,) to separate the options. You can put the blk, cam, disk, and umass groups of options in any order.
blk options
The blk options control the io-blk.so driver. If specified, they must follow the blk keyword.
cam options
The cam options control libcam.so. If specified, they must follow the cam keyword.
mem options
name=tname
The typed memory name to use. This option lets you restrict the driver to use memory only from a particular region, which is often necessary for DMA and smmuman. If you set this option, it can benefit performance to set the same option in the blk layer as well, depending on the size of the typed memory region. The cam layer will move data between the blk layer and the typed memory.
Note: It's up to the startup to set up typed memory. For more information, see Typed memory in the “Interprocess Communication (IPC)” chapter of the System Architecture guide.
nvme options
The nvme options control the driver's interface to the NVMe device. If you've installed multiple devices, you can repeat these options for each device. Remember, however, to specify the nvme keyword before each controller's set of options.
aev=state
Enable or disable asynchronous events. The default is enabled.
apst[=latency]
Enable and set the maximum latency (in milliseconds) for the autonomous power state transition. By default, the maximum latency is disabled. If you specify this option with no latency argument, a default of 100 ms is used.
depth=num
Set the queue depth, which is the maximum number of commands per queue. The driver's default setting of 16 is used if you don't set this option or you provide an invalid or out-of-range value. (The range is between 1 and 65535.)

When you provide a valid, in-range value, the driver checks your accepted value against the capabilities reported by the hardware and uses the smaller queue depth value, as in this expression: min( num, hardware_depth )

did=did
The device ID of the device.
hmb=state
Enable or disable the host memory buffer. The default is enabled.
icoalesce=time: threshold, state
Set and enable interrupt coalescing. Default is 100us:2, disabled
ioport=addr
The address of the interface. There is no default value.
irq=interrupt
The interrupt used by the controller.
pci=index
The PCI index of the controller in the machine, where index is a value between 0 and the number of adapters. There is no default value for this option.
queues=num
Set the number of queues. The driver's default setting of 32 is used if you don't set this option or you provide an invalid or out-of-range value. (The range is between 1 and 65535.)

Most likely, you want to limit the number of queues to the number of cores/CPUs on your system (e.g., 1, 2, or 4). When you provide a valid, in-range value, the driver checks your accepted value against the capabilities reported by the hardware and uses the smaller queue number value, as in this expression: min( num, hardware_queues )

vid=vid
The vendor ID of the device.
wc=state
Enable or disable the write cache. The default is enabled.
fs_type options
The fs_type options control any filesystem (fs-*.so) module being loaded. Here, fs_type is the filesystem type, such as qnx6 for the Power-Safe filesystem. For the list of supported filesystem options, see the reference for the corresponding shared object. For example, for qnx6, see fs-qnx6.so.

Description:

The devb-nvme driver is the driver for SSD devices that support the NVMe open logical interface specification for accessing non-volatile storage media.

Examples:

Start the driver, detecting all NVME controllers, and listing all connected devices:

devb-nvme &

Set a maximum latency of 200 ms for the autonomous power state transition:

devb-nvme nvme apst=200

Set the default latency of 100 ms for the autonomous power state transition:

devb-nvme nvme apst