Some of the advantages of short-stroking ensure that you're using only the fastest accessible parts of the drive, thus increasing performance. This also saves on rebuild time, as there'll be less data stored across those drives. This has been used effectively to speed performance in large, slower SATA drives. However, the devil is in the details. The largest single flaw in this practice is that a substantial amount of disk space on your drives will remain hijacked and unusable to your servers.
For example, assume you have a LUN that requires 2,500 IOPS. Using the lowest cost $/IOP disk drive, we'll configure this volume with 146 GB 15,000 rpm disks. To meet the desired performance, 6 RAID-1 sets will be created. Assuming the usable size needed is 200 GB, the actual usable capacity is 876 GB. This has only 23% of each disk being used to achieve the desired performance.
Enter wide striping. Vendors that have internal virtualization of their subsystems along with wide striping are ahead of the game. Because all of the disks are typically treated as one or as a few large storage pools, a user simply carves out the RAID type and LUN sizes from the overall aggregate; the LUN is then laid out across all of the spindles in the storage pool. Each disk should be able to support the following:
- Portions of multiple volumes
- Different QoS (RAID level, stripe characteristics, availability settings, inner/outer track service times)
Before you buy solid-state disk, check out wide striping
Now let's go in the other direction. Assume you're considering solid-state disk (SSD) technology for a high-performance application requiring a mix of read and write IOPS totaling 20,000. A much lower cost option is to wide stripe that volume on a pool of 15K SAS or Fibre Channel (FC) disks -- 120 of these drives can easily generate 27,000 IOPS and can be shared with other LUNs in the array needing lower performance.
Given that the performance for a wide-striped storage subsystem like 3PAR's is very high -- approximately 225,000 IOPS according to the Storage Performance Council (SPC) -- high IOPS per LUN can be most cost-effectively served by wide striping. Only if the application latency requires a sub-millisecond response does it then make sense to add some SSD into the environment.
If your application necessitates that you buy SSD, don't buy the first thing that comes along. Take the time to evaluate the available products in the SSD space, and spend some time planning exactly what data types need that performance level.
Know your Flash memory facts
Most storage system suppliers use Flash memory for their SSD strategy. While Flash is fine for read-heavy applications, its performance degrades substantially on heavy random-write situations. Flash in a heavy random write isn't much better than standard mechanical drives, and wide-striping systems will perform better for substantially less money. Consider separate DRAM-based Flash SSDs for these situations.
Keep an SSD future in mind when deciding on a storage system. Features to look for include the ability to allow for the virtualization of SSD into an existing storage system, as well as having automated processes that can move data in and out of SSD storage as needed. Most importantly, look for systems that provide robust performance metrics that can ensure you're utilizing the SSD to its fullest potential, guaranteeing the investment that was made in the technology. You should also have the ability to model the current storage subsystem to determine whether or not you need SSD technology. For example, determining how much or how little of it you can get away with and still provide optimum performance to customers.
The combination of wide striping, internal virtualization and SSD can offer some very attractive benefits. Just be sure to do your homework to ensure the technology you elect to go with is the most cost effective and can provide you with all of the features and functionality suitable to running the storage infrastructure at your organization.
This was first published in January 2009