Memoria de solo lectura

Memoria electrónica que no se puede modificar
Muchas consolas de juegos utilizan cartuchos ROM intercambiables, lo que permite que un sistema ejecute varios juegos. Aquí se muestra el interior de un cartucho Pokémon Silver para Game Boy . La ROM es el circuito integrado que se encuentra a la derecha y tiene la etiqueta "MX23C1603-12A".

La memoria de solo lectura ( ROM ) es un tipo de memoria no volátil que se utiliza en ordenadores y otros dispositivos electrónicos . Los datos almacenados en la ROM no se pueden modificar electrónicamente después de la fabricación del dispositivo de memoria . La memoria de solo lectura es útil para almacenar software que rara vez se modifica durante la vida útil del sistema, también conocido como firmware . Las aplicaciones de software, como los videojuegos , para dispositivos programables se pueden distribuir como cartuchos enchufables que contienen ROM .

En sentido estricto, la memoria de solo lectura se refiere a la memoria cableada, como una matriz de diodos o un circuito integrado (CI) de ROM de máscara, que no se puede modificar electrónicamente después de su fabricación. Aunque los circuitos discretos se pueden modificar en principio, mediante la adición de cables improvisados ​​y la eliminación o sustitución de componentes, los CI no pueden hacerlo. La corrección de errores o las actualizaciones del software requieren la fabricación de nuevos dispositivos y la sustitución del dispositivo instalado.

Las memorias semiconductoras ROM de puerta flotante en forma de memoria de solo lectura programable borrable (EPROM), memoria de solo lectura programable borrable eléctricamente (EEPROM) y memoria flash se pueden borrar y reprogramar. Pero, por lo general, esto solo se puede hacer a velocidades relativamente lentas, puede requerir equipo especial para lograrlo y, por lo general, solo es posible una cierta cantidad de veces. [1]

El término "ROM" se utiliza a veces para referirse a un dispositivo ROM que contiene software específico o un archivo con software que se almacenará en un dispositivo ROM grabable. Por ejemplo, los usuarios que modifican o reemplazan el sistema operativo Android describen los archivos que contienen un sistema operativo modificado o de reemplazo como " ROM personalizadas " en honor al tipo de almacenamiento en el que se escribió el archivo, y pueden distinguir entre ROM (donde se almacena el software y los datos, generalmente la memoria Flash ) y RAM.

Historia

ROM de componentes discretos

IBM utilizó almacenamiento de solo lectura de condensadores (CROS) y almacenamiento de solo lectura de transformadores (TROS) para almacenar microcódigo para los modelos más pequeños del System/360 , el 360/85 y los dos modelos iniciales del System/370 ( 370/155 y 370/165 ). En algunos modelos también había un almacén de control escribible (WCS) para diagnósticos adicionales y soporte de emulación. La computadora de guía Apollo utilizó memoria de cuerda de núcleo , programada enhebrando cables a través de núcleos magnéticos.

ROM de estado sólido

El tipo más simple de ROM de estado sólido es tan antiguo como la tecnología de semiconductores en sí. Las puertas lógicas combinacionales se pueden unir manualmente para mapear la entrada de dirección de n bits en valores arbitrarios de salida de datos de m bits (una tabla de búsqueda ). Con la invención del circuito integrado llegó la ROM de máscara . La ROM de máscara consiste en una cuadrícula de líneas de palabra (la entrada de dirección) y líneas de bit (la salida de datos), unidas selectivamente con interruptores de transistores , y puede representar una tabla de búsqueda arbitraria con un diseño físico regular y un retardo de propagación predecible . La ROM de máscara se programa con fotomáscaras en fotolitografía durante la fabricación de semiconductores . La máscara define características físicas o estructuras que se eliminarán o agregarán en los chips de ROM, y la presencia o ausencia de estas características representará un bit 1 o 0, dependiendo del diseño de la ROM. [2] Por lo tanto, por diseño, cualquier intento de cambiar electrónicamente los datos fallará, ya que los datos se definen por la presencia o ausencia de características físicas o estructuras que no se pueden cambiar electrónicamente. Para cada programa de software, incluso para las revisiones del mismo programa, se debe cambiar toda la máscara, lo que puede resultar costoso.

En la ROM de máscara, los datos están codificados físicamente en el circuito, por lo que solo se pueden programar durante la fabricación. Esto conlleva una serie de desventajas graves:

  • Sólo resulta económico comprar ROM de máscara en grandes cantidades, ya que los usuarios deben contratar a una fundición para que produzca un diseño personalizado para cada pieza o revisión del software.
  • El tiempo de respuesta entre la finalización del diseño de una máscara ROM y la recepción del producto terminado es largo, por la misma razón.
  • La ROM de máscara no es práctica para el trabajo de I+D ya que los diseñadores con frecuencia necesitan modificar rápidamente el contenido de la memoria a medida que perfeccionan un diseño.
  • Si un producto se envía con una ROM de máscara defectuosa, la única forma de solucionarlo es retirar el producto y reemplazar físicamente la ROM en cada unidad enviada.

Los desarrollos posteriores han solucionado estas deficiencias. La memoria de sólo lectura programable (PROM), inventada por Wen Tsing Chow en 1956, [3] [4] permitía a los usuarios programar su contenido exactamente una vez alterando físicamente su estructura con la aplicación de pulsos de alto voltaje. Esto solucionó los problemas 1 y 2 anteriores, ya que una empresa puede simplemente pedir un gran lote de chips PROM nuevos y programarlos con el contenido deseado según la conveniencia de sus diseñadores.

