TRIM is a command. TRIM is not an acronym. TRIM command allows an operating system to indicate that a disk controller, which blocks of data are no longer used and can be deleted. This command improves access to SSD performance. SSD by function works somewhat like ‘placing data across various locations’ when compared to platter hard disk which ‘saves data in cluster’. We wrote about Solid State Drive a year back.
Working Principle of TRIM
The purpose of this TRIM instruction is to maintain the speed of the SSD throughout its life, avoiding the slowdown with time that early models of SSDs encountered once all cells were written at least once. Although tools were available at that time to return to the initial performance of some units, they erased all the data on the drive that made this impractical way of optimization.
Clearly know – We are the consumers. So we are always susceptible to marketing exploits. Technology is NOT buying a Hard Disk. Selling a Hard Disk is a pure marketing strategy.
SSDs do not actually know which blocks are actually used and which blocks are free, because they are not aware of the file system structures which is in use. Unused clusters are unknown to the disk. Two things follow from this:
- SSDs can write blocks of 4 kio , but for practical reasons they must erase larger blocks (like 128 or 512 kio). Since the whole hardware does not know which blocks of 4 kio still in use or if they have been written previously, each write request, read-erase-modify-write cycle wastes a huge area, assuming that there is no other free blocks on the SSD. This phenomenon is called writing amplification.
- Upgrade wear allows a unit to rearrange its data for the scriptures are not confined to one area of the flash card. The flash cells tolerate a few tens of thousands of entries before becoming ineffective. Some SSD controllers therefore move the data across the unit for an evenly exercise over all the blocks. If the unit does not know which blocks are actually used by the file system, each block of data written to the unit requires additional writing due to the displacement of the block.
TRIM command completely purge the affected data. Data recovery becomes possible (which will be an advantage or a disadvantage depending on the context). The specification of the TRIM command is standardized as part of the standard AT Attachment Interface ( ATA ), conducted by the Technical Committee T13 of the International Committee for Information Technology Standards. The SSD, hardwarewise must support TRIM. Older models will require an update of their firmware, otherwise this command will be ignored. It also requires an ATA controller which manages the 48-bit LBA Addressing and whose drivers support TRIM.
TRIM Support by Operating System
Mac OS X and OS X : The TRIM command was implemented from version 10.6.6 (Snow Leopard) in February 2011, but the system is limited to only Apple SSD installed by default. It is possible to enable TRIM on other brands of SSD with forcing utilities to control any type of SSD.
Microsoft Windows : TRIM was implemented in Windows 7 and Windows Server 2008 R2 with the final version of these operating systems in October 2009.
Linux : Difficult to write in few sentences. TRIM was built for the 2.6.33 version of the kernel but needs to be activated by compilation.
Where TRIM is not automatically supported by the operating system, there are utilities for sending TRIM commands manually. Typically, they list all the free blocks specified as such by the operating system and then pass this list in the form of a series of Single TRIM knobs. These utilities are available from different manufacturers (Intel, XtremeSystems) but there are also generic tools.