El FTL (Flash Translation Layer) es el componente del firmware embebido en el controlador de la unidad de almacenamiento que actúa como intermediario entre el sistema operativo y la memoria NAND física. Es el "cerebro" que hace que una tecnología inherentemente compleja y limitada funcione como una unidad de almacenamiento tradicional. Está presente en los SSD, las memorias USB y las tarjetas SD y microSD: todas las unidades que usan la tecnología flash NAND.
¿Por qué existe el FTL?
La memoria NAND flash tiene limitaciones fundamentales:
- No se pueden sobrescribir datos directamente: primero es necesario borrar bloques completos.
- Las celdas se degradan: cada ciclo de escritura y borrado las desgasta.
- Los bloques fallan: es necesario detectar y mapear los bloques defectuosos.
- Las escrituras son lentas comparadas con las lecturas.
- La lectura también degrada: cada operación de lectura altera eléctricamente las celdas vecinas (véase el punto 7).
El FTL oculta toda esta complejidad al sistema operativo, presentando una interfaz simple de bloques lógicos que parece funcionar como una unidad de almacenamiento tradicional.
Funciones principales del FTL
1. Traducción de direcciones lógicas a físicas
Cuando el sistema operativo pide escribir en el "bloque 1000", el FTL:
- Consulta su tabla de mapeo (guardada en RAM y en la propia NAND).
- Encuentra una ubicación física libre, que puede estar en cualquier chip.
- Escribe los datos allí.
- Actualiza la tabla para que el "bloque lógico 1000" apunte a esa ubicación física.
Clave: la misma dirección lógica puede apuntar a diferentes ubicaciones físicas en cada escritura.
2. Wear leveling (nivelación de desgaste)
Problema: si siempre se escribiera en los mismos bloques físicos, esos se desgastarían rápidamente mientras el resto quedaría intacto. Solución del FTL:
- Wear leveling dinámico: rota las ubicaciones físicas de los datos que cambian con frecuencia.
- Wear leveling estático: ocasionalmente mueve datos "fríos" (que no cambian) a bloques muy usados, y viceversa.
- Resultado: distribuye el desgaste de forma uniforme entre todas las celdas, maximizando la vida útil.
3. Garbage collection (recolección de basura)
Problema: las escrituras se hacen a nivel de página (4 a 16 KB), pero los borrados se hacen a nivel de bloque (varios MB). Cómo funciona:
- Al actualizar datos, el FTL escribe la nueva versión en una ubicación libre y marca la antigua como inválida.
- Con el tiempo, los bloques quedan fragmentados, mezclando páginas válidas e inválidas.
- El recolector consolida las páginas válidas de varios bloques en uno solo.
- Luego borra los bloques que quedaron vacíos, liberando espacio.
Esto ocurre en segundo plano, pero puede afectar el rendimiento de la unidad si está muy llena.
4. ECC (código de corrección de errores)
La memoria NAND es propensa a errores de bits. El controlador, bajo la gestión del FTL, implementa:
- BCH (Bose-Chaudhuri-Hocquenghem): códigos más simples, empleados en unidades antiguas.
- LDPC (Low-Density Parity-Check): códigos más potentes, empleados en chips flash NAND modernos, capaces de corregir más errores.
Proceso:
- Al escribir: calcula los códigos de verificación y los almacena junto con los datos.
- Al leer: verifica la integridad y corrige los errores de forma automática.
- Si los errores superan la capacidad de corrección, marca el bloque como defectuoso.
5. Encriptación
Muchas unidades implementan encriptación por hardware (AES-256), gestionada por el controlador de forma transparente para el usuario:
- Encripta los datos antes de escribirlos en la NAND.
- Los desencripta al leerlos.
- La clave puede estar basada en contraseña (como BitLocker) o ser transparente.
- Efecto sobre el borrado seguro: basta borrar la clave de encriptación para que todos los datos resulten irrecuperables de forma instantánea.
6. Compresión en tiempo real
Algunos controladores comprimen los datos antes de escribirlos:
- Ventaja: mejora el rendimiento y la durabilidad, al reducir las escrituras físicas.
- Desventaja: rendimiento inconsistente, dependiendo de la compresibilidad de los datos.
7. Read disturb (perturbación por lectura)
Problema: las celdas de memoria NAND no solo se degradan al escribirlas. Cada operación de lectura induce una alteración eléctrica en las celdas vecinas del mismo bloque, y esa alteración se acumula con el número de lecturas.
Mecanismo físico: para leer una celda, el controlador debe aplicar un voltaje de paso elevado —del orden de 6 voltios— a todas las demás celdas que comparten la misma línea de conexión. Ese voltaje no alcanza el nivel del voltaje de programación, que ronda los 15 voltios, pero produce un efecto de programación débil sobre las celdas a las que se aplica. En otras palabras: leer aplica voltaje, y el voltaje programa un poco.
Consecuencia: una zona de la memoria puede volverse ilegible sin que jamás se haya escrito en ella, únicamente por haber sido consultada muchas veces.
Dónde se manifiesta primero: en las propias tablas de mapeo del FTL. El controlador debe consultarlas en cada operación de acceso al dispositivo, por lo que acumulan un número de lecturas muy superior al de cualquier archivo almacenado. Un archivo puede pasar meses sin ser abierto; la tabla que indica dónde está ese archivo se lee cientos de veces al día.
Solución del FTL: el controlador mantiene contadores de lectura por bloque y, al superar un umbral determinado, reescribe los datos en otra ubicación para restaurar los niveles de carga. Este mecanismo tiene límites, y su eficacia depende de la tecnología de la memoria y del estado de desgaste del bloque.
Relación con la densidad: el efecto crece tanto con el número de lecturas como con los ciclos de escritura y borrado acumulados por el bloque. Y afecta de forma más severa a las celdas de menor voltaje umbral, por cuanto el impacto se correlaciona con la diferencia entre el voltaje de paso y el voltaje propio de la celda. En SLC, con dos niveles, el margen es amplio y la acumulación resulta irrelevante. En QLC, con dieciséis niveles comprimidos en el mismo rango eléctrico, una alteración que en SLC no tendría efecto alguno puede bastar para que el dato deje de ser legible.
Consecuencia práctica en recuperación de datos
Cuando una unidad presenta este tipo de deterioro, cada intento adicional de lectura sobre la zona afectada contribuye a agravarlo. Por esta razón el laboratorio suspende todo acceso no controlado al dispositivo y trabaja con instrumental especializado en lugar del sistema operativo.
Este fenómeno se encuentra caracterizado experimentalmente en literatura científica revisada por pares. Las referencias correspondientes se indican al final del artículo.
¿Por qué es tan complejo?
El FTL es una pieza de ingeniería extraordinariamente compleja que convierte una tecnología difícil de gobernar en algo que funciona de forma transparente. Su diseño es uno de los secretos mejor guardados de cada fabricante, y la diferencia entre un buen y un mal FTL puede ser la diferencia entre un SSD excelente y uno mediocre.
Scrambling (aleatorización)
La memoria NAND funciona mejor con patrones de datos aleatorios. El controlador, por tanto:
- Pasa los datos por un algoritmo de aleatorización antes de escribirlos.
- Convierte secuencias uniformes como "00000000" en patrones pseudoaleatorios.
- Razón: mejora la confiabilidad de las celdas y la efectividad del ECC.
Interleaving (entrelazado)
En unidades con múltiples chips NAND conectados por varios canales, el FTL:
- Distribuye una escritura grande entre múltiples chips y canales en paralelo.
- Ejemplo: una escritura de 1 MB puede dividirse en ocho fragmentos de 128 KB, cada uno dirigido a un chip diferente de forma simultánea.
- Resultado: multiplicador de rendimiento. Un dispositivo con ocho canales puede ser hasta ocho veces más rápido.
Mapeo complejo de direcciones
El FTL no mantiene un simple mapeo uno a uno. Emplea estructuras sofisticadas:
- Mapeo a nivel de página: tabla de gran tamaño que relaciona cada página lógica con su ubicación física. Requiere abundante memoria RAM.
- Mapeo híbrido: combina mapeo a nivel de bloque, para datos secuenciales, con mapeo a nivel de página, para datos aleatorios.
- Caché de mapeo: mantiene en RAM solo las entradas más usadas; el resto permanece en la NAND.
Over-provisioning (espacio de reserva)
El FTL reserva un porcentaje del espacio total —típicamente entre el 7 % y el 28 %— que el sistema operativo no ve:
- Necesario para una recolección de basura eficiente.
- Espacio para reemplazar bloques defectuosos.
- Área de trabajo para la nivelación de desgaste.
Consecuencias prácticas
- No es sencillo recuperar datos borrados. El FTL puede haber movido o borrado físicamente los datos, aunque el sistema operativo solo haya solicitado eliminarlos de forma lógica.
- El rendimiento varía con el nivel de llenado. Una unidad casi llena dispone de menos espacio para la recolección de basura.
- El comando TRIM es determinante. Le indica al FTL qué bloques lógicos están realmente libres, permitiendo una recolección más eficiente.
- La capacidad real no equivale a la capacidad útil, por efecto del espacio de reserva y del espacio ocupado por las tablas de mapeo.
- Leer no es una operación inocua. Sobre una unidad ya deteriorada, cada lectura adicional puede agravar su condición.
Ejemplos de lectura directa de memorias monolíticas flash NAND
Las imágenes siguientes ilustran una técnica de laboratorio para la lectura directa de la memoria mediante retiro físico del componente y conexión de sus contactos a un lector especializado. Se incluyen únicamente con carácter informativo.
Esta técnica se reserva para dispositivos cuyo controlador ha dejado de funcionar por completo. No resulta aplicable cuando el controlador puede ser puesto en operación mediante microcódigo de servicio, por cuanto implica el retiro irreversible del componente de memoria.


