The most common use case, for example, is a host application, such as VMware freeing storage within a file system. The storage controller can then optimize the space, such as reorganizing the data on the volume so that space is better used. 

When a host allocates storage, the data is placed in a volume. To free the allocated space back to the storage pools, human intervention is usually needed on the storage controller. The SCSI Unmap feature is used to allow host operating systems to unprovision storage on the storage controller, which means that the resources can automatically be freed up in the storage pools and used for other purposes. 

A SCSI unmappable volume is a volume that can have storage unprovision and space reclamation being triggered by the host operating system. IBM SAN Volume Controller can pass the SCSI unmap command through to back-end storage controllers that support the function. 

## 10.3.2 Back-end SCSI Unmap 

The system can generate and send SCSI Unmap commands to specific back-end storage controllers. 

This process occurs when volumes are deleted, extents are migrated, or an Unmap command is received from the host. SCSI Unmap commands at the time of this writing are sent only to IBM A9000, IBM FlashSystem FS900 AE3, IBM FlashSystem FS9100, IBM Storwize, and Pure storage systems. 

This feature helps prevent a thin-provisioning storage controller from running out of free capacity for write I/O requests. Therefore, when you are using supported thin-provisioned back-end storage, SCSI Unmap normally is left enabled. 

By default, this feature is turned on, and it is recommended to keep back-end unmap enabled, especially if a system is virtualizing a thin-provisioned storage controller or is using Flash Core Modules. 

To verify that sending unmap commands to back-end is enabled, use the CLI command lssystem , as shown in Example 10-7. 

## 10.3.3 Host SCSI Unmap 

IBM_2145:ITSO-SV1:superuser>lssystem | grep backend_unmap backend_unmap on 

The Spectrum Virtualize system can advertise support for SCSI Unmap to hosts. With it, some host types (for example, Windows, Linux, or VMware) then change their behavior when creating a file system on a volume and issuing SCSI Unmap commands to the whole capacity of the volume. This process causes the system to overwrite the whole capacity with zero-data, and the format completes when all of these writes completed. Some host types run a background process (for example, fstrim on Linux), which periodically issues SCSI Unmap commands for regions of a file system that are no longer required. 

Host Unmap commands can increase the free capacity reported by the DRP, when received by thin-provisioned or compressed volumes. This does not apply to standard storage pools. Also, IBM SAN Volume Controller sends back-end SCSI Unmap commands to controllers that support them if host unmaps for corresponding blocks are received. 

