¿Diferencias, usos y teoría de la memoria volátil y no volátil?

Entiendo los conceptos básicos de la memoria volátil y no volátil. La memoria volátil requiere una fuente de alimentación constante para retener datos, mientras que la memoria no volátil no requiere una fuente de alimentación constante para retener datos. Lo que me gustaría saber es esto: ¿existen otras diferencias importantes en términos de rendimiento, velocidad, tamaño, etc.? Además, ¿qué usos tiene cada uno en una computadora? Por último, ¿cómo funciona cada uno? Gracias de antemano por todas las respuestas y comentarios.

La RAM es volátil (cuando apaga la computadora, se borra), pero su disco duro no es volátil (todavía tiene los datos cuando vuelve a encenderla)

Respuestas (2)

Sí, entiende la definición de memoria volátil y no volátil. Solo por eso, pensarías que no volátil siempre es mejor. Sin embargo, en el mundo real eso no es cierto ya que las diferentes tecnologías para hacer estas memorias hacen que aparezcan otros atributos más allá de la volatilidad.

Las compensaciones que nos imponen varias tecnologías de memoria diferentes incluyen:

  1. Velocidad de lectura.

  2. Velocidad de escritura.

  3. Costo.

  4. Tamaño.

  5. Consumo de energía cuando está inactivo, leyendo y escribiendo.

  6. Vida útil operativa.

  7. Número de lecturas o escrituras de por vida.

y eso es justo lo que me vino a la mente rápidamente. Obviamente, la memoria ideal es rápida para leer, rápida para escribir, cuesta poco, es pequeña, consume poca energía, dura mucho tiempo y se puede usar muchas veces. No existe una tecnología que haga un buen trabajo en todas estas áreas juntas. La volatilidad es solo una entrada más en la lista de parámetros a considerar.

En algo como un microcontrolador destinado a ser integrado en un circuito que necesita encenderse rápidamente, es importante que la memoria del programa principal no sea volátil. Eso hoy generalmente significa que será lento para escribir, tendrá un número finito de escrituras de por vida y olvidará su contenido después de unas decenas de años. Obviamente nos gustaría no tener estos inconvenientes, pero nadie sabe hacer una memoria que no los tenga para el tamaño y costo que requiere una micro.

La memoria de datos en un micro podría escribirse arbitrariamente y leerse en un bucle millones de veces en segundos, posiblemente durante años, por lo que es importante una tecnología que no tenga un número finito de lecturas o escrituras de por vida. Para conseguir eso, renunciamos a la capacidad de retener los valores cuando se quita el poder.

Hay todo tipo de tecnologías de memoria que optimizan algunos de estos parámetros, inevitablemente a expensas de otros. Algunas tecnologías comunes:

  • RAM estática CMOS. Estos son realmente circuitos lógicos optimizados para contener bits. Son rápidos, tienen lecturas y escrituras de por vida efectivamente infinitas, consumen poca energía cuando no se accede a ellos y tienen una larga vida útil operativa. Por otro lado, esta memoria es volátil y las celdas son relativamente grandes, lo que las hace costosas y no se pueden alcanzar densidades altas.

  • EEPROM. En realidad, eso no es una tecnología estrictamente hablando, pero hoy (esto podría cambiar fácilmente) estas memorias se implementan comúnmente con MOSFET de puerta flotante. Su principal atributo es que no son volátiles. La densidad es alta, por lo que el costo es bajo, pero se desgastan físicamente un poco cada vez que se cambia la carga en la puerta, que es lo que hace la escritura o el borrado.

Relacionado con 6 (vida útil operativa) está la complejidad de la nivelación del desgaste (y ECC). Relacionado con 2 (velocidad de escritura) están los requisitos de almacenamiento en búfer de escritura. Otros problemas incluyen la granularidad de lectura/escritura/borrado y la resistencia a errores (creo que MRAM es más popular en la industria aeroespacial por su resistencia a la radiación). La compatibilidad de fabricación con los procesos lógicos también es un factor.
Otro patrón posible es utilizar una RAM estática en combinación con una memoria flash o EEPROM, y asegurarse de que en todo momento habrá suficiente energía almacenada en los condensadores para escribir todo lo importante que está en la memoria RAM en la memoria flash o EEPROM. Algunos chips o módulos se encargan de esto automáticamente; también es posible usar manualmente una combinación de dispositivos, aunque en la última situación se debe tener cuidado para protegerse contra posibles interrupciones que no sean un simple apagado.
Además, vagamente relacionado con 1 (velocidad de lectura) es si las lecturas son destructivas (¡uno puede tener una memoria no volátil con lecturas destructivas!). @supercat nvSRAM es una SRAM respaldada por una memoria NV con un capacitor para proporcionar reescritura en caso de pérdida de energía. (Tuve que buscar "nvSRAM", se menciona en la respuesta de gman ).

FRAM/MRAM/nvSRAM son memorias NV que ofrecen buena velocidad (interfaz serial o paralela) y ofrecen alta resistencia y largos tiempos de retención. Clasificaría estos en un cubo.

EEPROM/flash están en un cubo diferente. Las EEPROM se pueden escribir en bytes, tienen mayor resistencia y son ligeramente más rápidas que los equivalentes flash. Ambas son tecnologías de puerta flotante. Pero flash implementa las celdas de una manera mucho más compacta que EEPROM, lo que provoca algunas limitaciones, a saber, borrar antes de escribir, y las escrituras deben tener un tamaño de bloque mínimo. Hay aún más: flash NOR vs NAND. NOR es una velocidad más alta, NAND es lo que se usa en el 99 % de los productos electrónicos de consumo (teléfonos/SSD/cámaras). Donde brilla el flash es en la densidad y en el precio más bajo por bit.

SRAM/DRAM están en el cubo volátil "RAM". Cuando se desconecta la energía, pierde sus datos (a menos que superenfríe la memoria). Sin límites de resistencia. Mientras se aplica energía, no es necesario actualizar los datos de SRAM, mientras que las celdas DRAM necesitan actualizarse (decenas de milisegundos), de lo contrario, la carga se pierde.

Desde el punto de vista del usuario, las memorias de menor densidad (SRAM/EEPROM/FRAM/MRAM/nvSRAM) son mucho más fáciles de usar. La mayor rentabilidad de su inversión (DRAM/flash) requiere más trabajo. Recuerde que hay una MCU 8051 integrada en cada memoria flash. Y con DRAM, piense en los datos como bolas que se hacen malabares.