Embedded flash-memory-based MCUs are dominating new system designs. This is true even in high-volume production because of flash memory’s flexibility and reprogrammability. Improved performance, life, and reliability have been pivotal to flash MCU’s success. ROM-based solutions will continue to be useful for products shipped in very large quantities. But embedded flash is replacing ROM and one-time-programming (OTP) solutions by meeting the long-term stability and cost goals set by these well established technologies.
A wide range of processor architectures, from 8-bit MCUs to 64-bit processors, use embedded flash memory. This diversity of architectures and system requirements prevents one flash architecture from meeting the needs of all systems. It also differentiates the requirements for embedded flash memory and bulk flash storage found in products that range from digital cameras to solid-state hard-disk drives. Fast access, high reliability, and a wide temperature operating range distinguish embedded flash from bulk flash solutions.
Different Flash-Memory Technologies
All flash-memory architectures use a form of floating gate. The approach employs Fowler-Nordheim tunneling to move electrons to or from the floating gate (see "How Flash Memory Works"). Some options for embedded flash memory include the use of a single or double transistor architecture and the use of an n- or p-type substrate. MCU developers rarely get down to this level to determine what type of product to choose. Instead, vendor per-formance, cycle, and lifetime specifications provide a developer with the kind of information needed to differentiate one approach versus another. One big factor that arises when considering a particular flash-based MCU is programming methods (see "Choosing a Flash Memory MCU"). Most flash-memory MCUs have multiple programming methods (see "Programming Embedded Flash 101"). Consider this issue only after an application is developed because it can affect production efficiency. For example, an application that uses a large amount of flash memory will need high programming speeds. Otherwise, the assembly line will have to be slowed down to accommodate the MCU’s limitations.