Storage capacity problem is often really about performance

* Ways to improve storage performance

Many of the IT folk I speak with talk about their storage problems - or, really, their storage problem, because nearly every one brings up the same problem: capacity. They are struggling to keep up with the rate of storage growth.

Hidden inside that problem, though, lies another one: storage performance. Many times, data centers are racing to add storage capacity faster than the growth in actual data would require, spreading data across more disks to maintain acceptable storage performance.

Storage performance is a composite of several things:

* The speed at which the storage system can process requests, or I/O operations per second (IOPS).

* The volume of data it can push through to the requesting entity, or throughput.

* The delay between requesting data and receiving it, or response time.

Processing speed and response time for individual disks are tied to capacity, in that higher-density disks and slower-turning disks typically have higher response times and lower processing rates (fewer IOPS).

For storage systems, as opposed to individual disks, there are ways to engineer around individual disk characteristics to improve different performance metrics.

To improve IOPS, for example, you can stripe data across multiple drives - the RAID-5 approach. Requesting one bit of data each from eight drives simultaneously rather than eight bits sequentially from the same drive gets the complete byte in hand more quickly. Some vendors layer additional cleverness on top of basic striping to improve retrieval rates even more; Xiotech, for example, will allow the striping to spread across as many disks as the storage manager cares to specify, allowing even more parallelization of access.

Striping improves retrieval rates but doesn’t do anything for the minimum response time possible. That is, it can get you the complete block of data requested more quickly, but can’t get the first bits to you any faster - once the storage system receives a request, disks still have to spin, blocks still have to be sought and retrieved using mechanical systems.

To improve that portion of storage latency, a system might use disks that spin faster. A system might manage the amount and location of data on the disks, to optimize seek times, the time spent just moving drive heads without actually reading or writing anything.

A system might even stop using disks alone for storage. RAM disks and cache memory in storage arrays substitute memory reads for disk accesses, reducing minimum response time dramatically. Cache can now even be pulled out of the storage array and pooled, in the same way a network-attached storage appliance pools disk storage, as Gear6 does with its NFS cache appliance.

Of course, getting data quickly onto the pipe back to your server is not the same thing as keeping that pipe full. To improve throughput, different optimizations have to be made. The system can manage read and write accesses to disk to keep as much data flowing as possible by minimizing seek times. It can also be cleverer about assembling data as retrieved from disk or memory and moving it onto the Fibre Channel or Ethernet connections. Agami, for example, uses AMD HyperTransport to move data from disk controllers to CPUs to Gigabit Ethernet I/O controllers.

Dozens of storage vendors can and will offer you solutions to your particular storage problems, if you ask for them. Or, they will happily sell you bigger buckets for your bits. Ultimately, what is important is that you dig into your storage problems to see if they are truly about capacity or if questions of performance hide, latent, within.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Related:

Copyright © 2007 IDG Communications, Inc.

SD-WAN buyers guide: Key questions to ask vendors (and yourself)