Embracing Flash Storage

During the past 25 years the performance gap between CPU and hard disk based storage systems has increased  exponentially every year. To meet the needs of today’s performance hungry applications, IT professionals have utilized a variety of clever approaches to bridge this gap. These approaches range from using limited amounts of expensive cache memory to various RAID schemes and intelligent firmware. However, in spite of these improvements, the traditional hard disk drive (HDD) storage systems have struggled to keep up with the I/O performance requirements of modern applications.

Flash Storage Economic Ecosystem

Flash storage can deliver impressive performance, especially for random I/O, by eliminating rotational and seek latencies that are common in all HDD storage systems. This is particularly relevant in today’s virtualized application world where I/O access patterns are much more random due to the “blender effect” of virtualization.

Furthermore, flash storage is available now at a much more affordable price point than cache memory. As aresult flash storage can be deployed in larger capacity than cache, more like HDD storage. With the increasing adoption of flash storage in the data center, some industry pundits are projecting that the economies of scale will eventually drive down the cost of flash storage to the same level as HDD storage and flash storage will, over time, replace HDD storage altogether.

Not all flash storage drives are created equal

Although flash storage can be readily substituted for HDD storage in a data center, it is fundamentally a different medium– silicon or electronic NAND gates vs. magnetic media – with very different performance, cost and data retention characteristics that may impact the economics and operations of your application workloads in your datacenter. Hence, it is important to understand some basics of flash storage technology before considering its adoption.

• Write Endurance: Unlike magnetic media on HDD storage, data stored on flash needs to be erased before something new can be written or “programmed” – this is known as the Program-Erase Cycle (PE/C). The maximum number of PE/Cs of NAND gates on flash storage is in the order of a few thousand, after which, the performance and reliability of the flash storage drive drops dramatically - up to 10 times performance degradation may occur. This characteristic of flash technology limits the number of write operations that can be performed on a flash drive. This limitation of flash drive is called the Write Endurance and is expressed in full drive writes per day (or drive fills per day).

• Write Cliff: The requirement to erase a block of NAND gates in a flash drive before they can be written means that a flash drive needs to keep pre-erased blocks in order to improve performance – even for a small block write – by eliminating the latency that would be incurred if the erase process was performed every time on an as-needed basis. If a flash drive runs out of pre-erased blocks, especially when the drive fills up or during a sustained write intensive operation, it is possible to experience a large (50+ms) delay while the flash drive tries to create a free block of NAND gates. This write performance degradation in a flash drive is called a Write Cliff.

There are many ways to deal with write endurance and write cliff in a flash drive, impacting its cost and life span. For example, the write cliff is typically avoided / delayed by over-provisioning capacity for internal housekeeping (increasing cost/GB) and a process known as “wear leveling” which spreads out re-writes to the same block to new locations on the flash storage thus ensuring that the drive wears out evenly (increasing drive lifespan).

Today, there are three common types of enterprise flash drives in the market based on write endurance. Your flash drive selection for each of your application workloads may impact your data center economics and operations.

• Read Optimized (RO) or Multi-Layer Cell (MLC) Drive: This type of drive is optimized for read operations. Typically, MLC flash drives have a Write Endurance of 1-to-3 drive fills per day. They are also the least expensive of the enterprise-class flash drives.

• Write Intensive (WI) or Single Layer Cell (SLC) Drive: This type of drive has a higher Write Endurance and   are typically more over-provisioned than the RO drives. Write Endurance of SLC flash drives is typically 20-to-30 drive fills per day. The increased write endurance comes at a cost; making this the most expensive and most reliable enterprise flash drive.

• Mixed Use (MU) or Enterprise MLC (eMLC) Drive: These type of drives attempt to strike a balance between SLC and MLC drives both from a Write Endurance and cost perspective. Typical Write Endurance for MU drives is somewhere between 5-to-10 drive fills per day.

Deploying Flash in an Enterprise IT Solution

As shown in Figure 1 flash storage can be used in different layers of an IT solution to improve application I/O performance. Of course, like any technology, there is no one approach that suits all use cases and you must use the right flash storage for the right application to realize the economic and operational benefits of flash storage for your datacenter.

Flash as Multiple Tiers in a Storage Array

There has been a significant reduction in the price of flash storage over the past several years- on a $ per GB basis flash storage is nearing 15K RPM HDD prices. Hence it is now possible to deploy multiple flash drive types as multiple tiers of storage within an array. This strategy allows customers to deploy larger capacities of flash storage. When coupled with intelligent tiering capabilities this strategy extends the benefits of the flash storage to a larger percentage of the deployed capacity. Although this approach extends the benefits of flash storage to a larger portion of deployed capacity by blending HDDs and different types of flash drives, its effectiveness is entirely dependent on the maturity and flexibility of the tiering capabilities of the array software.

Flash as Cache in Storage Array

Figure 1: Flash Storage can be deployed at various layers in an of storage within an array. This strategy allows enterprise IT solution.

Figure 1: Flash Storage can be deployed at various layers in an of storage within an array. This strategy allows enterprise IT solution.

One of the earliest adoptions of flash has been as a second layer cache within the storage array. The goal is to insert a faster medium in between the DRAM based system cache and slower hard drives. The array software is enhanced with the intelligence to use the flash drives as a second level of cache. By moving hot data into the flash storage cache, the need to read data from HDD is reduced leading to a reduction in latency, thereby delivering a performance boost to applications.

Although this approach can deliver performance acceleration by expanding the storage controller cache layer by combining it with flash storage, it requires a warm-up period to fill the cache with workload hotspots and often comes with the associated drawbacks, such as higher response times on Monday mornings after backup jobs are executed over the weekend.