Un comando de recorte (conocido como TRIM en el conjunto de comandos ATA y UNMAP en el conjunto de comandos SCSI ) permite que un sistema operativo informe a una unidad de estado sólido (SSD) qué bloques de datos ya no se consideran en uso y se pueden borrar internamente . [1]
Trim se introdujo poco después de la introducción de las SSD. Debido a que la operación de bajo nivel de las SSD difiere significativamente de las unidades de disco duro, la forma típica en que los sistemas operativos manejan operaciones como eliminaciones y formatos dio como resultado una degradación progresiva no anticipada del rendimiento de las operaciones de escritura en las SSD. [2] El recorte permite que el SSD maneje de manera más eficiente la recolección de basura , lo que de otro modo ralentizaría las operaciones de escritura futuras en los bloques involucrados. [3]
Aunque las herramientas para "restablecer" algunas unidades a un estado nuevo ya estaban disponibles antes de la introducción del recorte, también eliminan todos los datos de la unidad, lo que hace que su uso no sea práctico para la optimización continua. [4] Para 2014, muchos SSD tenían mecanismos internos de recolección de basura en segundo plano que funcionaban independientemente del recorte. Aunque esto mantuvo con éxito su rendimiento incluso en sistemas operativos que no admitían el recorte, tenía los inconvenientes asociados de una mayor amplificación de escritura y el desgaste de las celdas flash. [5]
TRIM también se usa ampliamente en discos duros de grabación magnética (SMR). [6]
Fondo
Debido a la forma en que muchos sistemas de archivos manejan las operaciones de eliminación, al marcar bloques de datos como "no en uso", [7] [8] los medios de almacenamiento (SSD, pero también discos duros tradicionales) generalmente no saben qué sectores / páginas están realmente en uso y que puede considerarse espacio libre. A diferencia de (por ejemplo) una operación de sobrescritura, una eliminación no implicará una escritura física en los sectores que contienen los datos. Dado que un SSD común no tiene conocimiento de las estructuras del sistema de archivos, incluida la lista de bloques / sectores no utilizados, el medio de almacenamiento ignora que los bloques están disponibles. Si bien esto a menudo permite recuperar herramientas para recuperar archivos de discos duros electromecánicos , [8] [9] a pesar de que el sistema operativo informa que los archivos están "eliminados", también significa que cuando el sistema operativo realiza una operación de escritura en uno de los los sectores, que considera espacio libre, se convierte efectivamente en una operación de sobrescritura desde el punto de vista del medio de almacenamiento. En el caso de los discos magnéticos, una sobrescritura de datos existentes no es diferente de escribir en un sector vacío, pero debido a cómo funcionan algunos SSD en el nivel más bajo, una sobrescritura produce una sobrecarga significativa en comparación con la escritura de datos en una página vacía, lo que potencialmente paraliza el rendimiento de escritura. [8] [10]
Los SSD almacenan datos en celdas de memoria flash que se agrupan en páginas normalmente de 4 a 16 kiB , agrupadas en bloques de 128 a 512 páginas normalmente. Ejemplo: bloques de 512 kiB que agrupan 128 páginas de 4 kiB cada una. [7] [11] Las celdas de memoria flash NAND se pueden escribir directamente solo cuando están vacías. Si contienen datos, el contenido debe borrarse antes de una operación de escritura. Se puede realizar una operación de escritura SSD en una sola página pero, debido a las limitaciones del hardware, los comandos de borrado siempre afectan a bloques completos; [11] en consecuencia, escribir datos en páginas vacías en un SSD es muy rápido, pero se ralentiza considerablemente una vez que es necesario sobrescribir las páginas escritas previamente. Dado que es necesario borrar las celdas de la página antes de que se pueda volver a escribir, pero solo se pueden borrar bloques enteros, una sobrescritura iniciará un ciclo de lectura-borrado-modificación-escritura: [7] [12] el contenido del todo el bloque se almacena en la caché, luego todo el bloque se borra del SSD, luego la página sobrescrita se escribe en el bloque en caché, y solo entonces se puede escribir todo el bloque actualizado en el medio flash. Este fenómeno se conoce como amplificación de escritura . [13] [14]
Operación
El comando TRIM permite que un sistema operativo notifique al SSD las páginas que ya no contienen datos válidos. Para una operación de eliminación de archivos , el sistema operativo marcará los sectores del archivo como libres para nuevos datos y luego enviará un comando TRIM al SSD. Después de recortar, el SSD no conservará ningún contenido del bloque al escribir nuevos datos en una página de memoria flash, lo que resulta en menos amplificación de escritura (menos escrituras), mayor rendimiento de escritura (sin necesidad de una secuencia de lectura-borrado-modificación), aumentando así la vida útil de la unidad.
Diferentes SSD implementan el comando de manera algo diferente, por lo que el rendimiento puede variar. [3] [9]
TRIM le dice al SSD que marque una región LBA como no válida y las lecturas posteriores en la región no devolverán ningún dato significativo. Durante un tiempo muy breve, los datos aún podrían residir en la memoria flash internamente. Sin embargo, después de que se emite el comando TRIM y se lleva a cabo la recolección de basura, es muy poco probable que incluso un científico forense pueda recuperar los datos. [15]
Implementación
Soporte del sistema operativo
El comando TRIM es beneficioso solo si la unidad lo implementa y el sistema operativo lo solicita. La siguiente tabla identifica cada sistema operativo destacado y la primera versión que admite el comando. Además, las unidades de estado sólido más antiguas diseñadas antes de la adición del comando TRIM al estándar ATA necesitarán actualizaciones de firmware; de lo contrario, se ignorará el nuevo comando. Sin embargo, no todas las unidades se pueden actualizar para admitir el recorte.
El soporte para TRIM también varía según lo que sea capaz de hacer el controlador del sistema de archivos en particular en el sistema operativo, ya que solo un programa que comprenda qué partes del disco son espacio libre puede emitir el comando de manera segura, y en el nivel del sistema esta capacidad tiende residir en el propio controlador del sistema de archivos.
Sistema operativo | Soportado desde | Notas |
---|---|---|
DragonFly BSD | [16] | Mayo de 2011|
FreeBSD | [17] | 8.1 - Julio de 2010Se agregó soporte en la capa de dispositivos de bloque en 8.1. Se agregó soporte para el sistema de archivos en FreeBSD 8.3 y FreeBSD 9, comenzando con UFS . [18] Se agregó soporte de recorte de ZFS en FreeBSD 9.2. [19] [20] FreeBSD 10 admite el recorte en configuraciones de software RAID . [21] |
NetBSD | [22] | Octubre de 2012|
Linux | 2.6.28 a 25 de diciembre de 2008 [23] | Se agregó soporte inicial para operaciones de descarte para dispositivos flash FTL NAND en 2.6.28. Se agregó soporte para el comando ATA TRIM en 2.6.33. [24] No todos los sistemas de archivos utilizan recortar. Entre los sistemas de archivos que pueden emitir solicitudes de recorte automáticamente se encuentran ext4 , [25] Btrfs , [26] FAT , GFS2 , JFS , [27] XFS , [28] y NTFS-3G . Sin embargo, en algunas distribuciones, esto está deshabilitado de forma predeterminada debido a problemas de rendimiento, [29] a favor del recorte programado en SSD compatibles. [30] Ext3 , NILFS2 y OCFS2 ofrecen ioctls para realizar recortes fuera de línea. La especificación TRIM exige admitir una lista de rangos de ajuste, pero a partir del kernel 3.0, el ajuste solo se invoca con un rango único que es más lento. [31] En muchas distribuciones de Linux más nuevas , systemd proporciona la |
Mac OS | 10.6.8–23 de junio de 2011 [33] | Aunque el controlador de dispositivo de bloque AHCI obtuvo la capacidad de mostrar si un dispositivo admite la operación TRIM en 10.6.6 (10J3210), [34] la funcionalidad en sí permaneció inaccesible hasta 10.6.8, cuando la operación TRIM se expuso a través de IOStorageFamily y el sistema de archivos Se agregó compatibilidad con (HFS +). [ cita requerida ] Hasta 10.10.4, Mac OS X habilitaba TRIM de forma nativa solo para SSD de la marca Apple; Hay utilidades de terceros disponibles para habilitarlo para otras marcas. Los viejos controladores TRIM de terceros dejaron de funcionar a partir de la actualización de Yosemite. [35] Ahora existen controladores actualizados que funcionan con OS X Yosemite. [36] [37] En la actualización 10.10.4 de Mac OS X , Apple agregó una utilidad de línea de comandos, trimforce, que se puede usar para habilitar TRIM en SSD de terceros. [38] |
Microsoft Windows | Windows 7 y Windows Server 2008 R2 - Octubre de 2009 [39] [40] | Windows 7 inicialmente admitía TRIM solo para unidades de la familia AT Attachment, incluidas Parallel ATA y Serial ATA , y no admitía este comando para ningún otro dispositivo, incluidos los SSD Storport PCI-Express, incluso si el dispositivo aceptara el comando. [41] Se confirma que con los controladores nativos de Microsoft, el comando TRIM funciona en Windows 7 en AHCI y en el modo IDE / ATA heredado. [42] Los sistemas operativos Windows 8 y posteriores admiten el recorte para SSD PCI Express basados en NVMe , y el comando unmap, que es un análogo completo del comando TRIM de Serial ATA para dispositivos que usan la pila de controladores SCSI, incluido el protocolo SCSI adjunto USB (UASP). Microsoft ha lanzado una actualización para Windows 7 que agrega compatibilidad con NVM Express, incluido TRIM para SSD PCIe. [43] [44] Se sabe que TRIM es compatible con ReFS y NTFS , los cuales implementan un interruptor DisableDeleteNotify para deshabilitarlo. [45] Las fuentes no están de acuerdo sobre si el apoyo TRIM existe para otros sistemas de archivos. |
OpenSolaris | Julio de 2010 [46] | |
Androide | 4.3 [47] - 24 de julio de 2013 [48] | Funciona fstrim automáticamente hasta una vez cada 24 horas si el dispositivo ha estado inactivo durante al menos una hora y tiene al menos un 80% de carga (30% si está conectado a un cargador). [47] |
Problemas de RAID
A partir de enero de 2017[actualizar], la compatibilidad con el comando TRIM no está implementada en la mayoría de las tecnologías RAID basadas en hardware . Sin embargo, las implementaciones de software RAID a menudo incluyen soporte para TRIM.
Ventanas
Windows 10 ofrece compatibilidad con TRIM en volúmenes SSD RAID mediante la opción "optimizar unidades" al configurar un volumen RAID.
Mac OS
El controlador RAID de macOS no es compatible con TRIM. Esto es cierto para todas las versiones de Mac OS X desde la 10.7 hasta macOS 10.12.x.
TRIM es compatible con volúmenes RAID (0,1,4,5 y 10) cuando se utiliza la aplicación SoftRAID® de terceros, incluida la compatibilidad con TRIM con dispositivos SSD que no son de Apple. (Nota: TRIM para dispositivos SSD que no sean de Apple debe habilitarse específicamente mediante el comando de terminal "sudo trimforce enable")
Linux
TRIM está disponible con volúmenes RAID en versiones posteriores a enero de 2011 del dmraid del kernel de Linux , que implementa el soporte de "hardware RAID falso" asistido por BIOS, y que ahora pasa a través de cualquier solicitud TRIM del sistema de archivos que se encuentra en la matriz RAID. [49]
No debe confundirse con dmraid, el sistema RAID de software de propósito general de Linux, mdraid , tiene soporte experimental para TRIM basado en lotes (en lugar de en vivo, tras la eliminación de archivos ) en matrices RAID 1 cuando los sistemas están configurados para ejecutar periódicamente la utilidad mdtrim en sistemas de archivos (incluso aquellos como ext3 sin soporte TRIM nativo). [50] En versiones posteriores de Linux, por ejemplo, Red Hat Enterprise Linux 6.5 y posteriores, mdraid admite el paso de comandos TRIM en tiempo real, en lugar de solo como un trabajo por lotes. [51]
Sin embargo, Red Hat recomienda no usar los niveles de RAID 1, 4, 5 y 6 de software en SSD con la mayoría de las tecnologías RAID, porque durante la inicialización, la mayoría de las utilidades de administración de RAID (por ejemplo, mdadm de Linux ) escriben en todos los bloques de los dispositivos para garantizar que las sumas de verificación ( o verifica de unidad a unidad, en el caso de RAID 1 y 10), funcionan correctamente, lo que hace que la SSD crea que todos los bloques que no están en el área de repuesto están en uso, lo que degrada significativamente el rendimiento. [52]
Por otro lado, Red Hat recomienda el uso de RAID 1 o RAID 10 para LVM RAID en SSD, ya que estos niveles admiten TRIM ("descartar" en terminología de Linux), y las utilidades LVM no escriben en todos los bloques al crear un Volumen RAID 1 o RAID 10. [51]
Durante un breve período de tiempo en marzo de 2010, se hizo creer a los usuarios que los controladores Intel Rapid Storage Technology (RST) 9.6 admitían TRIM en volúmenes RAID, pero Intel aclaró más tarde que TRIM era compatible con la configuración del BIOS del modo AHCI y el modo RAID, pero no si la unidad formaba parte de un volumen RAID. [53]
En agosto de 2012, Intel confirma que los conjuntos de chips de la serie 7 con controladores de Rapid Storage Technology (RST) 11.2 admiten TRIM para RAID 0 en Microsoft Windows 7. [54] Aunque Intel no confirmó la compatibilidad con los conjuntos de chips de la serie 6, TRIM en RAID 0 Los entusiastas del hardware han demostrado que los volúmenes funcionan en conjuntos de chips Z68, P67 y X79 con una ROM de opción RAID modificada . [55] Se especula que la falta de apoyo oficial para los conjuntos de chips de la serie 6 se debe a los costes de validación [56] o un intento de alentar a los consumidores a actualizar, [57] más que por razones técnicas.
Una excepción a la necesidad de una ROM opcional modificada en las placas base con un chipset X79 es si el fabricante ha agregado un conmutador de ROM; esto implica que las ROM RST y RST-E estén dentro del BIOS / UEFI. Esto permite utilizar la ROM RST en lugar de la ROM RST-E, permitiendo que TRIM funcione. [58] Intel señala que se puede lograr el mejor rendimiento utilizando un controlador con la misma versión que la ROM; por ejemplo, si el BIOS / UEFI tiene una ROM de opción 11.0.0.0m, se debe usar un controlador de la versión 11.x. [59]
Habilitación de sistemas de archivos no compatibles
Cuando el sistema de archivos no admite TRIM automáticamente, algunas utilidades pueden enviar comandos de recorte manualmente. Por lo general, determinan qué bloques están libres y luego pasan esta lista como una serie de comandos de recorte al variador. Estas utilidades están disponibles de varios fabricantes (por ejemplo, Intel, [60] G.Skill [61] ), o como utilidades generales (por ejemplo, hdparm "wiper" de Linux desde v9.17, [62] [63] o mdtrim, como se mencionó anteriormente ). Tanto hdparm como mdtrim encuentran bloques libres asignando un archivo grande en el sistema de archivos y resolviendo a qué ubicación física fue asignado.
En cualquier sistema operativo, la unidad puede detectar cuándo la computadora escribe todos ceros en un bloque y desasignar (recortar) ese bloque en lugar de registrar un bloque de ceros. Si la lectura de un bloque desasignado siempre devuelve ceros, este atajo es transparente para el usuario, excepto para una escritura (y lectura) más rápida de los bloques con cero, además del beneficio habitual de una escritura más rápida en áreas no utilizadas. Los sistemas operativos no escriben todos ceros para "borrar" archivos o espacio libre, pero algunas utilidades sí lo hacen.
Soporte de hardware
ATA
La especificación del comando TRIM [64] se ha estandarizado como parte del estándar de interfaz AT Attachment (ATA), dirigido por el Comité Técnico T13 del Comité Internacional de Normas de Tecnología de la Información (INCITS). [65] TRIM se implementa bajo el comando DATA SET MANAGEMENT (código de operación 06h) del borrador de la especificación ACS-2. [66] El estándar ATA es compatible con hardware ATA paralelo (IDE, PATA) y serie (SATA).
Un inconveniente del comando ATA TRIM original es que se definió como un comando que no se puede poner en cola y, por lo tanto, no se puede mezclar fácilmente con una carga de trabajo normal de operaciones de lectura y escritura en cola. SATA 3.1 introdujo un comando TRIM en cola para remediar esto. [67]
Hay diferentes tipos de TRIM definidos por las palabras SATA 69 y 169 devueltas desde un comando ATA IDENTIFY DEVICE:
- TRIM no determinista: cada comando de lectura a la dirección del bloque lógico (LBA) después de un TRIM puede devolver datos diferentes.
- TRIM determinista (DRAT): Todos los comandos de lectura al LBA después de un TRIM devolverán los mismos datos o se determinarán.
- Cero de lectura determinista después de TRIM (RZAT): Todos los comandos de lectura al LBA después de un TRIM devolverán cero.
Hay información adicional en SATA Word 105 que describe el número máximo de bloques de 512 bytes por comando de ADMINISTRACIÓN DE CONJUNTO DE DATOS que una unidad puede admitir. Por lo general, este valor predeterminado es 8 (o 4 kB), pero muchas unidades lo reducen a 1 para cumplir con los requisitos de hardware de Microsoft Windows para TRIM, ese tiempo de finalización del comando no debe exceder 20 ms u 8 ms × (número de entradas del rango LBA), lo que sea mayor y siempre será inferior a 600 ms. [68]
Un rango de LBA individual se denomina Entrada de rango de LBA y está representado por ocho bytes. El LBA se expresa mediante los primeros seis bytes de la Entrada de rango de LBA y la Longitud de rango es un contador de base cero (por ejemplo, 0 = 0 y 1 = 1) representado por los dos bytes restantes. Si la longitud del rango de dos bytes es cero, la entrada de rango LBA se descartará como relleno. [69] Esto significa que por cada bloque de 512 bytes de rangos TRIM que admite un dispositivo, el máximo es 64 rangos de 32 MB o 2 GB. Si un dispositivo admite SATA Word 105 en 8, entonces debería poder recortar 16 GB en un solo comando TRIM (DATA SET MANAGEMENT).
SCSI
SCSI proporciona el comando UNMAP (un análogo completo de TRIM) y el comando WRITE SAME (10 y 16 variantes) con el indicador UNMAP establecido. [70]
SD / MMC
El comando MultiMediaCard y SD ERASE (CMD38) proporciona una funcionalidad similar al comando ATA TRIM, aunque requiere que los bloques borrados se sobrescriban con ceros o unos. eMMC 4.5 define además una suboperación de "descarte" que se asemeja más a ATA TRIM en el sentido de que el contenido de los bloques descartados puede considerarse indeterminado (es decir, "no importa").
NVM Express
El conjunto de comandos NVM Express tiene un comando genérico de administración de conjuntos de datos , para indicar la intención del host al dispositivo de almacenamiento en un conjunto de rangos de bloques. Una de sus operaciones, desasignar realiza recorte. También tiene un comando Write Zeroes que proporciona una pista de desasignación y permite que el disco recorte y devuelva ceros.
Desventajas
- Algunos esquemas de cifrado negables implican hacer que todo el disco parezca basura aleatoria. El uso de TRIM anula esta capa de negación plausible, ya que los bloques de todo cero (o todo uno) creados indican fácilmente qué bloques se utilizan. [71] Se ha argumentado que la desactivación de TRIM también podría resultar sospechosa. [72]
- La versión original del comando TRIM ha sido definida como un comando no en cola por el subcomité T13 y, en consecuencia, puede incurrir en una penalización de ejecución masiva si se usa descuidadamente, por ejemplo, si se envía después de cada comando de eliminación del sistema de archivos. La naturaleza no en cola del comando requiere que el conductor primero espere a que finalicen todos los comandos pendientes, emita el comando TRIM y luego reanude los comandos normales. TRIM puede tardar mucho en completarse, dependiendo del firmware en el SSD, e incluso puede desencadenar un ciclo de recolección de basura . [ cita requerida ] Esta penalización se puede minimizar en las soluciones que periódicamente hacen un TRIM por lotes , en lugar de recortar en cada eliminación de archivos , mediante la programación de dichos trabajos por lotes para momentos en que la utilización del sistema es mínima. Esta desventaja de TRIM se ha superado en la revisión 3.1 de Serial ATA con la introducción del comando TRIM en cola. [73] [74]
- El firmware de unidad defectuoso que informa erróneamente el soporte para TRIM en cola o tiene errores críticos en su implementación se ha relacionado con una corrupción de datos grave en varios dispositivos, más notablemente el M500 de Micron y Crucial [75] y las series 840 y 850 de Samsung. [76] Se ha confirmado la corrupción de datos en el sistema operativo Linux (el único sistema operativo con soporte de recorte en cola a partir del 1 de julio de 2015). [77]
Estos dispositivos están incluidos en la lista negra en libata-core.c del kernel de Linux para forzar el envío de comandos TRIM no en cola ( ATA_HORKAGE_NO_NCQ_TRIM ) a estas unidades en lugar de los comandos TRIM en cola: [78]
- Micron / Crucial M500 con todas las versiones de firmware, incluidas las SSD recertificadas de fábrica
- Micron M510 con la versión de firmware MU01
- Micron / Crucial M550 con la versión de firmware MU01
- Crucial MX100 con la versión de firmware MU01
- SSD de las series 840 y 850 de Samsung con todas las versiones de firmware
Este archivo también incluye el SuperSSpeed S238 contra TRIM en general debido a que los bloques incorrectos pierden datos cuando se emite TRIM. [78] [79]
libata-core.c también tiene una lista blanca para enumerar los SSD que los encargados del mantenimiento del subsistema conocen de manera confiable para implementar correctamente los indicadores DRAT y RZAT ( ATA_HORKAGE_ZERO_AFTER_TRIM ), en lugar de ignorarlos, como hacen muchas unidades. Las unidades incluidas en la lista blanca son las siguientes: [78]
- SSD cruciales
- Intel SSD excluyendo el Intel SSD 510
- SSD de micrones
- SSD de Samsung
- SSD de Seagate [80]
Ver también
- Remanencia de datos
Referencias
- ^ "Unidad de estado sólido de alto rendimiento Intel - Ventajas de TRIM" . Intel.com . Intel . 14 de septiembre de 2010 . Consultado el 21 de febrero de 2012 .
- ^ Shimpi, Anand Lal (18 de marzo de 2009). "La antología SSD: comprensión de SSD y nuevas unidades de OCZ" . AnandTech.com . pag. 4 . Consultado el 19 de junio de 2010 .
- ^ a b Shimpi, Anand Lal. (18 de marzo de 2009). pag. 10.
- ^ Shimpi, Anand Lal. (18 de marzo de 2009). pag. 11.
- ^ "Revisión de Kingston SSDNow V Plus 100" . AnandTech.com . Anand Lal Shimpi. 11 de noviembre de 2010 . Consultado el 10 de diciembre de 2010 .
- ^ https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/internal-drives/wd-purple-hdd/whitepaper-generic-benefit-for-hard -unidad-de-disco.pdf
- ^ a b c Savill, John (21 de abril de 2009). "Escuché que los discos de estado sólido (SSD) sufren una disminución en el rendimiento de escritura a medida que se usan. ¿Por qué?" . WindowsITPro. Archivado desde el original el 30 de junio de 2012 . Consultado el 19 de junio de 2010 .
- ^ a b c Shimpi, Anand Lal. (18 de marzo de 2009). pag. 7.
- ^ a b Savill, John (22 de abril de 2009). "¿Qué es la función TRIM para discos de estado sólido (SSD) y por qué es importante?" . WindowsITPro. Archivado desde el original el 9 de febrero de 2013 . Consultado el 19 de junio de 2010 .
- ^ Malventano, Allyn (13 de febrero de 2009). "Análisis de rendimiento a largo plazo de SSD Intel Mainstream" . Perspectiva de PC . Consultado el 10 de febrero de 2012 .
- ^ a b Shimpi, Anand Lal. (18 de marzo de 2009). pag. 5.
- ^ Shimpi, Anand Lal. (18 de marzo de 2009). pag. 8.
- ^ "Amplificación de escritura: salsa secreta de Intel" . ExtremeTech.com . Consultado el 6 de noviembre de 2010 .
- ^ "Dentro del controlador X25-M: nivelación de desgaste, control de amplificación de escritura" . TomsHardware.com. 8 de septiembre de 2008 . Consultado el 6 de noviembre de 2010 .
- ^ "¿Demasiado TRIM? Cuando la recuperación de datos SSD es imposible" . TechGage . TechGage. 5 de marzo de 2010 . Consultado el 21 de agosto de 2018 .
- ^ "Soporte TRIM preliminar" .
- ^ "Notas de la versión de FreeBSD 8.1-RELEASE: Discos y almacenamiento" . Consultado el 1 de septiembre de 2010 .
- ^ "Agregue soporte del lado del kernel para BIO_DELETE / TRIM en UFS" . Consultado el 1 de febrero de 2011 .
- ^ "Se agregó compatibilidad con ZFS TRIM, que está habilitada de forma predeterminada" . Consultado el 5 de junio de 2013 .
- ^ "Anuncio de FreeBSD 9.2-RELEASE" . Consultado el 4 de octubre de 2013 .
- ^ "Revisión básica 242323 - Agregue soporte BIO_DELETE básico a la clase RAID de GEOM para todos los niveles de RAID" . Consultado el 30 de octubre de 2012 .
- ^ "Soporte TRIM en NetBSD" . 19 de octubre de 2012.
- ^ "Bloquear cambios de dispositivo en Linux 2.6.28" .
- ^ "Cambios de almacenamiento en Linux 2.6.33" . Kernel Newbies . Consultado el 1 de septiembre de 2010 .
- ^ "CÓMO: Configurar ext4 para habilitar el soporte TRIM para SSD en Ubuntu y otras distribuciones - Bifurcado por Nicolay" .
- ^ "Mejoras de Btrfs en Linux 2.6.32" .
- ^ "El sistema de archivos JFS ahora puede manejar el recorte" . Consultado el 28 de marzo de 2012 .
- ^ "Cambios en el sistema de archivos en Linux 3.0" .
- ^ Freemyer, Greg (2010). "Foro de OpenSUSE: detección de SSD al crear fstab por primera vez" .
- ^ "¿Cómo habilitar TRIM?" . Pregúntale a Ubuntu . Consultado el 11 de noviembre de 2015 .
- ^ "SDB: soporte para descartar (recortar) SSD" .
- ^ "Cambios / EnableFSTrimTimer - Wiki del Proyecto Fedora" . fedoraproject.org . Consultado el 10 de diciembre de 2020 .
- ^ "Mac OS X 10.6.8 ofrece compatibilidad con TRIM para SSD de Apple, mejoras de gráficos" . 24 de febrero de 2012.
- ^ "Los Macbook Pros se envían con soporte SSD TRIM activo" . 4 de marzo de 2011.
- ^ "Yosemite mata el soporte SSD de terceros" .
- ^ "Optimizador de SSD Chameleon" .
- ^ "Software Cindori" .
- ^ Lee Hutchinson (30 de junio de 2015). "La última actualización de OS X le permite habilitar TRIM para SSD de terceros" . Ars Technica . Condé Nast . Consultado el 1 de julio de 2015 .
- ^ Fortin, Michael (9 de mayo de 2009). Sinofsky, Steven (ed.). "Soporte y preguntas y respuestas para unidades de estado sólido" . Blog de ingeniería de Windows 7 . Microsoft . Archivado desde el original el 7 de febrero de 2020.
- ^ "Mejoras de Windows 7 para unidades de estado sólido" (PDF) . Descargas de Microsoft . Corporación Microsoft. 12 de noviembre de 2008 . Consultado el 8 de julio de 2009 .
- ^ Unidad de estado sólido RevoDrive 3 X2 240GB de Geoff Gasior (2012) OCZ
- ^ Coles, Olin (15 de abril de 2010). "Pruebas de referencia SSD: SATA IDE vs modo AHCI - Pensamientos finales AHCI vs IDE" . BenchmarkReviews . Consultado el 20 de agosto de 2013 .
- ^ "Actualización para agregar soporte de controlador nativo en NVM Express en Windows 7 y Windows Server 2008 R2" . Soporte . Microsoft. 8 de septiembre de 2015.
- ^ "¿Qué es el comando TRIM en unidades de estado sólido?" . datarecovery.com . 30 de enero de 2017.
Microsoft agregó la función en una actualización de Windows 7 conocida como KB2990941
- ^ "Comportamiento fsutil" . Documentación de Microsoft . Consultado el 17 de noviembre de 2019 .
- ^ "Soporte SATA TRIM en OpenSolaris" . 29 de julio de 2010.
- ^ a b "La actualización de Android 4.3 lleva TRIM a todos los dispositivos Nexus" . 29 de julio de 2013 . Consultado el 30 de julio de 2013 .
- ^ "Android 4.3 anunciado, que se implementará hoy en dispositivos Nexus" . The Verge . 24 de julio de 2013. Consultado el 24 de julio de 2013.
- ^ "¿Es posible que SSD TRIM (descartar) funcione en ext4 + LVM + software RAID en Linux? - Fallo del servidor" . Consultado el 29 de noviembre de 2011 .
- ^ "Cyberax / mdtrim - GitHub" . Consultado el 29 de noviembre de 2011 .
- ^ a b "Guía de administración de almacenamiento de Red Hat Enterprise Linux 6, Capítulo 21. Pautas de implementación de discos de estado sólido" . Consultado el 9 de marzo de 2016 .
- ^ "Guía de administración de almacenamiento de Red Hat Enterprise Linux 7" . 11 de noviembre de 2015 . Consultado el 29 de febrero de 2016 .
- ^ "¿Hay soporte TRIM para configuraciones RAID?" . Intel . 26 de marzo de 2010 . Consultado el 6 de noviembre de 2010 .
- ^ "Intel confirma la compatibilidad con RAID0 TRIM en conjuntos de chips de la serie 7" . 19 de agosto de 2012 . Consultado el 14 de enero de 2013 .
- ^ "El ajuste RAID0 y SRT parece posible en las series 6 y 5" . 18 de noviembre de 2012 . Consultado el 14 de enero de 2013 .
- ^ "Las matrices SSD TRIM y RAID-0 también funcionan con placas base Intel serie 6" . 28 de noviembre de 2012 . Consultado el 14 de enero de 2013 .
- ^ "Intel trae TRIM a matrices SSD RAID-0 en placas base de la serie 7, lo probamos" . 16 de agosto de 2012 . Consultado el 14 de enero de 2013 .
- ^ Anand Lal Shimpi. "Intel trae TRIM a matrices SSD RAID-0 en placas base de la serie 7, lo probamos" .
- ^ Doug Crowthers. "Comando TRIM confirmado con RAID 0 en Intel 7 Series" . Hardware de Tom .
- ^ "Informe técnico del optimizador Intel SSD" (PDF) . Corporación Intel. Archivado desde el original (PDF) el 30 de junio de 2012 . Consultado el 23 de enero de 2010 .
- ^ "wiper.exe para Falcon Series" . XtremeSystems . Consultado el 23 de enero de 2010 .
- ^ "hdparm-9.17 lanzado, con scripts experimentales de recorte / limpiador para SSD" . Consultado el 14 de agosto de 2010 .
- ^ "página del proyecto hdparm" . sourceforge.net . Consultado el 14 de agosto de 2010 .
- ^ "Propuesta de comandos de gestión de conjuntos de datos para ATA8-ACS2 (revisión 6)" . INCITOS T13 . INCITOS . 12 de diciembre de 2007 . Consultado el 8 de julio de 2009 . (proyecto de especificación T13 / e07154r6)
- ^ "Documentos T13 referentes a TRIM" . INCITOS T13 . INCITOS . Consultado el 8 de julio de 2009 .
- ^ "T13 ATA8 Draft Spec 1697-D" (PDF) . INCITOS . 23 de junio de 2010 . Consultado el 14 de agosto de 2010 .
- ^ "SATA 6Gb / s" . Organización Internacional Serial ATA . Consultado el 26 de septiembre de 2012 .
- ^ "Requisitos de almacenamiento del dispositivo (Windows)" . Consultado el 29 de febrero de 2016 .
- ^ "T13 / 2161-D: Tecnología de la información - Conjunto de comandos ATA / ATAPI - 3 (ACS-3)" (PDF) . Consultado el 29 de febrero de 2016 .
- ^ "Nota para el soporte SCSI UNMAP en la lista de correo de FreeBSD" .
- ^ "Blog de Milan Broz: TRIM & dm-crypt ... ¿problemas?" . Milan Broz . Consultado el 1 de octubre de 2014 .
- ^ "Cifrado de disco esteganográfico perfectamente negable" (PDF) .
- ^ http://www.sata-io.org/technology/6Gbdetails.asp
- ^ "La especificación SATA 3.1 trae el estándar de intercambio, TRIM mejorado" . El informe técnico .
- ^ "Error 71371 - [PATCH] Crucial M500," soporte TRIM "roto" en cola " .
- ^ El recorte "Bug # 1449005" no funciona con Samsung 840 EVO después de la firma ... ": Errores: paquete fstrim: Ubuntu" .
- ^ torvalds. "linux / libata-core.c en e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds / linux · GitHub" . GitHub .
- ^ a b c torvalds. "linux / libata-core.c en master · torvalds / linux · GitHub" . GitHub .
- ^ torvalds. "libata: forzar la desactivación del recorte para SuperSSpeed S238 · torvalds / linux @ cda57b1" . GitHub .
- ^ "[1/3] libata: SSD de la lista blanca que se sabe que devuelven ceros correctamente después de TRIM" .
enlaces externos
- Desde write () hasta chips flash : una explicación sobre cómo el comando TRIM permite que los SSD borren los datos no utilizados por el sistema de archivos
- Informe técnico del comando TRIM : un informe técnico que explica el propósito y las acciones del comando
- Patente Fusion-io "Aparato, sistema y método para almacenamiento en caché de escritura redundante"