In recent years the availability of flash storage has increased significantly, providing many options for deployment. Of course, it’s good for end users to have choice, but the myriad ways to deploy flash can seem confusing.
So, what flash storage choices are available and how do they fit into today’s IT environments?
Flash form factors and deployments
Flash storage can be deployed in a number of ways, including:
- In hybrid or all-flash arrays designed around flash storage
- In a SAN originally designed for spinning disks
- In the server
The shared storage implementations can be categorised as follows:
- All-flash arrays that use only flash storage
- Hybrid flash arrays with spinning disks and flash
Flash media comes in a variety of implementations. The key ones are:
- Flash solid-state media in more-or-less “standard” form factor drives (high performance)
- PCIe flash solid state storage (very high performance)
- Memory channel storage – flash media in server DIMM slots (ultra high performance)
Before looking in more detail at these form factors, let’s look at flash in general.
MLC vs SLC?
Figures for flash drive performance vary depending on the type of flash used, but compared to spinning disk HDDs, flash drives are much lighter, use less power and are significantly more capable of delivering low latency and high I/O. That makes them especially suited to the large and random I/O workloads that come with server and desktop virtualisation.
Back in the mists of time the only flash devices available were based on DRAM and hardware was very costly – although of very high performance – and only in use by a wealthy few.
Then came the availability of the cheaper NAND flash that heralded the flash revolution.
More on flash storage
- Big storage takes two routes in flash array shakedown
- Flash array market roundup: The startups
- Big storage turns the tide in the hybrid flash array market
- PCIe SSD flash storage roundup: The few become fewer
- Flash caching software market roundup
- Podcast: MLC, eMLC, SLC, TLC – what they are and what they’re good for
- What’s wrong with flash storage: And what will come after?
Initially, the only option was enterprise-grade single-level cell (SLC) NAND flash, so called because it held only one switching charge per memory cell, which with its relative simplicity allows for speedy I/O operations.
Then came multi-level cell (MLC) flash, which originated as consumer-quality media. MLC, as the name suggests, packs in two switching charges per memory cell. This brings the disadvantage of lower lifetime endurance (every time data is written to flash it creates physical wear), but suppliers get around this by using various software-based methods of levelling wear to provide an enterprise-class storage medium.
Performance-wise you can expect about double the number of IOPS from an SLC array compared to MLC. So, for example, where a supplier’s MLC array can dish up 500,000 IOPS, its SLC counterpart will likely give around one million IOPS.
Flash has its drawbacks and won’t last forever, but for the time being it’s the most readily accessible method of speeding up storage access for contemporary datacentre workloads.
Flash drive form factors
So, what are the key form factors available?
Firstly, there are flash drives that are packaged in and emulate the HDD format, typically using either the 2.5” or 3.5” drive size. These are a commodity item manufactured by the few hard drive giants in the market (although there are proprietary variants such as Violin Memory’s VIMMs).
These formats of flash drive are the ones around which hybrid and all-flash arrays from the startups are built, as well as the arrays from the incumbents to which flash has been retrofitted.
Another common implementation of flash storage is in PCIe flash drives that connect to server PCIe slots with a range of capacities from 100GB up to 10TB. PCIe flash hardware has good latency figures in the tens of microseconds, with write speeds typically faster than read. PCIe flash bypasses the need for a SAS or SataATA controller in the server and so latency is much lower than the equivalent SAS/SATA-connected solid-state disk.
Flash has its drawbacks and won’t last forever, but it’s the most readily accessible method of speeding up storage access
Finally, memory channel storage (MCS) is flash media on a card that plugs straight into motherboard memory DIMM slots to provide extremely high performance and capacity into multiple terabytes right next to the CPU.
MCS boasts low latency figures, down to around five microseconds for writes, achieved by bypassing the usual PCIe bus and storage interconnects. It’s early days for MCS, but there are some products in the market and IBM has incorporated the technology into its latest xSeries servers.
Flash arrays – hybrid or all-flash?
Flash arrays come as hybrid flash or as all-flash arrays. Hybrid flash arrays mix flash solid-state media with hard disk drives. Meanwhile, all-flash arrays are just that, with only solid-state drives on board.
Whether all-flash or hybrid, arrays that incorporate solid state drives can be products built for flash or those that have been upgraded to incorporate the newer, faster media.
The latter are existing SANs re-optimised for flash, with upgrades to controller hardware and/or software to better work with the characteristics of solid state – namely its increased speed of operation compared to HDDs and special needs such as its method of performing reads and writes.
These solutions have evolved from HDD-based arrays and can be all-flash or hybrid devices depending on the specific product.
Meanwhile, other arrays have been designed from the ground up to work with the specific features of flash storage and deliver enhanced performance over traditional storage arrays. This means they are designed to cater for high-performance media and to mitigate against some of the inherent drawbacks of flash, such as the need to engage in garbage collection, wear levelling, error correction etc, which can directly impact performance.
Hybrid flash arrays that have been designed from the ground up use flash as a fast tier with HDDs for bulk storage. Data de-duplication and compression are often used to maximise the capacity of data able to be stored on the spinning disk component.
Arrays built with flash in mind will usually offer better performance than those that are flash-added variants of existing SAN products.
Flash: local or shared; cache or tier?
Some array makers offer flash as a tier with spinning disk behind it. Others offer flash as cache. Some offer both in the same array. So, what’s the difference?
More on storage
Automated storage tiering originally arose as a way of making the most cost-effective use of different performance classes of spinning disk, with data being moved to less costly disks as it became less valuable to the user. Contemporary tiering in hybrid flash systems uses that principle, with hot data held in flash and less frequently accessed, bulk data on HDD.
Tiering is carried out by various automated schemes that can be user defined. In general, tiering sees data move less often between classes of media and auto-tiering schemes are generally reactive to factors such as levels of access. For this reason, arrays that incorporate tiering may be more suited to use cases where there is some predictability, with sets of data that are expected to remain in frequent use for some time.
Caching is similar to tiering in that the cache comprises a portion of high-performance storage media. Unlike a tier, however, cache is likely to be of lower capacity and should be expected to be much more reactive to the workload, with data moved in and out far more frequently than would be the case with a tier of storage.
Whether to go for a flash array product that incorporates tiering or one that uses it as cache is down to the use case you have in mind. There are also, however, some data protection issues to consider.
As cache, flash accelerates performance but doesn’t act as the primary location for data. This means that for read caching, the data doesn’t need additional protection mechanisms such as RAID.
But for write cache, or when flash forms a tier of storage it forms the primary copy of the data, some form of protection is needed, in the same way as traditional HDDs would be protected.
As cache, flash accelerates performance but doesn’t act as the primary location for data
Also, when flash is used in the server, data is potentially isolated. This could cause problems of data availability or integrity if the flash component or server fails and there is no replication between devices.
Choosing the right platform
The choice of how to incorporate flash into your infrastructure depends on performance requirements and the type of workload.
Ground-up designed all-flash arrays typically offer the highest levels of performance, but come with an associated cost premium and sometimes lack advanced storage features.
Meanwhile, hybrid flash arrays as such tend to offer a better balance of cost and performance than all-flash as a result of being able to pack in a lot more data and so achieve better disk cost/TB figures.
An advantage of going for a traditional array upgraded to incorporate flash is that these often retain the advanced storage features – snapshots, replication etc – of the original platform and allow flash to be integrated into the workload mix without significant upgrades.
These devices are good for situations that have large existing hardware footprints where there is a need for increased performance but the requirement to retain advanced features or existing skillsets.