Nivelación de desgaste


La nivelación de desgaste (también escrita como nivelación de desgaste ) es una técnica [1] para prolongar la vida útil de algunos tipos de medios de almacenamiento informáticos borrables , como la memoria flash , que se utiliza en unidades de estado sólido (SSD) y unidades flash USB . y memoria de cambio de fase . Hay varios mecanismos de nivelación del desgaste que proporcionan distintos niveles de mejora de la longevidad en dichos sistemas de memoria. [2] [3]

Western Digital ha utilizado el término nivelación de desgaste preventivo (PWL) para describir su técnica de conservación utilizada en unidades de disco duro (HDD) diseñadas para almacenar datos de audio y video. [4] Sin embargo, los discos duros generalmente no son dispositivos con nivel de desgaste en el contexto de este artículo.

Los medios de memoria flash y EEPROM tienen segmentos borrables individualmente, cada uno de los cuales puede someterse a un número limitado de ciclos de borrado antes de volverse poco fiables. Suele ser alrededor de 3000/5000 ciclos [5] [6] pero muchos dispositivos flash tienen un bloque con una vida especialmente extendida de 100.000 ciclos que puede ser utilizado por el controlador de memoria Flash para rastrear el desgaste y movimiento de datos entre segmentos. Los medios ópticos borrables como CD-RW y DVD-RW tienen una capacidad de hasta 1000 ciclos (100.000 ciclos para medios DVD-RAM ).

La nivelación del desgaste intenta evitar estas limitaciones organizando los datos de modo que los borrados y las reescrituras se distribuyan de manera uniforme en todo el medio. De esta manera, ningún bloque de borrado falla prematuramente debido a una alta concentración de ciclos de escritura. [7] En la memoria flash, un solo bloque en el chip está diseñado para una vida más larga que los demás para que el controlador de memoria pueda almacenar datos operativos con menos posibilidades de que se corrompan. [3] [8]

Los sistemas de archivos convencionales como FAT , UFS , HFS , ext2 y NTFS se diseñaron originalmente para discos magnéticos y, como tales, reescriben muchas de sus estructuras de datos (como sus directorios) repetidamente en la misma área. Cuando estos sistemas se utilizan en medios de memoria flash, esto se convierte en un problema. El problema se ve agravado por el hecho de que algunos sistemas de archivos rastrean los tiempos de último acceso, lo que puede llevar a que los metadatos de los archivos se reescriban constantemente en el lugar. [9]

Un sistema de almacenamiento de memoria flash sin nivelación de desgaste no durará mucho si los datos se escriben en la memoria flash. Sin nivelación del desgaste, el controlador flash subyacente debe asignar permanentemente las direcciones lógicas del sistema operativo (SO) a las direcciones físicas de la memoria flash. Esto significa que cada escritura en un bloque escrito previamente debe primero leerse, borrarse, modificarse y reescribirse en la misma ubicación. Este enfoque requiere mucho tiempo y las ubicaciones escritas con frecuencia se desgastarán rápidamente, mientras que otras ubicaciones no se utilizarán en absoluto. Una vez que algunos bloques llegan al final de su vida útil, dicho dispositivo deja de funcionar. [2]