HP recently debuted their latest storage array, the StorServ 7000. I’ve been a big fan of 3PAR storage since I deployed a couple of their larger P10000 arrays back in 2010-2011. I wrote about them in the articles, 3PAR P10000 Storage System Review and 3PAR Storage Provisioning.
The 3PAR arrays use ultra-wide striping, essentially striping all of the data across all of the drives, to provide all of the capacity and IOPS in the array to all of the workloads using the array. As I said in my article, Cost Efficient Storage Strategy, this consolidation of workloads onto enterprise-class storage may not be the best strategy for your needs, but if it does fit your storage strategy, the 3PAR arrays are best in class for sure.
I noticed back then that some of the technology in the P10000 arrays was starting to get a little out of date, specifically the fibre channel drives and the fibre channel connections between the storage controllers and the disk shelves, seemed to be old school technology compared to the rest of the industry that seemed to be moving to SAS drives and connectivity. Not that fibre channel is bad, it’s just that SAS had emerged as the newer standard. Well, it’s no surprise that the new 7000 is built around the SAS standard, which leads to a lower cost basis, since it can use widely available, commodity SAS drives, interfaces and cables.
Aside from the switch to SAS, the 7000 offers the ability to build a smaller array, suitable for smaller deployments. You can build one as small as one or two shelves, so it can be looked at as an alternative to some midrange storage arrays. However, this is where the 7000 stands out, Most midrange arrays only have two controllers, while the 7000 can have up to four.
Why is that important? Well, let’s talk about cache for a moment. One of the basic techniques to improve performance on storage arrays is to store incoming writes in memory, called cache. The array can then report to the host that the data has been written to disk, so the host can go about it’s business, rather than making the host wait for the data to actually be written to physical disk before acknowledging the write. This is known as write-back cache. The problem is, if the array’s controller crashes before the data is actually written to disk, the writes would be lost, causing data corruption.
To protect against data loss due to controller crashes, storage arrays with two or more controllers mirror the cache across controllers. If one controller crashes, the other one can write the data to the disks. However, while one controller is crashed, the cache is no longer protected, so the surviving controller switches to write-through mode. In this mode, incoming writes are written directly to disk, while the hosts wait for acknowledgement, thereby reducing performance dramatically.
This is the sadness of most midrange storage arrays. Most are limited to two controllers, and when one fails, or for that matter is taken offline for routine maintenance, the array goes into write-through mode. If your whole data center is using the array, the whole data center goes into low performance mode. This is where enterprise storage arrays come to the rescue. Enterprise arrays can have more than two controllers, usually four or eight, and cache is mirrored across all of the controllers. This allows a controller to be taken offline while maintaining mirrored cache, so the array can remain in high performance write-through mode.
Most enterprise arrays are big and expensive. This is where the 3PAR 7000 stands alone. It’s the first storage array I’ve seen that provides more than two controllers in a midrange size and cost form factor. Now we can build enterprise-class availability and performance at smaller sites that couldn’t justify the larger enterprise arrays. In this space, there is no competition. The 3PAR StoreServ 7000 seems to be in a class by itself.