Home / Hardware y Moviles / The invisible wear of your SSD: how NAND shares out its own death

The invisible wear of your SSD: how NAND shares out its own death

When you buy an SSD, the spec sheet promises “200 TB written” or “5 years of warranty”. What it does not say is that every one of its memory cells is born with a finite, counted lifespan. That your drive does not die within six months is no accident: it is the result of a repertoire of engineering tricks that spread the wear with surgical precision.

A cell that wears out every time you touch it

NAND flash memory stores each bit by trapping electrons inside a floating gate, a small isolated conductor sandwiched between two oxide layers. To write to that cell, the controller injects electrons through the insulator via Fowler–Nordheim tunneling, a quantum-mechanical effect in which particles pass through a barrier that would be insurmountable in classical physics. To erase it, it applies a voltage that pulls them back out.

Each program/erase cycle (the P/E cycles) erodes the insulating oxide. The cell does not fail all at once: it gradually loses its ability to hold charge, and ends up storing a 0 where you wrote a 1. That is where wear begins.

SLC, MLC, TLC, QLC: how long life lasts depending on how much you store per cell

The more you pack into a cell, the shorter it lives. Cells can hold more than one bit by varying the voltage levels used to interpret the charge:

  • SLC (1 bit per cell): close to 100,000 P/E cycles. Durable, expensive, typical of enterprise SSDs.
  • MLC (2 bits): around 10,000 cycles.
  • TLC (3 bits): 3,000 to 5,000 cycles. The vast majority of consumer SSDs.
  • QLC (4 bits): 500 to 1,000 cycles. Maximum density, lower endurance, cheap.

That is the market’s trade-off: for the same price you gain capacity at the cost of each cell, taken individually, dying sooner.

The controller lies to you about free space

Unlike a hard drive, flash is not erased cell by cell but in blocks of hundreds of kilobytes or entire megabytes. And to rewrite a single byte inside a block, the whole block must be erased first. That forces the controller to keep a cushion of extra cells the operating system never sees: overprovisioning, which usually reserves between 7% and 28% of the silicon.

That invisible zone serves two purposes: relocating data while blocks are reorganized, and replacing cells as they die. It spends part of your capacity, but it is what keeps the SSD from becoming a road where all traffic always passes over the same stretch of asphalt.

Wear leveling: spreading the road so it does not fill with potholes

The solution is called wear leveling. The controller keeps a P/E cycle counter per block and decides where each piece of data is written so that all blocks wear at a similar rate. There are two variants:

  • Static: it also moves “cold” data — the files you store and never touch. If left in place, they would only wear out the active cells while the rest stayed pristine, only to die at the same time as the first ones.
  • Dynamic: it only spreads out new writes. Cheaper, but it leaves cold blocks unworn.

Modern firmware combines both and uses their own on-board intelligence (a processor with its own memory) to balance the wear map in real time.

TRIM, the message the SSD needs to hear

When you delete a file, the operating system does not destroy it: it only marks the space as reusable. If the SSD believed all that data were still there, every new write would have to overwrite it, doubling the wear and slowing everything down. To avoid this there is the TRIM command (on AHCI) or Dataset Management (on NVMe), by which the OS tells the drive: “these regions no longer hold anything useful, you can treat them as empty.”

Without TRIM, the SSD suffers write amplification: for every byte you ask to write, the controller writes several internally because it first has to copy entire blocks. An amplification factor of 1 is perfect; values of 3 or 4 mean you are killing the drive three or four times faster than necessary.

ECC and read retry: correcting before giving up

Because cells degrade, every read can return wrong bits. The controller fixes them with error-correcting codes (ECC): classic Reed–Solomon or modern LDPC (Low-Density Parity Check), capable of reconstructing the correct data even when several bits are wrong. It is the same family of mathematics that protects QR codes.

Current controllers also apply read retry: if a read fails, they adjust the cell’s voltage thresholds and re-read with different parameters before declaring the block defective. Small survival strategies that noticeably extend drive life.

Dying with dignity

At some point a cell can no longer be rescued. The controller then marks it as a bad block and replaces it with one from overprovisioning. As long as spares remain, your drive keeps working identically: you only lose invisible capacity. When the cushion runs out, most SSDs switch to read-only mode so you can copy your data before anything fails.

That process shows up in SMART attributes such as the Media Wearout Indicator, which approximates wear as a percentage. It is the signal that it is time to plan the migration.

How to extend your SSD’s life

  • Do not fill it to 100%: leave headroom for overprovisioning to work.
  • Enable TRIM: on Linux with fstrim or the fstrim.timer service; on Windows it is active by default on modern NVMe drives.
  • Avoid aggressive write benchmarks: the fastest way to burn P/E cycles “for sport”.
  • Do not cut power abruptly: the drive keeps a DRAM cache that must be flushed to NAND in an orderly way before shutdown.
  • Choose the right type: for a system drive with heavy write traffic, TLC is usually the right balance; QLC is fine for cold storage.

Your SSD does not age from being used: it ages from being written to. Understanding wear leveling, what TRIM does, and why some capacity is taken away is not just technical curiosity — it is what lets you decide with judgement which drive to buy, how full to fill it, and when to replace it. The electronics that spread their own death with a sense of balance are the best guarantee that your data will outlive the memory that stores it.