Samsung SSD "Wear_Leveling_Count" meaning
Kingston describe this SMART attribute as follows:
Number of erase/program cycles per block on average. This attribute is intended to be an indicator of imminent wear-out. Normalized Equation: 100 – ( 100 * Average Erase Count / NAND max rated number of erase cycles)
Ignore the Raw Data
in these instances (They can be manipulated by manufacturers to work in different ways), and look at the Current Value
column.
This source from Anandtech gives us a good indication of how to use this figure:
The Wear Leveling Count (WLC) SMART value gives us all the data we need. The current value stands for the remaining endurance of the drive in percentage, meaning that it starts from 100 and decreases linearly as the drive is written to. The raw WLC value counts the consumed P/E cycles, so if these two values are monitored while writing to the drive, sooner than later we will find the spot where the normalized value drops by one.
All of your drives are at between 95 and 100, and will eventually drop to 0. This is an estimation of how many write
, erase
, rewrite
etc. cycles each block can go through before failing, and at the moment, one of your drives is estimated to have used 5% of it's current expected life span. Again, the key word here is estimated.
Note also that your drives may use different NAND technology, hence the differences in perceived life. Some NAND technology expects blocks to last for around 1000 PE cycles each, others can be rated for as much as 30,000.
SMART reports a PREFAILED condition for my Samsung SM951 (AHCI) 128GB, reported in Linux as SAMSUNG MZHPV128HDGM-00000 (BXW2500Q)
.
But in my case I think it's a firmware bug of the drive,
- because the
total-bytes-written
property is reported as 1.1TB while the drive has a specified Total Bytes Written (TBW) of 75TB! Which probably is on the (very) save side, because similar (MLC NAND) drives all reached a multitude of that (600TB) in a real endurance test, - and apart from the
wear_level_count
warning no other prefail or oldage errors or warnings are reported, - while the
reallocated-sector-count
, which according to that test is good pre-fail indicator, is still 0.
So my advise would be to examine those values for your drive/system and base your conclusions on that.
I prefer the low level utility skdump
which is supplied with libatasmart
, the same library that is used by Gnome Disks.
Use the following command, replacing /dev/sdc
with the path to your block device:
sudo skdump /dev/sdc
Short note on Samsung EVO and PRO SSD:
smartctl -a /dev/sda
smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.9.0-0.bpo.6-amd64] (local build)
Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: Samsung SSD 860 PRO 1TB
Serial Number: S42NNF0K000000
LU WWN Device Id: 5 002538 e405145c6
Firmware Version: RVM01B6Q
User Capacity: 1,024,209,543,168 bytes [1.02 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: Solid State Device
Form Factor: 2.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: Unknown(0x09fc) (unknown minor revision code: 0x005e)
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri Jan 8 11:53:56 2021 EET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x53) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 85) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 14689
12 Power_Cycle_Count 0x0032 099 099 000 Old_age Always - 122
177 Wear_Leveling_Count 0x0013 098 098 000 Pre-fail Always - 25
179 Used_Rsvd_Blk_Cnt_Tot 0x0013 100 100 010 Pre-fail Always - 0
181 Program_Fail_Cnt_Total 0x0032 100 100 010 Old_age Always - 0
182 Erase_Fail_Count_Total 0x0032 100 100 010 Old_age Always - 0
183 Runtime_Bad_Block 0x0013 100 100 010 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0032 067 056 000 Old_age Always - 33
195 Hardware_ECC_Recovered 0x001a 200 200 000 Old_age Always - 0
199 UDMA_CRC_Error_Count 0x003e 099 099 000 Old_age Always - 23
235 Unknown_Attribute 0x0012 099 099 000 Old_age Always - 58
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 29068641040
So most interesting part of lifetime indicator is:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
177 Wear_Leveling_Count 0x0013 098 098 000 Pre-fail Always - 25
25 for RAW value??? Does that mean, I have 25 percent of lifetime depleted?
Really no. Please see what Samsung wrote:
SMART attribute 177 (Wear Leveling Count)
This attribute represents the number of media program and erase operations (the number of times a block has been erased). This value is directly related to the lifetime of the SSD. The raw value of this attribute shows the total count of P/E Cycles.
This means, that in my particular SSD VALUE 98 shows still 98 percent of lifetime is remaining, but average Program/Erase cycles per block is 25 times.
One more interesting thing:
241 Total_LBAs_Written 0x0032 099 099 000 Old_age Always - 29068641040
What is that size in GB? TB?
Very simple. Take SMART information to get Sector size:
Sector Size: **512** bytes logical/physical
Total Gigabytes or Terabytes Written:
29068641040/2/1024/1024 = 13861 GB / 1024 = 13.536 TB
Explanation: divide LBA count by 2, because 1 KB consists from 2 512B sectors. Then divide by 1024 to get MB, GB and TB.
Hope it helps.