Differences Between NorFlash and NandFlash

Follow,Star Public Number, Don’t Miss Exciting Content

Differences Between NorFlash and NandFlash

Editor: Huang

Material Source: Network

FLASH memory, also known as flash memory, mainly has two types: NorFlash and NandFlash. In actual development, designers can make reasonable choices for flash memory based on product needs. Below we will compare and introduce from multiple perspectives.

1. Interface Comparison

NorFlash has a universal SRAM interface, making it easy to connect to the CPU’s address and data buses, with low interface requirements for the CPU.

NandFlash devices use complex I/O ports to access data serially, with 8 pins used to transmit control, address, and data information. Due to more complex timing, it is generally best for the CPU to integrate a NAND controller. Additionally, since NandFlash is not connected to the address bus, if you want to use NandFlash as the system’s boot disk, the CPU needs to have special capabilities. For example, when the S3C2410 is selected for NandFlash boot mode, it will automatically read 4K data from NandFlash into the SRAM at address 0 upon power-up. If the CPU does not have this special capability, users cannot directly run code on NandFlash. Alternative methods can be taken, such as many development boards using NandFlash also use a small NorFlash to run boot code.

2. Capacity and Cost Comparison

Compared to NandFlash, NorFlash has a smaller capacity, generally around 1~16MByte. Some new processes have adopted chip stacking technology to increase the capacity of NorFlash. In terms of price, NorFlash is generally more expensive than NandFlash; for instance, a 4MByte AM29LV320 NorFlash is priced around 20 yuan, while a 128MByte K9F1G08 NandFlash is priced around 30 yuan.

The production process of NandFlash is simpler, and the NAND structure can provide higher capacity within a given mold size, thus reducing the price accordingly.

Differences Between NorFlash and NandFlash

3. Reliability Comparison

Bad blocks in NAND devices are randomly distributed. There have been previous efforts to eliminate bad blocks, but the yield was too low, and the cost was too high, making it not worthwhile. NAND devices require an initialization scan of the medium to discover bad blocks and mark them as unusable. In manufactured devices, if this process cannot be performed reliably, it will lead to a high failure rate. The bad block issue does not exist in NorFlash.

In terms of bit flipping (where a bit changes state), NAND has a much higher occurrence rate than NorFlash. This issue is critical when storing key files in Flash memory, so it is recommended to use error detection and correction algorithms like EDC/ECC when using NandFlash.

4. Lifespan Comparison

In NAND flash memory, the maximum erase cycles for each block is one million times, while NOR has an erase cycle of one hundred thousand times. The lifespan of flash memory is also related to the file system mechanism, which requires the file system to have wear leveling functionality.

5. Upgrade Comparison

Upgrading NorFlash is relatively troublesome because different capacities of NorFlash require different address line configurations, making it inconvenient to replace NorFlash chips of different capacities. Typically, we solve this issue by using jumper resistors on the address lines of the circuit board, tailored for different capacities of NorFlash.

In contrast, the interfaces for different capacities of NandFlash are fixed, making upgrades simple.

6. Read/Write Performance Comparison

Write operations: Any flash device’s write operation can only occur in empty or erased cells. NAND devices perform erase operations very simply, while NOR requires writing all bits in the target block to 1 before erasing. Erasing NOR devices occurs in blocks of 64~128KB, taking about 5 seconds for an erase/write operation. Erasing NAND devices occurs in blocks of 8~32KB, taking a maximum of only 4ms for an erase/write operation.

Read operation: NOR read speed is faster than NAND.

7. File System Comparison

In Linux systems, MTD is used to manage different types of Flash chips, including NandFlash and NorFlash. Common file systems that support operations on Flash include cramfs, jffs, jffs2, yaffs, and yaffs2. The cramfs file system is read-only. If read/write operations are to be performed on Flash, we typically select jffs or jffs2 file systems for NorFlash, and yaffs or yaffs2 file systems for NandFlash. The Yaffs2 file system supports large pages (greater than 512 bytes/page) of NandFlash memory.

Disclaimer: The material of this article comes from the network, copyright belongs to the original author. If there are copyright issues, please contact me for deletion.

Recommended Reading:
Selected Summary | Directory | Search
VS Code V1.43 Supports Remote Development, Synchronized Preview
Cortex-M Microcontroller Software Interface Standard CMSIS Details
Pay attention to the WeChat public account ‘strongerHuang’, reply ‘1024’ to see more exciting content.

Differences Between NorFlash and NandFlash

Long press to go to the public account in the image to follow

Leave a Comment