I just read a reddit post on the r/datahoarder subreddit, from someone wondering what’s the best way to cold store 1–2TB of data for a long time? The top comment stated the following:
1] def NOT any form of flash memory. No NVMe, SSD or USB (lifetime before data loss: 2–5 yrs)
2] HDD - probably your best bet
3] M-Disc - works but it’ll be a lot of discs
4] LTO tape - industry standard, but not cheap
As a naturally curious person, I was wondering why these different points. I needed to fill the gaps in my knowledge, and answer the following questions:
How exactly is memory stored in our computers#
I know that at the most fundamental level, every storage medium needs a physical way to represent a 0 and a 1. The different storage solution each do it uniquely, which explain everything about their speed, cost, and longevity.
Flash (SSD, USB, NVMe) — Trapped electrons. A tiny transistor traps electrical charges in a “floating gate.” No moving parts, incredibly fast random access. But electrons slowly leak out when unpowered.
HDD - Magnetic patterns. A spinning platter coated in magnetic material. A mechanical arm magnetizes tiny regions in one direction or another. Stable for years unpowered.
M-Disc - Etched stone-like layer. A laser physically burns pits into an inorganic, rock-like material. Practically immune to heat, humidity, and UV. Rated for 1,000+ years. But each disc only holds 25–100 GB.
LTO Tape - Magnetic tape. Thin film coated with magnetic particles, read sequentially. Up to 18 TB per cartridge (LTO-9). The archival gold standard for decades, but expensive to get into.
We encapsulate SSD, USB and NVMe in the same category: flash memory. What exactly are they ?#
SSD, USB and NVMe seem to use the same underlying technology: NAND flash. The name refers to how the transistors are wired (using NAND logic gates). NVMe is simply an SSD on a faster bus (PCIe instead of SATA). USB drives use cheaper NAND. But they all share the same weakness: electrons leak when the power is off.
To understand why, let’s look at how flash memory actually stores data. Each memory cell contains a tiny transistor with a “floating gate”, which is a small piece of conductive material surrounded by insulation. When you write data, a voltage pushes electrons through that insulation and into the floating gate, where they get trapped. The presence or absence of those trapped electrons represents a 1 or a 0.
The key insight is that there’s no moving part, no magnetic field, no physical mark. Just electrons held in place by a thin insulating layer. And over time, especially without power, those electrons slowly tunnel back out through the insulation. It’s a quantum-mechanical process that you can’t prevent, only slow down. Higher temperatures accelerate it.
Why SSDs feel faster than HDD ?#
An HDD is mechanical, like a tiny record player. A spinning platter, a moving arm, physical seeking. Every read involves waiting for the right spot to spin under the head. That takes milliseconds.
An SSD? No moving parts. The controller sends an electrical signal to the right memory cell and gets an answer in microseconds. For sequential reads, the difference is not so significant, but for random reads: booting up, opening apps, jumping around a database, etc… the speed difference is enormous.
Reading a cell is nearly instant since the controller just checks whether charge is present. Flash memory is fantastic for daily use
if electrons are leaking from flash cells, why doesn’t a single lost electron corrupt an entire file?#
I mean, from what I learned, electron leakage seem to happen often. How is it possible that we don’t constantly run into error because of that phenomenon ?
The answer is error-correcting codes (ECC). When data is written, the storage controller computes extra “parity” bits using mathematical algorithms and stores them alongside the real data. On read, those parity bits let the controller detect and fix bit errors, even without knowing which specific bits flipped.
A good analogy: QR codes. A QR code uses Reed-Solomon error correction. The same family of algorithms used in SSDs, CDs, Blu-rays, and even deep space communications. That’s why a QR code still scans, even with a logo stamped over 30% of it. The redundant data lets the reader reconstruct what’s missing.
SSDs use powerful ECC algorithms (often LDPC codes) that can tolerate many flipped bits per page. On top of that, an active SSD periodically scans its own cells in the background, rewriting degrading blocks to fresh ones before errors become unrecoverable. Like recopying a fading manuscript before it becomes illegible.
The active maintenance of the data on the SSD is what makes it able to hold the data on your computer in the long term. Mechanisms such as patrol reads, cell refresh, block retirement, etc… But, they require the drive to be powered on. An SSD in a drawer has errors accumulating with nobody watching. Eventually, the error count overwhelms what ECC can fix. That’s when you lose data.
Sequential reads were okay-ish on HDD, was it the reason why we used to do processes like “defragmentation” back in the days ?#
If I remember well, on old computers, it was usually told that doing a process called “defragmentation” would speed up your machine. I was young so I obviously didn’t understand. But now it makes sense:
When you write, delete, and rewrite files over time on an HDD, the file system ends up storing pieces of the same file in scattered locations across the platter. That’s fragmentation. When you read that file, the head has to physically jump between all those fragments, turning what should be a fast sequential read into a series of slow random seeks.
Defragmentation rearranges the data so that each file’s blocks are contiguous on the platter. After it, reading a file becomes a smooth sequential operation again.
Nowadays, it matters much less for two reasons: modern file systems like are smarter about placing data to avoid fragmentation in the first place, and of course if you’re on an SSD, fragmentation is irrelevant since there’s no physical head to seek. Every cell is equally fast to reach.
In fact, you should not defragment an SSD, because it would just burn through write cycles for no benefit.

