# Reading drive health: turning SMART and NVMe counters into a decision

> Which attributes actually predict failure, how Windows exposes them, and the thresholds that mean replace instead of monitor.

**Tested on**

- Build: 26300.9457 / 26100.33650
- Edition: Pro (26H2) / Server
- Architecture: x64
- Evidence: E1
- Verified: 2026-10-29

## The short answer

Health is not one number. Three signals matter, in this order:

1. **Reallocated / pending sectors** (HDD) or **media errors** (NVMe) — actual data loss risk.
2. **Percentage used / endurance consumed** (SSD) — how much write life is left.
3. **Temperature and power-on hours** — context, not a verdict.

A drive with zero reallocations and 90% endurance used is fine. A drive with three pending sectors and 10% used is a backup-then-replace.

## What Windows itself reports

```powershell
Get-PhysicalDisk | Select-Object FriendlyName,MediaType,HealthStatus,OperationalStatus,Size
Get-Disk | Select-Object Number,FriendlyName,HealthStatus,OperationalStatus
Get-CimInstance Win32_DiskDrive | Select-Object Model,InterfaceType,Size,Status,FirmwareRevision
```

`HealthStatus` is coarse: `Healthy`, `Warning`, `Unhealthy`. Windows flips to `Warning` only when the firmware reports a predictive failure — a drive can be dying for months at `Healthy`.

For anything beyond that, you need the **SMART / NVMe log pages**, which Windows does not surface in a supported UI. Vendor tools and third-party readers query them through `IOCTL_STORAGE_QUERY_PROPERTY` and the NVMe pass-through interface.

## The attributes worth reading

**HDD (ATA SMART):**

| Attribute | Meaning | Act when |
|---|---|---|
| 05 Reallocated sectors | sectors remapped to spares | any non-zero, rising |
| C5 Current pending sectors | unreadable, awaiting remap | any non-zero |
| C6 Uncorrectable | could not be read even after retry | any non-zero |
| 09 Power-on hours | age | context only |
| C2 Temperature | thermal history | sustained above spec |

**SSD (NVMe):**

| Field | Meaning | Act when |
|---|---|---|
| Percentage used | endurance consumed | >80% start planning replacement |
| Media and data integrity errors | uncorrectable errors | any non-zero |
| Available spare | spare blocks remaining | below threshold (often 10%) |
| Critical warning | firmware-level flags | any flag set |
| Temperature | controller temp | near throttle point |

## A reproducible workflow

1. **Snapshot the numbers** so you can compare later — one reading proves nothing.
2. **Re-read after a week.** A stable pending sector is different from a rising one.
3. **Check the event log** for storage errors that Windows already noticed:

```powershell
Get-WinEvent -FilterHashtable @{LogName='System'; ProviderName='disk','Ntfs','volmgr','stornvme'} -MaxEvents 30 |
  Select-Object TimeCreated,ProviderName,Id,LevelDisplayName,Message
```

4. **Check the filesystem** if you suspect corruption:

```powershell
Repair-Volume -DriveLetter C -Scan
```

`-Scan` is read-only. Do not run a repair on a drive you have not backed up.

## Decision table

| Evidence | Decision |
|---|---|
| Pending/reallocated sectors, any count | Back up now, replace soon |
| Media errors on NVMe | Back up, plan replacement |
| Endurance >80% | Start planning; keep backups current |
| `HealthStatus : Warning` | Replace, do not "monitor" |
| Only high hours, clean counters | Keep using; keep backups |
| SMART unreadable behind RAID | Use the controller's own health view |

> **Caution: RAID hides SMART**
>
> Behind a hardware RAID controller, Windows sees a virtual disk and cannot read per-drive SMART. Use the controller's management tool (iDRAC/iLO/MSM/StorCLI) — the OS-level health is the array's, not the disks'.

## Why "SMART passed" is not a warranty

SMART predicts some failures and misses others. Controllers die, firmware bugs brick drives, and some drives fail with no warning at all.

The only reliable protection is **a backup you have restored at least once**. Health monitoring tells you when to hurry.

## Related

- [NVMe generations](https://winbook.fyi/en/hardware/storage/nvme-generations/)
- [HDD: CMR vs SMR](https://winbook.fyi/en/hardware/storage/hdd-cmr-smr/)
- [Storage Spaces](https://winbook.fyi/en/hardware/storage/storage-spaces/)

## Lab boundary

E1. Attribute semantics come from the ATA/NVMe specifications and vendor documentation. The lab's virtual disks do not expose real SMART data, so no failing drive was observed.

## Sources

- [Microsoft Learn — Win32_DiskDrive](https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-diskdrive)
- [Microsoft Learn — Get-PhysicalDisk](https://learn.microsoft.com/en-us/powershell/module/storage/get-physicaldisk)
- [Microsoft Learn — IOCTL_STORAGE_QUERY_PROPERTY](https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioctl-ioctl_storage_query_property)

---

Source: https://winbook.fyi/en/hardware/storage/health-smart/
