Flash Memory - ISpillMyDrink/UEFI-Repair-Guide GitHub Wiki

Technical background on flash memory, specifically NOR flash.

NAND vs NOR

Common to all types of flash memory is the fact that they are made up of single bit memory cells consisting of floating gate MOSFETs differing only in the arrangement of these cells. In NOR flash the cells are connected in parallel resembling a NOR gate, in NAND flash the cells are connected in series in sets of usually eight cells at a time resembling a (you guessed it) NAND gate.

Erase, Read, Write

NAND flash has slow read times but fast erase and write times, and is therefore ideal for storing data that needs to be frequently changed. In contrast, NOR flash has fast read times (and especially fast random access times) but slow erase and write times, making it the perfect candidate for data that isn't expected to change frequently, such as firmware. Modern flash is divided into erase segments and write segments, where an erase segment will have a size that is a multiple of a write segment. In NOR flash a typical erase segment (or block) is 4KB in size while a write can generally be done on a per-byte basis. A block first needs to be erased before any writes can be done to it.

Reliability

NAND flash typically has a certain amount of defective cells straight out of production; this is due to the much denser layout of the transistors in NAND memory whilst NOR flash is generally expected to be fault-free.

25xx Flash / SPI Flash

TODO