2012-09-17 21:26:55 +00:00
|
|
|
.\"
|
|
|
|
.\" Copyright (c) 2012 Intel Corporation
|
|
|
|
.\" All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions, and the following disclaimer,
|
|
|
|
.\" without modification.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
|
|
|
|
.\" substantially similar to the "NO WARRANTY" disclaimer below
|
|
|
|
.\" ("Disclaimer") and any redistribution must be conditioned upon
|
|
|
|
.\" including a substantially similar Disclaimer requirement for further
|
|
|
|
.\" binary redistribution.
|
|
|
|
.\"
|
|
|
|
.\" NO WARRANTY
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
|
|
.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
|
|
.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
|
|
|
|
.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
|
|
.\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
|
|
.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
|
|
|
.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
.\" POSSIBILITY OF SUCH DAMAGES.
|
|
|
|
.\"
|
|
|
|
.\" nvmecontrol man page.
|
|
|
|
.\"
|
|
|
|
.\" Author: Jim Harris <jimharris@FreeBSD.org>
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\"
|
2013-03-26 19:50:46 +00:00
|
|
|
.Dd March 26, 2013
|
2012-09-17 21:26:55 +00:00
|
|
|
.Dt NVMECONTROL 8
|
|
|
|
.Os
|
|
|
|
.Sh NAME
|
|
|
|
.Nm nvmecontrol
|
|
|
|
.Nd NVM Express control utility
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Ic devlist
|
|
|
|
.Nm
|
|
|
|
.Ic identify
|
|
|
|
.Op Fl v
|
|
|
|
.Op Fl x
|
|
|
|
.Aq device id
|
|
|
|
.Nm
|
|
|
|
.Ic perftest
|
|
|
|
.Aq Fl n Ar num_threads
|
|
|
|
.Aq Fl o Ar read|write
|
|
|
|
.Op Fl p
|
|
|
|
.Aq Fl s Ar size_in_bytes
|
|
|
|
.Aq Fl t Ar time_in_sec
|
2013-03-26 19:50:46 +00:00
|
|
|
.Aq namespace id
|
|
|
|
.Nm
|
|
|
|
.Ic reset
|
|
|
|
.Aq controller id
|
2013-06-26 23:53:54 +00:00
|
|
|
.Nm
|
|
|
|
.Ic logpage
|
|
|
|
.Aq Fl p Ar page_id
|
|
|
|
.Op Fl x
|
|
|
|
.Aq device id
|
|
|
|
.Aq namespace id
|
2013-06-27 00:08:25 +00:00
|
|
|
.Nm
|
|
|
|
.Ic firmware
|
|
|
|
.Op Fl s Ar slot
|
|
|
|
.Op Fl f Ar path_to_firmware
|
|
|
|
.Op Fl a
|
|
|
|
.Aq device id
|
2016-01-30 22:48:06 +00:00
|
|
|
.Nm
|
|
|
|
.Ic power
|
|
|
|
.Op Fl l
|
|
|
|
.Op Fl p power_state
|
|
|
|
.Op fl w workload_hint
|
2012-09-17 21:26:55 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
NVM Express (NVMe) is a storage protocol standard, for SSDs and other
|
|
|
|
high-speed storage devices over PCI Express.
|
|
|
|
.Sh EXAMPLES
|
|
|
|
.Dl nvmecontrol devlist
|
|
|
|
.Pp
|
|
|
|
Display a list of NVMe controllers and namespaces along with their device nodes.
|
2013-03-26 19:50:46 +00:00
|
|
|
.Pp
|
2012-09-17 21:26:55 +00:00
|
|
|
.Dl nvmecontrol identify nvme0
|
|
|
|
.Pp
|
|
|
|
Display a human-readable summary of the nvme0 IDENTIFY_CONTROLLER data.
|
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol identify -x -v nvme0ns1
|
|
|
|
.Pp
|
2016-05-06 03:11:34 +00:00
|
|
|
Display an hexadecimal dump of the nvme0 IDENTIFY_NAMESPACE data for namespace
|
2012-09-17 21:26:55 +00:00
|
|
|
1.
|
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol perftest -n 32 -o read -s 512 -t 30 nvme0ns1
|
|
|
|
.Pp
|
|
|
|
Run a performance test on nvme0ns1 using 32 kernel threads for 30 seconds. Each
|
|
|
|
thread will issue a single 512 byte read command. Results are printed to
|
|
|
|
stdout when 30 seconds expires.
|
2013-03-26 19:50:46 +00:00
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol reset nvme0
|
|
|
|
.Pp
|
|
|
|
Perform a controller-level reset of the nvme0 controller.
|
2013-06-26 23:53:54 +00:00
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol logpage -p 1 nvme0
|
|
|
|
.Pp
|
|
|
|
Display a human-readable summary of the nvme0 controller's Error Information Log.
|
|
|
|
Log pages defined by the NVMe specification include Error Information Log (ID=1),
|
|
|
|
SMART/Health Information Log (ID=2), and Firmware Slot Log (ID=3).
|
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol logpage -p 1 -x nvme0
|
|
|
|
.Pp
|
2016-05-06 03:11:34 +00:00
|
|
|
Display a hexadecimal dump of the nvme0 controller's Error Information Log.
|
2013-06-27 00:08:25 +00:00
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol firmware -s 2 -f /tmp/nvme_firmware nvme0
|
|
|
|
.Pp
|
|
|
|
Download the firmware image contained in "/tmp/nvme_firmware" to slot 2 of the
|
|
|
|
nvme0 controller, but do not activate the image.
|
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol firmware -s 4 -a nvme0
|
|
|
|
.Pp
|
|
|
|
Activate the firmware in slot 4 of the nvme0 controller on the next reset.
|
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol firmware -s 7 -f /tmp/nvme_firmware -a nvme0
|
|
|
|
.Pp
|
|
|
|
Download the firmware image contained in "/tmp/nvme_firmware" to slot 7 of the
|
|
|
|
nvme0 controller and activate it on the next reset.
|
2016-01-30 22:48:06 +00:00
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol power -l nvme0
|
|
|
|
.Pp
|
|
|
|
List all the current power modes.
|
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol power -p 3 nvme0
|
|
|
|
.Pp
|
|
|
|
Set the current power mode.
|
|
|
|
.Pp
|
|
|
|
.Dl nvmecontrol power nvme0
|
|
|
|
.Pp
|
|
|
|
Get the current power mode.
|
2012-09-17 21:26:55 +00:00
|
|
|
.Sh AUTHORS
|
|
|
|
.An -nosplit
|
|
|
|
.Nm
|
|
|
|
was developed by Intel and originally written by
|
2014-06-20 09:40:43 +00:00
|
|
|
.An Jim Harris Aq Mt jimharris@FreeBSD.org .
|
2012-09-17 21:26:55 +00:00
|
|
|
.Pp
|
|
|
|
This man page was written by
|
2014-06-20 09:40:43 +00:00
|
|
|
.An Jim Harris Aq Mt jimharris@FreeBSD.org .
|