ROM
Read-Only Memory
ROM
Read-Only Memory
(ROM), also known as firmware, is an integrated circuit programmed with specific data when it is manufactured.ROM chips are used not only in computers, but in most other electronic items as well.
Different types of ROM and how each works.
ROM Types
There are five basic ROM types:
ROM
PROM
EPROM
EEPROM
Flash Memory
Each type has unique characteristics.
ROM
All types of ROM have two things in common:
Data stored in these chips is nonvolatile -- it is not lost when power is removed.
Data stored in these chips is either unchangeable or requires a special operation to change (unlike RAM which can be changed as easily as it is read).
This means that removing the power source from the chip will not cause it to lose any data.
The Way ROM Works
Similar to
RAM, ROM chips contain a grid of columns and rows.But where the columns and rows intersect, ROM chips are fundamentally different from RAM chips.
While RAM uses transistors to turn on or off access to a capacitor at each intersection, ROM uses a diode to connect the lines if the value is a "1."
If the value is "0," then the lines are not connected at all.
A diode normally allows current to flow in only one direction and has a certain threshold, known as the forward breakover, that determines how much current is required before the diode will pass it on.
Going to the PROM
Creating ROM chips totally from scratch is time-consuming and very expensive in small quantities.
For this reason, mainly, developers created a type of ROM known as programmable read-only memory (PROM).
Blank PROM chips can be bought inexpensively and coded by anyone with a programmer.
PROM
PROM chips have a grid of columns and rows just as ordinary ROMs do.
The difference is that every intersection of a column and row in a PROM chip has a fuse connecting them.
A charge sent through a column will pass through the fuse in a cell to a grounded row indicating a value of "1."
Since all the cells have a fuse, the initial, or blank, state of a PROM chip is all "1"s.
To change the value of a cell to "0," you use a special tool called a programmer to send a specific amount of current to the cell.
The higher voltage breaks the connection between the column and row by burning out the fuse. This process is known as burning the PROM.
PROM
PROM
PROMs can only be programmed once.
They are more fragile than ROMs.
A jolt of static electricity can easily cause fuses in the PROM to burn out, changing essential bits from "1" to "0".
But blank PROMs are inexpensive and are great for prototyping the data for a ROM before committing to the costly ROM fabrication process.
And Then Came EPROM
Working with ROMs and PROMs can be a wasteful business.
Even though they are inexpensive per chip, the cost can add up over time.
Erasable Programmable Read-Only Memory (EPROM) addresses this issue;
EPROM chips can be rewritten many times.
Erasing an EPROM requires a special tool that emits a certain frequency of
ultraviolet (UV) light.EPROMs are configured using an EPROM programmer that provides voltage at specified levels, depending on the type of EPROM used.
EPROM
In an EPROM, the cell at each intersection has two transistors.
The two transistors are separated from each other by a thin oxide layer.
One of transistors is known as a floating gate and the other one is the control gate.
The floating gate's only link to the row, or wordline, is through the control gate.
As long as this link is in place, the cell has a value of "1". To change the value to a "0" requires a curious process called Fowler-Nordheim tunneling.
Tunneling EPROM
Tunneling is used to alter the placement of electrons in the floating
gate.An electrical charge, usually 10-13 volts, is applied to the floating gate.
The charge comes from the column, or bitline, enters the floating gate and drains to a ground.
EPROM
To rewrite an EPROM, you must erase it first.
To erase it, you must supply a level of energy strong enough to break through the negative electrons blocking the floating gate.
In a standard EPROM, this is best accomplished with
UV light at a frequency of 253.7.Because this particular frequency will not penetrate most plastics or glasses, each EPROM chip has a quartz window on top of the chip.
The EPROM must be very close to the eraser's light source, within an inch or two, to work properly.
EPROM
An EPROM eraser is not selective, it will erase the entire EPROM.
The EPROM must be removed from the device it is in and placed under the UV light of the EPROM eraser for several minutes.
An EPROM that is left under too long can become over-erased.
In such a case, the EPROM's floating gates are charged to the point that they are unable to hold the electrons at all.
EEPROMs and Flash Memory
Though EPROMs are a big step up from PROMs in terms of reusability, they still require dedicated equipment and a labor-intensive process to remove and reinstall them each time a change is necessary.
Also, changes cannot be made incrementally to an EPROM. The whole chip must be erased.
Electrically Erasable Programmable Read-Only Memory (EEPROM) chips remove the biggest drawbacks of EPROMs.
EEPROMs
The chip does not have to removed to be rewritten.
The entire chip does not have to be completely erased to change a specific portion of it.
Changing the contents does not require additional dedicated equipment.
EEPROMs
Instead of using UV light, you can return the electrons in the cells of an EEPROM to normal with the localized application of an electric field to each cell.
This erases the targeted cells of the EEPROM which can then be rewritten.
EEPROMs are changed a byte at a time, which makes them versatile but slow.
In fact, EEPROM chips are too slow to use in many products that make quick changes to the data stored on the chip.
Flash memory
Manufacturers responded to this limitation with flash memory, a type of EEPROM that uses in-circuit wiring to erase by applying an electrical field to the entire chip or predetermined sections of it called blocks.
Flash memory works much faster than traditional EEPROMs because it writes data in chunks, usually 512 bytes in size, instead of a byte at a time.