¿Qué es el SSD trimming?

Rubén Castro, 8 febrero 2023

Comienzan los Días Naranjas en PcComponentes. Hay un montón de artículos con descuentos irrepetibles!!!

Ver mejores ofertas

¿Qué es el proceso trimming de una unidad SSD?

El trim o trimming de una unidad SSD es un proceso que ayuda a mantener el rendimiento de una unidad de estado sólido a lo largo del tiempo.

El trim o recorte funciona borrando periódicamente los bloques de datos que ya no se utilizan. Los datos recortados no siempre se eliminan de inmediato, ya que un complejo proceso decide exactamente cuándo tiene lugar. Pero cuando lo hace, no sólo libera espacio en la unidad, sino que también ayuda a que la SSD funcione mejor y dure más.

Cómo funciona

Para entender por qué las unidades SSD no se limitan a borrar archivos al pulsar el botón, tenemos que echar un vistazo rápido al funcionamiento de un SSD.

Una unidad SSD tiene un chip (procesador) que gestiona todas las instrucciones, el flujo de datos, el cifrado y otros algoritmos. Sobre él hay una pequeña cantidad de DRAM, que actúa como caché de instrucciones y datos, además de almacenar una tabla de ubicaciones de datos en la unidad. También hay varios módulos flash NAND, que son los chips que almacenan todos los datos. Ahí es donde tiene lugar el trimming.

En el interior de estos chips hay miles de millones de minúsculos componentes, llamados transistores de efecto de campo, semiconductores de óxido metálico de puerta flotante que atrapan la carga. Como ese nombre no suena muy bien, la tecnología se suele denominar charge trap flash (CTF) y es el sistema más utilizado para almacenar datos en las unidades SSD actuales.

Cada CTF actúa como una única unidad de almacenamiento, conocida como memoria o celda de bits, que tiene tres trazas eléctricas conectadas a ella. Los CTF se agrupan, primero como una larga columna (una cadena), con entre 32 y 128 celdas.

Las celdas de una cadena comparten una traza común (una línea de bits), que se utiliza para leer los datos almacenados en ellas. Las que están en la misma fila -lo que se conoce como página- están conectadas a otra traza común -línea de palabra-.

Las líneas de selección de cadena y de página se utilizan en combinación con las líneas de palabra para determinar si tiene lugar un proceso de lectura, escritura o borrado.

Una matriz de cadenas y páginas forma lo que se denomina un bloque. El tamaño de las páginas y los bloques varía enormemente: las primeras pueden tener un tamaño de 4 kB y los segundos de 512 kB, aunque depende mucho del fabricante y el modelo.

Una sola pastilla de flash NAND puede contener miles de bloques, y los propios módulos flash pueden contener varias pastillas. Estas vastas y complejas rejillas de trazas y transistores conforman todos los dispositivos de almacenamiento flash, desde las memorias USB de unos pocos dólares hasta las unidades SSD multiterabyte de nivel empresarial.

Las páginas y los bloques son importantes porque todas las celdas de memoria de esta estructura comparten el mismo sustrato: la rebanada de material semiconductor, como el silicio o el arseniuro de galio, sobre la que se construyen todos los transistores.

Para borrar los datos de cualquier célula es necesario utilizar un alto voltaje negativo, lo que obliga a los electrones almacenados en el CFT a fluir hacia el sustrato. Por desgracia, esto significa que el proceso de borrado limpia todas las celdas del bloque, no sólo una de ellas.

Otra peculiaridad de la memoria flash NAND es que las celdas de memoria no pueden programarse con nuevos datos hasta que todas las celdas hayan sido borradas; en otras palabras, las SSD nunca escriben directamente nuevos datos sobre los antiguos, como hacen los discos duros tradicionales.

Y mientras que el borrado debe hacerse a nivel de bloque, la escritura se realiza a nivel de página, lo que significa que escribir en una SSD es mucho más rápido que borrarla.

