La comanda trim (conegut com a TRIM en el ATA command set, i UNMAP en el SCSI command set) permet a un sistema operatiu d'informar a una unitat d'estat sòlid (SSD) de quins blocs de dades ja no es consideren en ús i es poden netejar internament.

TRIM es va introduir poc després que els SSD apareguessin. A causa que l'operació de baix nivell dels SSD difereix significativament dels discs durs, la forma típica en què els sistemes operatius manegen operacions com les eliminacions i els formats va donar lloc a una degradació del rendiment progressiva i inesperada de les operacions d'escriptura en els SSD. El trimming permet al SSD de gestionar més eficientment la Recollida d'Escombraries, que si no alentiria les operacions d'escriptura futures als blocs implicats.Shimpi, Anand Lal. (2009-03-18). p. 10.

Tot i que les eines per "resetejar" alguns discos a un estat "net" ja estaven disponibles abans de la introducció del trimming, també eliminaven totes les dades del disc, cosa que les feia poc pràctiques per utilitzar per una optimització constant. Shimpi, Anand Lal. (2009-03-18). pàg. 11. En 2014, molts discos SSD tenien mecanismes de recollida d'escombraries de fons interns que treballaven independentment del trimming. Encara que aquest va mantenir amb èxit el seu rendiment fins i tot en sistemes operatius que no van donar suport al TRIM, tenia els inconvenients associats de l'augment de l'amplificació d'escriptura i el desgast de les cel·les flaix.

Qüestions específiques d'unitat de flash A causa de la forma en què molts sistemes d'arxius manegen operacions d'eliminació, marcant els blocs de dades com "fora d'ús",Shimpi, Anand Lal. (2009-03-18). p. 7. mitjans d'emmagatzematge (discs SSD, sinó també discos durs tradicionals) en general no saben quins sectors / pàgines estan realment en ús i que pot considerar l'espai lliure. Al contrari de, per exemple, una operació de sobreescriptura, una eliminació no implicarà una escriptura física dels sectors que contenen les dades. Ja que un SSD comú no té coneixement de les estructures del sistema d'arxius, incloent la llista dels no utilitzats blocs / sectors, el mitjà d'emmagatzematge no és conscient que els blocs s'han fet disponibles. Si bé això permet sovint eines de "recuperació" a recuperar arxius de discs durs electromecànics, tot i els arxius que es presenten com "eliminats" pel sistema operatiu, sinó que també significa que quan el sistema operatiu posterior porta a terme una operació d'escriptura en un dels sectors, que considera espai lliure, aquest es converteix efectivament en una operació de sobreescriptura des del punt de vista del medi d'emmagatzematge. Per als discs magnètics això no és diferent a escriure un sector buit, però a causa de com funcionen algunes unitats SSD en el nivell més baix, un sobreescriptura produeix una sobrecàrrega significativa en comparació amb l'escriptura de dades en una pàgina en blanc, el que potencialment paralitza el rendiment de l'escriptura. emmagatzemar dades SSD en les cèl·lules de memòria flaix que s'agrupen en pàgines típicament de 4 a 16 kB, agrupats en blocs de típicament 128 a 512 pàgines, per exemple, 512 kB per bloc amb pàgines de 4 KB en 128 pàgines blocs. memòria flash NAND cèl·lules només es pot escriure directament a quan estan buits. Si ells poden contenir dades, els continguts han de ser esborrats abans d'una operació d'escriptura. Una operació d'escriptura SSD es pot fer en una sola pàgina, però, a causa de les limitacions de maquinari, comandaments d'esborrar sempre afecten blocs sencers;Shimpi, Anand Lal. (2009-03-18). p. 5. en conseqüència, l'escriptura de dades en les pàgines buides en un SSD és molt ràpid, però s'alenteix considerablement una vegada que les pàgines escrites amb anterioritat han de ser sobrescrites. Atès que es necessita un procés d'esborrat de les cèl·lules a la pàgina abans que es pogui escriure de nou, però només es pot esborrar blocs sencers, una sobreescriptura iniciarà un cicle de lectura-esborrat-modificació-escriptura: Shimpi, Anand Lal. (2009-03-18). pàg. 8. el contingut de tot el bloc s'emmagatzemen a la memòria cau, a continuació, tot el bloc s'esborra de la SSD, la pàgina sobreescriu s'escriu al bloc de memòria cau, i només llavors es pot tot el bloc actualitzat pot escriure al medi flaix. Aquest fenomen es coneix com amplificació d'escriptura .

