An All-Flash Array is a performance sledgehammer. It shatters the performance problems that most data centers face and will likely continue to do so for years. Unlike traditional hard disk systems, most data centers that purchase an All-Flash Array won’t have to perform an upgrade due to a performance related issue. These systems have the potential to last twice as long as a traditional system; potentially up to seven to ten years. Thanks to the effectiveness of primary storage deduplication and compression, they may also not face a capacity driven upgrade, other than adding extra storage shelves to the controller. There is one area of concern: reliability or specifically, durability. Will the system be capable of lasting seven to ten years?
Designing an All-Flash Array to have the reliability and durability to work for seven to ten years is the most critical part of the system. If the supplier of the system can carry out that feat, then we have to re-calculate how we come up with the total cost of ownership and return on investment because the denominator, useable lifespan, has doubled. The problem is that All-Flash Arrays face a unique enemy when it comes to achieving reliability and durability—flash wears out over time. The more it is written to the faster it wears out. Addressing flash wear is a key factor in achieving a long useable lifespan for the All-Flash Array.
The All-Flash Advantage
All-Flash Arrays have an advantage when it comes to durability, they don’t face the same data turnover that hybrid systems do. Hybrid systems tend to leverage a very small amount of flash storage, some vendors recommend as little as 3% of capacity, to keep costs down. While this creates the potential for unpredictable performance, it also creates a situation where that small flash area is being constantly refreshed with a newer data set.
A cache is refreshed when new or different data has been given precedence over older data in the cache. The stale data in the cache is erased (a Flash is erased by writing null data to it) and then the newly qualified data is promoted to the cache, again another write. This cycle occurs no matter the flash technology being used; write-back, write-through or write-around (read only). (See Storage Switzerland Article “What is Storage Caching” for a detailed description of the different forms of caching). The more active the data set is and the smaller the cache size can lead to a situation where the flash storage in the hybrid system or a caching appliance can wear out. This wear out of the cache area can potentially happen long before the storage system itself reaches its expected life span of a traditional storage array.
An All-Flash Array stores all the data, both the most active and the less active. Data does not have to be moved between tiers of flash. Unfortunately this means that the most expensive tier of storage is now holding a combination of most active and less active data. But it also means that All-Flash Arrays don’t have to be concerned about constant refreshing of their flash storage. As a result they eliminate the single biggest cause of flash wear out, excessive writes.
Storage Efficiency To The Rescue
Storage efficiency techniques like thin provisioning, writeable snapshots, deduplication and compression can all improve flash endurance when implemented correctly. Most All-Flash Arrays offer some combination of these storage efficiency features and they each have value depending on the type of data being written. Thin provisioning has universal appeal because it keeps data from being allocated until it is actually used. Writeable Snapshots and Deduplication have appeal in environments where there is a lot of redundant data, like server and desktop virtualization. As we discussed in our article, “What To Look For In All-Flash Deduplication”, these efficiency techniques must be done in-line and not be part of a post process.
Another technique to increase flash durability is to leverage tiered flash as we discussed in our webinar “Overcoming the Risks of MLC Based All-Flash Arrays”. This webinar discusses findings we gathered during a lab test of an All-Flash Array with tiered flash types. A copy of the lab report is available upon registration to the webinar.
With this technique, a small SLC Flash Tier is inserted in front of the MLC tier. SLC is substantially more durable than MLC based flash. It also provides better write performance. In this use case, the SLC tier acts as a shock absorber to the MLC tier. It stores the most active of the active data, which allows that data to be coalesced before being written to the MLC tier. Essentially the MLC tier becomes a write once, read many storage tier. Minimizing its greatest weakness, writes, to a single occurrence and maximizing its greatest strength (reads) makes for a higher performing, more durable All-Flash Array.
While SLC flash is more expensive than MLC flash, the SLC tier only has to be large enough to handle the most active data set, it doesn’t handle most read requests, so as a result, it doesn’t have the read cache turn over problem. It essentially is a very large, nonvolatile write buffer. That size allows data to be stored on a more durable tier, SLC, while it is in its most transient state, then it is moved to the MLC tier.
This article only covered what the All-Flash system providers are doing to extend flash durability. It did not cover what the flash device (drives and modules) suppliers are doing with flash controller technology. We cover that in our article “Pay Attention to Flash Controllers when Comparing SSD Systems”. All-Flash Array vendors that leverage off-the-shelf enterprise solid state disk (SSD) drives will benefit additionally from the extensive work being done by these suppliers. At this point, no All-Flash Array vendor implements all these techniques. Most use some combination of them. When these capabilities are then combined with the expected enterprise storage system high availability and redundancy, IT Planners should truly expect seven to ten years of life from their All-Flash investment.