La llegada del transistor de efecto de campo de metal-óxido-semiconductor (MOSFET), inventado en Bell Labs en 1959, [5] permitió el uso práctico de los transistores de metal-óxido-semiconductor (MOS) como elementos de almacenamiento de celdas de memoria en la memoria de semiconductores , una función que anteriormente cumplían los núcleos magnéticos en la memoria de la computadora . [6] En 1967, Dawon Kahng y Simon Sze de Bell Labs propusieron que la puerta flotante de un dispositivo semiconductor MOS podría usarse para la celda de una ROM reprogramable, lo que llevó a Dov Frohman de Intel a inventar la memoria de solo lectura programable y borrable (EPROM) en 1971. [7] [8] La invención de la EPROM en 1971 esencialmente resolvió el problema 3, ya que la EPROM (a diferencia de la PROM) puede restablecerse repetidamente a su estado no programado mediante la exposición a una fuerte luz ultravioleta.

La memoria de solo lectura programable y borrable eléctricamente (EEPROM), desarrollada por Yasuo Tarui, Yutaka Hayashi y Kiyoko Naga en el Laboratorio Electrotécnico en 1972, [9] contribuyó en gran medida a resolver el problema 4, ya que una EEPROM se puede programar en el lugar si el dispositivo que la contiene proporciona un medio para recibir el contenido del programa desde una fuente externa (por ejemplo, una computadora personal a través de un cable serial ). La memoria flash , inventada por Fujio Masuoka en Toshiba a principios de la década de 1980 y comercializada a fines de esa misma década, es una forma de EEPROM que hace un uso muy eficiente del área del chip y se puede borrar y reprogramar miles de veces sin sufrir daños. Permite borrar y programar solo una parte específica del dispositivo, en lugar de todo el dispositivo. Esto se puede hacer a alta velocidad, de ahí el nombre "flash". [10] [11]

Todas estas tecnologías mejoraron la flexibilidad de la ROM, pero a un costo significativo por chip, de modo que en grandes cantidades la ROM de máscara seguiría siendo una opción económica durante muchos años. (La disminución del costo de los dispositivos reprogramables había eliminado casi por completo el mercado de la ROM de máscara hacia el año 2000). Las tecnologías reescribibles se concibieron como reemplazos de la ROM de máscara.

El desarrollo más reciente es la memoria flash NAND , también inventada en Toshiba. Sus diseñadores rompieron explícitamente con la práctica anterior, afirmando claramente que "el objetivo de la memoria flash NAND es reemplazar los discos duros ", [12] en lugar del uso tradicional de la ROM como una forma de almacenamiento primario no volátil . A partir de 2021 [update], NAND ha logrado casi por completo este objetivo al ofrecer un rendimiento superior al de los discos duros, menor latencia, mayor tolerancia a los golpes físicos, miniaturización extrema (en forma de unidades flash USB y diminutas tarjetas de memoria microSD , por ejemplo) y un consumo de energía mucho menor.

Se utiliza para almacenar programas

Muchas computadoras con programas almacenados utilizan una forma de almacenamiento no volátil (es decir, almacenamiento que retiene sus datos cuando se corta la energía) para almacenar el programa inicial que se ejecuta cuando la computadora se enciende o comienza la ejecución de otra manera (un proceso conocido como " bootstrapping " , a menudo abreviado como " booting " o "booting up"). De la misma manera, cada computadora no trivial necesita alguna forma de memoria mutable para registrar los cambios en su estado a medida que se ejecuta.

Las formas de memoria de solo lectura se emplearon como almacenamiento no volátil para programas en la mayoría de las primeras computadoras con programa almacenado, como ENIAC después de 1948. (Hasta entonces, no era una computadora con programa almacenado, ya que cada programa tenía que ser cableado manualmente en la máquina, lo que podía llevar días o semanas). La memoria de solo lectura era más sencilla de implementar, ya que solo necesitaba un mecanismo para leer los valores almacenados, y no para cambiarlos en el lugar, y por lo tanto podía implementarse con dispositivos electromecánicos muy rudimentarios (ver ejemplos históricos a continuación). Con la llegada de los circuitos integrados en la década de 1960, tanto la ROM como su contraparte mutable, la RAM estática, se implementaron como matrices de transistores en chips de silicio; sin embargo, una celda de memoria ROM podía implementarse utilizando menos transistores que una celda de memoria SRAM, ya que esta última necesita un pestillo (que comprende de 5 a 20 transistores) para retener su contenido, mientras que una celda ROM podía consistir en la ausencia (0 lógico) o la presencia (1 lógico) de un transistor que conecta una línea de bits a una línea de palabras. [13] En consecuencia, la ROM podría implementarse a un costo por bit menor que la RAM durante muchos años.

