Compare UDP flash modules and raw NAND + controller builds for embedded storage: BOM, firmware ownership, test scope, risk, and when each path pays off.
TL;DR
Choose a UDP flash module when you want a finished, tested storage device with the controller, NAND management and bad-block handling already inside the package, and you would rather spend engineering time on your product than on flash. Choose raw NAND + controller when your volume, firmware team and lifetime justify owning the flash translation layer — typically because you need a specific NAND grade, a custom mapping policy, or a cost structure that only works at scale.
The decision is not really “which is faster.” It is who owns the flash management layer, who carries the qualification risk, and at what volume does that ownership pay for itself. For most embedded teams building a first or second product, the UDP path removes months of work. For teams shipping millions of units with an in-house storage stack, raw NAND can be the cheaper long-run answer.
This article lays out both paths side by side, gives a decision checklist, and flags the traps — including the ones that only show up after you have committed a PCB.
The two paths, defined
What a UDP flash module actually is
A UDP (sometimes written as a small-form-factor flash module or “chip-scale” storage module) is a packaged device that contains:
- one or more NAND flash dies,
- a flash controller,
- firmware that performs bad-block management, wear-levelling, error correction and the logical-to-physical mapping,
- and a host interface — commonly SD/SPI-class or USB-class signalling depending on the module family.
From your board’s point of view it behaves like a storage peripheral. You talk to it through a defined command set; you do not see the NAND.
What raw NAND + controller means
Raw NAND is bare flash: a die or multi-die package with an ONFI/JEDEC-class interface and no translation layer. To use it you add:
- a NAND controller (discrete, or a block inside your SoC/MCU),
- a flash translation layer (FTL) or a flash-friendly filesystem,
- bad-block management, ECC configuration, wear-levelling and power-loss recovery logic,
- and the qualification work that proves all of the above across temperature, cycling and power interruption.
The Linux kernel documentation for UBIFS is a useful reality check here: it describes a flash filesystem built specifically because raw flash does not hide erase blocks, bad blocks or wear from the host (docs.kernel.org, accessed 2026-10-20). That is the work you are signing up for.
The layer diagram
| Layer | UDP module | Raw NAND + controller |
|---|---|---|
| NAND die | Inside the module | You buy it |
| Controller silicon | Inside the module | You specify and place it |
| FTL / wear-levelling / bad-block management | Supplier firmware | You own it |
| ECC configuration | Supplier | You configure |
| Host interface | Fixed by module family | Your choice |
| Your application / filesystem | Yours | Yours |
The dividing line is the FTL. Everything above it you control either way; everything below it is the trade.
Why this decision keeps coming up
Three pressures push teams toward this comparison:
- Package and board space. Small enclosures and potted assemblies leave little room for a controller plus NAND plus passives. A single module can collapse that.
- Firmware headcount. A storage stack is a specialist skill. Many product teams have one embedded engineer, not a flash team.
- Supply and lifecycle. NAND generations turn over faster than product lifecycles. A module supplier absorbs that turnover; a raw-NAND design may need a re-spin when a die is discontinued.
None of these automatically favours one path. They define what you are optimising for.
Side-by-side comparison
Bill of materials and cost structure
| Cost element | UDP module | Raw NAND + controller |
|---|---|---|
| Storage silicon | One line item | NAND + controller, two line items |
| Passives / power tree | Minimal | Controller decoupling, possibly extra rails |
| PCB area | Small | Larger |
| NRE | Low (integration + test) | Controller NRE, firmware development, qualification |
| Per-unit cost at low volume | Higher | Higher still, once NRE is amortised over few units |
| Per-unit cost at high volume | Supplier margin included | Can be lower if you own the stack |
A worked illustration (Illustrative only — not WINTEL data): suppose a raw-NAND path needs 6 engineer-months of firmware and qualification work at a fully loaded cost of USD 12,000 per engineer-month — about USD 72,000 of NRE. If the raw path saves USD 1.50 per unit against a module, the crossover is around 48,000 units before NRE is recovered, and later if yield and field-failure costs are included. Run this with your own numbers; the shape of the curve matters more than the example.
Firmware and software ownership
| Question | UDP module | Raw NAND + controller |
|---|---|---|
| Who writes the FTL? | Supplier | You |
| Who handles bad blocks? | Supplier | You (or your controller vendor’s reference code) |
| Who tunes ECC? | Supplier | You |
| Can you change mapping policy? | No | Yes |
| Who debugs a corruption report? | Shared — supplier has the internals | You, entirely |
| Power-loss recovery | Supplier design, you must still test it | Your design |
The last row is the one teams underestimate. A module’s power-loss behaviour is a supplier design choice, not a guarantee for your write pattern. You still have to test it against your own workload — see the sample-testing discussion in sample-test-that-predicts-field-behaviour.
Qualification and test scope
| Test | UDP module | Raw NAND + controller |
|---|---|---|
| NAND grade verification | Supplier | You |
| Bad-block screening | Supplier | You |
| Endurance characterisation | Supplier data + your validation | You |
| Temperature cycling | Module-level, you re-verify in your enclosure | Die + board level |
| Power interruption | You test the module’s behaviour | You design and test |
| Long-term data retention | Supplier data + your validation | You |
In both paths, you own the final product qualification. The difference is how much of the underlying storage characterisation you inherit versus must generate.
Supply chain and lifecycle
| Factor | UDP module | Raw NAND + controller |
|---|---|---|
| Number of suppliers to manage | One storage supplier | NAND supplier + controller supplier |
| Die discontinuation impact | Supplier requalifies internally | Possible board re-spin |
| Allocation exposure | Concentrated in one supplier | Split across two, but both can constrain |
| Second-source difficulty | Moderate — module pin/command compatibility varies | High — new controller means new firmware |
If single-sourcing a controller worries you, the trade-offs are covered in single-sourcing-a-controller-the-trade. The same logic applies to single-sourcing a module.
Decision checklist
Score each row for your project. Lean UDP if most answers land left; lean raw NAND if most land right.
| Question | Leans UDP | Leans raw NAND |
|---|---|---|
| Annual volume | Under ~50k units | Well above that, with a stable forecast |
| In-house flash firmware capability | None or one generalist | Dedicated storage engineer(s) |
| Product lifetime | 2–5 years | 7+ years with controlled silicon |
| Board space | Tight | Comfortable |
| Need for a specific NAND grade or mapping policy | Not critical | Critical |
| Tolerance for a board re-spin on die EOL | Low | Acceptable |
| Time to first prototype | Weeks | Months |
| Field-failure debugging appetite | Want a supplier to share it | Want full control |
When UDP is the clear answer
- The product is a first generation, or the storage is not the differentiator.
- The team has no flash specialist and no appetite to hire one.
- The enclosure is small, potted, or otherwise hard to rework.
- Time-to-market dominates the cost model.
When raw NAND is the clear answer
- You already own a validated FTL and want to keep tuning it.
- You need a NAND grade or vendor that no module supplier will commit to.
- Volume is high enough that the per-unit delta pays back the NRE inside the product life.
- You have a supply team that can manage two silicon relationships.
The middle cases
Some teams end up hybrid: a module for the shipping product and a raw-NAND skunkworks for the next generation. That is a legitimate strategy, but budget it honestly — you are paying for both paths at once.
Traps that show up after the PCB is committed
- Assuming a module is a drop-in for a raw-NAND footprint. It is not. Pinout, power, and command set differ. Treat any change of path as a new board revision.
- Assuming a raw-NAND design can fall back to a module. Only if you designed the footprint and interface for both from day one — which usually costs more board area than either path alone.
- Reading speed-class marketing as a guarantee. U1/U3 and A1/A2 describe specific SD-interface behaviours defined by the SD Association (speed class, application performance class, accessed 2026-10-20). They do not tell you how a module behaves under your write pattern at your temperature. For the interface-versus-class distinction, see speed-class-vs-bus-interface-which-governs.
- Skipping power-loss testing because the supplier “handles it.” The supplier handles their design; you handle your product.
- Forgetting that the host filesystem is part of the storage system. FAT, ext4, LittleFS and UBIFS all behave differently under interruption. Microsoft’s driver and filesystem documentation is a reasonable starting point for host-side expectations (learn.microsoft.com, accessed 2026-10-20).
- Not asking which health registers are exposed. Without them you cannot do field prognostics on either path.
Where WINTEL fits
WINTEL (Shenzhen Wintel Digital Technology Limited) manufactures custom TF/microSD cards, USB flash drives, UDP modules and semi-finished boards for OEM/ODM buyers. On the UDP side, that means a finished module you integrate rather than a bare die plus controller you must qualify yourself. The company operates a 5,000 m² facility in Shenzhen with a stated monthly capacity of 500,000+ units and holds SGS, RoHS, CE and FCC certifications.
What WINTEL does not claim here: specific speed classes, endurance or TBW figures, temperature ranges, MOQ or lead times are not stated in this article because they are part-number and project specific. Ask for them against the exact module you are evaluating. For the soldering side of a UDP integration, see udp-flash-module-soldering-and-reflow-guidelines; for the module-versus-card question, see tf-card-vs-udp-module; and for the cases where UDP is genuinely the wrong answer, see spi-emmc-bga-when-udp-is-not-the-answer.
If you are still at the package-selection stage, flash-package-formats-explained covers the footprint trade-offs before you commit a board.
FAQ
Is a UDP flash module just a raw NAND die in a smaller package? No. A UDP module is a packaged, tested storage device that already contains NAND plus a controller and the firmware that maps, manages bad blocks and wear-levelling. Raw NAND is a bare die or package with no translation layer; the host or a separate controller must supply that logic.
Can I move a UDP design to raw NAND later without changing the PCB? Not usually. Raw NAND needs a controller, a NAND interface (per JEDEC JESD230-class signalling), and a different pinout and power tree. Treat it as a new board revision, not a drop-in swap.
Which path is cheaper at low volume? UDP almost always wins below roughly tens of thousands of units, because you avoid controller NRE, firmware development and the qualification cycle. The crossover point depends on your firmware cost and how much of the controller work you already own — model it rather than assume.
Does choosing UDP mean I lose control of the firmware? You lose control of the internal flash translation layer, but you keep control of everything above it: filesystem choice, write patterns, power-loss handling at the host, and health monitoring. Ask the module supplier which commands and health registers are exposed.
What should I test on a UDP module before design freeze? Power-loss interruption during writes, sustained write throughput at your real block size, behaviour at your temperature extremes, and the health/SMART-style registers you plan to log. Run these on the exact module part number you intend to buy.
Sources
- SD Association — Speed Class: https://www.sdcard.org/developers/sd-standard-overview/speed-class/ (accessed 2026-10-20)
- SD Association — Application Performance Class: https://www.sdcard.org/developers/sd-standard-overview/application-performance-class/ (accessed 2026-10-20)
- USB Implementers Forum — Specifications: https://www.usb.org/documents (accessed 2026-10-20)
- JEDEC — Standards & Documents index (JESD84 eMMC, JESD230 NAND interface): https://www.jedec.org/standards-documents (accessed 2026-10-20)
- Linux kernel documentation — UBIFS: https://docs.kernel.org/filesystems/ubifs.html (accessed 2026-10-20)
- Microsoft Learn — Windows hardware drivers: https://learn.microsoft.com/en-us/windows-hardware/drivers/ (accessed 2026-10-20)
Ready to scope a module against your board? Send the footprint, interface and volume to request a quote, or start with the sample acceptance checklist so the first build answers the right questions.
Sources
Frequently asked questions
Is a UDP flash module just a raw NAND die in a smaller package?
No. A UDP module is a packaged, tested storage device that already contains NAND plus a controller and the firmware that maps, manages bad blocks and wear-levelling. Raw NAND is a bare die or package with no translation layer; the host or a separate controller must supply that logic.
Can I move a UDP design to raw NAND later without changing the PCB?
Not usually. Raw NAND needs a controller, a NAND interface (per JEDEC JESD230-class signalling), and a different pinout and power tree. Treat it as a new board revision, not a drop-in swap.
Which path is cheaper at low volume?
UDP almost always wins below roughly tens of thousands of units, because you avoid controller NRE, firmware development and the qualification cycle. The crossover point depends on your firmware cost and how much of the controller work you already own — model it rather than assume.
Does choosing UDP mean I lose control of the firmware?
You lose control of the internal flash translation layer, but you keep control of everything above it: filesystem choice, write patterns, power-loss handling at the host, and health monitoring. Ask the module supplier which commands and health registers are exposed.
What should I test on a UDP module before design freeze?
Power-loss interruption during writes, sustained write throughput at your real block size, behaviour at your temperature extremes, and the health/SMART-style registers you plan to log. Run these on the exact module part number you intend to buy.