SSD Flash or DRAM
by Hu Yoshida on Jan 21, 2008
Last week I was on vacation in Hawaii and stayed at a large resort complex in Waikoloa. This resort is actually three resorts that are connected by trams and river boats. Getting from one end of the resort where we stayed to the other end where the shops and spa were located presented a choice. Do I go by the high speed tram or by the slower river boat? Both made the same number of stops for different attractions along the way. One would think that if speed was a consideration, the Tram would be the choice. (Yes, even in paradise, speed is a consideration when you have a dinner reservation on the other side of paradise). It turns out that when you run two trams going in both directions, there are times when you need to wait while the tracks are switched to avoid collisions. The canals were wide enough for boats to pass each other going in opposite directions, so often times the slower boats were faster.
While I was on vacation, EMC made several announcements which included Flash disk drives, Virtual Partitioning, and enhancements to SRDF. These announcements were targeted for DMX and not for Invista, their virtualization platform. This means that these features can not be extended as a service to other storage systems including other EMC storage. While two of these announcements were essentially catching up with functionality that is already available on HDS’ USP V virtualization platform, the addition of Flash SSD is a first for a major storage vendor. The question being asked by some is why HDS and IBM have not announced a similar capability.
Flash disk drives have been around for some time. While the performance and power savings of Flash disk drives seem to be obvious, storage array vendors have been cautious in entering this market due to three factors. First, there is the price which can be as much as 30 times that of magnetic disk drives. Second, the vendors who offer these drives for use in storage arrays are small startups, not your major drive vendors with proven sustainability. The third reason is the life time of Flash disk drives which is a factor of erase/write cycles. Unlike DRAM SSDs, Flash is limited in the number of times it can be erased and rewritten. What if you have a write failure in the middle of a database transaction, where some of the writes have already been committed?
What kind of warning and preventive actions can be taken for a write failure? Magnetic disks use SMART (an acronym for Self-Monitoring, Analysis and Reporting Technology), an open standard for developing disk drives and software systems that automatically monitor a disk drive’s health and report potential problems. This monitoring allows for proactive actions to be taken to prevent impending disk crashes. What SMART can we use for impending write failures in Flash disks?
While performance is assumed to be a given, it needs to be benchmarked. These Flash disks sit on the back end of a storage system, behind a RAID controller, which sits behind controller cache, which sits behind storage port controllers, which sit behind a SAN, which sits behind a server. If the majority of I/Os are satisfied by front end hits to the cache, or if the application stages the majority of I/O requests in server memory, paying more for Flash disks on the backend may not be economical. The benefits will be very application specific. It may be better to invest in front end cache DRAM, than in backend Flash disks.
There still are a few open questions. Let’s see how this plays out.
Comments (5 )
It’s not a question of IF, but WHEN the mechanical drive will come to an end. While EMC’s announcement may be mostly a marketing ploy for now, it’s working.
We want SSD!
According to STEC, and the 110 page ZeusIops operating manual, SMART is fully supported today and worn-out/bad pages are reported as bad “sectors” while spare pages are used to replace these bad pages.
> What if you have a write failure in the middle of a database
> transaction, where some of the writes have already been committed?
Sorry, but this has nothing to do with flash per se: any write within a transaction could fail whatever media database back-end resides on (even RAM), and DBMS MUST be prepared to handle this.
As to flash vs. DRAM, the former is superior to the latter in a single but extremely important respect: non-volatility. This, INO, will make flash most welcomed replacement for NVRAM in DBMS and file-system worlds to provide low-latency non-volatile log storage.
P.S. And thanks for the post, insightful as usually.
If HDS would be interested in an alternative to flash ssd, we are developing a non-volatile dram-based enterprise-class SSD designed for seamless integration with storage arrays. It is fundamentally less expensive than a flash approach, has no write limitations and is 8x-10x faster than EMCs quoted performance for the STEC drives.
In your blog you say that EMC announced “Virtual Partitioning”? Do you mean “Virtual Provisioning”? As in thin provisioning done right, for instance the thin provisioned LUN can be replicated, cloned or integrated into other enterprise functionality that customers desire?
Or do you mean dynamic cache partioning? As in the ability to dynamically partition cache for various workloads that can be tuned without having to IML the array? I know that it can be confusing as EMC DMX has so much functionality it’s hard to keep up with?
Thanks for your blog!