Contemporary enterprise data storage systems have been designed to cope with the limitations of mechanical disk drives, in particular to reduce the impact of high latency and the low number of IOPS mechanical disks can support. With solid-state drives (SSDs), this basic truth has changed and capacity limitations of storage controllers have become the limiting factor.
Simply replacing disk drives with SSDs can overwhelm storage systems if too many solid-state drives are added. "Storage controllers are just starting to adjust to the new performance requirements of SSDs, and today customers need to heed the recommendations and guidelines of storage vendors on how many SSDs they can add," said Greg Schulz, founder and senior analyst at Stillwater, Minn.-based StorageIO Group.
There are currently four methods to complement storage systems with solid-state storage:
- Adding SSD drives in lieu of disk drives
- The use of NAND flash as cache in storage controllers
- The use of NAND flash on servers rather than storage controllers
- Standalone SSD arrays
Adding solid-state drives in lieu of disk drives
Adding SSD drives via Fibre Channel, serial ATA (SATA) or serial-attached SCSI (SAS) interfaces to replace disk drives is the easiest way of adding SSD support to existing arrays. Notwithstanding rigorous testing and qualification procedures, this approach requires few if any changes to systems because vendors can leverage what's in place.
The lack of automated data migration between SSD and disk tiers, and performance limitations of storage controllers, are the two biggest drawbacks. Nevertheless, it's the method adopted by most vendors. EMC Corp., Compellent, Fujitsu, Hewlett-Packard (HP) Co., Hitachi Data Systems, IBM, LSI Corp., Pillar Data Systems, Sun Microsystems Inc. and many smaller array vendors all offer SSD drives in addition to hard disks. The majority of these vendors have been using STEC drives as their first generation SSDs, largely because STEC was the first vendor capable of meeting enterprise storage requirements. With disk drive vendors like Seagate Technology, promising startups like Pliant Technology and SandForce, and Intel Corp. targeting the enterprise storage space, STEC's predominance will be challenged.
The use of NAND flash as cache in storage controllers
NetApp and Sun are leveraging NAND flash as cache and have overcome the software issue of automated data migration between SSD and disk tiers, but have changed their architectures to embrace NAND flash, eliminating the possibility of overwhelming their arrays if too much SSD storage is added. By front-ending disk drives with NAND flash instead of replacing disk drives, all data and apps benefit from SSD, not only data that resides within the SSD tier.
NetApp offers the Performance Acceleration Module (PAM), which can be added to any NetApp filer with available PCI Express slots. Depending on the controller, up to five modules can be installed for a unified cache as large as 80 GB today and up to 512 GB later in the year when a higher density PAM card will become available.
Unlike NetApp, Sun uses flash memory in its Sun Storage 7000 Unified Storage Systems to cache all reads and writes -- not only metadata -- and therefore has one of the most advanced architectures to support flash memory. The Sun Storage 7000 Unified Storage Systems run Solaris on an x86 platform with an optimized storage stack and the Zettabyte File System (ZFS) that supports a Hybrid Storage Pool of DRAM cache, SSD and mechanical disks.
The solid-state drive is situated between the DRAM-based Adaptive Replacement Cache (ARC) and SATA drives. The ZFS Intent Log (ZIL), which holds the write journal to allow the file system to recover from system failures, is written to a write-optimized SSD. The L2ARC cache comprises read-optimized SSDs to extend the DRAM-based ARC cache for read operations; L2ARC can be hundreds of gigabytes in size, and its purpose is to keep working data in memory to minimize disk access. This Hybrid Storage Pool enables the Sun Storage 7000 Unified Storage Systems to support more than 800,000 IOPS, according to Sun.
The use of NAND flash on servers rather than storage controllers
Although the Sun Storage 7000 Unified Storage Systems is a standalone system, it makes the point for those who argue that flash memory belongs in the server rather than the storage controller. "Just like L2 cache extends memory on the CPU and DRAM extends L2 cache, flash memory is intended to extend DRAM," explained David Flynn, chief technology officer at Fusion-io. The Fusion-io ioDrive and ioDrive Duo NAND flash PCI Express cards provide direct-attached storage (DAS) for servers. Being a server company that also sells storage, Sun concurs that servers are the right place for flash memory. "Flash memory is a game-changer for server architectures, and next-generation servers will extend DRAM caches with flash memory," Sun's Cornwell said.
Standalone solid-state drive arrays
Complementing disk arrays with SSD-based storage systems that run parallel to traditional storage arrays is the least-disruptive method of adding solid-state storage to a storage environment. The leading vendor of standalone SSD arrays is Texas Memory Systems. Offering both DRAM and NAND flash-based SSD arrays, the company sells its RamSan family of products directly and through OEM relationships with BlueArc Corp., NetApp and others. On the downside, standalone solid-state systems aren't able to leverage existing array components and are therefore likely to be more expensive. Moreover, they're less integrated with the disk tier than other architectural approaches, making it even more difficult to overcome the data migration challenge between the solid-state drive and disk tiers.