Cómo comprobar y activar TRIM en un SSD de Mac
() translation by (you can also view the original English article)
Probablemente sabes que las unidades de estado sólido (SSD) se diferencian de las unidades de disco duro (HDD) en la forma en que almacenan la información, y puede que hayas oído que algo llamado TRIM puede mantener su rendimiento.
En este tutorial, no solo te mostraré cómo puedes habilitar la compatibilidad con TRIM para tus unidades SSD, sino que también entenderé qué significa el término y cómo encaja en la funcionalidad del almacenamiento de estado sólido.
Screencast
SSDs vs. HDDs
Probablemente hayas oído que las unidades SSD tienen una vida útil, y que puedes prolongarla activando algo llamado TRIM. Esto es ampliamente cierto, y te mostraré cómo comprobar y habilitar la compatibilidad con TRIM en tus unidades, pero primero es importante dar un paso atrás y entender de qué estamos hablando.
Un disco duro codifica los datos en un revestimiento magnético en un disco giratorio dentro de la unidad.
Una unidad SSD, en cambio, no es más que una red de celdas de memoria flash ensambladas en una carcasa de disco, lo que significa que no tiene partes móviles. Es como tener una serie de llaves USB de muy alto rendimiento metidas en una caja.



Las ventajas de las unidades SSD son claras: son exponencialmente más rápidas, son totalmente silenciosas, son más duraderas y son inmunes a problemas como la fragmentación.
Como ocurre con cualquier tecnología nueva, hasta hace poco eran bastante escasas debido a sus elevados precios. Pero ahora que esos precios están bajando, las SSD vienen de serie en la mayoría de los ordenadores nuevos, y cada vez más gente está sustituyendo sus viejos discos duros por modernas alternativas de estado sólido.
Datos de caducidad (vencimiento)
Esto me lleva a abordar el tema de la longevidad. Dado que las celdas de memoria flash solo pueden escribirse un determinado número de veces, las unidades de estado sólido tienen técnicamente una vida útil limitada, más que sus predecesoras las unidades de disco.
Sin embargo, a menudo se exagera esta cuestión, así que si le da pánico, considere lo siguiente: incluso con un uso intensivo, tardaría más de diez años en desgastar una unidad de estado sólido media. Es mucho más probable que primero sustituyas tu ordenador.
Sin embargo, hay formas de maximizar esa vida útil, y ahí es donde entra el TRIM.
Para entender lo que hace TRIM, primero hay que comprender un poco cómo almacenan la información las unidades de estado sólido.
Páginas y bloques
Cualquier archivo de tu ordenador no es más que una colección de datos, y una unidad de estado sólido escribe esos datos en una serie de páginas, cada una de las cuales está ensamblada en una serie de bloques. Los bloques y las páginas son la estructura fundamental del almacenamiento de datos en las unidades SSD.



Cada archivo de tu ordenador tiene un número de estos bloques reservados para su uso. El problema es que las unidades SSD solo pueden escribir nuevos datos en regiones vacías, no pueden sobrescribir datos directamente como lo hacen los discos duros.
Además, las unidades SSD no pueden borrar páginas individuales de datos. Pueden escribir nueva información a nivel de página, pero los datos antiguos solo pueden borrarse a nivel de bloque.
Funciona como un Etch-a-Sketch. Puedes garabatear donde quieras en el Etch-A-Sketch cuando esté en blanco, y seguir garabateando hasta que la pantalla esté llena. Pero en ese momento, si quieres dibujar algo nuevo, tienes que agitar el Etch-a-Sketch y borrar toda la pantalla: el Etch-a-Sketch es como un bloque de datos en tu SSD.
Esto significa que cuando solo algunas de las páginas de datos de un bloque quedan obsoletas, no se pueden eliminar de forma selectiva. En su lugar, la SSD mueve todas las páginas buenas a un bloque completamente nuevo y el bloque antiguo se borra, dejando espacio para los datos futuros.
Sacar la basura
El funcionamiento de un ordenador implica muchas escrituras y reescrituras de datos, por lo que las unidades SSD tienen que mover constantemente los bloques para consolidar los datos válidos y eliminar los bloques no válidos para mantener mucho espacio vacío disponible para cuando se necesite. Este proceso se conoce como recolección de basura.
Cuando se borra un archivo en el ordenador, el sistema operativo no elimina realmente ningún dato, sino que simplemente elimina el enlace virtual entre el archivo anterior y el lugar donde se almacenaban sus datos en la unidad. Así es como funciona un borrado y una creación de archivos básicos en un SSD.
Etapa 1



