Not everyone is familiar with the jargon that experienced engineers and technicians use when they talk about Microcontrollers (MCUs) and memory. NAND and NOR flash memories are used both externally and integrated with MCUs onto System-on-Chips (SoCs) and memory usage trends are evolving around other changes in technology. Both NOR and NAND flash have a place in embedded systems, however.
Skip this section if you are familiar with MCUs and memory.
MCUs often use external flash memory to store boot code. MCU processors are a computing engine only cannot work without software, which the system holds in non-volatile memory. Non-volatile memory does not lose data when power is gone. Examples of non-volatile memory include flash memory. Random Access Memory (RAM) is the working memory for processors to temporarily store data while executing code. Although RAM is fast, it loses everything whenever it loses power. RAM has evolved over the years, but a common type of RAM in use today is DDR DRAM, which stands for “Double Data Rate Dynamic Random Access Memory.” You will often hear someone referring to RAM as DDR or DRAM; they are merely identifying the specific type of RAM. You can learn more about various types of memory technology in an earlier post; the following is about NAND and NOR.
Embedded Trends NAND and NOR Flash memory
An MCU chip will boot up, getting boot code from non-volatile memory (often flash memory these days.) For example, new car speedometers use MCUs. The speedometer stores the speedometer’s program code in either on-chip (integrated) or external flash memory. Code-shadowing is the process of placing the code on flash memory and moving it to RAM. The trend these days is leaning more towards using external memory with faster serial interfaces. Most memory is accessed with a serial interface. Recall that a serial interface is a wire (or wires) that establish communication between two digital devices, transmitting and receiving data as a series of voltage pulses.
There are two main types of flash memory where code is stored, and they are NAND flash memory and NOR flash memory. NAND has much more capacity and a higher density than NOR. NAND is commonly available in larger capacities at generally above 1 Gb. (SD Cards and USB drives use NAND memory are found at up to 128 Gb and higher, of course.) NOR flash memory’s top capacity is around 1 Gb. NOR is also byte-addressable, which is why it’s used for code retrieval. NAND works with a block of memory at a time, which means that since NAND gets moved a block at a time, it gets put into temporary memory or cache, and then treated as a byte-addressable memory from there. Trends in embedded memory use are leaning towards NAND because operating systems are getting more substantial with the adoption of Linux and Android into embedded systems. It’s not feasible to put an operating system (OS) in NOR; you either need a specialized OS or a higher density form of memory like NAND. NAND is physically larger than NOR, but for external use with fast interfaces, NAND is worth the size trade-off. Thus, for embedded systems, more companies are code-shadowing from NAND; abandoning NOR flash memory to boot from NAND flash memory. Note that technically, the majority of MCUs do not have operating systems. The above refers to trends in memory usage in the embedded world. NOR flash has been evolving by going to higher densities, but changes in how embedded NOR gets used are mainly seen in faster interfaces, such as going from quad SPI to octal SPI.
NAND and NOR flash memory are both sold as external memory chips that are accessed by an MCU via an interface, which is most often SPI. Integrated chips like Systems-on-Chip can include flash memory on the chip and remove the need for an external memory chip and the interface to access the external memory. For a while, embedded flash was becoming quite a threat to external memory, but what’s happening recently is as the geometries of silicon chips are getting smaller and smaller on microprocessors. (Silicon geometries are reaching less than 20 nm, and yet the size of a silicon atom is 0.2 nm.) Interest in external NOR flash memory chips is increasing because embedded flash is taking up to 60% of SoC real estate in some cases, which is more of an issue when you have a highly integrated design where an IC needs to be very dense because the application is size-constrained. As an example, Wi-Fi/Bluetooth combo chips, which are used in wearables applications such as smartwatches. In this case, you have a tiny footprint in which to place ICs. Instead of building for width on the wearables and the chips, manufacturers have to go high. They just don’t have the real estate and therefore must combine memory, microprocessor, and the baseband radio. They may not need the density of NAND, but they need the high levels of integration.