In this blog post, I will teach you all four memory types used in a Cisco router. You will learn the meaning and role of each of them. Also, you will have an idea of where router configuration files and Cisco IOS image files are stored, and how to check and erase the content of NVRAM.

A Cisco router includes four distinct types of memory:

  1. ROM (EPROM)
  2. RAM (DRAM)
  3. NVRAM
  4. Flash Memory

Let’s explain each of them.

ROM (Read Only Memory)

What is ROM?

ROM Memory in a Cisco router is an integral component for proper functioning. ROM is also called EPROM (erasable programmable ROM). ROM stands for Read Only Memory; it is a non-volatile memory, meaning it retains its content even when the router gets shut down or restarted.

It hosts the bootstrap program, which is intended to start and maintain the boot process until the router knows which Cisco IOS image file should be loaded into RAM.

What is The Content of ROM?

Inside a Cisco router, ROM memory stores basic instructions necessary for:

  • Hardware initialization (POST or Power on Self-Test).
  • CPU initialization, starting the boot process, and loading the Cisco IOS operating system into RAM (bootstrap program).
  • Diagnosing some router issues detected during POST, resetting passwords, or loading a Cisco IOS image (ROM mode).

ROM includes a limited/mini IOS image called RxBoot that is launched when the Cisco router cannot find a valid image file to load, or the flash memory is empty.

All these essential functions can only be done via reliable and safe nonvolatile memories such as ROMs.

RAM (Random Access Memory) or DRAM

What is RAM?

RAM stands for Random Access Memory. The RAM memory in Cisco routers is called dynamic RAM, or DRAM. DRAM plays a key role in Cisco routers because it is used to store running configuration files and routing tables.

It is the most convenient type of memory for such a task because it offers the best read and write speed over the other types of memory. However, its contents are erased when the router is rebooted or shut down.

When a Cisco router first boots up, the bootstrap program, stored in ROM, is copied to RAM before being launched. Then, the bootstrap program selects a Cisco IOS image file from the FLASH memory and loads it into RAM before running the IOS image to manage the router. Yet, if a startup configuration file exists, it is replicated into RAM as the running configuration file.

Moreover, when new packets are received by the router, they are temporarily stored and processed using RAM before being sent out on their respective routed interface; therefore, having enough available RAM space will help manage overall network performance more efficiently.

Overall, Cisco routers use RAM to:

  • Run the Cisco IOS operating system.
  • Store the running configuration file.
  • Store IP routing and ARP tables.
  • Store packets temporarily before getting sent or after they are received.

How to Check the Total Space of RAM Inside a Cisco Router?

To check the size of RAM on a Cisco router, use the show version command. In this example, the RAM memory space is 491520 kilobytes + 32768 kilobytes, equal to 524288KB.

Router# show version | include memory
Cisco CISCO2901/K9 (revision 1.0) with 491520K/32768K bytes of memory.
255K bytes of non-volatile configuration memory

NVRAM (Nonvolatile Random Access Memory)

What is NVRAM?

NVRAM stands for Non-Volatile Random Access Memory. NVRAM memory is an essential component of Cisco routers; it is intended to store the startup configuration file of the Cisco router.

Since NVRAM loses its data when the router is turned off or reloaded, NVRAM offers long-term data storage compared to other volatile memory types like RAM, which requires a power supply to retain data, or ROM, which can‘t be changed at all once written into it.

How to Check the Total Space of NVRAM inside a Cisco Router?

To check the size of NVRAM on a Cisco router, use the show version | include non-volatile command. In this example, the NVRAM memory space is 255 kilobytes.

Router# show version | include non-volatile
255K bytes of non-volatile configuration memory.

How to Clear All Files in NVRAM inside a Cisco Router?

To delete all files in NVRAM, including the startup configuration file, use the write erase command or the erase nvram: command, and then hit Enter to confirm your action. This example clears the content of NVRAM.

R1# write erase
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]
[OK]
Erase of nvram: complete
%SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram

The show startup-config command states the startup configuration file is no longer stored in NVRAM.

R1# show startup-config
startup-config is not present

Flash Memory

What is Flash Memory?

Flash memory is widely used in many electronic devices, including smartphones, computers, printers, routers, and more. Cisco routers are no exception; they typically use flash memory to store their operating systems and related configuration files.

The main benefit provided by Flash chips lies in their small size which allows them to fit inside tiny router cases while giving ample space to store the IOS binaries which are essential for proper operations of network devices like routers and switches from Cisco Systems Incorporated (Cisco).

Flash memory is a type of non-volatile memory that retains its contents even when the Cisco router is turned off or rebooted. Flash memory comes in the form of an EEPROM or a PCMCIA card.

In order words, they play an important role as part of internal system architecture employed in most high-end networking components available today including but not exclusively limited just CISCO’s products.

Cisco IOS software gets stored in flash memory, which is the default memory type for Cisco IOS images on Cisco routers and switches. Additionally, Cisco IOS also uses this type of storage to store files of any kind. For example, you can backup router configuration files in flash memory.

How to Check the Total Space of Flash Memory Inside a Cisco Router?

Router# show version
Cisco IOS Software, C2900 Software (C2900-UNIVERSALK9-M), Version 15.1(4)M4, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Thurs 5-Jan-12 15:41 by pt_team

ROM: System Bootstrap, Version 15.1(4)M4, RELEASE SOFTWARE (fc1)
cisco2901 uptime is 20 minutes, 48 seconds
System returned to ROM by power-on
System image file is "flash0:c2900-universalk9-mz.SPA.151-1.M4.bin"
Last reload type: Normal Reload

This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.
Cisco CISCO2901/K9 (revision 1.0) with 491520K/32768K bytes of memory.
Processor board ID FTX152400KS
2 Gigabit Ethernet interfaces
DRAM configuration is 64 bits wide with parity disabled.
255K bytes of non-volatile configuration memory.
249856K bytes of ATA System CompactFlash 0 (Read/Write)


omitted output

How to Delete a File in Flash Memory inside a Cisco Router?

To remove a file from flash memory, issue the delete filepath command, hit Enter to confirm the file name, and then hit Enter again to confirm deleting the file.

This example removes the file rc.txt stored in the router’s flash memory.

R2# delete flash:/rc.txt
Delete filename [/rc.txt]?
Delete flash:/rc.txt? [confirm]

R2#

Related Lessons to Memory Types Used in a Cisco Router

Conclusion

I hope this blog post helps you learn something.
Now I’d like to turn it over to you:
What did you like about this tutorial?
Or maybe you have an excellent idea that you think I need to add.
Either way, let me know by leaving a comment below right now.

Mohamed Ouamer
Mohamed Ouamer is a computer science teacher and a self-published author. He taught networking technologies and programming for more than fifteen years. While he loves to share knowledge and write, Mohamed's best passions include spending time with his family, visiting his parents, and learning new things.