La mayoría de los ordenadores domésticos de la década de 1980 almacenaban un intérprete BASIC o un sistema operativo en la memoria ROM, ya que otras formas de almacenamiento no volátil, como las unidades de disco magnético , eran demasiado costosas. Por ejemplo, el Commodore 64 incluía 64 KB de RAM y 20 KB de ROM que contenían un intérprete BASIC y el sistema operativo KERNAL . Los ordenadores domésticos o de oficina posteriores, como el IBM PC XT, a menudo incluían unidades de disco magnético y mayores cantidades de RAM, lo que les permitía cargar sus sistemas operativos desde el disco a la RAM, con solo un núcleo de inicialización de hardware mínimo y un cargador de arranque en la ROM (conocido como BIOS en los ordenadores compatibles con IBM ). Esta disposición permitió un sistema operativo más complejo y fácilmente actualizable.

En los PC modernos, la "ROM" se utiliza para almacenar el firmware básico de arranque del procesador, así como los distintos firmware necesarios para controlar internamente dispositivos autónomos como tarjetas gráficas , unidades de disco duro , unidades de estado sólido , unidades de disco óptico , pantallas TFT , etc., en el sistema. Hoy en día, muchas de estas memorias de "solo lectura", especialmente la BIOS / UEFI , suelen sustituirse por EEPROM o memoria Flash (véase más adelante), para permitir la reprogramación in situ en caso de que surja la necesidad de una actualización del firmware. Sin embargo, los subsistemas simples y maduros (como el teclado o algunos controladores de comunicación en los circuitos integrados de la placa principal, por ejemplo) pueden emplear ROM de máscara u OTP (programable una sola vez).

Las tecnologías de ROM y sucesoras, como Flash, son comunes en los sistemas integrados . Se encuentran en todo, desde robots industriales hasta electrodomésticos y productos electrónicos de consumo ( reproductores de MP3 , decodificadores , etc.), todos ellos diseñados para funciones específicas, pero basados ​​en microprocesadores de uso general . Como el software suele estar estrechamente acoplado al hardware, rara vez se necesitan cambios de programa en dichos dispositivos (que normalmente carecen de discos duros por razones de coste, tamaño o consumo de energía). A partir de 2008, la mayoría de los productos utilizan Flash en lugar de ROM de máscara, y muchos proporcionan algún medio para conectarse a una PC para actualizaciones de firmware ; por ejemplo, un reproductor de audio digital podría actualizarse para admitir un nuevo formato de archivo . Algunos aficionados han aprovechado esta flexibilidad para reprogramar productos de consumo para nuevos fines; por ejemplo, los proyectos iPodLinux y OpenWrt han permitido a los usuarios ejecutar distribuciones de Linux con todas las funciones en sus reproductores de MP3 y enrutadores inalámbricos, respectivamente.

La ROM también es útil para el almacenamiento binario de datos criptográficos , ya que hace que sea difícil reemplazarlos, lo que puede ser deseable para mejorar la seguridad de la información .

Se utiliza para almacenar datos

Dado que la ROM (al menos en forma de máscara cableada) no se puede modificar, solo es adecuada para almacenar datos que no se espera que necesiten modificaciones durante la vida útil del dispositivo. Con ese fin, la ROM se ha utilizado en muchas computadoras para almacenar tablas de consulta para la evaluación de funciones matemáticas y lógicas (por ejemplo, una unidad de punto flotante podría tabular la función seno para facilitar un cálculo más rápido). Esto era especialmente efectivo cuando las CPU eran lentas y la ROM era barata en comparación con la RAM.

Cabe destacar que los adaptadores de pantalla de los primeros ordenadores personales almacenaban tablas de caracteres de fuentes en formato de mapa de bits en la memoria ROM. Esto solía significar que la fuente de la pantalla de texto no se podía cambiar de forma interactiva. Este era el caso de los adaptadores CGA y MDA disponibles con el IBM PC XT.

El uso de ROM para almacenar cantidades tan pequeñas de datos ha desaparecido casi por completo en los ordenadores modernos de uso general. Sin embargo, la memoria flash NAND ha asumido un nuevo papel como medio de almacenamiento masivo o almacenamiento secundario de archivos.

Tipos

La primera EPROM , una Intel 1702, con la matriz y las uniones de cables claramente visibles a través de la ventana de borrado

Programado de fábrica

La ROM de máscara es una memoria de solo lectura cuyo contenido es programado por el fabricante del circuito integrado (en lugar de por el usuario). El contenido de la memoria deseado es proporcionado por el cliente al fabricante del dispositivo. Los datos deseados se convierten en una fotomáscara /capa de máscara personalizada para la metalización final de las interconexiones en el chip de memoria (de ahí el nombre).

