RAM and ROM are the words used by computer users and micro controller programmers very frequently. Let me discuss RAM and ROM here…..


A digital intelligent system needs two types of memories. Conventionally they are called as RAM (Random Access Memory) and ROM (Read Only Memory). Today, technological advancement proves these names to be misnomers. However, it is interesting to know RAM and ROM.

Is there a “non random” access type of memory ? Yes! A tape in a tape recorder is a sort of memory but that has to be accessed only serially.

Now imagine yourself standing in front of a book-shelf in a library. You have all the books on the shelf in front of you. And you can take out any one at any time. This is random access to any book. A memory bank (hundreds and thousands of registers made of flip-flops) is organised in such a way, that any memory location (register) can be accessed for reading or writing, any time. This is random access memory. Today, all memories used in digital systems are random access memories. Factor which makes the difference is its behaviour when power fails.

If memory looses its contents when power fails, the memory is temporary memory or volatile memory. This is used to store intermediate data during the process of computation. Memory which retains data even after power is off, is non-volatile memory. A hard disc is an example of such memory. Usually operating systems and applications programmes reside in this memory. In both cases, any memory location at a time is accessible.

In micro controllers, volatile memory is called data memory. It can be very quickly accessed. Non volatile memory is used for storing application programmes. It is called as the “ Programme Memory”. Non volatile memory is not a ROM (Read Only Memory) because it can be re-written when needed. In earlier versions of memories memory cells were “fuse based”. Once fuse was blown, it couldn’t be modified. So the memory was read only. Today we use flash technology which allows us to re-programme the non-volatile memory about 10,000 times. We have to access a full group of registers (called as a “page”) to re-programme however.

Another type of non volatile memory is available. It is called as EEPROM. It is non volatile and even one byte is accessible for writing making it superior to flash memory.