Flash storage for the enterprise hasn’t been around for long. It was in 2009 EMC decided to put Enterprise Flash Drives in its flagship VMAX platform.
Since then we have seen an abundance of flash technology deployed from the server to the array in an attempt to plug the widening gap between IOPS and capacity inherent in spinning disk hard drives – the so-called I/O density problem.
Flash delivers reduced latency and increased IOPS. And that means faster I/O operations and the ability to handle more database transactions or application and web requests. It reduces the bottleneck that develops as processors and server backplanes increase their performance.
But to deliver that extra IOPS horsepower to the best of its ability, software intelligence needs to be applied. And that happens where the rubber meets the road. That means caching software that ensures flash is targeted with optimum efficiency at blocks of data that need it most.
That job is achieved in many different ways including: in the server with direct support for a database or application; in the hypervisor; and in the server that improves performance for all external I/O.
In this article we will examine flash caching software products that target IOPS performance improvement outside the array.
Of course flash storage is no panacea for all I/O performance ills. It is still an expensive technology and needs to be targeted appropriately.
Also, embedding flash in the server creates data silos, as it cannot be accessed by other servers and increases risks around availability of data in the event of a server failure.
Some suppliers use flash caching software in a read-only or write-through implementation, which removes some of the integrity issues by ensuring data is doubled up to other media. Where caching software manages write I/O, users need to carefully think through their data availability requirements.
Flash caching supplier roundup
We’ll start by looking at the big six storage suppliers and the flash software products they offer, if any. Then we will look at the startups’ flash cache offerings.
EMC uses server-based flash as a read-only cache with its XtremSF and XtremSW offerings providing the hardware and software capabilities respectively. Write-through caching has the benefit of eliminating data integrity issues, as no data is left “stranded” on the flash without being committed to disk. In addition, data can be retained in cache, as it is likely to be re-read at some point. It must be noted, however, that read-only solutions suffer from “warm-up” issues where a dip in performance occurs as the cache is re-populated after a server reboot (or cluster failover) and of course such products don’t accelerate write I/Os.
Earlier this year Dell released the first fruit of its Project Hermes, which aims to deliver server-side flash. Fluid Cache for DAS 1.0 uses Dell PCIe SSD to cache read and write I/O and currently only supports the Linux operating system. Although Fluid Cache appears to merely catch up with the market, the product roadmap suggests it will support hypervisors including vSphere and Hyper-V and ultimately offer cache-sharing between servers using IP from its RNA Networks acquisition.
IBM has chosen to OEM ioTurbine software from Fusion-IO, packaged as IBM FlashCache Storage Accelerator. The software works specifically with IBM servers and storage or IBM-qualified solid-state disks. As a hypervisor-aware solution, FlashCache is compatible with VMware storage features such as DRS, vMotion and HA. This is an important consideration for virtualised environments to ensure data integrity between servers in a VMware cluster.
HP has integrated flash cache software into its latest G8 server hardware in the on-board SmartArray controller. At present the software only supports write-through cache capability. Future releases are expected to provide SAN and 3PAR array support and migrating deployment into host operating systems.
To date, neither NetApp nor Hitachi Data Systems have released software products for server flash caching. NetApp has been working on Project Mercury, which is rumoured to provide server-based caching and integrate with its storage arrays, but no details have been released.
In addition to the big six, there are a large number of suppliers, both established and startup, offering caching systems.
Fusion-IO supplements its hardware products with two main flash cache software products. IoTurbine is designed to work in virtual server environments and optionally integrates into the guest operating system. The software uses external storage for write-I/O and Fusion-IO ioMemory products in the server for cache reads. Operating system integration allows additional metrics to be collected on cache data and to improve cache utilisation. Fusion-io’s directCache is deployed in Microsoft Server and Linux environments and enables its hardware to act as a transparent write-through cache.
A number of suppliers have chosen to target the hypervisor for data acceleration. The benefits here are clear; virtual server hosts have a lot of similar data, including operating system files that can benefit from reduced I/O.
VMware now offers a number of flash-caching systems for vSphere. Virsto, acquired by VMware in February 2013, is deployed as a virtual appliance into vSphere and essentially re-orders random I/O into sequence using a structured log design. Flash Read Cache is the product formerly known as vFlash, recently released with vSphere 5.5. At this stage Flash Read Cache, (as its name suggests), is a write-through implementation only. However the key benefit here is direct integration with the hypervisor, ensuring any flash operations are kept consistent with other storage-related features.
Pernix Data is a new startup looking to take hypervisor caching one step further. Its FVP product provides read and write I/O caching. Data integrity is maintained by implementing flash replicas, where data written to flash is replicated to other vSphere servers in a cluster. Implementation is via a vSphere kernel module, making the software transparent to the host. Replication is implemented at the VMDK level, so individual virtual machines can be protected with flash replicas or not as required.
Atlantis Computing’s ILIO platform uses a virtual machine deployed in the hypervisor to cache and accelerate virtual desktop infrastructure (VDI) deployments. Although not specifically targeted to solid-state storage – it allows any disk technology to be used – ILIO works well with SSD devices, significantly reducing I/O targeted at external storage.
Sanrad’s VXL software is another platform that uses a virtual machine to provide caching of flash storage within a virtual server environment. The product can use PCIe or traditional SSDs and works with vSphere, Hyper-V and Xen.
Suppliers that target traditional server acceleration include: sTEC (also acquired by HGST) with their EnhanceIO offering; Intel’s Cache Acceleration Software (gained from its acquisition of Nevex); SanDisk’s FlashSoft product (from its FlashSoft acquisition); LSI with its Nytro range of products and software, and; Western Digital’s Virident with FlashMAX Connect that also accelerates its own hardware products.
One final product worthy of note is Qlogic’s FabricCache. This is a hybrid solution using SSD and HBAs to locally cache I/O as it is written to an external storage array. The software resides in the HBA driver and so has fewer dependencies on the host operating system.
This product and the others discussed in this article show that flash caching is a very disparate market place. At some stage we will see consolidation and as already highlighted, acquisitions have already taken place.