Skip to main content
NetApp Knowledge Base

What is a VAAI primitive and what are its limitations?

Last Updated:


Applies to

  •   Clustered Data ONTAP 8    
  •   Data ONTAP 7 and earlier    
  •   FlexPod 


What is a VAAI primitive and what are its limitations?

VAAI primitive:

As of ESX/ESXi 4.1, VAAI consists of three components that VMware refers to as primitives. A primitive is the underlying technology that a higher-level feature or use case can call. In turn, the primitive can perform a function or request that the function be performed on the storage device on behalf of the primitive. These primitives are as follows:
•  Full Copy
•  Block Zeroing
•  Hardware-Assisted Locking

Nowadays, the VAAI use case, primitive, SCSI command or CDB, and even some storage vendor terms have been used almost interchangeably. The figure below clarifies the terminology.


Starting from ESXi 5.x, support for NAS Hardware Acceleration is included with support for these primitives:

  • Full File Clone – Like the Full Copy VAAI primitive provided for block arrays, this Full File Clone primitive enables virtual disks to be cloned by the NAS device.
  • Native Snapshot Support – Allows creation of virtual machine snapshots to be offloaded to the array.
  • Extended Statistics – Enables visibility to space usage on NAS datastores and is useful for Thin Provisioning.
  • Reserve Space – Enables creation of thick virtual disk files on NAS.

Note: VAAI for NFS requires clustered Data ONTAP 8.1 or later or Data ONTAP 8.1.1 7-Mode.

Also, in ESXi 5.x, a new primitive called Thin Provisioning Block Space Reclamation (UNMAP) has been added. For more information on UNMAP, see VMware KB.

Take into consideration the potentials for controller performance implications if a large number or percentage of UNMAP requests occur simultaneously; it is advised that UNMAP is triggered in smaller operation sizes manually. For more information, see this link.

In case you need to manually disable UNMAP on ESXi hosts, see  VMware KB.

When do VAAI hardware offload functions not apply?

VAAI is a set of APIs and SCSI commands used to offload certain functions that are performed more efficiently on the storage array, it could help reduce the consumption of network and compute resources and increase efficiency, but it doesn't always apply.

For more information on the section 'VAAI hardware offload cannot be used when' in,see VMware KB 1021976

Additional Information

Add your text here.


NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.