Use of solid state drives in server as 'tier minus one' provides transparent storage acceleration
Caching of frequently accessed storage blocks in high-speed memory is a proven method of accelerating applications that require a large amount of random reads and writes. SQL database applications such as Online Transaction Processing immediately come to mind as applications requiring a large amount of random I/O.
But server virtualization has made nearly every application heavily random in terms of storage access. Organizations using virtualization to consolidate on the latest multi-core servers have found themselves disappointed with resulting performance due to highly randomized I/O streams that swamp shared storage systems. FlashSoft has combined the use of direct attached solid state drives (SSD) in the server with read and write caching as a method to dramatically accelerate access to any underlying storage system.
Manufacturers of storage-area networks and network-attached storage are increasingly implementing multiple types of drives in their arrays. These systems evolved from short-stroked, 15,000 RPM Fibre Channel (FC) drives combined with slower speed, high capacity Serial ATA (SATA) drives, to today’s common usage of SSDs at Tier 0, high-speed FC or Serial Attached SCSI (SAS) drives at tier 1 and high capacity SATA drives at tier 2.
These systems commonly have logic for placing high use blocks in tier 0 and later migrating the blocks to lower cost, higher capacity storage as the access rate falls off. This is all good, but the time it takes to go through a shared storage controller makes it a choke point.
Placing high-speed storage directly on each server is a solution but heretofore has been achieved through one of three difficult and expensive approaches. First, put all the flash storage needed for the application in the server, a costly approach that sacrifices the benefits of shared storage. Second, figure out how to change the application so that it knows what data should be stored locally. Third, run analysis tools to identify the hot data within the data set and pin it to the flash storage.
FlashSoft has taken a different approach that is compatible with all existing shared and direct-attached storage. FlashSoft places a driver in Windows Server 2008 R2 underneath the NTFS layer as a block level filter driver. In this position, FlashSoft sees all read and write commands from the applications and VM images. SSDs allocated to FlashSoft are not available to other applications, but become a high speed, non-volatile location for storing frequently accessed blocks and metadata. Thus, the SSDs become an automatically adaptive tier of storage that is transparent to the server applications and shared storage systems. Since the amount of I/O involving the shared storage is greatly reduced, shared storage performance improves dramatically.
FlashSoft drivers operate in either read-write caching or read-only caching modes. Read-only mode always writes data to both the SSD and storage, while read-write mode does not write to storage unless certain conditions are met. As a write cache, it supports write-through mode as well as write-back, by recognizing large write streams and writing directly through to underlying storage, providing better utilization of SSD space.
FlashSoft uses locality with read-ahead and read-around, which identifies “hot spots” where frequent access can be anticipated. As the following diagrams show, FlashSoft intercepts write commands and determines whether the command should be handled in write-back mode, and if so, redirects it to the SSD. Data that only is stored on SSD is periodically flushed to back-end storage. FlashSoft also recognizes the most frequently read data and saves it in SSD as a read cache. In read-only mode, the data is always written through to the underlying storage. Since FlashSoft treats the entire SSD pool as a circular buffer, SSD performance is maximized and wear minimized.
FlashSoft has chosen the Windows Server and Hyper-V platforms for market entry. Future systems, no doubt, will address Linux, VMware and other hypervisors, in both standalone servers and server clusters. The large base of deployed Windows servers represents a substantial market for FlashSoft to address with this initial offering. Applications like Exchange, SharePoint and SQL achieve immediate improvement with the advanced caching algorithms. FlashSoft is positioned to take advantage of a large, un-served market in the Windows Server environment.




