From: Chaitanya Kulkarni Date: Wed, 1 Mar 2017 02:14:10 +0000 (-0800) Subject: nvme-cli: Western Digital/HGST plug-in documentation. X-Git-Tag: v1.2~9 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=b465658584fa73afc92dca7163abf2fcb0ce4a9b;p=users%2Fsagi%2Fnvme-cli.git nvme-cli: Western Digital/HGST plug-in documentation. This patch adds documentation for the commands present in Western Digital/HGST plug-in. Signed-off-by: Chaitanya Kulkarni --- diff --git a/Documentation/nvme-wdc-cap-diag.1 b/Documentation/nvme-wdc-cap-diag.1 new file mode 100644 index 00000000..f962c9ca --- /dev/null +++ b/Documentation/nvme-wdc-cap-diag.1 @@ -0,0 +1,116 @@ +'\" t +.\" Title: nvme-wdc-cap-diag +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 02/28/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-CAP\-DIAG" "1" "02/28/2017" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-wdc-cap-diag \- Retrieve WDC device\*(Aqs diagnostic log and save to file\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc cap\-diag\fR [\-\-output\-file=, \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the WDC Vendor Unique Capture\-Diagnostics request and saves the result to a file\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-file= +.RS 4 +Output file; defaults to device serial number followed by "cap_diag" suffix +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device and saves to default file in current directory (e\&.g\&. STM00019F3F9cap_diag\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device and saves to defined file in current directory (e\&.g\&. testSTM00019F3F9cap_diag\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 \-o test +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the capture diagnostics log from the device and saves to defined file with pathname (e\&.g\&. /tmp/testSTM00019F3F9cap_diag\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc cap\-diag /dev/nvme0 \-o /tmp/test +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-cap-diag.html b/Documentation/nvme-wdc-cap-diag.html new file mode 100644 index 00000000..04b1a61b --- /dev/null +++ b/Documentation/nvme-wdc-cap-diag.html @@ -0,0 +1,832 @@ + + + + + +nvme-wdc-cap-diag(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc cap-diag <device> [--output-file=<FILE>, -o <FILE>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the WDC Vendor Unique Capture-Diagnostics +request and saves the result to a file.

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+
+
+
+

OPTIONS

