> Someone asked what the difference between flash and eeprom really was... I > expected a flury of responses, but there haven't been any so far, so I'll > take a shot at it. As I understand it, the underlying technolgies are > pretty substantially different (with flash being similar to eeprom > technology, and EEPROM being more similar to RAM technology, I think.) > However, the END USER difference is usually that EEPROM is erasable and > re-writable on a byte-by-byte basis, while FLASH is only bulk erasable. > I guess by labling the program memory "flash", a manufacturer does not > have to provide byte erasability that my be difficult from any number > of non-technology perspectives. Sort of... from my perspective, Flash is closer to EPROM [single E] while EEPROM is between EPROM and RAM in design. Other properties: [1] EEPROM is _usually_ byte-erasable though some older EEPROM chips were only device- or block-eraseable. [2] EEPROM is _usually_ a higher-endurance technology, at least with regard to erase cycles (sometimes with Flash it's possible to successively clear bits until on the last cycle they're all erased; in this case, Flash's endurance can be pretty good). [3] Many Flash chips offer substantially faster writes than EEPROM, but slower erase cycles. I think AMD's 256x16 Flash device, for example, has a write cycle of about 10us [1000x faster than the 16C84 EEPROM] but an erase time of several seconds [300x slower than the 16C84 EEPROM]. Note that in many applications the erase time of a Flash device may not be a major issue since an erase cycle only has to be performed once for many bytes to be written.