Recortar (informática)

Tipo de comando de computadora

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, por lo tanto, se pueden borrar internamente. [1]

El recorte se introdujo poco después de que se introdujeran los SSD. Debido a que el funcionamiento de bajo nivel de los SSD difiere significativamente del de los discos duros, la forma convencional en que los sistemas operativos manejan las operaciones de almacenamiento (como las eliminaciones y el formateo) resultó en una degradación progresiva e imprevista del rendimiento de las operaciones de escritura en los SSD. [2] El recorte permite que el SSD maneje de manera más eficiente la recolección de basura , que de otro modo ralentizaría las futuras operaciones de escritura 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 las hace poco prácticas para su uso en la optimización continua. [4] A partir de 2024, muchas unidades SSD tenían mecanismos internos de recolección de basura para ciertos sistemas de archivos (como FAT32 , NTFS , APFS ) que funcionaban independientemente del recorte. Aunque esto mantuvo con éxito su vida útil y rendimiento incluso en sistemas operativos que no admitían el recorte, tenía los inconvenientes asociados de una mayor amplificación de escritura y desgaste de las celdas flash. [5]

TRIM también se utiliza en algunos 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 los 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 cuáles pueden 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 sigue sin saber que los bloques se han vuelto disponibles. Si bien esto a menudo permite que las herramientas de recuperación recuperen archivos de discos duros electromecánicos , [8] [9] a pesar de que el sistema operativo informa que los archivos son "eliminados", también significa que cuando el sistema operativo realiza más tarde una operación de escritura en uno de 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, sobrescribir datos existentes no es diferente a escribir en un sector vacío, pero debido a la forma en que algunos SSD funcionan en el nivel más bajo, una sobrescritura produce una sobrecarga significativa en comparación con escribir datos en una página vacía, lo que puede afectar el rendimiento de escritura. [8] [10]

