Considerations when Choosing Flash

Overview

There is a growing trend in the use of solid state drives in IT departments.  All devices, from smart-phones, laptops, servers, to storage arrays may contain some type of solid state storage.  In past articles, software products used to leverage solid state storage were discussed in detail.  This article will discuss the various types of flash cells available in solid state storage devices.

Flash Considerations

There are many types of flash cells available in solid state drives currently on the market.  When purchasing solid state drives by themselves, the differences are not quite as clear as one may expect.  This is even truer when looking at products with integrated flash modules, as types are normally hidden by implementation.  In many cases, the type of flash cell used is up to the storage manufacturer – the customer has no input.  That being said, some even argue that the controller is more important than the underlying storage technology.

The most overlooked aspect of flash storage is that all flash memory suffers from wear, which occurs because erasing or programming a cell subjects it to wear due to the voltage applied.  Each time this happens, a charge is trapped in the transistor, and causes a permanent shift in the cell’s characteristics.  After number of cycles, the cell becomes unusable.  This is why iPhones start to slow down over time.  Buried deep in the product documentation is a specification called “maximum endurance.”  This term notes the amount of write/erase cycles available until the product exceeds its maximum usable life.  It is important to take these metric into consideration when choosing a solid state drive.

Cell Types

The sections below will take a closer look at the various type of flash chips found in solid state storage currently on the market.

Single-Level Cell (SLC)

SLC is fast and reliable, but also quite expensive.  Featured in the best performing storage arrays, SLC uses a single cell to store one bit of data.  SLC Flash will typically for 100,000 erase/write cycles.  SLC is typically two to four times as expensive as MLC, but has ten times the life.  If the application for which the flash will be used is highly write/erase intensive, like a SQL Temp DB, finding a solution with an SLC chip and a good controller will provide the best performance and highest endurance.

Multi-Level Cell (MLC)

MLC is the most common form of flash.  MLS is often found in consumer-grade products like cameras, phones, USB memory, and portable music players, but some MLC flash is present in enterprise storage.  The main characteristic of MLC is low price, allowing a lower barrier of entry into a flash solution.  It is cheaper to produce, but stuffers from higher wear rates and lower write performances when compared to SLC.  MLC is more complex and can interpret four digital states from a signal stored in a single cell, whereas SLC only stores one, which is how they got their names.  This is also the reason MLC chips require more powerful error correction on the controller.  Typically rated at 10,000 erase/write cycles, much lower than SLC devices, MLC storage has much higher capacities at 25%-50% of the price one would pay for an SLC-based solid state device.  MLC devices are a good fit in solutions that require significant read acceleration, with minimal writes.

Triple-Level Cell (TLC)

Triple-Level Cell flash devices are simply MLS with a greater density.  TLC shares the same characteristics as MLC, with the negatives being amplified given the additional level of cell density.  The result of this increased cell density design is that it allows for increases storage capacity at a lower cost.

Enterprise Multi-Level Cell (EMLC)

When the term “Enterprise” is put in front of MLC that typically indicates that the device has a more sophisticated controller.  This is where some say that the controller is what matters most.  These advanced controllers include wear leveling technologies to increase lifespan.  Sometimes, these controllers could be as much as 30,000 write/erase cycles, thus tripling the average lifespan of device based on MLC flash cells.

Wear Leveling

Wear leveling is a general term referencing various mechanisms a controller takes to increase the lifespan of the flash cells on a flash-based device.  These mechanisms include:

  • Moves write cycles around the chip so that the cells wear evenly
  • On-device deduplication, which reduces the volumes of data written
  • Cell redundancy, which reserves a portion of the devices capacity to replace cells that fail
  • Write optimization, which stores data writes so they can be made in large chunks to reduce the number of write operations

Many times an 825GB device will be sold as a 750GB capacity.  This is an indication that wear leveling technologies have been implemented on the controller.  With wear leveling technologies, a larger TLC device, marketed with a lower overall capacity, results in a much longer lifespan for the device.

Conclusion

Despite endurance issues, flash devices are more reliable than spinning media.  Keep in mind that while overall device life may be longer than spinning disk, performance decreases as wear increases.  This is important to note as flash is usually included as part of a solution to accelerate performance.  When attempting to balance performance, lifespan and price it is important to remember SLC is usually 4x the price of MLC, but SLC has 10x the erase/write cycles of MLC.