The basic types of ROM are:
Mask ROM - This is used in production of relatively large quantities of a particular ROM program. The contents of the ROM are embedded at the mask level, and thus they are manufactured with their contents already in place. Not used for short runs or prototyping, because the cost of manufacturing masks would be prohibitive. Theoretically unlimited data life, but realistically there will probably be gradual changes over the life of the device that will eventually make it stop working.
PROM - Generally used for short runs of smaller ROM sizes (though perhaps not anymore; OTP EPROM is probably a lot more popular now). Manufactured as a generic product, then the contents are burned by the user by applying a "programming voltage" (typically 10-15 volts) and using the appropriate write algorithm. Cannot be erased, because it is fuse-based. Similar in principle to CD-R.
EPROM - Similar to PROM, but the underlying technology is such that the contents can be erased by exposing the memory to an ultraviolet light, after which it can be rewritten again. Similar in principle to CD-RW. Will eventually lose its data - data life varies by device, but has been roughly estimated at 10-20 years.
OTP EPROM - Identical to EPROM, but in a cheaper (typically plastic) package which has no window to expose the chip to UV, so it cannot be erased.
EEPROM/Flash - Similar to EPROM, except that it doesn't need UV light to be erased. Flash also doesn't need a programming voltage, so it is easier to rewrite it without removing it from the system it's in. It seems that the term "EEPROM" is now mostly used for serial memories, but I'm not really sure on the Flash/EEPROM distinction - I've seen multiple conflicting explanations of what constitutes a "Flash" device. Will eventually lose its data; AMD projects a 20 year lifespan for most of their current devices.
Hope this helps
.
(Edited by ExCyber at 2:01 am on Dec. 31, 2001)