Flash Foundations companion · Simulator

Throttle Lab

A drive that gets too hot has to slow down, and different drives do it in very different ways. One chart shows temperature and speed on a shared time axis with the thresholds dashed. Change the cooling, the way the drive slows down or the sensor, and the same chart changes.

The walkthrough

One chart, five questions

Each section below is the same chart with its own setting on load. Temperature runs over speed on one 30-minute axis, and the dashed lines are the thresholds. Everything is drawn from a model, so every number is a model value.

Where the heat comes from

A drive turns the power it draws into heat. The controller and the NAND each add their share, and a write costs more than a read.

Why it takes minutes

A drive warms slowly because it has thermal mass. Throttling arrives minutes into a long transfer, and better cooling delays it or removes it.

The reported temperature is not the hottest spot

The temperature a drive reports is one value the maker works out from its sensors. The hottest part can be well above it.

The ways drives slow down

Every method is a setting of the same drive under the same sustained write. Pick one and watch the speed trace take its own shape.

All nine, side by side

A bare Gen5 drive, 30 minutes of sustained write.

Way of slowing downData moved in 30 minutesHottest partWorst latencyTrace shape
No throttle21.3TB111°C0.08msnone
Stepped levels14.7TB87°C0.13msstaircase
I/O pacing14.5TB87°C0.13mssmooth
Link-rate drop14.6TB87°C0.14mslink-step
NVMe power states14.5TB85°C0.12mstwo-level
Fewer dies (patent only)14.3TB87°C0.13msdies
Clock reduction (patent only)17.1TB88°C0.13msuniform
Shutdown3.1TB94°CNo answercliff
Host link throttle14.6TB87°C0.27mshost-step

When it goes wrong

Each failure is the same chart with a different gap, threshold or sensor. Pick one, then change its setting.

All six, as text

Overshoot, Oscillation, Stuck throttled, Crawl, Late sensor, Drops off the bus.

The sandbox

Heat it your way

Illustrative model, not vendor data. Trends are real, numbers are not.

Share this setup

The run

The same chart as above. Dashed lines mark the thresholds. Every temperature, watt and speed is a model value.

The drive

SMART counters, as the NVMe decoder names them

Read your drive

See what your own drive reports

These commands only read. They show the temperatures your drive reports, the thresholds it carries, and how long it has spent above them. Nothing here sets a threshold, changes a power state or writes to the drive, and nothing is copied until you press Copy on a row.

Where you will run it

Replace X with your drive's number. The commands use a placeholder, never a real device.

What the lab does not claim

    How it works

    The drive has two thermal nodes: the controller, which heats and cools in seconds, and the NAND and board, which take minutes. Every half second the model adds the power each node draws, takes away what it sheds, and steps the temperature forward.

    Power comes from what the drive is doing, so throttling works because it makes the drive do less. Each way of throttling is one small function that reads the sensor's temperature once a second and changes one thing, and each leaves its own shape on the speed chart. A failure is the same chart with a smaller gap, a lower threshold or a sensor farther from the hot part.

    The DRAM, program-suspend and peak-power detail, and every term, are on the sources and method page.

    Terms used here: controller, PHY, NAND die, watt, thermal resistance, time constant, ambient, WCTEMP, CCTEMP, composite temperature, throttle level, hysteresis, I/O pacing, latency, PCIe generation, link-state throttling, power state, HCTM, TMT1 and TMT2, power budget, die parallelism, clock scaling, critical shutdown, power cycle, PCIe bandwidth controller, overshoot, controller reset.

    What it leaves out

    • Every watt, thermal resistance and time constant is a model value. No source the lab found gives thermal resistance figures it could use for a named M.2 drive. The values are sized so a bare Gen4 drive under a sustained write settles near 80°C and the hottest part of a bare Gen5 drive crosses 85°C in about two and a half minutes, in line with Gen5 drives tested without a cooler in TechPowerUp and Tom's Hardware reviews.
    • Samsung's 950 PRO is the only drive the lab found with a published table of level temperatures and speed fractions, and the stepped-levels setting uses it. Phison's own steps were never published. The Gen5 to Gen4 threshold in the mid-80s comes from ComputerBase, reported by Tom's Hardware.
    • Link-state throttling is shown as the drive's internal link rate. No source confirms that a host tool shows that change. In the reviews we saved, it is documented only for Phison's E26.
    • No source describes an SSD lowering its link width, from x4 to x2, for heat. The lab does not model it.
    • No drive in the lab goes read-only from heat. The read-only file systems reviewers saw were the file system reacting to I/O errors.
    • Fewer dies appears in patents and research papers, and clock reduction in patents and an Innodisk white paper. Neither is measured on a named consumer drive.
    • A controller reset line, CSTS=0xffffffff, has also appeared in a Linux log with a kernel message about a faulty power-saving mode, so the lab never presents that line alone as proof of overheating.
    • The shutdown setting and the shutdown latch describe launch firmware on some Phison E26 drives, later changed. The crash and reset outcomes are framed on screen with their own sources. A drive working as designed throttles with no I/O errors, which is the lab's normal end state.
    • The crawl comes from a limit lower than the cooling can reach. That cause is the lab's assumption, not a reported one.
    • There is no NAND error simulation. The lab says nothing about what heat does to stored data.
    • The peak counts NAND program power only. The controller side is drawn at its average and reads are drawn flat. The crest and suspend ratios come from one simulated random workload on one TLC subsystem, and the lab applies them to every workload. Levels and pacing lower the average but not the peak, because a drive that waits between commands still bursts across its dies.
    • The DRAM figures are one DDR5 die at its datasheet maximums, a stand-in for the size of the term. Consumer drives mostly carry LPDDR4 or DDR4 chips, which are not what that datasheet describes, and the number of chips on a real drive is a design choice, so the lab offers none, one or two. The 5% share of time spent in bursts is the lab's assumption, not a measured figure. The chip's heat goes to the controller node, because the lab has no third node for it.
    • There are two nodes and one sensor mix. Real drives have several sensors, and where they sit and which feeds the reported temperature is up to the maker.