Product Announcements

A brief history of VAAI & how VMware is contributing to T10 standards

I guess most people who have an interest in storage will be well versed on what VAAI is and how it can communicate to storage systems at a meta level to improve VM performance and scalability. In a nutshell, vSphere Storage APIs for Array Integration (yes, the acronym did change in 5.0) allows certain I/O operations to be offloaded from the ESX to the physical array. There are primitives available for block copy & block zeroing (used by VM Snapshots, Cloning operations, Storage vMotion and by virtual disks built with the eager zeroed thick option). There is another primitive called Atomic Test & Set (ATS) which is a superior alternative to SCSI Reservations when it comes to metadata locking on VMFS. In 5.0 we have also introduced new NAS & Thin Provisioning primitives too. More about vSphere 5.0 VAAI enhancements can be found here.

VMware first started to work on VAAI way back in 2008. VAAI was initially implemented as vendor specific commands in vSphere 4.1. However, VMware and its partners worked on standardizing these commands to the extent that all of block VAAI (including the new thin provisioning additions in vSphere 5) are based on T10 standards. The amount VMware has contributed to standards in the short amount of time between vSphere 4.1 and 5 is non-trivial and unprecedented, as one can clearly see from the functionality it supports (hardware accelerated locking, Virtual Machine cloning, Storage vMotion, thin provisioning, space reclamation, etc).

This is an extremely important VAAI change we did in vSphere 5.0 – all of the block VAAI commands are now based on standard T10 commands. It seems there is still some misinformation out there that VMware is forcing vendor-specific extensions through our implementation of VAAI. The reality is that VMware is contributing a lot to the standards. Many people may not realise that much of the T10 specification for VAAI is being driven by VMware.

Almost all array vendors now recognise the benefits of focusing on the scale and management of Virtual Machines. VAAI is the first step that enables storage arrays to get to this new level. VAAI has been responsible for a considerable number of changes to the SCSI protocol since 2009. In fact VMFS-5, released with vSphere 5.0, ships with a VAAI-only option. Almost all of the storage systems which host vSphere’s storage footprint now ship with VAAI-compliant firmware. This is a remarkable achievement.

For completeness, it should be noted that VAAI NAS is currently not standards based and is still proprietary at the time of writing.

Get notification of these blogs postings and more VMware Storage information by following me on Twitter: Twitter @VMwareStorage