A flash part does not lose bytes when it gets warm. What heat moves is the spare-block headroom behind the reported capacity, and that is where sizing goes wrong. This piece separates the three margins between nameplate and usable space and gives buyers an arithmetic pass to run before an order is placed.
A flash part does not lose capacity when it gets warm. The figure a host reads back is fixed by the capacity definition in the SD Association physical layer specification and does not move with temperature. What moves is the headroom behind that figure: heat raises the error rate on the die, the controller spends more of its finite spare-block pool on retries and relocation, and a part running at 8 to 20 times write amplification empties that pool faster inside a sealed housing than in open air. Sizing therefore has to cover three margins that are rarely added up: the decimal-to-binary gap the industry notation leaves, a slice for controller firmware and bad-block replacement, and the reserve the workload will consume across the service life. All three are public conventions, not our own test data.
The number on the card does not move; the room behind it does
A buyer running cameras in a warm market asks the same question most weeks: does a 64GB card hold less of its data in August than in January?
The short answer is no. The interesting part sits behind that answer, not where most specifications look.
The figure a host reads back is fixed by the capacity definition carried in the SD Association physical layer specification, written in decimal — 1 GB is 1,000,000,000 bytes. Operating systems count in binary, where 1 GiB is 1,073,741,824 bytes. The arithmetic gap is constant: a nominal 32GB part reports about 29.8 GiB to a binary-based reader, at 0 C and at 70 C alike.
Nothing about that gap is thermal. What heat touches is the space standing behind the number.
Why heat spends the spare pool faster than a bench does
NAND does not tolerate an arbitrary error rate. A cell holding a changed bit is read, checked against an error-correcting code, and where the correction fails or the block’s attrition threshold is passed, the controller relocates the data and retires the old block. That replacement draws from a pool of spare blocks held back when the part was made.
The pool is finite, and the pace at which it drains depends on the workload. Industry figures put write amplification commonly between 8 and 20 times, because data is programmed in pages and erased in whole blocks. Divide the rated capacity by that factor and you have a rough sense of how much rewriting the die absorbs for each byte the host asked for.
Temperature accelerates the same work. The published retention definitions in JEDEC JESD47 and JESD84 state about 10 years at 40 C at the start of life and about 1 year at 40 C at the end of life after 3,000 program/erase cycles. A part inside a sealed aluminium housing bolted to a power device spends its life well above that reference point, where elevated temperature shortens retention and makes the controller’s correction work more frequent.
Sustained write speed moves too, and buyers read it as a capacity problem. Managed controllers throttle as die temperature climbs, so the last third of a long write can arrive slower on a hot part than a cool one. How much, and at which threshold, is a firmware decision inside the part.
The part does not quietly report fewer gigabytes. The symptom shows up as a stall, as a full card, or as a part that ages out before its cycle count should allow.
Three margins between nameplate and usable space
Sizing a flash order means adding up three deductions, and most specifications only carry the first.
| Margin | Source | Quantifiable publicly? |
|---|---|---|
| Decimal-to-binary reporting gap | IEC 80000-13 and storage notation convention | Yes — 32 GB reads as about 29.8 GiB |
| Controller firmware, bad-block replacement, file system overhead | Same convention | Only as “a little smaller again” |
| Over-provisioning and reserve consumed over the service life | Firmware configuration, not published | No |
The first is arithmetic and everybody knows it, which is why it gets priced in and the other two get skipped. The third is the one that decides whether a device is still writable in year four.
A sizing pass you can run before the order is placed
Take a payload of 24 GiB that the application must always be able to fill.
The host counts in binary, so the memory has to present at least 24 GiB. Buy the next conventional step above the payload plus the churn your file system generates — 32GB nameplate gives about 29.8 GiB, which looks comfortable against 24 GiB until the third margin lands. From there the controller keeps its own reserve, the file system keeps its metadata, and the workload keeps consuming spare blocks as it relocates.
A 32GB part can be the correct answer if the payload is 24 GiB and the enclosure is cool. On a part running at 15 times write amplification with a thin reserve, the honest step is 64GB, and the step exists because of the third margin, not the first.
No public source fixes a percentage. Over-provisioning is a firmware choice made inside the part and disclosed in no standard. Close the gap by buying a pre-production quantity, running the real workload at the top of the enclosure temperature, and reading how much free space the host reports when the controller still calls itself healthy. That number is what your firmware should plan against.
What is published, what is not, and which of the two you are buying
This section is read from public sources: the capacity notation behind IEC 80000-13, the endurance and retention definitions in JEDEC JESD47 and JESD84, the NAND interface work from JEDEC and ONFI, the SD Association physical layer specification and the sampling rules in ISO 2859-1 / ANSI-ASQ Z1.4. No figure here comes from a test run on our own floor, and none of it is our own measurement.
What the standards bodies publish stops at definitions and interfaces. Over-provisioning ratio, write amplification, thermal throttle point and reserve consumption over life are not among them. They are firmware choices, which means the only place they are answered honestly is a supplier who has the firmware open in front of them.
The three formats we publish are the ones a caliper and a scale can check:
| Format | Size | Mass | Capacity range |
|---|---|---|---|
| TF card | 15 × 11 × 1 mm | 0.25 g | 4GB – 256GB |
| UDP (USB Disk in Package) module | 11.3 × 24.8 × 1.45 mm | 0.819 g | 128MB – 128GB |
| Semi-finished board | 12 × 44 × 4.5 mm | 3.2 g | 128MB – 128GB |
Read and write speed is stated as customizable per order rather than as a fixed megabyte figure, because the achieved rate depends on the controller and die in the build and on the host it is measured in.
We do not publish an over-provisioning ratio, a write amplification figure, a TBW rating, a program/erase rating, a thermal throttle point or a certificate scan set. If your engineering file needs one of those documents, ask us and we will say plainly whether it exists. We will not produce a document number to end an argument.
Those dimensions also explain why the enclosure matters more than the part. A UDP module at 11.3 × 24.8 × 1.45 mm and 0.819 g has almost no thermal mass of its own; a TF card at 15 × 11 × 1 mm and 0.25 g less still. Neither one cools itself. The air gap, the housing and the conductive path to the chassis do all the thermal work, which is why two units using the same part behave differently in the same product.
What an incoming test proves at temperature — and what it leaves out
The sampling rules are public. Acceptance sampling follows ISO 2859-1 / ANSI-ASQ Z1.4, with General Inspection Level II as the default when a contract is silent: a lot of 1,201 to 3,200 units draws a sample of 125, a lot of 3,201 to 10,000 draws 200, and acceptance and rejection numbers move with the assigned AQL, running Ac = 3 / Re = 4 at AQL 1.0 on the smaller sample. That is the instrument for catching a drift that has already moved.
For the part itself the only test that takes the device at its word is write-and-read-back: fill the whole advertised capacity, then read every byte back and compare. On Windows that is H2testw; on macOS and Linux it is f3write followed by f3read. It proves that the advertised capacity holds bytes and that nothing was stolen from the host’s view.
It does not prove thermal behaviour, and the temperature of the test belongs on the certificate. A claim of “capacity verified” run in an air-conditioned room says nothing about day three in a sealed housing. Put the test temperature in the RFQ, then check the written report for it.
Six lines for the RFQ
- What is the operating temperature of the enclosure, not of the part? Give us the housing figure and we can match a grade to it instead of guessing.
- Which grade are you quoting — commercial 0 C to 70 C, or industrial -40 C to 85 C? Confirm the exact figures against the latest official wording of the part’s specification.
- What over-provisioning ratio is configured, and what does the spare pool look like at 20 percent of rated life? A number, not a controller name.
- At what die temperature does sustained write throttle, and by how much? Ask before the firmware is locked.
- At what temperature was capacity verification run, and on which units? The written report should answer both parts.
- What is the end-of-life behaviour when the spare pool is exhausted — read-only, or error? Get the failure mode in writing.
None of those six comes from a standard. The standards set the interface; the firmware and the enclosure decide what the part is worth at year four.
When another supplier is the right answer
Do not use this piece as a shopping list for a commodity buy. If you need a written TBW or endurance guarantee backed by an independent test report at temperature, we cannot produce that document today, so do not commit on the strength of it. If your part is defined by a contractual endurance number rather than by a shape that fits, buy from whoever can attach the report behind the number. If you want retail-grade flash at the lowest unit price with no marking and no configured reserve, a commodity channel is cheaper than us and you should expect us to be more expensive.
The honest boundary: if the requirement is a written thermal or endurance guarantee, the document decides the supplier. If it is a predictable block of NAND behind a known controller, in a shape that fits a housing we can measure, that is the work we do.
Sizing is arithmetic; keeping the promise is the harder half
Three margins, one of which nobody publishes, and a temperature that is usually quoted at 40 C when the box runs hotter. Add them up on paper and the right capacity band stops being a guess.
Then ask the order to carry the temperature, the grade and the spare-pool question. What is left — which block the controller retires in year three — is our side of the order, and it is answerable only with the firmware in front of it.
Frequently asked questions
Does a card physically hold fewer bytes on a hot day?
No. Nothing in the reported capacity moves with temperature. A nominal 32GB card reports about 29.8 GiB to a binary-reporting host at 0 C and at 70 C alike, because the decimal-to-binary gap is arithmetic rather than thermal. What changes is how much of the die the controller still has available to work with, and the headroom behind the reported number shrinks faster when the part runs near the top of its rated range.
Why does a part in a sealed enclosure age faster than the same part on a bench?
Because the enclosure holds the heat in. NAND cells lose charge retention faster at elevated temperature, and the controller reacts by relocating blocks and consuming its spare pool. The published JEDEC retention figures are stated at 40 C, which is a cool number for a metal box bolted to a chassis in a vehicle. Ask for the retention assumption at your own enclosure temperature, not at the standard one.
How much headroom should a specification carry above the payload?
Enough to cover three deductions, not one. Take the payload, add the churn your file system will create, convert from the host's binary view to the nameplate decimal units, then reserve for the controller's own firmware, bad-block replacement and over-provisioning. Nothing in the public standards quantifies the last slice, so it has to be measured on a pre-production sample before the number goes into a drawing.
Can write-and-read-back prove capacity at temperature?
It proves integrity at the temperature you ran it, which is worth having — fill the whole advertised capacity, read every byte back and compare, H2testw on Windows, f3write and f3read elsewhere. It does not prove anything about the spare pool, because the part reports no internal figures to a host. If the test ran at 25 C and the product ships at 70 C, the test certificate should say 25 C.
What temperature range should a custom flash order specify?
The one the enclosure actually reaches, not the one the datasheet leads with. The commercial grade is usually quoted as 0 C to 70 C and the industrial grade as -40 C to 85 C, though those figures belong to the specific part rather than to a single standards body, so confirm against the latest official wording before they reach the drawing. A part rated 0 C to 70 C inside a sealed housing can spend its whole life above its own rating.
Is it worth paying for the industrial grade on a consumer product?
Only where the enclosure gets hot or the unit is sealed. A device in an office or a kiosk with ventilation at room temperature gains nothing from the wider range beyond a wider tolerance for commissioning heat. On an in-vehicle, industrial-gate or outdoor unit, the industrial grade is usually the cheaper mistake to avoid.