Flash memory is a form of EEPROM that allows multiple memory locations to be erased or written in one programming operation. Normal EEPROM only allows one location at a time to be erased or written, meaning that flash can operate at higher effective speeds when the systems using it read and write to different locations at the same time. All types of flash memory and EEPROM wear out after a certain number of erase operations.
NOR flash was the first type to be developed, invented by Intel in 1988. It has long erase and write times, but has a full address/data (memory) interface that allows random access to any location. This makes it suitable for storage of program code that needs to be infrequently updated, as in digital cameras and PDAss. Its endurance is 10,000 to 100,000 erase cycles. NOR-based flash is the basis of early flash-based removable media, Compact Flash and SmartMedia are both based on it.
NAND flash from Toshiba followed in 1989. It has faster erase and write times, higher density, and lower cost per bit than NOR flash, and ten times the endurance. However its I/O interface allows only sequential access to data. This makes it suitable for mass-storage devices such as PC cardss and various memory cards, and somewhat less useful for computer memory. NAND-based flash has led to several much smaller removable media formats, MMC, Secure Digital and Memory Stick.
Flash memory forms the core of the removable USB interface storage devices known as keydrives.