The Best Flash Memory Storage Solution: Is NOR or NAND Ideal for Your Project?
I must admit that I’m pretty ignorant when it comes to wine: should I get a white wine for my dinner date, or would a red be more appropriate? And don’t test me on the differences between different whites or different reds. I know that there are some guidelines for which variety to pair with various foods and flavors, but I have no idea what these recommended pairings are.
Just like red and white wines, NOR flash and NAND flash memory storage devices are similar but different. While lacking expertise in the wine department may not cost you your date, failing to distinguish the differences between NOR flash and NAND flash can result in jeopardizing your entire hardware design. Before you make your choice on the best flash memory storage solution for your project—NOR, NAND, or both—you need to truly understand what each accomplishes, and where they fall short.
The Basics of Flash Memory
But first, a quick refresher on flash memory. You likely won’t impress a date with this knowledge, but flash memory is a type of storage solutions that allows data to be retained for a considerably long period. Flash memory is often specified to retain data for at least 10 years, although realistically, the duration can decrease due to continuous usage of the all-flash memory storage.
In electronics design, flash memory storage is available as an individual integrated (IC) and require a proprietary protocol to write, read, and erase data on the flash IC parallel bus. Regardless of the communication method, the right protocol is still needed to be performed in order to access the internal memory cell.
Unlike Static Random Access Memory (SRAM), existing data on a particular address on the flash memory must be erased before a new byte can be written. The internal memory of the flash is organized in blocks. The erase operation will delete an entire block that may range from 8 KBytes to 128 Kbytes, depending on the types of flash used. In general, there are two ways a microcontroller can interface to a flash memory devices: serial or parallel bus.
NOR Flash vs. NAND Flash: Exploring the Differences
If you couldn’t guess by their names, NOR flash and NAND flash imply a resemblance of the internal memory cell’s characteristics respectively to those of NOR or NAND gates. There are significant differences between both types of memory that will affect your choice in design, such as:
Access Time: NAND flash was made ideal for USB drives with its fast write-and-erase time. NAND flash provides considerably faster write-and-erase time than NOR flash; however, its drawback is a slow reading time. With this in mind, NAND flash is ideal for applications like MP3 players and USB memory sticks where the data involved is small, or short. However, NAND flash is inferior for storing firmware codes that are loaded and executed by a microcontroller.
Storage Density: Because of the differences in internal architecture, NAND flash has a higher storage density than NOR flash. However, this benefit comes at the expense of the ability to perform random access read. Data that are stored in any location in the NAND flash have to be retrieved by reading the entire page where the data resides.
Life Span: After many erase cycles, it becomes only a matter of time before the flash memory wears. The NAND flash has a longer lifespan than the NOR flash. Generally, the former devices support up to 1,000,000 erase cycles while the latter may degrade after 100,000 erase cycles. As this may happen only to certain sectors of the flash storage devices, wear leveling algorithm may help in prolonging the usage by mapping data to other sectors.
Deciding Between NOR Flash and NAND Flash
Ultimately the choice between NOR flash or NAND flash depends on the requirements and purpose of your design. If you’re building a digital camera or mobile phone, NAND flash is the logical choice. But if you’re getting the right non-volatile storage to boot your program or need quick access to your validation algorithm, then NOR flash is the right option. For some applications, you may even require both types of flash to function effectively. For example, a fingerprint access controller may store the biometric information on the NAND flash and other security parameters on the NOR flash.
Whatever you choose, you’ll still need to abide by the best PCB practices when designing with flash. To achieve the maximum access speed, you’ll need to ensure that the serial or parallel connections are good enough to support high-speed transmission. Useful tools like differential or multiple bus routers in CircuitStudio® can help create a uniform connection.
Still undecided in your choice of flash memory devices? Learn more about the strengths and weaknesses of each by talking to an expert at Altium.