Los SSD almacenan datos en celdas de memoria flash que se agrupan en páginas de entre 4 y 16 kiB , agrupadas en bloques de entre 128 y 512 páginas. Ejemplo: bloques de 512 kiB que agrupan 128 páginas de 4 kiB cada una. [7] [11] Las celdas de memoria flash NAND solo se pueden escribir directamente cuando están vacías. Si contienen datos, el contenido debe borrarse antes de una operación de escritura. Una operación de escritura SSD se puede realizar en una sola página pero, debido a las limitaciones del hardware, los comandos de borrado siempre afectan a bloques enteros; [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 páginas escritas previamente. Dado que es necesario borrar las celdas de la página antes de poder escribirla nuevamente, pero solo se pueden borrar bloques completos, una sobrescritura iniciará un ciclo de lectura-borrado-modificación-escritura: [7] [12] el contenido de todo el bloque se almacena en caché, luego se borra todo el bloque del SSD, luego la(s) página(s) sobrescrita(s) se escribe(n) en el bloque almacenado 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 archivo , el sistema operativo marcará los sectores del archivo como libres para nuevos datos y luego enviará un comando TRIM al SSD. Después del recorte, el SSD no conservará ningún contenido del bloque al escribir nuevos datos en una página de memoria flash, lo que da como resultado una menor amplificación de escritura (menos escrituras), un mayor rendimiento de escritura (sin necesidad de una secuencia de lectura-borrado-modificación), lo que aumenta la vida útil de la unidad.

Los distintos SSD implementan el comando de forma ligeramente diferente, por lo que el rendimiento puede variar. [3] [9]

TRIM le indica 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 breve período de tiempo, los datos podrían permanecer en la memoria flash internamente. Sin embargo, después de que se emite el comando TRIM y se realiza la recolección de basura, la recuperación de datos puede volverse difícil o imposible, según la implementación del comando en el firmware de la unidad. [15]

Implementación

Compatibilidad con sistemas operativos

El comando TRIM es útil solo si la unidad lo implementa y el sistema operativo lo solicita. La siguiente tabla identifica cada sistema operativo importante y la primera versión que admitió el comando. Además, las unidades de estado sólido más antiguas diseñadas antes de la incorporació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 el controlador del sistema de archivos en particular del sistema operativo es capaz de hacer, ya que solo un programa con comprensión de qué partes del disco son espacio libre puede emitir el comando de manera segura y, a nivel del sistema, esta capacidad tiende a residir en el controlador del sistema de archivos en sí.

Sistema operativoCon soporte desdeNotas
Libélula BSD2011-05Mayo de 2011 [16]
LibreBSD2010-078.1 – Julio de 2010 [17]Se agregó soporte en la capa de dispositivo de bloque en 8.1. Se agregó soporte de 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 RAID de software. [21]
NetBSD2012-10Octubre de 2012 [22]
Linux25 de diciembre de 20082.6.28–25 de diciembre de 2008 [23]En la versión 2.6.28 se agregó compatibilidad inicial con operaciones de descarte para dispositivos flash NAND FTL . En la versión 2.6.33 se agregó compatibilidad con el comando ATA TRIM. [24]

No todos los sistemas de archivos hacen uso de trim. Entre los sistemas de archivos que pueden emitir solicitudes de trim automáticamente están ext4 , [25] Btrfs , [26] FAT , GFS2 , JFS , [27] XFS , [28] ZFS , [29] y NTFS-3G . Sin embargo, en algunas distribuciones, esto está deshabilitado de forma predeterminada debido a problemas de rendimiento, [30] a favor del recorte programado en los SSD compatibles. [31] Ext3 , NILFS2 y OCFS2 ofrecen ioctls para realizar el recorte sin conexión. La especificación TRIM exige admitir una lista de rangos de recorte, pero a partir del kernel 3.0, el recorte solo se invoca con un solo rango que es más lento. [32]

En muchas distribuciones de Linux más nuevas , systemd proporciona fstrim.timerunidad. [33] TRIM para la partición de intercambio se puede habilitar mediante swaponla utilidad o fstab . [34]

macOS23 de junio de 201110.6.8–23 de junio de 2011 [35]Aunque el controlador de dispositivo de bloque AHCI ganó la capacidad de mostrar si un dispositivo soporta la operación TRIM en 10.6.6 (10J3210), [36] la funcionalidad en sí permaneció inaccesible hasta 10.6.8, cuando la operación TRIM fue expuesta a través de IOStorageFamily y se agregó soporte para el sistema de archivos (HFS+). [ cita requerida ] Hasta 10.10.4, Mac OS X habilitaba TRIM de forma nativa solo para SSD de 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. [37] Ahora existen controladores actualizados que funcionan con OS X Yosemite. [38] [39] 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. [40]
Microsoft Windows2009–10Windows 7 y Windows Server 2008 R2 – Octubre de 2009 [41] [42]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, incluidas las SSD PCI-Express de Storport, incluso si el dispositivo en sí aceptaba el comando. [43] Se confirma que con los controladores nativos de Microsoft, el comando TRIM funciona en Windows 7 en modo AHCI y IDE/ATA heredado. [44] Windows 8 y sistemas operativos Windows posteriores admiten el comando unmap para dispositivos que usan la pila de controladores SCSI, incluido el protocolo USB Attached SCSI (UASP). Windows 8.1 y sistemas operativos Windows posteriores admiten el comando TRIM para SSD NVM Express . Microsoft ha lanzado una actualización para Windows 7 que agrega compatibilidad con NVM Express, incluido TRIM para SSD PCIe. [45] [46]

Se sabe que TRIM es compatible con ReFS y NTFS , los cuales implementan un interruptor DisableDeleteNotify para deshabilitarlo. [47] Las fuentes no están de acuerdo sobre si existe compatibilidad con TRIM para otros sistemas de archivos.

OpenSolaris2010-07Julio de 2010 [48]
Androide2013-74.3 [49] – 24 de julio de 2013 [50]Se ejecuta fstrimautomá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). [49]

