The following file systems support TRIM: NTFS, HFS+, EXT4, Btrfs.
Many operating systems now offer TRIM support, which is designed to improve write performance. TRIM allows a NAND flash device's controller to manage the erase process after data is deleted from a cell and before the next write to that cell occurs.
Linux started supporting TRIM back in late 2008, but not all file systems supported by Linux support TRIM. Microsoft Windows started to support TRIM in late 2009 with Windows Server 2008. OpenSolaris began supporting TRIM in the middle of 2010. Android for mobile devices just started to support TRIM in 2013.
So, at this point, many but not all major operating systems support TRIM, which is currently available for SATA interfaces only.
TRIM (also spelled trim) is a specific command in a serial ATA (SATA) interface that tells an underlying NAND flash solid state storage device which data it can erase. TRIM, which conceptually can be compared to a defrag utility on a spinning hard drive, improves performance by pro-actively freeing up space.
NAND flash memory organizes data into pages, and pages are grouped together in blocks. Data can be read and written at the page level but can only be erased at the block level. When data is deleted from flash media, the associated pages on the solid-state drive are flagged for deletion, but not erased -- because only blocks can be erased. When a new file is written, individual pages marked for deletion are grouped into a block so they can be erased first, making room for the next write.
The TRIM command allows the operating system to notify the solid state drive (SSD) which data in a particular set of pages can be overwritten, allowing the solid state drive’s controller to manage the erase process between the time when the host initiates a delete and the next write. By moving erasing out of the write process, writes can be faster.
In order for TRIM to function, the host’s operating system (OS) and storage drivers must support the TRIM command. Here's how the TRIM SSD relationship works. In a Windows 7 environment, for example, when the solid state drive reports it has TRIM support, the operating system will disable disk defragmentation and enable TRIM. Then, when a file on the host’s SSD is deleted, the OS sends a TRIM command to the flash controller telling it which blocks can be deleted. TRIM can also be initiated manually by the user or scheduled on a daily basis.
TRIM, which is a command and not an acronym, is currently available for SATA interfaces only. The SAS committee has added UNMAP, which is similar to TRIM, to the SAS/SCSI specification.Leah Schoeb
EDIT
A Trim command allows an operating system to inform a solid-state drive (SSD) which blocks of data are no longer considered in use and can be wiped internally.
A TRIM command enables your operating system to find the marked pages before you need them and wipe them clean. Cleaning these data pages beforehand saves you time when you need to write on the data pages again. It's like you have your own recycling guy next to your desk, recycling the pieces of paper as they come.
In order to work correctly, TRIM has to be supported by both the solid-state drive and the operating system you are using. When both the OS and the SSD support TRIM individual pages can be cleaned and your solid-state drive will be informed that the pages are now blank and can be written on.
Not all file systems make use of Trim. Among the file systems that can issue Trim requests automatically are Ext4, Btrfs, FAT, GFS2 and XFS. However, this is disabled by default due to performance concerns,
Microsoft claims that, TRIM has only been implemented on NTFS on Windows 7.