La ROM de máscara se puede realizar de varias maneras, todas ellas tienen como objetivo cambiar la respuesta eléctrica de un transistor cuando se direcciona en una red, como por ejemplo:

  • En una ROM con transistores en configuración NOR, utilizando una fotomáscara para delimitar únicamente áreas específicas de una rejilla con transistores, para rellenarla con metal conectando así a la rejilla sólo una parte de todos los transistores en el chip de la ROM [2] formando así una rejilla donde los transistores que están conectados causan una respuesta eléctrica diferente cuando se direccionan, que los espacios en la rejilla donde los transistores no están conectados, un transistor conectado puede representar un 1 y uno no conectado un 0, o viceversa. Esta es la forma menos costosa y más rápida de hacer ROM de máscara [2] ya que sólo necesita una máscara con datos, y tiene la densidad más baja de todos los tipos de ROM de máscara ya que se hace en la capa de metalización, [2] cuyas características pueden ser relativamente grandes con respecto a otras partes de la ROM. Esto se conoce como ROM programada por contacto. En ROM con una configuración NAND, esto se conoce como programación de capa de metal y la máscara define dónde llenar las áreas que rodean los transistores con metal que cortocircuita los transistores; en cambio, un transistor que no está cortocircuitado puede representar un 0, y uno que sí lo está puede representar un 1, o viceversa. [14]
  • Utilizando dos máscaras para definir dos tipos de regiones de implantación de iones para transistores, para cambiar sus propiedades eléctricas cuando se direccionan en una cuadrícula y definir dos tipos de transistores. [2] El tipo de transistor define si representa un bit 1 o 0. Una máscara define dónde depositar un tipo de implantación de iones (los transistores "1"), y otra define dónde depositar el otro (los transistores "0"). Esto se conoce como ROM de umbral de voltaje (VTROM) ya que los diferentes tipos de implantación de iones definen diferentes umbrales de voltaje en los transistores, y es el umbral de voltaje en un transistor el que define un 0 o un 1. Se puede utilizar con configuraciones NAND y NOR. Esta técnica ofrece un alto nivel de resistencia contra la lectura óptica de los contenidos ya que las regiones de implantación de iones son difíciles de distinguir ópticamente, [14] lo que se puede intentar con el decapado de la ROM y un microscopio.
  • Utilizando dos niveles de espesor para un óxido de compuerta en transistores, [2] y utilizando una máscara para definir dónde depositar un espesor de óxido, y otra máscara para depositar el otro. Dependiendo del espesor, un transistor puede tener diferentes propiedades eléctricas y, por lo tanto, representar un 1 o un 0.
  • Utilizar varias máscaras para definir la presencia o ausencia de los propios transistores, en una cuadrícula. Dirigir un transistor inexistente puede interpretarse como un 0, y si hay un transistor presente puede interpretarse como un 1, o viceversa. Esto se conoce como programación de capa activa. [14]

Los transistores de ROM de máscara se pueden organizar en configuraciones NOR o NAND y pueden lograr uno de los tamaños de celda más pequeños posibles, ya que cada bit está representado por un solo transistor. NAND ofrece una mayor densidad de almacenamiento que NOR. Las configuraciones OR también son posibles, pero en comparación con NOR solo conecta transistores a V cc en lugar de V ss . [14] Las ROM de máscara solían ser las más económicas y son los dispositivos de memoria semiconductores más simples, con solo una capa de metal y una capa de polisilicio, lo que lo convierte en el tipo de memoria semiconductora con el mayor rendimiento de fabricación [2] (la mayor cantidad de dispositivos en funcionamiento por ejecución de fabricación). La ROM se puede fabricar utilizando una de varias tecnologías de fabricación de dispositivos semiconductores, como CMOS , nMOS , pMOS y transistores bipolares . [15]

Es una práctica habitual utilizar memoria no volátil regrabable (como UV -EPROM o EEPROM ) para la fase de desarrollo de un proyecto y cambiar a memoria ROM enmascarada cuando el código ya está finalizado. Por ejemplo, los microcontroladores Atmel vienen en formatos EEPROM y ROM enmascarada.

La principal ventaja de la ROM de máscara es su costo. Por bit, la ROM de máscara era más compacta que cualquier otro tipo de memoria de semiconductores . Dado que el costo de un circuito integrado depende en gran medida de su tamaño, la ROM de máscara es significativamente más barata que cualquier otro tipo de memoria de semiconductores.

Sin embargo, el costo de enmascaramiento por única vez es alto y el tiempo de procesamiento desde la fase de diseño hasta la fase de producción es largo. Los errores de diseño son costosos: si se encuentra un error en los datos o el código, la ROM de enmascaramiento es inútil y debe reemplazarse para cambiar el código o los datos. [16]

A partir de 2003 [update], cuatro empresas producen la mayoría de estos chips ROM de máscara: Samsung Electronics , NEC Corporation , Oki Electric Industry y Macronix . [17] [ necesita actualización ]

Algunos circuitos integrados contienen solo una ROM de máscara. Otros circuitos integrados contienen una ROM de máscara, así como una variedad de otros dispositivos. En particular, muchos microprocesadores tienen una ROM de máscara para almacenar su microcódigo . Algunos microcontroladores tienen una ROM de máscara para almacenar el cargador de arranque o todo su firmware .

Los chips ROM programados con máscara clásicos son circuitos integrados que codifican físicamente los datos que se van a almacenar y, por lo tanto, es imposible cambiar su contenido después de su fabricación.

También es posible escribir el contenido de una ROM láser utilizando un láser para alterar las propiedades eléctricas de solo algunos diodos en la ROM, o utilizando un láser para cortar solo algunos enlaces de polisilicio, en lugar de utilizar una máscara. [18] [19] [14]

Programable en campo

Al aplicar protección contra escritura , algunos tipos de ROM reprogramables pueden convertirse temporalmente en memoria de solo lectura.

Otras tecnologías

Existen otros tipos de memoria no volátil que no se basan en tecnología de circuitos integrados de estado sólido, entre ellos:

ROM de matriz de transformadores (TROS), del IBM System 360/20
  • ROM de matriz de diodos , utilizada en pequeñas cantidades en muchas computadoras en la década de 1960, así como en calculadoras electrónicas de escritorio y codificadores de teclado para terminales . Esta ROM se programó instalando diodos semiconductores discretos en ubicaciones seleccionadas entre una matriz de trazos de líneas de palabras y trazos de líneas de bits en una placa de circuito impreso .
  • ROM de matriz de resistencias o capacitores , utilizada en muchas computadoras hasta la década de 1970. Al igual que la ROM de matriz de diodos, se programaba colocando componentes en ubicaciones seleccionadas entre una matriz de líneas de palabras y líneas de bits . Las tablas de funciones de ENIAC eran ROM de matriz de resistencias, programadas mediante la configuración manual de interruptores rotatorios. Varios modelos del IBM System/360 y dispositivos periféricos complejos almacenaban su microcódigo en una matriz de capacitores, en variantes llamadas BCROS para almacenamiento de solo lectura de capacitores equilibrados en el 360/50 y 360/65 , o CCROS para almacenamiento de solo lectura de capacitores de tarjeta en el 360/30 .
  • La ROM de matriz de transformador logra una mayor densidad de almacenamiento que las ROM de matriz de diodos, resistencias o capacitores, al utilizar cada elemento de la matriz para almacenar múltiples bits.
    • Dimond Ring Translator , llamado así por el inventor de Bell Labs, Thomas L. Dimond, en el que los cables se enhebran a través de una secuencia de grandes anillos de ferrita que funcionan como transformadores, acoplando pulsos de accionamiento a bobinados de detección. [21] [22] Inventado a principios de la década de 1940, el Dimond Ring Translator se utilizó en el conmutador de barra transversal n.º 5 y en las centrales telefónicas TXE . Dimond Ring fue la base de la mayoría de las formas posteriores de memoria acoplada a transformador o "core rope".
    • El almacenamiento de solo lectura de transformador ( TROS ) en los modelos 360/20 , 360/40 y las unidades de control periféricas es una tecnología de ROM de matriz de transformador que funciona de la misma manera que el traductor de anillo de diamante. Es más rápido y más compacto que el CCROS de IBM utilizado en el IBM System/360 Modelo 30 , pero más lento que el BCROS de IBM utilizado en el IBM System/360 Modelo 50 y Modelo 65 .
    • Memoria de núcleo trenzado , también conocida como memoria de trenza de alambre, [23] que acopla líneas de accionamiento a líneas de detección a través de núcleos de ferrita, utilizada donde el tamaño, el peso y/o el costo eran críticos. La memoria de núcleo trenzado almacena múltiples bits de ROM por núcleo (a diferencia de la memoria de núcleo de lectura/escritura normal), y se programaba tejiendo "cables de línea de palabras" dentro o fuera de los núcleos de transformador de ferrita . Dos tipos diferentes de memoria de núcleo trenzado, que se distinguen por si la magnetización de los núcleos se invierte durante el funcionamiento, se conocen como la técnica de transformador de pulso y la técnica de núcleo de conmutación [24]
      • En la técnica de transformadores de pulsos, las líneas de accionamiento están acopladas a las líneas de detección a través de núcleos de ferrita, pero la magnetización del núcleo no se invierte, ni este método depende del bucle de histéresis de magnetización, utilizándolos únicamente como transformadores. Esto funciona de la misma manera que el traductor de anillo de diamante, y se utilizó en las computadoras PDP-9 y PDP-16 de DEC , las calculadoras Hewlett-Packard 9100A y 9100B, las calculadoras Wang y muchas otras máquinas.
      • La técnica de conmutación de núcleos invierte la magnetización de los núcleos de ferrita. Esto es significativamente diferente del funcionamiento de un traductor de anillo de diamante. Esto se utilizó en las computadoras de la nave espacial Apollo de la NASA / MIT , [25]
    • Memoria de circuito impreso acoplada inductivamente, que utiliza acoplamiento inductivo pero no núcleos de ferrita, sino acoplamiento entre líneas de accionamiento y líneas de detección en planos separados de una placa de circuito impreso. Funciona según el mismo principio que el traductor de anillo de diamante y se utilizó en las calculadoras Hewlett-Packard 9100A y 9100B para el almacenamiento de control principal (además de una memoria de núcleo de transformador de pulsos utilizada para el decodificador de microinstrucciones). [26]

Velocidad

Aunque la velocidad relativa de la RAM frente a la ROM ha variado con el tiempo, a partir de 2007 [update]los chips de RAM de gran tamaño se pueden leer más rápido que la mayoría de las ROM. Por este motivo (y para permitir un acceso uniforme), el contenido de la ROM a veces se copia a la RAM o se almacena en un lugar oculto antes de su primer uso y, posteriormente, se lee desde la RAM.

Escribiendo

En el caso de los tipos de ROM que se pueden modificar eléctricamente, la velocidad de escritura ha sido tradicionalmente mucho más lenta que la de lectura, y puede requerir un voltaje inusualmente alto, el movimiento de conectores de puente para aplicar señales de habilitación de escritura y códigos de comando especiales de bloqueo/desbloqueo. La memoria flash NAND moderna se puede utilizar para lograr las velocidades de escritura más altas de cualquier tecnología de ROM regrabable, con velocidades de hasta 10 GB / s en un SSD. Esto ha sido posible gracias al aumento de la inversión en unidades de estado sólido y productos de memoria flash para dispositivos móviles de gama alta, tanto para consumidores como para empresas. A nivel técnico, las ganancias se han logrado aumentando el paralelismo tanto en el diseño del controlador como en el almacenamiento, el uso de grandes cachés de lectura/escritura de DRAM y la implementación de celdas de memoria que pueden almacenar más de un bit (DLC, TLC y MLC). Este último enfoque es más propenso a fallas, pero esto se ha mitigado en gran medida mediante el exceso de aprovisionamiento (la inclusión de capacidad de repuesto en un producto que solo es visible para el controlador de la unidad) y mediante algoritmos de lectura/escritura cada vez más sofisticados en el firmware de la unidad.