El proceso de programación y borrado también daña las células de memoria cada vez, desgastando la capa del interior del transistor que almacena la carga. Para mejorar la longevidad de los chips, el procesador que los gestiona realiza ciclos a través de todos los bloques, hasta que cada uno se ha utilizado una vez, antes de volver al principio (por así decirlo).

Por tanto, podemos decir que la memoria NAND escribe rápido, borra despacio y se daña al realizar cualquiera de las dos operaciones.

Trimming

Ahora, volvamos a entender en qué consiste el trimming de SSD. Para ello, tomaremos una unidad SSD imaginaria que tiene páginas de 4 kB y bloques de 256 kB, es decir, 64 páginas por bloque. ¿Qué pasaría si quisiera eliminar un único archivo que ocupa 3056 kB en su SSD?

Este archivo ocuparía 764 páginas: 11 bloques completos y uno con 60 de las 64 páginas utilizadas. ¿Cómo borramos este archivo sin arriesgarnos a afectar a esas últimas 4 páginas, ya que podrían estar conteniendo datos para otro archivo?

Todos los datos permanecen en la unidad de almacenamiento hasta que se le indica explícitamente que haga algo al respecto. Los archivos y carpetas eliminados por el sistema operativo se marcan como no necesarios y, cuando se emite el comando TRIM, la tabla almacenada en la DRAM de la unidad SSD (o en la propia memoria flash NAND, si la unidad no tiene DRAM) se actualiza para reflejar esta situación.

Ten en cuenta que no todos los fabricantes de SSD utilizan el término TRIM, pero Windows sí lo hace, por lo que utilizaremos este término.

Los datos no se borran inmediatamente después de enviar el comando TRIM, sino cuando la unidad está inactiva o cuando vuelve a escribir datos en un bloque. El método utilizado depende del fabricante: los modelos de consumo realizan el borrado en reposo, mientras que los de nivel empresarial suelen hacerlo al escribir.

Los datos marcados para ser eliminados se borran cuando el firmware de la memoria NAND inicia un proceso denominado garbage collection (recogida de basura). Este proceso consiste en leer un bloque, copiar en la caché las páginas que deben conservarse y, a continuación, escribir en un bloque completamente vacío. A continuación, se borra el anterior, junto con las páginas marcadas para ser eliminadas.

¿Es lo mismo el trimming en un SSD que desfragmentar en un HDD?

Ambos son procesos con ciertas similitudes, pero no son lo mismo. La desfragmentación es un proceso que se utiliza para optimizar el rendimiento de las unidades de disco duro (HDD) reordenando los datos del disco para que se almacenen de forma contigua. Esto mejora la eficiencia de la unidad al reducir el tiempo que se tarda en leer y escribir datos.

Por otro lado, el trimming es específico de las SSD y se utiliza para mantener el rendimiento de la unidad a lo largo del tiempo. Las SSD utilizan memoria flash, lo que significa que tienen un número limitado de ciclos de escritura. Cuando se borran datos de una unidad SSD, el espacio que ocupaban no queda inmediatamente disponible para su reutilización. En su lugar, el firmware de la unidad marca el espacio como “no válido” y no se sobrescribe hasta que se realiza el proceso de recorte. Este proceso ayuda a evitar que la unidad se fragmente y se ralentice.

La recolección de basura es beneficiosa para la vida útil de la SSD y su rendimiento general, y TRIM simplemente la mejora (a veces los dos términos se utilizan indistintamente). Esto se debe a que sin este comando, la recolección de basura moverá constantemente todas las páginas, condensando los bloques parcialmente llenos, para mantener los bloques recién borrados disponibles para la programación - pero esto significa que las páginas no deseadas también se moverán, perdiendo tiempo y aumentando el desgaste de las celdas de memoria. Como TRIM señala explícitamente qué páginas son ahora basura, pueden dejarse tranquilas durante la recogida de basura y borrarse cuando sea necesario.

Rubén Castro

Redactor

Apasionado de explorar y diseccionar lo último en tecnología. Tengo mucha experiencia en el mundo de los ordenadores y el gaming, aunque también me gustan todos los tipos de gadgets.

Consentimiento