13c9168faSHans Rosenfeld.\" 23c9168faSHans Rosenfeld.\" This file and its contents are supplied under the terms of the 33c9168faSHans Rosenfeld.\" Common Development and Distribution License ("CDDL"), version 1.0. 43c9168faSHans Rosenfeld.\" You may only use this file in accordance with the terms of version 53c9168faSHans Rosenfeld.\" 1.0 of the CDDL. 63c9168faSHans Rosenfeld.\" 73c9168faSHans Rosenfeld.\" A full copy of the text of the CDDL should have accompanied this 83c9168faSHans Rosenfeld.\" source. A copy of the CDDL is also available via the Internet at 93c9168faSHans Rosenfeld.\" http://www.illumos.org/license/CDDL. 103c9168faSHans Rosenfeld.\" 113c9168faSHans Rosenfeld.\" 12998a9ab1SHans Rosenfeld.\" Copyright 2016 Nexenta Systems, Inc. All rights reserved. 133c9168faSHans Rosenfeld.\" 14998a9ab1SHans Rosenfeld.Dd May 13, 2016 153c9168faSHans Rosenfeld.Dt NVME 7D 163c9168faSHans Rosenfeld.Os 173c9168faSHans Rosenfeld.Sh NAME 183c9168faSHans Rosenfeld.Nm nvme 193c9168faSHans Rosenfeld.Nd Intel NVMe compliant storage driver 203c9168faSHans Rosenfeld.Sh DESCRIPTION 213c9168faSHans RosenfeldThe 223c9168faSHans Rosenfeld.Nm 233c9168faSHans Rosenfelddriver uses the 243c9168faSHans Rosenfeld.Xr blkdev 7D 253c9168faSHans Rosenfeldframework to provide access to 263c9168faSHans Rosenfeld.Tn Intel 273c9168faSHans RosenfeldNVMe compliant solid-state storage devices. 283c9168faSHans Rosenfeld.Lp 293c9168faSHans RosenfeldNVMe devices supporting multiple namespaces will present each 303c9168faSHans Rosenfeldnamespace as its own 313c9168faSHans Rosenfeld.Xr blkdev 7D 323c9168faSHans Rosenfeldinstance in the system. 333c9168faSHans Rosenfeld. 343c9168faSHans Rosenfeld.Sh CONFIGURATION 353c9168faSHans RosenfeldThe 363c9168faSHans Rosenfeld.Nm 37*5433eff1SHans Rosenfelddriver can be configured by defining properties in the 38*5433eff1SHans Rosenfeld.Pa nvme.conf 39*5433eff1SHans Rosenfeldfile. 40*5433eff1SHans RosenfeldThe parameters are considered an unstable interface, subject to 41*5433eff1SHans Rosenfeldchange without notice. 42*5433eff1SHans RosenfeldThe following properties are currently supported: 433c9168faSHans Rosenfeld.Bl -tag -width Va 443c9168faSHans Rosenfeld.It Va strict-version 453c9168faSHans RosenfeldThis can be set to 0 to allow 463c9168faSHans Rosenfeld.Nm 473c9168faSHans Rosenfeldto attach to devices supporting newer version of the NVMe 48*5433eff1SHans Rosenfeldspecification. 49*5433eff1SHans RosenfeldThe default value is 1, limiting 503c9168faSHans Rosenfeld.Nm 513c9168faSHans Rosenfeldto work with devices up to specification version 1.0. 523c9168faSHans Rosenfeld.It Va ignore-unknown-vendor-status 533c9168faSHans RosenfeldThis can be set to 1 to allow 543c9168faSHans Rosenfeld.Nm 553c9168faSHans Rosenfeldto continue operating even if it receives an unknown vendor command 563c9168faSHans Rosenfeldstatus. 573c9168faSHans Rosenfeld.It Va admin-queue-len 58*5433eff1SHans RosenfeldThis is the number of entries in the admin command queue. 59*5433eff1SHans RosenfeldLegal values are between 16 and 4096, the default value is 256. 603c9168faSHans Rosenfeld.It Va io-queue-len 61*5433eff1SHans RosenfeldThis is the number of entries in each I/O command queue. 62*5433eff1SHans RosenfeldLegal values are between 16 and 65536, the default value is 1024. 633c9168faSHans Rosenfeld.It Va async-event-limit 643c9168faSHans RosenfeldThis is the maximum number of asynchronous event requests issued by 65*5433eff1SHans Rosenfeldthe driver. 66*5433eff1SHans RosenfeldAsynchronous events are used to report error conditions. 673c9168faSHans RosenfeldThe driver will never use more asynchronous events than this value, or 68*5433eff1SHans Rosenfeldwhat the hardware supports if it is less, or 1/10th of the admin queue 69*5433eff1SHans Rosenfeldlength if it is less. 70998a9ab1SHans Rosenfeld.It Va volatile-write-cache-enable 71998a9ab1SHans RosenfeldThis property can be set to 0 to disable the volatile write cache, if 72998a9ab1SHans Rosenfeldthe hardware supports it. 73998a9ab1SHans RosenfeldThe default setting is 1, which enables the volatile write cache. 743c9168faSHans Rosenfeld.El 753c9168faSHans Rosenfeld. 763c9168faSHans Rosenfeld.Sh FILES 773c9168faSHans Rosenfeld.Bl -tag -compact -width Pa 783c9168faSHans Rosenfeld.It Pa /dev/dsk/cntnd0sn 793c9168faSHans RosenfeldBlock device minor nodes. 803c9168faSHans Rosenfeld.It Pa /dev/rdsk/cntnd0sn 813c9168faSHans RosenfeldRaw block device minor nodes. 823c9168faSHans Rosenfeld.El 833c9168faSHans Rosenfeld.Lp 843c9168faSHans RosenfeldIn the device minor nodes, the following substitutions may occur: 853c9168faSHans Rosenfeld.Bl -tag -offset indent -width Va 863c9168faSHans Rosenfeld.It Va cn 873c9168faSHans RosenfeldA controller number, typically one for each 883c9168faSHans Rosenfeld.Nm 89*5433eff1SHans Rosenfelddevice found. 90*5433eff1SHans RosenfeldController numbers are dynamically assigned by the system. 913c9168faSHans Rosenfeld.It Va tn 923c9168faSHans RosenfeldThe target number, this corresponds to the namespace ID used by the 93*5433eff1SHans Rosenfeldhardware. 94*5433eff1SHans RosenfeldNamespace ID 0 is reserved, hence target numbers start with 1. 953c9168faSHans Rosenfeld.It Va sn 963c9168faSHans RosenfeldThis is the 973c9168faSHans Rosenfeld.Em slice 98*5433eff1SHans Rosenfeldnumber, representing a subset of the disk. 99*5433eff1SHans RosenfeldSee 1003c9168faSHans Rosenfeld.Xr dkio 7I . 1013c9168faSHans Rosenfeld.El 1023c9168faSHans Rosenfeld. 1033c9168faSHans Rosenfeld.Sh SEE ALSO 1043c9168faSHans Rosenfeld.Xr blkdev 7D 105