Where’s tiered desktop storage

I got a couple SSDs last year and they are super fast. I bought two Intel X-25m g2 and put them in a raid 0. I get over 400MB/s sequential read.

It’s a the best upgrade that money can buy. Why? Because for years disk performance has been improving so slowly compared to the rest of system performance. Disk capacities have grown dramatically, but I/O latency and in particular random access time hasn’t seen much improvement in decades.

The next step is for system developers to take advantage of SSD’s unique properties to present a new tier in the hierarchy of data access. SSD is not quite as fast as memory, but it offers large amounts of data/$. DDR3 memory is about $20/G, while MLC SSDs are closer to $3/G. And as importantly, random access memory performance is more similar to SSD than traditional hard disk. There’s a lot of computing research and technology devoted to bridging the gap in performance characteristics of memory and spinning disk. Things like virtual memory, ram disks, disk caches, and maximizing sequential access all are designed to avoid slow random accesses of disk, but what if we lowered the cost of random disk reads by two orders of magnitude? That’s what SSD does.

There are several ways to take advantage of SSDs. One is to simply use it like memory. It’d make a great swap disk. One thing I’m going to try is allocating a full 80GB or 160GB SSD as a swap disk and try and create a process that occupies that much virtual memory. That’ll be interesting experiment because there’s no reason it shouldn’t work, and while it won’t be quite as fast as real memory, it’d be a lot cheaper if you need to make a process that needs a huge amount of memory. I’ve seen a couple of appliances which use this technique to make a dense memcached server.

The second trickier way to use an SSD is to build a tiered storage system. The simplest type of this is a single disk hybrid ssd. It just uses an ssd as a cache for the regular hard disk. So you get some of both, fast SSD access and cheap storage in the hard drive. This could be popular but isn’t yet. Seagate announced the Momentus hybrid storage for laptops. I don’t know if there are volume shipments of these. Enterprise vendors now have expensive SSD arrays which companies can use to build their own storage tiers. These solutions are flexible and reliable, but extremely expensive and typically deployed as SAN storage arrays.

What I want is more sophisticated desktop support, I want the OS to support tiered storage in software. Windows and Linux already support software raid, but it’d be even better if they built on that and created support for software storage tiering. So for instance, I could dedicate a pool of ssd drives as my cache and a pool of hard drives as my long term storage and data automatically gets moved from the cache to the hard drive and back when the cpu is idle and the data in the cache is old. Sun’s ZFS supports designating an SSD as a cache pool, but licensing has prevented it from running directly on linux. And I have doubts about the future of ZFS with Oracle owning it.

If I had a lot more knowledge and an infinite amount of time, I’d write the linux support myself, but I don’t, so I’m hoping someone else will.

Comments are closed.