TRIM

Microsoft Platform Guide

Audience
Public
Source Type
Documentation

TRIM is not a command that forces the SSD to immediately erase data. The TRIM command simply notifies the SSD which Logical Block Addresses (LBAs) are no longer needed. The SSD takes those addresses and updates its own internal map in order to mark those locations as invalid. With this information, the SSD will no longer move that marked invalid block during garbage collection (GC); thus eliminating the time wasted in order to rewrite invalid data to new flash pages.

TRIM Benefits

  • Lower write amplification -- Less data is rewritten and more free space is available during GC.
  • Higher throughput -- Less data to move during GC.
  • Improved flash endurance -- The drive is writing less to the flash by not rewriting invalid data during GC.
  • Keeps SSDs Trim -- As an SSD comes close to full, there is a substantial slowdown in write performance as more flash cells must undergo Program/Erase (P/E) cycles before data can be rewritten.
  • Reduce FlashArray processing -- A lot of resources are used for wear leveling, so more free blocks can help dynamic wear leveling algorithms.

SCSI UNMAP

SCSI UNMAP is the full equivalent of TRIM, but for SCSI disks. UNMAP is a SCSI command that a host can issue to a storage array to free Logical Block Addresses (LBAs) that no longer need to be allocated.

SCSI UNMAP Benefits

  • Beneficial to thinly provisioned storage pools as reclaimed blocks will be put back into the unused pool.
  • Avoid out of space conditions for thinly provisioned pools of storage.
  • Automatic operation that no longer needs to be run manually on host.
  • No longer need to run backend array tools to perform thin reclamation (zero page reclaim) that consumed valuable array cycles and potentially slowed down host performance.