Problemas con 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 RAID de software a menudo incluyen compatibilidad con TRIM.

Ventanas

Windows 10 ofrece soporte para TRIM en volúmenes de ID SSD usando la opción "optimizar unidades" al configurar un volumen RAID.

macOS

El controlador RAID de macOS no es compatible con TRIM. Esto es así para todas las versiones de Mac OS X desde la 10.7 hasta la 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 sean 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 soporte para "RAID de hardware 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. [51]

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, al eliminar un archivo ) 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 nativo para TRIM). [52] 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. [53]

Sin embargo, Red Hat recomienda no utilizar los niveles RAID de software 1, 4, 5 y 6 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 RAID (por ejemplo, mdadm de Linux ) escriben en todos los bloques de los dispositivos para garantizar que las sumas de comprobación (o verificaciones de unidad a unidad, en el caso de RAID 1 y 10) funcionen correctamente, lo que hace que el 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. [54]

Por otro lado, Red Hat recomienda el uso de RAID 1 o RAID 10 para RAID LVM en SSD, ya que estos niveles admiten TRIM ("descartar" en la terminología de Linux) y las utilidades LVM no escriben en todos los bloques al crear un volumen RAID 1 o RAID 10. [53]

RAID basado en firmware

Durante un breve período en marzo de 2010, se hizo creer a los usuarios que los controladores Intel Rapid Storage Technology (RST) 9.6 (y posteriores) en Windows 7 admitían TRIM en volúmenes RAID, pero Intel luego aclaró que TRIM era compatible con las configuraciones del BIOS del modo AHCI y el modo RAID, pero no si la unidad era parte de un volumen RAID. [55]

A partir de agosto de 2012, Intel confirma que los chipsets de la serie 7 con controladores Rapid Storage Technology (RST) 11.2 admiten TRIM para RAID 0 en Microsoft Windows 7. [56] Si bien Intel no confirmó la compatibilidad con los chipsets de la serie 6, los entusiastas del hardware han demostrado que TRIM en volúmenes RAID 0 funciona en chipsets Z68, P67 y X79 con una ROM de opción RAID modificada . [57] Se especula que la falta de compatibilidad oficial con los chipsets de la serie 6 se debe a los costos de validación [58] o un intento de alentar a los consumidores a actualizar, [59] en lugar de razones técnicas.

