The NVMe SMART/Health Information Log (Log Page 02h) includes a field called Percentage Used that estimates how much of a drive’s rated write endurance has been consumed. At 100%, the drive has used up its warranted Total Bytes Written (TBW). Above 100%, it is operating beyond its manufacturer endurance rating.
This is not a failure signal. The NVMe specification explicitly allows values up to 255%, and drives routinely continue working past their rated endurance. A drive reporting 150% Percentage Used with 90% Available Spare and zero Media Errors is likely fine. Percentage Used is a planning signal: it tells you where the drive is in its endurance lifecycle so you can sequence replacement before the actual failure indicators (Available Spare exhaustion and Media Errors) force an emergency.
What Percentage Used actually measures
Percentage Used is a vendor-calculated estimate at byte 5 of the SMART/Health Information Log. The NVMe Base Specification defines it as “a vendor specific estimate of the percentage of NVM subsystem life used based on the actual usage and the manufacturer’s prediction of NVM life.”
Key properties:
- Range: 0 to 255%. Single byte. Values greater than 254 are clamped to 255.
- Basis: Actual NAND writes (program/erase cycles consumed), not raw host writes. The controller factors in wear leveling and garbage collection.
- Vendor interpretation: Each vendor calculates the estimate using its own lifetime model. The same workload can produce different trajectories on different drive models.
The specification is explicit that a value of 100 “may not indicate an NVM subsystem failure.” The field tracks wear, not health verdict.
Why drives keep working past 100%
The TBW rating is a warranty figure, not a cliff edge. It represents the data volume the manufacturer guarantees can be written under specified workload conditions while maintaining data integrity. Most drives significantly exceed their rated TBW before experiencing hardware failure.
When Percentage Used exceeds 100%:
- The warranty endurance has been consumed. The manufacturer’s data integrity guarantee no longer applies.
- The drive is not necessarily failing. It still has spare blocks, and its error correction is still functioning.
- The drive may continue operating for months or years, but the probability of block failures increases as more cells approach their program/erase cycle limits.
The transition from “past rated endurance but functional” to “actively failing” is signaled by Available Spare declining and Media Errors appearing. Percentage Used tells you the drive is in the risk window; those signals tell you the risk has materialized.
The three signals to read together
Percentage Used is one of three NVMe health metrics that form a complete endurance picture. Reading any one in isolation leads to wrong decisions.
| Signal | What it measures | Direction | Failure indicator? |
|---|---|---|---|
| Percentage Used | Estimated endurance consumed (0-255%) | Increases only | No: planning signal |
| Available Spare | Remaining spare NAND for bad block replacement (0-100%) | Decreases only | Yes: at or below vendor threshold |
| Media and Data Integrity Errors | Count of uncorrectable data integrity failures | Increases only | Yes: any growth is active data loss |
Available Spare and Percentage Used are independent measurements. A drive can show 123% Percentage Used with 100% Available Spare. This is normal. Available Spare tracks remaining spare blocks; Percentage Used tracks estimated endurance consumed. They do not move in lockstep.
Conversely, a drive can show 50% Percentage Used but only 5% Available Spare. This suggests manufacturing defects or unusual wear patterns consuming spare capacity faster than normal endurance depletion would predict. The low Available Spare, not the moderate Percentage Used, is the concern.
flowchart TD
A["Percentage Used > 100%
Rated endurance consumed"] --> B["Available Spare declining
Spare blocks consumed"]
B --> C["Media Errors appearing
Active data loss"]
C --> D["Critical Warning bit 2 or 3 set
Reliability degraded or read-only"]
D --> E["Drive failure confirmed"]Percentage Used at or above 100% is the leftmost node: the earliest signal, but it predicts risk, not failure. The cascade progresses through Available Spare depletion and Media Errors before the drive sets Critical Warning bits. Monitoring all three stages gives lead time measured in weeks or months, not hours.
Write amplification: why it climbs faster than you expect
Percentage Used is based on actual NAND program/erase cycles, not host write volume. Write amplification (the ratio of NAND writes to host writes) is always >= 1. The controller generates additional writes through:
- Garbage collection: Reclaiming invalidated NAND pages requires reading valid data and rewriting it.
- Wear leveling: Distributing writes evenly across all cells means data is periodically moved behind the scenes.
- Metadata updates: The flash translation layer mapping table is updated on every write and persisted to NAND.
On a drive with a write amplification factor of 4, every 1 TB of host writes consumes the endurance of 4 TB of NAND writes. Percentage Used climbs four times faster than Data Units Written alone would suggest.
Factors that increase write amplification:
- Random small writes (database OLTP workloads, many small files)
- Nearly full drives (less free space for efficient garbage collection)
- TRIM not reaching the drive (some RAID controllers strip TRIM commands)
- Misaligned partitions (each write touches an extra erase block)
- Incompressible data on drives with compression (encrypted volumes, pre-compressed data)
You cannot read the write amplification factor directly from the NVMe SMART log. Infer it by comparing Data Units Written (host writes) against the rate of Percentage Used increase relative to the drive’s rated TBW. If the drive is wearing out 3-5x faster than host writes predict, write amplification is the cause.
Vendor quirks and known anomalies
Samsung EVO drives reporting 100% prematurely. Some Samsung 970 EVO Plus 2TB drives (rated 1200 TBW) report 100% Percentage Used with only ~370 TB written, roughly 30% of rated endurance. Samsung’s firmware may use a different baseline or calculation than a simple linear mapping to TBW. If you see 100% on a Samsung EVO with low Data Units Written and full Available Spare, treat the field with skepticism and rely on Available Spare and Media Errors instead.
255 is the maximum reportable value. The specification states that percentages greater than 254 shall be represented as 255. A drive showing 255% has consumed at least 255% of rated endurance.
The field is vendor-specific by design. The specification does not mandate a formula. Two drives from different manufacturers with identical host write histories can show different Percentage Used values.
Action thresholds
| Percentage Used | Severity | Action |
|---|---|---|
| Below 80% | INFO | Baseline tracking. No action. |
| 80-90% | PLAN | Begin procurement of replacement drives. |
| 90-100% | TICKET | Plan specific replacement date. Order if not already in inventory. |
| Above 100% | TICKET | Replace as soon as practical. Not an emergency unless other signals corroborate. |
| Above 100% with Available Spare below threshold | Escalate | End of life with depleted spare capacity. Prioritize replacement. |
| Above 100% with Media Errors increasing | Escalate | Active data loss. Replace immediately. |
Percentage Used above 100% alone does not justify paging someone at 3 a.m. The drive may operate normally for months. But it does justify a replacement ticket with a defined timeline, not a “monitor and see” deferral.
Reading the values with smartctl
# All NVMe health attributes
smartctl -a /dev/nvme0n1
# Percentage Used specifically
smartctl -A /dev/nvme0n1 | grep "Percentage Used"
# Available Spare and threshold
smartctl -A /dev/nvme0n1 | grep "Available Spare"
# Media errors
smartctl -A /dev/nvme0n1 | grep "Media and Data Integrity Errors"
# Data Units Written (host write volume)
smartctl -A /dev/nvme0n1 | grep "Data Units Written"
# Critical Warning bits (0x00 = none, 0x01 = spare low, 0x04 = reliability, 0x08 = read-only)
smartctl -A /dev/nvme0n1 | grep "Critical Warning"
Read these as a group, not filtered for a single value.
Signals to watch in production
| Signal | Why it matters | Warning sign |
|---|---|---|
| Percentage Used rate of change | Projects end-of-warranty date; detects write amplification acceleration | Sudden acceleration without workload change |
| Available Spare | Direct measure of remaining bad-block replacement capacity | Any sustained decline, especially below vendor threshold |
| Available Spare Threshold | Vendor-set floor below which Critical Warning bit 0 fires | Drive reporting below this value has set the spare warning |
| Media and Data Integrity Errors | Confirmed uncorrectable data corruption | Any increase from baseline |
| Critical Warning bits | Drive firmware’s own escalation signal | Bit 0 (spare low), bit 2 (reliability degraded), bit 3 (read-only) |
| Data Units Written | Raw host write volume for endurance runway calculation | Sustained high rate relative to rated TBW |
| Composite Temperature | Heat accelerates NAND wear and data retention loss | Sustained operation above WCTEMP (typically 70-80C) |
How Netdata helps
Netdata’s smartctl collector surfaces Percentage Used, Available Spare, Media and Data Integrity Errors, Critical Warning bits, and Data Units Written as per-second metrics with anomaly detection on each signal.
- Correlation across the cascade: View all three endurance signals on the same dashboard. The relationship between Percentage Used, Available Spare, and Media Errors is more diagnostic than any one alone.
- Rate-of-change tracking: Per-second derivatives on counter metrics show the rate of Percentage Used increase without manual diffing. Acceleration without a workload change suggests write amplification or firmware anomaly.
- Critical Warning bit decomposition: Each bit tracked independently, so alerts distinguish “spare below threshold” (bit 0) from “reliability degraded” (bit 2) from “read-only” (bit 3) without decoding hex.
- Fleet-level anomaly detection: When multiple NVMe drives of the same model show Percentage Used climbing faster than expected, anomaly detection surfaces the pattern across hosts, not just per-drive.
- Temperature correlation: Composite Temperature alongside Percentage Used rate of change isolates thermal causes of accelerated wear.
Related guides
- Current_Pending_Sector non-zero: unreadable sectors and I/O latency spikes
- SMART says PASSED but the drive is failing: why the health check lies
- How S.M.A.R.T. actually works: a mental model for operators
- smartctl disk monitoring checklist: the SMART signals every server needs
- SMART monitoring maturity model: from survival to expert
- Offline_Uncorrectable climbing: permanent data loss at the media level
- SMART overall-health self-assessment: FAILED is the drive’s own death notice
- Raw_Read_Error_Rate looks enormous: the Seagate false alarm explained
- Reallocated_Event_Count vs Reallocated_Sector_Ct: reading both together
- Reallocated_Sector_Ct rising: the drive is burning through its spare pool
- Self-test completed: read failure - a bad sector found by proactive scanning
- The zombie drive: bad sectors, read retries, and high iowait with idle CPU






