Flash storage: What it is and where to deploy it

A guide to the key decisions in flash storage: MLC vs SLC, all-flash vs hybrid, whether to add flash to an existing SAN, flash as a tier vs cache, and more

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.

More on SLC vs MLC

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.

More on all-flash vs hybrid

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.

More on flash cache vs tier

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.

Next Steps

Daniel Cobb discusses EMC flash storage

Read more on SAN, NAS, solid state, RAID