From d60c082f6396122500c84ace5961bdec01c67205 Mon Sep 17 00:00:00 2001 From: jeff-lien-wdc Date: Thu, 13 Feb 2025 14:25:33 -0600 Subject: [PATCH] sndk: Add documentation for Sandisk plugin commands Add documentation files for new Sandisk plugin commands. Signed-off-by: jeff-lien-wdc --- Documentation/cmd-plugins.txt | 81 ++++++++++++ Documentation/meson.build | 27 ++++ Documentation/nvme-sndk-capabilities.txt | 32 +++++ Documentation/nvme-sndk-clear-assert-dump.txt | 38 ++++++ .../nvme-sndk-clear-fw-activate-history.txt | 37 ++++++ ...vme-sndk-clear-pcie-correctable-errors.txt | 39 ++++++ .../nvme-sndk-cloud-SSD-plugin-version.txt | 33 +++++ .../nvme-sndk-cloud-boot-SSD-version.txt | 33 +++++ Documentation/nvme-sndk-drive-resize.txt | 42 +++++++ .../nvme-sndk-get-dev-capabilities-log.txt | 47 +++++++ Documentation/nvme-sndk-get-drive-status.txt | 60 +++++++++ .../nvme-sndk-get-error-recovery-log.txt | 48 +++++++ .../nvme-sndk-get-latency-monitor-log.txt | 42 +++++++ .../nvme-sndk-get-unsupported-reqs-log.txt | 48 +++++++ .../nvme-sndk-log-page-directory.txt | 43 +++++++ Documentation/nvme-sndk-namespace-resize.txt | 56 +++++++++ .../nvme-sndk-set-latency-monitor-feature.txt | 118 +++++++++++++++++ Documentation/nvme-sndk-vs-cloud-log.txt | 52 ++++++++ Documentation/nvme-sndk-vs-device-waf.txt | 53 ++++++++ Documentation/nvme-sndk-vs-drive-info.txt | 47 +++++++ .../nvme-sndk-vs-error-reason-identifier.txt | 56 +++++++++ .../nvme-sndk-vs-fw-activate-history.txt | 75 +++++++++++ Documentation/nvme-sndk-vs-hw-rev-log.txt | 51 ++++++++ Documentation/nvme-sndk-vs-internal-log.txt | 119 ++++++++++++++++++ Documentation/nvme-sndk-vs-nand-stats.txt | 45 +++++++ Documentation/nvme-sndk-vs-pcie-stats.txt | 45 +++++++ Documentation/nvme-sndk-vs-smart-add-log.txt | 107 ++++++++++++++++ ...me-sndk-vs-telemetry-controller-option.txt | 65 ++++++++++ .../nvme-sndk-vs-temperature-stats.txt | 78 ++++++++++++ plugins/sandisk/sandisk-nvme.h | 2 +- 30 files changed, 1618 insertions(+), 1 deletion(-) create mode 100644 Documentation/nvme-sndk-capabilities.txt create mode 100644 Documentation/nvme-sndk-clear-assert-dump.txt create mode 100644 Documentation/nvme-sndk-clear-fw-activate-history.txt create mode 100644 Documentation/nvme-sndk-clear-pcie-correctable-errors.txt create mode 100644 Documentation/nvme-sndk-cloud-SSD-plugin-version.txt create mode 100644 Documentation/nvme-sndk-cloud-boot-SSD-version.txt create mode 100644 Documentation/nvme-sndk-drive-resize.txt create mode 100644 Documentation/nvme-sndk-get-dev-capabilities-log.txt create mode 100644 Documentation/nvme-sndk-get-drive-status.txt create mode 100644 Documentation/nvme-sndk-get-error-recovery-log.txt create mode 100644 Documentation/nvme-sndk-get-latency-monitor-log.txt create mode 100644 Documentation/nvme-sndk-get-unsupported-reqs-log.txt create mode 100644 Documentation/nvme-sndk-log-page-directory.txt create mode 100644 Documentation/nvme-sndk-namespace-resize.txt create mode 100644 Documentation/nvme-sndk-set-latency-monitor-feature.txt create mode 100644 Documentation/nvme-sndk-vs-cloud-log.txt create mode 100644 Documentation/nvme-sndk-vs-device-waf.txt create mode 100644 Documentation/nvme-sndk-vs-drive-info.txt create mode 100644 Documentation/nvme-sndk-vs-error-reason-identifier.txt create mode 100644 Documentation/nvme-sndk-vs-fw-activate-history.txt create mode 100644 Documentation/nvme-sndk-vs-hw-rev-log.txt create mode 100644 Documentation/nvme-sndk-vs-internal-log.txt create mode 100644 Documentation/nvme-sndk-vs-nand-stats.txt create mode 100644 Documentation/nvme-sndk-vs-pcie-stats.txt create mode 100644 Documentation/nvme-sndk-vs-smart-add-log.txt create mode 100644 Documentation/nvme-sndk-vs-telemetry-controller-option.txt create mode 100644 Documentation/nvme-sndk-vs-temperature-stats.txt diff --git a/Documentation/cmd-plugins.txt b/Documentation/cmd-plugins.txt index 55f9c98e..3965876a 100644 --- a/Documentation/cmd-plugins.txt +++ b/Documentation/cmd-plugins.txt @@ -55,6 +55,87 @@ linknvme:nvme-netapp-ontapdevices[1]:: linknvme:nvme-netapp-smdevices[1]:: Display information for each NVMe path to an E-Series volume +linknvme:nvme-sndk-capabilities[1]:: + Display Sandisk plugin command capabilities + +linknvme:nvme-sndk-clear-assert-dump[1]:: + Clears the assert dump (if present) + +linknvme:nvme-sndk-clear-fw-activate-history[1]:: + Clears the firmware activate history table + +linknvme:nvme-sndk-clear-pcie-correctable-errors[1]:: + Clears the pcie correctable errors returned in the smart-log-add command + +linknvme:nvme-sndk-cloud-SSD-plugin-version[1]:: + Display Sandisk plugin Cloud SSD Plugin Version + +linknvme:nvme-sndk-cloud-boot-SSD-version[1]:: + Display Sandisk Cloud Boot SSD Version + +linknvme:nvme-sndk-drive-resize[1]:: + Send NVMe Sandisk Resize Vendor Unique Command + +linknvme:nvme-sndk-get-drive-status[1]:: + Send the NVMe Sandisk get-drive-status command + +linknvme:nvme-sndk-get-dev-capabilities-log[1]:: + Display device capabilities og page data in human readable format + +linknvme:nvme-sndk-get-error-recovery-log[1]:: + Display error recovery log page data in human readable format + +linknvme:nvme-sndk-get-latency-monitor-log[1]:: + Display latency monitor log page data in human readable format + +linknvme:nvme-sndk-get-unsupported-reqs-log[1]:: + Display unsupported requirements log page data in human readable format + +linknvme:nvme-sndk-log-page-directory[1]:: + Retrieves the list of Log IDs supported by the drive + +linknvme:nvme-sndk-namespace-resize[1]:: + Resizes the device's namespace + +linknvme:nvme-sndk-set-latency-monitor-feature[1]:: + Set Latency Monitor feature + +linknvme:nvme-sndk-vs-cloud-log[1]:: + Display the cloud log page + +linknvme:nvme-sndk-vs-device-waf[1]:: + Display calculated device Write Amplication Factor + +linknvme:nvme-sndk-vs-drive-info[1]:: + Send the NVMe Sandisk vs-drive-info command + +linknvme:nvme-sndk-vs-error-reason-identifier[1]:: + Retrieve Sandisk device's telemetry log error reason identifier field + +linknvme:nvme-sndk-vs-fw-activate-history[1]:: + Execute NVMe Sandisk vs-fw-activate-history Vendor Unique Command + +linknvme:nvme-sndk-vs-hw-rev-log[1]:: + Display hardware revision log page + +linknvme:nvme-sndk-vs-internal-log[1]:: + Retrieve Sandisk device's internal firmware log and save to file + +linknvme:nvme-sndk-vs-nand-stats[1]:: + Send NVMe Sandisk vs-nand-stats Vendor Unique Command + +linknvme:nvme-sndk-vs-pcie-stats[1]:: + Send the NVMe Sandisk vs-pcie-stats command + +linknvme:nvme-sndk-vs-smart-add-log[1]:: + Send NVMe Sandisk smart add log Vendor Unique Command + +linknvme:nvme-sndk-vs-telemetry-controller-option[1]:: + Disable/Enable the controller initiated option of the telemetry log page + +linknvme:nvme-sndk-vs-temperature-stats[1]:: + Display temperature-related statistics + linknvme:nvme-toshiba-clear-pcie-correctable-errors[1]:: Reset the PCIe correctable errors count to zero diff --git a/Documentation/meson.build b/Documentation/meson.build index 50b1b701..c5ad5a23 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -144,6 +144,33 @@ adoc_sources = [ 'nvme-show-regs', 'nvme-show-topology', 'nvme-smart-log', + 'nvme-sndk-capabilities', + 'nvme-sndk-clear-assert-dump', + 'nvme-sndk-clear-fw-activate-history', + 'nvme-sndk-clear-pcie-correctable-errors', + 'nvme-sndk-cloud-SSD-plugin-version', + 'nvme-sndk-cloud-boot-SSD-version', + 'nvme-sndk-drive-resize', + 'nvme-sndk-get-drive-status', + 'nvme-sndk-get-dev-capabilities-log', + 'nvme-sndk-get-error-recovery-log', + 'nvme-sndk-get-latency-monitor-log', + 'nvme-sndk-get-unsupported-reqs-log', + 'nvme-sndk-log-page-directory', + 'nvme-sndk-namespace-resize', + 'nvme-sndk-set-latency-monitor-feature', + 'nvme-sndk-vs-cloud-log', + 'nvme-sndk-vs-device-waf', + 'nvme-sndk-vs-drive-info', + 'nvme-sndk-vs-error-reason-identifier', + 'nvme-sndk-vs-fw-activate-history', + 'nvme-sndk-vs-hw-rev-log', + 'nvme-sndk-vs-internal-log', + 'nvme-sndk-vs-nand-stats', + 'nvme-sndk-vs-pcie-stats', + 'nvme-sndk-vs-smart-add-log', + 'nvme-sndk-vs-telemetry-controller-option', + 'nvme-sndk-vs-temperature-stats', 'nvme-solidigm-clear-fw-activate-history', 'nvme-solidigm-clear-pcie-correctable-errors', 'nvme-solidigm-cloud-SSDplugin-version', diff --git a/Documentation/nvme-sndk-capabilities.txt b/Documentation/nvme-sndk-capabilities.txt new file mode 100644 index 00000000..00fc2ada --- /dev/null +++ b/Documentation/nvme-sndk-capabilities.txt @@ -0,0 +1,32 @@ +nvme-sndk-capabilities(1) +========================= + +NAME +---- +nvme-sndk-capabilities - Display sndk device command capabilities + +SYNOPSIS +-------- +[verse] +'nvme sndk capabilities' + +DESCRIPTION +----------- + +For the NVMe device given, displays list of commands and support status. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success it returns 0, error code otherwise. + +EXAMPLES +-------- +* Displays the capabilities for the device: ++ +------------ +# nvme sndk capabilities /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-clear-assert-dump.txt b/Documentation/nvme-sndk-clear-assert-dump.txt new file mode 100644 index 00000000..9a6d4d06 --- /dev/null +++ b/Documentation/nvme-sndk-clear-assert-dump.txt @@ -0,0 +1,38 @@ +nvme-sndk-clear-assert-dump(1) +============================== + +NAME +---- +nvme-sndk-clear-assert-dump - Clears the assert dump (if present). + +SYNOPSIS +-------- +[verse] +'nvme sndk clear-assert-dump' + +DESCRIPTION +----------- +For the NVMe device given, sends the sndk vendor unique clear assert +dump command. + +The parameter is mandatory and must be the NVMe character +device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this feature. +The command will not be executed on devices that don't support it. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Clears the assert dump (if present): ++ +------------ +# nvme sndk clear-assert-dump /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-sndk-clear-fw-activate-history.txt b/Documentation/nvme-sndk-clear-fw-activate-history.txt new file mode 100644 index 00000000..7a447d9f --- /dev/null +++ b/Documentation/nvme-sndk-clear-fw-activate-history.txt @@ -0,0 +1,37 @@ +nvme-sndk-clear-fw-activate-history(1) +====================================== + +NAME +---- +nvme-sndk-clear-fw-activate-history - Clears the firmware activate history table. + +SYNOPSIS +-------- +[verse] +'nvme sndk clear-fw-activate-history' + +DESCRIPTION +----------- +For the NVMe device given, sends the sndk vendor unique clear fw activate +history command. + +The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Clears the firmware activate history table: ++ +------------ +# nvme sndk clear-fw-activate-history /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-sndk-clear-pcie-correctable-errors.txt b/Documentation/nvme-sndk-clear-pcie-correctable-errors.txt new file mode 100644 index 00000000..28184857 --- /dev/null +++ b/Documentation/nvme-sndk-clear-pcie-correctable-errors.txt @@ -0,0 +1,39 @@ +nvme-sndk-clear-pcie-correctable-errors(1) +========================================== + +NAME +---- +nvme-sndk-clear-pcie-correctable-errors - Clears the pcie correctable errors field returned in the smart-log-add command. + +SYNOPSIS +-------- +[verse] +'nvme sndk clear-pcie-correctable-errors' + +DESCRIPTION +----------- +For the NVMe device given, sends the sndk vendor unique clear pcie +correctable errors command. + +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 Sandisk devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +None + +EXAMPLES +-------- +* Clears the PCIe Correctable Error Count field returned in the smart-log-add command: ++ +------------ +# nvme sndk clear-pcie-correctable-errors /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite diff --git a/Documentation/nvme-sndk-cloud-SSD-plugin-version.txt b/Documentation/nvme-sndk-cloud-SSD-plugin-version.txt new file mode 100644 index 00000000..380d7bc1 --- /dev/null +++ b/Documentation/nvme-sndk-cloud-SSD-plugin-version.txt @@ -0,0 +1,33 @@ +nvme-sndk-cloud-SSD-plugin-version(1) +===================================== + +NAME +---- +nvme-sndk-cloud-SSD-plugin-version - Display sndk plugin Cloud SSD Plugin Version + +SYNOPSIS +-------- +[verse] +'nvme sndk cloud-SSD-plugin-version' + +DESCRIPTION +----------- + +For the NVMe device given, this command displays the current Cloud SSD +Plugin Version (if supported by the device). + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success it returns 0, error code otherwise. + +EXAMPLES +-------- +* Displays the cloud ssd plugin version for the device: ++ +------------ +# nvme sndk cloud-SSD-plugin-version /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-cloud-boot-SSD-version.txt b/Documentation/nvme-sndk-cloud-boot-SSD-version.txt new file mode 100644 index 00000000..88597358 --- /dev/null +++ b/Documentation/nvme-sndk-cloud-boot-SSD-version.txt @@ -0,0 +1,33 @@ +nvme-sndk-cloud-boot-SSD-version(1) +=================================== + +NAME +---- +nvme-sndk-cloud-boot-SSD-version - Display sndk plugin Cloud Boot SSD Version + +SYNOPSIS +-------- +[verse] +'nvme sndk cloud-boot-SSD-version' + +DESCRIPTION +----------- + +For the NVMe device given, this command displays the current Cloud Hyperscale +Boot Version (if supported by the device). + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +On success it returns 0, error code otherwise. + +EXAMPLES +-------- +* Displays the cloud boot ssd version for the device: ++ +------------ +# nvme sndk cloud-boot-SSD-version /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-drive-resize.txt b/Documentation/nvme-sndk-drive-resize.txt new file mode 100644 index 00000000..14853380 --- /dev/null +++ b/Documentation/nvme-sndk-drive-resize.txt @@ -0,0 +1,42 @@ +nvme-sndk-drive-resize(1) +========================= + +NAME +---- +nvme-sndk-drive-resize - Send NVMe sndk Resize Vendor Unique Command, +return result. + +SYNOPSIS +-------- +[verse] +'nvme sndk drive-resize' [--size= | -s ] + +DESCRIPTION +----------- +For the NVMe device given, sends a Vendor Unique sndk Resize command. + +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 Sandisk devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-s :: +--size=:: + The new size (in GB) to resize the drive to. + +EXAMPLES +-------- +* Has the program issue sndk Resize Vendor Unique Command : ++ +------------ +# nvme sndk drive-resize /dev/nvme0n1 --size=100 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-get-dev-capabilities-log.txt b/Documentation/nvme-sndk-get-dev-capabilities-log.txt new file mode 100644 index 00000000..c0a8cdd6 --- /dev/null +++ b/Documentation/nvme-sndk-get-dev-capabilities-log.txt @@ -0,0 +1,47 @@ +nvme-sndk-get-dev-capabilities-log(1) +===================================== + +NAME +---- +nvme-sndk-get-dev-capabilities-log - Send NVMe sndk get-dev-capabilities-log +plugin command, return parsed log output + +SYNOPSIS +-------- +[verse] +'nvme sndk get-dev-capabilities-log' [--output-format= | -o ] + +DESCRIPTION +----------- +For the NVMe device given, send a sndk plugin get-dev-capabilities-log command +and output the device capabilities log data. The --output-format option will +format the output as specified. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this log page. +Results for any other device are undefined. + +On success it returns the parsed device capabilities log page data, error +code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', or + 'json'. Only one output format can be used at a time. + Default is normal. + +EXAMPLES +-------- +* Has the program issue sndk get-dev-capabilities-log plugin command : ++ +------------ +# nvme sndk get-dev-capabilities-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-get-drive-status.txt b/Documentation/nvme-sndk-get-drive-status.txt new file mode 100644 index 00000000..b6dee805 --- /dev/null +++ b/Documentation/nvme-sndk-get-drive-status.txt @@ -0,0 +1,60 @@ +nvme-sndk-get-drive-status(1) +============================= + +NAME +---- +nvme-sndk-get-drive-status - Send the NVMe sndk get-drive-status command, return +result + +SYNOPSIS +-------- +[verse] +'nvme sndk get-drive-status' + +DESCRIPTION +----------- +For the NVMe device given, send the unique sndk get-drive-status command and +provide the additional drive status information. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +Output Explanation +------------------ +[cols="2*", frame="topbot", align="center", options="header"] +|=== +|Field |Description + +|*Percent Life Used.* +|The percentage of drive function used. + +|*EOL (End of Life) Status* +|The 3 possible states are : Normal, Read Only, or End of Life. + +|*Assert Dump Status* +|The 2 possible states are : Present or Not Present. + +|*Thermal Throttling Status* +|The 3 possible states are : Off, On, or Unavailable. + +|*Format Corrupt Reason* +|The 3 possible states are : Not Corrupted, Corrupt due to FW Assert, or Corrupt for Unknown Reason. + +|=== + +EXAMPLES +-------- +* Has the program issue sndk get-drive-status command : ++ +------------ +# nvme sndk get-drive-status /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-get-error-recovery-log.txt b/Documentation/nvme-sndk-get-error-recovery-log.txt new file mode 100644 index 00000000..7e027d36 --- /dev/null +++ b/Documentation/nvme-sndk-get-error-recovery-log.txt @@ -0,0 +1,48 @@ +nvme-sndk-get-error-recovery-log(1) +=================================== + +NAME +---- +nvme-sndk-get-error-recovery-log - Send NVMe sndk get-error-recovery-log plugin +command, return parsed log output. + +SYNOPSIS +-------- +[verse] +'nvme sndk get-error-recovery-log' [--output-format= +-o ] + +DESCRIPTION +----------- +For the NVMe device given, send a sndk plugin get-error-recovery-log command +and output the error recovery log data. The --output-format option will format +the output as specified. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this log page. +Results for any other device are undefined. + +On success it returns the parsed error recovery log page data, error +code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', or + 'json'. Only one output format can be used at a time. + Default is normal. + +EXAMPLES +-------- +* Has the program issue sndk get-error-recovery-log plugin command : ++ +------------ +# nvme sndk get-error-recovery-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-get-latency-monitor-log.txt b/Documentation/nvme-sndk-get-latency-monitor-log.txt new file mode 100644 index 00000000..f9333cc3 --- /dev/null +++ b/Documentation/nvme-sndk-get-latency-monitor-log.txt @@ -0,0 +1,42 @@ +nvme-sndk-get-latency-monitor-log(1) +==================================== + +NAME +---- +nvme-sndk-get-latency-monitor-log - Display latency monitor log page data in human readable format + +SYNOPSIS +-------- +[verse] +'nvme sndk get-latency-monitor-log' [--output-format= -o ] + +DESCRIPTION +----------- + +For the NVMe device given, latency monitor log page data. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this log page. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal' or 'json'. Only one output format + can be used at a time. The default is normal. + +EXAMPLES +-------- +* Displays the get latency monitor log for the device: ++ +------------ +# nvme sndk get-latency-monitor-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-get-unsupported-reqs-log.txt b/Documentation/nvme-sndk-get-unsupported-reqs-log.txt new file mode 100644 index 00000000..b3ec3447 --- /dev/null +++ b/Documentation/nvme-sndk-get-unsupported-reqs-log.txt @@ -0,0 +1,48 @@ +nvme-sndk-get-unsupported-reqs-log(1) +===================================== + +NAME +---- +nvme-sndk-get-unsupported-reqs-log - Send NVMe sndk get-unsupported-reqs-log +plugin command, return parsed log output + +SYNOPSIS +-------- +[verse] +'nvme sndk get-unsupported-reqs-log' [--output-format= +-o ] + +DESCRIPTION +----------- +For the NVMe device given, send a sndk plugin get-unsupported-reqs-log command +and output the unsupported requirements log data. The --output-format option +will format the output as specified. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this log page. +Results for any other device are undefined. + +On success it returns the parsed unsupported requirements log page data, error +code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', or + 'json'. Only one output format can be used at a time. + Default is normal. + +EXAMPLES +-------- +* Has the program issue sndk get-unsupported-reqs-log plugin command : ++ +------------ +# nvme sndk get-unsupported-reqs-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-log-page-directory.txt b/Documentation/nvme-sndk-log-page-directory.txt new file mode 100644 index 00000000..52db8fa1 --- /dev/null +++ b/Documentation/nvme-sndk-log-page-directory.txt @@ -0,0 +1,43 @@ +nvme-sndk-log-page-directory(1) +=============================== + +NAME +---- +nvme-sndk-log-page-directory - Retrieves the list of Log IDs supported by the drive + +SYNOPSIS +-------- +[verse] +'nvme sndk log-page-directory' [--output-format= -o ] + +DESCRIPTION +----------- +For the NVMe device given, retrieves the log page directory which contains the list of +log page IDs supported by the drive. The --output-format option will format the output as +specified. + +The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +On success it returns the log page directory information, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', 'json', or 'binary'. Only one output format + can be used at a time. The default is normal. + +EXAMPLES +-------- +* sndk log-page-directory example command : ++ +------------ +# nvme sndk log-page-directory /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-namespace-resize.txt b/Documentation/nvme-sndk-namespace-resize.txt new file mode 100644 index 00000000..b632b19f --- /dev/null +++ b/Documentation/nvme-sndk-namespace-resize.txt @@ -0,0 +1,56 @@ +nvme-sndk-namespace-resize(1) +============================= + +NAME +---- +nvme-sndk-namespace-resize - Resizes the device's namespace. + +SYNOPSIS +-------- +[verse] +'nvme sndk namespace-resize' [--nsid=, -n ] + [--op_option=, -o ] + +DESCRIPTION +----------- + +For the NVMe device given, sends the sndk Vendor Specific Command that modifies +the namespace size reported the device. + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +OPTIONS +------- +-n :: +--namespace-id=:: + Namespace ID; ID of the namespace to resize + +-o :: +--op-option=:: + Overprovisioning Option; defaults to 0xF + Valid Values: + 0x1 - 7% of Original TNVMCAP reported value + 0x2 - 28% of Original TNVMCAP reported value + 0x3 - 50% of Original TNVMCAP reported value + 0xF - 0% of Original TNVMCAP reported value (original config) + All other values - reserved + +EXAMPLES +-------- +* Resizes namespace 1 to 50% of the original TNVMCAP reported value: ++ +------------ +# nvme sndk namespace-resize /dev/nvme0 -n 1 -o 3 +------------ +* Resizes namespace 2 to 7% of the original TNVMCAP reported value: ++ +------------ +# nvme sndk namespace-resize /dev/nvme0 --namespace-id=2 --op-option=1 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-set-latency-monitor-feature.txt b/Documentation/nvme-sndk-set-latency-monitor-feature.txt new file mode 100644 index 00000000..142af084 --- /dev/null +++ b/Documentation/nvme-sndk-set-latency-monitor-feature.txt @@ -0,0 +1,118 @@ +nvme-sndk-set-latency-monitor-feature(1) +======================================== + +NAME +---- +nvme-sndk-set-latency-monitor-feature - Set NVMe sndk latency monitor feature options + +SYNOPSIS +-------- +[verse] +'nvme sndk set-latency-monitor-feature' + [--active_bucket_timer_threshold= | -t ] + [--active_threshold_a= | -a ] + [--active_threshold_b= | -b ] + [--active_threshold_c= | -c ] + [--active_threshold_d= | -d ] + [--active_latency_config= | -f ] + [--active_latency_minimum_window= | -w ] + [--debug_log_trigger_enable= | -r ] + [--discard_debug_log= | -l ] + [--latency_monitor_feature_enable= | -e ] + +DESCRIPTION +----------- +For the NVMe device given, this command set the +latency monitor feature options (if supported by the device). + +The parameter is mandatory NVMe character device (ex: /dev/nvme0). + +Setting results can be checked with 'get-latency-monitor-log' command. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-t :: +--active_bucket_timer_threshold=:: + The value that loads the Active Bucket Timer Threshold; default value is 07E0h. + +-a :: +--active_threshold_a=:: + The value that loads into the Active Threshold A; default value is 05h. + +-b :: +--active_threshold_b=:: + The value that loads into the Active Threshold B; default value is 13h. + +-c :: +--active_threshold_c=:: + The value that loads into the Active Threshold C; default value is 1Eh. + +-d :: +--active_threshold_d=:: + The value that loads into the Active Threshold D; default value is 2Eh. + +-f :: +--active_latency_config=:: + The value that loads into the Active Latency Configuration. This + configures how both the Active Latency Stamp, and the Active Measured + Latency Fields are updated on a per I/O command (Read, Write, Deallocate) + counter basis; default value is 0FFFh. + +-w :: +--active_latency_minimum_window=:: + The value that loads into the Active Latency Minimum Window; default value is 0Ah. + +-r :: +--debug_log_trigger_enable=:: + The value that loads into the Debug Log Trigger Enable; When set to 1b + the first time the bucket/counter combination is incremented a debug log + is triggered. When cleared to 0b a debug log will not be triggered when + the bucket/counter combination is incremented. + +-l :: +--discard_debug_log=:: + Discard Debug Log. When cleared to 00h the debug log, if it exists, will + not be cleared. When set to 01h the debug log will be discarded so + another log can be triggered. All the fields in the Set Features Data + structure are valid. When set to 02h the debug log will be discarded so + another log can be triggered. None of the other fields of the Set + Features Data structure are valid. + +-e :: +--latency_monitor_feature_enable=:: + Latency Monitor Feature Enable; When set to 01h the Latency Monitor + Feature is enabled. When cleared to 00h the Latency Monitor Feature is + disabled. + +EXAMPLES +-------- +* Set NVMe sndk latency monitor feature options enabled with default value values: ++ +------------ +# nvme sndk set-latency-monitor-feature /dev/nvme0 -e 1 +------------ +* Set NVMe sndk latency monitor feature options disabled with default value values: ++ +------------ +# nvme sndk set-latency-monitor-feature /dev/nvme0 -e 0 +------------ +* Set NVMe sndk latency monitor feature options enabled with specific values: ++ +------------ +# nvme sndk set-latency-monitor-feature /dev/nvme0 --active_bucket_timer_threshold=1 \ + --active_threshold_a=0x0 \ + --active_threshold_b=0x1 \ + --active_threshold_c=0x2 \ + --active_threshold_d=0x3 \ + --active_latency_config=0xfff \ + --active_latency_minimum_window=0 \ + --debug_log_trigger_enable=0 \ + --discard_debug_log=0 \ + --latency_monitor_feature_enable=0x1 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-vs-cloud-log.txt b/Documentation/nvme-sndk-vs-cloud-log.txt new file mode 100644 index 00000000..0537f660 --- /dev/null +++ b/Documentation/nvme-sndk-vs-cloud-log.txt @@ -0,0 +1,52 @@ +nvme-sndk-vs-cloud-log(1) +========================= + +NAME +---- +nvme-sndk-vs-cloud-log - Send NVMe sndk vs-cloud-log Vendor Unique Command, return result + +SYNOPSIS +-------- +[verse] +'nvme sndk vs-cloud-log' [--output-format= -o ] + [--namespace-id= | -n ] + +DESCRIPTION +----------- +For the NVMe device given, send a Vendor Unique sndk vs-cloud-log command and +provide the smart/health log. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', or + 'json'. Only one output format can be used at a time. + Default is normal. + +-n :: +--namespace-id=:: + Sets the command's nsid value to the given nsid. Defaults to + 0xffffffff if not given. This option may not affect anything + depending on the log page, which may or may not be specific to + a namespace. + +EXAMPLES +-------- +* Has the program issue sndk vs-cloud-log Vendor Unique Command : ++ +------------ +# nvme sndk vs-cloud-log /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-vs-device-waf.txt b/Documentation/nvme-sndk-vs-device-waf.txt new file mode 100644 index 00000000..06360bab --- /dev/null +++ b/Documentation/nvme-sndk-vs-device-waf.txt @@ -0,0 +1,53 @@ +nvme-sndk-vs-device-waf(1) +========================== + +NAME +---- +nvme-sndk-vs-device-waf - Calculates the device write amplification factor and +prints both TLC and SLC results + +SYNOPSIS +-------- +[verse] +'nvme sndk vs-device-waf' [--output-format= -o ] + [--namespace-id= | -n ] + +DESCRIPTION +----------- +For the NVMe device given, calculates the device TLC and SLC write +amplification factor. + +The parameter is mandatory and may be either the NVMe character +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-o :: +--output-format=:: + Set the reporting format to 'normal', or + 'json'. Only one output format can be used at a time. + Default is normal. + +-n :: +--namespace-id=:: + Sets the command's nsid value to the given nsid. Defaults to + 0xffffffff if not given. This option may not affect anything + depending on the log page, which may or may not be specific to + a namespace. + +EXAMPLES +-------- +* Has the program issue sndk vs-device-waf plugin Command : ++ +------------ +# nvme sndk vs-device-waf /dev/nvme0 +------------ + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-vs-drive-info.txt b/Documentation/nvme-sndk-vs-drive-info.txt new file mode 100644 index 00000000..64f7876e --- /dev/null +++ b/Documentation/nvme-sndk-vs-drive-info.txt @@ -0,0 +1,47 @@ +nvme-sndk-vs-drive-info(1) +========================== + +NAME +---- +nvme-sndk-vs-drive-info - Send the NVMe sndk vs-drive-info command, return result + +SYNOPSIS +-------- +[verse] +'nvme sndk vs-drive-info' + +DESCRIPTION +----------- +For the NVMe device given, send the unique sndk vs-drive-info command and +provide the additional drive information. + +The parameter is mandatory and must be the NVMe character +device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +Output Explanation +------------------ +There are several different fields returned from this command depending +on the drive: + +Drive HW Revision + +FTL Unit Size + +Customer Serial Number + +HyperScale Boot Version + +TCG Device Ownership + +EXAMPLE +-------- +# nvme sndk vs-drive-info /dev/nvme0 + +NVME +---- +Part of the nvme-user suite. diff --git a/Documentation/nvme-sndk-vs-error-reason-identifier.txt b/Documentation/nvme-sndk-vs-error-reason-identifier.txt new file mode 100644 index 00000000..e6b50c33 --- /dev/null +++ b/Documentation/nvme-sndk-vs-error-reason-identifier.txt @@ -0,0 +1,56 @@ +nvme-sndk-vs-error-reason-identifier(1) +======================================= + +NAME +---- +nvme-sndk-vs-error-reason-identifier - Retrieve sndk device's telemetry log error reason identifier field + +SYNOPSIS +-------- +[verse] +'nvme sndk vs-error-reason-identifier' [--log-id=, -i ] [--file=, -o ] + +DESCRIPTION +----------- +For the NVMe device given, retrieve the telemetry log error reason id field for either the host generated or +controller initiated log. The controller initiated telemetry log page option must be enabled to retrieve the +error reason id for that log page id. + +The parameter is mandatory and must be the NVMe character device (ex: /dev/nvme0). + +This will only work on Sandisk devices supporting this feature. +Results for any other device are undefined. + +On success it returns 0, error code otherwise. + +OPTIONS +------- +-i :: +--log-id=:: + Specifies the telemetry log id of the error reason identifier to retrieve. + Use id 7 for the host generated log page. + Use id 8 for the controller initiated log page. + The default is 7/host generated + +-o :: +--output-file=:: + Output file; defaults to "_error_reason_identifier_host__