Your hard disk already has a teeny bit of DRAM in it, to speed up its various activities - so why not a wee spot of flash as well, to improve reliability, startup speed at power-on, access times, and the chances of data survival in the event of power-loss?
In fact, it's such a nice idea that it seems practically everyone is trying to do it.
Microsoft's Vista has a new 'ReadyBoost' technology whereby the O/S uses flash devices (USB sticks) to accelerate access to programs stored on the hard disk.
Intel's 'Turbo Memory' initiative, on the other hand, is based on adding NAND somewhere on your motherboard near the PCI Express bus, where life and data is very much in the fast lane.
That way, long before your data requests hit the hard disk or the USB bus, the motherboard can arrange to supply what's needed from NAND close to hand. Finally, we have 'Hybrid Hard Disks', where the flash is duct-taped somewhere within the disk enclosure itself, where it can act rather like a less volatile and somewhat larger version of the existing DRAM cache inside the disk.
Looking at each of the technologies in turn, we can identify some pros and cons.
Readyboost costs you a Vista-sized hole in your wallet, but makes it easy for the user to add a flash cache to an existing computer, or move it to another machine.
Turbo Memory costs you a Penryn-sized hole in your wallet, but should be both faster and relatively more OS-agnostic, meaning that Linux and MacOS will be able to exploit the technology too. Upgrading is not quite such an easy matter any more, since the computer has to be opened up.
Hybrid Hard Drives can be device-agnostic. Awesome! My modified Gen-1 iPod runs like a dream, as well as OS-agnostic, and are no more difficult to install than Turbo Memory. However, the amount of flash inside the disk can't be changed, so in 2009 when you find yourself pining for a pimped-out 20GB drive cache rather than a decidely lame 4GB cache, you more-or-less have to chuck the disk in the bin.
The other big benefit of putting flash cache in the disk itself, is that it may be easier to recover data in the event of a power outage - the disk's logic controller can take care of emptying out the non-volatile cache when power is restored, rather than waiting around for the motherboard or OS to get its act together.
So far, so good. It sounds very much like we're going to be drowning in speedy access to our data and delightful benchmarks in our glorious flash-cache-dominated future. A potential fly in the flash-cache-ointment, however, is the possibility of "caching a cache of a cache" with 3 very similar lumps of NAND, and thereby wasting lots of money and looking rather silly. Here's how the terrible deed might take place.
First, a user decides that they want to run 'notepad.exe'. Vista ReadyBoost thinks, aha - I won't wait for my lazy hard disk - I'll send the request to the USB stick! Unfortunately, en route, this request gets intercepted by Intel Turbo Memory which decides to take matters into its own hands.
After checking its cache and coming up empty-handed, Intel Turbo Memory decides to suck the data from the USB stick after all. However, as the USB drive also sadly lacks the data required, Vista ReadyBoost is now left with a burning desire to access the system's hard drive instead. But by the time the data request gets there, the Hybrid Hard Drive - thoughtful little critter that it is - decides to check its own NAND before trying to get the data from the platter - again, nada.
So finally 'notepad.exe' gets dragged slowly from the hard disk platter, all the way back through the cache hierarchy, till it reaches the user's sweaty paws. We now have copies of notepad.exe in the drive cache, motherboard cache, and OS cache.
Of course, ordinarily we don't complain when data gets cached in several places in a memory hierarchy, because that's the whole point of having a memory hierarchy in the first place. The problem here is that all our caches (Turbo Memory, Ready Boost, Hybrid Cache) are approximately the same size and speed, making the whole hierarchy look a bit silly and top-heavy. And meaning that around two thirds of the money spent on flash caches was wasted.
Fortunately, I'm quite sure that Microsoft, Intel, and the many Hybrid Hard Disk manufacturers are all working together in blissful harmony to ensure this kind of silliniess doesn't ever happen.
Aren't they? µ