1788c47fcSHans Rosenfeld.\" 2788c47fcSHans Rosenfeld.\" This file and its contents are supplied under the terms of the 3788c47fcSHans Rosenfeld.\" Common Development and Distribution License ("CDDL"), version 1.0. 4788c47fcSHans Rosenfeld.\" You may only use this file in accordance with the terms of version 5788c47fcSHans Rosenfeld.\" 1.0 of the CDDL. 6788c47fcSHans Rosenfeld.\" 7788c47fcSHans Rosenfeld.\" A full copy of the text of the CDDL should have accompanied this 8788c47fcSHans Rosenfeld.\" source. A copy of the CDDL is also available via the Internet at 9788c47fcSHans Rosenfeld.\" http://www.illumos.org/license/CDDL. 10788c47fcSHans Rosenfeld.\" 11788c47fcSHans Rosenfeld.\" 125f836503SHans Rosenfeld.\" Copyright 2016 Nexenta Systems, Inc. All rights reserved. 13*c8ded1b3SRobert Mustacchi.\" Copyright (c) 2018, Joyent, Inc. 14788c47fcSHans Rosenfeld.\" 15*c8ded1b3SRobert Mustacchi.Dd July 31, 2018 16788c47fcSHans Rosenfeld.Dt NVME 7D 17788c47fcSHans Rosenfeld.Os 18788c47fcSHans Rosenfeld.Sh NAME 19788c47fcSHans Rosenfeld.Nm nvme 20788c47fcSHans Rosenfeld.Nd Intel NVMe compliant storage driver 21788c47fcSHans Rosenfeld.Sh DESCRIPTION 22788c47fcSHans RosenfeldThe 23788c47fcSHans Rosenfeld.Nm 24788c47fcSHans Rosenfelddriver uses the 25788c47fcSHans Rosenfeld.Xr blkdev 7D 26788c47fcSHans Rosenfeldframework to provide access to 27*c8ded1b3SRobert MustacchiIntel 28788c47fcSHans RosenfeldNVMe compliant solid-state storage devices. 29788c47fcSHans Rosenfeld.Lp 30788c47fcSHans RosenfeldNVMe devices supporting multiple namespaces will present each 31788c47fcSHans Rosenfeldnamespace as its own 32788c47fcSHans Rosenfeld.Xr blkdev 7D 33788c47fcSHans Rosenfeldinstance in the system. 34788c47fcSHans Rosenfeld. 35788c47fcSHans Rosenfeld.Sh CONFIGURATION 36788c47fcSHans RosenfeldThe 37788c47fcSHans Rosenfeld.Nm 3853475f71SHans Rosenfelddriver can be configured by defining properties in the 3953475f71SHans Rosenfeld.Pa nvme.conf 4053475f71SHans Rosenfeldfile. 4153475f71SHans RosenfeldThe parameters are considered an unstable interface, subject to 4253475f71SHans Rosenfeldchange without notice. 4353475f71SHans RosenfeldThe following properties are currently supported: 44788c47fcSHans Rosenfeld.Bl -tag -width Va 45788c47fcSHans Rosenfeld.It Va strict-version 46788c47fcSHans RosenfeldThis can be set to 0 to allow 47788c47fcSHans Rosenfeld.Nm 48788c47fcSHans Rosenfeldto attach to devices supporting newer version of the NVMe 4953475f71SHans Rosenfeldspecification. 5053475f71SHans RosenfeldThe default value is 1, limiting 51788c47fcSHans Rosenfeld.Nm 52*c8ded1b3SRobert Mustacchito work with devices that support major version 1. 53788c47fcSHans Rosenfeld.It Va ignore-unknown-vendor-status 54788c47fcSHans RosenfeldThis can be set to 1 to allow 55788c47fcSHans Rosenfeld.Nm 56788c47fcSHans Rosenfeldto continue operating even if it receives an unknown vendor command 57788c47fcSHans Rosenfeldstatus. 58788c47fcSHans Rosenfeld.It Va admin-queue-len 5953475f71SHans RosenfeldThis is the number of entries in the admin command queue. 6053475f71SHans RosenfeldLegal values are between 16 and 4096, the default value is 256. 61788c47fcSHans Rosenfeld.It Va io-queue-len 6253475f71SHans RosenfeldThis is the number of entries in each I/O command queue. 6353475f71SHans RosenfeldLegal values are between 16 and 65536, the default value is 1024. 64788c47fcSHans Rosenfeld.It Va async-event-limit 65788c47fcSHans RosenfeldThis is the maximum number of asynchronous event requests issued by 6653475f71SHans Rosenfeldthe driver. 6753475f71SHans RosenfeldAsynchronous events are used to report error conditions. 68788c47fcSHans RosenfeldThe driver will never use more asynchronous events than this value, or 6953475f71SHans Rosenfeldwhat the hardware supports if it is less, or 1/10th of the admin queue 7053475f71SHans Rosenfeldlength if it is less. 715f836503SHans Rosenfeld.It Va volatile-write-cache-enable 725f836503SHans RosenfeldThis property can be set to 0 to disable the volatile write cache, if 735f836503SHans Rosenfeldthe hardware supports it. 745f836503SHans RosenfeldThe default setting is 1, which enables the volatile write cache. 759974ca0cSHans Rosenfeld.It Va min-phys-block-size 769974ca0cSHans RosenfeldThis is the minimum physical block size that is reported to 779974ca0cSHans Rosenfeld.Xr blkdev 7d . 789974ca0cSHans RosenfeldThis value must be a power of 2 greater than or equal to 512. 799974ca0cSHans RosenfeldIf the device reports a best block size larger than what is 809974ca0cSHans Rosenfeldspecified here the driver will ignore the value specified here. 81788c47fcSHans Rosenfeld.El 82788c47fcSHans Rosenfeld. 83788c47fcSHans Rosenfeld.Sh FILES 84788c47fcSHans Rosenfeld.Bl -tag -compact -width Pa 85788c47fcSHans Rosenfeld.It Pa /dev/dsk/cntnd0sn 86788c47fcSHans RosenfeldBlock device minor nodes. 87788c47fcSHans Rosenfeld.It Pa /dev/rdsk/cntnd0sn 88788c47fcSHans RosenfeldRaw block device minor nodes. 89788c47fcSHans Rosenfeld.El 90788c47fcSHans Rosenfeld.Lp 91788c47fcSHans RosenfeldIn the device minor nodes, the following substitutions may occur: 92788c47fcSHans Rosenfeld.Bl -tag -offset indent -width Va 93788c47fcSHans Rosenfeld.It Va cn 94788c47fcSHans RosenfeldA controller number, typically one for each 95788c47fcSHans Rosenfeld.Nm 9653475f71SHans Rosenfelddevice found. 9753475f71SHans RosenfeldController numbers are dynamically assigned by the system. 98788c47fcSHans Rosenfeld.It Va tn 99265d85e9SHans RosenfeldThe target number. 100265d85e9SHans RosenfeldThis is the namespace EUI64 if available, or the namespace ID used by 101265d85e9SHans Rosenfeldthe hardware. 10253475f71SHans RosenfeldNamespace ID 0 is reserved, hence target numbers start with 1. 103788c47fcSHans Rosenfeld.It Va sn 104788c47fcSHans RosenfeldThis is the 105788c47fcSHans Rosenfeld.Em slice 10653475f71SHans Rosenfeldnumber, representing a subset of the disk. 10753475f71SHans RosenfeldSee 108788c47fcSHans Rosenfeld.Xr dkio 7I . 109788c47fcSHans Rosenfeld.El 110788c47fcSHans Rosenfeld. 111788c47fcSHans Rosenfeld.Sh SEE ALSO 112788c47fcSHans Rosenfeld.Xr blkdev 7D 113