Resistencia y retención de datos

Una EPROM

Debido a que se escriben forzando a los electrones a pasar a través de una capa de aislamiento eléctrico sobre una compuerta de transistor flotante , las ROM regrabables pueden soportar solo un número limitado de ciclos de escritura y borrado antes de que el aislamiento se dañe permanentemente. En las primeras EPROM, esto podía ocurrir después de tan solo 1000 ciclos de escritura, mientras que en las EEPROM Flash modernas la resistencia puede superar el millón. La resistencia limitada, así como el mayor costo por bit, significa que es poco probable que el almacenamiento basado en Flash sustituya por completo a las unidades de disco magnético en el futuro cercano. [ cita requerida ]

El tiempo durante el cual una ROM permanece legible con precisión no está limitado por el ciclo de escritura. La retención de datos de EPROM, EAROM, EEPROM y Flash puede estar limitada en el tiempo por la fuga de carga de las compuertas flotantes de los transistores de las celdas de memoria. Las EEPROM de primera generación, a mediados de la década de 1980, generalmente citaban una retención de datos de 5 o 6 años. Una revisión de EEPROM ofrecida en el año 2020 muestra que los fabricantes citan una retención de datos de 100 años. Los entornos adversos reducirán el tiempo de retención (la fuga se acelera por altas temperaturas o radiación ). La ROM enmascarada y la PROM fusible/antifusible no sufren este efecto, ya que su retención de datos depende de la permanencia física en lugar de eléctrica del circuito integrado, aunque la regeneración del fusible alguna vez fue un problema en algunos sistemas. [27]

Imágenes de contenido

El contenido de los chips ROM se puede extraer con dispositivos de hardware especiales y el software de control correspondiente. Esta práctica es común, como ejemplo principal, para leer el contenido de cartuchos de consolas de videojuegos antiguas . Otro ejemplo es hacer copias de seguridad de ROM de firmware/SO de computadoras antiguas u otros dispositivos, con fines de archivo, ya que en muchos casos, los chips originales son PROM y, por lo tanto, corren el riesgo de exceder su vida útil de datos.

Los archivos de volcado de memoria resultantes se conocen como imágenes ROM o ROM abreviadas , y se pueden utilizar para producir ROM duplicadas, por ejemplo, para producir cartuchos nuevos o como archivos digitales para jugar en emuladores de consola . El término imagen ROM se originó cuando la mayoría de los juegos de consola se distribuían en cartuchos que contenían chips ROM, pero alcanzó un uso tan extendido que todavía se aplica a imágenes de juegos más nuevos distribuidos en CD-ROM u otros medios ópticos.

Las imágenes ROM de juegos comerciales, firmware, etc., suelen contener software protegido por derechos de autor. La copia y distribución no autorizada de software protegido por derechos de autor constituye una violación de las leyes de derechos de autor en muchas jurisdicciones, aunque la duplicación con fines de copia de seguridad puede considerarse un uso legítimo según la ubicación. En cualquier caso, existe una comunidad activa dedicada a la distribución y comercialización de dicho software con fines de conservación y compartición.

Cronología

Fecha de introducciónNombre del chipCapacidad ( bits )Tipo de ROMMOSFETFabricante(s)ProcesoÁreaÁrbitro
1956??PASEO?Arma??[3] [4]
1965?256 bitsmemoria de sólo lectura TTL bipolarSylvania??[28]
1965?1 kbmemoria de sólo lecturaMOSCÚMicroelectrónica general??
196933011 kbmemoria de sólo lecturaBipolarIntel??[28]
1970?512 bitsPASEOTTL bipolarRadiación??[8]
197117022kbMemoria EPROMMOS estático ( puerta de silicio )Intel?15 mm²[8] [29]
1974?4kbmemoria de sólo lecturaMOSCÚAMD , Instrumento general??[28]
1974??ROME AEAMNOSInstrumento general??[8]
197527088kbMemoria EPROMSistemas de medición de movimiento nuclear ( FGMOS )Intel??[30] [31]
1976?2kbMemoria EEPROMMOSCÚToshiba??[32]
1977μCOM-43 (PMOS)16 kbPASEOPMOComité ejecutivo nacional??[33]
1977271616 kbMemoria EPROMTiempo de vida útilIntel??[34] [35]
1978EA8316F16 kbmemoria de sólo lecturaNMOMatrices electrónicas?436 mm²[28] [36]
1978μCOM-43 (CMOS)16 kbPASEOCMOSComité ejecutivo nacional??[33]
1978273232 kbMemoria EPROMNMOS ( HMOS )Intel??[30] [37]
1978236464 kbmemoria de sólo lecturaNMOIntel??[38]
1980?16 kbMemoria EEPROMNMOMotorola4.000 nm?[30] [39]
1981276464 kbMemoria EPROMNMOS ( HMOS II )Intel3.500 nm?[30] [39] [40]
1982?32 kbMemoria EEPROMMOSCÚMotorola??[39]
198227128128 kbMemoria EPROMNMOS (HMOS II)Intel??[30] [39] [41]
1983?64 kbMemoria EPROMCMOSSeñalética3.000 nm?[39]
198327256256 kbMemoria EPROMNMOS (HMOS)Intel??[30] [42]
1983?256 kbMemoria EPROMCMOSFujitsu??[43]
Enero de 1984MBM276464 kbMemoria EEPROMNMOFujitsu?528 mm²[44]
1984?512 kbMemoria EPROMNMOAMD1.700 nm?[39]
198427512512 kbMemoria EPROMNMOS (HMOS)Intel??[30] [45]
1984?1 MbMemoria EPROMCMOSComité ejecutivo nacional1.200 nm?[39]
1987?4 MbMemoria EPROMCMOSToshiba800 nm?[39]
1990?16 MbMemoria EPROMCMOSComité ejecutivo nacional600 nm?[39]
1993?8 MbMROMCMOSHyundai??[46]
1995?1 MbMemoria EEPROMCMOSHitachi??[47]
1995?16 MbMROMCMOSAKM , Hitachi??[47]

