HK LIANYIXIN INDUSTRIAL CO., LIMITED  |  aero@uavchip.com  |  +86 157-0660-6161
← Back to Blog
Memory Design

How to Choose Flash Memory for Embedded Systems: NOR vs NAND vs eMMC

March 2025  ·  11 min read  ·  UAVCHIP Engineering Team

NOR flash chip and NAND flash memory for embedded systems
Selecting the wrong flash memory type can mean firmware corruption, data loss, or costly PCB respins. This guide walks through every flash memory option for embedded designers and UAV engineers.

Flash memory selection is one of the most consequential decisions in embedded system design. The wrong choice can impact boot time, data logging bandwidth, wear leveling complexity, and long-term reliability. There are three primary flash memory technologies relevant to embedded and drone applications: NOR Flash, NAND Flash, and eMMC.

NOR Flash: The Firmware Storage Standard

NOR flash provides random read access at the byte level, making it ideal for storing executable code. It is directly addressable via an SPI or QSPI/XIP (eXecute-In-Place) interface, meaning the MCU can run code directly from NOR flash without copying it to RAM first.

When to Use NOR Flash

Popular NOR Flash Chips

Part NumberCapacityInterfaceMax Read Speed
W25Q128JV128 Mb (16 MB)SPI / QSPI133 MHz
W25Q256JV256 Mb (32 MB)SPI / QSPI133 MHz
GD25Q128C128 Mb (16 MB)SPI120 MHz
MX25L12835F128 Mb (16 MB)SPI / QSPI108 MHz

NOR flash endurance is typically 100,000 program/erase cycles per sector, with data retention of 20 years at room temperature. For firmware storage (which is written rarely), this is essentially unlimited.

NAND Flash: High-Capacity Data Storage

NAND flash offers much higher density at lower cost-per-bit than NOR, but with a more complex interface. NAND is accessed in pages (typically 2–16 KB) and erased in blocks (typically 128–512 KB). It does not support XIP and requires a flash translation layer (FTL) or file system (e.g., YAFFS2, LITTLEFS, JFFS2) to manage bad blocks and wear leveling.

NAND Flash in Drone Applications

Raw NAND is used for high-bandwidth flight data logging. A 4 GB NAND chip can store hours of high-frequency IMU, GPS, and control surface data. ArduPilot and PX4 both support raw NAND logging with built-in FTL.

Key challenges with raw NAND: bad block management (all NAND chips have factory bad blocks plus accumulate more over life), ECC requirements (modern NAND requires hardware or software ECC to correct bit errors), and the need for a proper wear leveling algorithm to prevent localized exhaustion.

Popular NAND Flash Chips

Part NumberCapacityBus WidthPage Size
MT29F2G08ABAEA2 Gb (256 MB)8-bit async2 KB
MT29F4G08ABBDA4 Gb (512 MB)8-bit async4 KB
K9F2G08U0C2 Gb (256 MB)8-bit async2 KB

eMMC: NAND with a Built-In Controller

eMMC (embedded MultiMediaCard) packages NAND flash with a dedicated flash controller, bad block management, wear leveling, and ECC — all inside a single BGA package. From the host's perspective, eMMC looks like a simple block device with a standardized MMC interface, similar to an SD card but soldered directly to the PCB.

Advantages of eMMC Over Raw NAND

eMMC in Drones and Robotics

eMMC has become the default storage solution for companion computers running Linux-based flight stacks (e.g., NVIDIA Jetson Nano, Raspberry Pi CM4, Qualcomm RB5 Flight). It provides ample capacity (8–128 GB), fast boot, and reliable operation in the temperature ranges typical of drone operation.

Popular eMMC chips include the Micron MTFC8GAKAJCN (8 GB) and Samsung KLM8G1GETF (8 GB). For automotive-grade applications, industrial variants with SLC NAND are available with extended temperature and endurance ratings.

Decision Matrix: Which Flash Type Should You Choose?

Use CaseRecommended TypeExample Part
MCU firmware storage (XIP)NOR Flash (SPI/QSPI)W25Q128JV
Flight controller configurationNOR FlashW25Q64JV
High-bandwidth data logging (RTOS)NAND Flash + FTLMT29F4G08
Companion computer OS (Linux)eMMCMTFC8GAKAJCN
Large media storage (video)eMMC or SD cardKLM8G1GETF
EEPROM replacement (config only)SPI NOR Flash (small)W25Q16JV

Temperature and Endurance Considerations

For UAV applications, temperature range matters. Most commercial NOR and NAND flash is rated -40°C to +85°C industrial grade. eMMC chips vary: consumer grade is 0°C to +70°C, industrial grade is -40°C to +85°C. Drones operating at high altitude (where temperatures can drop to -20°C) or in hot desert climates need industrial-grade parts.

Endurance (P/E cycles) is critical if your application involves frequent writes. A flight controller writing blackbox data at 2 KB/s for 100 flight hours is writing roughly 720 MB. Even a 100K cycle NOR flash with 256 KB erase blocks can handle 25 million erase cycles on that block — far beyond the application lifetime.

Source Flash Memory for Your Embedded Project

UAVCHIP stocks W25Q, GD25Q, MX25L NOR flash and MT29F, K9F NAND flash in all capacities. Also available: MTFC and KLM eMMC for companion computer designs.

Browse NOR Flash Browse NAND Flash Browse eMMC

Frequently Asked Questions

What is the difference between SPI NOR Flash and QSPI NOR Flash?

SPI (Serial Peripheral Interface) NOR uses 1-bit data lines (MOSI/MISO), while QSPI (Quad SPI) uses 4-bit data lines simultaneously, achieving 4x higher read throughput. W25Q128JV, for example, supports both — single SPI at up to 80 MHz and quad SPI at up to 133 MHz. Most modern MCUs with OctoSPI or QUADSPI peripherals can use QSPI for much faster XIP performance.

Can I use eMMC as a direct SD card replacement?

Functionally yes — eMMC uses a compatible protocol to SD/SDIO. However, eMMC is soldered directly to the PCB (not removable), uses a BGA package, and requires a proper PCB footprint. For designs where storage must be field-replaceable, use a proper microSD socket instead. For designs where storage must be fixed (drone, IoT device), eMMC is preferable for vibration resistance and reliability.

What is JEDEC endurance and why does it matter?

JEDEC endurance refers to the number of program/erase (P/E) cycles a flash cell is guaranteed to survive as defined by the JEDEC standard (JESD47 for NOR, JESD68 for NAND). Higher P/E cycle ratings mean longer service life for write-intensive applications. SLC NAND typically rates at 100,000 cycles, MLC NAND at 3,000–10,000 cycles, and TLC NAND at 1,000–3,000 cycles.

Is W25Q128JV compatible with W25Q128FV?

Yes — they are pin-compatible and protocol-compatible. The JV suffix denotes the newer JEDEC 1.8V / 3.3V dual-voltage variant with improved performance. The FV is an older 3.3V-only part. For new designs, prefer the JV variant as it offers wider supply voltage compatibility and slightly better performance.

Related Articles