Operació La comanda TRIM permet a un sistema operatiu notificar a la SSD les pàgines que ja no contenen dades vàlides. Per a una operació d'eliminació de l'arxius, el sistema operatiu marcarà els sectors arxius lliures per a noves dades, a continuació, enviarà una comanda TRIM per al SSD. Després del trimming, el SSD no conservarà cap contingut del bloc quan escrigui noves dades en una pàgina de memòria flash, el que resulta en menys d'amplificació d'escriptura (un menor nombre d'escriptures), un major rendiment d'escriptura (sense necessitat d'una seqüència de lectura i esborrat de modificar), augmentant així la vida de la unitat.

Diferents unitats SSD implementen la comanda de una manera una mica diferent, de manera que el rendiment pot variar.

Trim de forma irreversible esborra les dades, sense possibilitats de recuperació. això és la diferència d'una unitat magnètica de la qual les dades eliminades pot recuperar-se.

Implementació Sistemes operatius suportats Trimming només és eficaç en sistemes operatius que hi donen suport. La següent taula identifica cada sistema operatiu i la primera versió de prova de la comanda. A més, les unitats d'estat sòlid més antigues, dissenyades abans de l'addició del comando TRIM amb l'estàndard ATA necessitaran actualitzacions de firmware, en cas contrari no es tindrà en compte el nou comandament. No obstant això, no totes les unitats poden ser actualitzades per donar suport trimming.

Operating System Supported since Notes DragonFly BSD 2011-05Maig 2011 FreeBSD 2010-078.1 - Juliol 2010 El suport es va afegir a la capa del dispositiu de bloc a partir de 8.1. S'ha afegit suport del sistema de fitxers en FreeBSD 8.3 i FreeBSD 9, a partir de UFS ZFS suportar trimming es va afegir en FreeBSD 9.2 FreeBSD 10 suports de trimming en el programari RAID configuracions. NetBSD 2012-10Octubre 2012 Linux 2008-12-252.6.28–25 Desembre 2008 S'ha afegit suport inicial per a operacions de descart per flash NAND FTL dispositius a 2.6.28. Es va agregar el suport per la comanda TRIM ATA a 2.6.33.

No tots els sistemes de fitxers fan ús de TRIM. Entre els sistemes d'arxius que pot emetre sol·licituds d'equipament automàticament són Ext4, Btrfs, FAT, GFS2, JFS, i XFS. No obstant això, això està desactivat per defecte a causa de problemes de rendiment, a favor de trimming programat en els SSD compatibles. Ext3, NILFS2 i OCFS2 oferir ioctl per dur a terme fora de línia de trimming. L'especificació TRIM demana el suport a una llista de rangs trim, però a partir de nucli 3.0 ajust només s'invoca amb un únic rang que és més lent. Mac OS X 2011-06-2310.6.8–23 Juny 2011 Tot i que el controlador AHCI dispositiu de bloc va guanyar la capacitat per mostrar si un dispositiu suporta l'operació TRIM a 10.6.6 (10J3210), la funcionalitat en si segueix sent inaccessible fins 10.6.8, quan l'operació TRIM s'exposa a través de la IOStorageFamily i sistema d'arxius (HFS +) es va afegir suport fins 10.10.4, Mac OS X de forma nativa TRIM està habilitat només per als SSD marca Apple .; utilitats de tercers estan disponibles per permetre que per a altres marques. els controladors TRIM de terceres parts van deixar de funcionar com de l'actualització de Yosemite. Updated drivers now exist that work with OS X Yosemite. En Mac OS X actualitzar 10.10.4, Apple ha afegit una utilitat de línia d'ordres, trimforce, que es pot utilitzar per activar TRIM en els SSD de tercers. Microsoft Windows 2009-10Windows 7 i Windows Server 2008 R2 - Octubre 2009 Windows 7 recolza inicialment TRIM només per a les unitats de la família AT Attachment incloent Parallel ATA i Serial ATA, i no va donar suport aquesta comanda per a altres dispositius, incloent Storport PCI-Express SSDs encara que el propi dispositiu accepta la comanda.Geoff Gasior (2012) RevoDrive de OCZ 3 X2 unitat d'estat sòlid de 240 GB es confirma que amb controladors nadius de Microsoft el obres de comandament TRIM de Windows 7 en AHCI i IDE legal / mode ATA. Els sistemes operatius Windows 8 i versions posteriors de Windows suporten TRIM per PCI Express en els SSD basat en NVMe, i la comanda unmap que és un anàleg completa de la comanda TRIM de Serial ATA per als dispositius que utilitzen la pila de controlador SCSI. Microsoft ha publicat una actualització per a Windows 7, KB2990941, que quan s'integren en el programa d'instal·lació de Windows 7 mitjançant DISM, afegeix suport NVM Express, que inclouen TRIM dels SSD PCIe. OpenSolaris 2010-07Juliol 2010 Android 2013-74.3 - 24 Juliol 2013"Android 4.3 announced, rolling out to Nexus devices today".The Verge. 24 Juliol 2013. Retrieved 24 Juliol 2013.S'executa fstrim automàticament una vegada cada 24 hores si el dispositiu ha estat inactiu durant almenys una hora i és almenys 80% de la càrrega (30% si està connectat a un carregador).

Qüestions RAID , el suport per la comanda TRIM no està implementat en la majoria de les tecnologies basades en maquinari RAID. No obstant això, les implementacions de programari RAID sovint inclouen suport per TRIM.

Windows:

Windows 10 ofereix suport per TRIM en volums RAID SSD utilitzant l'opció de "optimitzar unitats" en configurar un volum RAID.

Mac OS:

El controlador RAID MacOS no suporta TRIM. Això és cert per a totes les versions de Mac OS X 10.7 fins al MacOS 10.12.x.

TRIM és compatible amb volums quan s'utilitza l'aplicació SoftRAID® de tercers, incloent suport TRIM amb dispositius SSD no són d'Apple RAID (10) i 0,1,4,5.(Nota: TRIM per a dispositius SSD no són d'Apple ha d'estar habilitat específicament amb la comanda terminal "sudo trimforce enable")

Linux:

TRIM està disponible amb volums RAID en comunicats de post-gener-2011 de del nucli de Linux dmraid, que implementa BIOS-assistida "RAID fals maquinari" de suport, i que ara passa a través de totes les sol·licituds de retoc des del sistema d'arxius que es troba en la matriu RAID.

No s'ha de confondre amb dmraid, sistema RAID de programari de propòsit general de Linux, mdraid, que té suport experimental per a (en lloc de en viu, a causa de la supressió de fitxers) basat en lots TRIM en matrius RAID1 quan els sistemes estan configurats perquè periòdicament executi la utilitat mdtrim en sistemes d'arxius (fins i tot els que són com ext3 sense suport TRIM natiu). In later versions of Linux, e.g. Red Hat Enterprise Linux 6.5 and beyond, mdraid supports actually passing through TRIM commands in real-time, rather than just as a batch job.

No obstant això, tingui en compte que Red Hat desaconsella l'ús de nivells de programari RAID1, 4, 5, i 6 en els SSD amb la majoria de les tecnologies RAID, ja que durant la inicialització, la majoria de les utilitats d'administració de RAID (per exemple, de Linux mdadm) escriuen a tots els blocs en els dispositius per assegurar que les sumes de comprovació (o unitat-a-unitat verifica, en el cas de RAID 1/10) funciona correctament, fent que el SSD cregui que tots els blocs que no siguin en l'àrea de recanvi estan en ús, degradan significativament rendiment.

D'altra banda, Red Hat recomana l'ús de RAID1 o RAID 10 per LVMen els SSD, ja que aquests nivells suporten TRIM ("discard" en la terminologia de Linux), i les utilitats de LVM no escriuen a tots els blocs en crear un volum RAID1 o RAID 10.

Per un curt temps al març de 2010, als usuaris se'ls va fer creure que ela drivers Rapid Storage Technology d'Intel (RST) 9.6 soportaven TRIM en volums RAID, però Intel més tard van aclarir que TRIM va ser recolzada per la configuració del BIOS en mode AHCI i RAID, però no si la unitat era part d'un volum RAID.