Esta situación hipotética comienza con cuatro archivos en tu disco duro.
Por lo que a ti respecta, podrían ser cualquier tipo de archivo, de cualquier tamaño. Desde la perspectiva del SSD, cada archivo es solo una serie de páginas de datos que se escriben juntas dentro de un único bloque de datos. En la mayoría de los casos del mundo real, los archivos son lo suficientemente grandes como para que cada uno ocupe varios bloques, pero esta es una visión simplificada.
Las celdas rosas de la parte inferior del bloque de datos están vacías, lo que significa que se podrían escribir nuevos datos en esas páginas. Ahora borra el archivo C.
Etapa 2



El archivo C se borra, pero el SSD no tiene ni idea de que los datos son ahora inútiles.
Los datos del archivo C siguen escribiéndose en las mismas páginas, y lo único que es diferente es que la referencia del sistema operativo sobre dónde encontrar los datos del archivo C ha sido eliminada. Los datos en sí son ahora inútiles, pero el SSD sigue sin darse cuenta y los mantiene allí.
En cada etapa de este proceso, hay que recordar que la unidad realiza periódicamente la recolección de basura. Cada vez que se ejecuta un ciclo de recolección de basura, la unidad SSD toma todo el bloque de datos y lo reescribe en un área diferente de la unidad en un esfuerzo por mantener los datos válidos consolidados y el espacio vacío disponible en grandes trozos.
En otras palabras, el bloque se copia tal cual y se pega en otra parte de la unidad. A continuación, se borra su ubicación original, lista para los nuevos datos.
Como la unidad no tiene ni idea de que los datos del archivo C son ahora inválidos, copia también todas esas páginas inútiles. Ahora voy a hacer un nuevo archivo.
Etapa 3



En este punto, he creado el Archivo X.
Ahora que el archivo X ha tomado el lugar del archivo C en el sistema operativo, el SSD sabe que los datos del archivo C se han vuelto inválidos y marca esas páginas para la recolección de basura.
Mientras tanto, dos de las páginas libres del bloque se han utilizado para escribir los datos del Archivo X. Cuando se ejecute el siguiente ciclo de Recogida de Basura, los datos se copiarán en un nuevo bloque como es habitual, pero esta vez las páginas donde vivía el Archivo C no se moverán, y los datos del Archivo X ocuparán su lugar.
Los datos reales del archivo C se borrarán finalmente, ya que la ubicación del bloque original se limpia.



Presentación de TRIM
Como puedes ver, la incapacidad de los SSD para sobrescribir directamente cualquier cosa hace que sea más complicado para ellos gestionar los datos.
Sin saber cuándo los datos de los archivos antiguos dejan de ser válidos, las unidades SSD gastan muchos ciclos de escritura transportando datos inútiles. Esto no sólo hace que las operaciones normales de los archivos se ralenticen, sino que también implica más lecturas y escrituras en las celdas flash, lo que disminuye su vida útil innecesariamente.
Sugerencia: es posible que te hayas dado cuenta de que, aunque compres unidades SSD de cierta capacidad, tienes mucho menos espacio realmente disponible para usar. Por ejemplo, una típica unidad SSD de 256 GB solo tendrá unos 240 GB disponibles para su uso.
La razón es que los fabricantes de SSD reservan un porcentaje del espacio de la unidad para que el firmware lo utilice como buffer para la recolección de basura y otras tareas de mantenimiento. Esto se denomina sobre aprovisionamiento y es necesario para garantizar que el rendimiento de la unidad no se degrade significativamente a medida que se llena.
Como regla general, cuanto más espacio libre haya en un SSD, mejor será su rendimiento.
Por defecto, las unidades SSD no tienen forma de saber cuándo los archivos dejan de ser válidos, y aquí es donde TRIM viene al rescate.
TRIM es un comando que el sistema operativo envía a la unidad SSD para indicarle qué datos han dejado de ser válidos. Utilizando esta información, la unidad SSD puede realizar su recolección de basura de manera más eficiente, y reducir la tensión en el hardware.
Usando mi ejemplo de antes, esta es una ilustración del mismo escenario de gestión de archivos, excepto con TRIM activado esta vez.
Etapa 1



Todo comienza exactamente igual que antes, con cuatro archivos genéricos que se escriben en páginas de un bloque de datos en el SSD.
Etapa 2



Esta vez, tan pronto como borro el archivo C, el sistema operativo le dice al SSD que esas páginas de datos se han vuelto inválidas, por lo que se marcan para la recolección de basura inmediatamente.
Etapa 3



