In a previous entry I explained what wear and wear leveling is in the flash storage world and how manufacturers are working their way around the issues that wear causes. The techniques that suppliers use to address the issue of wear have gone a long way to make flash-based solid-state storage more predictable--and predictability is what the enterprise needs in order to trust solid-state storage. There is one other key factor, however, that affects the life span of flash solid-state storage--how you will use it.
The life span of solid-state storage is affected by how often data is written to it. As we discussed in the previous entry, the more often data is written to the flash memory area the faster that the flash storage will wear out. It is important to realize that wear leveling only makes sure that the flash cells wear out at basically the same time, it does nothing to make a flash memory cell be able to accept more write cycles than it could before. In other words, it brings predictability to flash storage but not necessarily reliability. As we discussed in our article "Flash SSD is Reliable Now" there are basically three types of flash memory available: Single Level Cell (SLC), Multi-Level Cell (MLC) and the newer Enterprise MLC (eMLC). One of the major differences between these three flash memory types is how many write cycles they can handle, MLC is rated for about 5,000 writes, eMLC for about 30,000, and SLC for around 100,000. Since no one wants to track the number of writes to their storage system, most manufacturers will convert this number to years.
The biggest concern with flash storage life expectancy, or endurance, is when data is constantly being written back and forth to the devices. The best examples of technologies that do this are caching and automated tiering techniques. In these use cases, data on the mechanical hard drive-based tier is constantly being analyzed and when that data becomes active it is promoted to the solid-state tier or cache. Depending on the frequency of these refreshes, this can mean that the solid-state storage can be constantly refreshed many times during the day. In an environment where data turnover is extremely high, it is possible to wear through solid-state storage faster than you might expect.
A big factor in both automated tiering and caching is how accurate are these data promotions? You want to only promote data that has become active, is going to stay active (from a read perspective), and really can benefit from the use of memory-based storage performance. For example, just because a file is accessed once should not be enough to promote the data. Even if it is data where being on solid-state storage would be justifiable, you want to make sure the frequency of data access will continue to be high so that it justifies the work that has to happen to promote the data to the faster tier and demote some other data from that tier. This is one advantage that a static tier of solid state will have over an automated tier, you can lock in the data that you want on that tier and not have to worry about the work to move it back and forth. In a future entry we will discuss what to look for in an automated tiering and caching system as how these technologies are implemented can dramatically impact the endurance of a flash tier.
There are ways that suppliers can get more life out of solid-state storage. Or at least make it look like they can. A technique that suppliers will offer you to increase life expectancy of solid-state storage is to provide more memory on the cells than what the storage system sees. Typically about 25% to 30% extra capacity is allocated to solid-state storage. This provides more cells to write data across. It helps with the garbage collection process that we discussed several entries ago and it helps the drive to continue to provide the advertized storage capacity as cells wear out. Beyond that, though, the only thing that suppliers can do to increase flash storage life is come up with ways to actually write less data to the drive. This is going to require the use of RAM-based caching of writes and maybe even technologies like compression and deduplication. Another technique, interestingly, is to use only solid-state storage, which would cut down on the movement back and forth between storage tiers. We will discuss these techniques in a future entry.
Follow Storage Switzerland on Twitter