- E-Series with TPV (Thin Provisioned Volumes) enabled
- Hosts having the UNMAP feature enabled
- Host sends an UNMAP command to reclaim unused storage blocks on the E-series TPV enabled volume
- The 64KB clusters in the TPV are immediately marked as “free”. These free clusters in the index will be used first to prevent further repository growth on host writes.
- When there are “enough” free clusters -which is dependent on the repository size- periodic defrag scans will shift the free clusters together into contiguous 4GB C-stripes that can be freed and returned to the pool (min of 4GB at a time, but this varies depending on the size of repository and UNMAP operation).
- Depending on the number of unused storage blocks to be reclaimed and the size of repository, different goals and thresholds for the defrag scans will be set.
- Data may not go back to the DDP for a while since these scans are specifically throttled to maintain an acceptable performance penalty. When the scans reach their target based of the repository size, the number of blocks to be reclaimed, it will give the freed C-stripes back to the DDP. It’s also worth noting that the freed clusters can still be reused by the TPV even though they haven’t been given back to the DDP via repository TRIM.
The way TPVs work internally is often a cause for confusion for customers as UNMAP operations issued on the host will not always result in space being returned to the DDP.