Pure Storage has been known for bringing a fair amount of innovation to the storage market. From their original FlashArray //M, they made the astute decision to research and build modular architectures. This decision resulted in two platforms: FlashArray //X for primary storage, and FlashBlade for object storage and unstructured data.
In the FlashArray //X, Pure Storage built a software-defined flash management layer across the storage fabric. The goal of this layer is to eliminate all of the inefficiencies that are bound to using flash drives, such as having a single Flash Translation Layer (FTL) per drive.
The development and use of DirectFlash modules in the FlashArray //X is in line with this strategy and makes the array more efficient by handling at a global scale operations such as garbage collection, allocation, I/O optimization and error correction.
New Applications Require New Storage Architectures
While this makes FlashArray //X a very exciting and competitive all-flash platform, there are use cases where data needs to be as close as possible to compute resources, such as shared-nothing architectures and big data workloads. These applications are often latency-sensitive which makes the use of the iSCSI protocol inadequate.
One of the solutions until now has been to use a DAS (Direct Attach Storage) architecture. DAS is usually the easiest way to get started, because the data that resides on a node doesn’t need to be shared with any other node. Customers usually choose DAS because it is fast, simple to configure, and very cheap.
But DAS also has its downside – it’s usually “brainless” local storage without any data services: no snapshots, no replication, no deduplication, no thin provisioning and no business continuity features. It’s also not enterprise-grade reliable and, from a scalability standpoint, it isn’t very efficient either.
Paradoxically, we witness a balance shift: the software and application layers are getting improved in terms of resiliency, at the detriment of using primitive solutions in terms of storage management. While it’s a relief that high availability and resiliency features are implemented in software, infrastructure people have seen and lived through too many horror stories to sacrifice on enterprise-class storage.
Advantages and inconveniences considered, using a Direct Attached Storage solution for these applications is a risky move for production grade workloads, and enterprise class-storage is just that: insurance for data.
DirectFlash Fabric: DAS Performance with Enterprise-Class reliability
Pure Storage recently introduced DirectFlash Fabric: a modern, enterprise-grade approach that aims to resolve the storage performance, reliability, and manageability highlighted in the previous section. This solution eliminates the inefficiencies of the iSCSI protocol and the uncertainties of relying on DAS, while delivering consistent performance and predictability.
DirectFlash Fabric relies on an end-to-end NVMe approach that takes into consideration the latest improvements in networking. It constitutes another stage in Pure Storage’s approach that was to first optimize performance within the array, and then to take care of the network transport layers.
Less hops = More props
Talking about optimizing the data transport layers, Pure Storage has been able to reduce DB query times on a standard test workload from 10 seconds on their first FlashArray //M storage array all the way down to 2.5 seconds on the FlashArray //X with DirectFlash Fabric, which is a 4x reduction. For reference, the same query would take five minutes to run on a legacy disk array.
The illustration above shows the latency areas (in red) that have been either eliminated or optimized during each step.
The 4x reduction in access times (imagine the performance gain at scale) isn’t the only feat of DirectFlash Fabric.
In line with Pure Storage’s “no forklift upgrades” motto, customers do not need to purchase new array hardware to benefit from DirectFlash Fabric, and thus the feature is provided in software, as a part Purity operating environment code upgrade, as well as aNVMe/RoCE (RDMA over Converged Ethernet) capable adapter in the array and corresponding server.
Global flash management (a point we hinted to at the beginning of this article) is at the core of Pure Storage products.
The combination of DirectFlash modules and DirectFlash software provide customers with infrastructure benefits that are unthinkable in the DAS world:
- Adaptive I/O control, with I/O scheduling, and Flash-Level QoS
- Smart Endurance, with data allocation, flash wear leveling, and garbage collection
- Predictive Resiliency, with block level telemetry, bad block management, and encryption features
Compared to a traditional storage array, they deliver a 4x increase in performance density, a 3x higher bandwidth, up to 20% capacity efficiency (remember, flash management is global & Pure maximize raw capacity usage) and a 2x capacity density.
With Linux as the first operating system to support NVMe-oF, Pure Storage tested various cloud-native application workloads on DirectFlash Fabric vs SAS DAS, and shared excellent results below:
What are the prerequisites to use DirectFlash Fabric?
Both existing customers and new customers can benefit from the feature. All that is needed is a FlashArray //X storage array with the latest Purity OS (January 2019) and NVMe/RoCE adapters installed.
They should also have hosts with high-speed network adapters that support RoCE (RDMA over Converged Ethernet). RoCE network adapters use hardware-offloading and communicate directly with a storage array using direct memory access and native NVMe commands, thus eliminating the latencies associated with the iSCSI protocol as well as reducing CPU utilization (Pure tested a 25% CPU savings).
RDMA over Converged Ethernet is only the first step: Pure Storage plans to deliver support for NVMe over Fiber Channel later in 2019 and NVMe over TCP in 2020.
DirectFlash Fabric provides not only better performance, but also a reduced data center footprint.
A single FlashArray //X with 15 physical servers attached is able to deliver a usable capacity of around 1 PB (based on a 5:1 data reduction ratio) within a half rack (approximately 20U) footprint. Compare this to a DAS solution requiring 19 2U servers and delivering around 250 TB of usable capacity, without any data services.
This solution with DirectFlash Fabric provides a higher CPU density, a 4x higher capacity density, a 25% CPU availability improvement (thanks to RoCE hardware offloading), and of course full data services (deduplication, compression, replication and snapshots).
It’s fun to use DAS because it’s cheap and easy to configure – until it isn’t anymore. Direct Attached Storage has its supporters because of the initial simplicity (a no brainer to get started), and because its low entry cost makes it the default choice for certain workloads.
However, data storage and processing solutions need to be thoroughly assessed before purchase to ensure they truly will be an asset (and not a liability) to the organization. Organizations need not only the assurance that their workloads will run with the expected level of performance, but they also need to take into account the manageability, scalability, and reliability attributes of a given solution.
When these variables are thrown in the “price vs. outcomes” equation, it becomes evident that starting with a seemingly inexpensive solution can imply additional expenses and retrofitting activities to deliver the expected enterprise-class capabilities and thus greatly increase the overall TCO. There is also no guarantee that initially envisioned performance can be maintained after these tweaks are made.
With DirectFlash Fabric, Pure Storage not only addresses the oxymoron of delivering simple and fast direct access storage with enterprise-class features; it also does so without forcing its customers to purchase a new storage array.
The NVMe over Fabrics revolution is marching on, and it’s a pleasure to see Pure Storage at the spearhead.