+
+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output file; defaults to device serial number followed by "cap_diag" suffix +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Gets the capture diagnostics log from the device and saves to default file in current directory (e.g. STM00019F3F9cap_diag.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0
    +
    +
  • +
  • +

    +Gets the capture diagnostics log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9cap_diag.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0 -o test
    +
    +
  • +
  • +

    +Gets the capture diagnostics log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9cap_diag.bin): +

    +
    +
    +
    # nvme wdc cap-diag /dev/nvme0 -o /tmp/test
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-cap-diag.txt b/Documentation/nvme-wdc-cap-diag.txt new file mode 100644 index 00000000..f9d232d0 --- /dev/null +++ b/Documentation/nvme-wdc-cap-diag.txt @@ -0,0 +1,50 @@ +nvme-wdc-cap-diag(1) +==================== + +NAME +---- +nvme-wdc-cap-diag - Retrieve WDC device's diagnostic log and save to file. + +SYNOPSIS +-------- +[verse] +'nvme wdc cap-diag' [--output-file=, -o ] + +DESCRIPTION +----------- + +For the NVMe device given, sends the WDC Vendor Unique Capture-Diagnostics +request and saves the result to a file. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +-o :: +--output-file=:: + Output file; defaults to device serial number followed by "cap_diag" suffix + +EXAMPLES +-------- +* Gets the capture diagnostics log from the device and saves to default file in current directory (e.g. STM00019F3F9cap_diag.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 +------------ +* Gets the capture diagnostics log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9cap_diag.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 -o test +------------ +* Gets the capture diagnostics log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9cap_diag.bin): ++ +------------ +# nvme wdc cap-diag /dev/nvme0 -o /tmp/test +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-wdc-drive-log.1 b/Documentation/nvme-wdc-drive-log.1 new file mode 100644 index 00000000..ff909893 --- /dev/null +++ b/Documentation/nvme-wdc-drive-log.1 @@ -0,0 +1,116 @@ +'\" t +.\" Title: nvme-wdc-drive-log +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 02/28/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-DRIVE\-LO" "1" "02/28/2017" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-wdc-drive-log \- Retrieve WDC device\*(Aqs drive log and save to file\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc drive\-log\fR [\-\-output\-file=, \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the wdc vendor unique drive log request and saves the result to a file\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-file= +.RS 4 +Output file; defaults to device serial number followed by "drive_log" suffix +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the drive log from the device and saves to default file in current directory (e\&.g\&. STM00019F3F9drive_log\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc drive\-log /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the drive log from the device and saves to defined file in current directory (e\&.g\&. testSTM00019F3F9drive_log\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc drive\-log /dev/nvme0 \-o test +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the drive log from the device and saves to defined file with pathname (e\&.g\&. /tmp/testSTM00019F3F9drive_log\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc drive\-log /dev/nvme0 \-o /tmp/test +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-wdc-drive-log.html b/Documentation/nvme-wdc-drive-log.html new file mode 100644 index 00000000..2080ec34 --- /dev/null +++ b/Documentation/nvme-wdc-drive-log.html @@ -0,0 +1,834 @@ + + + + + +nvme-wdc-drive-log(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc drive-log <device> [--output-file=<FILE>, -o <FILE>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the wdc vendor unique drive log +request and saves the result to a file.

+

The <device> parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+
+
+
+

OPTIONS

+
+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output file; defaults to device serial number followed by "drive_log" suffix +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Gets the drive log from the device and saves to default file in current directory (e.g. STM00019F3F9drive_log.bin): +

    +
    +
    +
    # nvme wdc drive-log /dev/nvme0
    +
    +
  • +
  • +

    +Gets the drive log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9drive_log.bin): +

    +
    +
    +
    # nvme wdc drive-log /dev/nvme0 -o test
    +
    +
  • +
  • +

    +Gets the drive log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9drive_log.bin): +

    +
    +
    +
    # nvme wdc drive-log /dev/nvme0 -o /tmp/test
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-drive-log.txt b/Documentation/nvme-wdc-drive-log.txt new file mode 100644 index 00000000..3c6a589a --- /dev/null +++ b/Documentation/nvme-wdc-drive-log.txt @@ -0,0 +1,52 @@ +nvme-wdc-drive-log(1) +===================== + +NAME +---- +nvme-wdc-drive-log - Retrieve WDC device's drive log and save to file. + +SYNOPSIS +-------- +[verse] +'nvme wdc drive-log' [--output-file=, -o ] + +DESCRIPTION +----------- +For the NVMe device given, sends the wdc vendor unique drive log +request and saves the result to a file. + +The parameter is mandatory and may be either the NVMe +character device (ex: /dev/nvme0), or a namespace block device (ex: +/dev/nvme0n1). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +-o :: +--output-file=:: + Output file; defaults to device serial number followed by "drive_log" suffix + + +EXAMPLES +-------- +* Gets the drive log from the device and saves to default file in current directory (e.g. STM00019F3F9drive_log.bin): ++ +------------ +# nvme wdc drive-log /dev/nvme0 +------------ +* Gets the drive log from the device and saves to defined file in current directory (e.g. testSTM00019F3F9drive_log.bin): ++ +------------ +# nvme wdc drive-log /dev/nvme0 -o test +------------ +* Gets the drive log from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9drive_log.bin): ++ +------------ +# nvme wdc drive-log /dev/nvme0 -o /tmp/test +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-wdc-get-crash-dump.1 b/Documentation/nvme-wdc-get-crash-dump.1 new file mode 100644 index 00000000..0de08bc1 --- /dev/null +++ b/Documentation/nvme-wdc-get-crash-dump.1 @@ -0,0 +1,116 @@ +'\" t +.\" Title: nvme-wdc-get-crash-dump +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 02/28/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-GET\-CRAS" "1" "02/28/2017" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-wdc-get-crash-dump \- Retrieve WDC device\*(Aqs crash dump\&. +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc get\-crash\-dump\fR [\-\-output\-file=, \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends the WDC vendor unique crash dump request and saves the result to file\&. In current implementation crash dump is captured if it is present\&. On success it will save the dump in file with appropriate suffix\&. Note that this command will clear the available dump from the device on success\&. +.sp +The parameter is mandatory NVMe character device (ex: /dev/nvme0)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.SH "OPTIONS" +.PP +\-o , \-\-output\-file= +.RS 4 +Output file; defaults to device serial number followed by "crash_dump" suffix +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the crash dump from the device and saves to default file in current directory (e\&.g\&. STM00019F3F9crash_dump\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc get\-crash\-dump /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the crash dump from the device and saves to defined file in current directory (e\&.g\&. testSTM00019F3F9crash_dump\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc get\-crash\-dump /dev/nvme0 \-o test +.fi +.if n \{\ +.RE +.\} +.RE +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Gets the crash dump from the device and saves to defined file with pathname (e\&.g\&. /tmp/testSTM00019F3F9crash_dump\&.bin): +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc get\-crash\-dump /dev/nvme0 \-o /tmp/test +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-wdc-get-crash-dump.html b/Documentation/nvme-wdc-get-crash-dump.html new file mode 100644 index 00000000..c2ab0658 --- /dev/null +++ b/Documentation/nvme-wdc-get-crash-dump.html @@ -0,0 +1,835 @@ + + + + + +nvme-wdc-get-crash-dump(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc get-crash-dump <device> [--output-file=<FILE>, -o <FILE>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends the WDC vendor unique crash dump +request and saves the result to file. In current implementation crash dump is +captured if it is present. On success it will save the dump in file with +appropriate suffix. Note that this command will clear the available +dump from the device on success.

+

The <device> parameter is mandatory NVMe character device (ex: /dev/nvme0).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+
+
+
+

OPTIONS

+
+
+
+-o <FILE> +
+
+--output-file=<FILE> +
+
+

+ Output file; defaults to device serial number followed by "crash_dump" suffix +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Gets the crash dump from the device and saves to default file in current directory (e.g. STM00019F3F9crash_dump.bin): +

    +
    +
    +
    # nvme wdc get-crash-dump /dev/nvme0
    +
    +
  • +
  • +

    +Gets the crash dump from the device and saves to defined file in current directory (e.g. testSTM00019F3F9crash_dump.bin): +

    +
    +
    +
    # nvme wdc get-crash-dump /dev/nvme0 -o test
    +
    +
  • +
  • +

    +Gets the crash dump from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9crash_dump.bin): +

    +
    +
    +
    # nvme wdc get-crash-dump /dev/nvme0 -o /tmp/test
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-get-crash-dump.txt b/Documentation/nvme-wdc-get-crash-dump.txt new file mode 100644 index 00000000..109daca4 --- /dev/null +++ b/Documentation/nvme-wdc-get-crash-dump.txt @@ -0,0 +1,52 @@ +nvme-wdc-get-crash-dump(1) +========================== + +NAME +---- +nvme-wdc-get-crash-dump - Retrieve WDC device's crash dump. + +SYNOPSIS +-------- +[verse] +'nvme wdc get-crash-dump' [--output-file=, -o ] + +DESCRIPTION +----------- +For the NVMe device given, sends the WDC vendor unique crash dump +request and saves the result to file. In current implementation crash dump is +captured if it is present. On success it will save the dump in file with +appropriate suffix. Note that this command will clear the available +dump from the device on success. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +-o :: +--output-file=:: + Output file; defaults to device serial number followed by "crash_dump" suffix + +EXAMPLES +-------- +* Gets the crash dump from the device and saves to default file in current directory (e.g. STM00019F3F9crash_dump.bin): ++ +------------ +# nvme wdc get-crash-dump /dev/nvme0 +------------ +* Gets the crash dump from the device and saves to defined file in current directory (e.g. testSTM00019F3F9crash_dump.bin): ++ +------------ +# nvme wdc get-crash-dump /dev/nvme0 -o test +------------ +* Gets the crash dump from the device and saves to defined file with pathname (e.g. /tmp/testSTM00019F3F9crash_dump.bin): ++ +------------ +# nvme wdc get-crash-dump /dev/nvme0 -o /tmp/test +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-wdc-id-ctrl.1 b/Documentation/nvme-wdc-id-ctrl.1 new file mode 100644 index 00000000..6e4a7b75 --- /dev/null +++ b/Documentation/nvme-wdc-id-ctrl.1 @@ -0,0 +1,97 @@ +'\" t +.\" Title: nvme-wdc-id-ctrl +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 02/28/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-ID\-CTRL" "1" "02/28/2017" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-wdc-id-ctrl \- Send NVMe Identify Controller, return result and structure +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc id\-ctrl\fR [\-v | \-\-vendor\-specific] [\-b | \-\-raw\-binary] + [\-o | \-\-output\-format=] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends an identify controller command and provides the result and returned structure\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.sp +On success, the structure may be returned in one of several ways depending on the option flags; the structure may be parsed by the program or the raw buffer may be printed to stdout\&. +.sp +If having the program decode the output for readability, this version will decode WDC vendor unique portions of the structure\&. +.SH "OPTIONS" +.PP +\-b, \-\-raw\-binary +.RS 4 +Print the raw buffer to stdout\&. Structure is not parsed by program\&. This overrides the vendor specific and human readable options\&. +.RE +.PP +\-v, \-\-vendor\-specific +.RS 4 +In addition to parsing known fields, this option will dump the vendor specific region of the structure in hex with ascii interpretation\&. +.RE +.PP +\-H, \-\-human\-readable +.RS 4 +This option will parse and format many of the bit fields into human\-readable formats\&. +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fInormal\fR, +\fIjson\fR, or +\fIbinary\fR\&. Only one output format can be used at a time\&. +.RE +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program interpret the returned buffer and display the known fields in a human readable format: +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc id\-ctrl /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite diff --git a/Documentation/nvme-wdc-id-ctrl.html b/Documentation/nvme-wdc-id-ctrl.html new file mode 100644 index 00000000..fe68d69b --- /dev/null +++ b/Documentation/nvme-wdc-id-ctrl.html @@ -0,0 +1,860 @@ + + + + + +nvme-wdc-id-ctrl(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc id-ctrl <device> [-v | --vendor-specific] [-b | --raw-binary]
+                        [-o <fmt> | --output-format=<fmt>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends an identify controller command and +provides the result and returned structure.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+

On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout.

+

If having the program decode the output for readability, this version +will decode WDC vendor unique portions of the structure.

+
+
+
+

OPTIONS

+
+
+
+-b +
+
+--raw-binary +
+
+

+ Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. +

+
+
+-v +
+
+--vendor-specific +
+
+

+ In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. +

+
+
+-H +
+
+--human-readable +
+
+

+ This option will parse and format many of the bit fields + into human-readable formats. +

+
+
+-o <format> +
+
+--output-format=<format> +
+
+

+ Set the reporting format to normal, json, or + binary. Only one output format can be used at a time. +

+
+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program interpret the returned buffer and display the known +fields in a human readable format: +

    +
    +
    +
    # nvme wdc id-ctrl /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-id-ctrl.txt b/Documentation/nvme-wdc-id-ctrl.txt new file mode 100644 index 00000000..d0bbc134 --- /dev/null +++ b/Documentation/nvme-wdc-id-ctrl.txt @@ -0,0 +1,66 @@ +nvme-wdc-id-ctrl(1) +===================== + +NAME +---- +nvme-wdc-id-ctrl - Send NVMe Identify Controller, return result and structure + +SYNOPSIS +-------- +[verse] +'nvme wdc id-ctrl' [-v | --vendor-specific] [-b | --raw-binary] + [-o | --output-format=] + +DESCRIPTION +----------- +For the NVMe device given, sends an identify controller command and +provides the result and returned structure. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +On success, the structure may be returned in one of several ways depending +on the option flags; the structure may be parsed by the program or the +raw buffer may be printed to stdout. + +If having the program decode the output for readability, this version +will decode WDC vendor unique portions of the structure. + +OPTIONS +------- +-b:: +--raw-binary:: + Print the raw buffer to stdout. Structure is not parsed by + program. This overrides the vendor specific and human readable options. + +-v:: +--vendor-specific:: + In addition to parsing known fields, this option will dump + the vendor specific region of the structure in hex with ascii + interpretation. + +-H:: +--human-readable:: + This option will parse and format many of the bit fields + into human-readable formats. + +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or + 'binary'. Only one output format can be used at a time. + +EXAMPLES +-------- +* Has the program interpret the returned buffer and display the known +fields in a human readable format: ++ +------------ +# nvme wdc id-ctrl /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-wdc-purge-monitor.1 b/Documentation/nvme-wdc-purge-monitor.1 new file mode 100644 index 00000000..bc6e4644 --- /dev/null +++ b/Documentation/nvme-wdc-purge-monitor.1 @@ -0,0 +1,126 @@ +'\" t +.\" Title: nvme-wdc-purge-monitor +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 02/28/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-PURGE\-MO" "1" "02/28/2017" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-wdc-purge-monitor \- Send NVMe WDC Purge\-Monitor Vendor Unique Command, return result +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc purge\-monitor\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send a Vendor Unique WDC Purge\-Monitor command and provide the status of the purge command\&. +.sp +Expected status and description :\- +.TS +allbox tab(:); +ltB ltB. +T{ +Status Code +T}:T{ +Description +T} +.T& +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +0x00 +T}:T{ +.sp +Purge State Idle\&. +T} +T{ +.sp +0x01 +T}:T{ +.sp +Purge State Done\&. +T} +T{ +.sp +0x02 +T}:T{ +.sp +Purge State Busy\&. +T} +T{ +.sp +0x03 +T}:T{ +.sp +Purge State Error : Purge operation resulted in error, power cycle required\&. +T} +T{ +.sp +0x04 +T}:T{ +.sp +Purge State Error : Purge operation interrupted by power cycle or reset\&. +T} +.TE +.sp 1 +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.sp +No options yet\&. +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue WDC Purge\-Monitor Vendor Unique Command : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc purge\-monitor /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-purge-monitor.html b/Documentation/nvme-wdc-purge-monitor.html new file mode 100644 index 00000000..c8ef8ea3 --- /dev/null +++ b/Documentation/nvme-wdc-purge-monitor.html @@ -0,0 +1,842 @@ + + + + + +nvme-wdc-purge-monitor(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc purge-monitor <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send a Vendor Unique WDC Purge-Monitor command and +provide the status of the purge command.

+

Expected status and description :-

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status Code Description

0x00

Purge State Idle.

0x01

Purge State Done.

0x02

Purge State Busy.

0x03

Purge State Error : Purge operation resulted in error, power cycle required.

0x04

Purge State Error : Purge operation interrupted by power cycle or reset.

+
+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+

No options yet.

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue WDC Purge-Monitor Vendor Unique Command : +

    +
    +
    +
    # nvme wdc purge-monitor /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-purge-monitor.txt b/Documentation/nvme-wdc-purge-monitor.txt new file mode 100644 index 00000000..df54c620 --- /dev/null +++ b/Documentation/nvme-wdc-purge-monitor.txt @@ -0,0 +1,63 @@ +nvme-wdc-purge-monitor(1) +========================== + +NAME +---- +nvme-wdc-purge-monitor - Send NVMe WDC Purge-Monitor Vendor Unique Command, return result + +SYNOPSIS +-------- +[verse] +'nvme wdc purge-monitor' + +DESCRIPTION +----------- +For the NVMe device given, send a Vendor Unique WDC Purge-Monitor command and +provide the status of the purge command. + +Expected status and description :- + +[cols="2*", options="header"] +|=== +|Status Code |Description + +|0x00 +|Purge State Idle. + +|0x01 +|Purge State Done. + +|0x02 +|Purge State Busy. + +|0x03 +|Purge State Error : Purge operation resulted in error, power cycle required. + +|0x04 +|Purge State Error : Purge operation interrupted by power cycle or reset. +|=== + + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +No options yet. + +EXAMPLES +-------- +* Has the program issue WDC Purge-Monitor Vendor Unique Command : ++ +------------ +# nvme wdc purge-monitor /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-wdc-purge.1 b/Documentation/nvme-wdc-purge.1 new file mode 100644 index 00000000..91c461ef --- /dev/null +++ b/Documentation/nvme-wdc-purge.1 @@ -0,0 +1,73 @@ +'\" t +.\" Title: nvme-wdc-purge +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 02/28/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-PURGE" "1" "02/28/2017" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-wdc-purge \- Send NVMe WDC Purge Vendor Unique Command, return result +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc purge\fR +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, sends a Vendor Unique WDC Purge command and provides the result\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.sp +No options yet\&. +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue WDC Purge Vendor Unique Command : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc purge /dev/nvme0n1 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-purge.html b/Documentation/nvme-wdc-purge.html new file mode 100644 index 00000000..03935656 --- /dev/null +++ b/Documentation/nvme-wdc-purge.html @@ -0,0 +1,804 @@ + + + + + +nvme-wdc-purge(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc purge <device>
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, sends a Vendor Unique WDC Purge command and +provides the result.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+

No options yet.

+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue WDC Purge Vendor Unique Command : +

    +
    +
    +
    # nvme wdc purge /dev/nvme0n1
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-purge.txt b/Documentation/nvme-wdc-purge.txt new file mode 100644 index 00000000..3449c343 --- /dev/null +++ b/Documentation/nvme-wdc-purge.txt @@ -0,0 +1,40 @@ +nvme-wdc-purge(1) +================== + +NAME +---- +nvme-wdc-purge - Send NVMe WDC Purge Vendor Unique Command, return result + +SYNOPSIS +-------- +[verse] +'nvme wdc purge' + +DESCRIPTION +----------- +For the NVMe device given, sends a Vendor Unique WDC Purge command and +provides the result. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +No options yet. + +EXAMPLES +-------- +* Has the program issue WDC Purge Vendor Unique Command : ++ +------------ +# nvme wdc purge /dev/nvme0n1 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-wdc-smart-log-add.1 b/Documentation/nvme-wdc-smart-log-add.1 new file mode 100644 index 00000000..23b6217a --- /dev/null +++ b/Documentation/nvme-wdc-smart-log-add.1 @@ -0,0 +1,348 @@ +'\" t +.\" Title: nvme-wdc-smart-log-add +.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] +.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Date: 02/28/2017 +.\" Manual: NVMe Manual +.\" Source: NVMe +.\" Language: English +.\" +.TH "NVME\-WDC\-SMART\-LO" "1" "02/28/2017" "NVMe" "NVMe Manual" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +nvme-wdc-smart-log-add \- Send NVMe WDC smart\-log\-add Vendor Unique Command, return result +.SH "SYNOPSIS" +.sp +.nf +\fInvme wdc smart\-log\-add\fR [\-\-interval=, \-i ] [\-\-output\-format= \-o ] +.fi +.SH "DESCRIPTION" +.sp +For the NVMe device given, send a Vendor Unique WDC smart\-log\-add command and provide the additional smart log\&. The \-\-interval option will return performance statistics from the specified reporting interval\&. +.sp +The parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0)\&. +.sp +This will only work on WDC devices supporting this feature\&. Results for any other device are undefined\&. +.sp +On success it returns 0, error code otherwise\&. +.SH "OPTIONS" +.PP +\-i , \-\-interval= +.RS 4 +Return the statistics from specific interval, defaults to 14 +.RE +.PP +\-o , \-\-output\-format= +.RS 4 +Set the reporting format to +\fIhuman\fR, or +\fIjson\fR\&. Only one output format can be used at a time\&. Default is human\&. +.RE +.sp +Valid Interval values and description :\- +.TS +allbox tab(:); +ltB ltB. +T{ +Value +T}:T{ +Description +T} +.T& +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +\fB1\fR +T}:T{ +.sp +Most recent five (5) minute accumulated set\&. +T} +T{ +.sp +\fB2\-12\fR +T}:T{ +.sp +Previous five (5) minute accumulated sets\&. +T} +T{ +.sp +\fB13\fR +T}:T{ +.sp +The accumulated total of sets 1 through 12 that contain the previous hour of accumulated statistics\&. +T} +T{ +.sp +\fB14\fR +T}:T{ +.sp +The statistical set accumulated since power\-up\&. +T} +T{ +.sp +\fB15\fR +T}:T{ +.sp +The statistical set accumulated during the entire lifetime of the device\&. +T} +.TE +.sp 1 +.SH "OUTPUT EXPLANATION" +.TS +allbox tab(:); +ltB ltB. +T{ +Field +T}:T{ +Description +T} +.T& +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt +lt lt. +T{ +.sp +\fBHost Read Commands\fR +T}:T{ +.sp +Number of host read commands received during the reporting period\&. +T} +T{ +.sp +\fBHost Read Blocks\fR +T}:T{ +.sp +Number of 512\-byte blocks requested during the reporting period\&. +T} +T{ +.sp +\fBAverage Read Size\fR +T}:T{ +.sp +Average Read size is calculated using (Host Read Blocks/Host Read Commands)\&. +T} +T{ +.sp +\fBHost Read Cache Hit Commands\fR +T}:T{ +.sp +Number of host read commands that serviced entirely from the on\-board read cache during the reporting period\&. No access to the NAND flash memory was required\&. This count is only updated if the entire command was serviced from the cache memory\&. +T} +T{ +.sp +\fBHost Read Cache Hit Percentage\fR +T}:T{ +.sp +Percentage of host read commands satisfied from the cache\&. +T} +T{ +.sp +\fBHost Read Cache Hit Blocks\fR +T}:T{ +.sp +Number of 512\-byte blocks of data that have been returned for Host Read Cache Hit Commands during the reporting period\&. This count is only updated with the blocks returned for host read commands that were serviced entirely from cache memory\&. +T} +T{ +.sp +\fBAverage Read Cache Hit Size\fR +T}:T{ +.sp +Average size of read commands satisfied from the cache\&. +T} +T{ +.sp +\fBHost Read Commands Stalled\fR +T}:T{ +.sp +Number of host read commands that were stalled due to a lack of resources within the SSD during the reporting period (NAND flash command queue full, low cache page count, cache page contention, etc\&.)\&. Commands are not considered stalled if the only reason for the delay was waiting for the data to be physically read from the NAND flash\&. It is normal to expect this count to equal zero on heavily utilized systems\&. +T} +T{ +.sp +\fBHost Read Commands Stalled Percentage\fR +T}:T{ +.sp +Percentage of read commands that were stalled\&. If the figure is consistently high, then consideration should be given to spreading the data across multiple SSDs\&. +T} +T{ +.sp +\fBHost Write Commands\fR +T}:T{ +.sp +Number of host write commands received during the reporting period\&. +T} +T{ +.sp +\fBHost Write Blocks\fR +T}:T{ +.sp +Number of 512\-byte blocks written during the reporting period\&. +T} +T{ +.sp +\fBAverage Write Size\fR +T}:T{ +.sp +Average Write size calculated using (Host Write Blocks/Host Write Commands)\&. +T} +T{ +.sp +\fBHost Write Odd Start Commands\fR +T}:T{ +.sp +Number of host write commands that started on a non\-aligned boundary during the reporting period\&. The size of the boundary alignment is normally 4K; therefore this returns the number of commands that started on a non\-4K aligned boundary\&. The SSD requires slightly more time to process non\-aligned write commands than it does to process aligned write commands\&. +T} +T{ +.sp +\fBHost Write Odd Start Commands Percentage\fR +T}:T{ +.sp +Percentage of host write commands that started on a non\-aligned boundary\&. If this figure is equal to or near 100%, and the NAND Read Before Write value is also high, then the user should investigate the possibility of offsetting the file system\&. For Microsoft Windows systems, the user can use Diskpart\&. For Unix\-based operating systems, there is normally a method whereby file system partitions can be placed where required\&. +T} +T{ +.sp +\fBHost Write Odd End Commands\fR +T}:T{ +.sp +Number of host write commands that ended on a non\-aligned boundary during the reporting period\&. The size of the boundary alignment is normally 4K; therefore this returns the number of commands that ended on a non\-4K aligned boundary\&. +T} +T{ +.sp +\fBHost Write Odd End Commands Percentage\fR +T}:T{ +.sp +Percentage of host write commands that ended on a non\-aligned boundary\&. +T} +T{ +.sp +\fBHost Write Commands Stalled\fR +T}:T{ +.sp +Number of host write commands that were stalled due to a lack of resources within the SSD during the reporting period\&. The most likely cause is that the write data was being received faster than it could be saved to the NAND flash memory\&. If there was a large volume of read commands being processed simultaneously, then other causes might include the NAND flash command queue being full, low cache page count, or cache page contention, etc\&. It is normal to expect this count to be non\-zero on heavily utilized systems\&. +T} +T{ +.sp +\fBHost Write Commands Stalled Percentage\fR +T}:T{ +.sp +Percentage of write commands that were stalled\&. If the figure is consistently high, then consideration should be given to spreading the data across multiple SSDs\&. +T} +T{ +.sp +\fBNAND Read Commands\fR +T}:T{ +.sp +Number of read commands issued to the NAND devices during the reporting period\&. This figure will normally be much higher than the host read commands figure, as the data needed to satisfy a single host read command may be spread across several NAND flash devices\&. +T} +T{ +.sp +\fBNAND Read Blocks\fR +T}:T{ +.sp +Number of 512\-byte blocks requested from NAND flash devices during the reporting period\&. This figure would normally be about the same as the host read blocks figure +T} +T{ +.sp +\fBAverage NAND Read Size\fR +T}:T{ +.sp +Average size of NAND read commands\&. +T} +T{ +.sp +\fBNAND Write Commands\fR +T}:T{ +.sp +Number of write commands issued to the NAND devices during the reporting period\&. There is no real correlation between the number of host write commands issued and the number of NAND Write Commands\&. +T} +T{ +.sp +\fBNAND Write Blocks\fR +T}:T{ +.sp +Number of 512\-byte blocks written to the NAND flash devices during the reporting period\&. This figure would normally be about the same as the host write blocks figure\&. +T} +T{ +.sp +\fBAverage NAND Write Size\fR +T}:T{ +.sp +Average size of NAND write commands\&. This figure should never be greater than 128K, as this is the maximum size write that is ever issued to a NAND device\&. +T} +T{ +.sp +\fBNAND Read Before Write\fR +T}:T{ +.sp +This is the number of read before write operations that were required to process non\-aligned host write commands during the reporting period\&. See Host Write Odd Start Commands and Host Write Odd End Commands\&. NAND Read Before Write operations have a detrimental effect on the overall performance of the device\&. +T} +.TE +.sp 1 +.SH "EXAMPLES" +.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} +.el \{\ +.sp -1 +.IP \(bu 2.3 +.\} +Has the program issue WDC smart\-log\-add Vendor Unique Command with default interval (14) : +.sp +.if n \{\ +.RS 4 +.\} +.nf +# nvme wdc smart\-log\-add /dev/nvme0 +.fi +.if n \{\ +.RE +.\} +.RE +.SH "NVME" +.sp +Part of the nvme\-user suite\&. diff --git a/Documentation/nvme-wdc-smart-log-add.html b/Documentation/nvme-wdc-smart-log-add.html new file mode 100644 index 00000000..e5790560 --- /dev/null +++ b/Documentation/nvme-wdc-smart-log-add.html @@ -0,0 +1,1028 @@ + + + + + +nvme-wdc-smart-log-add(1) + + + + + +
+
+

SYNOPSIS

+
+
+
nvme wdc smart-log-add <device> [--interval=<NUM>, -i <NUM>] [--output-format=<normal|json> -o <normal|json>]
+
+
+
+
+
+

DESCRIPTION

+
+

For the NVMe device given, send a Vendor Unique WDC smart-log-add command and +provide the additional smart log. The --interval option will return performance +statistics from the specified reporting interval.

+

The <device> parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0).

+

This will only work on WDC devices supporting this feature. +Results for any other device are undefined.

+

On success it returns 0, error code otherwise.

+
+
+
+

OPTIONS

+
+
+
+-i <NUM> +
+
+--interval=<NUM> +
+
+

+ Return the statistics from specific interval, defaults to 14 +

+
+
+-o <format> +
+
+--output-format=<format> +
+
+

+ Set the reporting format to human, or + json. Only one output format can be used at a time. + Default is human. +

+
+
+

Valid Interval values and description :-

+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value Description

1

Most recent five (5) minute accumulated set.

2-12

Previous five (5) minute accumulated sets.

13

The accumulated total of sets 1 through 12 that contain the previous hour of +accumulated statistics.

14

The statistical set accumulated since power-up.

15

The statistical set accumulated during the entire lifetime of the device.

+
+
+
+
+

Output Explanation

+
+
+ +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Field Description

Host Read Commands

Number of host read commands received during the reporting period.

Host Read Blocks

Number of 512-byte blocks requested during the reporting period.

Average Read Size

Average Read size is calculated using (Host Read Blocks/Host Read Commands).

Host Read Cache Hit Commands

Number of host read commands that serviced entirely from the on-board read +cache during the reporting period. No access to the NAND flash memory was required. +This count is only updated if the entire command was serviced from the cache memory.

Host Read Cache Hit Percentage

Percentage of host read commands satisfied from the cache.

Host Read Cache Hit Blocks

Number of 512-byte blocks of data that have been returned for Host Read Cache Hit +Commands during the reporting period. This count is only updated with the blocks +returned for host read commands that were serviced entirely from cache memory.

Average Read Cache Hit Size

Average size of read commands satisfied from the cache.

Host Read Commands Stalled

Number of host read commands that were stalled due to a lack of resources within +the SSD during the reporting period (NAND flash command queue full, low cache page count, +cache page contention, etc.). Commands are not considered stalled if the only reason for +the delay was waiting for the data to be physically read from the NAND flash. It is normal +to expect this count to equal zero on heavily utilized systems.

Host Read Commands Stalled Percentage

Percentage of read commands that were stalled. If the figure is consistently high, +then consideration should be given to spreading the data across multiple SSDs.

Host Write Commands

Number of host write commands received during the reporting period.

Host Write Blocks

Number of 512-byte blocks written during the reporting period.

Average Write Size

Average Write size calculated using (Host Write Blocks/Host Write Commands).

Host Write Odd Start Commands

Number of host write commands that started on a non-aligned boundary during +the reporting period. The size of the boundary alignment is normally 4K; therefore +this returns the number of commands that started on a non-4K aligned boundary. +The SSD requires slightly more time to process non-aligned write commands than it +does to process aligned write commands.

Host Write Odd Start Commands Percentage

Percentage of host write commands that started on a non-aligned boundary. If this +figure is equal to or near 100%, and the NAND Read Before Write value is also high, +then the user should investigate the possibility of offsetting the file system. For +Microsoft Windows systems, the user can use Diskpart. For Unix-based operating systems, +there is normally a method whereby file system partitions can be placed where required.

Host Write Odd End Commands

Number of host write commands that ended on a non-aligned boundary during the +reporting period. The size of the boundary alignment is normally 4K; therefore this +returns the number of commands that ended on a non-4K aligned boundary.

Host Write Odd End Commands Percentage

Percentage of host write commands that ended on a non-aligned boundary.

Host Write Commands Stalled

Number of host write commands that were stalled due to a lack of resources within the +SSD during the reporting period. The most likely cause is that the write data was being +received faster than it could be saved to the NAND flash memory. If there was a large +volume of read commands being processed simultaneously, then other causes might include +the NAND flash command queue being full, low cache page count, or cache page contention, etc. +It is normal to expect this count to be non-zero on heavily utilized systems.

Host Write Commands Stalled Percentage

Percentage of write commands that were stalled. If the figure is consistently high, then +consideration should be given to spreading the data across multiple SSDs.

NAND Read Commands

Number of read commands issued to the NAND devices during the reporting period. +This figure will normally be much higher than the host read commands figure, as the data +needed to satisfy a single host read command may be spread across several NAND flash devices.

NAND Read Blocks

Number of 512-byte blocks requested from NAND flash devices during the reporting period. +This figure would normally be about the same as the host read blocks figure

Average NAND Read Size

Average size of NAND read commands.

NAND Write Commands

Number of write commands issued to the NAND devices during the reporting period. +There is no real correlation between the number of host write commands issued and the +number of NAND Write Commands.

NAND Write Blocks

Number of 512-byte blocks written to the NAND flash devices during the reporting period. +This figure would normally be about the same as the host write blocks figure.

Average NAND Write Size

Average size of NAND write commands. This figure should never be greater than 128K, as +this is the maximum size write that is ever issued to a NAND device.

NAND Read Before Write

This is the number of read before write operations that were required to process +non-aligned host write commands during the reporting period. See Host Write Odd Start +Commands and Host Write Odd End Commands. NAND Read Before Write operations have +a detrimental effect on the overall performance of the device.

+
+
+
+
+

EXAMPLES

+
+
    +
  • +

    +Has the program issue WDC smart-log-add Vendor Unique Command with default interval (14) : +

    +
    +
    +
    # nvme wdc smart-log-add /dev/nvme0
    +
    +
  • +
+
+
+
+

NVME

+
+

Part of the nvme-user suite.

+
+
+
+

+ + + diff --git a/Documentation/nvme-wdc-smart-log-add.txt b/Documentation/nvme-wdc-smart-log-add.txt new file mode 100644 index 00000000..1c924be8 --- /dev/null +++ b/Documentation/nvme-wdc-smart-log-add.txt @@ -0,0 +1,190 @@ +nvme-wdc-smart-log-add(1) +========================= + +NAME +---- +nvme-wdc-smart-log-add - Send NVMe WDC smart-log-add Vendor Unique Command, return result + +SYNOPSIS +-------- +[verse] +'nvme wdc smart-log-add' [--interval=, -i ] [--output-format= -o ] + +DESCRIPTION +----------- +For the NVMe device given, send a Vendor Unique WDC smart-log-add command and +provide the additional smart log. The --interval option will return performance +statistics from the specified reporting interval. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0). + +This will only work on WDC devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-i :: +--interval=:: + Return the statistics from specific interval, defaults to 14 + +-o :: +--output-format=:: + Set the reporting format to 'human', or + 'json'. Only one output format can be used at a time. + Default is human. + +Valid Interval values and description :- + +[cols="2*", frame="topbot", align="center", options="header"] +|=== +|Value |Description + +|*1* +|Most recent five (5) minute accumulated set. + +|*2-12* +|Previous five (5) minute accumulated sets. + +|*13* +|The accumulated total of sets 1 through 12 that contain the previous hour of +accumulated statistics. + +|*14* +|The statistical set accumulated since power-up. + +|*15* +|The statistical set accumulated during the entire lifetime of the device. +|=== + +Output Explanation +------------------ +[cols="2*", frame="topbot", align="center", options="header"] +|=== +|Field |Description + +|*Host Read Commands* +|Number of host read commands received during the reporting period. + +|*Host Read Blocks* +|Number of 512-byte blocks requested during the reporting period. + +|*Average Read Size* +|Average Read size is calculated using (Host Read Blocks/Host Read Commands). + +|*Host Read Cache Hit Commands* +|Number of host read commands that serviced entirely from the on-board read +cache during the reporting period. No access to the NAND flash memory was required. +This count is only updated if the entire command was serviced from the cache memory. + +|*Host Read Cache Hit Percentage* +|Percentage of host read commands satisfied from the cache. + +|*Host Read Cache Hit Blocks* +|Number of 512-byte blocks of data that have been returned for Host Read Cache Hit +Commands during the reporting period. This count is only updated with the blocks +returned for host read commands that were serviced entirely from cache memory. + +|*Average Read Cache Hit Size* +|Average size of read commands satisfied from the cache. + +|*Host Read Commands Stalled* +|Number of host read commands that were stalled due to a lack of resources within +the SSD during the reporting period (NAND flash command queue full, low cache page count, +cache page contention, etc.). Commands are not considered stalled if the only reason for +the delay was waiting for the data to be physically read from the NAND flash. It is normal +to expect this count to equal zero on heavily utilized systems. + +|*Host Read Commands Stalled Percentage* +|Percentage of read commands that were stalled. If the figure is consistently high, +then consideration should be given to spreading the data across multiple SSDs. + +|*Host Write Commands* +|Number of host write commands received during the reporting period. + +|*Host Write Blocks* +|Number of 512-byte blocks written during the reporting period. + +|*Average Write Size* +|Average Write size calculated using (Host Write Blocks/Host Write Commands). + +|*Host Write Odd Start Commands* +|Number of host write commands that started on a non-aligned boundary during +the reporting period. The size of the boundary alignment is normally 4K; therefore +this returns the number of commands that started on a non-4K aligned boundary. +The SSD requires slightly more time to process non-aligned write commands than it +does to process aligned write commands. + +|*Host Write Odd Start Commands Percentage* +|Percentage of host write commands that started on a non-aligned boundary. If this +figure is equal to or near 100%, and the NAND Read Before Write value is also high, +then the user should investigate the possibility of offsetting the file system. For +Microsoft Windows systems, the user can use Diskpart. For Unix-based operating systems, +there is normally a method whereby file system partitions can be placed where required. + +|*Host Write Odd End Commands* +|Number of host write commands that ended on a non-aligned boundary during the +reporting period. The size of the boundary alignment is normally 4K; therefore this +returns the number of commands that ended on a non-4K aligned boundary. + +|*Host Write Odd End Commands Percentage* +|Percentage of host write commands that ended on a non-aligned boundary. + +|*Host Write Commands Stalled* +|Number of host write commands that were stalled due to a lack of resources within the +SSD during the reporting period. The most likely cause is that the write data was being +received faster than it could be saved to the NAND flash memory. If there was a large +volume of read commands being processed simultaneously, then other causes might include +the NAND flash command queue being full, low cache page count, or cache page contention, etc. +It is normal to expect this count to be non-zero on heavily utilized systems. + +|*Host Write Commands Stalled Percentage* +|Percentage of write commands that were stalled. If the figure is consistently high, then +consideration should be given to spreading the data across multiple SSDs. + +|*NAND Read Commands* +|Number of read commands issued to the NAND devices during the reporting period. +This figure will normally be much higher than the host read commands figure, as the data +needed to satisfy a single host read command may be spread across several NAND flash devices. + +|*NAND Read Blocks* +|Number of 512-byte blocks requested from NAND flash devices during the reporting period. +This figure would normally be about the same as the host read blocks figure + +|*Average NAND Read Size* +|Average size of NAND read commands. + +|*NAND Write Commands* +|Number of write commands issued to the NAND devices during the reporting period. +There is no real correlation between the number of host write commands issued and the +number of NAND Write Commands. + +|*NAND Write Blocks* +|Number of 512-byte blocks written to the NAND flash devices during the reporting period. +This figure would normally be about the same as the host write blocks figure. + +|*Average NAND Write Size* +|Average size of NAND write commands. This figure should never be greater than 128K, as +this is the maximum size write that is ever issued to a NAND device. + +|*NAND Read Before Write* +|This is the number of read before write operations that were required to process +non-aligned host write commands during the reporting period. See Host Write Odd Start +Commands and Host Write Odd End Commands. NAND Read Before Write operations have +a detrimental effect on the overall performance of the device. +|=== + + +EXAMPLES +-------- +* Has the program issue WDC smart-log-add Vendor Unique Command with default interval (14) : ++ +------------ +# nvme wdc smart-log-add /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite.