What is the SSD goal?


Solid state storage is not for every application or every use case in the enterprise, at least not today. There is a price premium for solid state storage and for that premium to be justified the technology must be used with applications that can take full advantage of these high speed devices. For example, I/O intensive, latency sensitive applications, such as online transaction processing applications. If those applications can achieve top performance then solid state storage can actually become less expensive than mechanical storage when priced on a per-IOP instead of per-GB basis. At the upper end of this performance sensitive environment are applications that, with the right accelerant, can generate more revenue per available IOP. Database applications that are front ended by a web interface are a good example of this category. In these situations, the more users that can be supported or the more orders that can be handled by the database and its storage, the more potential revenue the site can generate.


There is also the use case of database server consolidation, in which dozens of application servers are virtualized into a few physical hosts. The requirements of these next virtualization projects is well beyond the basic projects that marked the first wave of server virtualization which featured lower use lower risk servers. This next round of virtual servers were formally fully equipped production application servers, each with significant storage I/O demands. The ‘I/O storm’ that this consolidation now creates can be significant and many storage systems become the bottleneck, limiting the potential ROI of the project. However, if that bottleneck can be removed the cost savings of eliminating dozens of mid-range application servers can be significant.


Flash based solid state storage systems are becoming a popular solution to improving storage I/O performance. The problem is that these devices have their limitations which are often most likely seen in the above two use cases. DRAM may be the better alternative but, because of price and lack of continued innovation by storage suppliers, the IT manager is left to assume that flash is the only option. Some vendors though, like Kaminario, have stayed focused on the DRAM solid state market, improved the technology and made it more cost effective. DRAM solid state storage, if delivered in an affordable package, is a flash alternative that many storage managers should consider.



Predictable Speed


The number one justification for using DRAM is speed. Compared to flash storage DRAM is faster in both read and especially write performance. Before data is written to a flash cell, old data in that cell must be erased. Known as a “program/erase” (PE) cycle, this process delays completion of the write. Flash vendors have developed techniques called “garbage collection” to pre-erase old cells on the flash drive and shorten the PE cycle. However, when a drive is under write duress, either through thousands of transactions being processed from a single application or from dozens of virtual applications, the garbage collection routines may be outpaced by the inbound writes and performance can suffer dramatically.


The key problem is that performance degradation is totally unpredictable and can’t be managed, planned for or fine tuned. The environment which was performing well can suddenly come to a near stop as garbage collection routines race to get ahead of write traffic. Performance will not typically improve until some of the write activity load tapers off. It’s important to note that these garbage collection routines consume flash controller processing resources and similar to an overworked CPU on a server, this means that all the processes that the flash has to perform are also slowed. While faster, more powerful, flash controllers can be used this adds to the cost of the storage.


To get around these ‘write storms’ that burden the garbage collection processes, flash vendors have under-allocated the physical storage on a flash system. For example a 200GB drive might actually contain 225GB of flash memory. This extra storage area is used to providing more free space, reducing the chance of performance drop-off during PE cycles. But under a sustained, heavy write load this weakness is still apparent. Under-allocation also adds to the cost of the flash storage as the storage manager is paying for storage that they really can’t use.


DRAM based solid state storage is simply faster than flash based solid state storage and less complex. It doesn’t need to have each cell erased before being written. Its performance is consistent on both reads and writes and doesn’t suffer a drop-off during peak write cycles. While not all applications can take advantage of the advanced performance of DRAM based solid state storage, those that can are likely to also demand consistent performance even under peak workloads. In other words DRAM may be the more appropriate match to the applications it is designed to accelerate.



Reliable


Revenue generating applications and hosts for dozens of virtual application servers need reliable environments in which to operate. This includes reliable storage systems. Failure can cause either direct loss of application or the simultaneous loss of dozens of applications. One of the key challenges that flash based systems have had to overcome is concern over their reliability, perceived and real. The above mentioned PE cycles can only occur on a flash cell a finite number of times before it wears out. Flash vendors have developed sophisticated “wear leveling” routines to make sure that PE activity is spread out, and no single flash cell becomes “hot”. This wear leveling isn’t 100%   effective as even the best systems can suffer premature wear, and the leveling process places another performance tax on the storage system. To compensate, flash vendors use under-allocation to help provide long term storage sustainability which, once again, places another tax on the system.


As flash reaches higher levels of capacity the NAND or the silicon substrate of the flash memory device itself, becomes thinner. While making substrates thinner is a common practice in storage technology, it comes at a price, typically an increase in bit errors. The bottom line is that increases in capacity, while leading to decreases in cost, can also lead to increases in error rates. As a result, the flash controller technology has to work harder to maintain reliability as the technology advances.


DRAM based systems suffer from no such substrate wear problems or increases in bit failures, and there is limited concern about a particular memory segment being over worked. As a result the performance of a DRAM system is more “pure” because of its simplicity.


Many flash based systems also include some form of RAID to increase their failure resistance, and DRAM doesn’t have the overhead of flash, so under-allocation isn’t necessary. Additionally, DRAM based systems leverage Error Correcting Code (ECC) to further reduce bit errors and have advanced DDR3 ECC technologies that protect against single memory chip failures. These extra layers of protection come without the overhead that flash memory systems would require.


To this built-in protection, systems like Kaminario add a mirroring capability for maximum reliability. Again in the revenue generating environments in which they are placed these capabilities are critical.



DRAM is Cost Effective


DRAM based solid storage has a reputation of being too expensive, but when the total cost of the system is considered, the gap may not be as severe as conventional wisdom would indicate. As stated above flash is often under-provisioned by 20% or more to account for wear leveling and garbage collection. Since DRAM doesn’t have this overhead only the required amount of capacity needs to be allocated.


IOPS per GB is a common metric that flash vendors use when comparing solid state storage to mechanical storage. Flash can generate more IOPS with less capacity than hard disk drive technology making the flash cost premium less severe. This same logic holds true for DRAM. Since DRAM is substantially faster than flash, less DRAM is needed to generate the same levels of performance.


Flash based storage has its place in modern storage architectures but should not be considered to the exclusion of DRAM based systems. DRAM provides the most predictable levels of the highest storage I/O performance and with a great track record of reliability. While flash vendors have developed workarounds for many of the challenges that it faces, each can increase the complexity of the environment. As stated earlier this will just get worse as new generations of flash appear. When it comes to revenue generating, mission critical applications, where performance can be measured in dollars per IOP, DRAM is may be a better match for these environments.


Kaminario is a client of Storage Switzerland



Sign up for our Newsletter to get a Weekly Alert

on the latest insight from Storage Switzerland

George Crump, Senior Analyst