As I was talking to a company about an interesting storage technology (story will appear Monday on ExtremeTech) a tangentially-related thought struck me -- do we actually need hybrid hard drives? Or, at least, physical ones?
I'm sure this question has occurred to the drive makers themselves, but they obviously have a stake in this matter. But this could be an interesting opportunity for a third-party application maker, or Microsoft itself. Or not -- this is just a fun thought exercise for a Friday afternoon.
Hard drives contain a chip or RAM, like the kind you have in your PC, which serves as a volatile cache of data read from the disk. The RAM acts like a buffer, streamlining data that's read from the disk into main memory.
A hybrid hard disk works in reverse: instead of RAM, it uses flash memory to store data that would be ordinarily be written straight to the disk. The point here is to save power. If the disk can be spun up only occasionally when the flash cache is full, the battery life of the laptop can be extended relatively significantly. ReadyBoost, Microsoft's name for a flash key that serves both as a sort of cache and as a means to improve system shutdown and boot times, sort of sits as an adjunct technology. I don't think it's really relevant to the discussion here.
What I'm curious about is whether some sort of system RAM cache could be used as a stopgap while hybrid drives are ramped up. If I'm working on an Office document, chances are I don't have every scrap of RAM in use. Why not use this extra space as a volatile cache to store data, bursting it to the disk when it's full?
Certainly, this falls within the "cheap and dirty" space where solutions are concerned. It's volatile, meaning that if your notebook crashes or locks up, that data is lost. That might be too much of a tradeoff for a lot of people. The cache would have to be flushed and written before the notebook entered a hibernation state. There would also be a need to define whether the cache had a "hard" or "soft" wall, so that as new applications were loaded the cache could either shrink (the most desirable option, I think) or refuse to let the new apps load.
On the other hand, there might be a tradeoff or two to prevent non-essential data from being written to the disk, and instead stored in the cache. It seems like there might be an opportunity here for some sort of applications provider (a storage specialist? a Norton utility?) or Microsoft itself.
Any thoughts, both for and against?
EDIT 10/5 2:39 PM PDT: Josh points out below that this would be conceptually similar to the write caching that's already built into Vista. Specifically, this would seem to fall under the "advanced performance" portion of that (Some good tips and tweaks here, along with an explanatory screenshot.) It's a great point, and one of those hidden features of Vista that I'd forgotten about.
Given that Vista has been a bit of a slow starter, I wonder if this makes sense to include in XP?
And Sean, you're absolutely right: volatility is certainly a concern. But based on my experience, I'm more worried about a BSOD than suddenly losing power. I've always had fair warning before my system slips into hibernation, when a cache should be written anyway.
October 5, 2007 3:48 PM
I think RAM storage would be a great feature to be able to turn on an off depending on what programs you plan on using. I can see where it could potentially save the battery of my laptop if I just want to do some word processing or other non-RAM-intensive process. When I plug in again, everything can be transfered to my disc and the feature can be disabled, letting me utilize all of my RAM for heavier processes.
Sounds like a useful feature to me.
October 5, 2007 4:29 PM
Umm... if power goes out RAM loses the data and Flash memory doesn't? Isn't that a good enough reason to not implement the disk cache like you suggest?
October 5, 2007 5:33 PM
Would this be any different from write caching (included the apparently even riskier "advanced performance" option), listed on the Policies tab of Vista's disk properties? I think in both cases you'd be talking about caching disk writes to RAM, with some decision-making about how long to wait before forcing a write.
October 6, 2007 4:01 AM
This would actually be roughly equivalent to the buffer cache that's been in Unix and NT for a while now; then of course, there's (dynamic and statically sized) RAMDisc facilities. The thing about flash is its lower power consumption and (on average) faster access time than contemporary drives.
October 6, 2007 4:01 AM
This would actually be roughly equivalent to the buffer cache that's been in Unix and NT for a while now; then of course, there's (dynamic and statically sized) RAMDisc facilities. The thing about flash is its lower power consumption and (on average) faster access time than contemporary drives.
October 13, 2007 6:51 PM
Would it work if you plug in a Flash thumbdrive and then have your applications point to that drive letter for documents?
I guess the U3 drives do this to the extreme.. they have their own registry, apps and data, maybe even the operating system. (?). I haven't tried it but think they might prevent a ton of hard drive i/o.
October 13, 2007 7:23 PM
Your Lead Sentence: "Hybrid drives save energy, boot up faster, and contain no moving parts." is flawed. Hybrid drives still have the spinning disks just like Toyota's Hybrid, the Prius still has a combustion engine. In the future when we have true storage without any spinning disks or other moving parts, that is shockproof to like 900g's, that uses less energy and is faster than spinning disks the world will beat a path to this technology's doorstep. The Hybrid seems like a logical step for the time being.