En informática, una orden TRIM permite a un sistema operativo comunicar a una unidad de estado sólido (SSD) qué bloques de datos ya no están en uso, como los datos dejados al borrar ficheros. Una operación del SO como un borrado generalmente sólo marca los bloques implicados como no usados. TRIM permite que el SO pase esa información al controlador de la SSD, que de otra manera no sabría qué bloques puede eliminar.
El propósito de la instrucción es mantener la velocidad de la SSD durante toda su vida útil, evitando la ralentización que los primeros modelos sufrían al llegar a escribir en todas las celdas al menos una vez.[1]
Aunque ya existían herramientas para reiniciar algunos modelos de SSD a su estado original, no se podían considerar herramientas de optimización ya que necesitaban borrar todos los datos de la unidad.
La causa inicial del problema es que las unidades SSD no saben qué bloques están realmente en uso y cuáles están libres. Las SSD no entienden la estructura del sistema de ficheros usada por el sistema operativo del ordenador y no puede acceder a su lista de clusters sin usar. Esto causa problemas en dos lugares:
Las especificaciones de la orden TRIM[5] están siendo normalizadas como parte de la norma de la interfaz ATA, dirigida por el Comité Técnico T13 del International Committee for Information Technology Standards.[6]
TRIM está implementado en Linux desde la versión 2.4.33.[7] En FreeBSD, TRIM está disponible desde la versión 8.0. En Microsoft Windows, TRIM ha sido implementado en Windows 7[8] y Windows Server 2008 R2,[9][10] y fue lanzado con la versión final de estos sistemas operativos en octubre de 2009. Unidades más antiguas necesitarán actualizar el firmware. En caso contrario la nueva orden será ignorada. En Mac OS X se implementó en la actualización 10.6.8 de Snow Leopard, lanzada el 23 de junio del 2011.
Donde TRIM no está soportado automáticamente por el sistema operativo, hay utilidades que pueden mandar una orden TRIM manualmente. Usualmente listan todos los bloques libres especificados por el sistema operativo y le pasan esa lista a la unidad como una serie de órdenes TRIM. Estas utilidades están disponibles desde varios fabricantes (Intel,[11] XtremeSystems[12]) o como utilidades generales (hdparm v9.17 y posteriores[13][14]).
El mensaje TRIM debe poder ser enviado desde la controladora de disco hacia el propio disco, usando buses que lo soporten. En la actualidad está soportado en buses SATA, SAS y los PATA (antiguos ATA) que soporten las extensiones ATAPI.