Interesante

Fiabilidad, vida útil y desgaste de la memoria flash

Fiabilidad, vida útil y desgaste de la memoria flash


La memoria flash tiene una vida útil finita. Esto significa que la confiabilidad y la vida útil de la memoria Flash son cuestiones que deben tenerse en cuenta al considerar su uso.

Cuando se introdujo por primera vez la memoria Flash, tenía un número limitado de ciclos de escritura y el desgaste de la memoria Flash era un problema importante.

Ahora los procesos de fabricación se han mejorado significativamente y, aunque la memoria Flash todavía tiene una vida limitada, la cantidad de ciclos de escritura que puede soportar es muy alta y, junto con los algoritmos de nivelación de desgaste utilizados, esto significa que la vida de la memoria Flash no es normalmente un problema.

Conceptos básicos sobre el uso de la memoria flash

Se han realizado mejoras significativas en términos de desgaste de la memoria flash desde que se introdujeron los primeros dispositivos flash. Originalmente, la vida útil de la memoria flash se medía en términos de unos pocos miles de ciclos de programa.

En la actualidad, la mayoría de las memorias flash disponibles en el mercado están garantizadas para soportar 100 000 o más ciclos de borrado de programa, y ​​algunos fabricantes garantizan una vida útil de más de 1 000 000 de ciclos.

Mecanismo de desgaste de la memoria flash

La vida útil de la memoria flash se debe a un mecanismo de desgaste causado por la estructura y la tecnología básicas del dispositivo.

A continuación se ve una estructura de dispositivo típica, y a partir de esto se puede ver que hay varias capas y áreas en el dispositivo.

El mecanismo de desgaste de los dispositivos de destello se produce como resultado del uso que hace que la capa de óxido del túnel se degrade. Aunque existen otros mecanismos que pueden hacer que el dispositivo falle, es la degradación de la capa de óxido del túnel lo que causa el problema de desgaste de la memoria flash.

La memoria flash utiliza un proceso llamado inyección de electrones calientes de canal para programar cada celda y tunelización de Fowler-Nordheim para el ciclo de borrado. Sin embargo, se encuentra que los electrones pueden quedar atrapados dentro de la capa de óxido, y este atrapamiento de electrones en el óxido del túnel reduce el campo eléctrico durante las operaciones de borrado. A su vez, esto da lugar a una degradación gradual de las características de borrado y al cierre de la ventana de umbral de la celda de memoria.

Como resultado, la tecnología de captura / eliminación de trampas de carga es clave para mejorar las características de desgaste de la memoria flash.

Nivelación del desgaste de la memoria flash

Para aprovechar al máximo la memoria Flash, a menudo se utiliza un proceso llamado nivelación del desgaste. La técnica de nivelación del desgaste de la memoria Flash es una que se puede utilizar en una variedad de formas de memoria, p. discos duros, etc., pero también es muy aplicable a las memorias Flash donde se usa mucho para aumentar la vida y mejorar la confiabilidad.

El objetivo de la funcionalidad de nivelación del desgaste de la memoria Flash es rastrear qué bloques se han utilizado y distribuir el programa y los ciclos de borrado se distribuyen uniformemente en la memoria disponible. Mediante el uso de las técnicas de nivelación de desgaste, ningún bloque debe usarse mucho más que cualquier otro y, por lo tanto, ningún bloque falla prematuramente debido a un mayor número de ciclos de borrado de programa.

Para lograr esto, un bloque dentro de la memoria Flash está diseñado para tener una vida útil extendida, de modo que pueda usarse para rastrear el uso y controlar la nivelación del desgaste.

Hay tres tipos principales de mecanismos de nivelación de desgaste que se utilizan:

  • Sin nivelación de desgaste: La opción más sencilla es no utilizar la nivelación de desgaste para la memoria Flash. Este enfoque podría ser aceptable en circunstancias en las que se espera un uso reducido y una reducción de la complejidad es de suma importancia. En estas circunstancias, el controlador de memoria Flash asigna permanentemente las direcciones lógicas del sistema operativo a las direcciones físicas de la memoria Flash. Cuando se cambia una ubicación, el contenido de ese bloque debe borrarse y luego reprogramarse sin ninguna inteligencia para reducir el número de ciclos de borrado de programa. Esto no solo requiere más tiempo, sino que tampoco reduce el desgaste de la memoria flash.
  • Nivelación de desgaste dinámica: La nivelación de desgaste dinámico utiliza un mapa para vincular las direcciones de bloques lógicos, LBA generados por el sistema operativo, SO, a las ubicaciones físicas de la memoria Flash. Cada vez que el sistema operativo escribe nuevos datos, el mapa se actualiza para que el bloque físico original se marque como datos no válidos. A continuación, se vincula un nuevo bloque a esa entrada de mapa. Cada vez que se reescribe un bloque de datos en la memoria Flash, se escribe en una nueva ubicación.

    Todavía existe un problema con este tipo de desgaste de la memoria flash que se nivela con bloques de datos que nunca se reemplazan. Permanecen sin desgaste adicional.

    El nombre de este tipo de nivelación del desgaste proviene del hecho de que solo se reciclan los datos dinámicos, es decir, los datos que se cambian. La memoria puede durar más que una sin nivelación de desgaste, pero aún habrá bloques de datos que permanecerán operativos como resultado del bajo uso, mucho después de que la memoria en su conjunto esté inoperable ya que algunas áreas han excedido el número de borrado de programa. ciclos.

  • Nivelación estática del desgaste: Esta forma de nivelación del desgaste de la memoria Flash es la más sofisticada y eficaz. La nivelación de desgaste estático también utiliza un mapa para vincular las direcciones de bloques lógicos con las direcciones de memoria física.

    La nivelación estática del desgaste funciona de la misma manera que la nivelación dinámica del desgaste, pero con la adición de que los bloques de datos estáticos, es decir, los datos que no cambian, se mueven periódicamente para que estas celdas de bajo uso sean utilizadas por otros datos. Al mover incluso los datos estáticos periódicamente, nivela el uso y, por lo tanto, nivela el desgaste en toda la memoria.

El rendimiento general de la memoria Flash se ha mejorado significativamente en los últimos años. Esto significa que la confiabilidad y la vida útil de una memoria Flash es suficiente para permitir su uso no solo para el almacenamiento a corto plazo en aplicaciones como tarjetas de memoria y tarjetas de memoria para cámaras, sino también para aplicaciones más exigentes como el reemplazo de discos duros en computadoras.

Ver el vídeo: SSDs 5 cosas que no deberías hacer para que dure más consejos reales para optimizarlos (Octubre 2020).