Semiconductor memories come in different technologies and sizes. We present here a list of the basic memory technologies:
ROM | PROM | EPROM | OTPROM | EEPROM | Flash ROM | SRAM | DRAM | DDR SDRAM | RAMBUS
This type of memory is readable only. The memory will hold its contents in power off state. The memory cells are physically programmed, usually by a metal mask, and thus cannot be altered, nor erased. Data is determined before manufacturing the chip itself. This technology is only economically reasonable in very high volumes of identical chips. Due to the ever faster changing computer world this technology is becoming less and less in use. A typical application is the firmware inside a pocket calculator.
This type of memory is programmable only once. After programming its contents are stored in power off state. The memory chips are manufactured with all cells interconnected. The programming is done by blowing the links inside addressed cells on programmer equipment. The technology is usually bipolar and because of the relative high power dissipation and low bit density belongs to history now. A typical application is the preloading of other programmable devices.
This type of memory can be programmed and erased multiple times. Programming is done on program equipment, and after programming the contents are stored in power off state. The memory can be erased by exposing it to UV-B radiation. Therefore this type of chip has a package with a quartz window to allow erasure of the chip. An Eprom is almost always a MOS device giving it superior bit density and low power operation. Programming is done by raising the supply voltage and injecting electrons in the cell free floating gate through the hot-electron mechanism. Programmed data will remain for 10 years minimum, and over 100 years typically. As the programming operation under high voltage wears out the chip, only a limited number of program-erase cycles can be done, typically hundred to thousand. The number of read cycles is unlimited, classifying it as a read-only device. Eproms allow program alteration after a product has been designed and are a natural choice for systems needing on-board fixed program memory which can be alt ered easily in production. A typical application is the program memory for a microcontroller operated washing machine or a computer bios.
An OTPROM is electrically identical to an EPROM, except that it is packed in a plastic or ceramic package without quartz window, making it cheaper in volumes. The applications are identical to that of Eproms, except that the user must be sure of his code or data before programming as re-programming is not possible.
This memory technology is both electrically erasable and programmable. The technology is always MOS type, but density is less than that of eproms since its higher technological complexity. Programming is done by either hot electron injection or fowler-nordheim tunnelling into a cell's floating gate. Cell erasure is done by removing the charge from the floating gate using tunnelling again. Both programming and erasure are done under a higher supply voltage which is usually generated inside the device. Erasing can be done bit by bit, but is done byte by byte in most devices for practical reasons. The number of program/erase cycles a cell can have ranges from ten thousand to millions of times, dependent on the actual used technology and the manufacturer. Since programming and erasing is limited and slow (typically 5ms) these devices are still categorized as read-only devices, since the number of read cycles is unlimited. The data retention time is ten to over hundred years, and data is stored in power off state. Typical applications is the storage of telephone numbers in a gsm telephone of a fax machine, the storage of settings on a digital monitor or a TV-set, etc...
This type of memory is basically identical to the EEPROM technology except that the whole memory or a sector of the memory is erased in one time. The advantage is that a higher density is allowed and that the price per bit is cheaper. Typical applications are solid-state disks and firmware memory. Flash roms have an advantage over Eproms that they can be reprogrammed while residing on board. A Flash rom could thus be reprogrammed over a modem line without touching the hardware.
This memory is structurally different from ROM memory in a sense that there is no limitation in rewriting the data. Static RAM consists of an array of bi-stable flip-flops which can be programmed in either state and will keep that state until the power supply is removed. The technology was Bipolar in the early days, but all most static ram memory is based on MOS technology. In the market for mainframe applications there is still a market for ECL bipolar devices which are manufactured as such purely for speed. MOS static ram will draw little current when not being accessed and is capable of retaining data at a lower supply voltage. Sometimes static ram memory is made non-volatile by backing it up with a battery. Such a memory is used to store computer set-ups. Today static ram memory is mainly used as microcontroller ram memory for its simplicity or as computer cache memory for its better possible speed. Most static ram is asynchronous memory. However, synchronous sram memory exists. The difference is that the chip receives a clock signal to which all actions are scheduled, making the data output time more precise. For this reason synchronous sram is only used for high speed applications, such as cache memories or fast data loggers.
This type of memory is different from static ram in a sense that the cells are not bi-stable elements but just addressed capacitors holding a charge which represents the state of the cell. As this charge leaks away over time the cell needs to be read out and reprogrammed regularly. Typically this must be done each 4-100ms for the whole array. Since the state of the cell is a mere analogue voltage the technology is called dynamic. The technology has several disadvantages : Since the data is a charge which can be disturbed by internal or external events the soft error rate is higher than with other types of memory. Also the complexity of the circuits controlling the memory is much higher since the address bus is generally multiplexed and the cells must be refreshed regularly. During refresh the memory may not be available for data, dependent on the refresh scheme used. Finally dynamic ram is slower than static ram. Its only advantage over static ram is PRICE. Dynamic ram is a fourfold cheaper per bit over static ram, explaining its wide use in computer applications where large memory sizes are required as data or program memory. Today Dram's come in different technologies which are all designed to overcome one of the biggest drawback of drams : speed.
- Fast page mode (FPM) : This type was the most widespread until 1996. It used to represent over 90% of all dram sales. Fast page dram allows the system to select a row address and then a column address as usual. The page is then determined by the row address, and the system can switch within a very short time to another column address while keeping the rom address identical (within the same page).
- Nibble mode : This type allows to read or write data on 4 successive addresses in a burst mode. A row and column address is selected, and the next three locations become the logical next addresses without full addressing needing to reoccur.
- Static column mode : This type allows static addressing once a row address has been selected. As soon as this has been done (a page has been chosen) the column address can freely change without column strobing, making the device faster.
- EDO mode (Extended Data out) : This type is basically fast page memory with an added data latch which hold the data at the output while the address changes, allowing a higher memory bandwith. This type of memory has become mainstream since 1996 or personal computers.
- SDRAM (Synchronous Dram) : This is basically a dram with a fixed clock making data transfers more precise and thus faster. SDrams come in many different technologies and can have important internal architectural differences. All SDrams are designed to boost speed. Some will be better for cpu applications, other will be more suitable for video applications. Basically SDRAM memory is FPM memory made synchronous, has several banks that can be accessed simultaneously and can accept memory handling commands.
This is SDRAM which is clocked on both Positive and negative clock edge.
This is an architecture that uses internal banks of FPM memory and is programmable. The internal FPM banks run at 100MHz and can be accessed simultaneously. The biggest difference between Rambus and Sdram is the dedicated interface (rambus channel) which uses different logic levels to speed up data communication. The rambus interface resembles a current drive, such as the ECL interface used in the early days of supercomputers made with bipolar technology.
More memory types than listed do exist, for instance ferroelectric semiconductor devices which have not come out of the lab until today, or bubble memories which have disappeared or found their way in very special applications. Other memories are a combination of the technologies above. Examples are PSRAM (Pseudo-Static RAM) which is a dynamic ram memory with a self refresh capability and thus mimicking static ram, or NOVRAM Non Volatile RAM) which is a hybrid technology of static ram and eeprom.