Large capacity, faster, and cheap storage are needed for today's ever increasing data demand and complex system software image. In this article, we will provide both common storage and its applications in different electronic system and finish it with a practical storage example that is commonly used today in smart electronic devices.


Storage are Nonvolatile Memory (NVM): Data in memory is retained when powered off

Read Only Memory

  • This type of memory is pre-programmed at factory with permanent firmware/data that can't be changed
  • It is used on computer/microcontroller to store and run the boot code for initialization.

Programmable Read Only Memory (PROM)

  • This NVM type of memory can programmed once by the user.
    • Also commonly referred to as as one time programmable (OTP) memory using either fuse or anti-fuse technology for programming the memory once.
      • Note: Anti-fuse is opposite of fuse meaning that an electrical connection after anti-fuse process is a short rather than a open connection.


  • It can be used to for security purposes such as program a encryption key into the device for digital right management in video streaming applications (Netflix) or program a firmware version so that any previous revision of of firmware cannot be re-installed into the device; this is called anti-roll back protection.

Electrical Erasable Read Only Memory (EEPROM)

    • This is a NVM type of memory can be erased and reprogrammed by the user.
    • Slower erase and program due to capability of accessing each memory location (byte-wise erasable)
    • Larger read and write cycle than flash memory


    • Ideal for low power application and low data needs such an embedded system using microcontroller.
    • Note: On microcontroller, Flash memory is used to store program and static data and EEPROM (Electrically Erasable Read-only Memory) is used to store persistent data. microcontroller is designed to use EEPROM efficiently for persistent data storage.


    • This is a NVM type of memory can be erased and reprogrammed by the user.
    • FLASH is a type of EEPROM that uses floating transistors to store data.
    • Faster erase and program due to capability of accessing a block of memory locations. ( bock wise erasable)
    • Cheaper and comes in large density.


    • Ideal to use as the main storage unit for PC or smart embedded devices (phone, TV, speaker,etc).

Two types of Flashs

  • NAND Flash
    • NAND flash has a faster write speed but slower read speed
    • Lower cost per bit
    • Higher storage density
  • Application
    • Ideally for data storage due to faster write speed.
  • Nor Flash
    • NOR flash has a faster read speed but slower write speed
    • higher cost per bit
    • Lower storage density
    • lower standby power.
  • Application
    • Ideal memory for code storage and execution due to faster read speed.

Practical Storage Design in Electronic System

  • There are two common external storage types with integrated controller, eMMC and UFS NAND Flash memories.
  • eMMC and UFS are two types of memory controller that access the NAND memory cells and interface with main processor.
  • Main differences
    • eMMC (embedded Multi-Media Controller)
      • Half duplex means that memory can be either read or write at the a time.
      • 8 bit wide I/O bus with singled ended signaling
      • slower read and write speed than UFS
    • Application
      • Consumer friendly devices such as OTT boxes, TVs, etc where storage latency is not that critical.
    • UFS (Universal Flash Storage)
      • Full duplex means that memory can be read and write at the same time.
      • 1 I/O lane (1 transmit and 1 receive using low voltage differential pair signalling)
      • Higher read and write speed than eMMC (e.g. UFS3.0 has 8x read speed than eMMC 5.1)
    • Application
      • High end device such as mobile phones requiring faster memory read and write throughput.

Summary & Conclusion

    • Non-volatile memory are referred as storage where data is retained when power is lost.
    • ROM cannot be programmed by user
    • PROM can be programmed by user only once
    • EEPROM is can be program and read by the user
    • NAND Flash is has a lower cost per bit than NOR Flash making it popular in consumer electronic market
    • eMMC and UFS NAND Flash with integrated controller are common types of large capacity storage that is found in almost all smart electronics today

Storing and retaining a large amount of data when powered off is critical of today's electronic system due to more complex firmware and more data storage such as music, pictures, etc. As a electronic system engineer, understand different type of memory and its applications is essential to part selection and performance evaluation for the product.