Once thought to be in decline, raw flash media is definitely on the rise in embedded designs. A relatively new form factor using the Serial Peripheral Interface (SPI) has advantages compared to earlier (and larger) packages of parallel flash. This brief article mentions a few of these, comparing the two options.
Both NOR and NAND flash are available in both packages. SPI NOR flash is quite common as boot media. Most offerings promise 20 years of data retention, which is excellent for boot code which is rarely (if ever) rewritten. If the SPI controller has an execute-in-place (XIP) feature, NOR flash can boot the system without copying the code to DRAM, as is required with NAND flash.
Form factor - space on the board
Embedded functionality is being designed into smaller and smaller devices every day. The size of the storage media can be a huge differentiating factor.
SPI flash media, both NAND and NOR, requires only eight traces to the processor - an equivalent parallel solution can require twenty-three. In addition to reducing the number of traces, these devices take up considerably less space on the PCB.
Another advantage for SPI flash is that the traces can be made considerably larger, and therefore provide more options for the circuit designer.
Media size and performance
Flash media is the chosen storage for more and more devices, from the very small to the very large. Size of flash available in a given form factor can be a large differentiator also.
Micron's website lists serial NAND in packages from 1Gb to 8Gb, with parallel NAND ranging from 128Mb to 512Gb. Compare this to eMMC, available in sizes from 2GB to 128GB. For smaller designs which can't fill that large space, the smaller options available in raw flash media can be the best solution.
For large designs, parallel flash or managed flash (from eMMC & UFS to eSATA and beyond) is probably the required solution. For smaller storage requirements, both flash media options are available. For the smallest, the best price is going to be SPI packaged media.
Performance - and Boot Performance!
Performance for all flash media is important, but this can be even more of a factor for the boot process. NOR flash, with the proper features, can execute in place for board bring-up. Typical devices that boot from NAND perform a two-step process, copying the data from the NAND to the DRAM memory space before executing.
The common wisdom is that Serial flash cannot read as fast as parallel solutions. This is because behind the scenes, data must be sent a bit at a time (4 bits for the Quad SPI commonly available today). High clock frequencies can mitigate much of that performance difference. Interestingly, there is an additional impact not often highlighted - the impact of error correction.
NAND error detection and correction (EDC) can show a 40% reduction in throughput of random reads. SPI NAND flash requires less error correction and usually has the ECC engine built into the die, resulting in a faster correction process. For boot devices, this slight difference can be a big factor.
While managed and parallel flash vie for larger designs, serial flash rules the microcontroller world. Better price for the megabytes required, smaller board footprint and fewer traces all result in lower cost overall - a key consideration for small embedded designs.
Regardless of the form factor your design ends up with, both raw NAND and NOR flash need software to handle this media. Wear leveling - both static and dynamic - maximize the lifetime of the flash. Thorough error management handles error detection and correction routines, preventing read disturb errors from growing beyond correction capacity. Last (but never least), performance can be customized to match customer requirements while providing the best reliability for the file system.
FlashFX Tera provides all this for NAND and NOR flash, in both parallel and SPI form factors. For small SPI NAND, FlashFX Tera may be more than your design needs - and we have a product coming soon that you will want to hear about. Stay tuned!