From f2c543b4ccad3b9f8871d952cddf66b3b438595b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 2 Jul 2021 22:49:35 +0200 Subject: Merging upstream version 1.14. Signed-off-by: Daniel Baumann --- Documentation/nvme-wdc-vs-smart-add-log.txt | 226 ++++------------------------ 1 file changed, 27 insertions(+), 199 deletions(-) (limited to 'Documentation/nvme-wdc-vs-smart-add-log.txt') diff --git a/Documentation/nvme-wdc-vs-smart-add-log.txt b/Documentation/nvme-wdc-vs-smart-add-log.txt index a9c4ead..96b55c5 100644 --- a/Documentation/nvme-wdc-vs-smart-add-log.txt +++ b/Documentation/nvme-wdc-vs-smart-add-log.txt @@ -9,15 +9,15 @@ SYNOPSIS -------- [verse] 'nvme wdc vs-smart-add-log' [--interval=, -i ] [--output-format= -o ] + [--log-page-version=, -l ] [--log-page-mask=, -p ] DESCRIPTION ----------- For the NVMe device given, send a Vendor Unique WDC vs-smart-add-log command and -provide the additional smart log. The --interval option will return performance -statistics from the specified reporting interval. +provide the additional smart log. The parameter is mandatory and may be either the NVMe character -device (ex: /dev/nvme0). +device (ex: /dev/nvme0) or block device (ex: /dev/nvme0n1). This will only work on WDC devices supporting this feature. Results for any other device are undefined. @@ -28,7 +28,8 @@ OPTIONS ------- -i :: --interval=:: - Return the statistics from specific interval, defaults to 14 + Return the statistics from specific interval, defaults to 14. This parameter is only valid for the 0xC1 log page + and ignored for all other log pages. -o :: --output-format=:: @@ -36,6 +37,18 @@ OPTIONS 'json'. Only one output format can be used at a time. Default is normal. +-l :: +--log-page-version=:: + Log Page Version: 0 = vendor, 1 = WDC. This parameter is only valid for the 0xC0 log page and ignored for all + other log pages. + +-p :: +--log-page-mask=:: + Supply a comma separated list of desired log pages to display. + The possible values are 0xc0, 0xc1, 0xca, 0xd0. + Note: Not all pages are supported on all drives. + The default is to display all supported log pages. + Valid Interval values and description :- [cols="2*", frame="topbot", align="center", options="header"] @@ -59,201 +72,6 @@ accumulated statistics. |The statistical set accumulated during the entire lifetime of the device. |=== -CA Log Page Data Output Explanation ------------------------------------ -[cols="2*", frame="topbot", align="center", options="header"] -|=== -|Field |Description - -|*Physical NAND bytes written.* -|The number of bytes written to NAND. 16 bytes - hi/lo - -|*Physical NAND bytes read* -|The number of bytes read from NAND. 16 bytes - hi/lo - -|*Bad NAND Block Count* -|Raw and normalized count of the number of NAND blocks that have been -retired after the drives manufacturing tests (i.e. grown back blocks). -2 bytes normalized, 6 bytes raw count - -|*Uncorrectable Read Error Count* -|Total count of NAND reads that were not correctable by read retries, all -levels of ECC, or XOR (as applicable). 8 bytes - -|*Soft ECC Error Count* -|Total count of NAND reads that were not correctable by read retries, or -first-level ECC. 8 bytes - -|*SSD End to End Detection Count* -|A count of the detected errors by the SSD end to end error correction which -includes DRAM, SRAM, or other storage element ECC/CRC protection mechanism (not -NAND ECC). 4 bytes - -|*SSD End to End Correction Count* -|A count of the corrected errors by the SSD end to end error correction which -includes DRAM, SRAM, or other storage element ECC/CRC protection mechanism (not -NAND ECC). 4 bytes - -|*System Data % Used* -|A normalized cumulative count of the number of erase cycles per block since -leaving the factory for the system (FW and metadata) area. Starts at 0 and -increments. 100 indicates that the estimated endurance has been consumed. - -|*User Data Max Erase Count* -|The maximum erase count across all NAND blocks in the drive. 4 bytes - -|*User Data Min Erase Count* -|The minimum erase count across all NAND blocks in the drive. 4 bytes - -|*Refresh Count* -|A count of the number of blocks that have been re-allocated due to -background operations only. 8 bytes - -|*Program Fail Count* -|Raw and normalized count of total program failures. Normalized count -starts at 100 and shows the percent of remaining allowable failures. -2 bytes normalized, 6 bytes raw count - -|*User Data Erase Fail Count* -|Raw and normalized count of total erase failures in the user area. -Normalized count starts at 100 and shows the percent of remaining -allowable failures. 2 bytes normalized, 6 bytes raw count - -|*System Area Erase Fail Count* -|Raw and normalized count of total erase failures in the system area. -Normalized count starts at 100 and shows the percent of remaining -allowable failures. 2 bytes normalized, 6 bytes raw count - -|*Thermal Throttling Status* -|The current status of thermal throttling (enabled or disabled). -2 bytes - -|*Thermal Throttling Count* -|A count of the number of thermal throttling events. 2 bytes - -|*PCIe Correctable Error Count* -|Summation counter of all PCIe correctable errors (Bad TLP, Bad -DLLP, Receiver error, Replay timeouts, Replay rollovers). 8 bytes -|=== - - -C1 Log Page Data 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 -------- @@ -262,6 +80,16 @@ EXAMPLES ------------ # nvme wdc vs-smart-add-log /dev/nvme0 ------------ +* Has the program issue WDC vs-smart-add-log Vendor Unique Command for just the 0xCA log page : ++ +------------ +# nvme wdc vs-smart-add-log /dev/nvme0 -p 0xCA +------------ +* Has the program issue WDC vs-smart-add-log Vendor Unique Command for 0xC0 and 0xCA log pages : ++ +------------ +# nvme wdc vs-smart-add-log /dev/nvme0 -p 0xCA,0xC0 +------------ NVME ---- -- cgit v1.2.3