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. 13788c47fcSHans Rosenfeld.\" 145f836503SHans Rosenfeld.Dd May 13, 2016 15788c47fcSHans Rosenfeld.Dt NVME 7D 16788c47fcSHans Rosenfeld.Os 17788c47fcSHans Rosenfeld.Sh NAME 18788c47fcSHans Rosenfeld.Nm nvme 19788c47fcSHans Rosenfeld.Nd Intel NVMe compliant storage driver 20788c47fcSHans Rosenfeld.Sh DESCRIPTION 21788c47fcSHans RosenfeldThe 22788c47fcSHans Rosenfeld.Nm 23788c47fcSHans Rosenfelddriver uses the 24788c47fcSHans Rosenfeld.Xr blkdev 7D 25788c47fcSHans Rosenfeldframework to provide access to 26788c47fcSHans Rosenfeld.Tn Intel 27788c47fcSHans RosenfeldNVMe compliant solid-state storage devices. 28788c47fcSHans Rosenfeld.Lp 29788c47fcSHans RosenfeldNVMe devices supporting multiple namespaces will present each 30788c47fcSHans Rosenfeldnamespace as its own 31788c47fcSHans Rosenfeld.Xr blkdev 7D 32788c47fcSHans Rosenfeldinstance in the system. 33788c47fcSHans Rosenfeld. 34788c47fcSHans Rosenfeld.Sh CONFIGURATION 35788c47fcSHans RosenfeldThe 36788c47fcSHans Rosenfeld.Nm 37*53475f71SHans Rosenfelddriver can be configured by defining properties in the 38*53475f71SHans Rosenfeld.Pa nvme.conf 39*53475f71SHans Rosenfeldfile. 40*53475f71SHans RosenfeldThe parameters are considered an unstable interface, subject to 41*53475f71SHans Rosenfeldchange without notice. 42*53475f71SHans RosenfeldThe following properties are currently supported: 43788c47fcSHans Rosenfeld.Bl -tag -width Va 44788c47fcSHans Rosenfeld.It Va strict-version 45788c47fcSHans RosenfeldThis can be set to 0 to allow 46788c47fcSHans Rosenfeld.Nm 47788c47fcSHans Rosenfeldto attach to devices supporting newer version of the NVMe 48*53475f71SHans Rosenfeldspecification. 49*53475f71SHans RosenfeldThe default value is 1, limiting 50788c47fcSHans Rosenfeld.Nm 51788c47fcSHans Rosenfeldto work with devices up to specification version 1.0. 52788c47fcSHans Rosenfeld.It Va ignore-unknown-vendor-status 53788c47fcSHans RosenfeldThis can be set to 1 to allow 54788c47fcSHans Rosenfeld.Nm 55788c47fcSHans Rosenfeldto continue operating even if it receives an unknown vendor command 56788c47fcSHans Rosenfeldstatus. 57788c47fcSHans Rosenfeld.It Va admin-queue-len 58*53475f71SHans RosenfeldThis is the number of entries in the admin command queue. 59*53475f71SHans RosenfeldLegal values are between 16 and 4096, the default value is 256. 60788c47fcSHans Rosenfeld.It Va io-queue-len 61*53475f71SHans RosenfeldThis is the number of entries in each I/O command queue. 62*53475f71SHans RosenfeldLegal values are between 16 and 65536, the default value is 1024. 63788c47fcSHans Rosenfeld.It Va async-event-limit 64788c47fcSHans RosenfeldThis is the maximum number of asynchronous event requests issued by 65*53475f71SHans Rosenfeldthe driver. 66*53475f71SHans RosenfeldAsynchronous events are used to report error conditions. 67788c47fcSHans RosenfeldThe driver will never use more asynchronous events than this value, or 68*53475f71SHans Rosenfeldwhat the hardware supports if it is less, or 1/10th of the admin queue 69*53475f71SHans Rosenfeldlength if it is less. 705f836503SHans Rosenfeld.It Va volatile-write-cache-enable 715f836503SHans RosenfeldThis property can be set to 0 to disable the volatile write cache, if 725f836503SHans Rosenfeldthe hardware supports it. 735f836503SHans RosenfeldThe default setting is 1, which enables the volatile write cache. 74788c47fcSHans Rosenfeld.El 75788c47fcSHans Rosenfeld. 76788c47fcSHans Rosenfeld.Sh FILES 77788c47fcSHans Rosenfeld.Bl -tag -compact -width Pa 78788c47fcSHans Rosenfeld.It Pa /dev/dsk/cntnd0sn 79788c47fcSHans RosenfeldBlock device minor nodes. 80788c47fcSHans Rosenfeld.It Pa /dev/rdsk/cntnd0sn 81788c47fcSHans RosenfeldRaw block device minor nodes. 82788c47fcSHans Rosenfeld.El 83788c47fcSHans Rosenfeld.Lp 84788c47fcSHans RosenfeldIn the device minor nodes, the following substitutions may occur: 85788c47fcSHans Rosenfeld.Bl -tag -offset indent -width Va 86788c47fcSHans Rosenfeld.It Va cn 87788c47fcSHans RosenfeldA controller number, typically one for each 88788c47fcSHans Rosenfeld.Nm 89*53475f71SHans Rosenfelddevice found. 90*53475f71SHans RosenfeldController numbers are dynamically assigned by the system. 91788c47fcSHans Rosenfeld.It Va tn 92788c47fcSHans RosenfeldThe target number, this corresponds to the namespace ID used by the 93*53475f71SHans Rosenfeldhardware. 94*53475f71SHans RosenfeldNamespace ID 0 is reserved, hence target numbers start with 1. 95788c47fcSHans Rosenfeld.It Va sn 96788c47fcSHans RosenfeldThis is the 97788c47fcSHans Rosenfeld.Em slice 98*53475f71SHans Rosenfeldnumber, representing a subset of the disk. 99*53475f71SHans RosenfeldSee 100788c47fcSHans Rosenfeld.Xr dkio 7I . 101788c47fcSHans Rosenfeld.El 102788c47fcSHans Rosenfeld. 103788c47fcSHans Rosenfeld.Sh SEE ALSO 104788c47fcSHans Rosenfeld.Xr blkdev 7D 105