Amplificación de Escritura (WA) y ¿cómo afecta a los SSD?

jueves, 31 de enero de 2019 por Michael Nuncic

En una entrada reciente, describimos la Recolección de Basura y el comando Trim. Ambos son métodos para marcar y establecer datos que ya no están siendo utilizados y que, por lo tanto, es posible sobrescribir en un SSD basado en Flash NAND.

Estos dos métodos intentan resolver el problema que presentan todos los SSD compuestos de chips Flash NAND: la Amplificación de Escritura (WA) y el Factor de Amplificación de Escritura (WAF).

Como mencionamos anteriormente, una de las principales diferencias entre una unidad de disco duro magnético "normal" (HDD) y una Unidad de Estado Sólido (SSD) es la forma en la que gestionan las escrituras de datos. Mientras que los HDD escriben datos en un espacio vacío, el SSD siempre borra los datos primero, antes de escribir nuevos datos en los chips de almacenamiento Flash. Esto significa que, a excepción de los SSD nuevos o aquellos que han sido borrados de forma segura por el fabricante antes de su venta, los chips de almacenamiento Flash deben ser borrados antes de ser sobrescritos.

Esto no sería un problema si el proceso de borrado fuera una tarea fácil. Sin embargo, esto no sucede así, ya que el borrado y escritura de nuevos datos en un SSD requiere que los datos y metadatos sean escritos varias veces. Esto se debe a que los almacenamientos Flash consisten de páginas y bloques de datos.

Los bloques están compuestos de varias páginas y una página está compuesta de varios chips de almacenamiento. El principal desafío es que las células de Flash solamente pueden eliminarse en conjunto por bloque y escritas en conjunto por página. Para escribir datos nuevos en una página, debe estar físicamente vacía. Si no lo está, entonces debe borrarse el contenido de la página. Sin embargo, no es posible borrar una única página, sino solamente todas las páginas que sean parte de un bloque. Ya que los tamaños de bloque de un SSD son fijos — por ejemplo, 512kb, 1024kb y hasta 4MB — un bloque que únicamente contenga una página con solamente 4k de datos, de todas maneras ocupará todo el espacio de almacenamiento, es decir, los 512kb completos.

Y esto no es todo: cuando se modifica algún dato en el SSD, el bloque correspondiente primero debe ser marcado para borrado, como preparación para la escritura de los nuevos datos. Luego el algoritmo de lectura/modificación/escritura del controlador del SSD determinará cuál es el bloque que se escribirá, recuperará todos los datos existentes en ese bloque, marcará el bloque para borrado, redistribuirá los datos anteriores y luego escribirá los nuevos datos en el bloque viejo.

Recuperar y redistribuir los nuevos datos significa que los datos viejos serán copiados a una nueva ubicación y que otros complejos cálculos y formas de lidiar con metadatos se sumarán a la cantidad total de datos.

El resultado es que simplemente borrando datos de un SSD, se crean más datos que los que se destruyen. A partir de que los chips Flash NAND funcionan correctamente durante una cierta cantidad de ciclos de lectura/escritura, la Amplificación de Escritura (WA) provoca una menor vida útil, resistencia y velocidad.

El Factor de Amplificación de Escritura (WAF)

Como se mencionó anteriormente, los SSD para consumidores solían tener un alto WAF, ya que cuando escribimos un nuevo archivo de 4kb, por ejemplo, es posible que la Unidad de Estado Sólido escriba 40kb de datos en promedio. Esto se debe a que el controlador del SSD intenta combinar datos de distintos bloques utilizados parcialmente para liberar páginas y poder escribir nuevos datos. En este caso, el Factor de Amplificación de Escritura es de 10. Si, por ejemplo, se envían 2 GB de datos desde la computadora host al SSD y se escriben 4 GB en el SSD, el WAF es de 2.

Aquí encontraremos una buena explicación de nuestro asociado Kingston Technology con respecto a de qué manera se calcula el WAF.

¿Cómo combatir la Amplificación de Escritura?

Podemos atenuar los efectos de la amplificación de escritura manteniendo el espacio libre del SSD consolidado. En realidad, podemos minimizar la Amplificación de Escritura cuando está activado el comando TRIM y el sistema operativo realiza automáticamente las operaciones de TRIM en segundo plano para eliminar espacio en disco no utilizado. Sin embargo, y esto implica un riesgo grande, una vez que el TRIM está activo y el espacio de almacenamiento ha sido sobrescrito, no existe ninguna posibilidad de recuperar los datos originales que estaban guardados allí.

A pesar de esto, cuando se trata de datos importantes, no debe darse por vencido inmediatamente, sino que debe dejar el caso en manos de los especialistas de recuperación de datos. En algunos casos, ellos pueden recuperar datos que se han "escondido" en otras ubicaciones, por ejemplo, o en caso de que el comando TRIM no haya sido ejecutado correctamente.

El blog de la recuperación de datos

Si ha sufrido una pérdida de datos, contáctenos inmediatamente.