Véase también

Notas

  1. ^ También se utilizan otros términos, por ejemplo, " Carga inicial del programa " (IPL).

Referencias

Escucha este artículo ( 7 minutos )
Icono de Wikipedia hablado
Este archivo de audio se creó a partir de una revisión de este artículo con fecha del 12 de abril de 2005 y no refleja ediciones posteriores. (2005-04-12)
  1. ^ "Definición de flash ROM de la enciclopedia PC Magazine". pcmag.com . Archivado desde el original el 10 de noviembre de 2013.
  2. ^ abcdefg "Tecnología ROM, EPROM y EEPROM" (PDF) .
  3. ^ ab Han-Way Huang (5 de diciembre de 2008). Diseño de sistemas integrados con C805. Cengage Learning. pág. 22. ISBN 978-1-111-81079-5Archivado desde el original el 27 de abril de 2018.
  4. ^ ab Marie-Aude Aufaure; Esteban Zimányi (17 de enero de 2013). Business Intelligence: Second European Summer School, eBISS 2012, Bruselas, Bélgica, 15-21 de julio de 2012, Tutorial Lectures. Springer. p. 136. ISBN 978-3-642-36318-4Archivado desde el original el 27 de abril de 2018.
  5. ^ "1960 - Se demuestra el transistor semiconductor de óxido metálico (MOS)". El motor de silicio . Museo de Historia de la Computación .
  6. ^ "Transistores: una descripción general". ScienceDirect . Archivado desde el original el 13 de octubre de 2022 . Consultado el 8 de agosto de 2019 .
  7. ^ US3660819A, Frohman, Bentchkowsky D., "Transistor de compuerta flotante y método para cargarlo y descargarlo", publicado el 2 de mayo de 1972 
  8. ^ abcd «1971: Se introduce la ROM semiconductora reutilizable». Museo de Historia de la Computación . Consultado el 19 de junio de 2019 .
  9. ^ Tarui, Y.; Hayashi, Y.; Nagai, K. (1972). "Memoria semiconductora no volátil reprogramable eléctricamente". IEEE Journal of Solid-State Circuits . 7 (5): 369–375. Bibcode :1972IJSSC...7..369T. doi :10.1109/JSSC.1972.1052895. ISSN  0018-9200.
  10. ^ "1987: Toshiba lanza NAND Flash". eWEEK .
  11. ^ Detlev Richter (12 de septiembre de 2013). "Capítulo 2. Fundamentos de las memorias no volátiles". Memorias flash: principios económicos de rendimiento, costo y confiabilidad . Springer Science & Business Media. pág. 6.
  12. ^ "Guía de diseño de aplicaciones NAND Flash" (PDF) . Toshiba . Abril de 2003. pág. 6. Archivado desde el original (PDF) el 2009-10-07..
  13. ^ Consulte los capítulos sobre "Circuitos digitales combinatorios" y "Circuitos digitales secuenciales" en Millman & Grable, Microelectronics, 2.ª ed.
  14. ^ abcde Ataques semiinvasivos: un nuevo enfoque para el análisis de seguridad de hardware. SP Skorobogatov. 2005. https://citeseerx.ist.psu.edu/pdf/2b7ba7f2db6ae96cc7869282a1ab5d25fbe02f5b
  15. ^ Whitaker, Jerry C. (3 de octubre de 2018). Manual de electrónica. CRC Press. ISBN 978-1-4200-3666-4.
  16. ^ Horowitz, Paul; Hill, Winfield (2011). El arte de la electrónica (tercera edición). Cambridge University Press . pág. 817. ISBN 978-0-521-37095-0.
  17. ^ Oishi, Motoyuki (julio de 2003). "Análisis tecnológico: Oki P2ROM reemplazará a Mask ROM y Flash EEPROM". Nikkei Electronics Asia . Archivado desde el original el 21 de octubre de 2007.
  18. ^ JJ Lee y NR Strader, "Matrices de ROM CMOS programables mediante escaneo con rayo láser", en IEEE Journal of Solid-State Circuits, vol. 22, núm. 4, págs. 622-624, agosto de 1987, doi: 10.1109/JSSC.1987.1052783. https://ieeexplore.ieee.org/document/1052783
  19. ^ Botón I AN937. https://pdfserv.maximintegrated.com/en/an/AN937.pdf
  20. ^ Ciarcia, Steve (1981). Circuito de la bodega de Ciarcia. Circuito de la bodega. ISBN 978-0-07-010963-6.
  21. ^ Dimond, TL (febrero de 1951). "Traductor AMA de barra transversal n.º 5" (PDF) . Bell Laboratories Record . XXIX (2): 62 y siguientes . Consultado el 26 de agosto de 2024 .
  22. ^ USA 2,614,176, TL Dimond, "Traductor de grupo de números de inducción electrónica", emitido el 14 de octubre de 1952, asignado a Bell Telephone Laboratories, Incorporated 
  23. ^ Aldrich, WH; Alonso, RL (agosto de 1966). "La "memoria de transformador trenzado"". IEEE Transactions on Electronic Computers . EC-15 (4): 502 y siguientes. doi :10.1109/PGEC.1966.264357 . Consultado el 26 de agosto de 2024 .
  24. ^ "Sistemas de memoria con núcleo de cuerda y alambre tejido".
  25. ^ "Computadora para Apolo". MIT Science Reporter . 1965. WGBH .
  26. ^ "La ROM de la placa PC del HP 9100".
  27. ^ "Memoria IC". transparentc . Archivado desde el original el 12 de julio de 2016 . Consultado el 22 de julio de 2016 .
  28. ^ abcd «1965: aparecen los chips semiconductores de memoria de solo lectura». Museo de Historia de la Computación . Consultado el 20 de junio de 2019 .
  29. ^ "Hoja de datos del 1702A" (PDF) . Intel . Consultado el 6 de julio de 2019 .
  30. ^ abcdefg «Una lista cronológica de los productos Intel. Los productos están ordenados por fecha» (PDF) . Museo Intel . Intel Corporation. Julio de 2005. Archivado desde el original (PDF) el 9 de agosto de 2007. Consultado el 31 de julio de 2007 .
  31. ^ "Hoja de datos 2708" (PDF) . Intel . Consultado el 6 de julio de 2019 .
  32. ^ Iizuka, H.; Masuoka, F.; Sato, Tai; Ishikawa, M. (1976). "Memoria de SÓLO LECTURA MOS de tipo inyección de avalancha eléctricamente alterable con estructura de compuerta apilada". IEEE Transactions on Electron Devices . 23 (4): 379–387. Bibcode :1976ITED...23..379I. doi :10.1109/T-ED.1976.18415. ISSN  0018-9383. S2CID  30491074.
  33. ^ ab μCOM-43 MICROCOMPUTADORA DE UN SOLO CHIP: MANUAL DEL USUARIO (PDF) . NEC Microcomputers . Enero de 1978 . Consultado el 27 de junio de 2019 .
  34. ^ "Intel: 35 años de innovación (1968–2003)" (PDF) . Intel. 2003. Archivado desde el original (PDF) el 4 de noviembre de 2021 . Consultado el 26 de junio de 2019 .
  35. ^ "2716: 16K (2K x 8) UV ERASABLE PROM" (PDF) . Intel. Archivado desde el original (PDF) el 27 de junio de 2019 . Consultado el 27 de junio de 2019 .
  36. ^ "CATALOGO 1982" (PDF) . NEC Electronics . Consultado el 20 de junio de 2019 .
  37. ^ "Hoja de datos del 2732A" (PDF) . Intel . Consultado el 6 de julio de 2019 .
  38. ^ Catálogo de datos de componentes (PDF) . Intel . 1978. págs. 1–3 . Consultado el 27 de junio de 2019 .
  39. ^ abcdefghi «Memoria». STOL (Semiconductor Technology Online) . Archivado desde el original el 25 de junio de 2019. Consultado el 25 de junio de 2019 .
  40. ^ "Hoja de datos del 2764A" (PDF) . Intel . Consultado el 6 de julio de 2019 .
  41. ^ "Hoja de datos 27128A" (PDF) . Intel. Archivado desde el original (PDF) el 29 de abril de 2017 . Consultado el 6 de julio de 2019 .
  42. ^ "Hoja de datos 27256" (PDF) . Intel . Consultado el 2 de julio de 2019 .
  43. ^ "Historia del negocio de semiconductores de Fujitsu". Fujitsu . Archivado desde el original el 3 de julio de 2019 . Consultado el 2 de julio de 2019 .
  44. ^ "MBM 2764" (PDF) . Fujitsu . Enero de 1984 . Consultado el 21 de junio de 2019 .
  45. ^ "Hoja de datos D27512-30" (PDF) . Intel . Consultado el 2 de julio de 2019 .
  46. ^ "Historia: década de 1990". SK Hynix . Archivado desde el original el 1 de mayo de 2021 . Consultado el 6 de julio de 2019 .
  47. ^ ab "Perfiles de empresas japonesas" (PDF) . Instituto Smithsoniano . 1996. Archivado desde el original (PDF) el 27 de junio de 2019. Consultado el 27 de junio de 2019 .
Retrieved from "https://en.wikipedia.org/w/index.php?title=Read-only_memory&oldid=1247885520"