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.