La amplificación de escritura (Write Amplification) desempeña un papel fundamental en la durabilidad de un SSD. Como ya sabéis, cuanto menos se escriba en un SSD más vida útil tendrá, así que esta tecnología influye directamente en este factor y es uno de los puntos en los que los ingenieros prestan más atención. En este artículo vamos a explicaros qué es esto del Write Amplification, en qué consiste y por qué es importante.
Write Amplification se integra en el diseño de la controladora de todos los SSD, y a diferencia de otros factores que colaboran en maximizar la vida útil del dispositivo, esta no es una técnica que vaya a duplicar o triplicar su vida útil, pero sí que es muy importante para la longevidad del dispositivo. Vamos a verlo.
¿Qué es Write Amplification y cómo funciona?
La amplicifación de escritura es lo suficientemente compleja para que no vayamos a intentar definirla en este artículo como tal; basta decir que un SSD que está tratando de administrar sus bloques libres necesitará, a veces, mover datos de dos bloques que tengan pocos datos a otro bloque para dejar ese espacio libre y que puedan borrarse. Normalmente esto funciona como una especie de desfragmentación interna de los bloques del SSD: si hay dos bloques que tienen pocos datos, esos datos se mueven a un tercer bloque para dejar los dos primeros libres y poder reutilizarlos.
Dado que esta operación no ha sido solicitada por el sistema HOST del SSD, el resultado es una escritura «inesperada» que somete al SSD a más escrituras de lo que debería. Si el número de escrituras NAND dentro del SSD coincide con el número de solicitudes del sistema HOST, entonces la amplificación de escritura sería 1.0. Si el número promedio de escrituras en flash fuera el doble, entonces el Write Amplification sería de 2.0.
Por lo tanto, si tuvieras que escribir una pieza de software del sistema que midiera las escrituras SSD, esta medición no alcanzaría el número real de veces que se escribieron en los chips de memoria flash debido a esta amplificación de escritura. Por lo tanto como ya supondréis, se trata de un factor nocivo, y lo que hace la controladora del SSD es, precisamente, tratar de reducirlo al mínimo en pos de maximizar la vida útil del SSD.
¿Cómo se reduce la amplificación de escritura?
Hay muchas formas de reducir este factor. Algunos SSD escriben datos en una especie de estructura de registro, de manera que los datos se escriben en direcciones NAND secuenciales y el mantenimiento se realiza durante los periodos de inactividad del dispositivo. Esto reduce la amplificación de escritura, pero la gestión de datos se complica a medida que se va llenando el SSD.
El enfoque de las controladoras SandForce, por ejemplo, es comprimir los datos que ingresan a la memoria del SSD. Si estos datos se comprimen a la mitad de su tamaño original, al SSD solo le llegan realmente la mitad de escrituras. Esto permite a SandForce presumir de que su Write Amplification es inferior a 1.0, una cifra que no es para nada intuitiva ya que conlleva otros factores como el detrimento del rendimiento del SSD, y además el dato que recibe la NAND no es real.
En resumen, un SSD que ha sido diseñado para reducir la amplificación de escritura reducirá la cantidad de veces que la memoria NAND Flash ve los ciclos de escritura, aprovechando así la cantidad limitada de operaciones de borrado / escritura que los chips NAND pueden soportar antes de experimentar errores de bits.