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. 13*1188b159SRobert Mustacchi.\" Copyright (c) 2018, Joyent, Inc. 143c9168faSHans Rosenfeld.\" 15*1188b159SRobert Mustacchi.Dd July 31, 2018 163c9168faSHans Rosenfeld.Dt NVME 7D 173c9168faSHans Rosenfeld.Os 183c9168faSHans Rosenfeld.Sh NAME 193c9168faSHans Rosenfeld.Nm nvme 203c9168faSHans Rosenfeld.Nd Intel NVMe compliant storage driver 213c9168faSHans Rosenfeld.Sh DESCRIPTION 223c9168faSHans RosenfeldThe 233c9168faSHans Rosenfeld.Nm 243c9168faSHans Rosenfelddriver uses the 253c9168faSHans Rosenfeld.Xr blkdev 7D 263c9168faSHans Rosenfeldframework to provide access to 27*1188b159SRobert MustacchiIntel 283c9168faSHans RosenfeldNVMe compliant solid-state storage devices. 293c9168faSHans Rosenfeld.Lp 303c9168faSHans RosenfeldNVMe devices supporting multiple namespaces will present each 313c9168faSHans Rosenfeldnamespace as its own 323c9168faSHans Rosenfeld.Xr blkdev 7D 333c9168faSHans Rosenfeldinstance in the system. 343c9168faSHans Rosenfeld. 353c9168faSHans Rosenfeld.Sh CONFIGURATION 363c9168faSHans RosenfeldThe 373c9168faSHans Rosenfeld.Nm 385433eff1SHans Rosenfelddriver can be configured by defining properties in the 395433eff1SHans Rosenfeld.Pa nvme.conf 405433eff1SHans Rosenfeldfile. 415433eff1SHans RosenfeldThe parameters are considered an unstable interface, subject to 425433eff1SHans Rosenfeldchange without notice. 435433eff1SHans RosenfeldThe following properties are currently supported: 443c9168faSHans Rosenfeld.Bl -tag -width Va 453c9168faSHans Rosenfeld.It Va strict-version 463c9168faSHans RosenfeldThis can be set to 0 to allow 473c9168faSHans Rosenfeld.Nm 483c9168faSHans Rosenfeldto attach to devices supporting newer version of the NVMe 495433eff1SHans Rosenfeldspecification. 505433eff1SHans RosenfeldThe default value is 1, limiting 513c9168faSHans Rosenfeld.Nm 52*1188b159SRobert Mustacchito work with devices that support major version 1. 533c9168faSHans Rosenfeld.It Va ignore-unknown-vendor-status 543c9168faSHans RosenfeldThis can be set to 1 to allow 553c9168faSHans Rosenfeld.Nm 563c9168faSHans Rosenfeldto continue operating even if it receives an unknown vendor command 573c9168faSHans Rosenfeldstatus. 583c9168faSHans Rosenfeld.It Va admin-queue-len 595433eff1SHans RosenfeldThis is the number of entries in the admin command queue. 605433eff1SHans RosenfeldLegal values are between 16 and 4096, the default value is 256. 613c9168faSHans Rosenfeld.It Va io-queue-len 625433eff1SHans RosenfeldThis is the number of entries in each I/O command queue. 635433eff1SHans RosenfeldLegal values are between 16 and 65536, the default value is 1024. 643c9168faSHans Rosenfeld.It Va async-event-limit 653c9168faSHans RosenfeldThis is the maximum number of asynchronous event requests issued by 665433eff1SHans Rosenfeldthe driver. 675433eff1SHans RosenfeldAsynchronous events are used to report error conditions. 683c9168faSHans RosenfeldThe driver will never use more asynchronous events than this value, or 695433eff1SHans Rosenfeldwhat the hardware supports if it is less, or 1/10th of the admin queue 705433eff1SHans Rosenfeldlength if it is less. 71998a9ab1SHans Rosenfeld.It Va volatile-write-cache-enable 72998a9ab1SHans RosenfeldThis property can be set to 0 to disable the volatile write cache, if 73998a9ab1SHans Rosenfeldthe hardware supports it. 74998a9ab1SHans RosenfeldThe default setting is 1, which enables the volatile write cache. 75be0a819dSHans Rosenfeld.It Va min-phys-block-size 76be0a819dSHans RosenfeldThis is the minimum physical block size that is reported to 77be0a819dSHans Rosenfeld.Xr blkdev 7d . 78be0a819dSHans RosenfeldThis value must be a power of 2 greater than or equal to 512. 79be0a819dSHans RosenfeldIf the device reports a best block size larger than what is 80be0a819dSHans Rosenfeldspecified here the driver will ignore the value specified here. 813c9168faSHans Rosenfeld.El 823c9168faSHans Rosenfeld. 833c9168faSHans Rosenfeld.Sh FILES 843c9168faSHans Rosenfeld.Bl -tag -compact -width Pa 853c9168faSHans Rosenfeld.It Pa /dev/dsk/cntnd0sn 863c9168faSHans RosenfeldBlock device minor nodes. 873c9168faSHans Rosenfeld.It Pa /dev/rdsk/cntnd0sn 883c9168faSHans RosenfeldRaw block device minor nodes. 893c9168faSHans Rosenfeld.El 903c9168faSHans Rosenfeld.Lp 913c9168faSHans RosenfeldIn the device minor nodes, the following substitutions may occur: 923c9168faSHans Rosenfeld.Bl -tag -offset indent -width Va 933c9168faSHans Rosenfeld.It Va cn 943c9168faSHans RosenfeldA controller number, typically one for each 953c9168faSHans Rosenfeld.Nm 965433eff1SHans Rosenfelddevice found. 975433eff1SHans RosenfeldController numbers are dynamically assigned by the system. 983c9168faSHans Rosenfeld.It Va tn 99b6fef107SHans RosenfeldThe target number. 100b6fef107SHans RosenfeldThis is the namespace EUI64 if available, or the namespace ID used by 101b6fef107SHans Rosenfeldthe hardware. 1025433eff1SHans RosenfeldNamespace ID 0 is reserved, hence target numbers start with 1. 1033c9168faSHans Rosenfeld.It Va sn 1043c9168faSHans RosenfeldThis is the 1053c9168faSHans Rosenfeld.Em slice 1065433eff1SHans Rosenfeldnumber, representing a subset of the disk. 1075433eff1SHans RosenfeldSee 1083c9168faSHans Rosenfeld.Xr dkio 7I . 1093c9168faSHans Rosenfeld.El 1103c9168faSHans Rosenfeld. 1113c9168faSHans Rosenfeld.Sh SEE ALSO 1123c9168faSHans Rosenfeld.Xr blkdev 7D 113