Como resultado, cuando escribo el archivo X en la unidad, Garbage Collection ya ha limpiado las ranuras donde estaba el archivo C y he ahorrado al SSD algunas escrituras y reescrituras innecesarias.
Hacer que funcione para ti
Si te parece una mejora relativamente pequeña, recuerda que mi ejemplo es una simplificación del proceso completo y que las unidades SSD tienen que lidiar con millones de bloques de datos que se barajan: ¡se acumulan rápidamente!
Ahora que tienes una idea de lo que hace TRIM y cómo puede ayudar a prolongar la vida útil de tu unidad de estado sólido, asegúrate de que realmente funciona en tu máquina.
Si compró un Mac con una unidad SSD instalada de fábrica, entonces TRIM está activado por defecto y ya está todo listo, no hay de qué preocuparse.
Si, por el contrario, has añadido un SSD de terceros a tu sistema, entonces TRIM estará desactivado por defecto. Si no está seguro, lo mejor que puede hacer es volver a comprobar
Paso 1: Comprobar el estado del TRIM
Para ver si tu SSD tiene TRIM activado o no, necesitas acceder a una herramienta llamada Información del Sistema (también conocida como Perfil del Sistema en versiones antiguas de OS X).
La forma más fácil de acceder a ella es hacer clic en el menú Apple mientras se mantiene pulsada la tecla Opción del teclado.
Busca la sección SATA en el menú y localiza el disco duro en el que quieres activar TRIM. En la descripción, verás una línea que te indica si el soporte de TRIM está presente o no.



Paso 2: La utilidad TRIM Enabler
Si el tuyo dice que no, entonces es el momento de abrir Safari y descargar una utilidad que permite activar y desactivar TRIM fácilmente. La encontrarás en
http://www.groths.org/software/trimenabler/
La versión gratuita es todo lo que necesitas, así que descárgala e instálala como lo harías con cualquier otra aplicación.



Paso 3: Encenderlo
Una vez que lo hayas instalado, ábrelo y simplemente cambia el interruptor de Off a On. Una vez hecho esto, tendrás que reiniciar el ordenador, después de lo cual TRIM se activará en la unidad.

Para asegurarte de que ha funcionado, abre de nuevo el informe del sistema y comprueba que la línea de soporte de TRIM ahora dice Sí.
El camino difícil
Si te lo estás preguntando, es posible hacer esto a mano usando la Terminal, pero los comandos son un poco aterradores. Esencialmente lo que estás haciendo durante este proceso es parchear un archivo de sistema de bajo nivel para permitir que TRIM funcione con tu SSD.
Paso 1: Red de seguridad
Para estar seguros, haz una copia de seguridad del archivo que vamos a modificar. Copia lo siguiente en una nueva ventana de Terminal y pulsa Return (la tecla Enter).
1 |
sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original |
Se te pedirá que introduzcas tu contraseña administrativa, así que escríbela y pulsa Return una vez más. Ten en cuenta que Terminal no te indicará que está registrando tus pulsaciones de teclas mientras escribes tu contraseña, pero está escuchando, así que no te preocupes.
Paso 2: Parcha el archivo
Con el archivo protegido de forma segura en caso de contratiempos, es el momento de utilizar el siguiente comando para modificar la extensión del kernel de forma que se active TRIM.
1 |
sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x54)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage |
Paso 3: Actualizar la caché de la extensión del núcleo
Para que los cambios surtan efecto, deberás refrescar manualmente la caché de extensiones del kernel.
1 |
sudo touch /System/Library/Extensions/ |
Una vez hecho esto, debes salir de Terminal y reiniciar tu Mac. Cuando se reinicie, debería estar todo listo.
Conclusión
Si planeas añadir más unidades SSD a tu sistema, deberías mantener la utilidad TRIM Enabler instalada para poder activar fácilmente TRIM en ellas. De lo contrario, puedes eliminarla libremente, ya que no es necesaria para que TRIM se mantenga activo.
Hoy en día, TRIM es solo uno de los varios métodos que los fabricantes utilizan para mantener las unidades SSD funcionando con la máxima eficiencia. Puede que no sea necesario tenerlo activado, pero no hace daño, y cuanto más optimizados estén los datos, mejor será el rendimiento de tu SSD, así que casi siempre merece la pena mantenerlo activado.
¡Ahora no solo sabes cómo funcionan las unidades de estado sólido, sino que también entiendes cómo TRIM les ayuda a funcionar al máximo rendimiento durante más tiempo!
Referencias
- Instrucciones del terminal extraídas de DigitalDJ, escritas por Grant Pannell