ROM is read-only memory available on a router's processor board. The initial bootstrap software that runs on a Cisco router is usually stored in ROM. ROM also maintains instructions for power-on self test (POST) diagnostics. For ROM Software upgrades, the pluggable chips on the motherboard should be replaced.
Flash memory is an Electronically Erasable and Re-Programmable memory chip. The Flash memory contains the full Operating System Image (IOS, Internetwork Operating System). This allows you to upgrade the OS without removing chips. Flash memory retains content when router is powered down or restarted.
RAM is very fast memory that loses its information when the system is restarted. On a router, RAM is used to hold IOS system tables and buffers. RAM memory is basically used for all system operational storage requirements. RAM Stores routing tables, Keeps ARP cache, Performs packet buffering (shared RAM) and RAM Provides temporary memory for the router configuration file of the router while the router is powered on.
NVRAM (Non-volatile Random Access Memory)
NVRAM is used to store the startup configuration. This is the configuration file that IOS reads when the router boots up. It is extremely fast memory and retains its content when the router is restarted.