Una excepción a la necesidad de una ROM opcional modificada en placas base con un chipset X79 es si el fabricante ha añadido un interruptor de ROM; esto implica que tanto la ROM RST como la RST-E estén dentro del BIOS/UEFI. Esto permite utilizar la ROM RST en lugar de la ROM RST-E, lo que permite que funcione TRIM. [60] Intel señala que se puede lograr un mejor rendimiento utilizando un controlador con la misma versión que la ROM; por ejemplo, si el BIOS/UEFI tiene una ROM opcional 11.0.0.0m, se debe utilizar un controlador de la versión 11.x. [61]

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 a la unidad. Estas utilidades están disponibles de varios fabricantes (por ejemplo, Intel, [62] G.Skill [63] ), o como utilidades generales (por ejemplo, hdparm "wiper" de Linux desde v9.17, [64] [65] 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.

Independientemente del sistema operativo, la unidad puede detectar cuándo el ordenador escribe todos los ceros en un bloque y desasignar (recortar) ese bloque en lugar de registrar el bloque de ceros. Si la lectura de un bloque desasignado siempre devuelve ceros, este atajo es transparente para el usuario, excepto para la escritura (y lectura) más rápida de bloques que contengan todos los ceros, además del beneficio habitual de una escritura más rápida en áreas no utilizadas. Los sistemas operativos no escriben todos los ceros para "borrar" archivos o espacio libre, pero algunas utilidades sí lo hacen.

Soporte de hardware

Ataque

La especificación del comando TRIM [66] ha sido estandarizada como parte del estándar de interfaz AT Attachment (ATA), liderado por el Comité Técnico T13 del Comité Internacional de Estándares de Tecnología de la Información (INCITS). [67] TRIM se implementa bajo el comando DATA SET MANAGEMENT (código de operación 06h) del borrador de la especificación ACS-2. [68] El estándar ATA es compatible con hardware ATA paralelo (IDE, PATA) y serial (SATA).

Una desventaja del comando ATA TRIM original es que se definió como un comando no en cola y, por lo tanto, no se podía combinar 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. [69]

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 de 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 deberán devolver los mismos datos o volverse determinados.
  • Lectura determinista cero después de TRIM (RZAT): todos los comandos de lectura al LBA después de un TRIM deberán devolver cero.

Hay información adicional en SATA Word 105 que describe la cantidad máxima de bloques de 512 bytes por comando DATA SET MANAGEMENT que una unidad puede admitir. Por lo general, el 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, que establecen que el tiempo de finalización del comando no debe superar los 20 ms u 8 ms × (número de entradas de rango LBA), lo que sea mayor, y siempre debe ser inferior a 600 ms. [70]

Un rango LBA individual se denomina entrada de rango LBA y se representa mediante ocho bytes. El LBA se expresa mediante los primeros seis bytes de la entrada de rango LBA y la longitud de rango es un contador basado en cero (por ejemplo, 0=0 y 1=1) representado por los dos bytes restantes. Si la longitud de rango de dos bytes es cero, entonces la entrada de rango LBA se descartará como relleno. [71] Esto significa que para cada bloque de 512 bytes de rangos TRIM que un dispositivo admite, el máximo es 64 rangos de 32 MB o 2 GB. Si un dispositivo admite SATA Word 105 a 8, entonces debería poder recortar 16 GB en un solo comando TRIM (ADMINISTRACIÓN DE CONJUNTO DE DATOS).

SCSI

SCSI proporciona el comando UNMAP (un análogo completo de TRIM) y el comando WRITE SAME (variantes 10 y 16) con el indicador UNMAP establecido. [72]

Tarjeta de memoria SD/MMC

El comando MultiMediaCard and SD ERASE (CMD38) proporciona una funcionalidad similar al comando ATA TRIM, aunque requiere que los bloques borrados se sobrescriban con ceros o unos. En eMMC 4.5 y, opcionalmente, en tarjetas SDHC y SDXC, se define una suboperación DISCARD que se asemeja más a ATA TRIM en el sentido de que el contenido de los bloques descartados se puede considerar indeterminado (es decir, "no importa").

Expreso NVM

El conjunto de comandos NVM Express tiene un conjunto de comandos de administración de conjuntos de datos genéricos para indicar la intención del host al dispositivo de almacenamiento en un conjunto de rangos de bloques. Una de sus operaciones, DEALLOCATE, realiza un recorte. También tiene un comando WRITE ZEROES que proporciona una indicación DEALLOCATE y permite que el disco recorte y devuelva ceros.

Desventajas

  • Algunos esquemas de cifrado que se pueden negar implican hacer que todo el disco parezca basura aleatoria. El uso de TRIM elimina esta capa de negación plausible , ya que los bloques de todos ceros (o todos uno) creados indican fácilmente qué bloques se utilizan. [73] Se ha argumentado que deshabilitar TRIM también podría ser sospechoso. [74]
  • 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 sin cuidado, 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 controlador primero espere a que finalicen todos los comandos pendientes, emita el comando TRIM y luego reanude los comandos normales. TRIM puede tardar mucho tiempo en completarse, según el firmware en el SSD, e incluso puede activar un ciclo de recolección de basura . [ cita requerida ] Esta penalización se puede minimizar en soluciones que realizan TRIM por lotes y/o TRIM periódicos, en lugar de recortar en cada eliminación de archivo , al programar dichos trabajos por lotes para momentos en que la utilización del sistema es baja. 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. [75] [76]
  • Solo algunos hipervisores (como Hyper-V , Parallels Desktop ) han implementado TRIM para el sistema operativo invitado (a partir de 2023).
  • El firmware de unidad defectuoso que informa incorrectamente la compatibilidad con TRIM en cola o tiene errores críticos en su implementación se ha vinculado a una corrupción grave de datos y/o errores graves como congelamientos frecuentes en varios dispositivos, en particular el M500 de Micron y Crucial [77] y las series 840 y 850 de Samsung. [78] La corrupción de datos se ha confirmado en el sistema operativo Linux (el único sistema operativo con compatibilidad con TRIM en cola al 1 de julio de 2015). [79]

Estos dispositivos están en la lista negra del archivo 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 comandos TRIM en cola: [80]

  • Micron/Crucial M500 que utiliza todas las versiones de firmware, incluidas las unidades SSD recertificadas de fábrica
  • Micron M510 con versión de firmware MU01
  • Micron/Crucial M550 con versión de firmware MU01
  • Crucial MX100 con la versión de firmware MU01
  • SSD de las series 840 y 850 de Samsung que utilizan todas las versiones de firmware

Este archivo también incluye en la lista negra al SuperSSpeed ​​S238 contra TRIM en general debido a que provoca que los bloques incorrectos pierdan datos cuando se emite TRIM. [80] [81]

libata-core.c también tiene una lista blanca para incluir los SSD que los encargados del mantenimiento del subsistema saben de manera confiable que implementan 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: [80]

  • Unidades SSD Crucial
  • SSD Intel, excepto el SSD Intel 510
  • Unidades SSD de Micron
  • Unidades SSD de Samsung
  • Unidades SSD de Seagate [82]

Véase también

Referencias

  1. ^ "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 .
  2. ^ Shimpi, Anand Lal (18 de marzo de 2009). "The SSD Anthology: Understanding SSDs and New Drives from OCZ" (Antología de SSD: comprensión de las SSD y las nuevas unidades de OCZ). AnandTech.com . p. 4 . Consultado el 19 de junio de 2010 .
  3. ^ ab Shimpi, Anand Lal. (18 de marzo de 2009). p. 10. TRIM es un comando ATA (Advanced Technology Attachment Command) que permite a un sistema operativo informar a la SSD sobre los bloques de datos que ya no se utilizan. La SSD luego elimina dichos bloques de datos para dejar paso a bloques de datos más nuevos. TRIM se utiliza básicamente para mejorar el rendimiento y la vida útil de la SSD. Desafortunadamente, la ventaja de TRIM se convierte en una maldición para la recuperación de datos de la SSD. Por lo tanto, se recomienda encarecidamente realizar una copia de seguridad de sus datos con regularidad utilizando una herramienta confiable (por ejemplo, Disk Drill para Windows), especialmente si su sistema operativo advierte sobre fallas de la SSD.
  4. ^ Shimpi, Anand Lal. (18 de marzo de 2009). pág. 11.
  5. ^ "Reseña de Kingston SSDNow V Plus 100". AnandTech.com . Anand Lal Shimpi. 11 de noviembre de 2010. Consultado el 10 de diciembre de 2010 .
  6. ^ "Comando Trim: beneficios generales para unidades de disco duro" (PDF) . Documents.westerndigital.com . Consultado el 7 de noviembre de 2021 .
  7. ^ abc Savill, John (21 de abril de 2009). "He oído que los discos de estado sólido (SSD) sufren una disminución del rendimiento de escritura a medida que se utilizan. ¿Por qué?". WindowsITPro. Archivado desde el original el 19 de agosto de 2012. Consultado el 19 de junio de 2010 .
  8. ^ abc Shimpi, Anand Lal. (18 de marzo de 2009). pág. 7.
  9. ^ ab 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 .
  10. ^ Malventano, Allyn (13 de febrero de 2009). "Análisis de rendimiento a largo plazo de los SSD Intel Mainstream". PC Perspective . Consultado el 10 de febrero de 2012 .
  11. ^ ab Shimpi, Anand Lal. (18 de marzo de 2009). pag. 5.
  12. ^ Shimpi, Anand Lal. (18 de marzo de 2009). pág. 8.
  13. ^ Case, Loyd (8 de septiembre de 2008). "Write Amplification: Intel's Secret Sauce". Extremetech . ExtremeTech.com. Archivado desde el original el 15 de noviembre de 2010 . Consultado el 6 de noviembre de 2010 .
  14. ^ "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 .
  15. ^ "¿Demasiado TRIM? Cuando la recuperación de datos de SSD es imposible". Forensic Focus . 23 de septiembre de 2014. Consultado el 8 de mayo de 2024 .
  16. ^ "Soporte preliminar de TRIM". leaf.dragonflybsd.org .
  17. ^ "Notas de la versión de FreeBSD 8.1-RELEASE: discos y almacenamiento" . Consultado el 1 de septiembre de 2010 .
  18. ^ "Añadir compatibilidad del lado del núcleo para BIO_DELETE/TRIM en UFS" . Consultado el 1 de febrero de 2011 .
  19. ^ "Se agregó compatibilidad con ZFS TRIM, que está habilitada de manera predeterminada" . Consultado el 5 de junio de 2013 .
  20. ^ "Anuncio de lanzamiento de FreeBSD 9.2" . Consultado el 4 de octubre de 2013 .
  21. ^ "Revisión base 242323: se agrega compatibilidad básica con BIO_DELETE a la clase RAID GEOM para todos los niveles RAID" . Consultado el 30 de octubre de 2012 .
  22. ^ "Soporte TRIM en NetBSD". 19 de octubre de 2012.
  23. ^ "Linux_2_6_28 - Principiantes del kernel de Linux". kernelnewbies.org .
  24. ^ "Cambios en el almacenamiento en Linux 2.6.33". Kernel Newbies . Consultado el 1 de septiembre de 2010 .
  25. ^ "Fork by Nicolay - CÓMO: Configurar Ext4 para habilitar la compatibilidad con TRIM para SSD en Ubuntu y otras distribuciones". sites.google.com .
  26. ^ "Linux_2_6_32 - Principiantes del kernel de Linux". kernelnewbies.org .
  27. ^ "El sistema de archivos JFS ahora puede gestionar el recorte" . Consultado el 28 de marzo de 2012 .
  28. ^ "Linux_3.0 - Principiantes del kernel de Linux". kernelnewbies.org .
  29. ^ "Compatibilidad con OpenZFS TRIM". openzfs.org .
  30. ^ Freemyer, Greg (2010). "Foro de OpenSUSE: detección de SSD al crear un archivo fstab por primera vez".
  31. ^ "¿Cómo habilitar TRIM?". Ask Ubuntu . Consultado el 11 de noviembre de 2015 .
  32. ^ "Compatibilidad con descarte (recorte) de SDB: SSD - Wiki de openSUSE". es.opensuse.org .
  33. ^ "Cambios/HabilitarFSTrimTimer - Wiki del proyecto Fedora". fedoraproject.org . Consultado el 10 de diciembre de 2020 .
  34. ^ "swapon(8) — Páginas del manual de Arch". man.archlinux.org . Consultado el 20 de junio de 2024 .
  35. ^ "Mac OS X 10.6.8 incorpora compatibilidad con TRIM para SSD de Apple y mejoras gráficas". 24 de febrero de 2012.
  36. ^ "Los MacBook Pro se entregan con soporte activo para SSD TRIM". 4 de marzo de 2011.
  37. ^ "Yosemite elimina el soporte para SSD de terceros". ZDNet .
  38. ^ "Optimizador SSD Chameleon". chameleon.alessandroboschini.com .
  39. ^ "Ha buscado Trim enabler". Cindori.org . Archivado desde el original el 8 de noviembre de 2021 . Consultado el 7 de noviembre de 2021 .
  40. ^ Lee Hutchinson (30 de junio de 2015). «La última actualización de OS X permite habilitar TRIM para SSD de terceros». Ars Technica . Condé Nast . Consultado el 1 de julio de 2015 .
  41. ^ Fortin, Michael (9 de mayo de 2009). Sinofsky, Steven (ed.). "Soporte y preguntas y respuestas sobre unidades de estado sólido". Blog de ingeniería de Windows 7 . Microsoft . Archivado desde el original el 25 de abril de 2010.URL alternativa
  42. ^ "Mejoras de Windows 7 para unidades de estado sólido" (PDF) . Descargas de Microsoft . Microsoft Corporation. 12 de noviembre de 2008 . Consultado el 8 de julio de 2009 .
  43. ^ Geoff Gasior (2012) Unidad de estado sólido RevoDrive 3 X2 de 240 GB de OCZ
  44. ^ Coles, Olin (15 de abril de 2010). "Pruebas comparativas de SSD: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts". BenchmarkReviews . Consultado el 20 de agosto de 2013 .
  45. ^ "Actualización para agregar compatibilidad con controladores nativos en NVM Express en Windows 7 y Windows Server 2008 R2". Soporte . Microsoft. 8 de septiembre de 2015.
  46. ^ "¿Qué es el comando TRIM en las 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
  47. ^ "Comportamiento de Fsutil". Documentación de Microsoft . Consultado el 17 de noviembre de 2019 .
  48. ^ "Compatibilidad con SATA TRIM en OpenSolaris". 29 de julio de 2010. Archivado desde el original el 12 de agosto de 2012. Consultado el 29 de julio de 2010 .
  49. ^ ab "La actualización de Android 4.3 incorpora TRIM a todos los dispositivos Nexus". 29 de julio de 2013. Consultado el 30 de julio de 2013 .
  50. ^ "Android 4.3 anunciado, disponible hoy para dispositivos Nexus". The Verge . 24 de julio de 2013. Consultado el 24 de julio de 2013.
  51. ^ "¿Es posible hacer que SSD TRIM (descartar) funcione en ext4 + LVM + RAID de software en Linux? – Server Fault" . Consultado el 29 de noviembre de 2011 .
  52. ^ "Cyberax/mdtrim – GitHub". GitHub . Consultado el 29 de noviembre de 2011 .
  53. ^ ab "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 .
  54. ^ "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 .
  55. ^ "¿Existe compatibilidad con TRIM para configuraciones RAID?". Intel . 26 de marzo de 2010 . Consultado el 6 de noviembre de 2010 .
  56. ^ "Intel confirma la compatibilidad con RAID0 TRIM en los chipsets de la serie 7". 19 de agosto de 2012. Archivado desde el original el 22 de octubre de 2012 . Consultado el 14 de enero de 2013 .
  57. ^ "El equipamiento RAID0 y el SRT parecen posibles en los modelos Serie 6 y Serie 5". 18 de noviembre de 2012. Archivado desde el original el 18 de enero de 2013. Consultado el 14 de enero de 2013 .
  58. ^ "Las matrices de 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 .
  59. ^ "Intel incorpora TRIM a las 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 .
  60. ^ Anand Lal Shimpi. "Intel incorpora TRIM a las matrices SSD RAID-0 en placas base de la serie 7. Lo probamos".
  61. ^ Doug Crowthers (17 de agosto de 2012). "Comando TRIM confirmado con RAID 0 en Intel Serie 7". Tom's Hardware .
  62. ^ "Informe técnico sobre el optimizador de SSD de Intel" (PDF) . Intel Corporation. Archivado desde el original (PDF) el 5 de octubre de 2012 . Consultado el 23 de enero de 2010 .
  63. ^ "wiper.exe para Falcon Series". XtremeSystems. Archivado desde el original el 25 de junio de 2013. Consultado el 23 de enero de 2010 .
  64. ^ "Se lanzó hdparm-9.17, con scripts experimentales de ajuste y limpieza para SSD" . Consultado el 14 de agosto de 2010 .
  65. ^ "Página del proyecto hdparm". sourceforge.net . Consultado el 14 de agosto de 2010 .
  66. ^ "Propuesta de comandos de gestión de conjuntos de datos para ATA8-ACS2 (revisión 6)". INCITS T13 . INCITS . 12 de diciembre de 2007. Archivado desde el original el 13 de junio de 2010 . Consultado el 8 de julio de 2009 .(borrador de especificación T13/e07154r6)
  67. ^ "Documentos T13 referentes a TRIM". INCITS T13 . INCITS . Archivado desde el original el 26 de mayo de 2010 . Consultado el 8 de julio de 2009 .
  68. ^ "T13 ATA8 Draft Spec 1697-D" (PDF) . INCITS . 23 de junio de 2010. Archivado desde el original (PDF) el 22 de marzo de 2011 . Consultado el 14 de agosto de 2010 .
  69. ^ "SATA 6Gb/s". Organización Internacional Serial ATA . Consultado el 26 de septiembre de 2012 .
  70. ^ "Requisitos de almacenamiento del dispositivo (Windows)" . Consultado el 29 de febrero de 2016 .
  71. ^ "T13/2161-D: Tecnología de la información – Conjunto de comandos ATA/ATAPI – 3 (ACS-3)" (PDF) . T13.org . Archivado desde el original (PDF) el 5 de abril de 2016 . Consultado el 29 de febrero de 2016 .
  72. ^ Motin, Alexander (24 de diciembre de 2011). "RFC: Compatibilidad con SCSI UNMAP (TRIM)". Lists.freebsd.org . Consultado el 7 de noviembre de 2021 .
  73. ^ "Blog de Milan Broz: TRIM y dm-crypt... ¿problemas?". Milan Broz. 14 de agosto de 2011. Consultado el 1 de octubre de 2014 .
  74. ^ "Cifrado de disco esteganográfico perfectamente negable" (PDF) . I.blackhat.com . Consultado el 7 de noviembre de 2021 .
  75. ^ "El camino de 3 Gb/s a SATA 6 Gb/s: cómo migrar los diseños actuales a la especificación SATA Revisión 3.0". Sata-io.org . 27 de mayo de 2009 . Consultado el 7 de noviembre de 2021 .
  76. ^ "La especificación SATA 3.1 incorpora el estándar de intercambio y mejora el TRIM". The Tech Report . 18 de julio de 2011.
  77. ^ "71371 [PARCHE] Crucial M500, soporte "TRIM en cola" roto". bugzilla.kernel.org .
  78. ^ "El error n.° 1449005 no funciona con Samsung 840 EVO después de la actualización... : Errores : paquete fstrim : Ubuntu". Launchpad . 27 de abril de 2015.
  79. ^ torvalds. "linux/libata-core.c en e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub". GitHub .
  80. ^ abc torvalds. "linux/libata-core.c en master · torvalds/linux · GitHub". GitHub .
  81. ^ torvalds. "libata: forzar la desactivación del ajuste para SuperSSpeed ​​S238 · torvalds/linux@cda57b1". GitHub .
  82. ^ "[1/3] libata: Incluir en la lista blanca los SSD que se sabe que devuelven ceros correctamente después de TRIM - Patchwork". patchwork.ozlabs.org .
  • De write() a chips flash: una explicación de cómo el comando TRIM permite que los SSD borren datos que no utiliza el sistema de archivos
  • Libro blanco del comando TRIM: un libro blanco que explica el propósito y las acciones del comando
  • Patente de Fusion-io "Aparato, sistema y método para el almacenamiento en caché de escritura redundante"
Obtenido de "https://es.wikipedia.org/w/index.php?title=Trim_(informática)&oldid=1246886576"