White Papers
VMware storage features
67 Dell EMC SC Series: Best Practices with VMware vSphere | 2060-M-BP-V
16.3 vStorage APIs for array integration (VAAI)
ESXi 5.x introduced five primitives that the ESXi host can use to offload specific storage functionality to the
array. These primitives are all enabled by default in vSphere 6.x because they are based on new T10
standardized SCSI-3 commands.
Caution: Using VAAI requires multiple software version prerequisites from both VMware and Dell. Because
certain primitives are only available with specific versions of SCOS, consult the VMware Compatibility Guide
for the latest VAAI-certified versions.
16.3.1 Block zeroing (SCSI WRITE SAME)
Traditionally, when an ESXi host creates an eagerzeroedthick virtual disk, it transmits all the zeros over the
SAN to the array, which consumes bandwidth, processor, and disk resources. The block zeroing primitive
uses the SCSI WRITE SAME command to offload the heavy lifting to the array. For example, when the ESXi
host needs a 40 GB VMDK zeroed out, it sends WRITE SAME commands asking the array to write 40 GB's
worth of zeros. The array responds to the host when finished. With the SC Series array, since the array does
not write zeros due to its thin write feature, creating an eagerzeroedthick virtual disk only takes seconds
instead of minutes.
16.3.2 Full copy (SCSI EXTENDED COPY)
The full copy primitive is used to offload to the array the copying or movement of blocks. It does this with the
SCSI EXTENDED COPY command that allows the ESXi host to instruct the SC Series array on which blocks
it needs copied or moved, leaving the heavy lifting to the array. This has a performance benefit to virtual
machine cloning and storage vMotions because the ESXi host no longer must send that data over the wire.
The ESXi host tells the SC Series array which blocks need to be copied or moved and the array takes care of
the operations.
16.3.3 Hardware accelerated locking
The hardware accelerated locking primitive is intended to add scalability to the VMFS-5 file system by
removing the need for SCSI-2 reservations. With VMFS, when a host needs exclusive access to update
metadata, traditionally it will set a SCSI-2 nonpersistent reservation on the volume to guarantee it had
exclusive rights. Typically, during this operation, VMware documents small performance degradation to other
virtual machines accessing this volume simultaneously from different hosts. With the new hardware
accelerated locking primitive, it uses a new SCSI-3 method called atomic test and set (ATS) that greatly
minimizes any storage performance degradation during the operation. Hardware accelerated locking was
added to migrate away from the SCSI-2 operations to SCSI-3 and increase the future scalability of VMFS.
16.3.4 Dead space reclamation (SCSI UNMAP)
The dead space reclamation primitive allows enhanced integration with arrays offering thin provisioning.
Before VAAI, when a VMDK was deleted, the array couldn’t detect the unused blocks, so they could not be
freed back into the pagepool to be reused. This caused a high-water-mark effect in which blocks of data no
longer needed by the operating system could still be consumed by the array. The dead space reclamation
primitive uses the SCSI UNMAP command. This command allows the ESXi host to instruct the array when
specific blocks are no longer in use, and the array can return them to the pool to be reused. If a VMDK is
moved or deleted, those blocks will be returned to the pagepool with two notable exceptions. First, if those
blocks are frozen as part of a snapshot, they will not return to the pagepool until that snapshot has expired.
Second, when using VMFS-5 and earlier, dead space reclamation does not work within the VMDK, and only