I credit at least some of Pure Storage's early success to the fact that of the first class of all-flash arrays, Pure’s was the most conventional in hardware configuration. While competing systems from SolidFire and XtremIO had innovative scale-out architectures, the Pure FlashArray used a pair of basically off-the-shelf Xeon servers acting as the system’s controllers and sharing access to SSDs in SAS-attached shelves, looking much like the disk-based modular arrays storage admins had been running for years.
Now, even as Pure's new FlashArray//m shows that while the best of today's storage may be defined by software, it also demonstrates that the underlying hardware still matters.
The FlashArray//m puts both Xeon-based controllers in a single 3u chassis, along with two or four shared NV-RAM and up to 20 flash modules. Pure offers the FlashArray//m with three controller models. All are based on the latest Haswell-EP Xeons with increasing CPU horsepower, RAM and maximum capacities in the larger models:
- M20 Dual 8 core processors, 256 GB RAM, 4 FC or 10 Gig ports, up to 120 GB*
- M50 Dual 12 core processors, 512 GB RAM, 6 FC or 10 Gig ports, up to 250 TB*
- M70 Dual 16 core processors, 1 TB RAM, 6 FC or 10 Gig ports, up to 400 TB*
* Useable capacity after data protection and reduction. Assuming net 3:1 reduction
While at first glance this might look like the Supermicro Twin2 or Storage Bridge Bay kind of chassis that software-defined storage vendors like Tintri and NexGen Storage sell, looks can be deceiving.
The big difference is that Pure’s chassis supports not just shared access to SAS SSDs, but also switched PCIe for communications between the two controllers, access to the NV-RAM modules and, tantalizingly, to the flash module slots as well. While the flash module slots use the SFF-8639, the standard formerly known as ExpressBay that adds four PCIe lanes to a dual-port SAS connection, the current flash modules are SAS, not PCIe, connected.
While those flash modules look like hot swappable SSDs, each actually holds a pair of SATA SSDs, using MLC flash, and an interposer that lets them share the SAS slot but still be individually addressed by the controllers. Pure will ship 512 GB, 1 TB and 2 TB flash modules providing up to 40 TB of flash, or 120 TB of useable space, right in the base cabinet. As with the existing FlashArray, the FlashArray//m also supports additional SAS shelves for additional capacity.
Rather than maintaining independent but coherent RAM write caches in each controller, Pure’s architecture uses a shared device as the write cache. In the FlashArray, these were SLC, or highly overprovisioned MLC SSDs. The FlashArray//m has four dedicated slots for NVMe addressable NV-RAM modules. The modules are used in HA pairs and each module includes DRAM, flash to hold the DRAM’s contents in the event of a power failure, and a capacitor to power the transfer.
While NVMe addressed-NVRAM is probably a bit slower than NVDIMMs, using a shared cache relieves the Pure controller from having to replicate the write to its partner and maintain coherency. Either way, NVMe addressed-NVRAM should reduce write latency over the SSDs in the FlashArray today.
The FlashArray//m (the m stands for m or modular, depending on who at Pure you’re talking to) is a nice update to Pure’s existing FlashArray, and thanks to Pure’s newly announced Evergreen Flash program, existing FlashArray customers can get it as an upgrade when they buy additional capacity. With Evergreen Flash, Pure is continuing to separate itself from traditional storage vendors and their purchase processes that force customers upgrading from, say a CY8740 to a CY8760, to pay for features all over again.
Pure’s basic position is that if you’re still paying support, they’ll upgrade your software, controllers and SSDs as needed. There are of course terms and conditions, but in general if you like your Pure, and don’t have significant new requirements, Pure will keep it close to up to date without you having to go through a procurement process or forklift upgrade. Eventually, every part of the system will have been replaced, but it will still be the same system under maintenance. Seems to me like a low-down, sneaky way to retain customers by treating them right.
While I’d be happy to run a FlashArray///m in the lab -- hint, hint, nudge, nudge, say no more -- it’s the future of this platform that really excites me. If a FlashArray///m can support 300,000 32K random IOPS, imagine what one with 40 NVMe SSDs can do. Even better, imagine multiple FlashArray///m chassis cross connected to create a full-rack, scale-out system where a controller in rack units 12-15 can read NVRAM from the one in rack units 39-42.
Disclosure: Pure and Tegile have been clients of DeepStorage LLC, while Tintri is a current client.