ROM or Read Only Memory is a kind of IC which comes with a package of data and instructions already embedded by the manufacturer. It is attached with all the electronic devices that we find around ourselves like microwave ovens, digital irons, digital washing machines, digital telephones, stereos, LCD TV and almost everything that starts with the word Digital or has anything to do with electronics. A ROM is also called a Firmware. Its core purpose in any electronic device is to control all mechanical parts if any by already stored instructions or in computers to help load bootstrap programs and it can also keep a little data to make things interesting and less boring for humans to operate.
Basically, a ROM chip is a non-volatile IC i.e. it doesn’t require power to keep the data in place. Since as its name suggests it is read only, the data inside the ROM is permanently unchangeable and there is nothing one can do to alter or remove it.
The data in a ROM is embedded in a large batch and if any of the data is corrupted or erroneous, the whole batch is worth throwing away in garbage but once it is successfully embedded and working, the cost may reduce down to a few cents (well of course in few PKR if you are so stereotype).
Unlike a RAM, which requires a transistor (and a capacitor if Dynamic, or a Logic if Static) to hold data and perform read and write operations, ROM requires a complete diode to hold data and become readable. The diodes are inserted on a grid of equal Rows and Columns intersection points on the ROM chip on a very microscopic level. A diode is a kind of logical component that allows voltage to run only in one direction and has a very subtle threshold that is called “Forward Breakover ” which tells how much power is required to break through a certain circuit to turn it on (i.e. “1” in binary btw) and read it like 1. If there is no diode embedded on intersection, there is a 0 by default(This is so neat). So basically while manufacturing a ROM, these tiny diodes or no-diodes are printed on the silicon chip which will be there forever.
Diodes exist to show that there is a value 1 which will be readable once threshold is reached.
No diodes to show that there is a default 0.http://www.electronics.dit.ie/staff/tscarff/memory/rom.gif
PROM (Programmable ROM)
Well, not all the ROM chips are required pre-programmed or if any particular little task is required to use a ROM, manufacturing of single or little amount of ROM may become very expensive. For this reason, Programmable ROMs were invented. They are type of ROMs which can be programmed only once and can be read many times.
Initially, they are blank in a manner that they don’t contain any data or instruction (well, that’s not all true because they contain healthy fuses all around the chip so default value in a PROM for each intersection point is “1” and it makes the PROM downright full) but as ROMs are designed by using grids of rows and columns where each intersection point contains a diode, the same grid based designed is used to manufactured a PROM with a minor difference which is they contain a “Fuse” (a fuse is a type of low resistance resistor that acts as a sacrificial device to provide overcurrent protection, of either the load or source circuit) on each grid row x column intersection point.
A PROM fuse on the grid intersection line can be made of nickel-chromium, polycrystalline silicon, or titanium tungsten.When a plotter is set to program a PROM, for each binary 1, it leaves a fuse intact and for each binary 0, it blows up a fuse (Genius!). Another little piece of information that lies hidden here is, all the fuses are assembled after a one-way diode in series (duh, Of course you cannot just “burn” a fuse on such microscopic level by amplifying voltage as much as you desire, so keeping things smooth and in control, a one-way diode with a traditional and convenient threshold would be nice to keep in the same neighborhood).
Another very important point is the reusability of a PROM chip in different sessions, though they are only once burnt and therefore are irremediable, a PROM chip can be burnt in parts to keep the other space intact for further burning (let’s say, after correcting a program or any addition in instruction and data of the existing program, BTW, I wish you read my paper thoroughly so you could read this conflicting point once again that in a CD-R, more data can be added up in parts).
Diodes are placed before a fuse
Fuse will blow if 0 and will be intact if 1, right now in initial state where all are 1http://www.electronics.dit.ie/staff/tscarff/memory/rom.htmhttp://www.electronics.dit.ie/staff/tscarff/memory/prom.gif
EPROM (Erasable Programmable ROM)
Not all the programs are compiled perfectly in just one attempt. Programmers have to compile a program, burn it on the chip and assemble it with the machine to check out whether it is working okay or not. In a long haul, programming with ROM or PROM specifically can be very uneconomical in terms of time and resources. A chip that may be programmed a number of times would be a nicer solution in this case.
An EPROM (Erasable Programmable ROM) is quite the solution that may address the issue. EPROMs are also called a REPROM or a Reprogrammable ROM. These memory chips use Floating Gate Technology (though there are a number of ways to construct an EPROM, but FGT is the most common one).The architecture of an EPROM contains grids of columns and rows with each intersection point containing two transistors. Between the two transistors exists a thin oxide layer. The first transistor connected with bit line (column) is called a Floating Gate and other connected with the word line (row) is called a Control Gate transistor. Before a Floating Gate transistor, a capacitor is in place to hold charge to release when required with a specific charge amount (approx. 10 to 13 volt).
When a link is established by the means of thin oxide layer between Floating gate and Control gate, it will be a binary 1. The hard part here is to ionize the thin oxide layer between Floating Gate and Control Gate to hold a binary 0. For this purpose, more voltage is provided to the oxide layer till it is full enough with electrons to break the connection between the bit line and word line. This release of charges onto a transistor creates a Quantum Effect (yes you read it right) called Fowler-Nordheim tunneling. This can also be stated that when the oxide layer is fully or more than 50% charged, it becomes a binary 0 and for the contrary case, becomes a binary 1.
Now the interesting part is to obliterate the chip to bring it to initial condition (i.e. FYI binary 1 for every cell of ROM). UV (Ultraviolet) waves are applied over the chip through a window (a QUARTZ window, to be more specific) which is attached right on the top of the chip. Almost enough light is shined over the chip with a very fine frequency (approx. 2537 angstroms) which may not supposedly penetrate the glass and plastic of the box it is covered with. The light must also be enough to break through the oxide layer’s negative charges so to set it to binary 1 and let bit line and word line connect. The time that it requires to perform this operation is also very subtle i.e. around 20 to 30 minutes. If an EPROM chip is exposed to UV light more than enough, the Floating gates will be open forever and won’t be able to trap any further electrons forever.
Shows a Fowler-Nordheim tunneling process where electrons exist to disconnect the Word line from Bit Line to hold 1 and don’t exist to link Bit line with Word line to hold 0.