By Dan Barber & Kyle Christopher
Despite what you’ve heard, flash storage isn’t always a fix-all, whether you’re talking about all-flash storage arrays or solid-state drives for REPLACEion into serve or storage system drive bays. If you want to take advantage of flash storage, it’s important to use it the right way.. Flash isn’t going away and most departments are looking for ways to incorporate it into their current infrastructure. Fortunately, there are ways to begin implementing flash into your infrastructure at a relatively low cost. To ensure a successful flash implement, watch out for the following common pitfalls.
1. Caching Services for Non-Flash Optimized Applications
Flash can provide valuable caching services whether you’re talking about reading, writing or both and can increasing I/O per second if used correctly. It can accelerate access to “hot” data; that is, data with multiple simultaneous read accesses immediately after writing. However, many applications can’t take advantage of the benefits of flash. It is a very similar problem that occurred when multiprocessing first came out—applications weren’t optimized to take advantage of multiple processing threads. As a result, users were left frustrated because they knew their hardware was top-notch, but they weren’t getting top-notch performance. It’s worth taking a few minutes to discuss with an expert whether your applications are properly designed for flash implementations.
2. Caching Services for Highly Random IO Workloads
Caching depends largely on repetition. Cache has to “warm up”—learn what bits and bytes are being accessed the most frequently, and then move or copy those bits into cache, after which it can serve storage requests with gusto. However, random IO workloads do not typically have lots of repetition, and therefore don’t take advantage of flash caching technologies as well. Now, that is not to say it won’t be of benefit; it is to say that it is worth a second look to determine whether the benefit of flash is of enough within your workload to justify the implementation.
3. Bandwidth Limitations
Disk shelf and controller PCIe interfaces have kept pace with the bandwidth race: most of the newer items are running extremely fast, at 6Gbps or even much higher. With traditional spinning disks, that bandwidth is largely under-utilized, because the disks simple can’t push the data fast enough unless you have a ton of them. But because of the much higher speed of flash drives, a new bottleneck develops: the bandwidth out to servers and clients of the storage data. What good is a flash shelf when you front-end connectivity is only 2Gbps? Remember, data travels at the speed of the lower link in the chain. It is always worthwhile to consider upgrading your front-end and back-end connectivity when consider a flash implementation.
Flash is still a relatively emergent technology, and storage experts are continuing to look for new, creative ways to implement flash and achieve better performance across a variety of workloads. But there are less-expensive methods of adding capacity, either by repurposing your legacy gear or by purchasing or renting pre-owned storage. If you’re interested in adding flash drives within your current infrastructure, you might be surprised to find reasonable prices on pre-owned flash drives. This actually gives you the same performance levels you would expect from flash, but at a fraction of the cost.
Subscribe to the Reliant Storage Blog for regular updates. How can we help? Feel free to comment below.