Lo más importante de tu SSD no son las NAND Flash, ¿qué es FTL?

Lo más importante de tu SSD no son las NAND Flash, ¿qué es FTL?

Javier López

En un SSD por norma general valoramos ciertos aspectos corrientes como su velocidad de lectura y escritura, durabilidad, temperatura bajo estrés y sobre todo su precio. Pero hay un factor mucho más determinante e importante de los mismos del que no se habla y aunque siempre está en la sombra es importante que lo conozcamos para entender quién es el que manda en la jerarquía. ¿Qué es FTL?

Si el tipo y número de NAND Flash así como sus celdas es importante en un SSD cualquiera, sea SATA o NVMe, FTL es igual o más importante que estas y en cambio nadie habla de él. ¿Te imaginas no poder formatear tu propio SSD? Pues esto es solo un ejemplo de lo que este sistema es capaz de hacer por nosotros.

No se puede entender ningún dispositivo con NAND Flash en escritorio sin FTL

Ind-SSD-Solid-State-Architecture

FTL es el acrónimo de Flash Translation Layer o traducido a nuestro idioma como capa de traducción para Flash. Este es tan importante porque es una capa de hardware y software que está ubicada dentro del controlador de cada dispositivo de almacenamiento que se base en NAND Flash.

Esto incluye por supuesto cualquier tipo de SSD, pendrives, tarjetas SD y en definitiva, dispositivos basados en celdas de memoria como tal. FTL es tan importante que muchas de las características añadidas a los SSD las realiza el, donde además tiene gran parte de culpa del rendimiento de los discos de estado sólido, así como de su vida útil.

Es cierto y hay que puntualizar, que existen dos tipos de FTL como tal, los que están integrados en el SSD y los que están en el lado del host, pero estos últimos son por norma muy poco usados por una serie de motivos que comprenderemos a continuación.

Gestión y administración de las NAND Flash

FTL

Un FTL lo que hace básicamente es realizar los procesos esenciales de administración de las NAND Flash de cada SSD, donde lo hacen de forma redundante y es superpuesto al sistema de archivos del propio host como tal. Por lo tanto, realizan tareas como las traducciones de direcciones (tanto lógicas como físicas y entre ellas), administra los bloques defectuosos y si el SSD tiene sobre aprovisionamiento usa las celdas nuevas en su lugar, se encarga del código de corrección de errores o ECC, recolecta la basura que dejan los SSD o nivela el desgaste del mismo.

Aunque como bien sabéis estas funciones las hemos visto por separado, es el FTL el que se encarga de llevarlas a cabo. Es tan importante que una vez que todas estas funciones son realizadas y se ve una disminución de rendimiento evidente por todo lo que conllevan, es el FTL el que consigue devolver el rendimiento a las celdas para que no notemos dicha caída.

De hecho, la mayoría de fallos de los SSD o simplemente roturas se deben a un FTL mal implementado por parte del fabricante, lo que motiva que nos quedemos con un bonito pisapapeles hasta la posible tramitación de la garantía. Aunque para un usuario normal esto no vaya a ocurrir en pleno 2020, en servidores FTL no es tan querido como en escritorio, principalmente porque añade toda una serie de tareas que están compiladas a mano y que añaden latencia con el host.

Por ello, algunos fabricantes de SSD determinan no incluir FTL en sus modelos empresariales, algo que tiene sentido para dichos entornos si están extremadamente controlados.