Comparison of NorFlash, NandFlash and eMMC (2)
Nand flash
Nand-flash memory is a kind of flash memory, which adopts nonlinear macro element mode, providing a cheap and effective solution for the realization of solid-state large-capacity memory. Nand-flash memory has the advantages of large capacity, fast rewriting speed and so on, and is suitable for the storage of large amounts of data, so it has been more and more widely used in the industry, such as embedded products including digital cameras, MP3 Walkman memory cards, compact U-disks and so on.
NorFlash is one of the two main non-volatile flash memory technologies in the current market. Intel first developed NorFlash technology in 1988, revolutionizing the situation that EPROM and EEPROM dominated the market. Then, in 1989, Toshiba published NandFlash architecture, which emphasizes lower cost per bit, higher performance, and easy upgrade through the interface like a disk. But after more than a decade, a significant number of hardware engineers are still confused with NOR and NAND flash.
Because NAND is often used interchangeably with NOR, many industrial people are also confused about the superiority of NAND technology over NOR. In most cases, when flash is only used to store a small amount of code, NOR is more suitable. NAND is an ideal solution for high data storage density.
NorFlash is characterized by chip executing in place (XIP) so that applications can run directly within flash without having to read the code into system RAM. The transmission efficiency of NOR is very high, and it has high cost-effectiveness in small capacity of 1~4MB, but the low writing and erasing speed greatly affects its performance.
The structure of NAND provides extremely high unit density, leading to high storage density, and fast speed in writing and erasing. The difficulty in applying NAND is that flash management requires a special system interface.
Characteristics
Capacity and cost
The unit size of NAND flash is almost half that of NOR. Due to the simpler production process, NAND structure can provide higher capacity within a given die size, which reduces the price accordingly.
NOR flash accounts for most of the 1~16 MB flash market, while NAND flash is only used in 8~128 MB products. This suggests that NOR is primarily used in code storage media, and NAND is suitable for data storage. NAND has the largest share in the market of CompactFlash, Secure Digital, PC cards, and MMC memory cards.
Physical composition
The data of NAND flash is stored in memory cell in the form of bit. In general, only one bit can be stored in a cell. Then, these cells are connected into bit line in units of 8 or 16 to form so-called byte (x8)/word (x16), which is the bit width of NAND device. These line will form a page (NAND flash has a variety of structures, which I use is K9F1208, so the following content is for Samsung K9F1208U0M), with 528 Bytes per page (512 Byte (Main Area) +16 Byte (Spare Area)). Each 32 page forms a block (32*528 B), the number of which on a flash is determined as need. Samsung K9F1208U0M has 4,096 block, so the total capacity is 4096* (32*528b) =66MB, but 2MB is used to save additional data such as ECC verification Code, thereby 64MB being used in practice.
NAND Flash reads and writes data in pages, and erases data in blocks. In this way, three types of addresses can be formed:
Column address
Page Address
Block Address
For NAND flash, addresses and commands can only be passed on I/O[7:0], with a data width of 8 bits.
Reliable durability
Reliability is a key consideration when using flash media. Flash is a very suitable storage solution for systems that need to extend MTBF. The reliability of NOR and NAND can be compared from three aspects: lifetime (durability), bit switching, and bad block handling.
Lifetime (durability)
The maximum number of erases per block in NAND flash are 1 million, while in NOR are 0.1 million.
In addition to the 10 to 1 block erasure cycle advantage, NAND memory has 8 times smaller than NOR device in size, therefore, the number of deletion per NAND memory block is less in a given time.