Qué es la memoria flash NAND
La memoria flash NAND guarda la información como carga eléctrica atrapada dentro de cada celda, y la conserva aunque el dispositivo esté desconectado. Por eso es la base de los SSD, las memorias USB, las tarjetas SD y microSD, y del almacenamiento interno de celulares y cámaras.
Lo que distingue a los distintos tipos de NAND es cuántos bits guarda cada celda. Para guardar más bits, la celda tiene que distinguir más niveles de carga dentro del mismo rango de voltaje: 2 niveles para 1 bit, 4 para 2 bits, 8 para 3 bits y 16 para 4 bits. Cuantos más niveles, más estrecho es el margen entre uno y otro, y más fácil es que el desgaste o una pequeña alteración eléctrica hagan que la celda se lea mal.
Esa es la razón de fondo del compromiso entre capacidad, costo y resistencia. La resistencia se mide en ciclos de programación y borrado (P/E): cuántas veces puede escribirse y borrarse una celda antes de empezar a fallar.
SLC: un bit por celda
Con solo dos niveles, el margen entre ellos es amplio: es el tipo más rápido y resistente, del orden de 100.000 ciclos P/E, pero también el más caro por gigabyte. Se reserva para usos industriales y empresariales en los que la durabilidad pesa más que la capacidad.
MLC: dos bits por celda
Cuatro niveles por celda duplican la capacidad respecto de SLC a un costo menor, con una resistencia del orden de 10.000 ciclos P/E. Durante años fue el equilibrio habitual en equipos profesionales.
TLC: tres bits por celda
Ocho niveles por celda bajan el costo y suben la capacidad, a cambio de menos resistencia, del orden de 3.000 ciclos P/E, y de un controlador que debe corregir más errores. Es el tipo más común en los equipos de consumo actuales.
QLC: cuatro bits por celda
Con dieciséis niveles en el mismo rango, QLC ofrece la mayor capacidad al menor costo, pero la menor resistencia, del orden de 1.000 ciclos P/E, y el margen más estrecho. Encaja en almacenamiento de gran volumen que se escribe poco y se lee mucho, como archivos multimedia o copias de archivo.
NAND 3D: celdas apiladas en vertical
Durante años la capacidad creció achicando las celdas, colocadas una al lado de otra sobre el chip (NAND 2D). Al llegar a tamaños muy pequeños, las celdas se volvían menos fiables. La solución fue apilarlas en capas verticales: la NAND 3D permite más capacidad sin seguir reduciendo cada celda, y puede combinarse con cualquiera de los tipos anteriores (SLC, MLC, TLC o QLC).
Tabla comparativa de tecnologías flash NAND
| Tecnología | Bits por celda | Ciclos P/E (durabilidad) | Costo relativo | Velocidad | Aplicación típica |
|---|---|---|---|---|---|
| SLC (Single-Level Cell) | 1 bit | ~100.000 | Muy alto | Muy alta | Servidores, industrial, empresarial |
| MLC (Multi-Level Cell) | 2 bits | ~10.000 | Medio-alto | Alta | Prosumer, empresarial, workstations |
| TLC (Triple-Level Cell) | 3 bits | ~3.000 | Bajo | Media | Consumo general, laptops, PC |
| QLC (Quad-Level Cell) | 4 bits | ~1.000 | Muy bajo | Media-baja | Almacenamiento masivo, archivo |
Notas importantes
- Ciclos P/E: número de ciclos de programación y borrado que puede soportar una celda antes de degradarse.
- Durabilidad: a mayor número de ciclos P/E, mayor vida útil del dispositivo.
- Densidad: a mayor número de bits por celda, mayor capacidad de almacenamiento, pero menor durabilidad.
- Tecnología 3D: puede aplicarse a cualquiera de estas tecnologías (SLC, MLC, TLC, QLC) para aumentar la capacidad mediante apilamiento vertical de celdas. Las cifras de ciclos P/E indicadas en la tabla corresponden a la generación 3D actual de cada tecnología, de modo que la mejora de la arquitectura tridimensional respecto de la 2D ya se encuentra incorporada en dichos valores.
- Relación costo-rendimiento: SLC ofrece el máximo rendimiento al mayor costo, mientras QLC ofrece la máxima capacidad al menor costo.
- Perturbación por lectura: la resistencia expresada en ciclos P/E mide únicamente el desgaste por escritura y borrado. No refleja la degradación por lectura acumulada, que constituye un mecanismo independiente y afecta con mayor severidad a las tecnologías de mayor densidad.
Información adicional
Comparación de durabilidad
- SLC dura aproximadamente 100 veces más que QLC.
- MLC dura aproximadamente 10 veces más que QLC.
- TLC dura aproximadamente 3 veces más que QLC.
Comparación de densidad
- QLC almacena 4 veces más datos por celda que SLC.
- TLC almacena 3 veces más datos por celda que SLC.
- MLC almacena 2 veces más datos por celda que SLC.
Recomendaciones de uso
- SLC: aplicaciones críticas donde la durabilidad y la velocidad son esenciales (servidores, bases de datos, aplicaciones industriales).
- MLC: uso profesional con cargas de trabajo moderadas a intensas (estaciones de trabajo, edición de video, desarrollo de software).
- TLC: uso general de consumo con cargas ligeras a moderadas (laptops, computadoras personales).
- QLC: almacenamiento de gran capacidad con lectura moderada y poca escritura (archivos multimedia, respaldos, archivo).
Tendencias del mercado
- 2000-2010: predominio de SLC y MLC.
- 2010-2015: transición masiva a TLC.
- 2015-2020: introducción y adopción de QLC.
- 2020 en adelante: la NAND 3D con TLC y QLC domina el mercado.
Perspectivas:
- PLC (Penta-Level Cell): cinco bits por celda, en desarrollo.
- Mejoras continuas en NAND 3D: más capas y mejor durabilidad.
- Algoritmos de gestión más sofisticados para compensar la menor durabilidad.
- Mayor énfasis en eficiencia energética.
Fuentes y referencias
- Kingston Technology, "Diferencias entre SLC, MLC, TLC y 3D NAND". https://www.kingston.com/es/blog/pc-performance/difference-between-slc-mlc-tlc-3d-nand
- Y. Cai, Y. Luo, S. Ghose, O. Mutlu, "Read Disturb Errors in MLC NAND Flash Memory: Characterization, Mitigation, and Recovery", 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2015.
- Y. Cai, S. Ghose, E. F. Haratsch, Y. Luo, O. Mutlu, "Errors in Flash-Memory-Based Solid-State Drives: Analysis, Mitigation, and Recovery", Carnegie Mellon University, 2017 (arXiv).
- Y. Cai, E. F. Haratsch, O. Mutlu, K. Mai, "Threshold Voltage Distribution in MLC NAND Flash Memory: Characterization, Analysis and Modeling", Design, Automation and Test in Europe (DATE), 2013.
Análisis técnico y elaboración: Laboratorio de SOS Data Recovery (Tecnología y Negocios del Caribe C.A.). Documento técnico de laboratorio, versión 2 revisada, septiembre de 2026.
Servicios relacionados con este artículo



