En este artículo, se proporciona información sobre por qué las unidades SSD se desgastan
Descripción general
¿Por qué se desgastan los dispositivos de estado sólido?
Para analizar el motivo por el que una unidad SSD basada en flash tiene un tiempo de escritura limitado, analicemos la mecánica del dispositivo flash, cómo varía según el tipo de dispositivo flash y qué técnicas se utilizan para mejorar su funcionalidad.
Un dispositivo de memoria flash se lee y se escribe en páginas. Una lectura es relativamente sencilla, ya que se emite un comando de lectura con la dirección y se devuelven los datos correspondientes. Solo se puede escribir en las páginas que se han borrado, por lo que los comandos de escritura del host invocan ciclos de borrado del dispositivo flash antes de realizar la escritura en el mismo. Este ciclo de escritura/borrado causa el desgaste de las celdas, lo que conlleva una vida útil de escritura limitada.
Los dispositivos flash NAND pueden ser una ser una celda de un solo nivel (SLC) o una celda de nivel múltiple (MLC). La SLC solo almacena un bit de información y solo requiere dos niveles de voltaje para representar un 0 o un 1. Esta es la implementación más simple de NAND y tiene la resistencia más alta, que se encuentra alrededor de 100 000 ciclos. A medida que las futuras generaciones de dispositivos flash se cambien a dimensiones más pequeñas, se reducirá la resistencia (ya vemos algunos que tienen 50 000 ciclos). Por lo general, la MLC indica el almacenamiento de dos bits de información y requiere cuatro niveles de voltaje para representar 00, 01, 10 y 11. El desgaste de la celda es similar entre la SLC y la MLC, pero como deben detectarse más niveles de voltaje, los niveles de resistencia se reducen considerablemente. Por lo general, MlC tiene alrededor de 10 000, pero las generaciones más recientes tienen apenas 3000 a 5000 ciclos.
Una unidad SSD flash está compuesta por una cantidad de chips flash para alcanzar las altas capacidades. Para mejorar la vida útil de la escritura de las unidades SSD, se utilizan varias técnicas que pueden aplicarse a ambos tipos de NAND. Los accesos de escritura del host pueden ocurrir en cualquier ubicación, lo que puede causar zonas activas y esto provoca un desgaste prematuro en estas ubicaciones. Se utiliza una técnica llamada nivelación de desgaste para prevenir las zonas activas. La nivelación del desgaste da como resultado una distribución casi uniforme de los accesos de escritura en la capacidad total de la unidad SSD. La amplificación de escritura es una medida de la relación entre la cantidad de escrituras de flash en relación con la escritura del host. Por ejemplo, si se generan dos escrituras de flash por escritura del host, la amplificación de escritura también es dos. Para reducir la amplificación de escritura, una técnica denominada sobreaprovisionamiento mejora la eficiencia de la recolección de elementos no utilizados, lo que reduce la amplificación de escritura. Por último, una técnica que, por lo general, se aplica a las MLC utiliza niveles de voltaje más bajos durante el ciclo de escritura para reducir el desgaste de la celda, lo que mejora la resistencia a la escritura.
Aunque es difícil determinar exactamente cuánto tiempo duraría una unidad SSD, se proporcionan pautas para ayudar a calcularlo. Las unidades SSD utilizan una métrica desarrollada por JEDEC llamada TBW (terabytes escritos). Aunque la vida útil real se verá afectada por el perfil de carga de trabajo (por ejemplo: aleatorio o secuencial, tamaño del bloque o actividad de escritura), el TBW proporciona una estimación, pero su duración real puede variar. Para determinar la vida útil esperada, se deben tomar los TBW y dividirlos por el promedio esperado de BW de las escrituras en la unidad. Por lo general, aparte de las aplicaciones muy exigentes, se espera que las unidades SSD duren más de tres años.
Nivelación de desgaste
La memoria flash NAND es susceptible al desgaste debido a ciclos repetidos de programación y borrado que se realizan comúnmente en aplicaciones de almacenamiento de datos y sistemas que usan la Capa de traducción de flash (FTL). Programar y borrar constantemente en la misma ubicación de memoria a la larga desgasta esa porción de la memoria y hace que deje de ser válida. Como resultado, el flash NAND tendría una vida útil limitada. Para evitar que se produzcan situaciones como estas, se implementan algoritmos especiales dentro de la SSD llamados nivelación de desgaste. Como el término sugiere, la nivelación de desgaste proporciona un método para distribuir ciclos de programación y borrado uniformemente en todos los bloques de memoria dentro de la SSD. Esto evita ciclos continuos de programación y borrado en el mismo bloque de memoria, lo que da como resultado una mayor vida útil para la memoria flash NAND en general.
Hay dos tipos de nivelación de desgaste: dinámica y estática. El algoritmo dinámico de desgaste garantiza que los ciclos de programación y borrado se distribuyan equitativamente a través de todos los bloques dentro del flash NAND. El algoritmo es dinámico porque se ejecuta cada vez que los datos en el búfer de escritura de la unidad se vacían y escriben en la memoria flash. La nivelación dinámica de desgaste por sí sola no puede garantizar que el desgaste de todos los bloques esté nivelado al mismo ritmo. También existe el caso especial en el que los datos se escriben y almacenan en flash durante largos períodos de tiempo o de forma indefinida. Mientras que otros bloques se cambian, borran y juntan de forma activa, estos bloques permanecen inactivos en el proceso de nivelación de desgaste. Para asegurar que el desgaste de todos los bloques está nivelado al mismo ritmo, se implementa un algoritmo secundario de nivelación de desgaste denominado nivelación estática de desgaste. La nivelación estática de desgaste aborda los bloques que están inactivos y tienen datos almacenados en ellos.
Las unidades SSD de Dell incorporan algoritmos de nivelación de desgaste estática y dinámica para asegurarse de que los bloques NAND se desgasten de manera uniforme para una mayor expansión de la vida útil de la SSD.
Sobreaprovisionamiento
El sobreaprovisionamiento mejora lo siguiente:
- El rendimiento de escritura y el IOPS
- La confiabilidad