Cómo borrar datos almacenados en dispositivos de memoria MRAM

Al buscar en Google sobre MRAM, solo pude encontrar el proceso de lectura y escritura para MRAM. ¿Cómo ocurre el borrado en MRAM? Además, ¿por qué no hay necesidad de corrección de errores y algoritmo de verificación en MRAM?

¿Ha consultado la hoja de datos correspondiente?
No estoy lo suficientemente seguro como para publicar como respuesta, pero creo que, al igual que la RAM, es direccionable por bytes y no tiene convenciones de resistencia, por lo que puede escribir ceros (o cualquier otra cosa) para borrarlo como lo hace con la RAM.
Lo que dice @PeterJ es absolutamente posible. Sin embargo, podría haber una sola instrucción de borrado que sería más rápida.

Respuestas (1)

Escribir es funcionalmente equivalente a borrar.

Dependiendo de la construcción física, la escritura puede ser en realidad un proceso de dos pasos, donde el primer paso restablece la memoria a un estado "borrado" y el segundo paso "establece" algunos de los bits.
Si el estado de un bit "borrado" es 0b11111111 o 0b00000000 depende de las especificaciones del hardware.

Algunas memorias, como flash, solo pueden borrar grandes secciones de memoria a la vez, por lo que el proceso para "escribir" en un byte puede implicar leer y luego almacenar una gran sección (¡puede ser más de 512 bytes! Esto se llama el "Tamaño de la página"), y luego actualizar los datos almacenados (que probablemente se encuentran en SRAM) con el nuevo valor, y luego volver a escribir los datos actualizados en la página.

De todos modos, desde una perspectiva de nivel de IC, esto es en gran medida irrelevante:
para "borrar" algo en la MRAM, simplemente sobrescríbalo con un nuevo valor.
Si desea que la opción de borrado sea un paso aparte, simplemente escriba 0b00000000 o 0b11111111.

Es posible que desee abordar el aspecto de ECC: que, al igual que NOR Flash, MRAM es más resistente que NAND Flash (una compensación con la densidad), creo recordar haber leído que incluso las lecturas pueden correr el riesgo de perturbar algunos NAND Flash. Creo que MRAM también es menos vulnerable a las perturbaciones de un solo evento de radiación (lo que, además de funcionar como memoria universal única, lectura y escritura de acceso persistente y aleatorio, lo que reduce el peso y posiblemente los modos de falla, lo hace más atractivo para aplicaciones aeroespaciales) .
En dispositivos flash de bloque grande, escribir un byte generalmente no requeriría leer, actualizar, borrar y volver a escribir una sección tan grande. Más típicamente, los datos se subdividirían en páginas reubicables de alrededor de 512 bytes que se leerían o escribirían como una unidad. Cuando se escribe una página, el sistema encuentra una página en blanco, escribe la página allí, toma nota de su nueva ubicación y marca la página anterior como reemplazada. Si no hay páginas en blanco disponibles, puede ser necesario copiar datos de un bloque y borrarlos, pero se puede elegir para ese propósito un bloque cuyas páginas tengan en su mayoría...
... sido superado. Si uno quiere evitar un tiempo de actualización largo en el peor de los casos, uno podría hacer que cada página escriba y también considere mover un bloque de una página que contiene muchas páginas muertas a un bloque nuevo, de modo que para cuando no haya páginas en blanco disponibles. , habría un bloque que no contenía nada más que páginas reemplazadas. [nota: generalmente he visto que "página" se usa para referirse a un área de memoria que puede [o en algunos casos debe] escribirse como una unidad, y "bloque" se usa para referirse a un área de memoria que debe borrarse como una unidad