18
\$\begingroup\$

I've seen a few systems that uses a NOR flash to boot from, and a NAND for a bigger filesystem. I've also seen a system with only NAND gets corrupted after files being written to and verified correct.

Are NOR used because it is more liable to boot a system? Or any other reasons?

Have you seen NAND not reliable?

\$\endgroup\$
24
\$\begingroup\$

It's not so much that NAND is not reliable (although it is less reliable), it's the fact that they are different sorts of memory in how they are accessed and the differences in speed of read/write; they are therefore useful for different applications.

NOR's main advantage is that it is random access, which makes it possible to use it to run code. It has a full address and data bus, so you can address any location and read from/write to immediately (writing assumes the address is empty of course).

You read/write NAND by setting up the address through its small I/O interface then reading or writing data with the address auto incrementing with each read or write. This makes it good for writing or reading streams of data or files. Write speed for NAND is faster than NOR. When you're writing images on a camera, for example, that fast write speed is especially useful. NAND's higher density is, of course, better for applications such as storing data.

Edit: after Marcus' question.

There is a reason for this access because of the way the MOSFETs are physically organised in the IC. To borrow a little from Wikipedia:

In NOR flash, each cell has one end connected directly to ground, and the other end connected directly to a bit line. This arrangement is called "NOR flash" because it acts like a NOR gate.

The fact that each cell has one end connected to a bit line means they (and so each bit) can be accessed randomly.

NAND flash also uses floating-gate transistors, but they are connected in a way that resembles a NAND gate: several transistors are connected in series, and the bit line is pulled low only if all the word lines are pulled high (above the transistors' VT).

This means that every bit in the word has to be accessed at the same time.

\$\endgroup\$
  • 5
    \$\begingroup\$ Um, how is the cell technology (NOR/NAND) related to the addressing method (row-wise vs word-wise)? Honest question! If there is a link between these two, I wouldn't know it. (Especially since nor flash is usually also arranged in larger delete blocks) \$\endgroup\$ – Marcus Müller Nov 30 '17 at 9:26
  • 2
    \$\begingroup\$ @MarcusMüller, that's a fair question and one I've never looked into. I'd always just had blind acceptance that there was a low level reason for it. I'm going investigate that now! \$\endgroup\$ – DiBosco Nov 30 '17 at 9:28
  • 1
    \$\begingroup\$ Related: electronics.stackexchange.com/questions/145358/… \$\endgroup\$ – jpa Nov 30 '17 at 14:44
3
\$\begingroup\$

The design of NOR-cell memory allows bits to be programmed (written to "0") independently, in any order, and without any risk of disturbing other bits. Some NOR-cell based memory arrays use error-corrected chunks of memory which must be written in chunks of a certain size (e.g. 32 bits) rather than a bit or even byte at a time, but that still makes it practical to write many small pieces of data independently in the same block without having to relocate the data and erase the old block.

Many NAND flash devices, by contrast, require that each page of data be written using at most two discrete operations, before the entire page will need to be erased. If one wants to repeatedly append data to the same page, each such operation would require a page copy and erase cycle (perhaps one might optimize things to only use a copy and erase after every cycle, but when using NOR flash one might manage 1,000 small updates for each copy/erase cycle).

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.