El término ROM o Read Only Memory, significa memoria de solo lectura. Es un tipo de sistema de almacenamiento no volátil en una PC. Cada computadora viene equipada con esta memoria que contiene instrucciones para iniciar la computadora. La ROM almacena programas críticos, como el programa que inicia la computadora y realiza diagnósticos. Los datos almacenados en la ROM no se pueden reescribir o modificar fácilmente. Estos datos tampoco se pierden cuando se apaga la computadora. Sin embargo, las ROM funcionan a una velocidad mucho más lenta que la RAM. Además de las computadoras, las ROM también se utilizan en calculadoras y dispositivos periféricos, como impresoras láser, en las que la ROM almacena las fuentes.
Los diferentes tipos de ROM incluyen PROM (memoria de solo lectura programable), EPROM (memoria de solo lectura programable borrable), EEPROM (memoria de solo lectura programable borrable eléctricamente) y memoria Flash. Estos son los más utilizados para distribuir firmware.
El término firmware se define como un programa escrito previamente que se almacena en la ROM. Ayuda a configurar los dispositivos y no puede ser modificado fácilmente por los usuarios. Las instrucciones están codificadas en el Servicio Básico de Salida de Entrada (BIOS) y se almacenan en la ROM. La ROM contiene el programa cargador que ayuda a cargar un programa en la memoria del dispositivo. Algunos ejemplos típicos de dispositivos que contienen firmware en sus sistemas son relojes, computadoras, teléfonos móviles, cámaras, etc.
El firmware es la combinación de memoria persistente, código de programa y datos que se almacenan en ella. El firmware almacenado en estos dispositivos es el programa de control del dispositivo. Se mantiene o almacena en los dispositivos de memoria no volátiles, como ROM, EPROM o memoria flash. La memoria de firmware de un dispositivo se instala permanentemente y no se puede cambiar después de su fabricación, por lo que el firmware rara vez se cambia. Sin embargo, existen algunas razones para actualizar el firmware, como corregir errores o agregar nuevas funciones al dispositivo. Esto requiere la reprogramación de la memoria flash del dispositivo mediante un procedimiento especial.