Una memoria de solo lectura programable ( PROM ) es una forma de memoria digital en la que el contenido se puede cambiar una vez que se fabrica el dispositivo. Los datos son permanentes y no se pueden cambiar. Es un tipo de memoria de solo lectura (ROM). Las PROM se utilizan en dispositivos electrónicos digitales para almacenar datos permanentes, normalmente programas de bajo nivel como firmware o microcódigo . La diferencia clave con una ROM estándar es que los datos se escriben en una ROM durante la fabricación, mientras que con una PROM los datos se programan en ellas después de la fabricación. Por lo tanto, las ROM tienden a usarse solo para grandes tiradas de producción con datos bien verificados. Las PROM se pueden usar cuando el volumen requerido no hace que una ROM programada en fábrica sea económica, o durante el desarrollo de un sistema que finalmente puede convertirse a ROM en una versión producida en masa.
Las PROM se fabrican en blanco y, dependiendo de la tecnología, se pueden programar en la oblea, en la prueba final o en el sistema. Los chips PROM en blanco se programan conectándolos a un dispositivo llamado programador de PROM . Las empresas pueden mantener un suministro de PROM en blanco en stock y programarlos en el último minuto para evitar un compromiso de gran volumen. Este tipo de memorias se utilizan con frecuencia en microcontroladores , consolas de videojuegos , teléfonos móviles, etiquetas de identificación por radiofrecuencia ( RFID ), dispositivos médicos implantables, interfaces multimedia de alta definición ( HDMI ) y en muchos otros productos electrónicos de consumo y automotrices. Un dispositivo PROM típico se compone de una matriz de celdas de memoria, cada una compuesta por un transistor, que es un transistor bipolar , conectado a un fusible llamado polifusible en el emisor del transistor. Se utiliza un programador de PROM para fundir el polifusible, programando la PROM. [1]
El PROM fue inventado en 1956 por Wen Tsing Chow , quien trabajaba para la División Arma de la corporación estadounidense Bosch Arma en Garden City , Nueva York . [2] [3] La invención fue concebida a pedido de la Fuerza Aérea de los Estados Unidos para encontrar una forma más flexible y segura de almacenar las constantes de orientación en la computadora digital aerotransportada del misil balístico intercontinental Atlas E/F . La patente y la tecnología asociada se mantuvieron bajo orden de secreto durante varios años mientras el Atlas E/F era el principal misil operativo de la fuerza de misiles balísticos intercontinentales de los Estados Unidos. El término burn , que se refiere al proceso de programación de un PROM, también está en la patente original, ya que una de las implementaciones originales era quemar literalmente los filamentos internos de los diodos con una sobrecarga de corriente para producir una discontinuidad en el circuito. Las primeras máquinas de programación de PROM también fueron desarrolladas por ingenieros de Arma bajo la dirección de Chow y estaban ubicadas en el laboratorio de Arma en Garden City y en la sede del Comando Aéreo Estratégico (SAC) de la Fuerza Aérea.
La memoria OTP (programable una sola vez) es un tipo especial de memoria no volátil (NVM) que permite escribir datos en la memoria solo una vez. Una vez que se ha programado la memoria, conserva su valor en caso de pérdida de energía (es decir, no es volátil). La memoria OTP se utiliza en aplicaciones en las que se requiere una lectura confiable y repetible de datos. Algunos ejemplos incluyen código de arranque, claves de cifrado y parámetros de configuración para circuitos analógicos, de sensores o de visualización. La memoria OTP NVM se caracteriza, a diferencia de otros tipos de NVM como eFuse o EEPROM, por ofrecer una estructura de memoria de bajo consumo y de área pequeña. Como tal, la memoria OTP encuentra aplicación en productos que van desde microprocesadores y controladores de pantalla hasta circuitos integrados de administración de energía (PMIC).
Las matrices de memoria OTP basadas en semiconductores antifusibles disponibles comercialmente existen al menos desde 1969, con celdas de bits antifusibles iniciales que dependían de la fusión de un capacitor entre líneas conductoras cruzadas. Texas Instruments desarrolló un antifusible de ruptura de óxido de compuerta MOS en 1979. [4] En 1982 se introdujo un antifusible MOS de dos transistores (2T) de óxido de compuerta dual. [5] Las primeras tecnologías de ruptura de óxido exhibieron una variedad de problemas de escala, programación, tamaño y fabricación que impidieron la producción en volumen de dispositivos de memoria basados en estas tecnologías.
Otra forma de dispositivo de memoria programable de un solo uso utiliza el mismo chip semiconductor que una memoria de solo lectura programable borrable por luz ultravioleta (UV-EPROM), pero el dispositivo terminado se coloca en un encapsulado opaco, en lugar del costoso encapsulado cerámico con ventana de cuarzo transparente que se requiere para borrar. Estos dispositivos se programan con los mismos métodos que las partes de EPROM UV, pero son menos costosos. Los controladores integrados pueden estar disponibles tanto en estilos borrables en campo como de un solo uso, lo que permite un ahorro de costos en la producción en serie sin el gasto y el tiempo de entrega de los chips ROM de máscara programados en fábrica. [6]
Aunque la PROM basada en antifusibles ha estado disponible durante décadas, no estuvo disponible en CMOS estándar hasta 2001, cuando Kilopass Technology Inc. patentó las tecnologías de celdas de bits antifusibles 1T, 2T y 3,5T utilizando un proceso CMOS estándar, lo que permitió la integración de PROM en chips CMOS lógicos. El primer nodo de proceso antifusible que se puede implementar en CMOS estándar es 0,18 um. Dado que la ruptura del óxido de la compuerta es menor que la ruptura de la unión, no se requirieron pasos de difusión especiales para crear el elemento de programación antifusible. En 2005, Sidense presentó un dispositivo antifusible de canal dividido [7] . Esta celda de bits de canal dividido combina los dispositivos de óxido grueso (IO) y delgado (compuerta) en un transistor (1T) con una compuerta de polisilicio común .
Una PROM típica viene con todos los bits que se leen como "1". Quemar un bit de fusible durante la programación hace que el bit se lea como "0" al "quemar" los fusibles, lo que es un proceso irreversible. Algunos dispositivos se pueden "reprogramar" si los nuevos datos reemplazan los "1" por "0". Algunos conjuntos de instrucciones de CPU (por ejemplo, 6502 ) aprovecharon esto al definir una instrucción de interrupción (BRK) con el código de operación "00". En los casos en los que había una instrucción incorrecta, se podía "reprogramar" a una BRK, lo que hacía que la CPU transfiriera el control a un parche. Esto ejecutaría la instrucción correcta y volvería a la instrucción después de la BRK.
La celda de bits se programa aplicando un pulso de alto voltaje que no se encuentra durante una operación normal a través de la compuerta y el sustrato del transistor de óxido delgado (alrededor de 6 V para un óxido de 2 nm de espesor, o 30 MV/cm) para romper el óxido entre la compuerta y el sustrato. El voltaje positivo en la compuerta del transistor forma un canal de inversión en el sustrato debajo de la compuerta, lo que hace que fluya una corriente de tunelización a través del óxido. La corriente produce trampas adicionales en el óxido, lo que aumenta la corriente a través del óxido y, en última instancia, lo derrite y forma un canal conductor desde la compuerta hasta el sustrato. La corriente necesaria para formar el canal conductor es de alrededor de 100 μA/100 nm 2 y la ruptura ocurre en aproximadamente 100 μs o menos. [8]